Білімділік – Берілген есептерді есептеп шығаратын программалар құруға, таңдау операторларымен таныстыру,қолдануды үйрету.
Дамытушылық – Оқушылардың жан – жақты ойлау қабілеттерін, компьютерді пайдаланып программаны енгізіп жауабын алу дағдыларын дамыту.
Тәрбиелік – Оқушыларды кішіпейілдікке, жекелеп жұмыс жасауға, ұйымшылдыққа, сабақта өзін - өзі басқаруға тәрбиелеу.
Сабақтың түрі: Білімді меңгерту
Сабақтың әдісі: Баяндау , сұрақ жауап
Сабақтың барысы
Ұйымдастырылу кезеңі
оқушылармен сәлемдесу
келмеген оқушыларды белгілеу
сабаққа дайындығын, құралдарын тексеру
Үйге берілген тапсырманы сұрау
Шартты көшу операторы? Жазылу үлгісі.
Шартсыз көшу операторы? Жазылу үлгісі.
Паскаль тілінде қай оператор соңына «;» қойылады, ал қандай жағдайда қойылмайды?
Есеп №6Берілген А(х,у) нүктесі радиусы (центрі координаталар осінің бас нүктесінде) шеңбер ішінде жата ма немесе жатпай ма, соны анықтайтын программа құру керек.
program esep;uses crt;
var х,у,R,L:real;
begin clrscr;
write('х,у координаталар нүктесін және радиус енгіз-?');readln(х,у,R);
L:=sqr(x)+sqr(y);
If L
writeln('нүкте R радиусы шеңбер ішінде жатады');
else writeln('нүкте R радиусы шеңбер ішінде жатпайды');
end.
Жаңа сабақты түсіндіру
Паскаль тілінің таңдау операторы процес 2 ден көп болған жағдайда қолданылады. Таңдау case ,of операторы қолданылады. Оператордың жазылу үлгісі:
case m of
таңдау 1: оператор1;
...
таңдау N: операторN;
else оператор0
end;
Мұндағы: m-real типінен басқа кез- келген скалярлық типте берілген айнымалы. Оны сұрыптаушы деп атайды.
Мыс: case m of
1:у:=5*х;
2:y:=5*x-3;
End;
m-нің мәні 1-ге тең болғанда у:=5х өрнегі, 2-ге тең болғанда y=5x-3 өрнегі орындалады.Ал, егер m≠1, m≠2 болса, онда case операторынан кейінгі операторлар орындалады. m –нің мәні қажет мәнге тең болмағанда case операторына мынадай түзету енгізуге болады.
case m of
1:у:=5*х;
2:y:=5*x-3
Else writeln(‘m-ң мәні дұрыс енгізілген жоқ’);
End;
Мысалы, Апта күндерінің реттік номері бойынша олардың аттарын анықтайтын программа құрайық.
program esep;uses crt;
var kyn:integer;
begin clrscr;
write('күннің аптадағы реттік номерін енгіз');readln(kyn);
case kyn of
1:writeln('дүйсенбі');
2:writeln('сейсенбі');
3:writeln('сәрсенбі');
4:writeln('бейсенбі');
5:writeln('жұма');
6:writeln('сенбі');
7:writeln('жексенбі');
else writeln('1..7 аралығындағы сандарды енгізіңдер'); end; end.
Програмамны компьютерге теріп F9 батырмасын басамыз. Экранға күннің аптадағы реттік номерін енгіз белгісін алып шығады. Мұнда сандық мәндерді меншіктeп Enter батырмасын бассақ есептің жауабын аламыз.
Өз бетінше орындайтын тапсырмалар.
№1.Кез келген айдың бірінші жұлдызы аптаның қай күні екені белгілі болғанда, сол айдың енгізілген кез келген күннің аптаның қандай күні болатынын анықтау программасын құру қажет.
program esep;uses crt;
Label 10;
Const k=1;k=2;k=3;
var den,n:integer; t:char;
begin clrscr;
10: write('айдың күнін енгіз');readln(den);
n:=den mod 7+k-1; if n>7 then n:=n-7;
write(‘айдың ‘,den:3,’күні ‘);
case n of
1:writeln('дүйсенбі');
2:writeln('сейсенбі');
3:writeln('сәрсенбі');
4:writeln('бейсенбі');
5:writeln('жұма');
6:writeln('сенбі');
7:writeln('жексенбі');
Writeln(‘ болады‘)
writeln(тағы енгізесіңдер ме?(ия-'у’,жоқ-‘n’)’);
readln(t);
if (t=’y’) or (t=’y’) then goto 10 end.
2. 1917 жылдан 1992 жылға дейінгі аралықтағы төрторынды сандар енгізіліп, сол жылдары бұрынғы КСРО-да кімнің ел басқарғаны анықталады. Мұнда өрнектің мәні белгілі бір кесіндіге кіретін сан болатыны тексеріліп,сол арқылы бір оператор таңдап алынып отыр.
program esep;uses crt;
var god:integer; t:char;
begin clrscr;
write(' КСРО заманының жылдарын енгіз');readln(god);
write god:4,’-жылы КСРО-ны ‘);
case god of
1917..1924:writeln('Ленин басқарды');
1925..1953:writeln('Сталин басқарды');
1954..1955:writeln('Маленков басқарды');
1957..1964:writeln('Хрущев басқарды');
1965..1985:writeln('Брежнев басқарды');
1985..1991:writeln('Горбачев басқарды');
End; end.
Сабақты қорытындылау:
Тармақталу операторлары қандай міндет атқарады?
Қандай алгоритмдер тармақталған деп аталады?
Тармақталу операторының жазылу ережесі?
case m of операторын жазылу ережесі
Үйге тапсырма: Таңдау операторы. №4,8 Есептер шығару.
12 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Паскаль тілінің шартты алдын-ала тексеретін қайталау операторы.Әзірше циклі .
Сабақтың мақсаты:
Білімділік – Берілген есептерді есептеп шығаратын программалар құруға, әзірше циклінің операторларымен таныстыру,қолдануды үйрету.
Дамытушылық – Оқушылардың жан – жақты ойлау қабілеттерін, компьютерді пайдаланып программаны енгізіп жауабын алу дағдыларын дамыту.
Тәрбиелік – Оқушыларды кішіпейілдікке, жекелеп жұмыс жасауға, ұйымшылдыққа, сабақта өзін - өзі басқаруға тәрбиелеу.
Сабақтың түрі: Білімді меңгерту
Сабақтың әдісі: Баяндау , сұрақ жауап
Сабақтың барысы
Ұйымдастырылу кезеңі
оқушылармен сәлемдесу
келмеген оқушыларды белгілеу
сабаққа дайындығын, құралдарын тексеру
Үйге берілген тапсырманы сұрау
Шартты көшу операторы? Жазылу үлгісі.
Шартсыз көшу операторы? Жазылу үлгісі.
Таңдау операторы?Жазылу үлгісі.
Есеп №6 Кез-келген цифр арқылы енгізілген жылдың қазақша жыл атауын табатын программа құр.
program esep;uses crt;
var m,n:integer;
begin clrscr;
write('жылды енгіз-?');readln(n);
m:=n mod 12;
case m of
0:writeln('мешін жылы');
1:writeln('тауык жылы');
2:writeln('ит жылы');
3:writeln('доныз жылы ');
4:writeln('тышкан жылы ');
5:writeln('сиыр жылы ');
6:writeln('барыс жылы ');
7:writeln('коян жылы ');
8:writeln('улу жылы ');
9:writeln('жылан жылы ');
10:writeln('жылкы жылы ');
11:writeln('кой жылы ');
end; end.
Жаңа сабақты түсіндіру
Паскаль тілінің шартты алдын-ала тексеретін қайталау операторы. Әзірше цикліне WHILE операторы қолданылады. Оператордың жазылу үлгісі:
WHILE P DO S ;
Мұндағы: P –шарт
S – цикл денесі (циклде орындалатын оператор тізімі)
Бұл циклде алдымен шарт тексеріледі. Егер шарт сақталса цикл денесі орындалады. Қайтадан шарт тексеріледі. Осылай шарт сақталындай қалғанша тексеру қайталана береді.
Мысалы, n!-ды есептеп шығаратын программа құрайық
Математикалық моделі: n!=1*2*3*4*...* n
program esep;uses crt;
var r,n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;r:=1;
while k<=n do
begin
r:=r*k; k:=k+1;
end;
writeln(n,'!=',r);
end.
Програмамны компьютерге теріп F9 батырмасын басамыз. Экранға n-? белгісін алып шығады. Мұнда айнымалыларға сандық мәндерді меншіктeп Enter батырмасын бассақ есептің жауабын аламыз.
Өз бетінше орындайтын тапсырмалар.
№1.S=1+2+3+…+100
2. 1++
3.Дюйммен берілген қашықтықты(1-20 дюйм аралығын) см-ге түрлендір.(1 дюйм=2,54 см)
4. S=+
№1.
program esep;uses crt;
var S,n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;S:=0;
while k<=n do
begin
S:=S+k; k:=k+1;
end; writeln('S=',S); end.
№2
program esep;uses crt;
var S:real;n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;S:=0;
while k<=n do
begin
S:=S+1/k; k:=k+1;
end;
writeln('S=',S);
end.
№3
program esep;uses crt;
var k,S:real;n:integer;
begin clrscr;
write('n-?');readln(n);
k:=0;S:=1;
while k
begin
S:=2.54*S; k:=k+1; writeln(k,'дюйм=',S,'см');
end;
end.
№4
program esep;uses crt;
var S:real;n,k:integer;
begin clrscr;
k:=2;S:=0;
repeat begin
S:=S+1/sqrt(k); k:=10*k;
end;
until k>200000 ;
writeln('S=',S);
end.
Сабақты қорытындылау:
Қайталау операторлары қандай міндет атқарады?
Қандай алгоритмдер циклдік деп аталады?
While операторының жазылу ережесі?
While операторында цикл тұлғасы қай кезде орындалады , ал қай кезде орындалмайды?
Үйге тапсырма: Әзірше операторы. №6,8 Есептер шығару.
13 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Паскаль тілінің шартты соңынан тексеретін қайталау операторы.Дейін циклі .
Сабақтың мақсаты:
Білімділік – Берілген есептерді есептеп шығаратын программалар құруға, дейін циклінің операторларымен таныстыру,қолдануды үйрету.
Дамытушылық – Оқушылардың жан – жақты ойлау қабілеттерін, компьютерді пайдаланып программаны енгізіп жауабын алу дағдыларын дамыту.
Тәрбиелік – Оқушыларды кішіпейілдікке, жекелеп жұмыс жасауға, ұйымшылдыққа, сабақта өзін - өзі басқаруға тәрбиелеу.
Сабақтың түрі: Білімді меңгерту
Сабақтың әдісі: Баяндау , сұрақ жауап
Сабақтың барысы
Ұйымдастырылу кезеңі
оқушылармен сәлемдесу
келмеген оқушыларды белгілеу
сабаққа дайындығын, құралдарын тексеру
Үйге берілген тапсырманы сұрау
Қайталау операторлары қандай міндет атқарады?
Қандай алгоритмдер циклдік деп аталады?
While операторының жазылу ережесі?
While операторында цикл тұлғасы қай кезде орындалады , ал қай кезде орындалмайды?
Есеп №6 Қадақпен берілген массаны (1-50қадақ аралығын) кг-ға түрлендіріңдер.(1қадақ=0,4кг)
program esep;uses crt;
var k,S:real;n:integer;
begin clrscr;
write('n-?');readln(n);
k:=0;S:=1;
while k
begin
S:=0.4*S; k:=k+1; writeln(k,'кадак=',S,'кг');
end;
end.
№8 1-ден 100-ге дейінгі тақ және жұп сандардың қосындыларын табатын программа құрыңдар.
program esep;uses crt;
var P,S,n,k:integer;
begin clrscr;
k:=1;S:=0;P:=0;
while k<=100 do
begin
if k mod 2<>0 then S:=S+k
else P:=P+k ;k:=k+1;end;
writeln('так сандардын косындысы: ',S);
writeln('жуп сандардын косындысы: ',P);
end.
Жаңа сабақты түсіндіру
Паскаль тілінің шартты соңынан тексеретін қайталау операторы. Дейін цикліне repeat,until операторы қолданылады. Оператордың жазылу үлгісі:
Repeat
S
until not(P)
Мұндағы: P –шарт
S – цикл денесі (циклде орындалатын оператор тізімі)
Бұл циклде алдымен цикл денесі орындалады ,содан соң шарт тексеріледі. Егер шарт сақталмаса қайтадан цикл денесі орындалады. Осылай шарт сақталынғанша қайталана береді. Көп жағдайда not(P)-орнына P-ға қарама-қарсы шарт қойылады.
Мысалы, n!-ды есептеп шығаратын программа құрайық
Математикалық моделі: n!=1*2*3*4*...* n
program esep;uses crt;
var r,n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;r:=1;
repeat
r:=r*k; k:=k+1;
until k>n;
writeln(n,'!=',r);
end.
Программаны компьютерге теріп F9 батырмасын басамыз. Экранға n-? белгісін алып шығады. Мұнда айнымалыларға сандық мәндерді меншіктeп Enter батырмасын бассақ есептің жауабын аламыз.
Өз бетінше орындайтын тапсырмалар.
№1.S=1+2+3+…+100
2. 1++
3.Дюйммен берілген қашықтықты(1-20 дюйм аралығын) см-ге түрлендір.(1 дюйм=2,54 см)
4. S=+
№1.
program esep;uses crt;
var S,n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;S:=0;
repeat
S:=S+k; k:=k+1;
until k>n;
writeln('S=',S);
end.
№2
program esep;uses crt;
var S:real;n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;S:=0;
repeat
S:=S+1/k; k:=k+1;
until k>n;
writeln('S=',S);
end.
№3
program esep;uses crt;
var k,S:real;n:integer;
begin clrscr;
write('n-?');readln(n);
k:=0;S:=1;
repeat
begin S:=2.54*S; k:=k+1; writeln(k,'дюйм=',S,'см');
end; until k>=n; end.
№4
program esep;uses crt;
var S:real;n,k:integer;
begin clrscr;
write('n-?');readln(n);
k:=1;S:=0;
repeat
begin
S:=S+1/sqrt(k); k:=10*k;
end; until k>=n;
writeln('S=',S); end.
Сабақты қорытындылау:
Қайталау операторлары қандай міндет атқарады?
Қандай алгоритмдер циклдік деп аталады?
Repeat операторының жазылу ережесі?
Repeat операторында цикл тұлғасы қай кезде орындалады , ал қай кезде орындалмайды?
Үйге тапсырма: Дейін операторы. №12,13 Есептер шығару.
14 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: FOR –DO, FOR –DOWNTO қайталау операторы (1 сағ)
|
мақсаттары:
|
1. FOR –DO опреторы көмегімен программалауды үйрену.
2. Программаны ықшам, сапалы жазу дағдысын қалыптастыру. Программаның математикалық моделі туралы түсініктерін тереңдеу.
3. Программа мәтінін экранға және дәптерге жазудың эстетикасын сақтауды ескеру.
|
|
көрнекілігі:
|
Паскаль редакторы – Паскал АВС, қайталау операторнының блок-схемасы.
|
|
түрі:
|
Теориялық сабақ.
|
ІІ
|
барысы:
(3 мин)
(10 мин)
|
Ұйымдастыру.
Оқушыларды түгелдеу, журнал толтыру, оқушылардың дәптерлерін, оқулықтарын қарап шығу.
Сынып, тақта, парта тазалығын қарап шығу, қажет болса ескертулер жасау.
Оқушылардың назарын сабаққа аудару.
|
ІІІ
|
Үй тапсырмасымен жұмыс.
1. Үй жұмысының орындалуын тексеру, есепке алу (Есеп №2ә repeat-until көмегімен жазып келу)
Үй жұмысы орындалған, бірақ дұрыс емес - 1 ұпай,
жартылай дұрыс - 2
толық дұрыс - 3
жоқ - 0
2. Қысқаша сұрақ-жауап. (1-2 ұп)
Әзір-қайталау операторы не үшін қолданылады?
Дейі- қайталау операторы қалай орындалады?
Қайталау параметрі деген не?
Repeat – Until –дің While – do –ден қандай айырмашылығы бар?
Бұл оперторларда циклдің қайталану саны белгілі ме? (жоқ)
Қайталанатын процес саны алдын ала белігі болған жағдайда не істеуге болады?
Журналдағы тізім бойынша әр оқушы бір сұраққа жауап береді. Сұрақтар бітіп қалғанда басынан бастап қайтадан қойыла береді. Әр қайталанған сайын сұрақтар күрделене береді. Бір дұрыс жауапқа бір ұпай.
|
IV
|
Жаңа сабақ
Лекция
(10 мин)
|
1. Қайталау саны алдын-ала белгілі болған жағдайда For – Do және For – Downto операторларын қолданған ыңғайлы. Жазылу түрі:
For <цикл параметрі>=<алғашқы мән> to <соңғы мән> do
begin;
<серия>;
end;
For <цикл параметрі>=<соңғы мән > to < алғашқы мән > downto
begin;
серия;
end;
|
V
|
Сынып жұмысы
(20 мин)
|
2. ЕСЕП: Сөйлем сөздерден тұратыны белгілі. Клавиатурадан енгізілген сөйлемдегі ең ұзын сөзді және оның қанша таңбасы бар екенін анықтайтын программа жазыңыз:
МАТЕМАТИКАЛЫҚ модел:
Не белгілі?
Цикл параметрі і –типі бүтін сан, сөйлем– типі жолдық, ең ұзын сөз
mr - типі жолдық, – ең ұзын сөздегі әріптер (таңбалар) саны –типі бүтін сан.
Не істеу керек?
mr, шамаларының мәндерін анықтау;
Қалай есептейміз?
бастапқы мәліметтерді енгіземіз s, бастапқы мәндерді меншіктейміз m=0,
Қайталау парамтерi i 1-бастап сөйлем ұзындығына дейін өзгереді. Әр қайталау сайын кезекті таңбаны s[i] аралық шамаға жинақтаймыз, әрі оның бос орынға (пробелге) тең емес екенін тексереміз. Бос орын кездессе r –шамасына сөйлемнің бір сөзі жинақталғанын білеміз. Оның әріптер санын алдынғы сөздің әріптер санымен салыстырамыз да, қайсысында таңба көп болса сол сөзді mr және оның таңбалар санын m сақтап қаламыз.
program uzynsoz;
var i,m: integer;
mr,s,r: string;
begin
writeln('Бірнеше сөзден тұратын сөйлем енгізіңіз ');
read(s); m:=0;
for i:=1 to length(s) do
begin
r:=r+s[i];
if s[i]=' ' then r:='';
if m<length(r) then begin m:=length(r); mr:=r;end;
end;
writeln('Ең ұзын сөз: ',mr);
writeln('Оның ',m,' таңбасы бар');
end.
|
|
|
|
VІ
|
Үйге тапсырма
(2 мин)
|
Оқулықтан 3.7 (96-99 бет)
Есеп №12, программа жазып келу.
|
17 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Символдық мәліметтермен жұмыс тәсілдері (1 сағ)
|
мақсаттары:
|
1. Символдармен, мәтінмен атқарылатын жұмыстар туралы жалпы түсінік беру, программалауда Паскаль оперторларын тиімді қолдану дағдысын қалыптастыру.
2. Программаны ықшам, сапалы жазу дағдысын дамыту.
3. Программа мәтінін, нәтижелерін экранға шығару интерфейісіне эстетикалық талап қоя білу.
|
|
көрнекілігі:
|
Паскаль редакторы – Паскал АВС, интарктивті тақта, Power Ponit, плифчарт презентациялары (көкпен жазылғандар плифчартқа салынады, оқушылар дәптерге жазады).
|
|
түрі:
|
Теориялық сабақ (лекция).
|
ІІ
|
барысы:
(2 мин)
(3 мин)
|
Ұйымдастыру.
Оқушыларды түгелдеу, журнал толтыру, оқушылардың дәптерлерін, оқулықтарын қарап шығу.
Сынып, тақта, парта тазалығын қарап шығу, қажет болса ескертулер жасау.
Оқушылардың назарын сабаққа аудару.
|
ІІІ
|
Үй тапсырмасымен жұмыс.
Оқулықтан 7.4 (177 бет).
С-тапсырмадағы сабақта қарастырылмаған процедуралар туралы анықтамалар жазып келу. (181 бет)
|
IV Жаңа сабақ Лекция (25 мин)1. Символдық және мәтіндік ақпараттардың типтері.
1, ., 0 а, б - символдар
01 рррр мектеп ... – сөздер
Паскалда символдар тізбегін жол /литер/ /строка/ дейді. Сөздермен, символдармен жұмыс істейтін шамаларды жолдық немесе литерлік шамалар д.а. Паскалда жеке таңбаның типі CHAR деп аталды. Ал, жолдың типі STRING д.а.
chr(x) – x коды бойынша таңбаны анықтайды.
Char – айнымалының мәні жеке символ болатынын білдіретін тип,
String - айнымалының мәні сөз/сөйлем екенін білдіретін тип, мәндегі символдар саны 256-дан аспауы керек.
Text - мәтіндік тип, файл аттарын белгілеуде қолданылады.
Компьютердегі барлық таңбаны коды б/шы басып шығаратын программа жазыңыз:
|
ord(sh) – sh таңбасының ASC кодын анықтайды.
|
Program kody;
Var i:integer;
Begin
I:=0;
Repeat
Writeln(I,’ ‘,chr(i));
I:=i+1;
Until i>255;
End.
|
program kody2;
var tanba:char;
label 10,20,30;
begin
10:Write(‘таңба енгізіңіз ‘);
Read(tanba);
If tanba=’0’ then goto 20;
Writeln(tanba,’ ‘,ord(tanba));
goto 10;
20:End.
|
|
|
2. Символдармен жұмыста жиі қолданылатын стандартты функциялар.
Атауы
|
Процедура немесе функция
|
Шаманың типі
|
әрекеті
|
Chr(x)
|
функция
|
x - integer
|
Х санын сиволға түрлендіреді
|
Odd(x)
|
функция
|
x - integer
|
=True,егер х -тақ, =False х -жұп болса
|
Inc(x)
|
процедура
|
x - реттік
|
X-ті 1-ге арттырады
|
Dec(x)
|
процедура
|
x - реттік
|
X-ті 1-ге кемітеді
|
Inc(x,n)
|
процедура
|
x - реттік,
n - бүтін
|
X-ті n-ге арттырады
|
Dec(x,n)
|
процедура
|
x - реттік,
n - бүтін
|
X-ті n-ге кемітеді
|
Random(x)
|
функция
|
x - integer
|
0 мен x-1 аралғынан кездейсоқ сан табады
|
Random
|
функция
|
|
(0..1) аралғынан кездейсоқ сан табады
|
3. Мәтінмен /сөз-сөйлем/ жұмыста жиі қолданылатын функциялармен процедуралар.
Атауы
|
Процедура немесе функция
|
Шаманың типі
|
әрекеті
|
Length(s)
|
функция
|
s - string
|
S –жолының ұзындығын анықтайды. /Қанша әріп бар?/
|
Copy(st,poz,n)
|
функция
|
st – string
poz,n-integer
|
St-сөзінің poz-нөмірінен бастап қатар тұрған n-символды көшіріп алады
|
Delete(st,poz,n)
|
процедура
|
|
St-сөзінің poz-нөмірінен бастап қатар тұрған n-символды өшіреді
|
Insert(s1,s2,n)
|
процедура
|
s1,s2,- string, n - integer
|
S1-сөзін s2-cөзіне n-нөмірінен бастап тіркеп жазады
|
Pos(s1,s2)
|
функция
|
S1, s2- string
|
s1 кіші сөзі s2-ұзын сөздің ішінде барма/жоқпа, соны анықтайды (егер жоқ болса нәтиже 0)
|
Str(i,s)
|
процедура
|
s- string, i- integer,
|
і санын симол типіне өңдеп, нәтижесін s мәні ретінде жазады
|
Val(s,і,code)
|
процедура
|
s - string, і - integer, real
code - integer
|
Сөз ретінде берілген s санын бүтін н/е нақты санға ауыстырып, нәтижені i-дың мәні ретінде жазады. Қате жоқ болса code=0
|
UpCase(c)
|
функция
|
c - char
|
Латынның кіші әріптерін бас әріпке ауыстырады
|
Chr(i)
|
|
i- integer
|
і санына сәйкес смиволды /әріпті ASC-код/ береді.
|
Ord(s)
|
|
s-chr
|
S символының бүтін сан түріндегі водын береді
|
|
|
V
|
Сынып жұмысы
(25 мин)
|
4. ТАПСЫРМА:
А) Берілген сөзде қанша «а» әрібі бар екенін анықтайтын программа жазыңыз.
|
program a_sanau;
uses crt;
var i,n,k: integer;
s: string;
begin
write('tanbalar tizbegin engiz, ');
read(s);
n:=length(s); k:=0;
for i:=1 to n do
if (s[i]='а') or (s[i]='a') then k:=k+1;
writeln('sozdegi kichi "a"-lar sany - ',k);
end.
|
С) Оқулықтағы 121 беттегі 14 жаттығу;
/нұсқау: 0 мен 9 арасындағы сандардың АSC-кодтары 47- 59 аралығында жатады/.
|
program san_emes;
var i,n:integer;
s:string;
begin
write('tanbalar tizbegin engiz, ');
read(s);
n:=length(s);
for i:=1 to n do
if ((ord(s[i]))>47) and ((ord(s[i]))<59)
then writeln(s[i],' ','san') else writeln(s[i],' ','san emes');
readln;
end.
|
|
|
|
ЛЖ №1
(10 мин)
|
Жоғарыдағы (kody, kody2) программасы бойынша мыналарды анықтаңыз:
Орысша «А» әрібінің ASC коды –
Орысша «Я» әрібінің ASC коды –
Қазақша барлық әріптердің ASC коды:
4. Барлық цифрлардың коды –
|
VІ
|
Үйге тапсырма
(5 мин)
|
Оқулықтан 4.3 (112 бет)
№11 жатт. /121 бет/
|
18 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Паскаль тіліндегі мәтіндік ақпаратты өңдеу.
Мақсаты: 1.Паскальда символдық оперторларды тиімді қолдану дағдысын қалыптастыру.
2. Программаны ықшам, сапалы жазу дағдысын дамыту.
3. Программа мәтінін, нәтижелерін экранға шығару интерфейісіне эстетикалық талап қоя білу.
IV
|
Жаңа сабақ
(10 мин)
|
2-сабақ. Программалар жазу.
1. Оқулықтан 117 беттегі 1-мысал мен 118-беттегі 3-мысалды қарастырамыз. 1-мысалдағы программаны тік бұрышты үшбұрыш кері түсетін етіп өзгертетіп, компьютерде орындау керек.
program mysal_1_8bet_ucburjch2;
var st,st1:string; t,k:integer;
begin
t:=12; st:='************';
for k:=1 to t do
begin
st1:=copy(st,k,t);
writeln(st1);
t:=t-1;
end;
end.
|
V
|
Сынып жұмысы
(18 мин)
|
4. ТАПСЫРМА:
№1, 121б) Ұзындығы 25 символдан аспайтын сөз
тіркесін алып, одан мүмкнідгінше
бірнеше жаңа сөз құрастырыңдар
|
program esep_1_121bet;
uses crt;
var soz, jsoz: string; i, j: integer;
begin
TextColor(12);
soz:='akparattandaru';
jsoz:=copy(soz,1,5);
writeln(jsoz);
jsoz:=copy(soz,3,3)+copy(soz,8,2);
writeln(jsoz);
end.
|
Оқулықтағы 121 беттегі 5 жаттығу;
Программаның осы бөлігіне назар аударамыз.
|
program qalagansoz_4305_121bet;
var i, n: integer;
s, r: string;
begin
write('soilem engiz ');
read(s);
writeln('qalagan soz "aaa" ');
n:=0;i:=1;r:='aaa';
writeln('qalagan soziniz ');
while i<=length(s) do
begin
if r=copy(s,i,length(r))
then begin n:=n+1; i:=i+length(r);end
else i:=i+1;
end;
writeln(n,' ret kezdesedi');
end.
|
|
VІ
|
|
|
|
Үйге тапсырма
(2 мин)
|
Оқулықтан 4.3 (118-120 бет)
13 жатт. /121 бет/
|
20 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Сабақтың тақырыбы: Жиымдар. Бір өлшемді жиым элементтерімен жұмыс
|
мақсаттары:
|
1. Кестелік шамалар, алгоритмдегі кестелік шамаларды Паскалда программалау жолы мен әдісдері туралы түсінік қалыптастыру. ARRAY опреторы арқылы программалауды үйрену, пысықтау. Бір және екіөлшемді жиымдар туралы ұғым қалыптастыру.
2. Программаны математикалық модел құру арқылы сапалы жазу дағдысын қалыптастыру. Жиым элементі, элементті берілген қасиеті бойынша іздеу, сұрыптау туралы түсініктер қалыптастыру. Есептерге программалар жазып компьютерде орныдау.
3. Программа мәтінін экранға және дәптерге жазудың эстетикасын сақтау.
|
көрнекілігі:
|
Кестелердің мысалдары сызылған плакат. Паскаль редакторы – Паскал АВС, кестедегі оң элементтердің қосындысы алгоритмінің блок-схемасы, баспалық таратпа материялдар (көкпен жазылғандар тақтаға н/е фч/прз жазылады, кей жерін оқушылар дәптерге жазады).
|
түрі:
|
Лекция, компьютерде машықтану сабағы.
|
ІІ
|
барысы:
(3 мин)
|
Ұйымдастыру.
Оқушыларды түгелдеу, журнал толтыру, оқушылардың дәптерлерін, оқулықтарын қарап шығу.
Сынып, тақта, парта тазалығын қарап шығу, қажет болса ескертулер жасау.
Оқушылардың назарын сабаққа аудару.
|
ІІІ
|
Жаңа сабақ
(20 мин)
|
1-сабақ лекция.
Кестелер
1. Алгоритм құру, программа жазу барысында оған қатысатын кең тараған негізгі обектілердің бірі кестелер. Оның мысалдары:
Натурал сандар тізімі 1,2,3,...,N жазылуы N[1..N]
Нақты сандар 2, 3.5, -7,11, 0, 91, 0, 9, -75, 0,...,0.005 NC[1..N]
Оқу орындары мектеп, лицей, колледж, университет,..., магистратура ok[1..n]
Бұл мысалдарда тізімде кілең біртекті элементтер жазылған. Асты сызылған сөздер тізбектік атауларын береді. Атауды латын әрптер тізбегімен де көрсетуге болады.
Сонымен, Жиым деп белгілі атауы бар, біртекті элементтерден тұратын кестені айтады. Нақты сандар кестесін қарастырайық.
i
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
nc[i]
|
2
|
3.5
|
-7.11
|
0
|
91
|
-75
|
0
|
0.05
|
8.8
|
-9.81
|
мұндағы nc[i] –жиым элементі, і – жиым элементерінің реттік нөмірі, оны индекс деп те атайды.
Мысалы: nc[3] =>3.5, nc[4..6] =>{0, 91, -75}
Кестенің екі түрі бар:
Сызытық кесте – элементтері бірінен кейін-бірі (жол бойында) немесе бір-бірінің астына (баған бойына) орналасады. (математикадағы прогрессиялар, оқушылар тізімі...)
Тік төртбұрышты кесте– элементтері баған мен жолдың қилысында ұяшықтарда орналасады. (көбейту кестесі, сабақ кестесі...)
Біз әзірге сызықтық кесте элементтерін программалап үйренеміз.
Паскал тіліндегі жиымдар.
Жиымның негізгі параметрлері мыналар: типі (сандық, символдық, логикалық), өлшемі (бірөлшемді, екіөлшемді ...) және көлемі (жиымдағы элементтердің саны).
Бірөлшемді жиымды Паскалда былай жазады:
: array [1..n] of <элемент типі>
Мұндағы: - жиым (кесте) атауы, 1 алғашқы элемент нөмірі, n- ақырғы элемент нөмірі, <элемент типі>-integer, real немесе string…болатын элемент типі, array- (жиым) операторды белгілеуге арналған Паскалдың қызметші сөзі.
|
IV
|
Сабақты бекіту
(10 мин)
|
Жетелеу: 7 оң санба теріс сан ба?, -9 оң санба теріс сан ба?, 5,5 оң санба теріс сан ба?, х оң санба теріс сан ба?
Есеп. 10 элементтен тұратын нақты сандардың жиымы берілген. (Кестеге қараңдар). Осы кестеде қанша оң сан бар екенін анықтайтын программа жазыңыз.
Математикалық модель.
1. Не белгілі? элемент нөмірі белігілі і- бүтін сан,
кесте белгілі nc[1..10] - типі нақты.
2. Не істеу керек? Оң сандар санын табу s - бүтін сан.
3. Қалай есептейміз?
Алдымен кесте элементтерін for операторы көмегімен енгіземіз. Тағы да сол оператор көмегімен барлық элементтердің оң екендігін тексереміз.
Сонымен i=1 … 10 дейін өзгереді кесте элементтерін енгіземіз
Тағыда i=1 … 10 дейін өзгереді, әр жолы егер nc[i]>0 болса s мәнін 1-ге арттырып отырамыз.
Нәтижені экранға шығарамыз. Сонда Pascal ABC-тегі программамыз былай болып шығады.
program keste01_54;
var nc:array[1..50] of real;
i,s:integer;
begin
s:=0;
write('арасын бөліп 10 нақты сан енгіз ');
for i:=1 to 10 do
read(nc[i]);
for i:=1 to 10 do
if nc[i]>0 then s:=s+1;
writeln;
writeln('Кестеде ',s,' оң сан бар');
end.
|
|
|
V
|
Сынып жұмысы
(10 мин)
|
Тапсырмаларды дәптерге орындаңдар;
Жоғарыдағы программаны жиымдағы
№1. теріс элементтердің санын шығаратындай;
№2. 0-дерді санап шығатындай;
№3. оң сандардың қосындысын есептейтіндей;
№4. теріс сандардың қосындысын есептейтіндей етіп өзгертіңіз.
|
VI
|
Үйге тапсырма
2 мин.
|
Оқу: лекция бойынша, оқулықтан 125-127 беттер. №1 есеп 133 бет.
|
23 – сабақ сыныбы____ күні _______ Пән мұғалімі ________________
Достарыңызбен бөлісу: |