37 lines
3.8 KiB
Markdown
37 lines
3.8 KiB
Markdown
# Задание к занятию "Универсальные коллекции"
|
||
|
||
## Задача 1 "Универсальное поздравление"
|
||
|
||
### Описание задачи
|
||
Переделать поздравления из задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md) на поиск даты в массиве структур.
|
||
|
||
### Требования к результату
|
||
Выгрузка информационной базы (.dt), при начале работы системы выводящая подравление с сегодняшней или завтрашней праздничной датой, находя ее в заранее подготовленном массиве структур.
|
||
|
||
### Процесс выполнения
|
||
1. Используйте конфигурацию из прошлого задания (https://github.com/netology-code/1c-homeworks/blob/master/homework-2-5.md).
|
||
2. Объявите переменную-массив праздничных дат.
|
||
3. Добавьте в него несколько праздничных дат в виде структур со свойствами **День**, **Месяц**, **Название**.
|
||
4. Определите, не является ли текущая дата праздничной или предпраздничной, обходя в цикле этот заранее подготовленный массив структур, и покажите соответствующее поздравление.
|
||
|
||
## Задача 2 "Подсчет числа уникальных слов"
|
||
|
||
### Описание задачи
|
||
Создать обработку, подсчитывающую число уникальных слов во введенном пользователем тексте.
|
||
|
||
### Требования к результату
|
||
Внешняя обработка с реквизитом и многострочным полем ввода для текста и кнопкой "Подсчитать", по нажатию на которую определяется и выводится пользователю число уникальных слов в тексте без учета регистра. Иначе говоря, слово, встречающееся в тексте несколько раз, учитывается в итоговом результате лишь однажды.
|
||
|
||
_Например: для текста "Привет привет ПрИвЕт Нетология" результат должен быть 2_
|
||
|
||
### Процесс выполнения
|
||
1. Создайте внешнюю обработку с именем, например, **ПодсчетЧислаУникальныхСлов**.
|
||
2. Добавьте в нее реквизит типа **Строка** - например, **Текст** - и перетащите его на форму, сделав многострочным полем ввода.
|
||
3. Добавьте команду **Подсчитать** и перетащите ее кнопкой на форму.
|
||
4. В обработчике команды:
|
||
* Создайте **Соответствие** для хранения уникальных слов.
|
||
* Разделите текст на слова вызовом **СтрРазделить()**.
|
||
* Обойдите в цикле все слова.
|
||
* Вставляйте в соответствие слово, приведя его к верхнему или нижнему регистру.
|
||
* Выведите результат - число элементов соответствия - вызовом **Сообщить()** или **ПоказатьПредупреждение()**, формируя строку с помощью **СтрШаблон()**.
|