Сборник программ на Паскале

Написать программу, печатающую код нажимаемой клавиши и заканчивающей работу после нажатия клавиши 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.
Онлайн всего: 27
Гостей: 27
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте