Задача 1. Дано трехзначное число. Напишите программу

advertisement
Задача 1. Дано трехзначное число. Напишите программу определения, является ли оно
палиндромом ("перевертышем"), т. е. числом, десятичная запись которого читается
одинаково слева направо и справа налево.
Program Palindrom;
var n: integer;
begin
write('n=');
readln(n);
if (n div 100)=(n mod 10) then
write('число ', n, ' является палиндромом’)
else writeln('число ', n, ' не является палиндромом’);
readln;
end.
Задача 2. Дана строка символов до точки (<=255). Определить, является ли она записью
целого десятичного числа, кратного трём. Строка символов — это строка, которая
заканчивается точкой. Если строка является записью целого десятичного числа, кратного
трём,то выводим 1. Если не так, то 0.
Program Stroka_kratnaya_trem;
var s: string[255];
i, z: integer;
begin
write('Vvedite stroku simvolov s=');
readln(s);
i:=1;
z:=0;
while s[i]<>'.' do begin
z:=z+StrToInt(s[i]);
i:=i+1;
end;
if z mod 3=0 then writeln('1')
else writeln('0');
readln;
end.
Задача 3. Дана строка символов (<=255). Удалить из неё все знаки препинания (. , ? : ; ! - )
Program Stroka_kratnaya_trem;
var s1,s2: string[255];
i, z: integer;
begin
write('Vvedite stroku simvolov s=');
readln(s1);
i:=1;
s2:='';
for i:=1 to length(s1) do
if (s1[i]<>'.')and(s1[i]<>',')and(s1[i]<>'?')and(s1[i]<>':')and(s1[i]<>';')and(s1[i]<>'!')and (s1[i]<>'-')
then s2:=s2+s1[i];
writeln(s2);
readln;
end.
Задача 4. Напишите программу подсчитывающего количество символов использованных в
произвольном вами выбранном тексте.
Program Dlina stroki;
Var l,s:string;
input, output: text;
Begin
assign(input, 'input.txt');
assign(output, 'output.txt');
reset(input);
rewrite(output);
while not eof(input) do begin read(input, s);
l:=l+s;
end;
write(output, 'Dlina texta l=', length(l)) ;
close(input);
close(output);
end.
Задача 5. Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит
кубиков меньше, чем предыдущий.
□
□□□□
□□□□□
□□□□□□□□
Напишите программу, который подсчитывает число лесенок, которое можно
построить из N кубиков.
Program Lesenca;
var N,res: longint;
procedure rec(a,b:longint);
var i:longint;
begin
if a=0 then inc(res)
else
begin
for i:=1 to a do
if i<b then rec(a-i, i)
else break;
end;
end;
begin
read(N);
rec(N, N+1);
writeln(res);
end.
Related documents
Download