1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-12-12 08:23:44 +02:00
1c-homeworks/homework-2-6.md

40 lines
3.7 KiB
Markdown
Raw Normal View History

2020-03-14 16:48:22 +02:00
# Задание к занятию "Циклы"
## Задача 1 "Подсчет числа дней"
### Описание задачи
Создать обработку, подсчитывающую число рабочих и выходных дней в указанном пользователем интервале.
### Требования к результату
Внешняя обработка с двумя реквизитами и полями ввода, задающими начало и конец интервала, и кнопкой "Подсчитать", по нажатию на которую подсчитывается и выводится пользователю число рабочих и выходных дней в указанном интервале дат.
### Процесс выполнения
1. Создайте внешнюю обработку с именем, например, **ПодсчетЧислаДней**.
2. Добавьте в нее два реквизита типа Дата - например, **ДатаНач** и **ДатаКон** - и перетащите их на форму.
3. Добавьте команду **Подсчитать** и перетащите ее кнопкой на форму.
4. В обработчике команды:
* Объявите две переменных-счетчика числа рабочих и праздничных дней.
* Обойдите в цикле все даты от начальной до конечной включительно.
* В зависимости от дня недели даты прибавьте единицу к одному из двух счетчиков.
* Выведите результаты вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
## Задача 2 "Обработка текста"
### Описание задачи
Создать обработку, находящую во введенном тексте самое длинное и самое короткое слово.
### Требования к результату
Внешняя обработка с реквизитом и многострочным полем ввода для текста и кнопкой "Найти", по нажатию на которую определяется и выводится пользователю самое длинное и самое короткое слово.
### Процесс выполнения
1. Создайте внешнюю обработку с именем, например, **ОбработкаТекста**.
2. Добавьте в нее реквизит типа **Строка** - например, **Текст** - и перетащите его на форму, сделав многострочным полем ввода.
3. Добавьте команду **Найти** и перетащите ее кнопкой на форму.
4. В обработчике команды:
* Объявите две переменных для самого длинного и самого короткого слова.
* Разделите текст на слова вызовом **СтрРазделить()**.
* Обойдите в цикле все слова.
* В зависимости от длины сохраните текущее слово как самое длинное или самое короткое.
* Выведите результаты вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.