СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Pascal programmalau tilinde izdenis

Категория: Информатика

Нажмите, чтобы узнать подробности

Паскаль программалау тілінде ізденіс Мұғалімнің еңбегі

Просмотр содержимого документа
«Pascal programmalau tilinde izdenis»

ТҮСІНУ

Паскаль программалау тілі. Программа құрлымы. Сызықтық программа

Программа құрлымы.

Паскаль тілін 1968 – 1971 жылдары швейцариялық ғалым Никлаус Вирт оқып үйренуге қолайлы программалау тілі ретінде ұсынған болатын.

Turbo сөзі ағылшын тілінен  аударғанда  үдету, тез, жылдамдеген мағынаны білдіреді.

Күрделі есептер мен математикалық есептердің программасын машиналық кодқа өте жылдам аударатын болғандықтан  Turbo Pascal программалау тілі деп аталған.

 

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


















         







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

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








Операторлар бөлімі – программаның орындалу бөлімі. Ол Begin қызметші сөзінен басталып End сөзінен аяқталады. End сөзінің соңына нүкте қойылуы тиіс, ол программаның аяқталу белгісі.

BASTAU;

Сипаттаубөлімі

Begin

Операторларбөлімі

End.








Жазылған программаны орындау үшін мәзір жүйесіндегі Run бөліміне ену керек немесе F9пернесін басу арқылы орындайды. Программаны орындауға жібергеннен кейін жүйе транслятор (интерпретатор) арқылы Паскаль тілінде жазылған программаны машина тілінде жазылған кодтарға ауыстырады да, программадан синтаксистік қателерді іздейді. Егер программа ішіндеқатеболса, онда программа орындалмайды, қайтаданпрограмманытүзетугеашады. Программаныңжоғарғыжағында  қызылжолменжазылғанхабарламашығады.  Esc пернесінбасқан  соңолжолкетеді де, курсор қатесі бар жолдаорналасады. Қатетуралымәліметалуүшін  Ctrl+F1 пернелерінбіргебасады.

Қателертүзетілгенненкейінғана программа орындаудыбастайды. Айнымалыларғамән беру үшін  Ctrl+F9 пернесін басу керек.  Нәтижесінкөруүшін Alt+F5 пернелерінбірге басу керек. Қайтаданредактірлеутерезесінешығукез-келгенпернені басу арқылыорындалады.


Арифметикалық функциялар

Математикалық түрде жазылуы

Паскаль тілінде жазылуы

Атқаратын қызметі

Функция типі

1

abs (x)

аргументтің абсолюттік шамасы

x-тің типіндей

2

arctg x

arctan(x)

аргументтің арктангенсі

нақты

3

cos x

cos (x)

аргументтің косинусы

нақты

4

sin x

sin (x)

аргументтің синусы

нақты

5

exp (x)

frac (x)

e-нің х дәрежесі

x санының бөлшек бөлігі

нақты

6

int(x)

x санының бүтін бөлігі

нақты

7

ln x

ln(x)

x санының натурал логарифмі

нақты

8

pi

-дің мәні pi=3.14159265


9

sqr(x)

x-тің квадраты

х-тің типіндей

10

sqrt(x)

x-тің квадрат түбірі

нақты


Арифметикалық амалдар

Белгілер

Операциялар

Операндтар типі

Нәтиже типі

1

+

Қосу

Екеуі де бүтін, не біреуі бүтін, біреуі нақты

Бүтін, нақты

2

-

Азайту

Екеуі де бүтін, не біреуі бүтін, біреуі нақты

Бүтін, нақты

3

*

Көбейту

Екеуі де бүтін, не біреуі бүтін, біреуі нақты

Бүтін, нақты

4

/

Бөлу

Бүтін немесе нақты

Нақты

5

Div

Бүтін бөлу

Бүтін

Бүтін

6

Mod

Бүтін қалдық

Бүтін

Бүтін




Сандық айнымалыларды әр түрлі беруге болады, олардың түрлеріне қарай (бүтін, нақты) 

Бүтін тип.

Айнымалы типі

Атауы

Мәндерінің өзгеруі

Жадыда алатын орын

ShortInt

Қысқа бүтінді

-127 – +127

1 байт

Byte

Байт

0 – 255

1 байт

Integer

Бүтін

-32768 – 32767

2 байт

Word

Сөз

0 – 65535

2 байт

LongInt

Ұзын бүтінді

-2147483648 – 2147483647

4 байт

Нақты тип.

Айнымалытипі

Диапазон

Мәндіцифрлары

Қажетті жады (байт)

Real

-

11-12

6

Single

7-8

4

Double

-

15-16

8

Extended

-

19-20

10

Comp

-

19-20

8


Мәліметтердіенгізу, шығаруоператорлары

Паскаль тіліндеенгізу, шығаруоператорлары процедура болыпанықталады.

Енгізу операторы есепшығаруғақажеттіберілгенмәліметтердіпернелерденнемеседискідегіфайлданпрограммағаенгізуүшінқолданылады. Олүшінмынаоператорларпайдаланылады:

Read ();

Readln ();

Read оператор аты «оқу» дегендібілдіреді

Readln «қатардыоқу» дегендібілдіреді

Шығаруоператорлары  есептіңнәтижесінэкранғанемесефайлғабасыпшығаруүшінқолданылады. Шығарылатынпараметрлербір-біріменүтірарқылыажыратылып, Writeтүйіндісөзіненсоңжайжақшаішінежазылады. Бұлоператорлардыңжазылу форматы :

Write();

Writeln();

Мысалы, Write(2+У, Х); Writeln (‘A=’, а); Write(а, с);
















ҚОЛДАНУ


Сызықтық программа

Сызықтық программа дегеніміз командалары бірінен соң бірі тізбектеле орындалатын программа.

1есеп. Екі қабырғасы мен арасындағы бұрышы берілген үшбұрыштың үшінші қабырғасын және ауданын табу программасын құырыңдар.

Program audan;

Vara,b,x:integer;

c,S:real;

Begin

Write (‘ushburishkabirgalarinzhaneburishtiengiz’);

Read(a,b,x);

c:=sqr(a)+sqr(b)-2*a*b*cos(x*pi/180);

S:=1/2*a*bsin (pi*x/180);

Writeln(‘ushburishaudani=’,S,’ushburishkabirgasi=’,c);

End.

2есеп. Берілген үш таңбалы бүтін санның цифрларының қосындысын табыңдар.

Program san;

Varx,a,b,c,d,S:integer;

Begin

Write (‘ushtanbalibutin san engiz’);

Read(x);

a:=x div 100; b:=x mod 100;

c:=b div 10; d:=b mod 10;

S:=a+c+d;

Writeln(‘S=’,S);

End.

3 есеп.Цилиндрдың көлемі V, ауданы S берілген. Цилиндрдың биіктігін H есептеңіз.

Program cilindr;

VarV,S,H:integer;

Begin

Write (‘cilindrdinkolemin, audaninengiz’);

Read(V,S);

H:=V/S;

Writeln(‘H=’,H);

End.

4 есеп.Қараша айында дүкенде а млн теңгеге тауар сатылды, бұл қазан айындағыға қарағанда 15% артық. Қазан айында қанша ақша тауар сатылды?

program m1;

var x,a,y:real;

begin

write ('karasha ainin akshasin engiz');

read (x);

y:=x*15/100;

a:=x+y;

writeln (a);

end.

5 есеп.Үшбұрыш қабырғаларының А,В,С ұзындықтары берілген. Іштей сызылған шеңбердің R радиусын табыңдар.

program mысал-2;

var А,В,С,P,R:real;

begin

write ('А,В,С ұзындықтарының мәнін енгіз');

read (А,В,С);

P:=A+B+C/2

R:=sqrt(P-A)*(P-B)*(P-C)/P

writeln (R);

end.

6 есеп.Жаяу адам таулы жерде кетіп барады. Оның жазықтағы жылдамдығы км/сағ, өоге шыққандағы жылдамдығы км/сағ , ылдиға түсу жылдамдығы км/сағ. Қозғалыс уақыты сәйкесінше және сағ. Жаяу адам қанша жол жүрді?

program mысал-3;

var S1,S2,S3,S,v1,v2,v3,t1,t2,t3:real;

begin

write ('v1,v2,v3,t1,t2,t3 енгіз');

read (v1,v2,v3,t1,t2,t3);

S1:=v1*t1;

S2:=v2*t2;

S3:=v3*t3;

