Файл: Олимпиадаа дайындалуа арналан есептер жинаЫ 1 Екі санны осындасын табу программасын ру керек.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 80

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
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 iteger

Dim i As iteger

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 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.

63 Жазық бетте жатқан денеге горизонталь бағытта күш әсер етеді. Осы күштің әсерінен 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.

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 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.

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

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.
66 Шеңбер

Енгізу файлының аты: А.in

Шығару файылының аты: А. Out

Есептің жауабы файылының аты: A. pas

Уақыт шектеу: 2 секунд

Жадыға шектеу: 64 мегабайт
Шеңберде бірдей қашықтықта N нүктелер белгіленген, олар қарсы сағаттық тілдің бүтін сандармен 1-ден N-ға нөмірленген. Сіздерге осы шеңбердің бірнеше қос хордалар берілген, хорданың ұштары сол нүктелер болады. Әрбір хордалар үшін анықтаңыздар, олар қиылып кетеді ме, немесе қиылымайды (сүйкелмейген хордалар қиылған деп саналады).
Мәліметтерді енгізу форматы

Кіріс файлдың бірінші жолында екі бүтін сан тұрады: N және К (1 <=N <=109, 1<=K<=100). Келесі К жолда 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<=n-q)then begin

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 (15) жазылған. Келесі жолда N бүтін сан Хі(1<=Xi<=1018) жазылған. Бір жолдағы сандар аралары пробелмен бөлінген.
Мәліметтерді шығару форматы

Шығыс файлда аралары пробелмен бөлінген N сан жазылу керек: i- ші сан 0 деп жазылады, егер Х, бөлгіші саны жұп сан болады, немесе 1, егер Х, бөлгіші саны тақ сан болады.


B. in

B. out

2

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, M<=1000). Екінші жолда N бүтін сан тұрады: і-ші жолдағы сан Аі. Үшінші жолда М бүтін сан тұрады: j-ші жолдағы сан Вj(1<=Aj, Bj<=1000). Жолдағы сандар пробелмен арқылы бөлінген.
Мәліметтерді шығару форматы

Шығыс файлға пробелмен бөлінген екі бүтін сан жазылу керек-ең үлкен мүмкін болған компьютердің саны және олардың барынша ең көп мүмкін болған жиынтық бағасы.

Мысал

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(n>m)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<=N<=100000, 1<=B<=A<=N). Сандар аралары пробел арқылы бөлінген.
Мәліметтерді шығару форматы

Шығыс файлда бір бүтін сан жазылу керек- есептің жауабы.
Мысал

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.
70 Серіппе

Енгізу файлының аты: E.in

Шығару файылының аты: E. Out

Есептің жауабы файылының аты: E. pas

Уақыт шектеу: 2 секунд

Жадыға шектеу: 64 мегабайт

N мөлшерлі серіппе- натуральды сандарлардың NxN мөлшерімен кестесі, кесте орталығында әрқашан 1 тұрады, одан оң жақтан 2, серіппе қарсы сағаттық тілдің бұралып қалып жатыр. N мөлшерлі серіппесін шығарыңыздар.

Мәліметтерді енгізу форматы

Кіріс файлдың жекеше жолында бір бүтін сан жазылған- N(1,=N<100, N-тақ сан).

Мәліметтерді шығару форматы

Шығыс файылдың N жолда N бүтін саны жазу керек- N мөлшерлі спираль. Сандар аралары пробелмен бөлінген болу керек.
Мысал

E.in

E. out

1

1

3

5 4 3

6 1 2

7 8 9

5

17 16 15 14 13

18 5 4 3 12

19 6 1 2 11

20 7 8 9 10

21 22 23 24 25


uses crt;

var w,q,o,i,j,k,l,m,n:longint;

a:array[1..100,1..100]of longint;

b:array[1..100,1..100]of boolean;

procedure aaa(l:longint);

begin

if(n>0)then begin

inc(m);
if(m=1)then begin

for i:=1 to n do begin

if(b[l,i]=false)then begin

b[l,i]:=true;

a[l,i]:=o;

dec(o);

end;

end;

aaa(n);

end else

if(m=2)then begin

for i:=1 to n do

begin

if(b[i,l]=false)then begin

b[i,l]:=true;

a[i,l]:=o;dec(o);

end;

end;

aaa(n);

end else

if(m=3)then begin

for i:=n downto 1 do

if(b[l,i]=false)then begin

a[l,i]:=o;dec(o);

b[l,i]:=true;

end;

inc(w);

aaa(w);

end else

if(m=4)then

begin

for i:=n downto 1 do

if(b[i,l]=false)then begin

b[i,l]:=true;a[i,l]:=o;dec(o);

end;

m:=0;

if(m=0)then begin inc(k);dec(n);end;

aaa(k);

end;

end;end;

begin

assign(input,'e.in');reset(input);

assign(output,'e.out');rewrite(output);

w:=0;

readln(n);q:=n;k:=1;

m:=0;o:=sqr(n);

fillchar(a,sizeof(a),0);

fillchar(b,sizeof(b),false);

aaa(1);

for i:=q downto 1 do

begin for j:=q downto 1 do write(a[i,j],' ');writeln;end;

close(input);close(output);

end.
71 Дәрежесі

Енгізу файлының аты: F.in

Шығару файылының аты: F. Out

Есептің жауабы файылының аты:F. pas

Уақыт шектеу: 2 секунд

Жадыға шектеу: 64 мегабайт

Сіздерге А,В және С бүтін сандары берілген. АВ(А-нің В дәрежесі) С-ға бөлуінің қалдығы шығарыңыздар. Назарды ықылас білдіріңіздер:

(Х-Y) mod Z=((X mod Z)* (Y mod Z)) mod Z

(Х-Y) mod Z=((X mod Z)+ (Y mod Z)) mod Z
1   2   3   4   5   6   7