Глава 1 (продолжение 1)
Задача 1.2 Разделитель строк
Напишите программу, в которой пользователь вводит в строку фамилию, имя, отчество.
Программа должна выводить каждое из этих трех слов в отдельное поле.
Решение
Код программы
Процедура Сформировать()
Индекс = 0;
Буфер=СокрЛП(ПолноеИмя);//убрали пробелы по краям
//начнем поиск
Если(0 < Найти(Буфер," "))Тогда //пробел есть
Индекс=Найти(Буфер," "); //найти пробел
Фамилия=Лев(Буфер,Индекс); //строка до пробела
Иначе
Фамилия=Буфер; //Пробела нет. Выведем фамилию.
Индекс=СтрДлина(Буфер);//Найти конец слова
КонецЕсли;
----------
// сохраним в Темп строку без первого слева слова
Темп=Прав(Буфер,(СтрДлина(Буфер)-Индекс));
Буфер=СокрЛ(Темп);//уберем пробелы слева
//новый поиск
Если(0 < Найти(Буфер," "))Тогда //пробел есть
Индекс=Найти(Буфер," ");//найти пробел
Имя=Лев(Буфер,Индекс); //строка до пробела
Иначе
Имя=Буфер;//Пробела нет. Выведем имя.
Индекс=СтрДлина(Буфер);//Найти конец слова
КонецЕсли;
Темп=Прав(Буфер,(СтрДлина(Буфер)-Индекс));
Буфер=СокрЛ(Темп);
//новый поиск
Если(0 < Найти(Буфер," "))Тогда //пробел есть
Индекс=Найти(Буфер," "); //найти пробел
Отчество=Лев(Буфер,Индекс); //строка до пробела
Иначе
Отчество=Буфер;//Пробела нет. Выведем отчество.
КонецЕсли;
КонецПроцедуры
Назад |
Начало урока |
Вверх |
Вперед
Содержание