S:=S1*S2*S3;

writeln (S);

end.

7 есеп.Кернеу U В, кедергісі R Ом болатын электр тізбегінің бөліктеріндегі тоқ күшін есептеуге арналған программа құрыңдар.U=r*І


program mысал-4;

var U, R, I :real;

begin

write (U,R енгіз');

read (U,R);

I:=U/R;

writeln (I);

end.

8 есеп.Клаун көрермендердің әрқайсысына бір сан ойлауды сұрады. Содан кейін былай деді: «Ойлаған санға 5-ті қосыңдар. Оның нәтижесінен 2-ні азайтындар. Оның нәтижесіне 7-ні қосыңдар». Бұдан кейін клаун көрермендердің әрқайсысынан нәтижесінде қандай сан шыққанын сұрады. Жауап алысымен кімнің қандай санды ойлағанын дереу айтып берді. Клаунның фокусын қайталайтын программа құрындар.


Program sandi tap;
Var n, a,b,c,d :integer;
begin
Write (‘kez kelgen san engiz’);
Readln (n);
a:=n+5;

b:=a-2;

c:=b+7;

d:=c-10;
Write (d);
End.

9 есеп. Сыныпта N оқушы бар. Бақылау жұмысынан A бала – бес, B бала – төрт, C бала – үш алды. Үштік, төрттік және бестік баға алған оқушылардың барлық оқушылардың қанша пайызын құрайтынын табыңдар.

Program okushi;
Var :integer;
begin
Write (‘A, B,C mandarin engiz’);
Readln (A,B,C);
x:=A*100/N;

y:=B*100/N;

z:=C*100/N;,
Write (x,y,z);
End.

10 есеп.Шенбердің радиусы R берілген. Шеңбердің ұзындығын, ауданың есептейтін программа құру. Формуласы: L=2πR, S=πR2

Program shenber;

Var r,c,s: real;

Begin

Read(r);

L:=2*pi*r;

S:=pi*sqr(r);

Writeln('аудан=',s,'ұзындығы=',c)

End.






















САБАҚ ЖОСПАРЫ

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

Сабақтың мақсаты: Оқушылардың Паскаль программалау тілі тарауы бойынша білімдерін нақтылау, бекітіу;

Көрнекілігі: Презентация. Топшамалар.

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

  1. ұйымдастыру;

  2. үй тапсырмасын тексеру; тарау бойынша тест. 5 сұрақ. Компьютерде орындау.

  3. Еске түсіру.

Паскаль программалау тілінде программа құрылымы:


program ex_1; (аты)

var x, y, z: real; (сипаттау бөлімі)

begin

(операторлар бөлімі)

end.


«Шартты оператор»

Тармақталу алгоритмін ұйымдастыру үшін шартты оператор қолданылады: Бұл оператордың жазылуы:

if  then  else  ;

қысқарған түрі:

if then ;


Мысалы:

1.

есебін шешу программасын жазайық.

program ex_1;

var x, y, z: real;

begin

write(үш нақты санды енгіз:');

readln(x, y, z);

if x

if y

if z

writeln(x:7:2, y:7:2, z:7:2)

end.

"Циклдік Оператор "

І. Шартты алдын ала тексеру.

While  do

Begin

 оператор;

...

End;

ІІ. Шартты соңынан тексеру.

Repeat

...

Until ;

ІІІ. Арифметикалық цикл немесе қайталану саны белгілі цикл.

For айнымалы:=min to max do оператор;

For айнымалы:=max downto min do оператор;

Program Pr1;

Var n, x: integer;

Begin

Write (‘элемент санын енгіз: ’); Readln (n);

While x 

Begin

Writeln (x*x+x+17);

X:=x+1;

End;

End.

Program Pr2;

Var n, x: integer;

Begin

Write (‘элемент санын енгіз: ’); Readln (n);

Repeat

Writeln (x*x+x+17);

X:=x+1;

Until xn;

End;

Program Pr3;

Var n, x: integer;

Begin

Write (‘элемент санын енгіз: ’); Readln (n);

For x:=0 to n do

Writeln (x*x+x+17);

End.


«Жиымдар»

Жиым – бұл бір атаумен белігілепбіріктірілген біртекті реттелген элементер жиыны.

Ерекшеліктері:

    • барлық элементтерінің типі бірдей болады

    • жиымның бір атауы болады

    • жадыда барлық элементтері бірінен соң бірі реттеліп орналасады

Мысалдар:

    • сыныптағы оқушылар тізімі

    • үйдегі пәтерлер

    • қаладағы мектептер

    • Бір жылдағы ауа-райының температурасы туралы мәлімет

Неге ұйымдастырамыз?

  • жиымның атын анықтау үшін

  • жиымның типін анықтау үшін

  • элементтерінің санын анықтау үшін

  • жадыдан орын бөлу үшін

Бүтін сандардың жиымы:

var A : array[ 1 .. 5 ] of integer ;


Констант арқылы өлшемін көрсету:

const N=5;

var A: array[1.. ] of integer;

"1": Перентақта арқылы 5 элементтен тұратын элементерді енгізіп, жиымның барлық элементердің орташа арифметикалық мәнін табыңдар.

Мысалы:

бес сан енгізіңдер:

4 15 3 10 14

орташа арифметикалық мәні: 9.200

"2": Пернетақтадан 5 элемент енгізіп, жиымның ең кіші элементін табыңдар.

Мысалы:

бес сан енгізіңдер :

4 15 3 10 14

Кіші мәні: 3

Символдық жиым жұмыстың қиындығы қандай?

Символдық жиым:

var B: array[1..N] of char;

  • Әрбір символ – бөлек нысан;

  • Сипаттау бөлімінде көрсетілген массивтің ұзындығы жиымның N –ға тең

Не қажет:

  • Символдар тізбегін біртұтас түрде қарастырылуы

  • Жолдың ұзындығы айнымалы болуы


Символьдық жолдар

var s: string;

а

л

е

м

!

¤

¤

¤

¤

¤

¤

¤

Жолдың ұзындығы:

n := length ( s );

Мысалы: Символдық жолды пернетақтадан енгізіп, барлық "а" әріпін "б" әріпіне алмастыру керек.

program qq;

var s: string;

i: integer;

begin

writeln(‘жолды енгізіңдер');

readln(s);

for i:=1 to Length(s) do

if s[i] = 'а' then s[i] := 'б';

writeln(s);

end.

ЕсепАтынәкесінің атын және фамилиясын енгізу«фамилия-инициалы» форматына түрлендіру.

Мысал:

Атынды, әкеңнің атын және фамилияңды енгіз:

Алуа Данияровна Қуанова

Нәтиже:

Қуанова А.Д.

Алгоритм:

    • Бірінші бос орынды тауып, атын бөліп алу

    • Негізгі жолдан атты бос орынмен бірге өшіру

    • Бірінші бос орынды тауып алып әкесінің атын бөліп алу

    • Әкесінің атын өшіріп тастау

    • Фамилияны бірінші әріптермен біріктіру…


Мысал:

program qq;

var s, name, otch: string;

n: integer;

begin

writeln('Атыңдыәкеннің атын және тегіңді енгіз');

readln(s);

n := Pos(' ', s);

name := Copy(s, 1, n-1); { атты ерекшелеу }

Delete(s, 1, n);

n := Pos(' ', s);

otch := Copy(s, 1, n-1); {әкесінің атын қиып алу}

Delete(s, 1, n); {фамилия қалады }

s := s + ' ' + name[1] + '.' + otch[1] + '.';

writeln(s);

end.


Тапсырмалар:

1. Массивтің теріс элементтерінің санын және оң элементтерінің көбейтіндісін табу керек.

Program _8;

var a:array[1..100,1..100] of integer;

j,i,k,p,n,s,m:integer;

begin

write('Жол санын еңгіз= '); readln(n);

write('қатар санын еңгіз= '); readln(m);

randomize;

for i:=1 to n do begin

for j:=1 to m do begin

a[i,j]:=random(9)+1;

write(a[i,j],' ');

end; writeln;end;

p:=1;k:=0;

for i:=1 to n do

for j:=1 to m do

if a[i,j]

else p:=p*a[i,j];

write ('k=',k,' p=',p);

readkey; end.

2. A(5,5) массиві берілген. Матрицаның бас диагоналінің астындағы бөлігін мына түрде өзгерту керек: егер матрицаның осы бөліктегі A[i,j] элементі A[j,i] элементінен үлкен болса, онда осы екі элементтің қосындысының жартысына тең болатындай A[i,j] элементіне жаңа мән бер.

Program_;

type m=array[1..100,1..100] of real;

var A:m;procedure vvod(m,n:integer;var x:m);

var i,j: integer;

begin

writeln('массив элементтерін енгіз');

for i:=1 to m do

for j:=1 to n do

read(x[i,j]);

end;procedure mat(m,n:integer;var x:m);

var i,j: integer; t:real;

begin

writeln('өзгертілген A[i,j] матрицасы мына түрде болады');

for i:=1 to m do

for j:=1 to n do

if ij then if x[i,j] x[j,i] then x[i,j]:=(x[i,j]+x[j,i])/2;

for i:=1 to m do

for j:=1 to n do

write( A[i,j]:2:1,' '); end;

begin

vvod(5,5,A);

mat(5,5,A);

end.

3. Матрицаның басты диоганалінің элементтерінің көбейтіндісін және оның санын есептеу керек.

Program _16;

uses crt;

var a:array[1..100,1..100] of integer;

p,n,k,m:integer;

i,j:longint;

begin

readln(n);

for i:=1 to n do

begin

for j:=1 to n do begin

a[i,j]:=random(9)+1;

write(a[i,j]:n); end;

writeln; end;

writeln;

p:=1; m:=n;

for i:=1 to n-1 do begin

for j:=1 to m-1 do begin

p:=p*a[i,j];

k:=k+1; end;

m:=m-1; end;

writeln('p=',p,' k=',k);

readkey;

end.

3. Жиымның жұп элементтерінің қосындысын және ондай элементердің санын табыңдар.

Program Ex_4;

Var A : Array[1..100] Of Integer;

N, i, S, K : Integer;

begin

Write('Жиым элементерінің саны? '); ReadLn(N);

For I := 1 To N Do

Begin

Write(' A[', I, '] '); ReadLn(A[I]);

End;

s:=0; k:=0;

For I := 1 To N do

if a[i] mod 2 = 0 then begin s:=s+a[i]; k:=k+1 end;

writeln('Қосынды ', s, '; саны ', k)

end.

Бекіту: Жоғарыдағы тапсырмаларда осы үш тақырыптағы операторлар түгел қолданылады. Практикалық жұмыстарды орындау.





САБАҚ ЖОСПАРЫ

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

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

Білімділік: Паскаль программалау тілінде программа құруға үйрету. Сызықтық, тармақталған, қайталану командаларды қолдана отырып, алгоритмнің график түрінде (блок-схема) жазуға, алгоритм тілде программалауға үйрету
ДамытушылықОқушылардың өз бетінше дербес компьютерде жұмыс істеуге дағдыландыра отырып, логикалық ойлау қабілеттерін дамыту, пәнге қызығушылықтарын арттыру
Тәрбиелікоқушыларды ұқыптылыққа, жүйелілікке, жауапкершілікке, ізденімпаздыққа, іскерлікке тәрбиелеу

Сабақтың типі: жинақтау, бекіту сабағы

Сабақтың түрі: аралас сабақ

Сабақта қолданылатын әдіс-тәсілдер: топтық, жеке жұмыс, көрсете-түсіндіру

Пәнаралық байланыс: математика, тарих

Сабақта пайдаланылатын көрнекі құралдар: ДК, интерактивті тақта, флипчарттар, тесттік құрылғы, тірек схемалар, электрондық оқулық, Паскаль бағдарламасы

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

I. Ұйымдастыру кезеңі.

Сыныпты топтарға бөлу (Алгоритм, Оператор, Блок-схема)
II. Өтілген сабақтарды қайталау

1) Алгоритм дегеніміз не? Бұл сөз қайдан шықты?
2) Алгоритм өрнектеу, жазу тәсілдері?
3) Транслятор дегеніміз не?
4) Компьютер есеп шығару неше кезеңнен тұрады?
5) Сызықты, тармақталу, циклдік алгоритм дегеніміз не?
6) Паскаль тілінде және алгоритмдік тілдерде қандай шамалар пайдаланылады?

7) Мәліметтердің типтері қалай сипатталады, олар қандай қызмет атқарады?

8) Оператор дегеніміз не, олар қандай топтарға жіктеледі?

9) Енгізу және шығару операторларының атқаратын негізгі міндеттері қандай?

ІІІ.Тапсырмалармен жұмыс (топтарға беріледі)

1 .Ұзындығы а-ға тең, в-ға тең тік төртбұрыштың ауданын есептейтін программа құрыңыз.

2 Есеп. Табандары а және в болатын, үлкен қабырғасына іргелес бұрышы х-қа тең теңбүйірлі трапецияның ауданын табу программасын жаз.

3 Есеп. Арифметикалық өрнектерді Паскаль тілінде жаз.

1) y=6x2+3x-1

2) a=|b|-2c

3) d=(5a-b2+c)/3

4) y=sin2x-cosx

5) y=e7xsinx+1/2

6) z=1+x/(2sinx-1)

ІV. ДиктантБерілген бағдарлама мәтінін оқушылармен бірге жазып шығу.

Шардың радиусы берілген, шардың көлемін табу бағдарламасын жазу керек

V. Деңгейлік есептер шығару.

n-ге дейінгі натурал сандардың қосындысын есептеп, y-тің мәнін тап

1. 1 + 2 + 3 + . . . + n y = n(n + 1)/2



program e_5;

var s:real;i,n:integer;

begin

writeln;

write ('engiz n');

read (n);

s:=0;

for i:=1 to 2*n-1 Do

if (i mod 2)=1

then s:=s+i;

writeln('kosindinin mani=',s,' y=',n*(n+1)/2);

end.





2

2 + 4 + 6 +. . . + 2n y = n(n + 1)



program e_6;

var s:real;i,n:integer;

begin

writeln;

write ('engiz n');

read (n);

s:=0;

for i:=1 to 2*n Do

if (i mod 2)=0

then s:= s + i;

writeln ('kosindinin mani=',s,' y=',n*(n+1));

end.



VI. Сабақты қорытындылауТестпен жұмыс (Activote тесттік құрылғысын пайдалану)

VII. Оқушыларды бағалауТоп жеңімпаздарын анықтау

VIII. Үйге тапсырма беру101 беттегі №2 есеп









САБАҚ ЖОСПАРЫ

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

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

Білімділік: Паскаль программалау тілінде программа құруға үйрету. Сызықтық, тармақталған, қайталану командаларды қолдана отырып, алгоритмнің график түрінде (блок-схема) жазуға, алгоритм тілде программалауға үйрету
Дамытушылық: Оқушылардың өз бетінше дербес компьютерде жұмыс істеуге дағдыландыра отырып, логикалық ойлау қабілеттерін дамыту, пәнге қызығушылықтарын арттыру
Тәрбиелік: оқушыларды ұқыптылыққа, жүйелілікке, жауапкершілікке, ізденімпаздыққа, іскерлікке тәрбиелеу

Сабақтың типі: жинақтау, бекіту сабағы

Сабақтың түрі: аралас сабақ

Сабақта қолданылатын әдіс-тәсілдер: топтық, жеке жұмыс, көрсете-түсіндіру

Пәнаралық байланыс: математика, тарих

Сабақта пайдаланылатын көрнекі құралдар: ДК, интерактивті тақта, флипчарттар, тесттік құрылғы, тірек схемалар, электрондық оқулық, Паскаль бағдарламасы

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

I. Ұйымдастыру кезеңі.

Сыныпты топтарға бөлу (Алгоритм, Оператор, Блок-схема)
II. Өтілген сабақтарды қайталау

1) Алгоритм дегеніміз не? Бұл сөз қайдан шықты?
2) Алгоритм өрнектеу, жазу тәсілдері?
3) Транслятор дегеніміз не?
4) Компьютер есеп шығару неше кезеңнен тұрады?
5) Сызықты, тармақталу, циклдік алгоритм дегеніміз не?
6) Паскаль тілінде және алгоритмдік тілдерде қандай шамалар пайдаланылады?

7) Мәліметтердің типтері қалай сипатталады, олар қандай қызмет атқарады?

8) Оператор дегеніміз не, олар қандай топтарға жіктеледі?

9) Енгізу және шығару операторларының атқаратын негізгі міндеттері қандай?

ІІІ.Тапсырмалармен жұмыс (топтарға беріледі)

1 .Ұзындығы а-ға тең, в-ға тең тік төртбұрыштың ауданын есептейтін программа құрыңыз.

