Практычная работа “Апрацоўка сiмвалаў i радкоў”
Задача 1. У паслядоўнасцi з n сiмвалаў знайсцi i вывесцi ўсе пары
аднолькавых суседнiх сiмвалаў, калi такiя маюцца.
Program
ZD1;
Var
T
: array [1..100] of char;
i, n : integer;
f
: boolean;
Begin
Write(‘Увядзiце колькасць сiмвалаў: ’);
Readln(n)
{Увод паслядоўнасцi сiвалаў}
for
i := 1 to n do
Begin
Write(‘Увядзiце’, i, ‘-ты сiмвал: ’);
Readln(T[i])
End;
Writeln;
f:= false;
for
i := 1 to n-1 do
if
T[i]=T[i+1] then
Begin
f := true;
Writeln(T[i], ‘–‘, T[i+1])
End;
if
f = false then
Writeln(‘У паслядоўнасцi няма пар
аднолькавых суседнiх
сiмвалаў!’);
Readln
End.
Задача 2. Дадзены натуральны лiк n i сiмвалы
S1, S2, …, Sn, сярод якiх ёсць двукроп’е. Атрымаць усе сiмвалы, што размешчаны
пасля першага двукроп’я.
Program
ZD2;
Var
st1, st2 : string[100];
i, n : byte;
Begin
Write(‘Увядзiце радок сiмвалаў: ’);
readln(st1);
n :=
Length(st1);
i := Pos(‘:’, st1);
if
(i>0) and (i<n)
then
Begin
st2 := Copy(st1, i+1, n-i);
Writeln(‘Атрымаўся радок ’, st2);
End
else if i = n
then Writeln(‘Сімвал
“:” – апошні ў радку’)
else Writeln(‘У
дадзеным радку няма сiмвала “:”’);
Readln
End.
Задача 3. Замянiць у дадзеным арыфметычным выразе ўсе
ўваходжаннi “int” на “trunc”.
Program ZD3;
Const
vr1 = ‘int’;
vr2 = ‘trunc’;
Var
st1, st2 : string[80];
i
: byte;
f : boolean;
Begin
Write(‘Увядзiце радок сiмвалаў, якi змяшчае
некаторы
арыфметычны выраз: ’);
Readln(st1);
st2 := st1;
f := false;
repeat
i := Pos(vr1, st2);
if
i > 0 then
Begin
f := true;
Delete(st2, i, 3);
Insert(vr2, st2, i)
End
until i=0;
Writeln;
if f then
Begin
Writeln(‘Зыходны
радок – ’, st1);
Writeln(‘Атрыманы
радок – ’, st2);
End
else
Writeln(‘У дадзеным выразе няма словазлучэння int!’);
Readln
End.
Задача 4. З клавiятуры ўводзiцца доўгi
натуральны лiк n. Калi ў гэтым лiку колькасць лiчбаў няцотная, то сярэднюю
лiчбу трэба замянiць на нуль (прымянiць працэдуры Val i Str).
Program
ZD5;
Var
chs, chsn : string[30];
l, i, c, cod : integer;
d : string[1];
Begin
Write(‘Увядзіце доўгі натуральны лік: ’);
Readln(chs);
l := length(chs);
chsn := ‘’;
if Odd(l) then
Begin
i := (l+1) div 2;
Val(chs[i],c,cod);
if cod <> 0
then
writeln(‘У цэнтральнай пазiцыi - не лiчба!’)
else
if c <> 0 then
Begin
str(0,d);
chsn :=
chsn+Copy(chs,1,i-1)+d+Copy(chs,i+1,l-i);
Writeln(‘Атрымаўся лік – ’, chsn)
End
else
Writeln(‘Уведзена
сярэдняя лiчба
- нуль!’);
End
else
Writeln(‘Уведзена
цотная колькасць лiчбаў!’);
End.
End.
Комментариев нет:
Отправить комментарий