Сабақтың
тақырыбы: Символдар
бойынша жолдарды өңдеу
Сабақтың
мақсаты:Оқушыларды
символдық және жолдық шамалармен орындалатын амалдармен таныстыру.
Дамытушылық: Символдық
мәліметтерді Паскаль тілінде программалау арқылы өңдеу тәсілдерін жүзеге
асырып, оқушылардың логикалық ой-өрістерін дамыту;
Тәрбиелік: Оқушыларды
ұқыптылыққа, жинақылыққа және жауапкершілікке тәрбиелеу.
Көрнекілігі: интерактивті тақта, дербес компьютерлер, үлестірмелер.
Сабақтың әдіс- тәсілдері:
сұрақ – жауап, пікірлесіп – түсіндіру, фишбаун әдісі, ішіне – сыртына
стратегиясы.
Сабақтың
түрі:
топтық жұмыс
Сабақтың
барысы:
Ұйымдастыру
кезеңі.
1) Оқушылармен амандасу
2) Сабаққа қатысын тексеру
3)Оқушыларды 3 топқа бөлу. Топқа
бөлу үшін қолданылатын сөздер: (Алг, басы, енгізу, шығару, соңы, program; var;
begin; readln, writeln; end,монитор, пернетақта, тышқан, жүйелік блок,колонка.)
Берілген сөздерді құрап 3 топқа
бөлінеді.
4)бағалау бетшесін тарату.
Өткен
тақырыпты қайталау.
«Сиқырлы
сандар» ойыны. Ойынның шарты: оқушы интерактивті тақтадағы көрсетіліп
тұрған санның бірін шертіп , шыққан сұраққа жауап беру керек. Егер жауап
бере алмаса оның тобы көмектеседі.
І
топтың сұрақтары.
1. Символдық
шама деген не?(мән ретінде бір ғана
таңбаны қабылдай алады)
2. Символдық
шамалар қандай қызметші сөзбен белгіленеді?(char)
3. Паскальда
бос орын қандай рөл атқарады? (символ болып табылады)
ІІ
топтың сұрақтары.
1. Символдық шамаларға қолданылатын қандай стандартты
функцияларды білесіңдер?(chr(x), ord, pred, succ, upcase)
2. Символдық мәліметтерді енгізудің қандай
ерекшеліктері бар?(ентер пернесін басқанда ақиқат, басқа жағдайда жалған болады
)
3. EOLN функциясының қызметі? (жолдың соңы болды)
ІІІ
топтың сұрақтары.
1. Символдық
шамаларда қандай кодты қолданамыз?(ASCII коды)
2. Символық
шамаларға қандай логикалық қатынастар қолданылады?(<, >, =, <=, >=
,< >)
3. Символдық
мәліметтерді енгізу қандай операторлар арқылы жүзеге асырылады?(read, readln)
Жаңа
сабақты түсіндіру
Паскаль
тілінде символдар тізбегінен тұратын тіркестік айнымалылар қолданылады.Олардың
типін көрсету үшін алдымен айнымалы атауы,одан кейін тік жақша ішінде жолдың ең
ұзыны көрсетілгенstringтүйінді сөз қолданылады. VAR<айнымалы
аты>: string[ жолдың ең үлкен ұзындығы ]
Тіркестік
өрнектер.Тіркестік өрнекдеп амал белгілері,тіркестік айнымалылар және
функция атауларынан құралған,ұзындығы 256 символды тізбекті айтамыз.
Біріктірунемесе конкатенанция
амалы,ол қарапайым+ белгісімен белгіленеді. Бұл амал бірнеше
символдардан немесе сөз тіркесінен жаңа мәтін жолын құру үшін
пайдаланылады.Программа мәтіндегі сөз тіркесінен тұратын тұрақтылар бір жолда
жазылу тиіс.Егер оның бөлігін келесі жолға тасымалдап жазсақ қате болады.
Мәтін
ұзындығын анықтау операциясы.Бұл операция алгоритмдік
тілде ұзын түйінді сөзі қолданылады.Мәтін ұзындығы оны құрайтын символдар
санымен анықталады.
Символдық
мәліметтерді өңдеу символдық типті анықтайтын
CHAR түйінді сөз арқылы жүзеге асырылады.Әрбір символ 0 мен 127
кодтарына әмбебап таңбалар,яғни латын әріптері тыныс белгілері,басқару
символдары кіреді.Ал,128-255 кодтарына орыс,қазақ алфавиттің әріптері
орналасқан.
Сөз тіркестерін өңдеуге арналған стандартты
функциялар мен процедуралар.Паскаль тілінің функциялары :
CHR(I)-I санына сәйкес символы береді.
ORD(S)-S символының бүтін сан түріндегі кодын береді
COPY(
ST,POZ,N ):String; STсөз тіркесінің POZнөмірлік символынан
бастап
қатар тұрған N- символ көшіріліп алынады.
UPCASE(
C:CHAR ): CHAR;латын алфавитінің кіші әріптерін бас
әріптерге
ауыстырады.
DELETE(
Var S:String; N, M:Integer); S-мәтіннің,N-таңбасынан бастап,М-
таңбасын
өшіреді.
INSERT(
S1,S2,Poz ); Sсөз тіркесі символдарының Poz нөмірінен
бастап
Nсимволды
өшіреді де, нәтижені S мәні ретінде жазады.
Осы функцияларды қолданып мысал ретінде мына
есептерді шығарамыз.
1 есеп.Берілгені ‘а’ ,
‘н’ символдары. Екі символдан ‘ана’ сөзін құрау керек.
Program esep; Var a,k:char; s:string;
Begin a:=’а’;
k:=’н’;
s:=a+k+a; Write (s) End.
2есеп.
Берілгені
‘кітапхана’
жолдықайнымалысы.Стандарттыфункцияларды
қолданып
«танк»
, «кітаптар»
сөздерінқұраукерек
және
«танк»
сөзініңұзындығынтабу
керек.
Program esep; Var a,k,p: string; l:integer;
Begin a:=’кітапхана’;
p:=copy(a,3,2)+copy(a,8,1)+copy(a,1,1); l:=length(p);
delete (a,6,4); insert (‘тар’,a,6); writeln (l); writeln (p);
write (a)еnd.
Компьютермен жұмыс. (10 минут)
І
топтың есебі.
1 – жаттығу.
Str, Val процедураларын қолданып, берілген бүтін санның цифрларының қосындысын
есептеңдер.
var x, i, y, s:integer;
a,в:string;
begin
read (x); {сандаенгізу}
str (x, a); {сандыа
символдықтұрақтығаайналдыру}
for i: =1 to length (a)
do
begin
b:=copy (a,I,1) {1-символданбастап
қиыпалу}
val (b, y, c); {символдысанға
түрлендіру}
S:=S+y;
end;
Writeln (‘санныңцифрларының
қосындысы=’,
S)ж
end.
Stringтипі array [o.n.] of charбірөлшемді
символдармассивінеұқсас.Мұндағы
n-жолдағысимволдардыңмаксимал
саны.
Сондықтанжолдағыкез –келгенсимволдыкөрсетуге
болады,
яғнисopy (a, i, 1)функциясыныңорнына a[1]депалуғаболады.
ІІ
топтың есебі.
2
–жаттығу.
Берілгенсөздегі “a”әрпін
санаңдар.
Var a:string;
i, k: integer;
begin
read (x); {сөздіенгізу}
for i:=1 to length (x)
do
if (x [i]= ‘A’) or (x
[i]= ‘a’) then k:=k+1;
Wtiteln (сөздегіа
әрпініңсаны=’k);
end.
Бұлжаттығуда
а
[i]-діңорнына copy (a, i, 1 )депалуға
даболады.
ІІІ
топтың есебі.
3-жаттығу. Берілген сөз төңкермелі (полиндром) бола ма? Сөз төңкермелі деп аталады,
егер берілген сөз бен оны кері жазғандағы сөз бірдей болса. Мысалы:
қазақ,
нан,
1221.
Var a,b: string;
i: integer;
begin
read (a);
for i:=1 to length (a)
do
b:= a[i] + b;
writeln (‘:’,a,’:’b);
if a=b then writeln (‘төңкермелі’) else writeln (‘төңкермеліемес’);
end.