2 Есеп. Табандары а және в болатын, үлкен қабырғасына іргелес бұрышы х-қа тең теңбүйірлі трапецияның ауданын табу программасын жаз.

3 Есеп. Арифметикалық өрнектерді Паскаль тілінде жаз.

1) y=6x2+3x-1

2) a=|b|-2c

3) d=(5a-b2+c)/3

4) y=sin2x-cosx

5) y=e7xsinx+1/2

6) z=1+x/(2sinx-1)

ІV. Диктант. Берілген бағдарлама мәтінін оқушылармен бірге жазып шығу.

Шардың радиусы берілген, шардың көлемін табу бағдарламасын жазу керек

V. Деңгейлік есептер шығару.

n-ге дейінгі натурал сандардың қосындысын есептеп, y-тің мәнін тап

1. 1 + 2 + 3 + . . . + n y = n(n + 1)/2


program e_5;

var s:real;i,n:integer;

begin

writeln;

write ('engiz n');

read (n);

s:=0;

for i:=1 to 2*n-1 Do

if (i mod 2)=1

then s:=s+i;

writeln('kosindinin mani=',s,' y=',n*(n+1)/2);

end.



2

2 + 4 + 6 +. . . + 2n y = n(n + 1)


program e_6;

var s:real;i,n:integer;

begin

writeln;

write ('engiz n');

read (n);

s:=0;

for i:=1 to 2*n Do

if (i mod 2)=0

then s:= s + i;

writeln ('kosindinin mani=',s,' y=',n*(n+1));

end.


VI. Сабақты қорытындылау. Тестпен жұмыс (Activote тесттік құрылғысын пайдалану)

VII. Оқушыларды бағалау. Топ жеңімпаздарын анықтау

VIII. Үйге тапсырма беру, 101 беттегі №2 есеп






САБАҚ ЖОСПАРЫ ПРАКТИКАЛЫҚ ЖҰМЫС

Пән аты: Информатика

Сыныбы:9

Сабақтың тақырыбы: Есептер шешу бойынша практикум

Сабақтың мақсаты: Оқушыларға Паскаль есептерін шығару жолдарын үйрету;

Білімділігі: Типтердің Паскаль тілінде жазылу түрлері туралы ұғымдарын дамыту;

Дамытушылығы: Оқушыларды программалау тілінің командаларымен және құрылыммен таныстыра отырып, логикалық ой-өрістерін дамыту; Қоршаған ортаның ортақ қасиеттері мен жеке қасиеттерін айыра білуге тәрбиелеу.

Тәрбиелік: Оқушыларды ұқыптылыққа, жинақылыққа адамгершілікке тәрбиелеу.

Сабақтың түрі: Білім білікті қалыптастыру сабағы

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

1. Ұйымдастыру

2. Үй тапсырмасын тексеру

3. Есептер шығару

4. Үйге тапсырма



ІІ.Үйге берілген есептерді тексеру

ІІІ. Есептер шығару:



3 КЕ БӨЛІНСЕ САНДАРДЫ ҚОС, 3 КЕ БӨЛІНБЕСЕ АЗАЙТ

program esep;var n,m:integer; x:real;begin write('n='); read(n);

write('m='); read(m);if (n mod 3=0) and (n mod 3=0) then x:=n+m else x:=n-m;

{if a=m/3 then a:=n+m else a:=n-m;}

write('x=',x:6:2); end.



МАКСИМУМДЫ ТАБУ

program esep2;var a,b,c,max:integer;

begin read(a,b,c);if ab then max:=a else if bc

then max:=b else if ac then max:=a else max:=c;

write('max=',max); end.







ПЕРИМЕТР, АУДАН ТАБУ

Program audan; Var a,b,c,p,s: real;

Write (‘a,b.c); Read(a.d,c)/2;

P:=(a+b+c)/2; S:=sqr(p*(p-a)*(p-b)*(p-c));

Write(p,s); End.



РАДИУС ЕСЕПТЕУ

Program Audan;Const r=5.2;

Var L,S:real;begin

L:=2*pi*r;S:=pi*sqr(r);

Writeln (‘Дөңгелек ауданы =’, S:4:2);

Writeln (‘Шеңбер ұзындығы =’, L:5:2)

end.



КУБТЫҢ КӨЛЕМІ

Program Pl1;

Var a,V: integer; a-кубтың қабырғасы, V-көлемі

Begin read(a); қабырғаны енгізу

V:=exp(3*ln(a)); (* куб көлемі V=a^3 *)

Writeln (‘V=’, V); end.



Екі санның үлкенін табыңдар.ШАРТ

Program m1;

Var a,b, max: integer;

Begin Write (‘2 санды енгіз’); read (a,b);

If ab then max:=a else max:=b;

Writeln (‘Жауап:’, max);end.



Квадрат теңдеудің түбірін табыңдар.

Program m2;

Var a,b,c,D:integer; x1,x2: real;

begin Write (‘кв.теңдеу коэффициенттерін енгіз:’); readln (a,b,c);

D:=b*b-4*a*c;  дискриминантты есептеу 

If dтүбірі жоқ ’)

else begin x1:=(-b+sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a);

Writeln (‘x1=’, x1, ‘x2=’, x2); end; end.



ТАҢДАУ ОПЕРАТОРЫ

Program m1;

var n: byte; begin

write (1-ден 7-ге дейінгі санды енгіз);

read (n); сase n of

1: Writeln (Дүйсенбі);2: Writeln (Сейсенбі);

3: Writeln (Сәрсенбі);4: Writeln (Бейсенбі);

5: Writeln (Жұма);6: Writeln (Сенбі);

7: Writeln (Жексенбі) else writeln (Дұрыс емес)

end; end.



5 санының көбейту кестесін экранға шығаратын программа құрыңдарProgram m1;

var i, p : integer;begin

for i:=1 to 9 do begin

p:=5*i; Writeln (i,'*5=', p)

end;end.



n!-мәнін есептеу программасын әзір циклі арқылы жазайық..

PROGRAM M1; var i, n: integer; P: longint;

Begin read (n);

P:=1; i:=1; While i

Begin P:=P*i; i:=i+1;

end; Write ('n!=', P);end.



x-тің мәні -5-тен 5-ке дейін 0,2 қадаммен өзгерген мәндері үшін у=х2-1функциясының мәндерін экранға шығарындар.

PROGRAM M1; var X, y: real;

Begin x:=-5; While x

Begin y:=sqr(x)-1; Writeln (x,'---',y);

x:=x+0.2; end; end.



бүтін сан берілген. Олардың көбейтіндісін есептеңдер. Егер сан 0-ге тең болса, циклден шығу үшін Break операторын қолданыңдар.

var i, n, x, P: integer;

begin read (n); санның нешеу екенін енгізу

for i :=1 to n do

әрбірbegin readln (x);  санды енгізу

if (x=0) then break;

P:=P*x;end;writeln ('P=',P) ;end.



[10,50] аралығындағы 5 кездейсоқ бүтін санды шығару программасы.

Var x: real; i: byte;

Begin for i:=1 to 5 do

Begin x:=random (40)+10;

Writeln (x) ;end;end.





ІV. Үйге тапсырма:

Екі натурал санның ең үлкен ортақ бөлгішін табыңдар




САБАҚ ЖОСПАРЫ

Сабақтың тақырыбы: Тармақталу операторына есептер шығару

Сабақтың мақсаты:
Білімділік: Оқушыларды Паскаль тілінің IF, THEN, ELSE тармақталу операторын пайдаланып бағдарлама құруға үйрету.
Дамытушылық: Тармақталу операторын пайдаланып, бағдармалама құра отырып, оқушыларды өз беттерімен бағдарлама құруға дағдыландыру, логикалық ойлау қабілеттерін дамыту.
Тәрбиелік: Оқушыларды патриоттыққа, жауапкершілікке тәрбиелеу.
Сабақтың түрі: Практикалық сабақ
Сабақтың әдісі: Репродуктивті әдіс
Сабақтың көрнекілігі: Дербес компьютер
Сабақтың барысы:
І. Ұйымдастыру кезеңі

ІІ. Үй тапсырмасын тексеру

• Құрылымдық операторларға қандай операторлар жатады?
• Қарапайым және құрылымдық операторлардың айырмашылығы неде?
• Құрама оператор деп қандай операторды айтамыз?
• Шартты операторлардың қандай түрлері бар?
• Таңдау операторы не үшін қолданылады?
• CASE операторының жалпы жазылу түрі қандай?

ІІІ. Компьютермен жұмыс

№1 есеп: Екі санның үлкенін табатын бағдарлама құру
Program esep_1;
Uses crt;
Var x, y, max: integer;
Begin
Clrscr;
Writeln(‘Eki sandy engiz…’);
Readln(x,y);
If xy then max:=x else max:=y;
Writeln(‘Eki sannyn ulkeni = ’, max);
End.


№2 есеп: Үш санның үлкенін табатын бағдарлама құру
Program esep_2;
Uses crt;
Var x, y, z, max: integer;
Begin
Clrscr;
Writeln(‘Ush sandy engiz…’);
Readln(x,y,z);
If xy then max:=x else max:=y;
If maxz then max:=max else max:=z;
Writeln(‘Ush sannyn ulkeni = ’, max);
End.


№3 есеп: Адам жасына қарап, оларды әлі мектепке бармаған, мектеп оқушысы, жұмысшы, зейнеткер деген төрт топтың біріне жатқызатын бағдарлама құру. Адам жасы пернетақтадан енгізіледі.
Program esep_3;
Uses crt;
Var x: integer;
Begin
Clrscr;
Writeln(‘Adam jasyn engiz…’);
Readln(x);
If x6) and (x17) and (xabs(y) then
begin
x:=x/5;
writeln(‘x = ‘,x:5:2) end
else writeln(‘x = ‘,x, ‘ y = ‘,y);
End.


№5 есеп: Пернетақтадан трамвай билетінің номері (1 орынды 6 сан) енгізіледі. Билеттің «бақытты» номер екенін анықтайтын бағдарлама құру керек. Бақытты билеттің алғашқы 3 цифрының қосындысы соңғы 3 цифрының қосындысына тең.
Program esep_5;
Uses crt;
Var x, y, z, a, b, c, S, S1: real;
Begin
Clrscr;
Writeln(‘bilet nomerin engiz…’);
Readln(x, y, z, a, b, c);
S:=x+y+z;
S1:=a+b+c;
If S = S1 then writeln(‘bakitty nomer’)
else writeln(‘bakitty nomer emes’);
End.

IV. Сабақты бекіту сұрақтары

• Шартты операторлардың қандай түрлері бар?
• IF операторының жалпы жазылу түрі қандай?
• Writeln(х:5:2) операторындағы 5 және 2 цифрлары нені білдіреді?
• Қандай жағдайда IF операторы екі рет қолданылады?

V. Үйге тапсырма беру
89 – 90 бет, 12 және 13 жаттығулар.
VI. Оқушы білімін бағалау






































ДӘРІС

Турбо Паскаль тіліНДЕ ПРОГРАММАЛАУ НЕГІЗДЕРІ


Жоспар

  1. Турбо Паскаль ортасымен танысу

  2. Тіл алфавиті

  3. Паскаль тіліндегі программаның құрылымы


1. ТУРБО ПАСКАЛЬ ОРТАСЫМЕН ТАНЫСУ

Бағдарлама – компьютерді басқаруға арналған командалардың логикалық реттелген жиынтығы. Машиналық кодпен программа құру күрделі. Сондықтан қазіргі кезде барлық программалар бағдарламалау тілдері арқылы құрылады. Турбо Паскаль тілінде программалау жүйесі программалау тілі компляторы және бірнеше құрал сайманды програмалау қабықшаларымен бірге жұмыс істеуге мүмкіндік беретін программалау тілі. (Тіл француздың атақты математигі және философының құрметіне аталған.)

Функциональды пернелері. Функциональды пернелер Турбо Паскаль ортасын басқаруға арналған. Олар F1, F2, … F12 деп белгіленеді және пернетақтаның жоғарғы қатарында орналасқан. Барлық функциональдық пернелерді Ctrl, Alt, Shift пернелерімен бірге қолданып әртүрлі командалар алуға болады.

F1 –анықтамалық жүйе

F2-дисклік файлға түзетілетін мәтінді жазу

F3- дисклік файлдан редактор терезесінде мәтінді оқу

F4- программаның орындалуының басталуы мен аяқталуы немесе курсор орналасқан жерде тоқтау

F5- белсенді терезені толық экранға жаю

F6- келесі терезені белсенді жасау

F7- өңдеу режимінде қолданылады;

Alt+ F9 –бағдарламаны компиляциялау;

Ctrl +F9 –бағдарламаны компиляциялау және орындау;

ALT+F5 – редактор терезесін нәтижелер шығарудың қара терезесіне алмастыру;

ALT+X –Turbo Pascal ортасынан шығу;


2. ТІЛ АЛФАВИТІ

Кез келген тіл алфавиттен басталады. Паскаль тілінің алфавитінде белгілердің үш тобын бөлуге болады: әріптер, сандар және арнаулы символдар. Әріптер ретінде латынның А-дан Z-ке дейінгі бас әріптері қолданылады. Тілдің кейбір нұсқаларында әріптер құрамын орыс не қазақ сөздері тек қана комментарий ретінде қолданылады. Цифрлар ретінде кәдімгі ондық цифрлар қолданылады: 0,1,2,3,4,5,6,7,8,9.

Арнаулы символдардың тобы едәуір көп және одан үш негізгі топшаны бөліп алуға болады: арифметикалық операциялар белгілері, салыстыру операция белгілері, бөлгіштер. Алған білімді тәжірибеде қолданып көрелік және екі санның қосындысын есептейік. Есеп шешудегі біздің әрекетімізді компьютердің көмегінсіз –ақ кәдімгі әдіспен модельдеп көрелік. Ең алдымен бірінші және екінші қосылғыштың мәне неге тең екенін біліп алу қажет. Қосылғыштардың мәнін біз қайда сақтаймыз. Қағазда не өзіміздің жадымызда. Содан соң “қосу” нұсқауын алғаннан кейін біз керекті әрекетті орындап, жауабын аламыз. Ал жауап қайда сақталады, біздің жазымызда не қағазда. Машина тура осы амалдарды орындайды:

  1. қосылғыштардың мәнін қабылдайды

  2. қосылғыштардың мәнін келесі нұсқауға дейін сақтайды.

  3. берілген қосылғыштарға қажетті амалдар қолданып, оларды сақтайды, бұл жағдайда қосындыны сақтайды.

  4. адамға жауабын хабарлайды, яғни жауапты көрсетуге мүмкін болатын блок не құрылға қажет.

ЭЕМ-нің негізгі блоктарын біле отырып, ЭЕМ-да есептерді шығару үшін жүретін амалдар тізбегінің жүрісін түсінетін боламыз. Ықшамдалған

түрде ол былай болады:

Тапсырманың қойылуы - алгоритм – бағдарлама – мәтін – нәтиже

Сонымен қорытындылап және қысқаша айтқанда екі санның қоындысын есептеу үшін:

а. Айнымалылардың мәнін енгізу ережесі;

ә. “қосу” және қосындыны сақтау ережесі,

б. Нәтижені шығару ережесі

Ережелерді Паскаль тілінде

Мәліметтерді енгізу: read (a,b), readln (a,b)

Қосу ережесі: с:=а+b

Мәліметтерді шығару тізімі write(шығару тізімі), writeln(шығару тізімі)


3. ПАСКАЛЬ ТІЛІНДЕГІ ПРОГРАММАНЫҢ ҚҰРЫЛЫМЫ

Программа –қандай бір есепте шешудің алгоритмін орындаушы ЭЕМ-ге арналған реттелген амалдар тізімі. Паскаль тілінде жазылған бағдарлама PROGRAM деп аталатын тақырыптан басталады, одан кейін бағдарламаның аты жазылып, END қызметші сөзімен және нүктемен аяқталады. Бұл сөздердің арасында бағдарламаның екі бөлімі орналасады: мәліметтерді суреттеу бөлімі және амалдарды суреттеу бөлімі. Амалды біз оператор деп атайтын боламыз. Схемалық түрде ол былай болады:

Program …; { бағдарламаның тақырыпшасы }



Var …; { айнымалылар бөлімі }



Begin { басы }

. . . { орындалу бөлігі}



end. {бағдарлама соңы

Программаның соңы


Операторлар бөлімі


Мәліметтерді суреттеу бөлімі немесе сипаттама бөлімі


Тақырыбы







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

Операторлар бөлімі мына түрдегі операторлық жақшалармен жасалады: Begin (бастау) және (аяқтау). End сөзінен кейін нүкте қойылады.

Төменде Паскаль тілі бағдарламасының құрылымы жалпы түрде көрсетілген:

Program prob;

LABEL – ( таңба жариялау)

CONST – (тұрақты жариялау)

TYPE - (типті жариялау)

VAR - (айнымалы жариялау)

PROCEDURE, FUNCTION- (процедура мен функцияны жариялау)

BEGIN

Оператор 1;

Оператор 2;

. . . ;

Oператор n-1;

Оператор n;

End.

Бағдарламаның өзі еркін түрде жазылады. Бағдарламалаудың басқа тілдеріне қарағанда өзгешелігі операторлар бір жолдың белгілі позициясына бекітіліп жазылмайды. Бір жолдан екінші жолға операторларды тасымалдауға рұқсат етіледі, бірақ сөздерді, тұрақтыларды және құрама символдар тасымалданбайды.Бағдарлама тақырыпшасын, сипаттама бөлімін және операторлар бөліміндегі Begin, Program, End қызмет сөздерін жеке жолда жазуға ыңғайлы болып табылады.

Мысал: Келесі қарапайым бағдарламаны қарастырып көрелік

V=(4/3) R3 формуласы бойынша шардың көлемін тап.

R=0,2 - шар радиусы; =3,14

Program prob;

Const pi=3.14;

Var

R:real; V:real;

Begin

R:=0.2; V:=4*pi*R*R*R/3;

Writeln(‘шар көлемі =‘,V:8:3)

End.

Мысалы: Қабырғалары а,b болып табылатын тік төртбұрыштың периметрін есепте. Қабырғаларының мәні а=8, b=21 болсын. Периметрді табу үшін Р=(а+в)/2 формуласы қолданылады.

Program Prob1;

в

Var a,b,p:integer;

Begin

а

A:=8;

B:=21;

P:=(a+b)*2;

Write (p)

End.

Бағдарлама стандартты тақырыпша Program–нан тұрады. Тақырыпшадан соң деректер сипатталады. VAR сөзінен кейін бағдарламада кездесетін барлық айнымалылар (А, В, Р) жазылып, : (қос нүктеден ) кейін айнымылы типі енгізіледі. А, В, Р:integer. Әрі қарай Begin және End сөздерінің ортасында операторлар орналасады. Алдыменен А, В айнымалыларына олардың сандық мәні меншіктеледі де содан соң формула бойынша тік төртбұрыштың периметрі есептелінеді. Write (P) операторының көмегімен есептелген мәнді экранға шығарамыз.



Сабақты бекіту үшін қойылатын сұрақтар.

  1. Бағдарлама дегеніміз не?

  2. Паскаль тілінің алфавиті қандай?

  3. Паскаль тілінде бағдарламаны жазу құрылымы қандай?

  4. Сипаттама бөлімі неден тұрады?

  5. Алгоритмдік тіл дегеніміз не


Қолданылатын әдебиеттер тізімі.

  1. С. Немнюгин «Turbo Pascal» 158 бет



ТҮСІНУ


Паскаль тілінде мәтіндік ақпаратты өңдеу

Оның айнымалы бөлімінде сипатталуы:

Var

айнымалы аты, …; string [жолдың ұзындығы];

Мысал:

Var

     Tex1 : string[29];

     Atj : string[40];

     Atau : string[200];

     A : string;

Салыстыру амалдары, олар: +, , , =, белгілерімен белгіленеді. Сөз тіркестерін салыстыру олардың символдарының кодтарын солдан оңға қарай біртіндеп бір-бірімен салыстыру арқылы жүзеге асырылады. Егер тіркестің алғашқы символдары бірдей болса, онда қай жолдың символы көп болатын болса, сол үлкен деп есептеледі. Егер өрнекте біріктіру мен салыстыру амалдары болса, ең алдымен біріктіру амалы, содан соң салыстыру амалы орындалады. Сөз тіркесінің салыстыру амалының  нәтижесі логикалық шама болады. Мысалдар:

          өрнек                             нәтиже      

‘MS-DOS’

‘program’

‘SAM’ = ‘SAM’                       true

‘SAM’ ‘SAM’                       true

‘BBB’

‘TAM1’ ‘TAM2’                   false

‘100’

Мәтін ұзындығын анықтайтын операциясы – LENGTH (x).

Length (‘ABCD’) = 4.     Length (‘a f 5 1’) = 7.

Copy (St, Poz,N) – St сөз тіркесінің Poz нөмірлік символынан бастап қатар тұрған N символ көшіріліп алынады.  St – тіркестік айнымалы, Poz, N – бүтін сандар. Егер сөз тіркесі ұзындығынан N артық болса, нәтиже бос символ болады.

Concat(s1, s2,…,sn) – жақша ішіндегі тіркестік айнымалылар мәндерін орналасқан орындары бойынша біріктіреді.

Upcase(ch) – латын алфавитінің кіші әріптерін сәйкесінше бас әріптерге ауыстырады.

Delete(S,Poz,N) – S сөз тіркесі символдарының Poz нөмірінен бастап, N символды өшіреді де нәтижені қайта S мәні ретінде жазады, мұнда  Poz

Insert(S1,S2,Poz) – S1 сөз тіркесін S2 тіркесінің Poz нөмірінен бастап кірістіріп орналастырады да, нәтижені  S2 мәні ретінде жазады.

Str(I,S) – I санын сиволдар тіркесіне ауыстырады да, нәтижені S мәні ретінде жазады.  I атауынан кейін шығару пішімін ( I:2) көрсетуге болады.

Val(S,I,god) – S сөз тіркесі ретінде берілген сандық мәнді бүтін немесе  нақты санға ауыстырады да, нәтижені I айнымалысының мәні ретінде жазады.  God – бүтін типтегі айнымалы, егер түрлендіру кезінде қате болмаса,  сod = 0 – нәтиже дұрыс, ал cod 0 болса, онда нәтиже қате, оның мәні алғашқы қате кеткен орын нөмірін көрсететін санға тең болады да, мұндайда I – дің мәні анықталмаған болып саналады.

Яндекс.Директ

Мысал: «Студент» сөзі берілген. Стандартты тіркестік процедуралар мен функцияларды пайдаланып, төмендегі тапсырмаларды орындау керек:

1)    сөздің ұзындығын табу;

2)    сөзге «пін» жалғауын жалғау;

3)    сөзден «ден» үзіндісін кесіп алу;

4)    сөзден «ент» үзіндісін алып тастау;

5)    сөз алдына «Мен» тұрақтысын кіргізу;

6)    сөз ішіндегі «е» әрпінің орналасу нөмірін табу:

program student;

var

     a1: string [7];   a2: string [3];

     a3: string [10]; a4: char;

     b1,b6:integer;   b2: string [10];

     b3: string [3];    b4: string [4];

     b5: string [11];

begin

         writeln;

         a1:=’студент’;      a2:=’пін’;

         a3:=’Мен’;            a4:=’е’;

         b1:=length(a1);              {ұзындығын анықтау b1=7}

         b2:=concat(a1,a2);          { a1 және a2 –ні қосу}

b3:=copy(a1,4,3);          {а1 тіркесінің 4-ші позицисынан 3 символды бөліп алу}

      b4:=copy(a1,5,3);        { а1 тіркесінің 5-ші позицисынан 3 символды бөліп алу } 

         b5:=concat(a3,a1);            { a3 және a1 –діі қосу }

         b6:=pos(a4,a1);                 {5}

write(‘сөз ұзындығы:’,b1,’’:2,b2,’’:2,b3,’’:2,b4);

writeln(b5,’’:2, b6);

end.  

Тапсырма №1.  Кез келген сөзді пернетақтадан енгізіп, оның ұзындығын анықтайтын программа құрыңдар.  Компьютерде орындап, нәтижені көрсет.

Тапсырма №2: Енгізілген жолда «*» символ санын анықтайтын программада қажетті функцияны енгізіп, программаны аяқтаңыз.

Program esep2;

Uses crt;

Var k,tz:string [100];

S,I,n: integer;

Begin clrsscr;

Write (‘jol engiz:’); readln(tz);

N:length (tz);

Writeln(‘n=’,n);

……………………………………………..

…………………………………………..

…………………………………………….

……………………………………………

………………………………………………..

End.

Қажетті функциялар: Writeln (‘S=’,S), k:=copy (tz,i,1), S:=0, if k=’*’ then s:=S+1, for i:=1 to n do begin, end.






Жиымдар. Бір өлшемді жиым  элементтерімен жұмыс

