Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа №2

.docx
Скачиваний:
8
Добавлен:
01.04.2014
Размер:
15.26 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

Факультет ФНиДО

Специальность ПОИТ

Лабораторная работа № 1

по дисциплине «Основы алгоритмизации и программирования»

часть 1

Вариант № 1

Выполнил студент: Рябченко А.И.

Минск 2013

1). Задание

п.1. - Напечатать слово, имеющее максимальную длину и отличное от последнего слова.

п.2. - Напечатать те слова последовательности, которые отличны от последнего слова, предварительно все вхождения abc заменив на def, если такие есть.

2). Текст программы.

program LAB_2;

var p:integer;

s,p_s,s1,s2,s3,s4:string;

n,n1,k,max:byte;

begin

writeln('stroka s');

readln(s);

{Делим строку на две части}

n := length(s);

while (n >= 1) and (s[n] = ' ') do dec(n); { Пропуск пробелов в конце строки}

n1 := n;

while (n >= 1) and (s[n] <> ' ') do dec(n); { Поиск пробела перед последним словом}

s3 := copy(s, 1, n); { строка без последнего слова}

p_s := copy(s, n+1, n1-n); { последнее слово}

{ Дальше работаем только с первой частью без последнего слова}

n := 1; k := 1; max := 0; s1 := ''; s2 := '';

while n <= length(s3) do begin

if s3[n] = ' ' then begin

{ Нашли очередной пробел}

if n-k > 0 then begin

s4 := copy(s3, k, n-k); {Очередное слово в строке}

{ дальше решаем, что делать с этим словом}

if s4 <> p_s then begin { Отличное от последнего}

if length(s4) > max then begin

s1 := s4;

max := length(s4)

end;

end;

{ Заменяем}

p := pos('abc', s4);

while p <> 0 do begin

delete(s4, p, 3);

insert('def', s4, p);

p := pos('abc', s4);

end;

if length(s2) > 0 then s2 := s2 + ' ';

s2 := s2+s4;

end;

k := n+1;

end;

inc(n);

end;

if max<>0 then writeln('s1=',s1)

else writeln('stroka S1 pysta');

if length(s2)=0 then writeln('stroka S2 pysta')

else writeln('s2=',s2);

readln;

end.

3). Тестовый набор данных.

stroka s

aba abc abc fhffjgfjg djf

s1=fhffjgfjg

s2=aba def def fhffjgfjg