9.1 KiB
Задание к занятию "Циклы"
Примерное время выполнения: 60 минут
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
Любые вопросы по решению задач задавайте в чате учебной группы.
Цель задания
- Закрепить на практике приемы разработки алгоритмов с циклами
Решение задания научит вас создавать алгоритмы с повторяющимися частями. Это базовый навык, необходимый для решения домашних заданий в будущем и разработки реальных приложений.
Чеклист готовности к домашнему заданию
- Установлена учебная платформа версии 8.3.20 или больше.
- Развернута информационная база с конфигурацией УправлениеИТФирмой, полученная по итогу выполнения домашнего задания к занятию Условия.
Инструкция к заданию
- Решите описанные задачи в конфигураторе.
- Протестируйте решение в пользовательском режиме.
- Отправьте на проверку в личном кабинете Нетологии внешнюю обработку ПодсчетЧислаДней с решением задачи 1, внешнюю обработку ОбработкаТекста с решением задачи 2 и файл выгрузки информационной базы (.dt) с конфигурацией, содержащей решение по задаче 3. Файлы прикрепите в раздел "решение" в практическом задании.
Задача 1 "Подсчет числа дней"
Описание задачи
Вы хотите предоставить пользователю возможность рассчитывать сколько рабочих дней между указанными датами.
Требования к результату
Внешняя обработка ПодсчетЧислаДней с двумя реквизитами и полями ввода, задающими начало и конец интервала, и кнопкой "Подсчитать", по нажатию на которую подсчитывается и выводится пользователю число рабочих и выходных дней в указанном интервале дат.
Процесс выполнения
- Создайте внешнюю обработку с именем, например, ПодсчетЧислаДней.
- Добавьте в нее два реквизита типа Дата - например, ДатаНач и ДатаКон - и перетащите их на форму.
- Добавьте команду Подсчитать и перетащите ее кнопкой на форму.
- В обработчике команды:
- Объявите две переменных-счетчика числа рабочих и выходных дней.
- Обойдите в цикле все даты от начальной до конечной включительно.
- В зависимости от дня недели даты прибавьте единицу к одному из двух счетчиков.
- Выведите результаты вызовом Сообщить(), формируя строку с помощью СтрШаблон().
Задача 2 "Обработка текста"
Описание задачи
Вы хотите реализовать механизм, который ищет во введенном тексте самое длинное и самое короткое слово.
Требования к результату
Внешняя обработка ОбработкаТекста с реквизитом и многострочным полем ввода для текста и кнопкой "Найти", по нажатию на которую определяется и выводится пользователю самое длинное и самое короткое слово.
Процесс выполнения
- Создайте внешнюю обработку с именем, например, ОбработкаТекста.
- Добавьте в нее реквизит типа Строка - например, Текст - и перетащите его на форму, сделав многострочным полем ввода.
- Добавьте команду НайтиСлова и перетащите ее кнопкой на форму.
- В обработчике команды:
- Объявите две переменных для самого длинного и самого короткого слова.
- Разделите текст на слова вызовом СтрРазделить().
- Обойдите в цикле все слова.
- В зависимости от длины сохраните текущее слово как самое длинное или самое короткое.
- Выведите результаты вызовом Сообщить(), формируя строку с помощью СтрШаблон().
Задача 3 "Развитие проверки введенных данных"
Описание задачи
Вы хотите дополнительно снизить вероятность ошибки при заполнении реквизитов ИНН и КПП в справочнике Контрагенты, проверяя состав строк.
Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией, в которой есть справочник Контрагенты с ИНН, КПП. В дополнение к проверке из предыдущего задания необходимо проверять, что строки состоят только из цифр.
Процесс выполнения
- Используйте конфигурацию УправлениеИТФирмой со справочником Контрагенты.
- Дополните обработчик события ОбработкаПроверкиЗаполнения алгоритмом проверки символов, из которых состоят ИНН и КПП:
- Используйте цикл со счетчиком для перебора символов;
- Для получения очередного символа используйте функцию Сред();
- Для проверки является ли символ цифрой заранее определите строку, состоящую только из цифр, и ищите в ней очередной символ с помощью функции СтрНайти().
- При выявлении ошибок устанавливайте параметр обработчика Отказ в Истина и выводите разумное сообщение вызовом Сообщить().
Критерии оценки
Задание считается выполненным при соблюдении следующих условий:
- Решение включает внешнюю обработку ПодсчетЧислаДней, внешнюю обработку ОбработкаТекста и выгрузку в формате dt с конфигурацией УправлениеИТФирмой;
- Обработка ПодсчетЧислаДней позволяет рассчитать сколько будней и сколько выходных дней между введенными датами;
- Обработка ОбработкаТекста позволяет найти во введенном тексте самое длинное и самое короткое слово;
- В конфигурации УправлениеИТФирмой при записи справочника контрагенты состав строк в реквизитах ИНН и КПП.
Подсказка:
Чтобы вам было проще понять, что в итоге должно получиться, мы подготовили подсказки: анимационные изображения в формате gif или картинки. Чтобы их увидеть, кликните по ссылке