Негізгі ұғымдар: Жиым-бұл бір атаумен (жиым идентификаторы) белгіленіп біріктірілген біртекті элементтер жиыны. Жиымды құрайтын әрбір мән оның элементі деп аталады.

Жиымдардың негізгі параметрлеріне  оның   типі (сандық,символдық,логикалық), өлшемі (бірөлшемді,екіөлшемді т.с.с) және көлемі (жиымдардың әрбір өлшемдегі элементтерінің  саны) жатады.

Есіңе сақта: Паскаль тілінде жиымды (массивті) программада қолдану үшін алдымен оларды міндетті түрде арнаулы  array of (ағылшын тілінен аударғанда массив) операторы арқылы сипаттап жазу керек.

Оның жазылу пішімі:

type тип аты = array[индекс типі] of  элемент типі;

var идентификатор, … : тип аты;

 

Мысал 1: 13 бүтін саннан тұратын тізбектің арифметикалық ортасын табатын программа құралық.

PROGRAM ORTA;

Var

X:array [1..13] of integer;     {массивті сипаттау}

I:integer;

S:real;

Begin

        S:=0;

        Writeln(‘бос орын арқылы 13 сан енгізіңдер:’);

For i:=1 to 13 do         

Begin

         Read(x[i]);          {массив элементтерін енгізу}     

         S:=s=x[i];           {массив эл-нің қосындысын есептеу} 

 End;

S:=s/13;                       {арифметикалық ортасын есептеу}

Writeln(‘s=’,s:8:4);     {нәтижені баспаға шығару}

End.

Тапсырма№1:А массиві берілген. А массивінің элементтерінің қосындысын есептейтін программа құрыңыз:

 

Тапсырма№2: Бірөлшемді 5 элементтен тұратын А массиві берілген. А массивінің әрбір элементін 2 –ге көбейткенге тең В массивін алыңыз.


Символдық мәліметтермен жұмыс істеу тәсілдері

Символдық мәліметтерді өңдеу символдық  типті анықтайтын  CHAR  ( ағылшынның Character – символ деген сөзінен  қысқартылып алынған)  түйінді сөі арқылы жүзеге асырылады.

Негізгі ұғымдар: Char     – айнымалының мәні жеке символ болатынын білдіретін тип,

Chr (x) – byte типіндегі х өрнегін  символға түрлендіреді, мысалы: Chr (53)=’5’, chr(73)=’I’;

Ord (ch) – c символын оның byte типіндегі сәйкес кодқа түрлендіреді; мысалы: ord (‘?’)=63, ord(‘5’)=53;

pred (ch) – ch-тың алдыңғы кодына сәйкес символды береді; мысалы: pred (‘M’)=’L’;

succ(ch) – ch-String   —  айнымалының мәні сөз/сөйлем екенін білдіретін тип, мәндегі символдар саны 256-дан аспауы керек.

Text     —  мәтіндік тип, файл аттарын белгілеуде қолданылады.

Мысалы: ағылшынның алфавитін экранға шығарып беретін программа құралық.

Program kodtar;          {программаның тақырыбы}

Var c: char;                {с символдық айнымалыны сипаттау}

Begin                          {программаның басы}

         For c:=’atozdo   {параметрлі цикл операторы}

           Write(c);                 {цикл денесі: с айнымалысын баспаға шығ.}

End.                                   {соңы}

Мұның нәтижесінде дисплей экранында  abcd….z символдары көрінеді. Ал алфавитті кері тәртіпте бейнелеу қажет болса, онда  FOR операторының алғашқы жолын басқаша мынадай түрде жазу керек.

For c:=’z’ downto ‘a’ do

Мысал: Берілген сөзде қанша «а» әрібі бар екенін анықтайтын программа жазыңыз.

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.  

Тапсырма№1: Берілген жолдағы леп белгілерді нүктемен алмастыратын программа құрыңыз:

Тапсырма№2: Пернетақтадан жолға сөз енгіз және сол сөздің ұзындығын анықтайтын программа құрыңыз:

 

 

Үйге тапсырма: Енгізілген жолда «*» символының санын анықтайтын программа құрыңыз.





САБАҚ ЖОСПАРЫ


Сыныбы: 9 «А»


Күні:


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

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

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


А) Білімділік:

Оқушыларға паскаль тақырыбы бойынша білімдерін

қорытындылау.

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

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

қалыптастыру. Пәнге қызығушылықтарын арттыру.

Б) Тәрбиелік:

Оқушыларды еркін сөйлеу білуге, ұқыптылыққа жауапкершілікке,ұстамдылыққа тәрбиелеу.

Сабақ түрі:

Қайталау - практикалық сабағы

Сабақ көрнекілігі:

Интерактивті тақта, компьютер – паскаль программасы

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

І. Ұйымдастыру кезеңі

* сынып тазалығын тексеру,оқушыларды түгелдеу;

* компьютерге отырғызу;

ІІ. Үй тапсырмасын тексеру. Паскаль программасы бойынша



Тест сұрақтары

  1. Паскаль тілін жасаған кім?

A)Блез Паскаль B)Никлаус Вирт* C)Джон Фо Нейман D)Норберт Винер

2. Турбо Паскаль тілі нешіні жылы жасалды?

A)1992* B)1993 C)1994 D)1991

3. string қандай типтерді қабылдайды?

A) бүтін B)нақты C) жолдық* D)литерлік

4. Қай идентификатор дұрыс жазылған?

A)текст B)’a’ C)klass* D)end

5. х7 математикалық функциясының Паскаль тілінде дұрыс жазылуын көрсет:

A)exp(x*ln(7)) B)sqr(x) C)sqr(x)+sqr(x) D)exp(7*ln(x))*

6. Енгізу операторын көрсет:

A)clrscr B)read* C)writeln D)end

7. abs(x) жазуы нені білдіреді?

A)х-тің модулі* B)х-тің дәрежесі C)абсалюттік шама D)экспонента

8.Паскаль тілінде программа бөлімдерінің дұрыс орналасу ретін көрсет:

  1. Label, const, type, var, function, procedure*

  2. procedure, var, type, const, label, function

  3. procedure, type, const, label, function, var

  4. procedure, type, var, const, label, function

9. Шартты көшу операторы

  1. FOR - TO; В. IF – THEN - ELSE;* C. GOTO; D.CASE.

10. Цикл операторы

  1. FOR - TO; * B.IF – THEN - ELSE; C.GOTO; D.CASE.


ІІІ. Компьютермен жұмыс. Паскаль программасында есептер шығару

1. Есеп

Светофор программасын құру.

Program svet;

Var x:string ;N:char;

begin

readln (x); {түс енгізу}

If x=’қызыл’ then N:=’A’ else if x=’сары’ then N:=’B’

Else if x=’жасыл’ then N:=’C’;{түс бойынша тармақ құру}

Case N of

‘A’:write(‘тоқта,күт’);

‘B’:write(‘дайындал’);

‘C’:write(‘жүр’);

Else write (‘светофорда ондай түс жоқ’);end;

readln;

end.


2. Есеп

Апталық сабақ кестесін программалау.

Program keste;

Var X:string; {Күн аттарын сипаттау}

Y:char; {Таңдау селекторын сипаттау}

Begin

Readln(X); {Күн атын енгізу}

If X=’дүйсенбі’ then Y:=’a’ else if X=’сейсенбі’ then Y:=’c’ else if X=’бейсенбі ’ then Y:=’d’ else if X=’жұма’ then Y:=’e’ else if X=’сенбі ’ then Y:=’f’

Case Y of

‘a’:writeln (‘x’); {x-бірінші күні болатын сабақтар}

‘b’:writeln(‘xx’); {xx-2-ші күні болатын сабақтар}

‘c’:writeln(‘xxx’); {xxx-3-ші күні болатын сабақтар}

‘d’:writeln(‘xxxx’); {xxxx-4-ші күні болатын сабақтар}

‘e’:writeln(‘xxxxx’); {xxxxx-5-ші күні болатын сабақтар}

Writeln(‘xxxxxx’); {xxxxxx-6-шы күні болатын сабақтар}

Else writeln(‘ол күні сабақ болмайды’);

End;

readln;

end.


3. Есеп

Қарапайым калькулятор программасын құру.

program calc;

var a,b:integer;

x,y: char;

Begin

Repeat

