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

ПОИТ Лабораторная работа по основам алгоритмизации.№2-21

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

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

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

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

Факультет ЗВиДО

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

Контрольная работа № 2

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

Вариант № 21

Лабораторная №2 Задание №21

План:

  1. Задание

  2. Схема алгоритма

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

  4. Результаты работы программы

1) Задание

п.1. - Напечатать все слова, отличные от последнего слова, которые со-стоят из тех же букв, что и первое слово.

п.2. - Напечатать все слова, отличные от последнего слова. Если слово нечетной длины, заменить все строчные гласные буквы прописными.

2) Схема алгоритма.

На рис. 1 представлена схема алгоритма по ГОСТ 19. 701-90.

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

-------------------------------------------------------------------------------------------------------

program LabRab2;

Uses CRT;

{901022-20 ПОИТ 1-й курс Пархейчук Э.А.

Вариант 21.

п.1. - Напечатать все слова, отличные от последнего слова, которые со-стоят из

тех же букв, что и первое слово.

п.2. - Напечатать все слова, отличные от последнего слова. Если слово нечетной

длины, заменить все строчные гласные буквы прописными.}

var st, Temp:string;

i,j,k,n:integer;

Word1, Word2 : Array [1..100] of String;

flag:boolean;

const

symbol=[' ','.',',',':',';','!','?','/'];

glasnie=['a','e','i','o','u','y','а','е','ё','и','о','у','ы','э','ю','я'];

begin

clrscr;

writeln('Введите текст');

readln(st);

while st[1] in symbol do delete(st,1,1); {удалили ненужные символы до первого слова}

while st[length(st)] in symbol do delete(st,length(st),1); {удалили ненужные символы в конце строки}

N := 1;

//все слова пораздельности выписываем в массив Word1[N]

while pos(' ', st) > 0 do

begin

Word1[N] := copy(st, 1, pos(' ', st)-1);

delete(st, 1, pos(' ', st));

inc(N);

end;

//записываем последнее слово в массив Word1[N]

Word1[N] := st;

writeln('Слова, отличные от последнего слова и состоящие из букв первого слова');

for i := 2 to N do

begin

flag := True;

if(Word1[N]<>Word1[i]) then Temp := Word1[i]

else continue;

for j := 1 to Length(Temp) do

if (pos(Temp[j], Word1[1]))>0

then Temp[j] := '*'

else flag := False;

if flag Then Write(Word1[i], ' ');

end;

writeln;

writeln('Слова, отличные от последнего слова с прописными гласными буквами');

k:=0;

for i:=1 to N do

begin

if ((Word1[i]<>Word1[N]) and ((length(Word1[i]) mod 2)<>0.0)) then

begin

Temp:=Word1[i];

inc(k);

for j := 1 to Length(Temp) do

if Temp[j] in glasnie then Temp[j] := upCase(Temp[j]);

Word2[k] := Temp;

write(Word2[k],' ');

end;

end;

readln;

end.

4) Результаты работы программы

Введите текст

корова кров рок задор провод вор вова рок

Слова, отличные от последнего слова и состоящие из букв первого слова

кров вор вова

Слова, отличные от последнего слова с прописными гласными буквами

зАдОр вОр