Автор: Пользователь скрыл имя, 22 Ноября 2011 в 18:33, контрольная работа
Операторлар-программадағы нұсқаулардың (бұйрықтар,алгоритмдер) машиналық тілде жазылуы. Яғни берілген есепті шешу мақсатында орындалатын іс-әрекеттердің машинаға түсінікті түрде жазылуы. Сонда, программа денесі бірінен кейін бірі жазылған операторлар тізбегінен тұрады. Операторлар арасына нүктелі үтір (;) белгісі қойылады.
Кіріспе
Паскаль тілінің негізгі түсініктері ..............................2
1.1 Турбо паскаль тілінің операторлары .........................3
Негізгі бөлім
1.2 Циклдік құрылымды алгоритмді программалау ............4
1.3 Алғы шартты цикл операторы. While операторы ..........4
1.4 Келесі шарт бойынша циклді ұйымдастыру.
Repeat операторы...................................................................6
1.5 Параметрлі қайталану операторы. For операторы.........7
1.6 Күрделі циклдер....................................................................10
1.7 ЭЕМ-де есеп шығару кезеңдері.
Қадам бойынша орындау әдісі.............................................10
1.8 Мысал есептер........................................................................10
Қорытынды
1.9 Қайталау (цикл)......................................................................17
Әдебиеттер тізімі...........................................................................20
If (P MOD I=0) And (M MOD I=0) Then F:=TRUE;
If F then writeln (P,’,’,M,’ өзара жай сандар емес’)
Else writeln (P,’,’,M,’өзара жай сандар’);
End.
Есепті шешу алгоритмі:
1. Программа
денесін айнымалыларды
2. Р,М натурал сан енгіземін;
3.Параметрі
І циклде 2-ден бастап ең кіші
санға дейінгі сандарды
Айнымалылдар:
Р,М –зерттелетін сан;
І-цикл айнымалысы;
Ғ-көмекші айнымалы;
К-Р,М сандарының кішісі.
4-есеп. А және М натурал сандары берілген. Олардың үлкен ортақ бөлгішін табу керек.
Program pr4;
Var I,M,A,K,D: integer;
Begin
Repeat
Write(‘A=’);
Readln(A);
Write(‘M=’);
Readln(M);
Until (A>0) And (M>0);
If A>M then K:=M else K:=A;
For I:=1 to K do
If (A MOD I=0) And (M MOD I=0) then D:=1;
Writeln (‘A,M сандарының ең үлкен ортақ бөлгіші=’,D);
End.
Есепті шешу алгоритімі:
1. Программа
денесін айнымалыларды
2. А, М натурал сан енгіземін;
3. Параметрі
І циклде 1-ден бастап ең кіші
санға дейін сандарды
4. Осы бөлгішті D айнымалысында сақтаймын;
Айнымалылар:
А,М- зерттелетін сан;
І-цикл айнымалысы;
D-ең үлкен ортақ бөлгіш;
К- А,М сандарының кішісі.
5-есеп. S және В натурал сандары берілген. Олардың ең кіші еселігін табу керек.
Program pr5;
Var I,K,S,B,D:integer;
Begin
Repeat
Write(‘S=’);
Readln(S);
Write(‘B=’);
Readln(B);
Until(S >0) and (B>0);
If S>B then K:=S else K:=B;
For I:=1 to K do
If (S MOD I=0) And (B MOD I=0) then D:=1;
EKOE:=D*(S DIV D)*(B DIV D);
Writeln (‘S,B сандарының ең кіші ортақ еселігін‘);
Writeln (‘EKOE=’, EKOE);
End.
Есепті шешу алгоритмі:
1. Программа
денесін айнымалыларды
2. S, В натурал сан енгіземін;
3. Параметрі
І циклде 1-ден бастап ең кіші
санға дейін сандарды
4. Осы бөлгішті D айнымалысында сақтаймын;
5. EKOE:=D*(S DIV D)*(B DIV D);екендігін ескеріп нәтижені шығарамын.
Айнымалылар:
S,B-зерттелетін сан;
I-цикл айнымалысы;
D-ең үлкен ортақ бөлгіш;
EKOE-ең кіші ортақ еселік
K-S,B сандарының кішісі.
6-есеп. Мына қатардың алғашқы С мүшесінің қосындысын табу керек.
Program pr6;
Var X,Y,Z: Real; I,N:integer;
Begin
Write(‘X-тің мәнін енгіз=’);
Readln (X);
Write (‘N-нің мәнін енгіз=’);
Readln(N);
Y:=1; Z:=1;
For I:=1 to N-1 do
Begin
Z:=Z*X;
Y:=Y+Z/(I+1) ;
End ;
Writeln(‘Y=’,Y) ;
End.
Есепті шешу алгоритмі:
1. Программа
денесін айнымалыларды
2. Қатардың мүшелерінің санын N және Х айнымалыны енгіземін;
3. Циклде
қатардың келесі санын
Айнымалылар:
N-қатардың мүшелерінің саны
X-қатардың айнымалысы
D-ең үлкен ортақ бөлгіш
EKOE-ең кіші ортақ еселік
K-М,N сандарының кішісі
Z-қосымша айнымалы
I-цикл айнымалысы
Y-қатардың қосындысы.
7-есеп. Соңы 0 болатын сандар тізбегін енгізу керек. Осы тізбекте ең болмағандва қатар орналасқан екі бірдей санның бар екендігін анықтау керек.
Program pr7;
Var L,W: Real; F:Boolean;
Begin
Write(‘сан енгіз=’);
Readln (L);
Write(‘сан енгіз=’);
Readln (W);
F:=False;
Repeat
It W=L then F:=True;
L:=W;
Writeln(‘сан енгіз=’);
Readln (W);
Until W=0;
If F then writeln (‘тізбекте қатар орналасқан тең сандар бар’);
Else writeln (‘тізбекте қатар орналасқан тең сандар жоқ’);
End.
Есепті шешу алгоритмі:
1. Программа
денесін айнымалыларды
2. Алғашқы екі санды L және W енгіземін және F-нің алғашқы мәнін беремін;
3. Циклде осы екі санда тексеремін, егер олар тең болса F-ті анықтаймын;
4. L:=W мәнін қайта меншіктеймін жәнк W-дің және мәнін енгіземін;
Айнымалылар:
L-алдыңғы сан
W-қарастырылып отырған сан
F-қосымша айнымалы
8-есеп. Билеттің кезегінде ерлер және әйелдер тұр. Басынан бастап алғашқы әйелге дейін тұрған ер адамның санын анықтау керек.
Program pr8;
Var POL: STRING; I,K,N: integer;
Begin
repeat
Write(‘тізбектің ұзындығын енгіз N=’);
Readln(N);
Until N>0;
K:=0;
For I:=1 to N do
Begin
Writeln(‘жынысын енгіз’);
Readln(POL);
If POL=’MAN’ then K:=K+1
Else Break
End;
If K=0 then writeln (‘кезектің алдында ерлер жоқ’)
Else (‘кезектің алдында ерлер саны =’,K);
End.
1. Программа
денесін айнымалыларды
2. Тізбектің
ұзындығын енгіземін және
3. Циклде адамның жынысын енгіземін;
4. Егер ер адам болса К-ның мәнін бірге арттырамын;
5.Әйтпесе циклді Break операторы арқылы тоқтатамын;
6.К-ның
мәніне байланысты нәтижені
Айнымалылар:
K-санау саны
I-цикл айнымалысы
N-кезекті адамдардың саны
F-қосымша айнымалы
Pol-адам
жынысы.
9-есеп. 5х-3у=1 Диафонтова теңдеуі арқылы бүтін сандардың жиынын табу керек. Бастапқы тексеруде алдымен бірлік теңдіктері алынады. Одан әрі, егер де 5х-3у>1 болса, онда 1-ге артады, егер 5х-3у>1болса, онда 1-ден х-қа артады.
Program pr9;
Var x,y: byte;
Begin
x :=1; y :=1;
repeat
if (5*x-3*y)>1 then y:=y+1;
if (5*x-3*y)<1 then x:=x+1 until (5*x-3*y)=1;
writeln(‘x=’,x, ‘y=’,y) ;
end.
Нәтижесінде: х=2y=3.
10-есеп. Логикалық ұғым бар: not a and b xor c. a,b,c логикалық ұғымдарын ақиқат мәнінде экранға шығару керек. Мен а,b,c мәндерін жұп сандармен сипаттап шығаруды ұсынамын.
Program pr10;
Var a,b,c: Boolean;
Begin
For a:=false to true do
For b:=false to true do
For c:=false to true do
If not a and b xor c then;
Begin
Write(‘a=’,a);
Write(‘b=’,b);
Write(‘c=’,c);
End;
End.
Нәтижесінде:
a=False
b= False
c=True
а= False
b= True
c= False
а= True
b= False
c= True
а= True
b= True
c= True
Программа
екі күрделі оператордан
1.9 Қайталау (цикл)
Кейбір жағдайларда нәтижеге жету барысында, белгілі бір әрекет бірнеше рет қайталанып орындалуы мүмкін. Шегені қағу үшін оны балғамен бірнеше рет ұру керек. Бір сынып бөлмесінен, келесі сынып бөлмесіне бару үшін бірнеше қадам жасау керек.
Цикл: Белгілі бір А әрекетін жүзеге асыру үшін, N рет А1 әрекетін орындау керек.
Графикалық блок-схемасын
Мұндағы N саны, негізгі А әрекетін орындау үшін, А1 әрекетінің орындалу санын көрсетеді. Егер бұл сан белгілі болса, онда біз қайталану саны белгілі цикл түрімен жұмыс атқарамыз. Жалпы циклдік әрекеттерді олардың түріне қарай негізгі үш түрге бөлнді.