Write((‘1 санды енгізіңіз); readln(a);

Write((‘амалды енгізіңіз‘); readln (x);

Write((‘2 санды енгізіңіз‘); readln (b);

If x=’+’ then writeln (‘a+b=’,a+b)

Else if x=’-’ then writeln (‘a-b=’,a-b)

Else if x=’/’ then writeln (‘a:b=’,a/b)

Else if x=’*’ then writeln (‘a x b=’,a*b)

Else writeln (‘амалды дұрыс енгізбедіңіз’) ;

Writeln (циклден шығу үшін n немесе N символын енгізіп Enter басыңыз’);

Readln(y);

Until (y=’n’) or (y=’N’); {циклдің тоқтау шарты}

writeln (‘програмадан шығу үшін Enter’ басыңыз’);

readln;

end.


4. Есеп

Үш натурал сан берілген. Олардың арасында тең сандар болмаса, «жоқ» деп, егер   олардың екеуі бір-біріне     тең болса, «иә» деп, ал үшеуі де бірдей сан болса, бәрі тең деп жазу керек.   

program esep1;

var a,b,c:integer;

begin

 writeln(’үш сан енгіз’);

 read(a,b,c);

 if (ab) and (bc) and (ac) then writeln(‘жоқ’)

               else if (a=b) and (b=c) and (a=c) then writeln(‘бәрі тең’)

                                                                else writeln(‘екеуі тең’);                                    

end.



4. Есеп

Екі үшбұрыш қабырғалары a, b, c және d, e, f  берілген. Қайсы үшбұрыштың ауданы үлкен екенін анықтау       қажет.    

program esep2;

var a,b,c,d,e,f,p1,p2,S1,S2:real;

begin

writeln(’1-ші үшбұрыш қабырғаларын енгіз:’);

readln(a,b,c);

writeln(’2-ші үшбұрыш қабырғаларын енгіз:’);

readln(d,e,f);

p1:=(a+b+c)/2;

p2:=(d+e+f)/2;

S1:=sqrt(p1*(p1-a)*(p1-b)*(p1-c));

S2:= sqrt(p2*(p2-d)*(p2-e)*(p2-f));

if S1S2 then writeln(‘‡лкені 1-үшбұрыш, ауданы =’, S1:8:2)

                    else writeln(‘‡лкені 2-үшбұрыш, ауданы =’, S2:8:2)

end.

6. Есеп

a, b, c және d тµрт түзу сызығының ұзындықтары берілген. Осылар квадраттың немесе тікбұрышты                  тµртбұрыштың қабырғалары бола алады ма? Соны тексеріңдер.     

  program esep3;

var a,b,c,d:integer;

begin

writeln(’¦зындықтарды енгіз:’);

write(’a=’); read(a);

write(’b=’); read(b);

write(’c=’); read(c);

write(’d=’); read(d);

if (a=b) and (a=c) and (a=d) and (b=c) and (b=d) and (c=d)

                           then writeln(‘Квадрат қабырғалары бола алады’);

if (a=c) and (b=d) then writeln(‘Тікбұрышты тµртбұрыштың қабырғалары бола алады’)

                                 else writeln(‘Тікбұрышты тµртбұрыштың да, квадраттың да қабырғалары бола алмайды’)

end.

шығарылуы


ІҮ. Қорытындылау.


Ү. Бағалау

1) Үй тапсырмасы бойынша

2) Есептер бойынша


ҮІ. Үйге тапсырма

Паскаль программасын қайталау.

Циклдыққа есептер құрастыру



Сабақ аяқталды.










ӘДІС МЕҢГЕРУ

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

ұлттық ойындардың тиімділігі 9 сынып


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

Мақсаты:

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

Дамытушылығы: Оқушылардың Паскаль программалау тілінде есеп шығару мүмкіндіктерін, логикалық ойлау қабілеттерін дамыту;

Тәрбиелік: Оқушыларды тиянақтылыққа, ұқыптылыққа тәрбиелеу,ұлттық ойынның мазмұнын үйретіп, салт дәстүрімен таныстырады

Сабақтың түрі:Ойын сабақ

Сабақтың жүру барысы

І. Ұйымдастыру кезеңі:

Оқушыларды топқа бөлу.

ІІ.«Блиц-турнир» үй тапсырмасын тексеру.

Оқушылар Шаңырақ кестесі бойынша сұрақтарға жауап береді.


1. Бос оператор дегеніміз не?


2.Меншіктеуоператорыныңқызметі


3.Құрама оператор дегеніміз не?


4.Таңдауоператорыныңқызметі


5.Қайталаукомандасыныңқызметі


6.Стандарттытиптертүрлерінатаңдар.




ІІІ. Есептер шығару кезеңі.

Ойын «Арқан тартысу»

Ойын шарты:

Тақтаға керілген арқанға қызыл бау байланады. Тақтаны 2 оқушыға деп 2-ке бөліп, дайындап қоямыз Бір мезгілде 2 оқушы 2 топтан тақтадағы тапсырманы орындайды. Қай топтың есебі дұрыс болса қызыл бау сол топ жағына жылжиды. Нәтижесінде жеңімпаз топ анықталады.

1. Екі санның қосындысын табу программасын құру керек.

2.Екі санның бөліндісін табу программасын құру.

3. Үш санның кішісін табатын программасын құру керек.

4. Екі бүтін сандың пернетақтадан енгізіп, олардың көбейтіндісін табу программасын құру


Ойын «Қыз қуу»

Мақсаты: Қызды қуып жету

Ойын шарты: Әр топтан бір қыз бала және бір ұл бала шығып, кесте толтырады. Қайсы оқушы дұрыс және жылдам кестее толтырса, сол оқушы мақсатқа жеткені болып есептеледі.

  1. (4,285-3,75)*(5,8-3,2)+7,5 4)c2=a2+b2-2ab cosγ

2)ex + sin2 x 5) R=abc:4S

3)D=b2-4ac 6) C=2πR




Ойын «Теңге ұтып алу»

Ойын шарты: Әр топтың оқушысы теңге таңдау бойынша жасырылған сұрақтарға жауап береді. Егер оқушы қателескен болса, онда келесі топтың оқушысы дұрыс жауабын айтуға болады.



ІV.«Бәйге» ойыны

Әр оқушы өздерінің компьютерлеріне құйылып тұрған электрондық тест тапсырмаларына жауап береді. Жауап беріп болған соң, компьютер оқушының жауаптары бойынша бағалайды.Қайсы топтың оқушылары жылдамтық танытып әрі дұрыс жауабы мол ұпайын жинаған топ жеңімпаз болады.

1. Егер y:=x+y және х=10, y=x болса, онда y-тың мәні неге тең?

А) 10 Б) 20* В) 60

2. Егерх:=0, х:=х+1, х:=х*хболса, онда х-тыңмәні неге тең?

А) 0 Б) 1* В) 2

3. Паскаль тіліндегілогикалықайнымалылартипініңжазылуы.

А) char Б) boolean* В) real

4. Паскальтіліндегісимволдықберілгендертипініңжазылуы.

А) char* Б) integer В) string

5. Паскальтіліндегіайнымалыларбөлімі

А) label Б) var* В) type

6.byteтиптіайнымалыларқайаралыққажатады?

А) [0;65535] Б) [-128;127] В)[0;255] *

7. Егерm - нақты сан болса, ондаm+1өрнегініңмәніқандайболады?

А) real* Б) integer В) boolean

8. 100 mod 10өрнегініңмәніқандайтипкежатады?

А) real Б) integer* В) byte

9.Егерy - бүтінсанболса, ондаx:=1.2*yөрнегініңмәніайнымалылардыңқандайтипінежатады?

А) real* Б) integer В) char

10.«Немесе»логикалықоперациясыныңжазылуы.

А) or* Б) not В) and

11.«Және»логикалықоперациясыныңжазылуы.

А) or Б) not В) and*

12. Параметрдіңалғашқы, ақырғымәндерінжәнеқадаммәнінбелгілейтін оператор.

А) for* Б) repeat В) while

13. Программабөлігіндегіm-ніңмәнінанықтаңдар.

m:=0;

While mdo

m:=m+1;

А) 3* Б) 4 В) 2


V. Бағалау .

Әр топтың капитаны өз командасындағы оқушының дұрыс 5 жауабына «5» ұпай, 4 жауабына «4», 3 жауабына «3» ұпайларымен бағалайды. Қайсы топтың жинаған ұпайы көп сол топ жеңімпаз болып аталады.

VI.Үйге тапсырма: 72 беттегі тапсырмаларды орындау.













Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!