Назад | Начало урока | Вперед
Содержание

Глава 1

Задача 1.7 Разделитель строк 3

Напишите программу, в которой пользователь вводит строку.
Программа должна вывести каждое слово с новой строки и сделать это надо
в несколько отдельных компонентов, как например в Список, ПолеСоСписком и тд.

Решение

Код программы будет во многом похож на предыдущую.
Процедура Сформировать() не изменится, но появися процедура Вывод(),
которая выводит найденное слово в разные компоненты. И процедура Старт(), в которой
осуществляется инициализация переменных начальными значениями.

Подсказка

Код программы


Перем Буфер,Метка1,Ном,Слово;
//*********************************
Процедура Старт()
Ном = 1;
Слова="";
Список.УдалитьВсе();
ПолеСоСписком.УдалитьВсе();
Метка1="";
Табл1.УдалитьСтроки();
КонецПроцедуры

//-------------------------------------------
Процедура Вывод()

Сообщить(" "+Ном+". "+Слово+"("+Буфер+")");
Слова=Слова+ Ном + " " +Слово+РазделительСтрок;
Список.ДобавитьЗначение(Слово);
ПолеСоСписком.ТекущаяСтрока(1);
ПолеСоСписком.ДобавитьЗначение(Слово);
Метка1=Метка1+Слово+РазделительСтрок;
Табл1.НоваяСтрока();
Табл1.УстановитьЗначение(Ном,"ном",Ном);
Табл1.УстановитьЗначение(Ном,"Слова",Слово);
Ном=Ном+1;
КонецПроцедуры

//-------------------------------------------
Процедура Сформировать()

Старт();
Индекс = 0;
Слово = "";
Буфер=СокрЛП(Предложение);//убрали пробелы по краям

Пока(0 < Найти(Буфер," ")) Цикл

//начнем поиск
Если(0 < Найти(Буфер," "))Тогда //пробел есть
Индекс=Найти(Буфер," "); //найти пробел
Слово=Лев(Буфер,Индекс); //строка до пробела
Вывод();
Иначе
Слово=Буфер; //Пробела нет. Выведем строку.
Индекс=СтрДлина(Буфер);//Найти конец слова
Вывод();
КонецЕсли;

// сохраним в Темп строку без первого слева слова
Темп=Прав(Буфер,(СтрДлина(Буфер)-Индекс));
Буфер=СокрЛ(Темп);//уберем пробелы слева

КонецЦикла;
Слово=Буфер; //Пробела нет. Выведем строку.
Вывод();
КонецПроцедуры

Предложение="Привет как дела";
Старт();
Табл1.НоваяКолонка("ном",,,,"№",3,,);
Табл1.НоваяКолонка("Слова",,,,"Слова",10,,);



Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz