Көмекші программалар туралы жалпы түсінік. Стандартты кітапханалық модульдер. Бейстандарт функциялар мен процедуралар

98
Сабақтың тақырыбы: Көмекші программалар туралы жалпы түсінік. Стандартты кітапханалық модульдер. Бейстандарт функциялар мен процедуралар

 

 

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

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

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

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

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

Сабақтың әдісі: Оқытудың интербелсенді әдісі

Сабақтың типі: жаңа сабақ түсіндіру, практикамен байланыстыру.

Қолданылатын көрнекіліктер: интерактивті тақта, электронды оқулық, Турбо Паскаль бағдарламасы, үлестірме қағаздар.

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

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

  1. Оқушыларды ұйымдастыру (3-минут)
  2. Үйге берілген тапсырманы тексеру(8-минут)
  3. Жаңа тақырыпы түсіндіру(10-минут)
  4. Тапсырмаларды орындау (15-минут)
  5. Сабақты бекіту (6-минут)
  6. Оқушыларды бағалау (2-минут)
  7. Үйге тапсырма беру (1-минут)

Проблеманы айқындау кезеңі:

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

  1. Процедура – деп бір әрекетті орындау мақсатында алдын ала анықталған аты бойынша шақырылып атқарылатын программаның тәуелсіз бөлігін айтамыз. Мысалы: read(x); — клавиатурадан енгізілген мәнді х айнымалысына меншіктеу әрекетін іске асыратын Паскальдың стандартты процедурасы.
  2. Функциялар – деп жұмысының нәтижесібір ғана мән болатын процедураны айтады. Мыс: sin(x); бір есепті /синусты/ ғана шығаратын шағын программа стандартты функция/.

Процедура мен функцияны программашының өзі де жаза алады.

Еске сақтау: Процедурадағы кірістік айнамылға (мәндік параметр) мән, негізгі программада шақыру командасынан бұрын меншіктеледі.

  1. Паскальдың кітапханалық модульдері – деп типтеріне қарай топтастырылған стандартты процедуралар мен функциялардың жиынтығын айтады. Паскаль 6.0-ден бастап кітапханасында 9 модуль бар. Әр модульді қажеті болса USES түйінді сөзі арқылы қосуға болады. Мыс: uses crt; боялған мәтін шығаруға мүмкіндік береді. uses graph; экранға сурет салуға мүмкіндік береді.

Есеп (Методикалық жетекші 89бет): Әрқайсысының координатасы х, у, массасы m болатын 10 нүкте берілген. Жүйенің ауырлық центрін және әр нүктенің осы центрден қашықтығын табатын программа жазыңыз.

Есептеу алгоритмі: 10 нүктенің координаталарын және массаларын (хx,уy,m бүтін болсын) сақтайтын массив ашамыз. Координата мен массалар мәндерін әр жолы үш саннан осы массивке енгіземіз. Массалар центрінен нүктеге дейінгі қашықтықты табатын формуланы процедураға жазамыз. Поцедураны шақырып нәтиже алған соң i-шы нүктенің массалар центірінен қашықтығы экранға басып шығарамыз.

Сонда программа мынандай болады:

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,’-шы нуктенiн кашыктыгы -‘,l:3:2);

    end;

begin

write(‘vvedite koord. x,y i massa 10 tochek ‘);

for i:=1 to 10 do

read(xx[i],yy[i],m[i]);

sx:=0; sy:=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.

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

 

Берілген кез келген үш санның үлкенін және кішісін анықтайтын процедура жаса.

Шешуі:

program procl;

label k;

var x1, x2, x3, m1, m2:real ;

function max (a,b: real):real;

begin

if a>b then max:= a else max:=b

end;

function min (a,b: real):real;

begin

if a>b then min:= a else min:=b

end;

procedure xxx(a,b,c: real; var mx, mn:real);

begin

mx:=max(max(a,b),c);

mn:=min(a,b),c);

end;

begin

k:write(`3san engiz:`); readln(x1,x2,x3);

xxx(x1,x2,x3,m1,m2);

writeln(`3sannin ylkeni=`,m1:5:2);

writeln(`3sannin kishisi=`,m1:5:2);

end.