Оңтүстік-Қазақстан политехникалық колледж
Арнайы пәндер оқытушы
Убайдуллаева Индира Медетханқызы
«Алгоритмдеу және бағдарламалау негіздері» пәні бойынша ашық сабақтың әдістемелік әзірлемесі
Сабақтың тақырыбы: Функция құрылымы
Сабақтың мақсаты
Білімділік: Функция және ішкі бағдарлама туралы түсінік беру. Функцияның қолданылуы және жазылу формуласы жайында қысқаша. Функция мен процедураны салыстыра отырып есептер шығару тәсілдерін меңгерту.
Дамытушылық: Студенттердің сабаққа деген және өз мамандықтарына деген қызығушылығы мен белсенділігін арттыру.
Тәрбиелік: Студенттерді өзара сыйластыққа және колледж мүлкіне ұқыптылықпен қарауға тәрбиелеу.
Сабақтың түрі: аралас сабақ
Көрнекі құралдар: SMART Board электронды интерактивті тақтасы, дербес компьютер, «Алгоритмдеу және бағдарламалау негіздері» пәні бойынша электронды оқулық, әдістемелік нұсқау (пән бойынша оқу құралы).
Пән аралық байланыс: Жүйелік бағдарламалау, Өндірістік және экономикалық процестерді математикалық модельдеу, Объектілі бағытты бағдарламалау негіздері.
САБАҚТЫҢ ЖҮРУ БАРЫСЫ
1 Ұйымдастыру сәті (2 мин): Аудиторияны сабаққа дайындау. Студенттердің назарын сабаққа жұмылдыру.
2 Оқушылардың танымдық белсенділігін арттыру. Білімді бақылауды ұйымдастыру (10 мин).
Өткен сабақтарды қайта жаңғырту, еске түсіру:
Бағдарламалаудан терминдік диктант.
Студденттерге өтілген сабақ бойынша ауызша сұрақтар қойылады:
3 Жаңа сабақты түсіндіру (45 мин).
ФУНКЦИЯ
Паскаль тілінде функцияны арнайы программа ретінде жеке жазуға болады. Сондықтан оны көмекші программа ретінде қарауға болады.
Функция программасы процедура программасынан ерекшеліктері:
- Функция бір ғана белгілі мән қабылдайды, яғни функцияның программадан алынатын нәтиже біреу-ақ;
- Нәтиже функция аты арқылы алынады да, негізгі бағдарламада пайдаланылады.
Функция бағдарламасының жазылу үлгісі:
FUNCTION аты (формальды параметр): типі;
бейнелеу бөлігі
BEGIN
параметрлер бөлігі
END.
Функция фактілі параметрлердің мәндері берілгеннен кейін өз аты арқылы шақырылады. Сонымен қатар функцияны тікелей өрнектің ішінде шақыруға болады. Процедура мен функция айырмашылықтарын түсіну үшін екі санды қосу программасын процедура және функция түрінде жазайық.
- Процедура мен функция ұқсастығы олардың екеуінде де айнымалыларды, белгілерді тұрактыдарды бейнелеу бөліктері болады.
- Олардың бір-бірінен 1-ші өзгешелігі 1-шісінде PROCEDURE, ал 2-сінде FUNCTION қызмет сөздері пайдаланылады, процедурада, нәтиже (айнымалы) параметрлерінін типі процедура атауынан соң тұратын кіші жақша ішінде бейнеленсе, ал функцияда нәтиже үшін арнайы параметр алынбайды, нәтиже (функция мәні) функция атына меншіктіледі, сондықтан функция типі, аргументтер типтері белгіленген жақша сыртында, ":" арқылы көрсетіледі.
Мысалы: FUNCTION F(A: REAL; VAR b: REAL): REAL;
FUNCTION F(VAR a, b: INTEGER): INTEGER
FUNCTION F(A: INTEGER): CHAR;
- Негізгі бағдарламада функцияның мәнін тек функция атауы арқылы пайдаланылады.
Мысалы: Екі санның қосындысын табу керек.
1) PROGRAM PR; VAR A: INTEGER; PROCEDURE KOS(B,C: INTEGER; VAR K: INTEGER); BEGIN K:= B + C; END; BEGIN KOS (15,4,A); WRITELN (‘KOS=’,A:2); END.
|
2) PROGRAM KFN; VAR A: INTEGER; FUNCTION KOS(B,C: INTEGER): INTEGER; BEGIN KOS:= B + C; END; BEGINA:= KOS(15,4); WRITELN(‘KOS=’, A:2); END.
|
Мысалы: F=m!-k! есептeу кeрек:
PROGRAM FER;
VAR F:REAL; M, K: INTEGER;
FUNCTION FACT(N: INTEGER): REAL;
VAR I: integer; P: REAL;
BEGIN
FOR I:= 1 TO N DO P:= P*I; FACT:= P; END;
BEGIN
READLN (M,K); F:= FACT (M) –FACT (K);
WRITELN('F=',F ); END.
Есеп №2.1. Берілген A,B,C сандардың үлкенін табу программасын функция көмегімен құрыңыз.
Program Fn;
Var
A,B,C :Real;
Function Max(A,B:Real):Real;
Begin
If A>B Then Max:=A Else Max:=B
End;
Begin
Writeln(‘A,B,C -?');
Readln(A,B,C);
Writeln(' Max =’, Max(Max(A,B),C)); End.
Есеп №2.2. Функция көмегімен m және n мәндерін есептеңіз.
m := мах(x,y)
n := мах(2,x+y);
function MaxNumber(a,b: integer): integer;
var max: integer;
begin
if a>b then max:=a else max:=b;
MaxNumber := max;
end;
begin
write(x,y-? ');
readln(x,y);
m := MaxNumber(x,y);
n := MaxNumber(2,x+y);
writeln('m=',m,'n=',n); end.
Есеп №2.3. xm дәрежесін есептеу программасын функция көмегімен есептеу.
program esep1;
var x,y:real; n:integer;
function step(k:real; m:integer):real;
var i:integer; j:real;
begin l:=1;
for i:=1 to m do j:=j*k;
step:=l;
end;
begin writeln('x,n-?'); read(x,n);
y:=step(x,n);
writeln(y:4:2); end.
Есеп №3. Координаттар осінде берілген нүктелер үшбұрыштың төбелерін анықтайды. Осындай үшбұрыштар саны бізде екеу. Осы үшбұрыштардың ауданын (функция бойынша) есептеп, олардың ауданын салыстыру керек. Қайсысының ауданын көп екенін, тең болса тең екенін экранға шығару программасын құру.
program esep;
var x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,s1,s2:real;
function aud(a1,b1,a2,b2,a3,b3:real):real;
var a,b,c,p:real;
begin
a:=sqrt(sqr(a2-a1)+sqr(b2-b1));
b:=sqrt(sqr(a3-a2)+sqr(b3-b2));
c:=sqrt(sqr(a3-a1)+sqr(b3-b1));
p:=(a+b+c)*2; aud:=sqrt(p*(p-a)*(p-b)*(p-c)); end;
begin
writeln('x1,y1,x2,y2,x3,y3-?');
read(x1,y1,x2,y2,x3,y3);
s1:=aud(x1,y1,x2,y2,x3,y3);
writeln('x4,y4,x5,y5,x6,y6-?');
read(x4,y4,x5,y5,x6,y6);
s2:=aud(x4,y4,x5,y5,x6,y6);
if s1>s2 then writeln('Birinshi ulken') else
if s1=s2 then writeln('ekeui ten') else writeln('ekinshisi ulken'); end.
4 Жаңа материалды пысықтау (15 мин ).
1. Жаңа сабақ тақырыбына сәйкес студенттерге тапсырмаларды орындау қажет, яғни тақырыпқа сәйкес есептер шығарылады.
2. Студенттерге алған білімдерін тексеру үшін кеспе қағаздары үлестіріледі. Кеспе қағаздарда қойылатын сұрақтар алдыңғы тақырып пен жаңа тақырып материалдарын қамтыған.
5 Үй тапсырмасы (3 мин).
1. Геометриялық фигуралардың ... функция көмегімен есептеу.
2. Қосымша. Берілген үш таңбалы санның цифрларының қосындысын, көбейтіндісін, максимумын, минимумын есептейтін программа құрыңыз.
6 Сабақты қорытындылау (5 мин). Бағалау және оны жариялау.
- Асқар Сүлейменов
- Асқар Сүлейменов
- Асқар Сүлейменов
- Асқар Сүлейменов
Барлық авторлар
Ілмек бойынша іздеу
Мақал-мәтелдер
Қазақша есімдердің тізімі