Тармақталған алгоритмдер

101

Сабақтың тақырыбы:  Тармақталған алгоритмдер

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

Білімділік:

Шартты операторлардың жазылу тәртібімен таныстыру, тармақталған алгоритмдерді бағдарламалауды үйрету. Сабақтан алған теориялық білімдерін жүйелі түрде тәжірибе жүзінде көрсете білу дағдыларын қалыптастыру.

Дамытушылық:

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

Тәрбиелік:

Оқушылардың белсенділігін арттыру,  жұмыс жасау мақсатында компьютерлік сауаттылыққа, өзара көмектесуге, өзін-өзі бағалауға тәрбиелеу.

Сабақтың типі:  Жаңа тақырыпты түсіндіру

Сабақтың түрі: топтық, жекелей

Сабақтың әдіс-тәсілдері: Практикалық

Сабақтың көрнекіліктері:  Компьютер, презентация, электрондық оқулық, карточкалар, кеспе қағаздар

Пәнаралық байланыс: математика, геометрия, ағылшын тілі.

Сабақтың жоспары:

  1. Ұйымдастыру
  2. Үй тапсырмасын қайталау

а)   (Лото ойыны, тапсырмалар)

ә)   Топтастыру

б)   «Ойлан-Тап»

в)   «Ішіне-сыртына»

  1. Жаңа сабақты түсіндіру (Сөзжұмбақ)
  2. Практикалық жұмыс (электрондық оқулықпен жұмыс, тест)
  1. 5. Сабақты пысықтау (тапсырмалар)
  1. Үй тапсырмасы
  2. Оқушыларды бағалау

 

  1. Ұйымдастыру кезеңі. Оқушылармен амандасып, түгелдеу, назарларын сабаққа аудару
  2. Үй тапсырмасын тексеру.

а) «Лото» ойыны

  1. Алгоритм дегеніміз не? (Алғашқы берілген мәліметтерді пайдаланып, қажетті нәтижеге қол жеткізуді жүзеге асыратын әрекеттердің орындалу ережесі.)
  2. Алгоритм түрлерін ата (Сызықтық, тармақталған, циклдік)
  3. Алгоритмдерді ұсыну тәсілдерін ата (табиғи тілде, графикалық тілде, алгоритмдік тілде, программалау тілінде)
  4. Паскаль тіліндегі программа неше бөліктен тұрады? (3 бөліктен тұрады. Программаның тақырыбы, сипаттау бөлімі, операторлар бөлімі)
  5. Var операторының қызметі қандай? (Айнымалыларды сипаттау)
  6. Const операторының қызметі қандай? (Тұрақтыларды сипаттау)
  7. Read операторының қызметі қандай? (Берілгендерді еңгізу)
  8. Write операторының қызметі қандай? (Нәтижені шығару)

 

ә) «Топтастыру»тапсырмасында оқушылар интерактивтік тақтаға шығып алгоритм қасиеттерін жазып топтастырады

 

 

Алгоритмнің нәтижелілігі
Алгоритмнің дискреттілігі

 

 

 

 

 

 

 

б) «Ойлан-Тап» оқушылар  тақтадағы фотосуретте бейнеленген адамды табу қажет.

в) «Ішіне-сыртына». Кестенің ішіне Паскаль программалау тілінде қолданылатын операторларды жазады, ал сыртына программалау тіліне жатпайтын сөздерді жазады.

 

Internet, Paint, Writeln, Readln, WordPad, Integer, Real, Microsoft, Program, Var, Excel, Const, Power Point, begin, end.

 

Ішіне Сыртына
 

 

 

 

 

 

 

 

 

 

  1. Жаңа сабақ түсіндіру.

 

Жаңа сабақты бастамас бұрын мына сөзжұмбақты шешейік

1 b e g i n
2 w r i t e l n
3 p r o g r a m
4 i n t e g e r
5 c o n s t
6 c h a r
7 r e a d l n
8 e n d

 

  1. Негізгі программаның басы
  2. Шығару операторы
  3. Программа тақырыбы
  4. Бүтін санның типі
  5. Алгоритмнің орындалу барысында мәні өзгермейтін шама
  6. Символдық шама
  7. Енгізу операторы
  8. Бағдарламаның соңы

Ортадағы ерекше тор көздегі сөзге назар аударайық. «Branched» сөзі ағылшын тілінен аударғанда тармақталған деген мағынаны береді екен. Сонымен бүгінгі өтетін жаңа тақырыбымыз «Тармақталған алгоритмдер»

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

Тармақталған алгоритмдер – алгоритмде арифметикалық теңсіздік пен теңдік түрінде берілген логикалық шарт тексеріледі. Логикалық шарт тексеріледі, егер орындалса, онда 1 – жолмен, ал егер орындалмаса, онда 2-ші жолмен жүзеге асады да, соңында екі тармақ бірігеді. Мұндай алгоритмдерді шарт тексеру, яғни тармақталу алгоритмдері деп атаймыз.  Блок схемасында шарт тексеру блогы – ромб қолданылады.

