Инф олимпиада doc



бет59/66
Дата08.02.2022
өлшемі91,93 Kb.
#123795
1   ...   55   56   57   58   59   60   61   62   ...   66
Байланысты:
1544775476 (1)

1

2

3

4

2

1

4

3

3

4

1

2

4

3

2

1

Program f13_d1;


Label 1,2;
Const n=4;
Var I,j,s,s1:integer: a: array[1..n,1..n] of integer;
Begin
For i:=1 to n do
For j:=1 to n do
Begin
Write(‘’,I,j); read( a[I,j]);
End;
Writeln(‘’);
For i:=1 to n do
Begin
For j:=1 to n do write(a[I,j]:3);
Writeln
End;
S1:=0;
For i:=1 to n do s1:=s1+I;
For i:=1 to n do
Begin
S:=0;
For j:=1 to n do s:=s+a[I,j];
If s<>s1 then goto 1
End;
For i:=1 to n do
Begin
S:=0;
For j:=1 to n do s:=s+a[j,i];
If s <> s1 then goto 1
End;
Write(‘латын квадрат’);
Goto 2;
1: write(‘’);
2: end.



  1. Берілген санды ондық жүйеден : а) екілік санау жүйесіне; b) сегіздік санау жүйесіне аударатын программа жаз.

Program f14_d1;
Var x,x1:integer;
Function dv(x:integer): integer;
Var y,z,k: integer;
Begin z:=1; y:=0;
While x> 0 do begin
K:=x mod 2; y:=y+k*z; z:=z*10;x:=x div 2 end; end;
Function vos(x: integer): integer;
Var y,z,k: integer;
Begin z:=1; y:=0;
While x>0 do begin
K:=x mod 8; y:=y+ k*z; z:=z*10; x:=x div 8
End; end;
Begin
Write(‘ санды енгіз’,x); x1:= dv(x);
Write(‘сан’, x,’екілік санау жүйесі=’, x1);
X1:=vos(x);
Write(‘саны’, x,’сегіздік санау жүйесінде=’, x1);
End.

  1. 1, мұнда n =0

