Олимпиадаға дайындалуға арналған есептер жинағЫ №1 Екі санның қосындасын табу программасын құру керек



бет5/5
Дата17.07.2016
өлшемі0.66 Mb.
#205713
1   2   3   4   5

If B[I] < B[L] then


Begin C := B[I];

B[I] := B[L];

B[L] := C;

For J := 1 to N do

Begin

C := A[I ,J];



A[I,J] := A[L,J];

A[L,J] := C;

End;

End;


For I := 1 to N do

Begin


For J := 1 to N do

Write (A[I,J] : 4);

Writeln;

End;


End.
113 ຺àëà суретініњ программасын ќ±ру керек.

Program pr;

Uses crt, graph;

Var device, mode:integer;Begin Device:=0;

Initgraph ( device, mode’, c; \ pascal \ bgi’);

Set color (blue ); setbkcolor (11);

Rectangle (300, 30, 360, 80 ); {òiê ò¼ðòá½ðûø}

Circle (330, 120, 40 ); {øå»áåð(áàñû)}

Circle ( 345, 110, 5 ); { øå»áåð

Circle ( 315, 110, 5 ); ê¼çäåði}

Line (320, 140, 340, 140); {ò¾çó(àóçû)}

Line (330, 120, 330, 130 ); {ò¾çó(ì½ðíû) }

Line ( 330, 120, 305, 130);

Line ( 330, 130, 305, 130);

Circle ( 330, 220, 60 ); {øå»áåð2}

Circle (330, 360, 80 );

Rectangle ( 350, 163, 455, 183 ); { òiê ò¼ðòá½ðûø}

Rectangle ( 203, 163, 308, 183 ); {åêi ºîëû}

Line ( 210, 130, 210, 440 );

Readln;


Close graph;

End.
114

Осы жүйенің программасын паскаль тілінде жүргіз (үшін циклі арқылы).
Программасы:

Program ттт;

Var

y,a: real; x: integer



Begin read (a,x)

For a:=1 to 5 do

Begin If x>a then y:=x*exp(1/3*sqrt(x-a))

If x=a then y:=x*(sin(a*x));

If x
writeln (‘y:=’,y); End;

End.
115 Массивтің оң элементтерінің қосындысын тап:

Program massiv;

Const n=5;

Type m1=array [1…n] of real;

Var a:m1; k: integer; S: real;

begin

for k:=1 to n do



begin read (a[k]);

end;


S:=ø

for k:=1 to n do

if a[k]>0 then S:=S+a[k];

Write (S);

End.
116 Квадрат матрица берілген. (3;3) өлшемді. Матрица элементінің 2-ге тең элементтері нешеу екенін анықтау керек.
Program v;

Var a: array [1..3,1..3] of real;

i, j: integer; S: integer;

begin


for i:=1 to 3 do

for j:=1 to 3 do

read [i,j];

begin S:=0

for i:=1 to 3 do

for j:=1 to 3 do

if a[i, j]=2 then S:=S+1;

end;


Write (2-ге тең элементтер саны-‘S’);

End.
117 С массиві берілген. С массивінің 5-інің кіші элементтің санын және 5-ен үлкен элементтің қосындысын тап?


Program м;

Type m=array [1…10] of real;

Var c:m; k,i: integer; S: real;

begin


for i:=1 to 10 do

read (c[i]);

begin S:=0; k:=0;

if c[i]<5 then k:=k+1 else S:=S+c[i];

Write (‘k:=’k; ‘S:=’S); end;

End.
118 функцияның х1, х2, х3 үшін мәндерінің қосындысын тап?


Program мina;

Var x1, x1, x3, y1, y2, y3, p: real;

Procedure tabu (Var x: real; y: real);

begin y:=5*(sqr(x))+(x*x*x) end;

begin read (x1;x2;x3);

tabu (x1,y1); tabu (x2,y2); tabu (x3,y3);

p:=y1+y2+y3;

Write (‘p:=’p);

End.
119 функцияның мәндерін х1=5 х2=12 х3=6 болған жағдайда қосындысын тап?
Program н;

Var x1, x1, x3, y1, y2, y3, S: real;

Function man(var x: real; y: real)

begin F:=4*(sqr(x))+exp(3*x*ln(x));

end;

begin x1:=5, x2:=12, x3:=6



man(x1,y1); man(x2,y2); man(x3,y3);

S:=y1+y2+y3;

Write (‘S:=’S);

End.
120 Қабырғалары 6.5, 3.9, биіктігі 4.7 болатын трапецияның ауданын табу керек.


Program audan;

Var a, b, h, s: real;

Begin

a:=6.5; b:=3.9; h:=4.7;



s:=(a+b)*h/2; write(`s=`, s:5:2);

end.
121 х=31, у=26 үшін х+у мәнін экранға шығару программасын құру керек.

Program f; Uses crt

Var x, y, s: integer;

Begin clrscr;

Write(`x, y=?`); readln (x,y); writeln;

Write (`s=`, x+y); delay (5000)

End.
Программаның орындалуы экранда мынадай түрде көрінеді:



x,y=? 31 26 КҚ

S=57
Мұңдағы CLRSCR, DELAY (n) стандартты атаулар (clear screen-экранды тазалау, delay-кідіріс). Олар Турбо Паскальда пайдаланылатын экранды тазалау және экрандағы көріністі n милли секунд ұстап тұратын нұсқаулар (милли=1/1000сек).


122 Экранда мынадай бір шумақ өлең шығару қажет:

Өлең сөздің патшасы, сөз сарасы

Қиыннан қиыстырар ер данасы.

Тілге жеңіл, жүрекке жылы тиіп,

Теп-тегіс жұмыр келсін айналасы.

(Абай)
Program 3; uses crt;

Бір шумақ өлең

Begin clrscr;

Writeln(`Өлең сөздің патшасы, сөз сарасы `);

Writeln(`Қиыннан қиыстырар ер данасы.`)

Writeln(`Тілге жеңіл, жүрекке жылы тиіп,`)

Writeln(`Теп-тегіс жұмыр келсін айналасы.`)

Writeln; write (`Абай`); delay (5000)

End.
123

Program func

Var x,y: real;

Begin


Writeln (‘x,y-енгіз’);

ReadLn (x,y);

If x>=1 and x<=4 THEN

Y:=(sqr(x)-2*x-5)/Exp(x); Else

Y:=5*sin(x)+cos(y);

If x>=4 THEN y:=sqrt(sqr(y)+5)+Ln(x)/Ln(10)

Writeln (‘y=’, y:4:2)

Readln;


End.
124 n! ïðîãðàììàñûí º½ðó.
PROGRAM f(input,output);

VAR n,i,p:integer;

BEGIN read (n);

For i:=1 to n do

P:=P*i

WRITE (‘n!=’, P)



END.
125. Массасы 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
126. 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.
127. Массивтің элементтерінің 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.
128 Мына өрнекті есептеп программасын құр? 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.


129 Тиын ақшаны 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.
130 S1, V1 жылдамдықпен ағып жатқан өзеннен судың ағысына қатысты V2 жылдамдықпен қарсы жағаға қайықпен ағысқа перпендикуляр бағытта жүзіп өту үшін қанша уақыт кетеді? t=S/V өтуге кеткен уақыт формуласы.

10. Rem


20. Input S,V1,V2

30. S=80


40. If V1>V2 then 90

50. V=Sqr(V2^2-V1^2)

60. t=S/V

70. Print “t=”;t

80. Stop

90. Print “қайық қарсы жағаға өте алмайды”

100. End.
131 Жазық бетте жатқан денеге горизонталь бағытта күш әсер етеді. Осы күштің әсерінен t - секунтта дене қанша жол жүреді?

10. Rem


20. Input M, F, k, t

30. If F>9.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.
132 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 F>9.8*k*M then A=(F-9.8*k*M)/M

40. d=Sqr((4*v)/(p*L))

50. Print “d=”;d

60. End.
133 Ұжымдық мекемеде дипломы бар азаматқа жұмыс ұсыну процесі жүруде. Оған мамандарды ретімен қабылдайды. Программасын құр?

Program ds;

Var x, y, z, m: real;

Begin read(x, y, z);

If x>0 then writeln (‘m=’, жұмысқа қабылдау);

Else Writeln(‘y=’, жұмысқа қабылдамау);

If y>3.5 then writeln (‘m:=’, инженер конструктор);

Else Writeln(‘m :=’, ғылыми қызметкер);

If z>2 then writeln (‘m:=’, инженер қызметін ұсыну);

Else Writeln(‘m :=’, жұмысқа қабылдамау);

End.


134 Дан линейный массив целых чисел. Подсчитать, сколько в нем различных чисел.

{Подсчет количества различных чисел в линейном массиве.

ИДЕЯ РЕШЕНИЯ: заводим вспомогательный массив, элементами

которого являются логические величины (False - если элемент

уже встречался ранее, True - иначе)}

Program Razlichnye_Elementy;

Var I, N, K, Kol : Integer;

A : Array [1..50] Of Integer;

Lo : Array [1..50] Of Boolean;

Begin


Write('Введите количество элементов массива: '); ReadLn(N);

FOR I := 1 TO N DO

Begin

Write('A[', I, ']='); ReadLn (A[I]);



Lo[I] := True; {Заполняем вспомогательный массив значениями True}

End;


Kol := 0; {переменная, в которой будет храниться количество различных чисел}

FOR I := 1 TO N DO

IF Lo[I] THEN

Begin


Kol := Kol + 1;

FOR K := I TO N DO

{Во вспомогательный массив заносим значение False,

если число уже встречалось ранее или совпадает с текущим элементом A[I]}

Lo[K] := (A[K] <> A[I]) And Lo[K];

End;


WriteLn('Количество различных чисел: ', Kol)

END.


Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3. Ответ: 6.

135 Дан линейный массив. Упорядочить его элементы в порядке возрастания.

{Сортировка массива выбором (в порядке возрастания).

Идея решения: пусть часть массива (по K-й элемент включительно)

отсортирована. Нужно найти в неотсортированной части массива

минимальный элемент и поменять местами с (K+1)-м}

Program Sortirovka;

Var N, I, J, K, Pr : Integer; A : Array [1..30] Of Integer;

Begin

Write('Введите количество элементов: '); ReadLn(N);



For I := 1 To N Do

Begin


Write('Введите A[', I, '] '); Readln(A[I]);

End;


WriteLn;

For I := 1 To N - 1 Do

Begin

K := I;


For J := I + 1 To N Do If A[J] <= A[K] Then K := J;

Pr := A[I]; A[I] := A[K]; A[K] := Pr;

End;

For I := 1 To N Do Write(A[I], ' ');



End.

Тест: N = 10; элементы массива - 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.

Ответ: -1, -1, 0, 1, 2, 2, 2, 3, 3, 34.

136 Заполнить матрицу порядка n по следующему образцу:



1

2

3

...

n-2

n-1

n

2

1

2

...

n-3

n-2

n-1

3

2

1

...

n-4

n-3

n-2

...

...

...

...

...

...

...

n-1

n-2

n-3

...

2

1

2

n

n-1

n-2

...

3

2

1

Program Massiv12;

Var I, J, K, N : Integer; A : Array [1..10, 1..10] Of Integer;

Begin

Write('Введите порядок матрицы: '); ReadLn(N);



For I := 1 To N Do

For J := I To N Do

Begin

A[I, J] := J - I + 1; A[J, I] := A[I, J];



End;

For I := 1 To N Do

Begin

WriteLn;


For J := 1 To N Do Write(A[I, J]:4);

End


End.

137 Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.

Program Obmen;

Var N, I, J, Max,Ind, Vsp : Integer;A : Array [1..15, 1..15] Of Integer;

Begin

WRITE('Введите количество элементов в массиве: '); READLN(N);



FOR I := 1 TO N DO

FOR J := 1 TO N DO

Begin

WRITE('A[', I, ',', J, '] '); READLN(A[I, J])



End;

FOR I := 1 TO N DO

Begin

Max := A[I, 1]; Ind := 1;



FOR J := 2 TO N DO

IF A[I, J] > Max THEN

Begin

Max := A[I, J]; Ind := J



End;

Vsp := A[I, I]; A[I, I] := A[I, Ind]; A[I, Ind] := Vsp

End;

FOR I := 1 TO N DO



Begin

WriteLn;


FOR J := 1 TO N Do Write(A[I, J] : 3);

End; WriteLn

End.

138 Вычислите




  1. Program Primer1;

V
While <шарт> do

begin


<циклдің денесі>;

end;
ar n:integer; S:real;

Begin

n:=1; S:=0;



While n<=10 do

begin


S:=S+sqr(n);

n:=n+1;


end;

