bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [157]
АВС [6]
КПиЯП [80]
ОАиП [305]
ОКТ [79]
СиСПО [8]
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ПОИТ » ОАиП

Лабораторная работа №2
Подробности о скачивании 11.10.2013, 21:47
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий

Факультет ФНиДО
Специальность ПОИТ

Лабораторная работа № 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
Категория: ОАиП | Добавил: artemartem
Просмотров: 1617 | Загрузок: 12
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]