Xn= { 1/x|n| мұнда n< 0
X*xn-1 мұнда n > 0
Х саның n- дәріжесін, жоғардағы формула бойынша табатын программа жаз.

Program f15_d1;


Var x,y:real; k,n:integer;
Function xn(x:real; n: integer): real;
Begin
If n=0 then xn:=1 else xn:=x*xn(x,n-1)
End;
Begin
Writeln; write( ‘x,n енгіз’); readln(x,n);
If n< 0 then begin k:=-1; n:=abs(n) end;
Y:=xn(x,n);
If k=-1 then y:=1/y;
Write(‘x-тің дәрежесі n=’, y) end.



  1. M мен N натурал сандары берілген. М санынан кіші және N санның цифрлардың квадратына тең сандарды табатын программа жаз.

Program f16_d1;
Label 1;
Var I,j,m,n,x,a,s: integer;
Begin writeln; write(‘M,N енгіз’ ) ; readln(m,n);
For i:=1 to m-1 do begin
S:=0; x:=I;
1: a:=x mod 10; s:=s+a;
X:=x div 10;
If x> 0 then goto 1;
If s*s= n then write(‘ ‘, i)
End;
Readln;
End.



  1. Берілген натурал санды 16-лық есептеу өлшеміне ауыстыратын программа жаз.

Program f17_d1;
Var n,k,r,x,x1: integer; as.bs: string;
Begin
Writeln; write(‘ондық санды енгіз ’); read (x); x1:=x;
As:= ‘’; write (‘есепетеу жүйенің негізін енгіз’); read(n);
While x> 0 do begin k:=x mod n; x:=x div n;
If k < 10 then str (k,bs) else bs:= chr(ord(‘A’)+k-10);
As:= bs+as end; write (‘сан’, x1,’ есесптеу өлшемінің негізі’, n,’=’, as) end.



  1. Берілген мәтіннің ішіндегі ең ұзын сөзды таңдайтын программа жаз.

Program f18_d1;
Label 1;
Var I,m,l,k,d: longint; t,n: string;
Begin
Writeln; write (‘мәтін енгіз’); readln(t); t:=+’ ’;
I:= length(t); m:=0; k:=1; i:=1;
While i<=l do begin
If copy (t,I,1)=’’ then begin d:=i-k;
If d> m then begin
M:=d; n:= copy(t,k,d);
End;
K:=i+1; end;
1: I:=i+1 end; write(‘ ең ұзын сөз’’ ‘,n,’’’әріптер саны ‘, m); readln; end.

  1. Мәтін ішіндегі сөздердің соңында берілген әріп қанша кездеседі, оны пайыз түрін аудар.

Program f19_d1;
Var I,s,l,k,s1: longint; t,a: string; p: real;
Begin
Writeln; write (‘мәтін енгіз’); readln(t); t:=+’ ’;
I:= length(t); write(‘берілген әріпті енгіз ’); readln(a);
K:=1; s:=0; s1:=0;
For i:=1 to l do begin
If copy (t,I,1)= ‘ ‘ then begin
If copy (t,k,1)= a then s1:=s1+1;
S:=s+1; k:=i+1;
End; end; p:=s1*100/s;
Write(‘берілген әріптің пайызы ’’’, а, ‘’’ тең=’, p); readln; end.



  1. Фамилия тізімін пробел арқылы енгізіп, осы тізімді берілген әріптен бастап құрайтын программа жаз.

Program f20_d1;
Var I ,m ,l, k, d: longint; t, a: string;
Begin writeln; write(‘тізімді енгіз ’); readln(t); t:=t+’;
L:= length(t); write(‘берілген әріпті енгіз ‘); readln(a); k:=l;
For i:=1 to l do begin
If copy (t,I,1)= ‘ ‘ then begin
If copy (t,k,1)= a then write(‘ ‘, copy(t,k,i-k)); k:=i+1;
end; end; readln; end.



  1. Берілген екі таңбалы санды жазу түрінде жазылатын программа жаз (мысалы, 64 –ті «алпыс төрт » деген мәлімет шығару).

Program f21_d1;
Label 1;
Var n,n1, n2: longint; s: string;
Begin
Writeln; write(‘’); readln(n);
N1:= n mod 10;
N2:= n div 10;
If (n>=10) and (n<20) then begin
If n=10 then s:=’он’;
If n=11 then s:=’он бір’;
If n=12 then s:=’он екі’;
If n=13 then s:=’он үш’;
If n=14 then s:=’он төрт’;
If n=15 then s:=’он бес’;
If n=16 then s:=’он алты’;
If n=17 then s:=’он жеті’;
If n=18 then s:=’он сегіз’;
If n=19 then s:=’он тоғыз’;
Goto 1 end;
If n2=2 then s:=’жиырма’;
If n2=3 then s:=’отыз’;
If n2=4 then s:=’қырық’;
If n2=5 then s:=’елу’;
If n2=6 then s:=’алпыс’;
If n2=7 then s:=’жетпіс’;
If n2=8 then s:=’сексен’;
If n2=9 then s:=’тоқсан’;
If n1=1 then s:=s+’бір ‘;
If n1=2 then s:=s+’ екі‘;
If n1=3 then s:=s+’үш ‘;
If n1=4 then s:=s+’төрт ‘;
If n1=5 then s:=s+’ бес‘;
If n1=6 then s:=s+’ алты‘;
If n1=7 then s:=s+’жеті ‘;
If n1=8 then s:=s+’ сегіз‘;
If n1=9 then s:=s+’ тоғыз‘;
1:write(s);
Readln; end.



  1. Берілген квадратық матрицаның элементтерін спираль бойымен орналастыр. Мысалы, 7 х7 квадраттық матрицасы берілген, оны толықтыру ретілгі

  1. 2 3 4 5 6 7

24 25 26 27 28 29 8
23 40 41 42 43 30 9
22 39 48 49 44 31 10
21 38 47 46 45 32 11
20 37 36 35 34 33 12
19 18 17 16 15 14 13
Program f22_d1;
Label 1,2;
Const n=7;
Var I,j,k,c,r,m,g,p: integer;
Begin k:=1; c:=0; r:=1;
Writeln;
For i:=1 to (n div 2) +1 do begin
For j:=I to n-i+1 do begin
C:=c+1; a[r,c]:=k; k:=k+1; write(a[r,c], ‘ ’) end;
For m:=i+1 to n-i+1 do begin r:=r+1; a[r,c]:=k; k:=k+1 end;
For p:=n-I downto I do begin c:=c-1; a[r,c]:=k; k:=k+1 end;
For q:=n-i+1 downto i+2 do begin r:=r-1; a[r,c]:= k; k:=k+1 end; end;
Writeln; for i:=1 to n do begin writeln;
For j:=1 to n do write(a[I,j]-5); end; end.



  1. a,b,c натурал сандары берілген, олар келесі күнің күнін, айын және жылын белгілейтін сандар болатын программа жаз.

Program f23_ d1;
Label 1;
Var a,b,c,a1,b1,c1: integer;
D: array[1..12] of integer;
Begin writeln; write(‘күн, ай және жылын енгіз’); read(a,b,c);
D[1]:=31; if c mod 2 =0 then d[2]:=29 else d[2]:=28;
If(c mod 100=0) and (c mod 400 <>0) then d[2]:=28;
D[3]:=31; d[4]:=30; d[5]:=31; d[6]:=30; d[7]:=31; d[8]:=31;
d[9]:=30; d[10]:=31; d[11]:=30; d[12]:=31;
if (b=12) and (a=31) then begin a1:=1; b1:=1; c1:=c+1; goto 1 end;
if a=d[b] then begin a1:=1; b1:=b+1;c1:=c end else begin a1:=a+1; b1:=b; c1:=c end;
1: writeln; write(‘’, a1,’’,b1,’’,c1); end.



  1. Мұғалімдер күні жыл сайын қазан айның бірнші жексенбісінде аталып өтеді. Берілген n саны жыл нөмірін белгілейді. Көрсетілген жылдың мұғалімдер мерекесіне сәйкес келетін санын анықта.

Program f24_d1;
Label 1,2,3;
Var n,i,s,s1,d1,v,v1,d2,c : integer;
Begin writeln; write(‘ жылын енгіз’); read(n);
S:=1; for i:=1 to n-1 do begin
if (I mod 4)= 0 then v:=366 else v:=365;
if (I mod 100= 0) and (I mod 400 <>0) then v:=365 ;

s:=s+v;end; s1:=5*31+28+3*30;


if (n mod 4)= 0 then v1:=1 else v:=0;
if (n mod 100= 0) and (I mod 400 <>0) then v:=0;
s1:=s1+v1; s:=s+s1;d2:=s mod 7; c:=7-d2;
write(‘c,s1,d1,d2’,c,s1,d1,d2);
if c >7 then c:=c-7; write(‘f’,v); writeln; write(‘’);
End.


Program f24_d1;
Label 1,2,3;
Var i,a,b,c,s,s1: integer;
D: array[1..12] of integer;
Begin 1: writeln; write(‘күн, ай және жылын енгіз’); read(a,b,c);
D[1]:=31; if c mod 2 =0 then d[2]:=29 else d[2]:=28;
If(c mod 100=0) and (c mod 400 <>0) then d[2]:=28;
D[3]:=31; d[4]:=30; d[5]:=31; d[6]:=30; d[7]:=31; d[8]:=31;
d[9]:=30; d[10]:=31; d[11]:=30; d[12]:=31;
if (a>d[b]) or (b> 12) or (c<0) then begin write(‘’); goto 1 end;
if b=1 then begin s:=a-1; goto 2 end;
s:=0;s1:=0;for i:=1 to b-1 do s:=s+d[i]; s:=s+a-1;
2: if b=12 then begin s1:=31- a; goto 3 end;
For i:=b to 12 do s1:=s1+d[i]; s1:=s1-a;
3: write(‘’, s); write(‘’,s1)
End.





  1. Достарыңызбен бөлісу:
1   ...   55   56   57   58   59   60   61   62   ...   66




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет