Begin
Write(‘x=?’);
Readln(x);
If x<=0 then y:=sqr(x);
Writeln(‘y=’,y);
End.
Программада ќажеттілікке ќарай IF операторын бірнеше рет ќолдануѓа болады. Мысалы, берілген а,в,с ‰ш б‰тін санныњ ењ кішісін табу.
Program esep2;
Var a,b,c,min:integer;
Begin
Writeln(‘‰ш б‰тін сан енгіз’);
Readln(a,b,c);
If athen min:=a else min:=b;
If c
Writeln(‘‰ш санныњ кішісі min=’, min);
Readln;
End.
Егер, then жєне else ќызметші сµзінен кейін орындалатын операторлар саны екі немесе екіден де кµп болса, онда б±л операторды begin жєне end оператор жаќшасына аламыз. Яѓни, шартты кµшу операторын ќ±рама оператордыњ кµмегімен жазамыз. Ќ±рамында ќ±рама операторы бар IF операторыныњ жазылуы:
If <шарт> then
Begin
<1-оператор>;
<2-оператор >;
…
;
End
Else
Begin
<1-оператор>;
<2-оператор >;
…
;
End;
Шартты кµшу операторыныњ м±ндай жазылуына мысал ретінде квадрат тењдеуді, ax2+bx+c=0, a= 0 шешудіњ программасын жєне блок - схемасын келтірейік.
Program esep3;
Var a,b,c,D:integer;
x,x1,x2:real;
begin
writeln(‘a,b,c-енгіз’);
readln(a,b,c);
D:=sqr(b)-4*a*c;
Writeln(‘D=’,D);
If D>0 then
begin
x1:=(-b-sqr(D))/2*a;
x2:=(-b+sqr(D))/2*a;
writeln(‘x1=’,x1:5:2,’ x2=’,x2:5:2)
end
else
if D<0 then
begin
writeln(‘тењдеудіњ бір т‰бірі бар’);
x:=(-b-sqr(D))/2*a;
writeln(‘x=’,x:5:2)
end
else
writeln(‘тењдеудіњ т‰бірі жоќ’);
readln
end.
Есептіњ к‰рделенуіне байланысты IF операторы ќ±рамына екінші бір IF операторын кірістіруге болады. Шартты кµшу операторын м±ндай т‰рде пайдаланудыњ тµмендегідей н±сќалары бар.
1-н±сќасы.
If <1-шарт> Then
If <2-шарт> Then <1-оператор> else <2-оператор>
Else <3-оператор>;
2-н±сќасы.
If <1-шарт> Then <1-оператор>
Else <2-шарт> Then<2-оператор>
Else <3-оператор>;
3-н±сќасы.
If <1-шарт> Then If <2-шарт> Then <1-оператор>
Else <2-оператор>;
If операторыныњ жоѓарыдаѓы жазылу н±сќаларын программада ќолданѓанда 1- шарт жєне 2- шартты жазуда белгілі бір реттік болуы керек. Яѓни, мєні аќиќат (true) мєнге жаќын шарт екінші жазылѓаны программаныњ жылдам орындалуын ќамтамасыз етеді.
f операторыныњ кірістіріліп жазылуыныњ 2-н±сќасы бойынша мысал келтірілген.
М±нда берілген ‰ш санныњ кµбейтіндісін жєне ќосындысын есептеп ќайсысы ‰лкен екендігін табу керек. Яѓни, x,y,z наќты сандар берілген. Max(x*y*z, x+y+z) есептеу.
Program esep4;
Uses crt;
Var x,y,z,S,P:double;
begin
clrscr;
writeln(‘x,y,z-енгіз’);
readln(x,y,z);
S:=x+y+z;
P:=x*y*z;
If S>P then write (‘ќосынды ‰лкен’,S, ‘>’,P)
else
if S
кµбейтінді ‰лкен’,S,’>’,P)
else
write(‘кµбейтінді ‰лкен’,S,’>’,P)
readln;
end.
If шартты операторы қолданушының білімін тексеретін әртүрлі мәтіндік бағдарламаларды құру кезінде де ыңғайлы. Мысалы, қолданушыға «Адам космосқа алғаш рет қай жылы ұшты?» деген сұрақ қойылсын. Бұл жағдайда қолданушыға сұрақ writeln операторының көмегімен қойылады, қолданушы пернеліктақтадан жылды теру арқылы жауап береді. Ендірілген мән і айнымалысына меншіктеледі де дұрыс жауаппен салыстырылады. Шарт дұрыс орындалса writeln операторы экранға жауап дұрыс деген мәлімет шығарады, егер і айнымалысының мәні дұрыс жауаппен сай келмесе экранға қолданушының қателескендігі туралы мәлімет шығады.
Program flight;
Uses crt;
var
i:integer;
begin
clrscr;
writeln(‘Адам космосқа алғаш рет қай жылы ұшты?’);
writeln(‘Жылды енгізгеннен кейін «Enter» пернесін басыңыз’);
readln(i);
if i=1964
then writeln(‘Сіз дұрыс жауап бердіңіз’)
else writeln(‘Сіз қателестіңіз’);
readln;
end.
Тақырыпты бекіту:
Деңгейлік тапсырмалар:
Берілген А және В сандарының үлкенің табындар.
Екі нақты сан берілген Егер бірінші сан екінші саннан кіші немесе тең болса, онда оны нөлмен алмастырыңдар, кері жағдайда сандарды өзгеріссіз қалдырыңдар.
Үш нақты сан берілген. Осы сандардың ішінен [1;3] аралығында жататын сандарды табыңдар.
Сабақты қорытындылау, оқушыларды бағалау:
Сонымен, балдар:
Тармақталу операторы қандай қызмет атқарады?
Қандай жағдайда біз тармақталу операторларын қолданамыз?
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
Берілген үш санның ең үлкенің және ең кішісін анықтандар.
Екі таңбалы санның бірінші цифры 4-ке бөлінеді ме?
Даны натуральные числа x, y, z , определяющие возраст трех друзей. Из данных чисел напечатать те, которые обозначают «школьный» возраст, то есть 7 до 16 лет.
№17 Сабақ
Мерзімі:
Сабақ тақырыбы: Таңдау операторы.
Сабақтың мақсаты: шартты алгоритм ұғымдарымен және операторларымен таныстыру, жазылу структурасымен практикалық жұмыстар (есептер шығару) жасау арқылы меңгерту.
Үй тапсырмасын талқылау:
Үй тапсырмасында қиындық туғызған сұрақтар талқыланады, оқушылардың ойы тыңдалып шығарудың басқа жолдарын табу жағдай жасалады.
Өтілген материалдар бойынша тапсырма:
Шартты оператордың құрылымы қалай құрылады?
Егер әйтпесе мен онда операторларының орның ауыстырсақ не болады?
Жаңа тақырыпты түсіндіру:
Таңдау операторы
Программалауда ќойылѓан шартќа байланысты алгоритмніњ тармаѓыныњ саны кµп болѓанда case тањдау операторын ќолдану тиімді. Тањдау операторыныњ жалпы жазылуы:
Case S of C1:1-оператор;
C2:2-оператор;
…
Cn:n-оператор;
Else
оператор;
End.
М±ндаѓы: C1,C2…Cn-тұраќтылар, S-кез келген өрнек. S-өрнек есептелгенде нәтижесі тұраќтылардың біріне тењ болуы керек. өрнектің мәєні мен тұраќты сәйкес келгенде сол тұраќты мен белгіленген оператор орындалады. Сол себепті, µрнек пен т±раќты типі сєйкестендіріледі. ¤рнектіњ типі integer, char, boolean болуы керек. ¤рнектіњ мєні бірде бір т±раќтыѓа сєйкес келмесе else ќызметші сµзінен кейінгі оператор орындалады.
Мысалы, реттік нµмірі ай аттарын жєне жыл мезгілініњ ќайсысы екендігін аныќтауды ќарастырайыќ:
Program ai;
Uses crt;
Var x:byte;
begin
write(‘Айдың реттік нөірін еңгіз’);
readln(x);
case x of
1: Write(‘Ќантар’);
2: Write(‘Аќпан’);
3: Write(‘Наурыз’);
4: Write(‘Сєуір’);
5: Write(‘Мамыр’);
6: Write(‘Маусым’);
7: Write(‘Шілде’);
8: Write(‘Тамыз’);
9: Write(‘Ќырк‰йек’);
10: Write(‘Ќазан’);
11: Write(‘Ќараша’);
12: Write(‘Желтоќсан’);
else
Writeln(‘б±л нµмірлі ай жоќ’);
end;
case x of
1..2,12: writeln(‘ќыс’);
3..5:writeln(‘кµктем’);
6..8:writeln(‘жаз’);
9..11:writeln(‘к‰з’);
end;
end.
Б±л программада тандау операторы екі рет ќолданылѓан.
Егер, бірнеше т±раќтыѓа бір ѓана оператор сєйкес келсе т±раќтыларды ‰тір (,) арќылы жазуѓа болады. Ал, т±раќтылар диапозоныњ көрсету ‰шін (..) тањбасын пайдаланамыз. Мысалы, берілген сандардыњ ж±п немесе таќ екендігін аныќтау программасы:
Program candar;
Var y:byte;
Begin
Write(‘сан енгіз’);
Readln(y);
Case x of
0,2,4,6,8: write(‘ж±п сан’);
1,3,5,7,9:write(‘таќ сан’);
10..100:write(’10 мен 100 аралыѓындаѓы сан’);
else
writeln(‘Теріс сан немесе 100-ден ‰лкен сан’);
end;
end.
Case операторыныњ else бµлігін ќолданбаса да болады. Мысалѓа жазыќтыќтаѓы A(x,y) н‰ктесініњ ќай ширекте жатќандыѓын аныќтау программасын келтірейік:
Program shirek;
Var k:integer;
Begin
Write(‘Ќай ширек?’);
Readln(k);
Case k of
1:Write(‘A(x,y) І-ширекте , x>0 жєне y>0’);
2:Write(‘A(x,y) IІ-ширекте , x<0 жєне y>0’);
3:Write(‘A(x,y) ІII-ширекте , x<0 жєне y<0’);
4:Write(‘A(x,y) ІV-ширекте , x>0 жєне y<0’);
end;
end.
Б±л программа орындалѓанда k айнымалысына енгізілген мєн берілген т±раќтылардыњ біріне сєйкес келмесе, тањдау опрераторыныњ else бµлігініњ жоќ болуына байланысты б±л оператор бос к‰йінде ќалады.
Тақырыпты бекіту:
Деңгейлік тапсырмалар Журналдан алынады. 3бет №2.2, 2.4, 2.6, 2.7 6 бет № 3.29, 3.30
Сабақты қорытындылау, оқушыларды бағалау:
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы: 5бет № 3.14, 3.15, 3.17. 3.24
№18 Сабақ
Мерзімі:
Сабақ тақырыбы: Өту операторы. Бос оператор.
Сабақтың мақсаты: шартты алгоритм ұғымдарымен және операторларымен таныстыру, жазылу структурасымен практикалық жұмыстар (есептер шығару) жасау арқылы меңгерту.
Үй тапсырмасын талқылау:
Үй тапсырмасында қиындық туғызған сұрақтар талқыланады, оқушылардың ойы тыңдалып шығарудың басқа жолдарын табу жағдай жасалады.
Өтілген материалдар бойынша тапсырма:
Шарты операторлар қандай жағдайда қолданылады?
Жаңа тақырыпты түсіндіру:
Шартсыз көшу операторы
Turbo Pascal тіліндегі программада операторлар жазылған ретімен орындалады. Осы реттілікті өзгертіп отыратын, яғни программаның кебір бөліктерін орындамай өтіп кету және кері қайту үшін, шартсыз көшу операторы қолданылады.
Шартсыз көшу операторының жалпы жазылуы:
GOTO белгі;
GOTO операторы орындалғанда, программаның орындалу реті бұзылып белгіленген операторға көшу жүзеге асады. Бір белгімен бір оператор белгіленеді. Белгі мен оператор арасында қос нүкте (:) таңбасы қойылады. Белгі 0-9999 бүтін сандарымен және идентификатормен қойылады. Бұл белгі программаның label бөліміне хабарлануы керек. Мысалы,
Label 10;
…
Begin
…
Goto 10;
…
10:y:=2*x;
…
end.
Мұнда goto 10 операторынан кейін программаның орындалуы 10 санымен белгіленген операторға көшіріледі.
Ескерту: GOTO оперторы программаның логикалық құрылымын күрделендіріп жібереді. Сол себепті бұл операторды жиі пайдаланудың қажеті жоқ!
Тақырыпты бекіту:
Деңгейлік тапсырмалар:
6 бет
№4.1, 4.2, 4.7(а,б,в,г,д,е,ж,з), 4.9 (а,б,в)
Тапсырмалар оқушыларға деңгей бойынша бөліні беріледі
Сабақты қорытындылау, оқушыларды бағалау:
Шартты өту оператор мен шартсыз өту операторларының айырмашылығы неде?
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
6 бет №4.8 (а,б,в,г,д)
№20 Сабақ
Мерзімі:
Сабақтың мақсаты: оқушылардың білімін жинақтау.
Үй тапсырмасын талқылау:
Үй тапсырмасын оқушылардың дәптерлерін жинап алып тексеремін.
Өтілген материалдар бойынша тапсырма:
Шартты алгоритм дегеніміз не?
Шартты/шартсыз өту операторлаын ата?
Жаңа тақырыпты түсіндіру:
№3 Бақылау жұмысы
І нұсқа
1. 25 санын 3-ке бөлгендегі бүтін бөліндіні табыңдар.
2. n және m бүтін санды айнымалыларының мәндері 3-ке бөлінетін немесе бөлінбейтіндігін анықтаңдар. Егер екі санның да мәні 3-ке бөлінсе қосындысын, кері жағдайда айырымын есептеңдер.
Мыс: 12 және 6 сандарын енгізгенде: «3-ке бөлінеді», «қосындысы: 18»
12 және 5 сандарын енгізгенде: «3-ке бөлінбейді», «айырымы: 7»
3. n (n<9999) натурал саны берілген. Санның төрт цифрының да әр түрлі болуы не болмауын анықтаңдар.
ІI нұсқа
1. 42 санын 5-ке бөлгендегі бүтін қалдықты табыңдар.
2. Үш таңбалы n (99<1000) саны берілген. Осы санның цифрларының қосындысын есептеңдер. Енгізілген сан үш таңбалы болмаған жағдайда «Енгізілген сан үш таңбалы емес» хабары шығу керек.
Мыс: 123 саның енгізгенде: 1+2+3=6
«Енгізілген үш таңбалы санның цифрларының қосындысы: 6 »
12 саның енгізгенде:
«Енгізілген сан үш таңбалы емес»
3. n (n<9999) натурал саны берілген. Берілген санның үш цифры бірдей сан бола ма?
Сабақты қорытындылау, оқушыларды бағалау:
Бақылау жұмыстары сабақ аяқталуына 5 мин қалған жиналып алынады.
Үй тапсырмасын орындау кезенде жіберген қателері талқыланады.
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
Тақырыпты қайталау.
№21 Сабақ
Мерзімі:
Сабақ тақырыбы: Циклдік алгоритм. Цикл түрлері
.
Циклдік оператор While-Do
Сабақтың мақсаты: циклдік алгоритм ұғымдарымен және операторларымен таныстыру, жазылу структурасымен практикалық жұмыстар (есептер шығару) жасау арқылы меңгерту.
Өтілген материалдар бойынша тапсырма:
Парта үстінде бір қара жәшік тұр, оның ішінде шар бар, мұғалім оқушыға парта үстіндегі жәшіктен шарды алып келесі оқушыға бер деген тапсырма берсе. Оқушы берілген тапсырманы орындау үшін қандай алгоритмді қолданады.
Парта үстінде екі қара жәшік тұр, олардың біреуінде қызыл түсті, екіншісінде көк түсті шар бар, мұғалім оқушыға парта үстіндегі жәшіктердің ішінен қызыл шарды алып келесі оқушыға бер деген тапсырма берсе. Оқушы берілген тапсырманы орындау үшін қандай алгоритмді қолданады.
Парта үстінде төрт қара жәшік тұр, олардың әр қайсысының ішінде әр түрлі зат бар, мұғалім оқушыға парта үстіндегі жәшіктердің біреуінің ішінде шар болса алып келесі оқушыға бер деген тапсырма берсе. Оқушы берілген тапсырманы орындау үшін қандай алгоритмді қолданады.
Жаңа тақырыпты түсіндіру:
Циклдік оператор.
Берілген есепті шешуде алгоритмніњ кейбір бµліктері біренеше рет ќайталанып орындалуы м‰мкін. М±ндай ќ±рылымды алгоритмді ќайталану алгоритм немесе циклдік ќ±рылымды алгоритм деп атаймы. Turbo Pascal – да Циклдік ќ±рылымды алгоритмді программалауды ‰ш т‰рлі жолмн ±йымдастыруѓа болады.
Алдын – ала шартты тексеру арќылы.
Келесі шарт бойынша.
Параметрдіњ мєніне тєуелді.
‡ш т‰рлі жолмен ±йымдастырылаын циклѓа арнайы операторлар ќолданылады. Олардын єрќайсысына тоќталайыќ.
While операторы.
Алдын – ала берілген шартты тексеру арќылы циклді ±йымдастыруѓа While операторы ќолданылады. While операторын циклдіњ ќайталану саны белгісіз болѓанда пайдаланѓан ыњѓайлы. Ќайталанушы процесс ќойылѓан шартты тексеру арќылы ж‰зеге асады. Яѓни шарт аќиќат болса цикл ќайталанады да, шарт жалѓан болса циклдан шыѓу орындалады. While операторы екі бµліктен т±рады: циклдіњ таќырыбынан жєне циклдіњ денесінен.
Жалпы жазылуы:
While <шарт> do
<циклдіњ денесі>;
М±ндаѓы, ќызметші сµздердіњ ќазаќша маѓынасы: While – “єзір”, do – “орында”. Ал, шарт- логикалыќ µрнек т‰рінде жазылады. Берілген шартќа тєуелді бірнеше рет ќайталанып орындалатын операторды – цикл денесі деп атаймыз.
While операторы алгоритмдік тілдегі “әзір” цикл командасына сәйкес. “әзір” цикл командасыныі жазылуы жєне блок схемасы:
әзір <шарт>
цб
<цикл денесі>
цс
бітті
Жоѓарыдаѓы блок схема While операторымен ±йымдастырылатын циклді толыќ сипаттайы. While операторында , єрбір ќайталанудыњ алдында берілген шарт тексеріледі. Шарт аќиќат болса цикл денесі орындалады. Егер, шарт орындалмаса, цикл денесі бір де бір рет орындалмайды.
Егер, цикл денесі екі немесе одан да кµп оператордан т±рса, оларды операторлық жаќша ішіне жазамыз.
While <шарт> do
begin
<цикл денесі>;
end;
Мысалы, y=x2 функциясыныњ мєніњ есептеу, м±ндаѓы x=1,2,3,4,5,6. Программаныњ нєтижесінде х аргументі мен сєйкес функцияныњ мєні кесте т±рінде шыѓады. х-тіњ µзгеру ќадамы 1-ге теіњ.
Program esep1;
Var y,x:integer;
Begin
x:=1; {х-тіњ бастапќы мєніњ меншіктеу}
While x<=6 do {цикл тєуелді болатын шарт}
Begin
y:=sqr(x); {х-тіњ мєні бойынша y-ті есептеу}
Writeln(‘x=’,x,’_|_y=’,y); {х жєне у экранѓа шыѓару}
x:=x+1; {х-тіњ µзгеру ќадамы}
end;
end.
Нєтиже:
x=1 | y=1
x=2 | y=4
x=3 | y=9
x=4 | y=16
x=5 | y=25
x=6 | y=36
While операторында программалаушы циклдіњ µзгеру ќадамын µзі таѓайындап отырады. Мысалы, 1-ден 50-ге дейінгі ж±п сандардыњ ќосындысын есептеу ќажет болсын. Яѓни, S=2+4+6+…+20 Циклдіњ µзгеру ќадамы 2 болу керек.
Program esep2;
Uses crt;
Var S,x:integer;
Begin
Clrscr;
x:=2; S:=0; {x,S бастапқы мәнін меншіктеу}
While x<=20 do {цикл тәуелді болатын шарт}
begin
S:=S+x; {x-тің мәні бойынша у-ті есептеу}
x:=x+2; {x-тің өзгеру қадамы 2-ге тең}
end;
Writeln(‘S’,S); {қосындыны экранға шығару}
End.
Нәтиже: S=110
Тақырыпты бекіту:
Деңгейлік тапсырмалар:
7 бет № 5.1, 5.2, 5.6, 5.9, 5.12
Сабақты қорытындылау, оқушыларды бағалау:
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
7 бет №5.9, 5.10, 5.17
№22 Сабақ
Мерзімі:
Сабақ тақырыбы: Циклдік оператор Repeat-Until.
Сабақтың мақсаты: циклдік алгоритм ұғымдарымен және операторларымен таныстыру, жазылу структурасымен практикалық жұмыстар (есептер шығару) жасау арқылы меңгерту.
Жаңа тақырыпты түсіндіру:
Келесі шарт бойынша циклді ұйымдастыру
Циклдік процесстерді ұйымдастыруда Repeat операторы циклдің қайталану саны белгілі болғанда қолданады. Repeat оператордың жалпы жазылуы.
Repeat
<цикл денесі>
Until <шарт>;
Мұндағы, қызметші сөздер repeat – қайтала, until - соған дейін деген мағынада қолданылады. Цикл денесі – қайталанып орындалатын бір немесе бірнеше оператордан тұрады. Цикл денесін құрайтын операторлар санына шектеу қойылмайды. Шартты тексеру логикалық өрнек арқылы жүргізіледі.
Repeat операторы алгоритмдік тілдегі “дейін” цикл командасына ұқсас. “Әзір” цикл командасынан “дейін” циклінің айырмашылығы: қойылған шартқа тәуелсіз бірінші цикл денесі орындалады. Содан кейін шарт тексеріледі. Демек, шарт ақиқат болмаса цикл денесі кемінде бір рет орындалады. Repeat операторының қызметін суреттегі блок схема арқылы сипаттауға болады.
1-мысал. 1 кг ірімшік 300 теңге тұрады. Ірімшіктің 100, 200, 300,…,1000 граммына төленетін теңгені анықтайтын және есептің жауабын кесте түрінде шығарудың блок схемасын және программасын жазайық.
Program ecep1;
Var m:integer; z:real;
Begin
m:=100;
Repeat
z:=(300*m)/1000;
Writeln(m,’_|_’, z:4:0);
m:=m+100;
Until m>1000;
Readln;
end.
2-мысал. Бүтін сандардың n тізбегі берілген. Осы тізбектегі оң таңбалы бүтін сандардың саның анықтаудың программасын жазайық.
Program esep2;
Var i,a,n,S : integer;
Begin
Write(‘N-?’);
Readln(N);
S:=0; i:=1;
Repeat
Writeln(‘бүтін сан енгіз’);
Readln(a);
If a>0 then S:=S+1;
i:=i+1;
until (a>0) or (i>n);
write(‘оң сандар саны=’, S);
end.
Тақырыпты бекіту:
Деңгейлік тапсырмалар:
7 бет № 5.13, 5.14 және алдынғы сабақтағы есептер
Сабақты қорытындылау, оқушыларды бағалау:
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
7 бет №5.9, 5.10, 5.17
№23 Сабақ
Мерзімі:
Сабақтың тақырыбы: Циклдік оператор For-Do, For-Downto
Сабақтың мақсаты: циклдік алгоритм ұғымдарымен және операторларымен таныстыру, жазылу структурасымен практикалық жұмыстар (есептер шығару) жасау арқылы меңгерту.
Жаңа тақырыпты түсіндіру:
For операторы
Циклдік құрылымды алгоритмді программалауда, қайталанушы процесс бір айнымалының мәніне тәуелді болса, For операторын қолданамыз. Айнымалы тек бір қадамға ғана өзгеріп отырып, циклді басқарады. Бұл айнымалы циклдің параметрі делінсе, For операторы параметрлі қайталану операторы деп аталады.
For операторы алгоритмдік тілдегі параметрлі қайталану командасына сәйкес келеді.
і үшін m1 бастап m2 дейінгі һ қадам
Цб
Серия
Цс
For операторы екі түрлі жазылады:
For x:=m1 to m2 do S1;
Мұндағы, қызметші сөздер: For (үшін), to (дейін)- циклдің қадамы +1-ге өсіп отыратындығын көрсетеді, do (орында);
x- скалярлық типтегі айнымалы циклдің параметрі.
m1- цикл параметрінің бастапқы мәні.
m2 - цикл параметрінің соңғы мәні.
S1 - цикл параметрініне тәуелді қайталанып орындалатын оператор. Сондықтан S1 – цикл денесі деп аталады.
For x:=m1 downto m2 do S1;
1-нұсқадан өзгешелігі to орнына downto (төменге дейін) қызметші сөзі жазылады. Downto циклдің өзгеру қадамы –1 ге тең екендігін көрсетеді Мұнда х-тің мәні m1-ден m2-ге дейін –1 қадаммен кему үшін m1>m2 шарты орындалуы керек. Егер бұл шарт орындалмаса цикл денесі бірде бір рет орындалмайды.
Егер, цикл денесі бірнеше оператордан тұрса, begin жіне end операторлар жақшасын пайдаланамыз.
For x:=m1 to m2 do S1;
begin
S1;S2;…;Sn
end;
For x:=m1 downto m2 do S1;
begin
S1;S2;…;Sn
end;
Параметрдің мәніне тәуелді циклді блок- схемада төмендегідей сипаттаймыз.
Параметрі ќайталану операторыныњ жазылуына жєне оныњ орындалуына мысалдар келтірейік:
Операторлардыњ жазылуы |
нєтижесі
|
For k:=1 to 6 do Write(x,’,’)
|
-1,0,1,2,3,4,5,6,
|
For k:=3 to 3 do Write(x,’,’)
|
3
|
For k:=1 to 9 do Write(x,’,’)
|
1,2,3,4,5,6,7,8,9,
|
For k:=-1 to -6 do Write(x,’,’)
|
Цикл орындалмайды
|
For k:=10 downto 6 do Write(x,’,’)
|
10,9,8,7,6,
|
For k:=0 downto –1 do Write(x,’,’)
|
0,-1,
|
For k:=1 downto 16 do Write(x,’,’)
|
Цикл орындалмайды
|
6-кесте
1-мысал, P=1*2*,…,*10 сандарыныњ кµбейтіндісін есептеу.
Program esep1;
Var i,P:integer;
begin
P:=1;
For i:=1 to 10 do
P:=P*i;
Writeln(‘P=’,P);
Readln;
End.
2-мысал, y=x3 функциясын x=6,5,4,…,1 болѓандаѓы мєндерін аныќтау. Нєтижеде жоѓарыдаѓы мысалдаѓыдай аргументтіњ жєне функцияныњ мєні кесте т‰рінде шыѓады. М±ндаѓы цикл х-тіњ кему ќадамы бойынша ±йымдастырылады.
Program esep2;
Var x,y:integer;
Begin
For x:=6 downto 1 do
Begin
y:=sqr(x)*x;
writeln(‘x=’,x,’|’,’y=’,y);
end;
readln
end.
Нәтиже:
x=6 | y=216
x=5 | y=125
x=4 | y=64
x=3 | y=27
x=2 | y=8
x=1 | y=1
3-мысал. 1-ден 100 дейінгі сандардыњ арифметикалыќ ортасын аныќтаудыњ программасы.
Program esep3;
Var i,S:integer; A:real;
begin
S:=0;
For i:=1 to 100 do
S:=S+i;
A:=S/100;
Writeln(‘A’,A:4:1);
Readln
end.
Тақырыпты бекіту:
Деңгейлік тапсырмалар:
7 бет №5.5, 5.6 5.7
Сабақты қорытындылау, оқушыларды бағалау:
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
7 бет №5.9, 5.10, 5.17
№24 Сабақ
Мерзімі:
Сабақ тақырыбы: №3 тест
Сабақтың мақсаты: оқушылардың білімін тианақтау
Жаңа тақырыпты түсіндіру:
Тест №3
Идентификатор тек қана ... немесе ... басталады.
А) әрiптен, символдан Ә) әрiптен, цифрдан Б) цифрдан, төменгi сызықшадан
В) әрiптен, төменгi сызықшадан Г) символдан, төменгi сызықшадан
Паскальда циклдердi ұйымдастырудың үш түрi бар:
А) Read, While, Repeat Ә) Write, While, Repeat Б) While, Repeat, Else
В) While, Repeat, For Г) While, Repeat, Do
For-Do циклдiк операторы қайталау саны ... жағдайларда қолданылады.
А) алдын ала белгiлi болғанда Ә) айнымалылар белгiлi болғанда
Б) тұрақтылар берiлген жағдайда В) тұрақтылар бүтiн болғанда Г) айнымалылар нақты болғанда
Егер басқару айнымалысының алғашқы мәнi соңғы мәнiнен ... немесе ... болса, онда цикл денесi бiр рет те орындалмайды.
А) тең, кем Ә) кем, тең Б) артық, кем В) артық, тең Г) кем, артық
Өту операторының жазылуы:
А) For <таңба>; Ә) For <денесi>; Б) Goto <денесi>; В) Goto <таңба>; Г) Unti l<таңба>;
Тармақталу операторының жазылу түрi:
А) if <шарт> then <оператор1> else <оператор2>; Ә) if <идентификатор> then <идентификатор>;
Б) if <оператор> then <шарт>; В) if <айнымалы> else <мәнi>; Г) if <айнымалы> then <мәнi>;
Мәлiметтiң символдық шама қарапайым типiн таңдаңыз
А) real Ә) integer Б) char В) boolean Г) array
Тармақталу операторы IF-тiң жалпыланған түрiне жататын таңдау операторы.
А) read-write Ә) read-readln Б) case-of В) gase-then Г) gase-else
Келесi операторлар орындалғаннан кейiнгi S-тiң мәнiн анықта
S:=1; n:=1;
for i:=2 to n do
s:=s+1/i; А) 3/2 Ә) 1/5 Б) 0 В) 1 Г) 3
Көшу операторы
А) if-then Ә) goto Б) while-do В) repeat-do Г) if-then-else
Шартты басында қою арқылы орындалатын циклдық оператор
А) if-then Ә) for-do Б) while-do В) repeat-until Г) case-of
Шартты соңында қою арқылы орындалатын циклдық оператор
А) if-then Ә) for-do Б) while-do В) repeat-until Г) then-else
while b do s;
мұндағы: А) b-цикл денесi, s-логикалық өрнек Ә) b-логикалық өрнек, s-цикл денесi
Б) b-символдық айнымалы, s-оператор В) b-оператор, s-символдық айнымалы
Г) b-оператор, s-логикалық өрнек
Программада өңделетiн мәлiметтердiң берiлген мәндерiн оқып, операторда көрсетiлген айнымалыларға меншiктейтiн оператор
А) write Ә) round Б) writeln В) read Г) readln
var i:integer;
begin for i:=1 to 6 do
if (i mod 2)=0 then write(i); end; А) 2 3 4 Ә) 1 3 5 Б) 1 2 3 В) 2 4 6 Г) 5 2 6
Тексеру нәтижесiнде "иә" (true) немесе "жоқ" (false) мәндерiн қабылдайтын логикалық өрнектiң аталуы
А) бұйрық Ә) шарт Б) серия В) алгоритм Г) программа
Мәлiметтiң нақты сан қарапайым типiн таңдаңыз
А) real Ә) integer Б) char В) boolean Г) array
Type қандай тарауды бiлдiредi
А) тұрақтылар Ә) операторлар Б) айнымалылар В) таңбалар Г) типтер
repeat s until b;
мұндағы: А) b-цикл денесi, s-логикалық өрнек Ә) b-оператор, s-символдық айнымалы
Б) b-символдық айнымалы, s-оператор В) b-логикалық өрнек, s-цикл денесi
Г) b-оператор, s-цикл денесi
Экранды тазартуға арналған оператор.
А) var Ә) Crt Б) Graph В) cls Г) type
Жауаптар:
Тест №3
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
вариант
|
В
|
В
|
А
|
Б
|
В
|
А
|
Г
|
Б
|
В
|
Ә
|
Б
|
В
|
Ә
|
В
|
В
|
Ә
|
А
|
Г
|
В
|
В
|
Сабақты қорытындылау, оқушыларды бағалау:
Тест оқушылардан сабақтың аяқталуына 10 мин қалғанда жиналынады.
Циклдік алгоритм дегеніміз не?
Цикл қай кезде қолданылады?
Цикл түрлері, ерекшеліктері неде?
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы:
Тақырыпты қайталау
№31 Сабақ
Мерзімі:
Сабақ тақырыбы: Жиым. Элемент түрі, өлшемі, индекстер. Бір өлшемді жиым.
Сабақтың мақсаты: . «Жиым» ұғымы мен жиым элементтерін реттеу әрекеттерінің орындалуымен танытыру. Жиым элементтерін енгізіп реттеуге бағдарлама құра білуге үйрету.
Жаңа тақырыпты түсіндіру:
Бір типті шамалардың бір ғана ат беріліп реттелген тізбегі массив деп аталады. Массивпен жұмыс істеу үшін оның әр елементінің мәні белгілі болуы тиіс. Массив структуралық типке жатады. Структуралық типтегі (түрдегі) айнымалының стандартты типтегі айнымалылардан айырмашылығы мынау: олар бірнеше элементтерден құралады, ал стандартты типтер бір ғана элементтен құралады. Массивтің символдық бүтін және нақты сандардан тұратын сандық және символдық типтері бар. Мысалы, сандық кесте, вектор координаттары, матрица (төртбұрышты сандық кесте), әрқайсысы бір элемент түрінде алынған символдар тізбектерінің жиынтығы массив қатарына жатады (символдық массив элементтеріне енетін символдар саны 255-тен аспауы тиіс). Массивтың атауы да сандық айнымалының атауы сияқты белгіленеді.
A[1]
|
a[2]
|
…
|
a[n]
|
2.5
|
-4.7
|
...
|
7.84
|
7-кесте
7-кестеде сызықтық (бір өлшемді) нақты сандар массиві келтірілген.
Мұндағы: а – массив аты, a[k] – массив элементтері (k=1,2,3,...,n), кестенің төменгі жағында массив элементтерінің мәндері берілген: a[1]=2.5; a[2]=-4.7; т.с.с. Массивте әр элемент номерін элементтің индексі деп, элементтің өзін индекстелген айнымалы деп атайды.
Қарапайым типтер қатарына жататын стандартты (integer, real) және қолданушылар (тізбектелген тип) типтерінде бір айнымалыны сақтау үшін негізінен компьютер жадысының бір ғана ұяшығы қолданылады. Бірақ көптеген программалау есептерінің шешімін табу барысында әрбір элементтің деректерін жеке айнымалыға сақтау орнына, оларды тізбектеп бір жерде сақтау анағұрлым тиімді болып табылады.
Паскальдағы массив – күрделі типке жатады. Ол бір ғана типтен тұратын, саны алдын ала анықталған элементтер жиыны. Массивті бір қалыпты анықталған (регулярлық) тип деп те атайды. Массив элементінің және оның атауын белгілеу алгоритм тақырыбындағы белгілермен бірдей.
Бір өлшемді массив.
Бір типтес берілгендерден құралып, барлық элементтеріне бір ортақ атау берілген жиынды массив деп атаймыз. Массив құрылымдық типтер қатарына жатады. Массив элементтері нөмірленеді. Массивтің әрбір элементіне индексін көрсету арқылы жұмыс істеуге болады. Массивке мысал ретінде векторларды қарастыруға болады. Егер массивке кестелік берілгендер жазылса (матрица), онда элементтері екі номер бойынша нөмірленеді.
Массив сипаттамалары:
Типі – массив элементтерінің жалпы типі;
Көлемі – массив индекстерінің саны;
Шектелімі - әрбір индекстердің шектеу бойынша сәйкестігі;
Пішімі – көлем және шектеулер жиындары.
Массив элементтерімен жұмыс істеу барысында, массив атауынан кейін міндетті түрде тік жақшаға алынған индекс көрсетіледі. Индекс ретінде сандар қолданылады.
Массивтерді қолдану үшін оларды типтер (type) немесе айнымалыларды сипаттау (var) бөлімінде хабарлануы қажет.
Массивті екі түрлі сипаттау мүмкін. Біріншісінде бағдарламаға енгізілетін типтер бөлімінде массив тип атауы арқылы сипаттайды. Сипаттау үлгісі:
Type <тип атауы>= array[T1] of [T2];
var <массив атауы>:<тип атауы>;
Мұндағы: array[T1] of [T2] – массивті анықтау, Т2 – массив элементінің типі; тип атауы – типті (массивті) анықтайтын кез-келген белгілеме (айнымалы); type,var, array, of – қызметші сөздер.
Бір өлшемді (сызықтық) массивтерді сипаттау.
Мысалы, type m1=array[1..10] of real;
m2=array[1..20] of integer;
m3=array[0..25] of char;
var a,b:m1; c:m2; r:m3;
Мұндағы: 1..10, 1..20, 0..25 – шектеулі (аралық) типтер; a,b,c,r – типтері type бөлімінде анықталған массивтің атаулары.
Бағдарламаға TYPE бөлімін енгізбей, массивті var бөлімінде сипаттау мүмкін.Мысалы, a,b массивтерін мына түрде сипаттауға болады:
Var a,b:array[1..10] of real;
Бірақ күрделі типтерді TYPE бөлімінде анықтау бағдарламаны оқуды көп жеңілдетеді және ол бағдарламалаудың жақсы тәсілі.
1-мысал. a[1],a[2],…,a[10] мм арқылы есептеген, жергілікті жерде соңғы 10 жылда жауған жауын-шашын мөлшері болсын. Оның бір жылдық орта мөлшері мен әр жылдағы ауытқуын есептеу керек.
Program_f;
Uses crt;
Type ms=array[1..10] of real;
Var a:ms; k:integer; s,d:real;
begin
clrscr;
S:=0;
Writeln(‘Әр жылдың ж.-ш. мөлшерін’);
Writeln(‘ендірген соң пернесін басыңыз’);
Writeln;
For k:=1 to 10 do begin
Write(k,‘- жылдың ж.-ш. мөлшері=?’);
Readln(a[k]);
S:=S+a[k];
End;
S:=S/10;
Writeln(‘Орта мән’, S:6:2);
End;
End.
Ескерту: 1) массивті жадыға ендіру мен оны экранға шығаруды бөлек циклдар арқылы орындаған дұрыс;
2) массивті анықтауда Т1 үшін 1..n шектеулі типін алып, n-нің мәнін бағдарламаның Const бөліміне енгізіп қою да мүмкін.Мысалы,
Const n=10;
Type m1=array[1..n] of integer;
3) Бағдарламада k айнымалысы цикл параметрі және индекс ретінде пайдаланғандықтан, оны var k: integer; немесе var k: 1..10; арқылы сипаттауға болады.
2-мысал. n элементтен тұратын нақты сандар массивінің (а) ең кіші элементін табу керек (n<=60)
Program_min;
Uses crt;
Const n1=50;
Type ms=array[1..n1] of rael;
Var a:ms; m:real; n,l,k:integer;
Begin
Clrscr;
Write(‘элементтер саны (n<=60); n=?’);
Readln(n);
Writeln;
Write(‘1-ші элементтің саны=?’);
Readln(a[1]); m:=a[1]; l:=1;
For k:=2 to n do begin
Write(k,‘-ші элементтің саны=?’);
Redln(a[k]);
If a[k]
m:=a[k]; l:=k;
End; end;
Write(‘min=’,m:6:3,’нөмірі=’,l);
End.
3-мысал. n элементтен тұратын нақты сандар массивінің элементтерін һспелі түрде реттеу керек. Бағдарламаны түрлі жолмен құру мүмкін, оның цикл ішінде циклді пайдаланып құрылған түрі:
Program_retteu;
Uses crt;
Const n1=50;
Type ms=array[1..n1] of real;
Var a:ms; k,i,j:integer; m:real;
Begin
Clrscr;
Write(‘элементтер саны (n<=50):n=?’);
Readln(n);
For k:=1 to n do begin
Write(k,‘-ші элемент мәні=?’);
Readln(a[k]);
End;
For k:=1 to n do begin
i:=k;
For j:=k+1 to n do
If a[j] < a[i] then i:=j;
m:=a[k]; a[k]:=a[i]; a[i]:=m;
write(‘ ’, a[k]:6:2); end;
end.
Тақырыпты бекіту:
Деңгейлік тапсырмалар:
9 бет № 7.1, 7.2, 7.3, 7.4, 7.7
Сабақты қорытындылау, оқушыларды бағалау:
Сонымен, балдар:
Жиым дегеніміз не?
2. Жиымның базалық типі деген не және олар қандай типті болады?
Жиым индексінің бүтін және нақты болмайтыны қалай түсінесіндер?
Зейінділікті анықтаудың балдық жүйесі
-
Р/с
|
Аты-жөні
|
Балдық баға
|
Дәстүрлі баға
|
1
|
Алмаханов Нұрман
|
|
|
2
|
Зәуірбек Мағжан
|
|
|
3
|
Исмагулов Даурен
|
|
|
4
|
Қалдан Дархан
|
|
|
5
|
Кеңесбек Тұрғанбай
|
|
|
6
|
Көнебаев Бекжан
|
|
|
7
|
Мұңайтпас Гүлжан
|
|
|
8
|
Нұрхат Ерқанат
|
|
|
9
|
Орынбаева Анар
|
|
|
10
|
Өсербай Ардақ
|
|
|
11
|
Өсімжанұлы Ермек
|
|
|
12
|
Темірбектегі Нұржан
|
|
|
13
|
Төлеген Абілхайыр
|
|
|
Үй тапсырмасы: 9 бет № 6.1, 6.2, 6.9, 7.120>0>0>
Достарыңызбен бөлісу: |