Быстрый старт. Решение задания №1.5.1
Представляем решение домашнего задания 1.5.1.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.
Если не активировали токен — посмотрите видео-инструкцию (видео N5)
Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.
Отчет
<code> Процедура ПриНачалеРаботыСистемы()
Строка=”В этой &строке& ровно _6_ слов…”;
Предупреждение(“Строка содержит “+КоличествоСловВСтроке(Строка) +” слов.”);
КонецПроцедуры
Функция КоличествоСловВСтроке(Стр)
КоличествоСлов=0;
Слово=0;
Для Счетчик = 1 По СтрДлина(Стр)Цикл
Если Сред(Стр,Счетчик,1)=” ” Тогда
Слово=0;
Иначе
Если Слово=0 Тогда
КоличествоСлов=КоличествоСлов+1;
Слово=1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат КоличествоСлов;
КонецФункции // КоличествоСловВСтроке() </code>
IronHart, отчет по домашнему заданию принят. Переходите к изучению эталонного решения.
Кстати, когда решала эти ДЗ выяснилось, что при вызове функции Сред() не произойдет ошибка, если задать начальный номер, которого нет в строке.
Если начальный номер больше, чем длина строки, то просто вернется пустая строка.
А можно написать даже так:
Сред(“Строка”, -5, 3)
Тогда вернутся первые 3 символа строки.
Отличное наблюдение!
Действительно, это особенность платформы.
Такое поведение разработчики менять не планируют из соображений совместимости (эта особенность тянется с версии 8.0).
А в решении говорите, что будет ошибка)
А это мой промах :)
Спасибо, будем исправлять!