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

73

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

Сабақтың мақсаты:
Білімділігі:Оқушыларға Паскаль программалау тілінің тармақталу операторлары туралы түсінік беру; теорияда алған білімдерін практикада пайдалана алуға үйрету.
Дамытушылығы:Компьютерлік сауаттылыққа, бірлесе жұмыс жасауға, ұқыптылыққа, ұйымшылдыққа тәрбиелеу.
Тәрбиелігі:Тармақталу операторларын пайдаланып, компьютерде есеп шығару дағдыларын қалыптастыру; логикалық ойлау қабілеттерін дамыту.
Сабақтың типі: аралас сабақ
Сабақтың көрнекілігі:Электрондық оқулық 9 сынып, интерактивті тақта, тапсырмалар жазылған карточкалар, слайд.
Сабақтың барысы:
І. Ұйымдастыру.
Оқушылармен амандасу. Сабаққа дайындығын тексеру.
ІІ. Білімнің өзектілігі және білімдерін тексеру.
«Тест» сұрақтары арқылы еске түсіріп, білімімізді тексеріп өтейік:
Паскальда бағдарламаны орындау:
а) compile
ә) run
б) user screen
в) file
2. Меншіктеу операторы дұрыс жазылған:
а) a:=z+5
ә) a*x3+b:=0
б) z:=z+1, 4
в) a: b — sqr(4)
3. «integer» типінің диапазоны неге тең:
а) — 2147483648… +21474833647
ә) — 32768… +32767
б) — 127… + 127
в) — 1. 7*10308… — 1. 7. 10308
4. Қабырғалары a, b, c үш санға тең үшбұрыштың болатындығын тексеретін дұрыс шартты көрсет:
а) a b+c) or (b > a+c) or (c > b+a)
б) a > b+c
в) дұрыс жауабы жоқ
5. Логикалық тип:
а) integer
ә) string
б) boolean
в) byte
6. [F9] Borland Pascal — да қандай қызмет атқарады:
а) бағдарламаны жабу
ә) сақтау
б) орындау
в) компиляциялау
7. sqr(x) нені есептейді:
а) х — тің квадратын
ә) х — тің абсолюттік шамасын
б) х — ті кубтайды
в) х — ке, s — ті көбейтеді
8. Паскаль тілінде Х санының бүтін бөлігін алу үшін қандай функция қолданылады:
а) INT(X)
ә) ABS(X)
б) ABC(X)
в) TRUNC(X)
9. Паскальда нәтиже алу операторын көрсет:
а) PRINT
ә) WRITE
б) OUTPUT
в) READ
10. «а» айнымалысыненгізуоператоры.
а) read(a)
ә) write(a)
б) input(a)
в) print(a)
ІІІ. Жаңасабақ:

Тармақталған алгоритмдер алгоритмде арифметикалық теңсіздік пен теңдік түрінде берілген логикалық шарт тексеріледі. Логикалық шарт тексеріледі, егер орындалса, онда 1 – жолмен, ал егер орындалмаса, онда 2-ші жолмен жүзеге асады да, соңында екі тармақ бірігеді. Мұндай алгоритмдерді шарт тексеру, яғни тармақталу алгоритмдері деп атаймыз. Блок схемасында шарт тексеру блогы – ромб қолданылады.
Тармақталу операторы көрсетілген шартқа тәуелді құрамына кіретін операторлардың орындалуын немесе орындалмауын қамтамасыз етеді. Тармақталған алгоритмдерді бағдарланған кезде мынадай қызметші сөздер қолданылады: if(иф) — егер, then(зен) – онда, else(элс) — әйтпесе. Турбо Паскальда екі шартты оператор бар IF және CASE.

Толық оператордың жазылу түрі:
{егер шарт онда 1 оператор әйтпесе 2 оператор орындалады.}

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

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

ELSE<2 оператор>; 

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

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

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

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

Блок-схема

Тармақталу командас

IF<шарт>THEN<1-серия>ELSE<2-серия>
Алгоритмдік тіл
Блок-схема
  1. Практикалық жұмыс:
= Тең > Үлкен
< Кіші >= Үлкен немесе тең
<= Кіші немесе тең <> Тең емес

Қадамдардың тізбектеп орындалуы кейбір шарттарға байланысты болатын алгоритмдерді тармақталған алгоритмдер деп атайды.

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

№1 тапсырма. Берілген сан х нақты саны х>0 — ге тең болса, онда х — ті екіге арттыр, әйтпесе х — ті екі еселе.
Есептіңпрограммасы:
Program esep_1;
Var x, y: real;
Begin
Readln(x);
If x>0 then y:=x+2 else y:=2*x;
Writeln(‘y=’, y);
End.

№ 2 тапсырма. Пернетақтадантрамвайбилетініңнөмірі (1 орынды 6 сан) енгізіледі. Билеттің «бақытты» нөмірекенінанықтайтынпрограммақұрукерек. Бақыттыбилеттіңалғашқы 3 цифрыныңқосындысысоңғы 3 цифрыныңқосындысынатең.
Program esep_2;
Uses crt;
Var x, y, z, a, b, c, S, S1: real;
Begin
Clrscr;
Writeln(‘bilet nomerin engiz…’);
Readln(x, y, z, a, b, c);
S:=x+y+z;
S1:=a+b+c;
If S=S1 then writeln(‘bakitty nomer’) else writeln(‘bakitty nomer emes’);
End.

№ 3 тапсырма. Екісанныңүлкенінтабатынбағдарламақұру
Program esep_3;
Uses crt;
Var x, y, max: integer;
Begin
Clrscr;
Writeln(‘Eki sandy engiz…’);
Readln(x,y);
If x>y then max:=x else max:=y;
Writeln(‘Eki sannyn ulkeni = ’, max);
End.
№ 4 тапсырма. N натурал саны берілген. Егер n саны тақ және оны екі еселегенде алынған сан 32767 — ден кем болса, онда ол санды 2 — ге көбейтіңдер. Басқа жағдайда санды өзгеріссіз қалдырыңдар.
Programesep_4;
Usescrt;
Varn: integer;
Begin
Clrscr;
Write(‘n — ді енгізіңдер: ’);
Readln(n);
If (nmod 2=1) and (n<32767) thenn:=2*n;
Writeln(‘n=’, n);
Readln
End.
V. Сабақты қорытындылау.
VІ. Бағалау.
VІІ. Үй тапсырмасы: Оқулықтан§6 оқу. 59 беттегі №12 практикалық жұмыстың  а, с тармақтарын шығару