«Паскаль тілінде санның цифрларымен жұмыс істеу алгоритмі»

76

Сабақ тақырыбы: «Паскаль тілінде санның цифрларымен жұмыс істеу алгоритмі»

 

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

1) Білімділік мақсаты:

—  Оқушының теориялық алған білімін практикада қолдана білуге  үйрету;

— Санның цифрларын бөліп алу алгоритмін меңгерту;

— Тапсырмаға сәйкес бағдарлама құра білуге үйрету;

2) Дамытушылық мақсат:

— Оқушының логиалық ой қорытуларын дамыту;

— Оқушыны шешім қабылдай білуге баулу, алған білімдерін шығармашылықпен қолдануға дағдыландыру;

— бағдарлама құрудағы дағды мен шеберлік-іскерліктерін қалыптастыру;

2)  Тәрбиелік  мақсаты:

— Қойған мақсатына жетуге тәрбиелеу;

— Жүйелі және ретті жұмыс жасауға тәрбиелеу;

— Қарым – қатынас мәдениетін қалытастыруға тәрбиелеу;

 

Сабақ міндеттері: Паскаль тілінде санның цифрларымен жұмыс істеу алгоритмін оқушылардың  меңгертуіне жағдай жасау. Бағдарламалау барысында қолдана білуге үйрету.

 

Сабақ түрі: Интерактивті — практикалық сабақ

 

Сабақ типі: Дағды мен шеберліктерін қалыптастыру;

 

Сабақ көрнекіліктері: Интератктивті тақта, бейнепроектор, Интернет жүйесі, слайд-оқулық, компьютерлі-дыбыстық тест, есеп – тапсырмалар, слайд-сызбалар,

 

Сабақ барысы:

 

І. Кіріспе  бөлім:

Сәлеметсіздер ме, құрметті 9-сынып оқушылары?. Бүгінгі біздің қашықтан оқыту мүмкіндігін пайдаланып өтетін сабағымыздың тақырыбы:  «Паскаль тілінде санның цифрларымен жұмыс істеу алгоритмі» деп аталады.

Бұл өтілетін тақырып 9-сыныптың бағдарламасы бойынша Паскаль бағдарламалау  тілінің сағаттарына сәйкес келеді.

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

Бүгінгі сабағымыздың басын Елбасымыздың мына сөзімен бастағым келеді. «“…жаңа технологияларды жүзеге асырып, өмірге енгізу игеру және жетілдіру —  бүгінгі мектеп оқушылары сіздердің еншілеріңіз» /Слайдтан президент сөзі көрініп тұрады./

Сабағымыздың міндеті: Тақырыбымда көрсетілгендей:  Паскаль тілінде санның цифрларымен жұмыс істеу алгоритмін меңгеру. Бағдарламалау барысында қолдана білуімізге  үйрену.

Бұл тақырыптың таңдалу себебі: көптеген есептерді шешу барысында санның цифрларын бөліп алып жұмыс істеу қажеттігі туындайды. Әсіресе олимпиада тапсырмаларында осы деңгейдегі есептер жиі кездеседі.  Сондықтан осы тақырып таңдалып алынды.

 

ІІ. Қажетті білімді қайталау.

Алдымен сіздер бұрын өткен материалдарды еске түсірейік. Мысалы:

—    A Div B   – А санын В-ға бөлгендегі бүтін бөлігі;

  • A Mod B – А санын В-ға бөлгендегі қалдығы;
  • Trunc(A) – А санының бүтін бөлігі;
  • Идентификатор := өрнек;  — меншіктеу операторы;
  • Readln(x);енгізу операторы;
  • Writeln(x);нәтиже алу операторы;
  • Goto k; –  шартсыз өту операторы;
  • If “шарт”  Then “1-О” Else “2-О”; — шартты оператор;
  • Case X of

1:

2:              таңдау операторы;

end;

Осы өтілген материалдар  негізінде санның цифрларымен жұмыс істеу алгоритмін  меңгерейік.

 

ІІІ. Жаңа білімді меңгеру

Санның цифрларын бөліп алу үшін төмендегідей алгоритм бойынша жұмыс жасау ұсынылады:

Оң жақтағы соңғы цифрды бөлектеп алу үшiн мына әдiстi (формуланы)  пайдаланамыз:

N – TRUNC(N/10)*10  нем.  N– (N div 10)*10, ал келесi санды бөлiп алу үшiн жаңа сан N= TRUNC(N/10) – ды қарастырамыз да жоғарыдағы әдiстi қайталаймыз. Бұл процестi алатын жаңа санымыз 0-ге тең болғанша жалғастыра беремiз. (терiс санның  цифрларын бөлектеп алу үшiн алдын  ала N=ABS(N)  түрiн алу керек).

 

Кейбір көп таңбалы емес есептерді шешуде сіздерге бастауыш сыныптардан бері таныс санды разрядқа жіктеу әдісін пайдаланған жөн.

Мысалы: N =457 сынын алсақ…

С:=N Mod 10               {7-ні бөліп алу}

B:=N Div 10) Mod 10   {5-ті бөліп алу}

A:=N Div 100              {4-ті бөліп алу}

 

N= A*100+B*10+C

(Мұндағы: А–жүздік, В–ондық, С–бірлік разряд)

 

Жоғарыдағы алгоритмді тәжірибеде қолану үшін, сіздерге мынадай есеп  ұсынылады: Пернетақтадан енгізілген N көп таңбалы санының неше орынды сан екенін және цифрларының қосындысын  есептеу керек .

 

PROGRAM SAN;

