mirror of
https://github.com/netology-code/1c-homeworks.git
synced 2024-11-30 08:06:56 +02:00
40 lines
3.7 KiB
Markdown
40 lines
3.7 KiB
Markdown
# Задание к занятию "Циклы"
|
|
|
|
## Задача 1 "Подсчет числа дней"
|
|
|
|
### Описание задачи
|
|
Создать обработку, подсчитывающую число рабочих и выходных дней в указанном пользователем интервале.
|
|
|
|
### Требования к результату
|
|
Внешняя обработка с двумя реквизитами и полями ввода, задающими начало и конец интервала, и кнопкой "Подсчитать", по нажатию на которую подсчитывается и выводится пользователю число рабочих и выходных дней в указанном интервале дат.
|
|
|
|
### Процесс выполнения
|
|
1. Создайте внешнюю обработку с именем, например, **ПодсчетЧислаДней**.
|
|
2. Добавьте в нее два реквизита типа Дата - например, **ДатаНач** и **ДатаКон** - и перетащите их на форму.
|
|
3. Добавьте команду **Подсчитать** и перетащите ее кнопкой на форму.
|
|
4. В обработчике команды:
|
|
* Объявите две переменных-счетчика числа рабочих и праздничных дней.
|
|
* Обойдите в цикле все даты от начальной до конечной включительно.
|
|
* В зависимости от дня недели даты прибавьте единицу к одному из двух счетчиков.
|
|
* Выведите результаты вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
|
|
|
|
|
|
## Задача 2 "Обработка текста"
|
|
|
|
### Описание задачи
|
|
Создать обработку, находящую во введенном тексте самое длинное и самое короткое слово.
|
|
|
|
### Требования к результату
|
|
Внешняя обработка с реквизитом и многострочным полем ввода для текста и кнопкой "Найти", по нажатию на которую определяется и выводится пользователю самое длинное и самое короткое слово.
|
|
|
|
### Процесс выполнения
|
|
1. Создайте внешнюю обработку с именем, например, **ОбработкаТекста**.
|
|
2. Добавьте в нее реквизит типа **Строка** - например, **Текст** - и перетащите его на форму, сделав многострочным полем ввода.
|
|
3. Добавьте команду **Найти** и перетащите ее кнопкой на форму.
|
|
4. В обработчике команды:
|
|
* Объявите две переменных для самого длинного и самого короткого слова.
|
|
* Разделите текст на слова вызовом **СтрРазделить()**.
|
|
* Обойдите в цикле все слова.
|
|
* В зависимости от длины сохраните текущее слово как самое длинное или самое короткое.
|
|
* Выведите результаты вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
|