Агробизнес
колледжі
Тақырыбы:
Программалау тілінің шартты
операторлары
Өткізген:
Мамашев Ж.С.
информатика мұғалімі
2015-2016
оқу жылы
топ 21 АЖ
күні 25.02.2016 ж.
Пән: «Алгоритмдеу және бағдарламалау негіздері»
Сабақ
тақырыбы: Программалау тілінің шартты
операторлары
Сабақтың мақсаты:
1. Білімділік: Паскаль
тілінің шартты операторларын үйрету арқылы есептер шығаруға дағдыландыру. Белгілі
бір әрекеттер тізбегі бірнеше рет қайталанатын болса, онда циклдік
алгоритмдерді қолдананып, есептерді шешу керектігін оқушыларға түсіндіру.
2. Тәрбиелік:
Оқушыларды білім мен біліктілікке тәрбиелеу. Оқушылар техникалық қауіпсіздік
ережесін сақтай отырып еңбекке баулу.
3. Дамытушылық. Оқушылардың Паскаль
программалау тілінде есеп шығару мүмкіндіктерін, логикалық ойлау қабілеттерін
дамыту;
Сабақ
түрі: құрастырылған
Эпиграф
«Сенбе ешкімге тұрсада қанша мақтап,
Әуре етеді ішіне қулық сақтап.
Өзіңе сен өзіңді алып шығар,
Білімің мен ақылың екі жақтап!»
Абай
Сабақ барысы:
І. Ұйымдастыру кезеңі.
1) оқушыларды журнал бойынша тексеру
2) сабаққа дайындықтарын тексеру
3) оқытушының кіріспе сөзі
ІІ. Өткен сабақты қайталау.
1. Фронтальды
сұрау - «Программалау тілінің операторлары» тақырыбы бойынша.
1. Паскаль
программалау тілін кім өндеген?
2. Енгізу
операторы қалай аталады?
3. Шығару
операторы қалай аталады?
4. Алгоритмнің
графикалық түрде бейнеленуін ата?
5. Меншіктеу
операторы қалай белгіленеді?
6. DIV
көмекші сөзі нені білдіреді? Мысал келтір.
7. MOD
көмекші сөзі нені білдіреді? Мысал келтір.
2. Үй
жұмысына берілген есептерді тексеру
- Қатесін тап
- Сәйкесін тап
a)
Қатесін
тап
1)PROGRAM M_1;
WRITE(‘A,B
ЕҢГІЗІҢІЗ
’);
VAR
A,B:INTEGER; C,S,P:REAL;
BEGIN
READ(A,B);
WRITELN(‘АУДАНЫ S=‘,S);
WRITELN(‘ПЕРИМЕТРІ R=‘,P)
C:=SQRT(SQR(A)+SQR(B));
P:=A+B+C;
S:=(A+B)/2;
END.
2)
PROGRAM
M_1;
VAR
A,B:REAL;
S:=SQR(A)+SQR(B)/A*B+SQRT(A+B)
BEGIN
WRITE(‘A,B
ЕҢГІЗІҢІЗ
’);
WRITE(S);
READ(A,B);
END.
3)
PROGRAM
A_5;
BEGIN
VAR
A,B,C:INTEGER;
WRITE(‘A,B,C
ЕҢГІЗІҢІЗ
’);
S:=SQRT(A)+SQR(B)/SQR(B)-SQRT(C)
READ(A,B,C);
WRITE(S);
END.
READ(A,B,C);
S:=SQR(A)+SQR(C)/A+B+C
WRITELN(‘S=‘,S);
END.
б)Сәйкесін
тап
в)
1.
|
Бүтін
сан
|
|
2.
|
Нақты
тип
|
|
3.
|
Символды
|
|
4.
|
Логикалық
|
|
5.
|
Pred
|
|
6.
|
Round
|
|
7.
|
Read
|
|
8.
|
Writeln
|
|
Б) Паскаль тілінен
математикалық тілге және керісінше ауыстыр
1)y=sin2x-cosx
1)
y=6x2+3x-1
2)y=e7xsinx+1/2
2) a=|b|-2c
3)z=1+x/(2sinx-1)
3) d=(5a-b2+c)/3
4) a=abc(sqr(x))+sqrt(2x)
5) y=sqrt(x)+abc(5x+sqr(z))
6) c=sqr(sqrt(x))+abc(9y)
7) x=sqrt(y)+abc( z2 )
8)
a= x2 sqrt(abc(y4 +5))
9) y=abc(5 x3)+ x2
sqrt(z)
ІІІ
Жаңа білім беру:
Паскаль тілінің
параметрлі – FOR, шартты алдын ала тексеретін қайталау операторы - WHILE,
шартты соңынан тексеретін қайталау операторы - REPEAT.
Көп
жағдайда аргументтердің әртүрлі мәні бойынша алгоритмнің белгілі бір бөліктерін
бірнеше рет қайталауға тура келеді. Осындай процестерді ұйымдастыру үшін
циклдық құрылымды алгоритмдер – қайталау операторлары қолданылады.
Цикл
деп программадағы қайталанатын әрекетті айтады. Паскаль тілінде қайталау
процесін жүзеге асыратын циклдік операторлардың үш түрі бар: арифметикалық
цикл – FOR, шартын алдын ала тексеретін цикл – WHILE , шартты соңынан
тексеретін цикл – REPEAT операторлары.
WHILE
операторы. Алдын ала берілген шарт бойынша қайталуды жүзеге асыратын бұл
оператор WHILE (оқылуы: уаил, аударылуы: әзірше) және DO (оқылуы: ду, орындау
болып аударылады) түйінді сөздері қолданылып аударылады.
Цикл
қайталанар алдында, логикалық өрнектің мәні тексеріледі. Егер True (ақиқат)
болса, онда цикл денесі қайталанып орындалып отырады. Керісінше False
(жалған) болса, циклдің орындалуы аяқталып, WHILE операторынан кейінгі жолдар
орындалады.
Егер,
ең басында өрнектің мәні False (жалған) болса, онда цикл бір ретте
орындалмайды.
Мысалы:
y = 3x+1, мұндағы х, -1 мен 2 аралығындағы сандарды қабылдайды, қадамы 0,5
тең.
Program
eseptey;
Var
x, y : real ;
Begin
X:=-1;
While
x<=2 Do
Begin
Y:=3*x+1
Writeln
(‘ x=’,x , ‘ ‘ , ‘y=’ , y) ;
X:
= x+0.5;
End;
End.
2) 0 ден 10 ға дейінгі санды
2-ге арттырып тізбек түрінде экранға шығару программасы
Program
Pr2;
Var
k:integer;
Begin
K:=0;
While(k<=10)
do
Begin
K:=k+2;
Write
(k);
End;
End.
3) 0 ден 25 ке дейінгі сандарды 6-ға арттырып тізбек түрінде экранға
шығару программасы
Program
Pr3;
Var
k:integer;
Begin
K:=0;
While(k<=25) do
Begin
K:=k+6;
Write
(k);
End;
End.
Паскаль тілінің
шартты соңынан тексеретін қайталау операторы – REPEAT.
REPERAT
қайталау (цикл) операторы While операторына ұқсас, айырмашылығы
– қайталану шартs цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет
орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда
қайталанып, ол ақиқат болған кезде циклді орындау доғарылады (While
операторында керісінше болған).
Бұл оператор REPERAT (оқылуы: рипит,
қайталау болып аударылады) және Until (оқылуы: антил, дейін шейін болып
аударылады) түйінді сөздерді пайдаланып орындалады.
Жазылу үлгісі
REPEAT
;
;
;
;
;
Мұндағы: REPERAT(қайталау) және (дейін) –қызметші сөздер;
- логикалық типті өрнек;
Орындалу тәртібі
1. Алдымен
REPEAT сөзінен кейінгі операторлар тізбегі орындалады;
2. сөзінен кейінгі шарт тексеріледі;
3. Егер,
өрнектің мәні False (жалған) болса, онда цикл қайталанады, True (ақиқат) онда
цикл аяқталады.
Begin ….. End операторлық
жақшаларды қолданбасада болады, себебі мұнда операторлар REPERAT аралығында жазылып сол жақшалардың
функциясын орындап тұр.
Мысалы: y= 3х+1, мұндағы х – 1 мен 2
аралығындағы сандарды қабылдайды, қадамы 0,5 тең.
program
eseptey;
var
x,y: real;
begin
x:=-1;
repeat
y:=3*x+1;
writeln
('y=',y);
x:=x+0.5;
Until
x>2
end.
Мысалдар:
1)
Спортшы 1 күні 1 км
жүгірді, күніне 200м қосып отырды. 5 күні барлығы қанша қашықтықта жүгірді .
Y=x+1 h=0,5
Program
Pr4;
Var
x,y:real;
Begin
X:=1;
Repeat
Y:=x+1;
Write(y);
X:=x+0,2;
Until
x:=5;
End.
Паскаль
тілінің параметрлі қайталау операторы - FOR
FOR
операторы.
Егер алгоритмде қайталану саны алдын ала белгілі болған жағдайда FOR операторы
қолданылады. Бұл оператор параметрлі цикл операторы деп те аталады.
Жазылу
үлгісі
FOR
<цикл параметрі>:=n1TO n2 DO
<
цикл денесі>
FOR
<цикл параметрі>:=n2 DOWNTO n1 do
<цикл
денесі>;
Мұндағы
FOR (үшін), DO (орындау), TO (дейін)- қызметші сөздер;
<Цикл
параметрі> –циклді басқару айнымалысы, Integer типті (немесе кез келген
реттелген тип). n1,n2- цикл параметрінің бастапқы және соңғы мәндері, (типі
циклді басқару айнымалысымен сәйкес). (кері арай DOWN төмен TO дейін). Егер
қадам +1-ге тең болса, онда операорда ТО , ал қадам -1 –ге тең болса, онда
DOWNTO сөзі қолданылады.
FOR
операторының орындалу тәртібі
Ең
алдымен бастапқы мән есептеліп цикл параметріне меншіктеледі. Содан кейін
мына әрекеттер қайталанады:
1.
<цикл
параметрі><=n2- шарт
тексеріледі, егер шарт орындалса, онда:
2.
–цикл
денесіндегі операторлар орындалады;
3.
–цикл
параметріне 1 қосылып, 1-ші пунктқа оралады;
(DOWNTO
болса, < цикл пароаметрі >>=n2 тексеріліп, цикл параметрі -1-ге
өзгеріп отырады) ;
4.
Егер
шарт орындалмаса, онда FOR операторы
жұмысын аяқтайды;
a)
Басқарушы
айнымалы мәндерінің өзгеру диапозонын және цикл ішіндегі оператордың қайталану
санын;
b)
Айнымалы
мәндерінің өзгеру бағытын;
c)
әрбір
қайталану сайын орындалатын іс-әрекеттерді.
Мысалы:
1-ден 100 –ге дейінгі сандардың қосындысын табу керек.
program
kosindi;
var
i,s:integer;
begin
s:=0;
FOR
i:= 1 to 100 do
s:=s+1;
writeln
('s=',s);
end.
ELSE – әйтпесе -
тогда
TRUE
– ақиқат - правда
FALSE
– жалған - ложь
ІV. Сабақты бекіту
Сұрақ жауап
1. Циклдік
алгоритмнің неше түрі бар?
2. Параметрлі
цикл қалай аталады?
3. Шартты
алдын ала тексеретін оператор?
4. Шартты
соңынан тексеретін оператор?
Полиглот
FOR – үшін –
для
WHILE – алддын ала
- вопервых
REPEAT – соңынан -
после
DO
– дейін - до
DOWNTO
– бастап - от
IF – егер -
если
THEN – онда –
тогда
ELSE – әйтпесе -
тогда
TRUE
– ақиқат - правда
FALSE
– жалған - ложь
V. Практикалық
жұмыс
№1.
1-ден n – ге дейінгі сандардың қосындысын табатын программа құру керек.
Program kvadrat;
Var
s, i , n: integer;
Begin
WriteLn
(‘ n = ’) ;
Readln
(n);
I:=1;
S:=0;
While
i<=n do
Begin
S:=S + (i);
I:=
i+1;
WriteLn
(‘ S=’ , S);
End;
End.
№2.
Х € [1; 3] аралығындағы 0,2 қадаммен өзгергендегі
y=
2х +1 функциясының мәнін тап.
Program esep;
Var
x, y: real;
Begin
X:=1;
While
x<=3 do
Begin
y:=2
* х + 1
Writeln
(‘ x=’ , x, ‘y=’, y);
x:=x+0.2;
end;
readln;
end.
№
3. у =3x+1 x €[1 ; 2 ], h =0,5 өрнегін WHILE, REPEAT операторларын
пайдаланып программа құр.
Program y-tabu;
Var
x , y : real ;
Begin
X:=-1;
Repeat
Y: = 3*x+1;
WriteLn (‘ y = ‘ , y);
X:=X+0,5;
Until
x>2;
End.
№
4. x €[1 ; 3 ] аралығында 0,2 қадаммен өзгергендегі y= 3х/2+3
функциясының мәнін тап.
Program esep;
Var
x, y: real;
Begin
X:=1;
repeat
y:=
3*х/2+3 ;
Writeln(
x:3, y:5);
x:=x+0.2;
until
x>3
readln;
end.
№5.
1- ден 100-ге дейінгі сандарды экранға шығаратын программа құрыңдар.
Program
san;
Var
i: integer;
Begin
Wtiteln
(‘ 1- den 100- gedeinbutin san’);
Writeln;
For
i:=1 to 100 do
Write
(i:4);
End.
№6.
30-дан 10-ға дейінгі барлық жұп сандарды экранға шығаратын программа құрыңдар.
Program
jup;
Var
i: integer;
Begin
Writeln
(’30-dan 10-ga deingijup san’);
For
i:=30 downto 10 do
If
I mod 2=0 then
Writeln
(i);
End.
VI. Білімді бағалау кезеңі
VII.Үй тапсырмасы туралы мәлімет беру кезеңі
Программалау
тПрограммалау тлінің шартты операторлары.
Мысалдарға 5 есеп шығарып келу.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.