Быстрый старт. Решение задания №1.5.1

Представляем решение домашнего задания 1.5.1.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись — напишите нам на e-mail поддержки.

комментариев 6 на “Быстрый старт. Решение задания №1.5.1”

  1. Отчет
    <code>  Процедура ПриНачалеРаботыСистемы()

    Строка=”В этой &строке& ровно _6_ слов…”;
    Предупреждение(“Строка содержит “+КоличествоСловВСтроке(Строка) +” слов.”);

    КонецПроцедуры

    Функция КоличествоСловВСтроке(Стр)
    КоличествоСлов=0;
    Слово=0;
    Для Счетчик = 1 По СтрДлина(Стр)Цикл
    Если Сред(Стр,Счетчик,1)=” ” Тогда
    Слово=0;
    Иначе
    Если Слово=0 Тогда
    КоличествоСлов=КоличествоСлов+1;
    Слово=1;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    Возврат КоличествоСлов;
    КонецФункции // КоличествоСловВСтроке() </code>

    • Андрей Шнитов 15.02.2012 в 08:12

      IronHart, отчет по домашнему заданию принят. Переходите к изучению эталонного решения.

  2. Кстати, когда решала эти ДЗ выяснилось, что при вызове функции Сред() не произойдет ошибка, если задать начальный номер, которого нет в строке. 
    Если начальный номер больше, чем длина строки, то просто вернется пустая строка.
    А можно написать даже так:
    Сред(“Строка”, -5, 3)
    Тогда вернутся первые 3 символа строки.

    • Отличное наблюдение!
      Действительно, это особенность платформы.
      Такое поведение разработчики менять не планируют из соображений совместимости (эта особенность тянется с версии 8.0).

      • А в решении говорите, что будет ошибка)

        • А это мой промах :)
          Спасибо, будем исправлять!