Загрузка данных
Вот всё полностью собранное и вычищенное от мусора OCR-распознавания — готовый отчет по двум юнитам: программный код заданий, ответы на все тесты и разобранная домашка.
ЮНИТ 14. ФУНКЦИИ И ПРОЦЕДУРЫ В ЯЗЫКЕ 1С
Вот откуда взялась твоя ошибка Переменная не определена (Уроки): автор методички создал общий модуль с именем Уроки (с галочкой Клиент), а вызовы писал в модуле приложения.
Задание №37 (Площадь круга)
Код для модуля «Уроки»:
Функция ПлощадьКруга(Радиус) Экспорт
Пи = 3.14;
Возврат Пи * Радиус * Радиус;
КонецФункции
Код для Модуля управляемого приложения (или кнопки на форме):
Радиус = 0;
Если ВвестиЧисло(Радиус, "Введите радиус круга:") Тогда
ОткрытьЗначение("Площадь круга радиусом " + Радиус + " равна " + Уроки.ПлощадьКруга(Радиус));
КонецЕсли;
Задание №38 (Конкатенация строк / ФИО)
Код для модуля «Уроки»:
Функция ФИО(Имя, Фамилия) Экспорт
Возврат Имя + " " + Фамилия;
КонецФункции
Код для вызова:
ВашеИмя = "";
ВвестиСтроку(ВашеИмя, "Введите ваше имя:");
ВашаФамилия = "";
ВвестиСтроку(ВашаФамилия, "Введите вашу фамилию:");
ОткрытьЗначение("Здравствуйте, " + Уроки.ФИО(ВашеИмя, ВашаФамилия));
Задание №39 (Вывод чисел в диапазоне)
Код для модуля «Уроки»:
Процедура ВывестиЧисла(ПервоеЧисло, ПоследнееЧисло) Экспорт
Строка = "";
Для Шаг = ПервоеЧисло По ПоследнееЧисло Цикл
Строка = Строка + Шаг + " ";
КонецЦикла;
ОткрытьЗначение(Строка);
КонецПроцедуры
Код для вызова:
ПервоеЧисло = 0;
ВвестиЧисло(ПервоеЧисло, "Введите первое число:");
ВтороеЧисло = 0;
ВвестиЧисло(ВтороеЧисло, "Введите второе число:");
Уроки.ВывестиЧисла(ПервоеЧисло, ВтороеЧисло);
Ответы на тесты Юнита 14
Тест 1 (по процедуре Привет):
* Имя описанной процедуры: 3) Привет
* Перед нами: 2) описание процедуры
* У процедуры Привет: 1) 1 параметр
* Чтобы вызвать процедуру Привет со значением 10: 1) Привет(10);
* Если написать Привет(10); Привет(10); строк появится: 4) 8 (в процедуре 4 команды Сообщить, 4 \times 2 = 8)
* Чтобы выводилось «Пока!»: 3) необходимо заменить Сообщить("Привет!") на Сообщить("Пока!")
* Обращение к значению параметра внутри процедуры: 4) по имени Число
Тест 2 (по функции Утроение):
* Перед нами: 3) описание функции
* Имя описанной функции: 4) Утроение
* У функции Утроение: 3) 1 параметр
* Функция Утроение: 1) выводит сообщения и возвращает утроенное значение параметра, переданного при вызове
* Чтобы вызвать функцию с параметром "Лето": 2) Утроение("Лето");
* К переданному значению можно обращаться: 3) из функции можно обращаться по имени Строка
* Чтобы сохранить результат работы функции: 4) Результат = Утроение("Лето");
* Сработает ли вызов Утроение("Лето", "Весна"): 1) выдаст ошибку, ведь в описании функции указан всего один параметр (в 1С несоответствие количества параметров вызывает синтаксическую ошибку)
ЮНИТ 15. ОТЛАДКА В ЯЗЫКЕ 1С
Исправленный код программы для отладки (поиск минимума в массиве)
В учебнике опечатки с индексами — в 1С элементы добавляются через метод .Добавить(), либо создается фиксированный массив:
МассивЧисел = Новый Массив;
МассивЧисел.Добавить(10);
МассивЧисел.Добавить(5);
МассивЧисел.Добавить(450);
МассивЧисел.Добавить(654);
МассивЧисел.Добавить(34);
НаименьшееЧисло = 1000000;
Для Шаг = 0 По МассивЧисел.Количество() - 1 Цикл
Если МассивЧисел[Шаг] < НаименьшееЧисло Тогда
НаименьшееЧисло = МассивЧисел[Шаг];
КонецЕсли;
КонецЦикла;
Сообщить("Наименьшее из введенных чисел равно " + НаименьшееЧисло);
Ответы на тест Юнита 15 (Горячие клавиши 1С)
* Посмотреть справку по команде (Синтакс-помощник): 3) Shift + F1
* Контекстная подсказка / автодополнение кода: 4) Ctrl + Пробел
* Подсказка по параметрам функции/процедуры внутри скобок: 4) Ctrl + Shift + Пробел
Домашнее задание (Справка по объектам)
* Цикл «Для» (Для ... По ... Цикл): оператор цикла с фиксированным счетчиком шагов. Используется, когда точное количество повторений известно заранее (например, проход по массиву от 0 до N).
* Цикл «Пока» (Пока <Условие> Цикл): цикл с предусловием. Выполняет блок команд до тех пор, пока проверяемое логическое условие остается истинным (Истина).
* Условный оператор «Если» (Если ... Тогда ... Иначе ... КонецЕсли): базовое ветвление логики. Проверяет условие: если оно выполняется, отрабатывает первая ветка кода, в противном случае выполняется блок Иначе (или ИначеЕсли).
* Структура (Новый Структура): коллекция элементов формата «Ключ — Значение». Ключом всегда выступает строка (идентификатор), а значением могут быть любые данные любого типа. Служит для удобной группировки разнородных параметров в один объект.