LABEL 3;

VAR N, N1, S, K, Т : INTEGER;

 

BEGIN

WRITELN (‘ Бір сан енгіз: ’);

READLN(N) ;  N:=ABS(N);  N1:=N;

S:=0;   K:=0;

3:   K:= N – TRUNC(N/10)*10;

S:=S+K;  Т:=Т+1;

N:=N DIV 10;

IF  N >0  THEN  GOTO 3;

WRITELN (N1, ‘  ’,  T , ‘ орынды сан’);

WRITELN (‘цифрларының қосындысы= ’, S)

END.

 

Әдетте көпшілік адамдар есеп шығаруды өте күрделі, көңілсіз жұмыс деп есептейді. Шындығында есеп шығару кезінде көптеген қызықты жайларды бастан кешіруге болады. Мысалы; сіздер өмірде машиналардың нөмірінен немесе автобус, троллейбус билеттерінен бақытты сандарды іздеп , тауып қуанышқа бөленетін жандарды кездестіріп жүрсіздер. Мен сіздерге алты орынды санның бақытты сан екендігін дәлелдейтін бағдарлама құруды ұсынамын. Егер де кім де кім осы есепті тезірек шеше алса, сол адамның бақытқа жететіні сөзсіз.

 

Енгізілген 6 орынды санның бақытты сан екендігін анықтайтын программа құр.
/Бақытты сан деп алдыңғы үш цифрының қосындысы кейінгі үш цифрының қосындысына тең болатын сандарды  айтамыз. Мыс: 643580 /

 

PROGRAM   BAKITSANI;

VAR   N: LONGINT;

A,B,A1,A2,A3,B1,B2,B3 :  INTEGER;

BEGIN

WRITE (‘ 6 орынды бір сан енгіз ¢);

READLN  (N);

A:=N DIV 1000;    {Алдыңғы үш цифрды бөліп алу}

B:=N MOD 1000;   {Кейінгі үш цифрды бөліп алу}

A1:=A MOD 10; A2:=(A DIV 10)MOD 10; A3:=A DIV 100;

B1:=B MOD 10;  B2:=(B DIV 10)MOD 10; B3:=B DIV 100;

IF В1+В2+В3=A1+A2+A3  THEN  WRITE (N, ‘-бақытты сан’)

ELSE WRITE (N, ‘-бақытты сан емес’);

END.

 

Келесі бағдарламамыз тағы да қызықты сандармен байланысты. Сіздердің Палиндром сандар туралы білгілеріңіз келе ме? Мүмкін кейбіреулеріңіз білетін де шығарсыздар. Ал, естімегендеріңіз бәрібір өмірде кездестіріп жүрсіздер. Палиндром сан тура оқығанда да және кері оқығанда да мәні бірдей сандарды айтады. Мысалы 121, 3223.

 

Енгізілген үш орынды санның Палиндром сан екенін анықтайтын программа құрастырайық.  

PROGRAM  PАLINDROM1;

LABEL 2;

VAR    N: INTEGER;

BEGIN

2: WRITELN (‘ Үш таңбалы  сан енгіз: ’);

READLN(N) ;

IF (N>999) OR (N<100) THEN  GOTO 2;

IF  N MOD 10 = N DIV 100

THEN  WRITE  (N, ‘-Палиндром сан’)

ELSE  WRITE  (N, ‘ -палиндром  емес’)

 END.

 

Сіздерге жоғарыдағы алгоритмді қолдана отырып тапсырмаларды орындап, бағдарлама құру ұсынылады:

 

ІV. Бекіту кезең.

Тапсырма1

N натурал саны берілген.

А) 3-ке бөлінгіштік белгісі бойынша 3-ке бөлінетінін не бөлінбейтінін аныќта (Егер цифрларыныњ ќосындысы 3-ке бөлінсе, онда сол сан 3-ке бөлінеді)

Б) 5-ке бөлінетіндігін тексер (Егер N саныныњ соңғы цифры 0 немесе 5 болса, онда N 5-ке бөлінеді)

 

Тапсырма2

Үш таңбалы сан берілген: Анықтау керек:

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

 

Енді қандай аймақтан дұрыс жауап бұрын келетіндігін күтеміз. Іске сәт!

 

Егер есептеп болсаңыздар, аймақтардағы оқушылар үшін компьютерлік дыбыстық тест тапсырмалары беріледі. Тапсырма бойынша дұрыс жауабын айту үшін тікелей байланысқа шығуларыңыз қажет.  Кәне, қай өңір бірінші екен. Мен сіздердің қол  көтерулеріңізді күтемін. /компьютерлік дыбыстық тест слайдтан көрініп тұрады, аймақтар жауабын айту қажет./

 

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

 

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

Берілген тапсырмалар бойынша бағдарламалар құру;

 

Қорытынды:

Сабағымызды қорытындылай келе, біз нені меңгердік, нені меңгеру керек» деген сұрақтарға жауап беруіміз керек. Атап айтсақ үйренгеніміз:

— санның цифрларын бөліп алу алгоритмін меңгердік;

— сандардың түрлері, атаулары туралы мағлұмат алдық /бақытты сандар…/;

— бағдарлама құру дағдыларын жетілдірдік;

— бір-бірімізбен байланысқа  шықтық;

Сондықтан сабағымыз өз мақсатына жетті деп есептейміз.  Естеріңізде болса

Елордамыз Астанадан байланысқа шыққандар үшін мерейтойлы Астанадан жұлдыз сыйлаймыз. /Қазақстан картасына белгілер салу/

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