Программалау тілінің шартты операторлары

Автор публикации:

Дата публикации:

Краткое описание: ...


Агробизнес колледжі











Ашық сабақ





Тақырыбы: Программалау тілінің шартты операторлары



Өткізген: Мамашев Ж.С.

информатика мұғалімі











2015-2016 оқу жылы






топ 21 АЖ күні 25.02.2016 ж.



Пән: «Алгоритмдеу және бағдарламалау негіздері»

Сабақ тақырыбы: Программалау тілінің шартты операторлары

Сабақтың мақсаты:

1. Білімділік: Паскаль тілінің шартты операторларын үйрету арқылы есептер шығаруға дағдыландыру. Белгілі бір әрекеттер тізбегі бірнеше рет қайталанатын болса, онда циклдік алгоритмдерді қолдананып, есептерді шешу керектігін оқушыларға түсіндіру.

2. Тәрбиелік: Оқушыларды білім мен біліктілікке тәрбиелеу. Оқушылар техникалық қауіпсіздік ережесін сақтай отырып еңбекке баулу.

3. Дамытушылық. Оқушылардың Паскаль программалау тілінде есеп шығару мүмкіндіктерін, логикалық ойлау қабілеттерін дамыту;

Сабақ түрі: құрастырылған


Эпиграф

«Сенбе ешкімге тұрсада қанша мақтап,

Әуре етеді ішіне қулық сақтап.

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

Білімің мен ақылың екі жақтап!»

Абай

Сабақ барысы:

І. Ұйымдастыру кезеңі.

1) оқушыларды журнал бойынша тексеру

2) сабаққа дайындықтарын тексеру

3) оқытушының кіріспе сөзі

ІІ. Өткен сабақты қайталау.

  1. Фронтальды сұрау - «Программалау тілінің операторлары» тақырыбы бойынша.

  1. Паскаль программалау тілін кім өндеген?

  2. Енгізу операторы қалай аталады?

  3. Шығару операторы қалай аталады?

  4. Алгоритмнің графикалық түрде бейнеленуін ата?

  5. Меншіктеу операторы қалай белгіленеді?

  6. DIV көмекші сөзі нені білдіреді? Мысал келтір.

  7. MOD көмекші сөзі нені білдіреді? Мысал келтір.

  1. Үй жұмысына берілген есептерді тексеру

  1. Қатесін тап



  1. Сәйкесін тап


  1. Қатесін тап


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.




б)Сәйкесін тап


[pic]









в)



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

[pic] ;

[pic] ;

[pic] ;

[pic] ;

[pic] ;


Мұндағы: REPERAT(қайталау) және [pic] (дейін) –қызметші сөздер;

[pic] - логикалық типті өрнек;

Орындалу тәртібі

  1. Алдымен REPEAT сөзінен кейінгі операторлар тізбегі орындалады;

  2. [pic] сөзінен кейінгі шарт тексеріледі;

  3. Егер, өрнектің мәні False (жалған) болса, онда цикл қайталанады, True (ақиқат) онда цикл аяқталады.

Begin ….. End операторлық жақшаларды қолданбасада болады, себебі мұнда операторлар REPERAT [pic] аралығында жазылып сол жақшалардың функциясын орындап тұр.

Мысалы: 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 [pic] 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-ге өзгеріп отырады) ;

  1. Егер шарт орындалмаса, онда FOR операторы жұмысын аяқтайды;

    1. Басқарушы айнымалы мәндерінің өзгеру диапозонын және цикл ішіндегі оператордың қайталану санын;

    2. Айнымалы мәндерінің өзгеру бағытын;

    3. әрбір қайталану сайын орындалатын іс-әрекеттерді.

Мысалы: 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 – жалған - ложь



  1. Практикалық жұмыс


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 есеп шығарып келу.