«Осень 2024»

Сборник задач на языке программирования PASCAL.

сборник задач с ответами, с решением, на языке программирования Паскаль.

Олимпиады: Информатика 1 - 11 классы

Содержимое разработки

1 Найти суммы двух чисел
Program kosindi; 
Var a, b, x integer; 
Begin 
Write (‘a, b-сандарын енгіз'); 
Readln(a, b); 
X:=a+b; 
Writeln(‘x =’,x); 
End. 
№2 Екі санның бөліндісін табу программасын құру керек. 
Program bolindi; 
Var a, b, x:real; 
Begin 
Write (‘a, b-сандарын енгіз'); 
Readln(a, b); 
X:=a/b; 
Writeln(‘x=’,x); 
End. 
№3 Екі санның қосындысының квадраттарын және көбейтіндісін табу программасын құру керек. х = (a+ b) , у = a* b 
Program esep 1; 
Var a, b, x, y:integer; 
Begin Write (‘a. b- сандарын енгіз’); 
Readln (a, b); 
X:=sqr (a+b); 
Y:= a*b; 
Writeln (‘x=’, x); 
Writeln (‘y=’, y); 
End. 
№4. k =(x2 + y2) * x+y, мұндағы функциясының мәнін есептейтін программа құру керек. 
Program esep 2 ; 
Var k:real; 
Const x = 5, y = 2.8; 
Begin 
K: = srq (x) + sqr(y)* sqrt (x+y); 
Writeln (‘k = ‘, k); 
End. 
№5. Апта күндерінің реттік нөмірі бойынша олардың аттарын анықтайтын программа құру керек. 
Program kyn; 
Var kyn: integer ; 
Begin 
Write (‘ kynnin aptadagi rettik nomirin engizinder: ‘ ); 
Readln (kyn); 
Case kyn of 
1: writeln ( ‘ duisenbi’); 
2: writeln ( ‘seisenbi’); 
3: writeln ( ‘ sarsenbi’); 
4: writeln ( ‘ beisenbi’); 
5: writeln ( ‘ juma’); 
6: writeln ( ‘senbi’); 
7: writeln ( ‘ jeksenbi’); 
Else writeln ( ‘ 1… 7 araligindagi sandardi engizinder’); 
End 
End. 
№6. Екі санның үлкенін табатын программа құр. 
Program max; 
Var a, b, max: integer; 
Begin 
Readln (a,b); 
If ab then max:= a else max:=b; 
Writeln (‘ max= ’ , max); 
End. 
№7. Үш санның үлкенін табатын программа құру керек. 
Program max; 
Var a, b, c, x, max: integer; 
Begin 
Readln (a, b, c); 
If ab then max:= x else max:=c; 
Writeln (‘ max= ’ , max); 
End. 
№8 Екі санның кішісін табатын программа құру керек. 
Program min; 
Var a, b, min : integer; 
Begin 
Readln (a, b); 
If a
Writeln ( ‘ min = ‘ , min) ; 
End. 
№9. Үш санның кішісін табатын программа құру керек. 
Program min; 
Var a, b, c, x, min : integer; 
Begin 
Readln (a, b, c); 
If a
If x
Writeln ( ‘ min = ‘ , min) ; 
End. 
№10 Үш кесіндінің ұзындықтары берілген. Егер бұл үш кесіндіден үшбұрыш құру мүмкін болса, онда оның периметрін және ауданын табыңдар. 
Program e5; 
Var a, b, c : integer; 
P1, p, s: real; 
Begin 
Readln (a, b, c); 
If a+bc then p1: = a+b+c ; 
P:= (a+b+c)/2; 
S:=sqrt (p*(p-a)*(p-b)*(p-c)); 
Writeln ( ‘ p1= ‘ , p1:5:2) ; 
Writeln (‘ s=’,s:5:2); 
End. 
№11. Адам жасына қарап, оларды әлі мектепке бармаған, мектеп оқушысы, жұмысшы, зейнеткер деген төрт топтың біріне жатқызатын программа құрыңдар. Адам жасы пернетақтадан енгізіледі. 
Program e6; 
Var x : integer; 
Begin 
Writeln (‘ adam jasin engiz’ ); 
Readln (x); 
If x
If (x6) and (x
If (x17) and (x
End. 
№12. Екі сан берілген. Егер бірінші санның абсолют шамасы екінші санның абсолют шамасынан артық болса, онда біріншісін бес есе азайту керек, әйтпесе екі санды да өзгеріссіз экранға шығару керек
Program e7; 
Var x, y : real; 
Begin 
Writeln (‘x , y-?); 
Readln (x, y); 
If abs (x)
Writeln (x:5:2, y:5:2); 
Readln; 
End. 
№13.Пернетақтадан трамвай билетінің нөмірі (1 орынды 6 сан ) енгізіледі. Билет «бақытты» нөмір болатынын анықтаңдар. Бақытты билеттің алғашқы 3 цифрының қосындысы соңғы 3 цифрының қосындысына тең болады. 
Program e8; 
Var x, y, z, r, k, t, s, n : integer; 
Begin 
Read (x, y, z, r. k. t ); 
S:= x+y+z; 
N:= r+k+t; 
If S= N then writeln (‘ bakitti nomer’) else writeln (‘ bakitti nomir emes’); 
End. 
№14. 1-ден n – ге дейінгі сандардың квадраттарының қосындысын табатын программа құру керек. 
Program kvadrat; 
Var s, i , n: integer; 
Begin 
WriteLn (‘ n = ’) ; 
Readln (n); 
I:=1; 
S:=0; 
While i
Begin S:=S + sqr (i); 
I:= i+1; 
WriteLn (‘ S=’ , S); 
End; 
End. 
№15. Y= ex sinx+cosx функциясының мәндерінің [a, b] аралығында h қадамы бойынша өзгеру кестесін құратын программа құрыңдар. 
Program y- tap; 
Var x, y, a, b, h: real; 
Begin 
WriteLn (‘ a , b , h -? ’); 
ReadLn (a, b , h); 
X:= a; 
While x
Begin 
Y:=exp (x) * sin (x) + cos(x); 
WriteLn (‘x=’, x:5:2, ‘, ‘ , y= ‘, y:5:2); 
X:=x+h; 
End; 
End. 
№16. Х € [1; 3] аралығындағы 0,2 қадаммен өзгергендегі y= функциясының мәнін тап. 
Program esep; 
Var x, y: real; 
Begin 
X:=1; 
While x
Begin y:= sqrt (x+1)-1/x; 
Writeln (‘ x=’ , x, ‘y=’, y); 
x:=x+0.2; 
end; 
readln; 
end. 
№17 Р=1*2*3 … * N N ! факториалды табу программасын жаз
Program fakt; 
Var I , n , p: integer; 
Begin 
WriteLn ( ‘ n= ‘); 
ReadLn (n) ; 
I: = 1; 
P:= 1; 
Repeat 
P:= p*1; 
I:= i+1; 
Until in; 
Writeln (p:4); 
End. 
№18. у =3x+1 x €[1 ; 2 ], h =0,5 өрнегін WHILE, REPEAT операторларын пайдаланып программа құр
Program y-tabu; 
Var x , y : real ; 
Begin 
X:=-1; 
Repeat 
Y: = 3*x+1; 
WriteLn (‘ y = ‘ , y); 
X:=X+0,5; 
Until x2; 
End. 
№19. x €[1 ; 3 ] аралығында 0,2 қадаммен өзгергендегі y= функциясының мәнін тап. 
Program esep; 
Var x, y: real; 
Begin 
X:=1; 
repeat 
y:= sqrt (x+1)-1/x ; 
Writeln ( x:3, y:5); 
x:=x+0.2; 
until x3 
readln; 
end. 
№20. 1- ден 100-ге дейінгі сандарды экранға шығаратын программа құрыңдар. 
Program san; 
Var i: integer; 
Begin 
Wtiteln (‘ 1- den 100- ge dein butin san’); 
Writeln; 
For i:=1 to 100 do 
Write (i:4); 
End. 
№21. 30-дан 10-ға дейінгі барлық жұп сандарды экранға шығаратын программа құрыңдар
Program jup; 
Var i: integer; 
Begin 
Writeln (’30-dan 10-ga deingi jup san’); 
For i:=30 downto 10 do 
If I mod 2=0 then 
Writeln (i); 
End. 
№22. 1- ден 100 –ге дейінгі тақ сандардың және жұп сандардың қосындыларын табудың программасын құру керек. 
Program tak and jup 
Var I, s, s1: integer; 
S:=0; S1:= 0; 
For i:=1 to 100 do 
Begin 
If I mod 2 = 0 then s:=s+I else s1:=s1+I; 
Writeln (‘ s=’, s, ‘ , ‘ , ‘s1= ‘, s1); 
End; 
End. 
№23. 5- тен 1-ге дейінгі сандардың қосындысын есептеу керек. 
Program kosindi; 
Var I, s:integer; 
Begin 
S:=0; 
For i:=5 downto 1 do 
S:=S+I; 
Writeln (‘s = ‘, s); 
End. 
№24. Кіші латын әріпімен енгізілген жолды, үлкен латын әріптеріне ауыстыру программасын құрыңыз. 
Program austir: 
Var s:string: 
k:byte: 
begin 
readln(s): 
for k:=l to length (s) do 
s[K]: =Upcase (s[k]); 
writeln(s): 
end. 
№25. 20 нақты сан берілген. Осы сандардың арифметикалық ортасын табу програмасы . Осы 20 нақты сандар тобын А жиымы деп қарастырсақ , жиымның элементтері A[1], A[2], …,A[20] нақты сандар болады. 
Program 
Var A: array [l..20] of real; 
I:integer; 
S:real; 
Begin 
For i:=1 to 20 do 
Read (A[i]); 
S:=0; 
For i:=l to 20 do 
S:=S+A[i]; 
S:=S\20; 
Write (S); 
End. 
№26. 10 элементтен тұратын А массивтің элементтерін енгізу және шығару программасын құру керек. 
Program esepl: 
Uses crt: 
Var l:integer: 
A:array [l..10] of integer; 
Begin 
Clrscr; 
For i:=l to 10 do 
Begin 
Writeln( ‘a[‘,I,’]-? ’); 
Readln (a[i]); 
End; 
For i:=l to 10 do 
Writeln(‘a[‘,I, ’]=’,a[i]); 
End 
№27. Берілген бір өлшемді A{2,-3,5,8,-2} массив элементтерінің қосындысын есептейтін прграмма жазу керек. 
Program esep2: 
Uses crt; 
Var I,s:integer: 
A: array [l…5] of integer; 
Begin 
Clrscr; 
For i:=1to 5 do 
Begin S:= 0; 
Writeln(`a[`,I`]-?`); 
Readln(a[i]); 
End; 
For i:=1 to 5do 
Begin 
S:=S+a[i]; 
Writeln(`S[`,I,`]=`,S); 
End; 
End. 
27. Берілген бір өлшемді А{2,-3,5,-8,2} ма ссив элементтерінің квадраттарының қосындысын есептеу программасын құру керек. 
Program esep3; 
Uses crt; 
Var I,s:integer: 
A: array [l…5] of integer; 
Begin 
Clrscr; 
For i:=1to 5 do 
Begin S:= 0; 
Writeln(`a[`,I,` ]-?`); 
Readln(a[i]); 
End; 
For i:=1 to 5do 
Begin 
S:=S+sqr(a[i]); 
Writeln(`S[`,I,`]=`,S); 
End; End. 
№28.Берілген бір өлшемді А{2,-3,5,-8,2} массив берілген, оң элементтерін баспаға шығаратын программа құру керек 
Program esep4; 
Uses crt; 
Var I:integer: 
A: array [l…5] of integer; 
Begin 
Clrscr; 
For i:=1to 5 do 
Begin 
Writeln(`a[`,I,` ]-?`); 
Readln(a[i]); 
End; 
For i:=1 to 5do 
Begin 
If (a[i])0 then Writeln(`a[`,I,`]=`,a[i]); 
End; End. 
№29.Бірөлшемді А{2,-3,5,-8,2} массив берілген, теріс элементтерін баспаға шығаратын программа құру керек. 
Program esep5; 
Uses crt; 
Var I:integer; 
A: array [l…5] of integer; 
Begin 
Clrscr; 
For i:=1to 5 do 
Begin 
Writeln(`a[`,I,` ]-?`); 
Readln(a[i]); 
End; 
For i:=1 to 5do 
Begin 
If (a[i])0 then Writeln(`a[`,I,`]=`,a[i]); 
End; End. 
№30. Бірөлшемді А{2,-3,5,-8,2} массив элементтерінің ең үлкен 
баспаға шығаратын программа құру керек. 
Program esep6; 
Uses crt; 
Var I, max :integer: 
A: array [l…5] of integer; 
Begin 
Clrscr; 
For i:=1to 5 do 
Begin 
Writeln(`a[`,I,` ]-?`); 
Readln(a[i]); 
End; 
Max:= a [I]; 
For i:=2to 5do 
Begin 
If max
End. 
№31. Екіөлшемді А (3,3) жиым элементтерін енгізу және шығару программасын құру керек
program esep mas; 
uses crt; 
var i,j:integer; 
A: array [l..3,1..3] of integer; 
Begin clrscr; 
for i:=1to 3 do 
for j:=1to 3 do 
begin 
writeln(`engiz a[`,i,`,`,j,`]`); 
readln(a[i,j]); 
end; 
for i:=1 to 3 do 
begin 
for j:=1to 3 do 
write (a[i,j]:3); 
Writeln; end; 
R.eadln; end. 
№32. Екіөлшемді жиым элементтерінің қосындысын және көбейтіндісін табу. 
program esep 1; 
uses crt; 
var i,j,s,k:integer; 
A: array [l..3,1..3] of integer; 
Begin clrscr; 
for i:=1to 3 do 
for j:=1to 3 do 
begin 
writeln(`engiz a[`,i,`,`,j,`]`); 
readln(a[i,j]); 
end; 
for i:=1 to 3 do 
begin 
for j:=1to 3 do 
write (a[i,j]:3); 
writeln; end; 
k:=1; s:=0; 
for i:=1to 3 do 
for j:=1to 3 do 
s:=s+a[i,j]; 
for i:=1to 3 do 
for j:=1to 3 do 
k;=k*a[i,j]; 
writeln(`s=`,s): writeln(`k=`,k); 
readln; end. 
№33. Екі өлшемді жиым элементтерінің квадраттарын табатын программа құру керек
program esep1; 
uses crt; 
var i,j:integer; 
A:array[1..3,1..3] of integer; 
begin 
clrscr; 
for i:=1to 3 do 
for j:=1to 3 do 
begin 
writeln(`engiz a[`,i,`,`,j,`]`); 
readln(a[i,j]); 
end; 
for i:=1 to 3 do 
begin 
for j:=1to 3 do 
write (a[i,j]:3); 
writeln; 
end; 
writeln; 
for i:=1 to 3 do 
begin 
for j:=1to 3 do 
write (sgr(a[i,j]):3): 
writeln; 
end; 
readln; 
end. 
№34. Екіөлшемді жиым элементтерінің түбірлерін табатын программа құру керек
program esep1; 
uses crt; 
var i,j:integer; 
A:array[1..3,1..3] of integer; 
begin 
clrscr; 
for i:=1to 3 do 
for j:=1to 3 do 
begin 
writeln(`engiz a[`,i,`,`,j,`]`); 
readln(a[i,j]); 
end; 
for i:=1 to 3 do 
begin 
for j:=1to 3 do 
write (a[i,j]:3); 
writeln; 
end; 
writeln; 
for i:=1to 3 do 
begin 
for j:=1to 3 do 
write (sgr(a[i,j]):3): 
writeln; 
end; 
readln; 
end. 
№35. А (3,3) матрицасының оң элементтерінің қосындысын табу программасын құр. 
Program matr; 
Const n=3; 
Var I,j,k:integer; 
A:array[1..n,1..n] of integer; 
Begin for i:=1to n do 
for j:=1to n do 
begin read (A[I,J]); 
if A[I,J]0 Then k:=k+A[I,J]; 
end; 
writeln (k:3): 
end. 
№36. Берілген А (3,3) матрицасының оң және теріс элементтерінің санын санау программасын құру керек. 
var i,j,o,i:integer; 
a:array[1..3,1..3] of integer; 
begin 
for i:=1to 3 do 
for j:=1to 3 do 
begin 
writeln(`engiz a[`,i,`,`,j,`]`); 
readln(a[i,j]); 
end; 
for i:=1 to 3 do 
for j:=1to 3 do 
if a[i,j]0 then 0:=0+1else t:=t+1; 
writeln (`0=`,0, `t=`,t); 
end. 
№37. Берілген А (3,3) матрицасындағы оң элементтерді баспаға шығару программасын керек. 
var i,j,o : integer; 
a:array [1..3,1..3] of integer; 
begin 
for i :=1 to 3 do 
for j:=1 to 3 do 
begin 
writeln (`engiz a[`,i,`,`,j,`]`); 
readln (a[i,j]); 
end; 
for i:=1 to 3 do 
if a [i,j] 0 then writeln (`on san=`, a[i,j]); 
end. 
№38. 2-ден 5-ке дейінгі сандардың көбейту таблицасын баспаға шығаратын программа керек. 
Var i,j: byte; 
begin 
for i:=2to 5do 
begin 
for j:=1to 10 do 
writeln ( i,`x`j,`=`,i*j); 
writeln 
end; 
end. 
№39. Берілген кез келген үш санның үлкенін және кішісін анықтайтын процедура жаса
program procl; 
label k; 
var x1, x2, x3, m1, m2:real ; 
function max (a,b: real):real; 
begin 
if ab then max:= a else max:=b 
end; 
function min (a,b: real):real; 
begin 
if ab then min:= a else min:=b 
end; 
procedure xxx(a,b,c: real; var mx, mn:real); 
begin 
mx:=max(max(a,b),c); 
mn:=min(a,b),c); 
end; 
begin 
k:write(`3san engiz:`); readln(x1,x2,x3); 
xxx(x1,x2,x3,m1,m2); 
writeln(`3sannin ylkeni=`,m1:5:2); 
writeln(`3sannin kishisi=`,m1:5:2); 
end. 
№40. дөңес төртбұрыштың төртқабырғасы мен бір диоганалының ұзындығы бойынша оның ауданын табу программасын құру керек. 
program misal2; 
var ab, bc, cd, da, ac, sl, s, a,b,c,p:real; 
procedure strl; 
begin 
p:=(a+b+c)/2; 
S:=sqrt(p*(p-a)*(p-b)*(p-c)) 
end; 
begin 
read (ab, bc, cd, da, ac); 
a:=ab;b:=bc; c:=ac; strl; Sl:=s; a:=da; b:=ac; c:=cd; strl; sl:=Sl+s; 
write (`sl=`,s); 
end. 
№41. Калкульятор жұмысына программа құру (+,-,*,/,div, mod амалдары арқылы). 
Program calculiator; 
Var k1, k2: integer; 
Belgi: char; 
Procedure calc; 
begin 
Case Belgi of 
‘*’: writeln (kl, ’*’, K2, ’=’, k1*k2); 
‘+’: writeln (kl, ’+’, K2, ’=’, k1+k2); 
‘/’: writeln (kl, ’/’, K2, ’=’, k1/k2); 
‘-’: writeln (kl, ’-’, K2, ’=’, k1-k2); 
‘d’: writeln (kl, ’div’, k2, ’=’, k1divk2); 
‘m’: writeln (kl, ’mod’, k2, ’=’, k1modk2); 
End; 
End; 
Begin 
Write (‘1-san’) readln (k1); 
Write (‘2-san’) readln (k2); 
Write (‘belgi’) readln (belgi); 
Calc; 
End. 
№42. Экранда бұрыш жасаған екі түзу сызық, шеңбер центрінде орналасқан нүкте салу программасын құру керек. 
program syret; 
uses Graph Crt; 
var graphdriver, graphmode: integer; 
begin 
clrscr; 
initgraph (graphdriver,graphmode,’d:\bp\bgi’); 
setColor(3)’line(250,50,475,200);line(200,50,25,300); 
setcolor(8);circle(250,200,100);putpixel(250,200,5); 
readln; closegraph; 
№43. Әр түрлі түспен берілген геометриялық фигуралардың астына аттарын жазатын программа құру керек. 
program syrettext; 
uses Graph, Crt; 
var GraphDriver: integer; GraphMode:Integer; 
Begin ClrScr; 
GraphDriver:=0; 
InitGraph(GraphDriver,GraphMode,’d:\bp\bgi’); 
SetBkColor(15);SetColor(10); 
rectangle (60, 40, 100, 80);SetFillStyle(1,3);FloodFill(300,70,10); 
SetColor (0); ;SetTextStyle (5,0,3); 
OutTextXY(60,65’RectanglE’); 
setcolor(11);circle(200,65,20);setfillstyle(2,4); 
setcolor(1);settextstyle(4,0,4);outtextxy (180,80’ circle’); 
ellipse(300,80,0,360,50,30); settextstyle(5,0,5); outtextxy(250,90,’ ellipse’) 
setcolor(5); line (360,65,450,65);settextstyle (6,0,6); outtextxy(360,80,’ line’); 
setcolor(4)arc(500,70,260,,90,20); settextstyle (6,0,6); outtextxy (500,90,’arc’); 
readln; 
closegraph 
end. 
№44. Төмендегі суреттерді салуға жазылған программаның қатесін тауып, толықтырып жаз 
UsesGraph, Crt; 
Var GraphDriver, GraphMode:integer; 
Begin ClrScr; 
GraphDriver:=0; 
InitGraph (GraphDriver,GraphMode,’); 
If GraphResult 0 then 
Begin Writeln; Writeln ;Halt;End; 
Setbcolor(2) Setcolor(4)Cirkle (250,150,50); 
Setfill style(1,3); floodfill(250,210,2); Setbcolor(14); 
Line(250,50,175,225);line(175,75,325); 
Readln;closeckapn; End. 
№2. Uses Graph, Crt; 
Var GraphDriver, GraphMode:integer; 
Begin ClrScr; GraphDriver:=0; 
InitGraph(GraphDriver,GraphMode,’’); 
If GraphResult 0 then 
Begin Writeln; Writeln;Halt;End; 
Setbcolor(14); setcolor(6); 
Line (150,100,170,300);lin(150,100,350,300); 
Setbkolor(5); Circie(250,500,50);Flooclfill(250,200,5) 
Srtfillstyle(3,4) 
readln; end. 
№3. Uses Graph, Crt; Var GraphDriver, GraphMode:integer; 
Begin ClrScr; GraphDriver:=0; 
InitGraph(GraphDriver,GraphMode,’’); 
If GraphResult 0 then 
Begin Writeln; Writeln;Halt;End; 
setbcolor(1); setcolor(15); 
Line (250,50,475,200);Line(200,50,25,300); 
Setcolor(3); 
Circle(250,200,100,); 
Srtfill style(1,3) floodfill(250,200,3); 
Readln; gloseckapk; end. 
№45. 10 элементтен тұратын А жиымы берілген. Осы жиым элементтерінің қосындысын табатын программа жазыңыз
Dim a(6) As iteger 
Dim і, s As iteger 
For i=1 to 6 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
S=0 
For i=1 to 6 
S=s+a(i) 
Next i 
Print “s=”; s 
№46 А(6) бүтін сандары берілген. Жиым элементтерінде кездесетін бірдей көршілес сандар неше рет кездесетінін анықтайтын программа жазыңыз. 
Dim a(6) As iteger 
Dim i As iteger 
For i=1 to 6 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
S=0 
For i=1 to 6 
k=0 
IF a(i)=a(i+1) then k=k+1 
PRINT “k=”; k 
Next i 
№47 Жиымның нөлдік емес элементерін бірге арттыратын прогрпмма жазыңыз. 
Dim a(6) As integer 
Dim i As integer 
For i=1 to 6 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
For i=1 to 6 
IF a(i)0 then k=k+1 
PRINT “a(i)=”; a(i) 
Next i 
№48 А жиымының элементтерін өсу ретімен орналастырыңыз. 
Dim a(5) As iteger 
Dim і,j,k,R As iteger 
For i=1 to 5 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
k=i 
For j=i+1 to 5 
k=0 
IF a(i)
Next j 
R=a(i): a(i)=a(k): a(k)=R 
PRINT “a(i)=”; a(i) 
Next i 
№49 А жиымының элементтерін кему ретімен орналастырыңыз
Dim a(5) As iteger 
Dim і,j,k,R As iteger 
For i=1 to 5 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
k=i 
For j=i+1 to 5 
k=0 
IF a(i)a(k) then k=j 
Next j 
R=a(i): a(i)=a(k): a(k)=R 
PRINT “a(i)=”; a(i) 
Next i 
№50 Реттік нөмірі жұп болып келетін жиым элеметтерін 100 санымен алмастырыңыз. 
Dim a(10) As iteger 
Dim і As iteger 
For i=1 to 10 do 
a(i)=InputBox(“Видите a” +str(i)) 
Print “(a(i)=”; a(i) 
Next i 
a(i)=100 
For i=2 to 100 step 2 
a(i)=100 
PRINT “a(“;i;”)=100 
Next i 
№51 Бір өлшемді А(5) жиымы берілген. А-ның элементтерінің жеке жиым құру керек
Dim a(10), b(5), c(5) As iteger 
For i=1 to 10 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
For i=1 to 5 
b(i)=a(2*i-1) 
c (i)=a(2*i) 
Next i 
For i=1 to 5 
PRINT “b(“i”)=”;b(i) 
Next i 
For i=1 to 5 
PRINT “c(“i”)=”;c(i) 
Next i 
№52 Жиым А(5) берілген. Егер нольге тең элементтер болса, онда олардың алғашқы бесеуінің нөмірін анықтайтын программа жаз. 
Dim a(7) As iteger 
Dim і, k As iteger 
For i=1 to 7 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
For i=1 to 7 
IF a(i)=0 then PRINT “a(“;i;”)=0” 
Next i 
k=k+1 
IF k=5 then End 
№53 А матрицасы берілген. Барлық баған элементтерінен азайту программасын жазыңыз
Dim a(3,3) As iteger 
Dim і, j As iteger 
N=3 
For i=1 to 3 do 
For j=1 to 3 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
Next j 
For i=1 to N-1 
For j=1 to 3 do 
a(i,j)=a(I,j)-a(1,N) 
Next i 
Next j 
For i=1 to 3 do 
For j=1 to 3 do 
PRINT “a(“i,j”)=0” 
IF a(i)=0 then PRINT “a(“;i;”)=”;a(i,j) 
Next j 
Next i 
№54 Келесі шарттарға сәйкесті жиым элементтерінің мәнін өзгертіңіз. 
Егер а(і)=7, онда а(i)=1 
Егер а(і)=6, онда а(i)=2 
Егер а(і)=5, онда а(i)=3 
Dim a(9) As iteger 
Dim і, k As iteger 
For i=1 to 9 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
For i=1 to 9 do 
IF a(i)=7 then a(i)=1 
IF a(i)=7 then a(i)=2 
IF a(i)=5 then a(i)=3 
Print “a(i)=”;a(i) 
Next i 
№55 А(9) жиым берілген. Нөлге тең емес элементтерді жиымның алдыңғы жағына, нольге тең элементтерді жиымның соңына орналастыру керек
Dim a(9) As iteger 
Dim і, k As iteger 
For i=1 to 9 do 
a(i)=InputBox(“Видите a” +str(i)) 
Next i 
For i=1 to 9 
IF a(i)then PRINT “a(“;i;”)=”; a(i) 
Next i 
For i=1 to 9 
IF a(i)=0 then PRINT “a(i)=”; a(i) 
Next i 
№56 Екі өлшемді жиым А(4,4) берілген үшінші жолының элементтерінің қосындысын табыңыз. 
Dim a(4,4) As iteger 
Dim і, j, S As iteger 
S=0 
For i=1 to 4 do 
For j=1 to 4 do 
a(i,j)=InputBox(“Видите a” +str(i)) 
Next i 
Next j 
For i=1 to 4 
Next i 
For i=1 to 4 
S=S+a(3.j) 
Next j 
Print “S=”;S 
№57 Массасы 5 г дене түзу сызықты қозғалғандығы жылдамдық уақыты берілген. Денеге әсер етуші күшті тап
Программасы: 
10. Rem 
20. Read m, z1, z2, t 
30. Let F=(m*(z1-z2))/t 
40. Print “F=”;F 
50. End 
Run F5. Enter 
№58. 1-ден 15-ке дейінгі барлық полиндром сандардың тізімін басып шығаратын программа құр (полиндром сан деп кері оқығанда да сол санға тең сан, яғни берілген есеп үшін бірінші және үшінші цифрлары тең сандар). 
Программасы: 
Program Polindrom; 
Var a, b, c, P1: integer; 
Begin 
For a:=1 to 15 do 
For c:=0 to 15 do 
For b:=1 to 15 do 
Begin 
P1:=a*100+b*10+c; 
If a=c then write (P1:5); 
End. 
№59. Массивтің элементтерінің 1-ден 7-ге дейінгі қосындысын тап
Программасы: 
Program ma; 
Const n=7; 
Type m1=array [1…n] of real; 
Var a:m1; k: integer; S: real; 
begin 
for k:=1 to n do 
begin read (a[1,...7]); 
end; 
S:=ø 
for k:=1 to n do 
if a[k]0 then S:=S+a[k]; 
Write (S); 
End. 
№60 Мына өрнекті есептеп программасын құр? Q=(1+12/f*d*g). 
Программасы: 
10. Rem 
20. Input Q, f, d, g 
30. Q=(1+12/f*d*g). 
40. Print “d=”;d 
50. End. 
№61 Тиын ақшаны n рет лақтырғанда цифр жағымен түсу жиіліктігін жуық шамамен анықтау программасын құрыңыз? 
Программасы
Program G; uses ctr; 
{жиіліктік
Label 10; 
Var n, m, k, r: integer; W: real; 
Begin clrscr; 
10: Write (‘n=?’); readln (n); m:=0; 
For k:=1 to n do 
Begin r:=round(random) 
If r:=1 then m:=m+1; 
end; W:=m/n; 
Writeln(n; сынақта сифр көрінуі-? , m ‘, рет’); 
Writeln(‘бос орын клавишын бас’); 
Repeat until (key pressed); goto 10 
End. 
№62 S1, V1 жылдамдықпен ағып жатқан өзеннен судың ағысына қатысты V2 жылдамдықпен қарсы жағаға қайықпен ағысқа перпендикуляр бағытта жүзіп өту үшін қанша уақыт кетеді? t=S/V өтуге кеткен уақыт формуласы
10. Rem 
20. Input S,V1,V2 
30. S=80 
40. If V1V2 then 90 
50. V=Sqr(V2^2-V1^2) 
60. t=S/V 
70. Print “t=”;t 
80. Stop 
90. Print “қайық қарсы жағаға өте алмайды” 
100. End. 
№63 Жазық бетте жатқан денеге горизонталь бағытта күш әсер етеді. Осы күштің әсерінен t - секунтта дене қанша жол жүреді? 
10. Rem 
20. Input M, F, k, t 
30. If F9.8*k*M then A=(F-9.8*k*M)/M 
40. S=A*(t^2)/2 else S=0 
50. Print “S=”;S 
60. End. 

№64 25м мыс. Сымның массасы 100,7г. Сымның диаметрін табыңдар
L=2500 m=100.7 p=8.94 v=m/p d=Sqr((4*v)/(p*L)) 
10. Rem 
20. Input L, M, R 
30. v=mirIf F9.8*k*M then A=(F-9.8*k*M)/M 
40. d=Sqr((4*v)/(p*L)) 
50. Print “d=”;d 
60. End. 
№65 Ұжымдық мекемеде дипломы бар азаматқа жұмыс ұсыну процесі жүруде. Оған мамандарды ретімен қабылдайды. Программасын құр? 
Program ds; 
Var x, y, z, m: real; 
Begin read(x, y, z); 
If x0 then writeln (‘m=’, жұмысқа қабылдау); 
Else Writeln(‘y=’, жұмысқа қабылдамау); 
If y3.5 then writeln (‘m:=’, инженер конструктор); 
Else Writeln(‘m :=’, ғылыми қызметкер); 
If z2 then writeln (‘m:=’, инженер қызметін ұсыну); 
Else Writeln(‘m :=’, жұмысқа қабылдамау); 
End. 
№66 Шеңбер 
Енгізу файлының аты: А.in 
Шығару файылының аты: А. Out 
Есептің жауабы файылының аты: A. pas 
Уақыт шектеу: 2 секунд 
Жадыға шектеу: 64 мегабайт 
Шеңберде бірдей қашықтықта N нүктелер белгіленген, олар қарсы сағаттық тілдің бүтін сандармен 1-ден N-ға нөмірленген. Сіздерге осы шеңбердің бірнеше қос хордалар берілген, хорданың ұштары сол нүктелер болады. Әрбір хордалар үшін анықтаңыздар, олар қиылып кетеді ме, немесе қиылымайды (сүйкелмейген хордалар қиылған деп саналады). 
Мәліметтерді енгізу форматы 
Кіріс файлдың бірінші жолында екі бүтін сан тұрады: N және К (1 Келесі К жолда 4 бүтін сан тұрады: А1, В1, А2, В2- бірінші хорданын (А1, В1) және екінші хорданын (А2, В2) нүктелерінің нөмірлері. Жолдағы сандар пробелмен арқылы бөлінген. 
Мәліметтерді шығару форматты 
Шығыс файлға әрбір қос хорладың үшін бір жол жазылу керек- YES, егер хордалар қиылып кетеді, немесе Noегер хордалар қиылыспайды (сүйкелмейді). 
Мысал 
A.in A.out 
4 3 
1 3 2 4 
1 2 3 4 
1 2 3 2 YES 
NO 
YES 
uses crt; 
var e,w,q,i,j,k,l,m,n:longint; 
a:array[1..4,1..100]of longint; 
b:boolean; 
function min(var i,j:longint):longint; 
begin 
if(i
end; 
function max(var i,j:longint):longint; 
begin 
if(i
end; 
begin 
assign(input,'a.in');reset(input); 
assign(output,'a.out');rewrite(output); 

readln(n,k); 
for i:=1 to k do readln(a[1,i],a[2,i],a[3,i],a[4,i]); 
for i:=1 to k do begin 
if(a[1,i]=a[3,i])or(a[2,i]=a[4,i])then writeln('YES')else begin 
b:=false; 
q:=abs(a[1,i]-a[2,i]); 
if(q
for l:=min(a[1,i],a[2,i])to max(a[1,i],a[2,i])do begin 
for j:=max(a[3,i],a[4,i])downto min(a[3,i],a[4,i])do 
if(l=j)then begin 
b:=true; 
writeln('YES'); 
break; 
end; 
if b then break; 
end; 
if(not b)then writeln('NO'); 
end else begin 
e:=max(a[1,i],a[2,i]); 
w:=max(a[3,i],a[4,i]); 
b:=false; 
for l:=min(a[1,i],a[2,i])to max(a[1,i],a[2,i])do begin 
if(e=n+1)then e:=1 else inc(e); 
for j:=min(a[3,i],a[4,i])to max(a[3,i],a[4,i])do 
begin 
w:=w-1; 
if(e=w)then begin 
b:=true; 
writeln('YES'); 
break; 
end; end; 
if b then break; 
end; 
if not b then begin writeln('NO');end; 
end; 
end; end; 
close(input);close(output); 
end. 
№67 Бөлгіштер 
Енгізу файлының аты: В.in 
Шығару файылының аты: В. Out 
Есептің жауабы файылының аты: В. pas 
Уақыт шектеу: 2 секунд 
Жадыға шектеу: 64 мегабайт 
А оң саны В санының бөлгіші аталып жатыр, егер В А санға қалдықсыз бөлінсе. Мысалы, 15 санында 4 бөлгіш бар: 1,3,5,15. Әрбір берілген сандардың үшін, оның бөлгіштердің саны жұп сан немесе тақ сан болады ма сіздерге анықтау қажетті
Мәліметтерді енгізу форматы 
Кіріс файлдың бірінші жолында бір бүтін сан N (1жазылған. Келесі жолда N бүтін сан Хі(1жазылған. Бір жолдағы сандар аралары пробелмен бөлінген
Мәліметтерді шығару форматы 
Шығыс файлда аралары пробелмен бөлінген N сан жазылу керек: i- ші сан 0 деп жазылады, егер Х, бөлгіші саны жұп сан болады, немесе 1, егер Х, бөлгіші саны тақ сан болады
B. in B. out 

4 5 1 0 
uses crt; 
var i,j,k,l,m,n:longint; 
function prime(n:longint):boolean; 
var i:longint; 
begin 
prime:=true; 
for i:=2 to trunc(sqrt(n))do 
if(n mod i=0)then begin prime:=false;break;end; 
end; 
procedure aaa(l:longint); 
var i:longint; 

begin 
k:=2; 
for i:=2 to (l div 2) do 
if(l mod i=0)then inc(k); 
end; 
begin 
assign(input,'b.in');reset(input); 
assign(output,'b.out');rewrite(output); 
readln(n); 
for i:=1 to n do 
begin 
read(l); 
if(prime(l))then write('0 ')else begin 
k:=0; 
aaa(l); 
if(odd(k))then write('1 ')else write('0 '); 
end; 
end; 
close(input);close(output); 
end. 

№68 Пайда
Енгізу файлының аты: C.in 
Шығару файылының аты: C. Out 
Есептің жауабы файылының аты: C. pas 
Уақыт шектеу: 2 секунд 
Жадыға шектеу: 64 мегабайт 
Компьютер процессор бөлігінен және монитордан құралады.Қоймада цессор бөлігі және М монитор болып жатыр. І-ші процессор бөлігінің бағасы- Аі тугрик, j-ші монитордың бағасы- Вj тугрик. Дүниежүзілік қаражаттық дағдарыс артынан, і- ші процессор бөлігінен және j-ші монитордан құралған компьютердің бағасы Аi,Bj (көбейту) тугрик болады. Сіздерге дәл осылай компьютерлердің ең үлкен мүмкін саны жинау керек, олардың барынша ең көп мүмкін болған жиынтық бағасы болу үшін
Мәліметтерді енгізу форматты 
Кіріс файлдың бірніші жолда екі бүтін сан тұрады N және М (1Екінші жолда N бүтін сан тұрады: і-ші жолдағы сан Аі. Үшінші жолда М бүтін сан тұрады: j-ші жолдағы сан Вj(1Жолдағы сандар пробелмен арқылы бөлінген
Мәліметтерді шығару форматы 
Шығыс файлға пробелмен бөлінген екі бүтін сан жазылу керек-ең үлкен мүмкін болған компьютердің саны және олардың барынша ең көп мүмкін болған жиынтық бағасы
Мысал 
C.in C.out 
3 2 
1 2 3 
4 5 2 23 

uses crt; 
type mas=array[1..1000]of longint; 
var 
i,j,k,l,m,n,min:longint; 
sum:longint; 
a,b:mas; 
procedure sort(var a:mas;n:longint); 
begin 
for i:=1 to n-1 do 
for j:=i+1 to n do 
if(a[i]
l:=a[i]; 
a[i]:=a[j]; 
a[j]:=l; 
end; 
end; 
begin 
assign(input,'c.in');reset(input); 
assign(output,'c.out');rewrite(output); 
readln(n,m); 

for i:=1 to n do read(a[i]); 
for j:=1 to m do read(b[j]); 
sort(a,n);sort(b,m); 
if(nm)then min:=m else 
min:=n; 
for i:=1 to min do 
sum:=sum+(a[i]*b[i]); 
write(min,' ',sum); 
close(input);close(output); 
end. 

№69 Жалқаулық
Енгізу файлының аты: D.in 
Шығару файылының аты: D. Out 
Есептің жауабы файылының аты: D. pas 
Уақыт шектеу: 2 секунд 
Жадыға шектеу: 64 мегабайт 
Оқытушы емтиханға дайындалуға үшін оқушыларына N сұрақтарды берді. Осы сұрақтардан ол емтиханға үшін А сұрақты таңдайды, ал оқушы, бесті алу үшін В сұрақты (бұларды А сұрақтан) жауап беру тиісті. Ку оқушы барлық сұрақтарды оқытуға қаламайды. Бесті алу үшін, сұрақтардың қандай ең аз саны оған жатап алу керек
Мәліметтерді енгізу форматы 
Кіріс файлдың жекеше жолында үш бүтін сан жазылған: N, A және В (1Сандар аралары пробел арқылы бөлінген
Мәліметтерді шығару форматы 
Шығыс файлда бір бүтін сан жазылу керек- есептің жауабы
Мысал 
D.in D.out 
10 7 3 6 

uses crt; 
var i,j,k,l,m,n:longint; 
begin 
assign(input,'d.in');reset(input); 
assign(output,'d.out');rewrite(output); 
readln(i,j,k); 
writeln(i-(j-k)); 
close(input);close(output); 
end. 




Получите свидетельство о публикации сразу после загрузки работы



Получите бесплатно свидетельство о публикации сразу после добавления разработки


Серия олимпиад «Осень 2024»



Комплекты учителю



Качественные видеоуроки, тесты и практикумы для вашей удобной работы

Подробнее

Вебинары для учителей



Бесплатное участие и возможность получить свидетельство об участии в вебинаре.


Подробнее