Тармақталу операторы көрсетілген шартқа тәуелді құрамына кіретін операторлардың орындалуын немесе орындалмауын қамтамасыз етеді. Тармақталған алгоритмдерді бағдарланған кезде мынадай қызметші сөздер қолданылады: if — егер , then – онда , else — әйтпесе.

Оператор программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады.  Толық оператордың жазылу түрі:

{Егер     шарт              онда     1 оператор  әйтпесе  2 оператор орындалады.}

IF   <шартты өрнек>  THEN <1 оператор>    ELSE       <2 оператор>;

Егер шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған» болса, ELSE сөзінен кейінгі оператор орындалады.

Қысқа  оператордың жазылу түрі:

IF   <шартты өрнек>  THEN <1 оператор> ;

Шарт өрнегін жазу үшін мынадай салыстыру  белгілерін пайдаланамыз:

= Тең
< Кіші
<= Кіші немесе тең
> Үлкен
>= Үлкен немесе тең
<> Тең емес

1-мысал: Екі А және В сандары берілсін. Екі санның үлкенін табу программасы мен блок-схемасын құрайық.

Program_1;

var a,b,y:real;

begin

readln(a,b);

if a>b then y:=a else y:=b;

writeln(‘y:=’,y);

end.

 

 

 

 

Y=

2-мысал:                   X2,       X≤0,

,      X>0

Паскаль тілінде программасын және блок-схемасын құрайық.

Program_2;

var x,y:real;

y=
y= X2

begin

readln(x);

if x<=0 then y:=sqr(x) else y:=sgrt(x);

writeln(‘y:=’,y);

end.

 

 

Оқушы  қызығушылығын  арттыру. Оқушыларды екі топқа бөлу

«Тау шыңына шығу» ойыны.

Тау шыңына шығу үшін оқушылар деңгейлік тапсырмалар орындайды.

1  деңгей.

І-топ      өрнегін Паскаль тілінде жаз.

 

ІІ-топ       өрнегін Паскаль тілінде жаз.

 

2  деңгей.

Мұғалімнің көрсеткен мысалына ұқсас есептерді шығару.

   І-топ   Y=

X2+50       X≤0,

,      X>0

Паскаль тілінде программасын және блок-схемасын құр

Program;

var x,y:real;

begin

readln(x);

if x<=0 then y:=sqr(x)+50 else y:=sgrt(x)+4;

writeln(‘y:=’,y);

end

 

ІІ-топ.  Кез-келген санның оң немесе теріс екенін анықтайтын программасын және блок-схемасын құр

Program;
Var a: real;
Begin
Write(‘vedite a’);
read(a);
if a>=0 THEN write(‘a он сан’) else write(‘а терис сан’);
end.

 

 

 

3  деңгей.

І-топ. Бөлменің температурасы 50 градустан жоғары болса, “ыстық” сөзін, 25 градустан  жоғары болса, “қалыпты” сөзін, ал 25 градустан төмен болса, “суық” сөзін  экранға шығару керек.

program h;
var t:real;
begin
read(t);
if t>=50 then write(‘ ыстык ‘) else
if t>=25 then write(‘ калыпты  ‘) else write(‘суык ‘);
writeln(‘t=’,t);
end.

ІІ-топ. Екі сан А,В берілген. Егер А<В теңсіздігі орындалса, онда олардың қосындысының мәнін, ал басқаша болса, көбейтіндісін басып шығарыңдар.

Program;
Var a, b, y : real;
Begin
readln(a, b);
if А<В THEN  y:=a+b  else y:=a*b;
writeln(‘y:=’,y);

end.

 

Топтардың жауаптарын бір-бірімен ауыстырып, оқушыларға дұрыс жауаптарын тақтадан тексертемін. Қателерін тауып, екінші топқа бағаларың қояды.

Оқушылардың тапсырмаларын тексеріп, қорытынды жасаймын.

 

  1. Практикалық жұмыс. Электрондық оқулықпен жұмыс. Оқушыларға номерлері бар карточкалар ұсынамын. Өздері таңдаған санға сәйкес тапсырманы орындайды. Тапсырма орындалған соң электрондық оқулықтағы тест тапсырмасын орындайды.

 

  1. Сабақты пысықтау

Сабағымызды пысықтау үшін «Құрастырма» ойынын ойнайық.

1-топ

Мына карточкалар мен геометриялық фигураларды пайдаланып функция мәнін есептейтін программа  мен блок-схема  құр.

 

2-топ

 

 

 

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

1,7 тақырып (36-43 бет)

7,11 тапсырмалар (44 бет)

  1. Оқушыларды бағалау

 

 

Бағалау парағы

Аты-жөні «Лото» ойыны Топтас тыру Ойлан-тап Ішіне-сыртына Практикалық жұмыс Тест 1-деңгей 2-деңгей 3-деңгей Құрастырма Жалпы бағасы
1 Айнабек Мұқан
2 Алмасбаева Дана
3 Бекімбетова Индира
4 Сатбаева Кумисай
5 Сәуірбай Іңкәр
6 Суиндикова Аида
7 Қамысбай Мұхтар
8 Сыдық Әлібек