лр2 вар 4 ОАИП
.docБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ФНиДО
Специальность ПОИТ
Лабораторная работа № 2
по дисциплине «Основы алгоритмизации и программирования»
часть 1
Вариант № 4
Минск 2013
-
Условие задачи
Задача:
Дана строка символов S, состоящая из латинских букв. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Преобразовать исходную строку в строки S1 и S2 в соответствии с пунктами 1 и 2. Если какая-либо из итоговых строк окажется пустой, выводить соответствующее сообщение.
Задание №4
п.1. - Напечатать все слова, отличные от последнего слова, которые начинаются и оканчиваются одной буквой.
п.2. - Напечатать все слова, отличные от последнего слова, удалив первое вхождение w, если такое есть (образовавшуюся “дыру” заполнить последующими буквами, а в конец добавить пробел).
2). Программа на языке Pascal
PROGRAM LR2;
var
s, s1, s2, s11, slovo: string;
i:integer;
begin
s:= 'always mumw mum mum';
writeln ('Строка S: ', s);
i:= length(s);
repeat dec(i) until s[i]=' ';
if s[i]=' ' then
s11:=copy(s,i,length(s)-i+1)
else writeln('Строка S1: Нет слов для вывода');
s1:='';
for i := 1 to length(s) do begin
if s[i] =' ' then
slovo:=copy (s,1,i-1);
if slovo <> s11 then
if copy(slovo,1,1)=copy(slovo,length(slovo),1) then
s1:=concat(slovo,s1);
end;
writeln ('Строка S1: ', s1);
if s1='' then
writeln ('Нет слов для вывода');
i:= length(s);
repeat dec(i) until s[i]=' ';
if s[i]=' ' then
delete(s,i,length(s)-i+1)
else writeln('Строка S2: Нет слов для вывода');
delete(s,pos('w',s),1);
s[length(s)+1]:=' ';
s2:=s;
writeln('Строка S2: ',s2);
end.
3). Тестовый набор данных
Входные данные:
Строка S: always mumw mum mum
Результаты работы программы, полученные при этих данных:
Строка S1:
Нет слов для вывода
Строка S2: alays mumw mum