Паскаль. «Бақытты билет», Бүтін санды жай көбейтінділерге бөлшектеу, ASCII таблицасын шығару, Фамилияларды сұрыптау, Хоар процедурасы
Программа «Бақытты билет»
Program lucky_ticket;
Var
N:longint;
Function luck (M:longint) : boolean;
{ Үлкен сандар мен кіші сандарды есептеу және салыстыру. Егер сандар сәйкес келсе luck=true }
Var
i : integer;
a : array [1..6] of byte;
begin
if (M<0) or (M>999999) then;
begin
writeln (‘luck : қисынсыз аргумент’);
exit;
end;
for i:=1 to 6 do
begin
a [i] := M mod 10;
M:=M div 10;
end;
luck:= (a[1] + a[2] + a[3]) = (a[4] + a[5] + a[6]);
end;
begin
writeln (‘билет номерін енгізіңіз’);
readln (N);
if luck (N) then
writeln (‘қуаныңыз – бақытты билет’);
else
writeln (‘Бұл өмірде бақыт жоқ’);
readln;
end.
Программа: Бүтін санды жай көбейтінділерге бөлшектеу
Program bolshektey;
Var
M, Ml, k : longing;
J: boolean;
Label l;
Begin
j := true;
k:=2;
write (‘butin can engiziniz: ‘);
readln (M);
Ml:=M div 2;
Write(M, ‘=’);
l:if (M mod k ) = 0 then
begin
j:=false;
M:=M div k;
write (k);
If M<>1 then write (‘ jai san’);
readln;
End.
Программа: ASCII таблицасын шығару
Program ASCII;
Uses Crt;
Var
i, j : word;
begin
clrscr;
gotoxy (31,1);
write (‘Tablitza ASCII’ );
for I:=32 to 52 do
begin
gotoxy (1, i-29);
j:=i;
repeat
write (chr ( j ) : 1, j:4, ’ ‘ );
j:=j+21;
until j > 255;
end;
readln;
end.
Программа: Фамилияларды сұрыптау
Program sort;
Uses crt;
Const
n=10;
Var
J, k : integer;
tmp : string [20];
name : array [1..n] of string [20];
begin
clrscr;
for j :=1 to n do
begin
writeln (‘ Kelesi familiani engiz’);
readln (name [j]);
end;
clrscr;
writeln (‘Rettelgenge deiingi fanilia :’);
for j:=1 to n do
begin
gotoxy (1, j+2);
write (name [ j ]);
end;
for j :=1 to n-1 do
for k:=j+1 to n do
begin
if name [ j ] >name [k] then
begin
tmp := name [j];
name [j] := name [k];
name [k] := tmp;
end
end;
gotoxy (40, 1);
writeln (‘Rettelgennen keiingi familia :’);
for j:=1 to n do
begin
gotoxy (40,j+2);
write (name [j]);
end;
readln;
end.
Программа: Хоар процедурасы
procedure quick (var x : array of integer; left, right : integer);
var
i,j, xx, tmp : integer;
begin
i := left; j:=right;
xx:=x [ (left+right) div 2];
repeat
while (x [i] < xx) and (i < rigt) do i :=i+1;
while (xx < x[j]) and (j > left) do j :=j-1;
if i<=j then
begin
tmp:=x[i];
x[i]:=x[j];
x[j]:=tmp;
i:=i+1;
j:=j-1;
end;
until i>j;
if left < j then quick (x, left, j);
if i < right then quick (x,i, rigt);
end;
procedure hoare (var x:array of integer; n:integer);
begin
quick (x, 0,n-1);
end.
Ұқсас тақырыптар:
- Паскалдан жиі қолданыстағы тақырыптық есептер (40 есеп+шешуі).
- Pascal-да программалар: 2-лік->10 сан, 10-дық->2 сан, 4 амал, Қазақша жыл.
- ІІ-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап.
- I-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап, 5 сағат (2012 облыстық І-тур)..
- Информатика 2010-2011. Олимпиада есептері шығарылуымен.
- Информатика. Аудандық олимпиада есептерінің шығарылуы, II этап, 2008-2009
- Информатикадан мектеп олимпиадасы 2011-2012
- Repeat және While циклдік операторлары
- Информатика-9. Символдық мәліметтермен жұмыс тәсілдері (2 сағ).
- И-9. Мәліметтердің типтері. Мәліметтердің стандартты типтері.