Паскаль бағдарламалау тіліндегі шартты оператор және таңдау операторы.

Сабақтың тақырыбы:  Паскаль бағдарламалау  тіліндегі шартты оператор және таңдау операторы.

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

Білімділік:

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

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

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

Тәрбиелік:

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

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

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

Сабақтың әдіс-тәсілдері: Практикалық, деңгейлеп оқыту технологиясы.

Сабақтың көрнекіліктері:  Компьютер, ИТ,  презентация, флипчарт, деңгейлік тапсырмалар, Alice, Camtasia Studio, Pascal ABC бағдарламалары

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

 

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

  1. Ұйымдастыру – 1 мин
  2. Үй тапсырмасын қайталау – 5 мин
  3. Жаңа сабақты түсіндіру – 13 мин
  4. Практикалық жұмыс – 15 мин
  5. Қорытындылау – 3 мин
  6. Оқушыларды бағалау – 2 мин
  7. Үй тапсырмасы – 1 мин

 

  1. Ұйымдастыру кезеңі. Оқушылармен амандасып, түгендеу. (1 мин)
  2. Үй тапсырмасын тексеру. (5 мин) Өткен сабақта сіздермен не өткен болатынбыз? Сызықтық алгоритм.
  • Сызықтық алгоритм дегеніміз не?
  • Блок схемасы қалай орындалады?

 

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. Жаңа сабақ түсіндіру. (13 мин)

Паскаль бағдарламалау тіліндегі шартты оператор

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

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

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

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

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

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

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

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

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

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

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

 

Мысал:

program j;

var x,y:integer;

begin

read(x);

if x<3 then y:=x+2 else y:=5*x;

write(‘y=’,y);

end.

 

Оқушыларға шартты операторға өмірдегі кездесетін шарттар туралы мысалдарды келтіртемін. Alice 2.2 бағдарламасында шартты операторға жасалынған мысалды көрсетіп, түсіндіремін.

 

Таңдау операторы.

Көптеген біршама күрделі программаларда таңдау операторын қолданған қолайлы:
case таңдау параметрі of таңдау тізімі else 2-оператор end
мұнда таңдау тізімі-бір немесе бірнеше түрдегі конструкциялар:
•таңдау тұрақтысы: оператор
•таңдау тұрақтысы бірнешеу болуы мүмкін, соған сәйкес бірнеше операторлар да орындалуы мүмкін.
Бұл оператордың жұмыс реті анық: таңдау параметрлерінің мәні анықталады, сосын осы таңдау параметрінің мәніне тең болатын таңдау тұрақтысы ізделеді, енді соған сәйкес оператор орындалады, егер таңдау тізімінде осы тұрақты жоқ болып шықса, онда 2-оператор орындалады.

Таңдау операторына ай кварталдары бойынша есеп шығарып көрейік:

program esep;

var month:integer;

begin

case MONTH of

read(month);
1, 2, 3 : writeln (‘1- квартал’);
4, 5, 6 : writeln (‘2- квартал’);
7, 8, 9 : writeln (‘3- квартал’);
10, 11, 12 : writeln (‘4- квартал’); else writeln(‘ондай ай жок’)
end;

readln;

end.

Осы есептерді Pascal ABC бағдарламасына жазып нәтижесін көрсетемін.

  1. Практикалық жұмыс. (15 мин) Оқушылар таратылған деңгейлік тапсырмалар бойынша жұмыс жасайды. Оқушылар берілген есептерді Camtasia Studio бағдарламасына жазады.

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

 

А  деңгей

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

В   деңгей

Орташа есептерді шығару.

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

PROGRAM sandar;

VAR a: integer;

Begin

Write(‘a енгиз’);

read(a);

if (a mod 2)=0 THEN write(‘жуп  сан’) else write(‘а так сан’);

end.

С  деңгей

Күрделі есептер

Бөлменің температурасы 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.

 

Таңдау операторына

Арифметикалық әрекеттер келесі сандармен нөмірленген:  1 — қосу, 2 — азайту, 3 — көбейту, 4 —бөлу. Нөмір әрекеті және екі сан берілген. (В нөлге тең емес). Берілген әрекет арқылы сандарды орындап, нәтижесін шығару.

Program Begin67;

Var  A,B,y:Real;

x:Integer;

begin

Write(‘Енгиз А,B:’);

ReadLn(A,B);

Write(‘Операция номерин енгиз:’);

ReadLn(x);

case x of

1:y:=A+B;

2:y:=A-B;

3:y:=A*B;

4:y:=A/B;

end; writeln(‘жауабы=’,y)

end.

Шығарылған есептерді қорытындылау.

  1. Қорытындылау. (3 мин)

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

Оқушыларға «Қосу-алу-қызықты» жаттығуы бар таратпа материалдар таратылады. Оқушылар өздерінің сабақ туралы  ойларың  жазады.

  1. Оқушыларды бағалау (2 мин)

 

 

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

Оқушының аты-жөніҮй тапсырмасы бойыншаДеңгейлік тапсырмаЖалпы бағасы
1.
2.
3.
4.
5.
6.
Жиыны

 

  1. Үй тапсырмасы. (1 мин)
  • Семей қаласының құрылу жылын анықтайтын программа құр. Егер қолданушы дұрыс жауап бермесе, онда экранға дұрыс жауапты шығару керек.
  • Массаның өлшем бірліктері келесідегідей нөмірленген: 1-килограмм, 2-милиграмм, 3-грамм, 4-тонна, 5-центнер. Массаның нөмірі (1-ден 5-ке дейін бүтін сан) және бұл өлшем бірліктердегі массаның денесі (нақты сан) берілген. Массаның денесін килограммен табу.