Тармақталу алгоритмдерді программалау

179

Сабақтың мақсаты: Тармақталу алгоритмдерді программалау.

Сабақтың міндеттері:

  1. Оқушыларға тармақтық алгоритмдерді программалауды үйрету.
  2. Оқушылардың белсенділігін, ойлау қабілеттерін артыруға, өз ойын жүйелеуге және тез

шешім қабылдауға дағдыландыру.

  1. Алға қарай ұмтылуға, талпынысқа баулу, топпен жұмыс жасай отырып, ынтымақ пен

бірлікке шақыру.

Сабақтың типі: жаңа білімді меңгерту

Сабақтың түрі: аралас сабақ

Сабақтың әдісі: Өзің үші жазу,

Сабаққа қажетті құралдар мен көрнекіліктер:

  1. Құралдар: интерактивті тақта, компьютер
  2. Көрнекіліктер: АВС, Turbo бағдарламасы, үлестірме қағаздар

Пәнаралық байланыс: математика

Күтілетін нәтиже: Оқушылар тармақталу алгоритмдерді программалауды меңгереді.

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

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

Топты түгелдеу, сабаққа жұмылдыру

ІІ. Үй тапсырмасы

Франтальды сұрақтар

Үй тапсырмасын қорыту.      

Информатикалық диктант:   y=(at2+2) (at-1)

  • Программаның аты ESEP/Program ESEP;/
  • Айнымалыларды сипаттау бөлімі /var/
  • а, t, y – бүтін сандар/а, t, y: integer;/
  • Операторлар бөлімі ашылады /begin/
  • Мәнін енгізу (оқып алу) операторы /Read(а, t);/
  • Математикалық өрнек Паскаль тілінде /y:=(a*sqr(t)+2)* (a*t-1);/
  • Нәтижені экранға шығару бөлімі — /Write (у);/
  • Программа соңы /End./

Program ecep;

Var   а, t, y: integer;

Begin

Read (а, t);

y:=(a*sqr(t)+2)*(a*t-1);

Write (у);

End.

Бұл сызықтық алгоритмге жатады, ал бүгін біз тармақталу алгоритмін программалауды үйнеміз.

«Өзің үшін жазу» стратегиясы. Бүгінгі сабақта не үйренгілерің келеді?

 

ІІІ. Жаңа сабақ

1-қадам.

Бүгін тармақталу алгоритміне шартты операторларды қолдана отырып, программа құруды үйренеміз. Тармақталу алгоритмі дегеніміз не?

Арифметикалық теңдік (теңсіздік) түрінде берілген логикалық шарт тексеріледі, егер ол орындалмаса екінші тармақпен жүзеге асырылады да, соңында екі тармақ қайта бірігеді, мұндай алгоритмді шартты тексеру тармақталу алгоритмі деп атаймыз.

Паскаль тілінің басқару операторларына шартсыз және шартты көшу операторлары, цикл (қайталау) ұйымдастыру операторлары жатады.

Программа операторлары, негізінен, жазылу ретімен орындалады. Қойылған шартты тексеру арқылы оператордың орындалу ретін өзгертуге немесе өзгертпеуге болады. Шартты тексеру операторлары мен цикл операторлары көбінесе құрылымдық операторлар арқылы ұйымдастырылады.

Құрылымдық оператор. Құрылымдық операторлар басқа операторларды белгілі бір ереже бойынша біріктіру жолымен құрылады. Олар үш топқа – құрама, шартты және қайталау операторларына жіктеледі.

Құрама оператор. Құрама оператор бір-бірінен нүктелі үтір арқылы бөлінген бірнеше операторларды begin және end түйінді сөздерімен шектей отырып, оларды бір оператор тәрізді орындалатын етіп біріктіру жолымен ұйымдастырылады. Құрама оператордың синтаксистік диаграммасы:

Тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір шарттың орындалу немесе орындалмауына байланысты атқарылады. Кейде бір тармақ ішінде ешбір амал орындалмай да қала береді. Шарт ретінде логикалық өрнектің мәні пайдаланады. Турбо паскальда екі шартты оператор бар, олар If және case.Құрама оператор тілдің ережесіне сәйкес программаның кез келген жерінде тұра береді де, бір оператор сияқты орындалады.

If шартты операторы. If (егер) операторы программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады. Оның синтаксистік диаграммасы:

IF <шартты өрнек>

THEN <1-оператор>;

Мұндағы 1- және 2 – операторлардың өздері қарапайым немесе құрама оператор болуы мүмкін.

IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын ала есептеледі, оның нәтижесі логикалық (Boolean — бульдік) типте болады. Егер ол шарттың мәні TRUE (ақиқат) болса, онда THEN (онда) сөзінен кейін жазылған 1 – оператор атқарылады, онда ELSE сөзінен кейінгі 2 – оператор атқарылмайды. Екінші жағдайда, шарт мәні FALSE(жалған) болса, яғни теріс болып шықса, онда ELSE сөзінен кейінгі 2-оператор атқарылып, 1-оператор атқарылмайды. IF операторы бірінің ішіне бірі кіріп, қабаттасып та орындала береді.

Шартты операторды оқу, түсіну жеңіл болу үшін оны сатылы түрде былай жазу қалыптасқан:

Мысал:

  1.                                                   

Program Misal;

var x, y: real;

begin

write (‘x=’);

read (x);

if x<0

then y:=sqr(x)+2*x  else  y:=6*x*x*x;

write (‘y=’, y:6:3);

end                               

   Деңгейлік тапсырма:  Функциясының мәндерін есептейтін программа құрыңдар:

program f;

var t,a,x:real;

begin

readln(a,x);

if x>a

then t:=x*x*x-a*a*a/2

else t:=(sin(x))/2*sqr(a)+1;

writeln(‘t=’,t);

end.

  1. егер

program r;

var y,x: real;

begin

readln(x);

if x>2

then y:=5*x/x-2+3*x/x+2

else y:=4*x-2/3-6*x+2/5;

writeln(‘y=’,y);

end.

  1. 3.   егер                 

program k;

var x,y: real;

begin

readln(x);

if x>0 then y:=1

else if x=0 then y:=0

else y:=-1;

writeln(‘y=’,y);

end.

 

ІV.Үй тапсырмасын беру.

3.5-тақырып. аяқталмаған есепті шығару.

 

  1. Бағалау.