Бейстандартты функциялар мен процедуралар
Сабақтың тақырыбы
Бейстандартты функциялар мен процедуралар
Сынып
Информатика, 9-сынып
Көрнекіліктер
- Компьютер
- Оқулық
- Практикум
- Тақта
Нәтиже
Оқушы процедура мен функцияны ажыратып, оларды Pascal бағдарламасында қолдана алады.
Сабақтың мақсаты
1) Білімдік
Pascal тілінде қосалқы алгоритмдердің қалай жұмыс істейтінін түсіндіру, процедуралар мен функциялар туралы түсінік қалыптастыру.
2) Тәрбиелік
Жеке жұмыс жасауға, жауапкершілікті сезінуге, нәтижеге жетуге ұмтылуға және өздігінен ізденуге тәрбиелеу.
3) Дамытушылық
Есте сақтау мен зейін қабілеттерін дамыту, пәнге қызығушылықты арттыру.
Міндеттері
- Логикалық ойлауды дамыту арқылы білім, білік, дағдыны қалыптастыру.
- Оқушының өз бетімен жұмыс істеуін қолдау және шығармашылық қабілетін дамыту.
Сабақтың барысы
I. Ұйымдастыру кезеңі
- Оқушыларды сабаққа дайындау, қатысымды тексеру.
- Ұқыптылыққа және ынталы жұмыс істеуге бағыттау.
II. Үй тапсырмасын тексеру
Өткен тақырып бойынша қысқаша сұрақтар мен практикалық тапсырмалар арқылы білімді тексеру.
III. Жаңа сабақ
Процедура
Процедура — белгілі бір әрекетті орындау үшін алдын ала анықталған атау арқылы шақырылатын бағдарламаның тәуелсіз бөлігі.
Мысал
read(x);
Бұл — пернетақтадан енгізілген мәнді x айнымалысына меншіктейтін Pascal тілінің стандартты процедурасы.
Функция
Функция — орындалу нәтижесі бір ғана мән болатын процедура түрі.
Мысал
sin(x);
Бұл — аргументтің синусын есептейтін стандартты функция.
Маңызды ереже
Процедурадағы кірістік параметрлерге (мәндік параметрлерге) мән негізгі бағдарламада шақыру командасынан бұрын беріледі (меншіктеледі).
Процедура мен функцияны бағдарламашының өзі де жаза алады — бұл бейстандартты қосалқы бағдарламаларға жатады.
Pascal кітапханалық модульдері
Pascal-дың кітапханалық модульдері — типтеріне қарай топтастырылған стандартты процедуралар мен функциялардың жиынтығы. Pascal 6.0 нұсқасынан бастап кітапханада 9 модуль бар. Қажет модульді USES түйінді сөзі арқылы қосуға болады.
uses crt;
Экранмен жұмыс істеуге, соның ішінде түсті мәтін шығару мүмкіндіктеріне қол жеткізеді.
uses graph;
Экранға графикалық элементтер мен сурет салуға мүмкіндік береді.
Практикалық есеп (Методикалық жетекші, 89-бет)
Әрқайсысының координаталары x, y және массасы m болатын 10 нүкте берілген. Жүйенің ауырлық центрін және әр нүктенің осы центрден қашықтығын табатын бағдарлама жазыңыз.
Есептеу алгоритмі
- 10 нүктенің координаталары мен массаларын сақтайтын массивтер құрамыз (x, y, m — бүтін сандар).
- Әр нүкте үшін үш мәнді (x, y, m) енгізіп, массивтерге жазамыз.
- Алдымен жүйенің ауырлық центрін есептейміз: салмақталған қосындылар арқылы xm және ym табылады.
- Нүктеден ауырлық центріне дейінгі қашықтықты есептейтін формуланы бөлек процедураға жазамыз.
- Процедураны шақырып, әр i-нүктенің қашықтығын экранға шығарамыз.
Бағдарлама үлгісі (түзетілген нұсқа)
Төмендегі кодта бастапқы мәтіндегі қателер түзетілді: sm нөлден басталады, ал xm және ym бөлу арқылы есептеледі.
program nykteler_metod_89bet;
uses crt;
var
xx, yy, m: array[1..10] of integer;
x, y, i: integer;
l, xm, ym, sx, sy, sm: real;
procedure syzyk;
begin
l := sqrt(sqr(x - xm) + sqr(y - ym));
writeln(i, '-ші нүктенің қашықтығы = ', l:3:2);
end;
begin
write('10 нүктенің x, y координаталары мен массасын енгізіңіз: ');
for i := 1 to 10 do
read(xx[i], yy[i], m[i]);
sx := 0; sy := 0; sm := 0;
for i := 1 to 10 do
begin
sx := sx + xx[i] * m[i];
sy := sy + yy[i] * m[i];
sm := sm + m[i];
end;
xm := sx / sm;
ym := sy / sm;
writeln('Ауырлық центрі: (', xm:3:2, ', ', ym:3:2, ')');
for i := 1 to 10 do
begin
x := xx[i];
y := yy[i];
syzyk;
end;
end.
IV. Сабақты бекіту
- Бағдарламадағы түспен белгіленген бөліктер орындалғанда компьютер қандай әрекеттерді орындайды? Талқылау: енгізу/шығару, есептеу, процедура шақыру, экранды басқару командалары.
- Бүтін санның факториалын есептейтін бағдарлама жазыңыз және компьютерде орындаңыз. Үлкен сандар берілгенде не болады? Тығырықтан қалай шығуға болады? Нұсқау: дерек типінің шектелуі, overflow; шешімдер — үлкен сандар үшін басқа тип/кітапхана, шектеу қою немесе жол/массив арқылы сақтау.
V. Бағалау
Оқушылардың жұмысын белсенділігіне, түсіну деңгейіне және практикалық тапсырманы орындауына қарай бағалау.
VI. Үй тапсырмасы
Тақырып: Бейстандартты функциялар мен процедуралар. Теорияны қайталап, өзіңіз жазатын бір процедура және бір функцияға мысал дайындаңыз.