Сборник программ на Паскале
Написать программу, печатающую код нажимаемой клавиши и заканчивающей работу после нажатия клавиши ESC. Определить все клавиши, не генерирующие кода и генерирующие расширенный код.
{ Составить программу подсчета различных букв в слове.}
Program VKB; {программа выводит код нажатой клавиши}
Uses Crt;
Var c,c2:char;
Begin
Repeat
c:=ReadKey;
If c=#0 then
begin
c2:=ReadKey;
WriteLn('0 ',ord(c2))
end
else WriteLn(ord(c))
Until c=#27 { 27 -код клавиши ESC }
End.
Не генерируют кода клавиши смещения Shift, Alt, Ctrl и клавиши-переключатели Caps Lock, Num Lock, Break, Scroll Lock, Print Screen. Генерируют расширенный код функциональные клавиши, клавиши редактирования Ins и Del, клавиши передвижения курсора. Расширенный код также генерируют некоторые комбинации клавиш, получаемые клавишами Alt и Ctrl.
{ Составить программу подсчета различных букв в слове.}
var s:string;
r:real;
i,j,n:integer;
begin
r:=0;
readln(s);
for i:=1 to length(s) do begin
n:=0;
for j:=1 to length(s) do begin
if s[i]=s[j] then inc(n);
end;
r:=r+1/n;
end;
writeln('количество различных букв = ', r:1:0);
end.
{является ли слово "перевертышем"}
var s1,s2:string; i:integer; begin readln(s1); s2:=''; for i:=length(s1) downto 1 do begin s2:=s2+s1[i]; end; if s1=s2 then writeln(s1, ' - перевертыш') else writeln(s1, ' - не перевертыш'); end.{ Вывод всех делителей натурального числа A }
var a,n,c,d:word;
begin { основная программа }
readln( a );
n:=1;
while ( n <= sqrt(a) ) do begin
c:=a mod n;
d:=a div n;
if c = 0 then begin
writeln( n );
if n <> d then writeln( d );
end;
inc( n );
end;
end.
const LIMIT = 500; {вывод простых чисел до 500}
var i,j,lim : word;
begin { основная программа }
writeln; {перевод строки}
for i:=1 to LIMIT do
begin
j:=2;
lim:=round(sqrt(i));
while (i mod j <> 0) and (j<= lim) do inc(j);
if (j > lim) then write( i,' ' );
end;
end.
Подсчет суммы цифр числа.
var a,x:integer;
i,s:integer;
begin
writeln('введите целое число');
readln( a ); x:=a;
s:=0;
while ( x<>0 ) do
begin
s := s + (x mod 10);
x := x div 10;
end;
writeln( 'Сумма цифр числа ',a,' = ', s );
end.
Обработка текста: Разрешение ввода только цифр. На входе - текст с цифрами (но будут вводиться только цифры.
uses crt;
const ENTER=#13;
var c:char;
begin
writeln('Вводите буквы и цифры');
c:=readkey;
while (c<>ENTER) do begin
if c in ['0'..'9'] then write(c);
c:=readkey;
end;
writeln;
end.