Файл: Олимпиадаа дайындалуа арналан есептер жинаЫ 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егер хордалар қиылыспайды (сүйкелмейді).
Мысал
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, егер Х, бөлгіші саны тақ сан болады.
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). Жолдағы сандар пробелмен арқылы бөлінген.
Мәліметтерді шығару форматы
Шығыс файлға пробелмен бөлінген екі бүтін сан жазылу керек-ең үлкен мүмкін болған компьютердің саны және олардың барынша ең көп мүмкін болған жиынтық бағасы.
Мысал
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). Сандар аралары пробел арқылы бөлінген.
Мәліметтерді шығару форматы
Шығыс файлда бір бүтін сан жазылу керек- есептің жауабы.
Мысал
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 мөлшерлі спираль. Сандар аралары пробелмен бөлінген болу керек.
Мысал
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
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 (1
Мәліметтерді шығару форматы
Шығыс файлда аралары пробелмен бөлінген 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