Writeln(‘S=’,S:5:0)

End.

139 Program Primer1;

Var n:integer; S:real;

B
Repeat



<циклдің денесі >;

Until <шарт>;


egin

n:=1; S:=0;

Repeat do

S:=S+sqr(n);

n:=n+1;

Until n>=10;



Writeln(‘S=’,S:5:0)

End.


140 Program Primer1;

V
For X:=M1 to (downto) M2 do

begin

S1; S2; …; Sn



end;

ar n:integer; S:real;

Begin

S:=0;


For n:=1 to 10 do

S:=S+sqr(n);

Writeln(‘S=’,S:5:0)

End.


141 Вычислить значение у


х, х<0

x2, x 0


У={

Prоgram Primer2;

Var x,y: real;

Begin


Writeln (‘x=?’);

Readln (x);

If x<=0 then y:=x else y:=sqr(x);

Writeln (‘y=’, y);

End.
142 Оределить максимальное из трех чисел,

Program Max;

Var a, b, c, max: integer;

Begin


Writeln(‘введите три числа’);

Readln(a,b,c);

If a>b then max:=a else max:=b;

If c>b then max:=c;

Writeln(‘большее из трех чисел=’,max);

End.


143 определить четность-нечетность чисел,
Prigram Primer3;

Var y: byte;

Begin

Writeln (‘введите число’);



Readln (y);

Case y of

0, 2, 4, 6, 8: Write();

1, 3, 5, 7, 9: Write();

end;

End.
144 A(10) caндық массиві берілген. Қатар тұрған элементтердің көбейтінділерінің қосындысын есептеу керек.


Program massib;

Const N=10;

Var A:array[1..10] of integer;

i:integer; S:real;

Begin

Writeln ('berilgenderdi engiz');



for i:=1 to 10 do begin

write ('A[',i,']=');

Read (A[i]);

end;


begin S:=0;

for i:=1 to 10 do

S:=S+A[i]*A[i+1];

Writeln ('S=',S:6:3);

end;

end.


145 А(10) сандық массивінің 0-дік емес элементтерінің көбейтіндісін есептеу керек.
Program togzhan_1;

const N=10;

var A:array[1..n] of real;

S:real;K:integer;

begin

for k:=1 to N do



begin

write('A[',K,']=');

read(A[k]);

end;


begin S:=1;

for k:=1 to N do

if (k<>0) then

S:=S*A[k];

writeln('S=',S);

end;


end.
146 .Символдар қатарында қанша бос орын бар екенін анықтау программасын құру керек.
program togzhan_1;

var a:string [10];

k,n:integer;

begin n:=0;

writeln('text engiz');

readln(a);

for k:=1 to length(a) do

begin


if a[k]=' 'then n:=n+1; end;

writeln('n=',n);

end.

147 Кітапханаға түскен кітаптар жайлы мәліметтер берілген: Автордың аты-жөні, баспахана аты, шыққан жылы, кітапханаға кітаптардың түскен мерзімі. Соңғы бес жылда кітапханаға «Мир» баспаханасынан түскен кітаптар жайлы мәліметті шығару керек.


Program Aijan;

type Dosye=record

A:string[28];

B:string[10];

C:integer;

D:integer;

end;

Var X:array[1..10] of Dosye;



K,N:Byte; G:char;

begin


For K:=1 to 3 do with X[K] do begin

writeln('FIO'); Readln(A);

Writeln('baspahana'); Readln(B);

Writeln('jyl'); Readln(C);

Writeln('tusken merzim'); Readln(D);

end; Writeln;

write('baspahana ati:'); Readln(G);

N:=0;


Writeln('osi baspahananin kitaptari:');

For K:=1 to 3 do with X[K] do begin

If B=G then writeln(A:28,C,D);

end;


readln;

end.
A.D.Masanov, Atamura, 1991, 1995

J.Dinislamov, Mir, 2004, 2005

B.Boribaev, Rauan, 1993, 1996

Нәтижесі

J.Dinislamov, Mir, 2004, 2005


148 1. Прцедура мен функцияны пайдалану арқылы төмендегі тапсырмаға бағдарлама құру керек.


Z=7(3x+4y-1)5(3x+4y-1)-2sinx+10
Program AIJAN;

Var x,y,z:real;

Function fn(t,P:real):real;

begin


fn:=3*t+4*P-1;

end;


begin

writeln('x,y');

readln(x,y);

z:=7*fn(x,y)+5/fn(x,y)-2*sin(x)+10;

writeln('z=',z:4:2);

end.
X1=52 Y1=65 Z1=2913.04

X2=-81 Y2=20 Z2=-1139.29

X3=63 Y3=23 Z3=1969.68


149 Символдар қатары берілген. Қатардағы мына әріптердің ену санын табу программасын құру керек.
Program Aijan_1;

Var d:string [20];

k,P:integer;

begin P:=0;

writeln ('Text engiz');

readln (d);

For k:=1 to length (d) do

begin


P:=pos('abc',d);

if P<>0 then P:=P+1;

writeln('P=', P);

readln;


end;

end.
Abcervatoria P=1

150 Символдар қатарында «+» және «*» символдары қанша рет кездесетінін анықтау программасын құру керек.
Program Aijan_2;

Var d:string [10];

k,n:integer;

begin n:=0;

writeln('Text engiz');

readln(d);

For k:=1 to length (d) do

begin


If (d[k]='+') or (d[k]='*') then n:=n+1;

end;


writeln ('+,* sany-',n);

readln;


end.
12+78+5*8*79=3250

+,* sany-2

151 (Егер массив элементтерінің соңғы элементі 1-ге тең болған жағдайда сол қатардың арифметикалық ортасын есепте)
program S2_Z1;
type m=array[1..100,1..100] of integer;
var A:m;procedure vvod(m,n:integer;var x:m);
var i,j: integer;
begin writeln('введите элементы массива');
for i:=1 to m do
for j:=1 to n do
read(x[i,j]);
end;procedure arf(m,n:integer;var x:m);
var i,j,s:integer;sr:real;
begin
for i:=1 to m do begin s:=0; sr:=0;
if x[i,n]=1 then begin
for j:=1 to n do
s:=s+x[i,j]; sr:=s/n;
writeln ('среднее арифметическое ',i,' строки равно ',sr:5:2); end; end;
end;begin
vvod(3,3,A);
arf(3,3,A);
end.

152 (егер массив бағанындағы элементтер арасында С дан үлкен элемент болатын болса, сол элементке 1 санын тағайында немесе 0 санын тағайында. С-дан үлкен элементтердің санын анықта.) Программа:


program S2_Z2;
type m=array[1..100,1..100] of integer; mas=array[1..100] of integer;
var A:m;procedure vvod(m,n:integer;var x:m);
var i,j: integer;
begin writeln('введите элементы массива');
for i:=1 to m do
for j:=1 to n do
read(x[i,j]);
end;procedure moped(m,n:integer;var y:m);
var i,j,c,k:integer; X:mas;
begin k:=0; writeln('введите величину С='); readln(c);
for j:=1 to n do x[j]:=0;
for j:=1 to n do
for i:=1 to m do
if y[i,j]>c then begin X[j]:=1; k:=k+1; end;
writeln('элементы массива Х:');
for j:=1 to n do write(X[j],' ');
writeln;
writeln('число элементов матрици превышающих число ',c,' равно ',k)
end;begin
vvod(2,5,A);moped(2,5,A);readln;
end.

153. Условие: Дан массив A(5,5). Изменить часть матрицы, находящуюся под главной диагональю следующим образом: если элемент A[i,j] этой части матрицы больше элемента A[j,i], то задать элементу A[i,j] новое значение, равное полу сумме двух этих элементов.


program S2_Z3;
type m=array[1..100,1..100] of real;
var A:m;procedure vvod(m,n:integer;var x:m);
var i,j: integer;
begin
writeln('введите элементы массива');
for i:=1 to m do
for j:=1 to n do
read(x[i,j]);
end;procedure mat(m,n:integer;var x:m);
var i,j: integer; t:real;
begin
writeln('изменённый матрица A[i,j] будет выглядеть так');
for i:=1 to m do
for j:=1 to n do
if i>j then if x[i,j] > x[j,i] then x[i,j]:=(x[i,j]+x[j,i])/2;
for i:=1 to m do
for j:=1 to n do
write( A[i,j]:2:1,' ');
end;begin
vvod(5,5,A);
mat(5,5,A);
end.


1






Достарыңызбен бөлісу:
1   2   3   4   5




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

    Басты бет