Лаба по Паскалю
.doc
Цель: Усвоить массивы и работу со строковыми данными.
Задание: Дана последовательность из n вещественных чисел. Найти номер первого вхождения данного числа в последовательность или вывести сообщение, что такого числа нет.
Блок – схема
Текст программы:
program z2;
var
m: array[1..100] of real;
a,k: integer;
n: real;
begin
writeln('vvedite kol-vo elementov');
readln(a);
writeln('введите последовательность ');
for k:=1 to a do
begin
write ('введите ',k,' элемент: ');
readln(m[k]);
end;
writeln('введите искомый элемент');
readln(n);
k := 0;
repeat
inc(k);
until (k>a) or (m[k]=n);
if k<=a then writeln('Искомый элемент№ ',k)
else writeln('Искомый элемент не найден');
readln;
end.
Результаты проверки:
Задание: Ввести строку «Студент ФИО»
-
Подсчитать количество букв в строке.
-
Определить длину строки.
-
Получить новую строку вставив слова «группы 555».
-
Вывести на экран все номера позиций в которых встречается 1 буква имени.
-
Заменить 1 букву фамилии на другую.
-
Получить перевернутые буквы имени.
-
Разбить предложения на отдельные слова.
Блок – схема
Текст программы:
program stroki;
var
s:string;
i,c,k,k1,k2:integer;
q,f:char;
n: array[0..100] of string;
begin
k:=0;
writeln('введите "студент" ФИО');
readln(s);
for i:=1 to length(s) do
if s[i]<>' ' then inc(c);
writeln('Количество букв в строке = ',c);
writeln('Длина строки = ',length(s));
for i:=1 to length(s) do
begin
if s[i]=' ' then inc(k);
if s[i]=' ' then q:=s[i+1];
end;
insert(' группы 555',s,8);
for i:=1 to length(s) do
if s[i]=q then inc(k1);
write ('Первая буква имени встречается в строке',k1,' раз(а)');
writeln('');
for i:=1 to length(s) do
begin
if s[i]=' ' then inc(k2);
if (s[i]=' ') and (k2=3) then s[i+1]:='Л';
end;
write(s);
writeln('');
k:=0;
for i:=1 to length(s) do
if s[i]=' ' then k:=k+1 else n[k]:=n[k]+s[i];
for i:=0 to length(n[4])-1 do
n[6]:=n[6]+n[4][length(n[4])-i];
writeln('Слова входящие в строку :');
for i:=0 to k do
writeln(n[i]);
writeln('перевернутое имя - ', n[k+1]);
readln;
end.
Результаты проверки: