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