Тармақталу командасы
Сабақтың тақырыбы: Тармақталу командасы
Сабақтың мақсаты:
Білімділік: Оқушыларды тармақталу командасымен таныстыру; пайдалану жолдары мен тәсілдерін үйрету;
Алгоритмдік ойлау стилін дамыту;
Тапсырманы тиянақты, өз мезгілінде орындау жауапкершілігіне тәрбиелеу, патриоттыққа тәрбиелеу.
Дамытушылық: Оқушылардың ойлау қабілеттерін, танымдық белсенділігін арттыру,
компьютермен жұмыс істеу шеберлігін одан әрі қарай шыңдау және осы
сабақта алған білімдерін пайдалана білуге ықпал жасау.
Тәрбиелік: Жүйелікке, еңбекке, іскерлікке, ұқыптылық пен жылдамдыққа тәрбиелеу.
Сабақтың түрі: Жаңа материалды игеру, практикалық
Сабақтың әдісі: Блум жүйесі
Қолданылатын көрнекті құралдар: компьютер, оқулық, практикум, тақта.
Сабақтың барысы:
- Ұйымдастыру кезеңі
- Өтілген материалдарды қайталау
- Жаңа сабақ.
- Білімділік сатысы.
- Түсіну сатысы
- Талдау сатысы
- Қолдану сатысы
- Жинақтау сатысы
- Бағалау.
- Үйге тапсырма
- Ұйымдастыру кезеңі. Оқушылармен амандасып, түгендеу.
- Үй тапсырмасын тексеру. Өткен сабақта сіздермен не өткен болатынбыз? Сызықтық алгоритм.
- Сызықтық алгоритм дегеніміз не?
- Блок схемасы қалай орындалады?
1 бөлім. Оқушы қызығушылығын арттыру
Оқушылар 2 топқа бөлінеді. Бағалау парақтары таратылады. Өткен тақырыптар бойынша оқушыларға 2 есептен беріледі. Біреуінде есептің қатесін табу. Екіншісінде математикалық өрнек арқылы бағдарлама құру.
№1 Тапсырма.
1-топқа
- Бағдарламаның қатесін тап.
Program misal1;
begin
Var S1,S2,S3,v1,v2,v3,
t1,t2,t3:real;
write(‘v1,v2,v3,t1,t2,t3 -терді енгіз’);
readln(v1,v2,v3,t1,t2,t3);
s1:=v1*t1
s2:=v2*t2;
s3:=v3*t4;
S:=s1+s2+s3;
readln(‘S=’,s:7:2);
Readln;
End.
2-топқа
program esep;
var x1,x2,x3,y1,y2,y3,a,b,s,p : real;
begin
readln(x1,x2,y1,y2,x3,y3);
write(‘x1,x2,y1,y2,x3,y3 координат мәндерін енгіз’);
a:=sqrt(sqr(x1-x2)+sqr(y1-y3));
b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
c:=sqrt(sqr(x3-x4)+sqr(y1-y3));
p:=(a+b+c);
s:=sqrt(p*(p-a)*(p-b)*(p-c));
readln;
write(‘s=’,s);
end.
№2 Тапсырма.
1-топқа
- функциясының Паскаль тілінде бағдарламасын құру.
2-топқа
- функциясының Паскаль тілінде бағдарламасын құру.
Топтардың жауаптарын бір-бірімен ауыстырып, оқушыларға дұрыс жауаптарын тақтадан тексертемін. Қателерін тауып, екінші топқа бағаларың қояды. Оқушылардың тапсырмаларын тексеріп, қорытынды жасаймын.
-Осы есептерде бөлшектің бөлімі нөлге тең болғанда функцияның мәні анықталмайды. Олай болса, бұл есептерді шешуде сызықтық алгоритмді қолдана алмаймыз екен. Бұл есепті шешу үшін « тармақталу командасы» деп аталатын алгоритмдерді қолдану қажет болады. Ендеше бүгін Тармақталу командасымен танысамыз.
Жаңа сабақ
Назар аударатынымыз:
- Тармақталу командасы;
- Тармақталу командасының блок-схемасы;
- Тармақталу командасының алгоритмдік тілде жазылуы;
- Тармақталу командасының Паскаль тілінде жазылуы;
- Тармақталу командасының толық түрі;
- Тармақталу командасының қысқартылған түрі;
- Шартсыз көшу операторы;
- Қатынас белгілері.
Білімділік сатысы.
Тармақталған алгоритмдердің программасын құру үшін шартты операторларды пайдаланамыз. Осы уақытқа дейін біз сызықтық алгоритмдерге бағдарлама құрып келдік. Яғни, берілген есепте ешқандай шарттар болмаған. Ал, бүгінгі сабағымызда берілген есепте бір немесе бірнеше шарт кездесетін жағдайды қарастырып, оған программа құрамыз. Ал бұл алгоритм түрі тармақталған алгоритм.
Тармақталған алгоритмдер – алгоритмде арифметикалық теңсіздік пен теңдік түрінде берілген логикалық шарт тексеріледі. Логикалық шарт тексеріледі, егер орындалса, онда 1 – жолмен, ал егер орындалмаса, онда 2-ші жолмен жүзеге асады да, соңында екі тармақ бірігеді. Мұндай алгоритмдерді шарт тексеру, яғни тармақталу алгоритмдері деп атаймыз. Блок схемасында шарт тексеру блогы – ромб қолданылады.
Тармақталу операторы көрсетілген шартқа тәуелді құрамына кіретін операторлардың орындалуын немесе орындалмауын қамтамасыз етеді. Тармақталған алгоритмдерді бағдарланған кезде мынадай қызметші сөздер қолданылады: if — егер , then – онда , else — әйтпесе.
Оператор программадағы іс-әрекеттердің орындалу реттілігін өзгертетін мүмкіндіктің ең кең тараған тәсілі болып табылады. Толық оператордың жазылу түрі:
{Егер шарт онда 1 оператор әйтпесе 2 оператор орындалады.}
IF <шартты өрнек> THEN <1 оператор> ELSE <2 оператор>;
Егер шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған» болса, ELSE сөзінен кейінгі оператор орындалады.
Қысқа оператордың жазылу түрі:
IF <шартты өрнек> THEN <1 оператор> ;
Көшу операторы (GOTO)
Әдетте Паскальда программа операторлары қалай жазылса, сондай
реттілікте, белгілі бір тәртіппен орындалады. Кейде берілген тәртіпті бұзып, программаның басқа бір бөлігіндегі нүктеге (операторға) басқару мүмкіндігін
беру қажеттілігі туындайды. Осы мақсатта көшу (ауысу) операторы
қолданылады.
Форматы:
GOTO белгі;
Турбо –Паскальдағы белгі қолданушы арқылы еркін
енгізілген сілтеме жасау идентификаторы. Тамға ретінде 0-999-ға дейінгі бүтін
сандарды пайдалануға болады.
Мысалы:
. . .
GOTO 99;
. . .
99: WRITELN (‘АУЫСУ ОПЕРАТОРЫ ОРЫНДАЛАДЫ’);
Программада қолданылатын белгілер белгілерді баяндау бөлімінде
қамтылуы тиіс.
LABEL тарауында баяндалады.
Мысалы: LABEL 5.99.100
Тармақталудың орындалу түрлері:
Блок-схема | Алгоритмдік тіл | Pascal тілі |
Тармақталу командасы: а) толық пішіні: егер шарт онда 1 серия әйтпесе 2серия
ә) қысқартылған түрі егер шарт онда серия әйтпесе | Шартты оператор: If шарт then begin 1-серия end else begin 2-серия end; |
Шарт өрнегін жазу үшін мынадай салыстыру белгілерін пайдаланамыз:
= | Тең |
< | Кіші |
<= | Кіші немесе тең |
> | Үлкен |
>= | Үлкен немесе тең |
<> | Тең емес |
Және, немесе, емес қызметші сөздерімен біріктірілген, бірнеше қарапайым шарттардан тұратын шарттар құрама шарттар деп аталады. Логикалық операциясы бар күрделі шарт қарапайым шарттардың екеуі де орындалған жағдайда ғана ақиқат деп есептеледі.
Pascal тілінде логикалық операцияларды енгізейік:
Алгоритмдік тілде жазылуы | Pascal тілінде жазылуы |
және немесе емес | and or not |
Тармақталған алгоритмге мысал:
Блок схема | Алгоритмдік тіл | Pascal тілі |
алг есептеу басы енгізу Х егер Х<=0 онда Y:=X² әйтпесе Y=√Х бітті шығару у соңы | program ec1; var x,y: real; begin readln(x); if x<=0 then y:=sqr(x) else y:=sqrt(x); writeln (‘y=‘,y:2:0); end. |
Түсіну сатысы
Жаңа сабақты түсіну үшін «Ақпараттық диктант» орындаймыз.
(оқушылар интерактивті тақтада тиісті сөздерді қойып жазады)
Сұрақ | Жауап | |
1 | Тармақталған алгоритм дегеніміз не? | Қадамдардың тізбектеп орындалуы шартқа байланысты болатын алгоритм |
2 | Толық оператордың жазылу түрі | Егер шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған» болса, ELSE сөзінен кейінгі оператор орындалады.
|
3 | Қысқа оператордың жазылу түрі | Егер шарттың мәні «ақиқат» болса, THEN сөзінен кейінгі оператор, ал мән «жалған» болса, тармақталу командасынан кейінгі операторлар орындалады
|
4 | Егер | If |
5 | Онда | Then |
6 | Әйтпесе | Else |
Талдау сатысы.
- Мына жазылған бағдарлама бойынша не есептеледі(формуласын анықта).
program j;
var x,y:integer;
begin
read(x);
if x<3 then y:=x+2 else y:=5*x;
write(‘y=’,y);
end.
Жауабы:
- Мына алгоритмдік тілде жазылған есептің Pascal тілінде бағдарламасын құр.
Алг ЕСҮТ(арг нақ А,В, нәт лит max)
басы
енгізу А,В
егер А>B
онда max:=A
әйтпесе max: =В
бітті
шығару max
Соңы
Жауабы:
Program ECYT;
Var a,b,y:real;
begin
readln(a,b);
if a>b then y:=a else y:=b;
writeln(‘y=‘,y);
end.
Қолдану сатысы
Практикалық жұмыс:
- aX2 + bX + c = 0
- Кез-келген санның оң немесе теріс екенін анықтайтын программа құрыңыз
Жауабы:
PROGRAM 2 ;
VAR a: real;
Begin
Write(‘vedite a’);
read(a);
if a>=0 THEN write(‘a он сан’) else write(‘а терис сан’);
end.
- Бөлменің температурасы 50 градустан жоғары болса, “ыстық” сөзін, 25 градустан жоғары болса, “қалыпты” сөзін, ал 25 градустан төмен болса, “суық” сөзін экранға шығару керек.
Жауабы:
program 3;
var t:real;
begin
read(t);
if t>=50 then write(‘ ыстык ‘) else
if t>=25 then write(‘ калыпты ‘) else write(‘суык ‘);
writeln(‘t=’,t);
end.
Кімнің сұрағы бар, қолдарыңды көтеріңдер, мен сіздерге жақындаймын.
Сонымен, жұмысты аяқтаймыз. Практикалық жұмысты көрсетіп болғандар компьютерді дұрыс өшіріп, орындарыңды ретке келтіріңдер.
Жарайсыңдар, барлықтарың жұмысты дұрыс жасадыңдар.
Практикалық жұмысты бағалау.
Жинақтау сатысы
Әркімнің партасында Activote тестілеу құрылғысы жатыр. Оған сендер тест жауаптарын тақтадан оқып басасыңдар. Әр сұраққа үш жауап берілген, олардың тек біреусі ғана дұрыс. Дұрыс жауапты тауып, бағалау парағына енгізу керек. Сонымен, тест орындауға кірісеміз.
(оқушылар сабақта өтілген тақырып бойынша тест жұмысын орындайды).
Тест сұрақтары
- Қандай жағдайда тармақталу алгоритмі қолданылады?
Кейбір командаларға бірнеше рет
2. Шарттарға байланысты кейбір операциялар
3. Кестелік функцияны есептеуге
4. Анықталған операторға өтуге - Шартсыз көшу операторы
- FOR — NEXT;
- IF — THEN — ELSE;
- GOTO;
- Шартты көшу операторы…
- FOR — TO;
- IF — THEN — ELSE;
- GOTO;
- Шартты оператордың дұрыс нұсқасын көрсет
1) if шарт then begin 2) if шарт then begin
оператор оператор
else begin else
оператор оператор
end; end;
3) If шарт then 4) if шарт then
oператор оператор
else else begin
Оператор операторлар
end; end;
- Турбо Паскаль бағдарламасында бөлiктегi операторлар бiр бiрiнен … ажыратылады.
1) нүктемен
2) үтiрмен
3) қос нүктемен
4) нүктелi үтiрмен
5) тырнақшамен
- Меншіктеу операторы қайсы жағдайда қате жазылған?
1) d+1:=a
2) a:=5
3) a:=b
4) a:= a+b
5) a:=16
Сабақтың қорытындысы
Бағалау :
Сабақ барысында әр оқушының орындаған жұмыстарының ұпай сандары бағалау парағында белгіленеді, сабақтың соңында нәтижесі есептелініп, өздерінің қаншалықты дәрежеде тақырыпты меңгергендігін анықтайды, бағалау парағы бойынша оқушылардың білімін бағаланады.
ҮІІ. Үйге тапсырма: Оқулықтан 1.7 тақырып (36-43 беттер). Есептер жинағы 9,10 жаттығу (18 бет)
Осымен біздің сабағымыз аяқталды. Сабаққа қатысқандарыңа рахмет!