Күрделі шарттар

Сабақтың тақырыбы: Күрделі шарттар

 

Сабақтың мақсаты: Күрделі шартты операторларды жазылу тәртібімен танысу, бағдарламалау тілінде жұмыс жасай білу

Күтілетін нәтиже: Тармақталу операторларының түрлерін, күрделі шарттардың программада жазылуын біледі

Ресурстары: Презентация, суреттер, қима қағаздар, постерлер, маркерлер, стикерлер

 

Деңгей-леріМұғалімнің іс-әрекетіОқушының іс-әрекетіҰйымдастыру түріНәтижесіРесурстарыБағалау
Ұйымдас-тыру кезеңі1.      Шаттық шеңберін өткізу. Оқушылар ортаға шығып, бір-бірінің қолынан ұстап, бір-біріне жақсы тілектер айтады

2.      Топқа бөлу. Туылған күнінің күні бойынша бөлу, яғни күн 3-ке бөлінсе 3-топ, 2-ге бөлінсе 2-топ, бөлінбесе 1 топ

3.      Топтың бағалау парағын жүргізу туралы түсіндіріледі

БілімТопқа бөледі, тармақталу операторларын еске түсіреді: қосымша тармақталу операторының блок-схемасын, алгоритмдік тілде және Паскаль программалау тілінде жазылуы туралы сұрақтар қоядыТармақталу операторларын еске  түсіреді, сұрақтарға жауап береді

І топ: Тармақталу операторлары туралы түсінік

ІІ топ: Тармақталу операторларының блок-схемасы

ІІІ топ: Тармақталу операторларының алгоритмдік тілді және Паскаль тілінде көрсету

—    Топтық жұмыс

—    Диалогтік жұмыс

 

— Постермен жұмыс

 

 

 

 

 

Қызығушылы-ғын оятады, ойлау белсенділігі артадыТоптарға тақырып бойынша қима қағаздарФормативтік бағалау болады
ТүсінуЖәне, немесе, емес қызметші сөздерімен біріктірілген, бірнеше қарапайым шарттардан тұратын шарттар (логикалық өрнектер) күрделі шарттар деп аталады. Паскаль тіліндегі логикалық операциялар:

And (және) логикалық операциясы бар күрделі шарт қарапайым шарттардың екеуі де орындалған жағдайда ғана ақиқат деп есептеледі.

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

Not (емес) А=0 логикалық операциясы А¹0 шартымен бірдей.

Логикалық өрнектердегі операциялардың орындалу сатысы (приоритет) төмендегідей:

not – ең жоғарғы приоритет

* /  div  mod  and екінші приоритет

+  —    Xor  or үшінші приоритет

>  <=   =  <   >= төменгі приритет

Ізденеді, түсінеді, берілген тақырып бойынша бірнеше қарапайым шарттардан тұратын күрделі шарттардың логикалық операцияларын тауып, орындайдыТоп мүшелерінің диалогі, әңгімесіТанымдық белсенділігі дамиды, тыңдау мәдениеті қалыптаса-ы, өз ойын толық, анық жеткізе аладыТақырып бойынша презен-тация, кестелер, суреттерФормативтік бағалау болады
ҚолдануКейбір есепте үш және одан да көп тармақ, яғни шығу сызықтары бар шарттарды тексеруге тура келетін кездер болады. Бұған мысал ретінде квадрат теңдеу ax2+bx+c=0, (a¹0) түбірлерін табатын программа құруІ топ – квадрат теңдеуді математикалық жолмен шешуді көрсетеді;

ІІ топ – квадрат теңдеудің блок-схемасын сызады;

ІІІ топ – квадрат теңдеуді Паскаль программалау тілінде программасын жазады

Берілген тапсырмамен топ мүшелерінің бірлескен жұмысыЫнтымақтас-тықпен жұмыс істеуге үйренедіПостерлер, маркерлер, стикерлерФормативтік бағалау болады
ТалдауЕсепті шығаруда программа денесін құрылып, айнымалылар сипатталынады. Программаның орындалуын аяқтайтын белгі қойылады; a,b,c айнымалылары енгізіледіЕгер а=0 болса,

