ПОИТ Лабораторная работа по основам алгоритмизации.№2-21
.docxБЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет ЗВиДО
Специальность ПОИТ
Контрольная работа № 2
по дисциплине «Основы алгоритмизации и программирования»
Вариант № 21
Лабораторная №2 Задание №21
План:
-
Задание
-
Схема алгоритма
-
Текст программы
-
Результаты работы программы
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) Результаты работы программы
Введите текст
корова кров рок задор провод вор вова рок
Слова, отличные от последнего слова и состоящие из букв первого слова
кров вор вова
Слова, отличные от последнего слова с прописными гласными буквами
зАдОр вОр