А)онда b¹0 болмаған жағдайдағы тиісті түбін есептелініп, экранға шығарылады және белгі арқылы программаның орындалуы аяқталады;

Б)Қарсы жағдайда егер D>0 болса, онда теңдеу түбін есептеп, экранға шығарылады. Қарсы жағдайда «түбірлері жоқ» мәліметі экранға шығады.

Айнымалылар: a, b, c – айнымалылар,

х1, х2 – теңдеу түбірлері,

D – теңдеудің дискриминанты,

Программаның орындалу нәтижелері:

a, b, c мәндерін енгіз: 2 3 6

Теңдеудің нақты түбірлері жоқ

a, b, c мәндерін енгіз: 1 5 6

х1= -2.00  х2= -3.00

a, b, c мәндерін енгіз: 1 4 4

х= -2.00

Топтық жұмыс оқушылар орындарында ақылдасады. Соңында бір оқушы тақтаға орындайдыСабақтан алған теориялық білімдерін жүйелі түрде тәжірибе жүзінде көрсете білу дағдыларын қалыпта-садыФактілер, операция-лар, шешімдерТоп мүшелері бірін-бірі бағалайды, формативтік бағалау болады
Өз қабілетіңе байланысты деңгейлік тапсырмаларды орында. Қандай шешу жолдарын ұсынасың?

 
—          күрделі                                                           — орташа                                                         —  жеңіл

1)      2х(5х – 7) = 2х2 – 5                                    1) 5х2 + 4х – 1 = 0                                           1)  3х2 + 5х – 2 = 0,  а, в, с = ?

2)      (х + 4)2 = 4х2 + 5                                        2) 23х2 – 22х + 1 = 0                                       2)  9х2 – 6х + 1 = 0,  а, в, с = ?

 

СинтезЛогикалық өрнектердегі операциялардың орындалу сатысының (приоритет) дұрыс тізбесін жаз:

+     *       not      >       and

/      div     _        <=       =

or     <      mod    >=

 

Мұғалім түзейді, қорытындылайды

Оқушылар өз пікірін айтады, талқылайдыТоптық жұмыс

Сыни ойлау

Ойын дәлелдеуге дағдыланадыТоптар өздерін бағалайды. Бірін-бірі бағалайды
БағалауБағалайдыБіз сабақта не білдік? Нені түсінбей қалдық? Өзін-өзі бағалайды.

Кері байланыс парағын толтырып, пікірін жазады

Бірлескен бағалауӨзін-өзі және бірін-бірі бағалап үйренедіМұғалім қорытынды баға жасайды

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логикалық типтерге қолданылатын операциялар:

And (және) – коньюнкция, логикалық көбейту

Or (немесе) – дизьюнкция, логикалық қосу

Not (емес) – терістеу

Xor модулі бойынша көбейту

Паскальдағы логикалық операциялар мәндері

 

Операция 1Операция 2Нәтиже
NotAndOrХоr
False

True

False

False

True

True

False

True

False

True

True

False

False

False

False

True

False

True

True

True

False

True

True

False

a, b, c нақты сандары берілген. ax2+bx+c=0 теңдеуінің нақты түбірлерін тап. Егер түбірлері жоқ болса, «түбірлері жоқ» мәліметін экранға шығару керек.

label 1;

var a, b, c, x1, x2, D:real;

begin  write (‘a, b, c мәндерін енгіз:’);

readln(a, b, c); if a=0 then

if b<>0then begin x1:=-c/b; writeln(‘x=’,x1:4:2); goto 1; end

else  begin   D:=sqr(b)-4*a*c;

if D=0 then

begin x1:=-b/(2*a);  writeln(‘x=’,x1:4:2); goto 1; end

else

if D>0 then begin

x1:=(-b+sqrt(D))/(2*a);  x2:= :=(-b-sqrt(D))/(2*a);

writeln(‘x1=’,x1:4:2, ‘x2=’,x2:4:2); end;

1:end.