А. Ж. Асамбаев техника ғылымының кандидаты, доцент



Pdf көрінісі
бет11/21
Дата28.02.2017
өлшемі10,68 Mb.
#5050
1   ...   7   8   9   10   11   12   13   14   ...   21

erep  k > z  
thenm ax:=k
онда  max: = k 
else max:= z;
^ әйтпесе  max : =z 
wrireln(max );
б*711 
readln;
шыгару  max 
end.
СОҢЫ

шешім.  Алгоритмде 
қабаттасқан  толық  тармақталуды 
қолданамыз. Паскаль тіліндегі алгоритмнің нүсқасын көрсетейік:
Program  max_3_san;
Var х, y,z,max: real;
100

begin
write(*BB.3 
числа’); 
readln(x,y,z); 
if  x >  у
then  if x >= z then max := x else max := z 
else  if  у >= z then max := у else max := z; 
wrireln(‘максимальное значение’, max);
end.
3-ш етттім. 
Алгоритмді күрделі логикалық өрнектерді пайдаланып, 
толық  емес
  тармақталуды  тізбекпен  қолдану  арқылы  құрамыз. 
Паскаль тіліндегі алгоритмнің нүсқасы:
Program  max_3_san;
Var х, y,z,max: real; 
begin
write(‘BB.3 
числа’); 
readln(x*y,z);
i f ( x > = y )   and (x >= z) then  max := x; 
i f ( y > = x )   and (y >= z) then  max := y; 
i f ( z > = x )   and (z >= y) then  max := z; 
\¥гіге1п(‘максимальное значение’, max);
end.
2-мысал.  Үш  айнымалының  мәндерін  өсу  бойынша  реггейтін, 
яғни 
А,  В,  С
  айнымалыларының  кез  келген  мәндерінде 
А  < В  <   С 
болатын 
алгоритм  құру  керек.  Осы  алгоритм  бойынша  Паскаль
тілінде бағдарлама жазу кажет.
Шешімі.  Бұл  есепті  шешу  үшін 
қосымша  X   айнымалысын
пайдаланып, 
екі  айнымалыны  реттеу  алгоритімін
  үш  рет  колдану
кажет: 
А
 жэне 
В
 реттеу, 
В
 жэне  С реттеу (осыдан соң максималды мэн
С ұяшығына  жазылады), тагыда 
А
  жэне 
В
 реттеу.  Сонымен,  алгоритм
тізбектелген  үш 
тольщ  емес
  тармақталу  кұрылымынан  тұратьга
б о л ад ы .
алг  Іріктеу-3
арг  нақ  А, В, С, X
басы
Program  SORT  3; 
var  А,В,СД: real; 
begin
енгізу А, В, С 
егер  А > В 
онда
бітті
X  := А; 
А := В; 
В  := X
readln(A, В, С); 
if  А > . В  
then  begin
X := А;
А := В;
В := X
end;
101

егер  В > С  
онда
if  В > С
then  begin
X  := В; 
В  :=С; 
С  := X
бітті
егер  А > В 
онда
end;
if   А > В
then begin
X := А 
А  :=В 
В  :=Х
X := А 
А := В 
В := X
бітті
end;
write(A, В, С);
шыгару А, В, С
СОНЫ
end.
Қарастырылған есеп  бойынша мынадай  ескерту л ер жасау керек. 
Бұл 
көмекіиі  алгоритмді  қолдану 
идеясына
 
әкелетін 
есеп. 
Сондықтан 
екі  айнымалыны  реттеу  алгоршпмін
  көмекші  алгоритм 
ретінде  қолданған  тиімді.  Көмекші  алгоритмдерді  жүзеге  асыратьш 
бағдарламаларды 
ішкі 
багдарламсиіар
 
деп 
атайды. 
Көптеген 
багдарламалау  тілдерінде  күрделі  багдарламаны  құрылымдайтын 
негізгі құрал  ішкі багдарлама болып табылады.
Ішкі  багдарлама  деп  жеке  синтаксистік  конструкция  турінде 
пішімделген,  өзінің есімімен негізгі багдарламаның кез келген жерінен 
шсіқырылатын багдарламалық модульді айтады.
Турбо  Паскаль  тілінде,  ішкі  багдарламалар, 
процедуралар
  және 
функциялар
  арқылы  іске  асырылган.  Сондықтан  Турбо  Паскаль 
багдарламалау тілін 
процедуралы-багытталгсін
 тіл деп атайды.
Бүл  есепте  процедураны  қолдануга  болады.  Екі  айнымалыны 
реттеу  алгоритімін  -  
SOR2
  деп  аталган  процедурасы  пайдаланган 
багдарлама  мысалын  келтірейік 
(процедуралармен  жумыс  жасау 
ережелерін Паскаль бойынша жазылган оқулықтардан  қараңыздар).
Program  Sort_3;
Var  А, В, C: real;
Procedure  SOR2(var  X, Y: real);
Var  Z: real;
Begin
Z := X;  X := Y;  Y:= Z;
End;
Begin
SOR2(A, B); 
SOR2(B, C);
102

S0R 2(A , В); 
Writeln(A,B,C);
End.
3-мы с ал.  X нақ саны  жэне  Ү бүтін  саны  берілген.  Хп  есептейтін 
алгоритмді кұрып, Паскаль тілінде бағдарлама жазу ерек.
Шешімі.  Паскаль  тілінде  дәрежеге  шығару  амалы  жоқ.  Егер 
дәреже  көрсеткіші  бүрін  оң  сан  болса,  онда 
негізді  е
зіне-өзін  N-еселі 
көбейту  аркылы  дәрежеге  шығару  керек.  Бұл  циклдік  алгоритм 
аркылы жүзеге асады.
алг  Дәреже 
Program  Power;
бүт  N , і; нақ  X; 
var  N,i: integer;
басы енгізу N  
X: real;
енгізу  X 
begin  readln(N);
i : - l ;  
readln(X);
Y := 1; 
i := 1;
әзірш е  i <= N, қайталау 
Y :=  1;
цб 
while  i <= N   do
Y := Y*X 
begin
uc
i : = i + l  
Y := Y*X;
i : = i +   1;
шығару  Y 
end;
соңы 
write (Y);
end.
Бұл алгоритмнің ізсалуын орындағанда міндетгі г
үшін  оның жүмысының дүрыстыгын тексерген  жөн.  Ма
=  1  екені  белгілі.  Бұл  жагдайда  алгоритм  дұрыс  жг
ізсалудан көруге бола
4-мысал.  Тізбекпен 
N
  бүтін  саны  енгізіледі.  Олардың  ішінен
мәні ең үлкен (максимал) санды табу керек.
Шешімі.  Сандық  массивтен  ең  үлкен  (максимал)  мәнді  іздеу 
есебін  шығару  багдарламалауда  жиі  кезігеді.  Базалык  курста 
қүрылымданган 
деректер, 
оның 
ішінде 
массивтер 
толык 
қарастырылмауы  да  мүмкін.  Әйтсе  де,  бүл  есепті  массивсіз, 
қарапайым  айнымалыларды  қолданып  шыгаруга  да  болады.  Ол  үшін 
деректерді  енгізуді жэне оларды  өңдеуді  бір цикл  ішінде сөйкестіруге 
болады. Міне, ол былай жасалады:
алг  максимум 
Program  maximum;
бүт  N, і, X, MAX 
var  N, i, X, MAX:  integer;
басы 
begin
шыгару  ‘N 
енгізіңіз
'; 
write( ‘ введите N’);
енгізу  N 
readln(N);
103

шығару  ‘X 
енгізіңіз
’ 
write ( ‘введите X ’);
енгізу  X 
readln (X);
MAX := X;  i :=  1 
M AX:= X;  i  :=  1
әзірше  i < N, кайталау 
while  i < N  do
цб 
begin
шығару  ‘введите X ’; 
write ( ‘введите X ’);
енгізу  X 
readln (X);
егер  X > M A X  
i f X > M A X
онда  MAX  := X 
then  MAX := X
бітті 
i : = i + l :
i i  +  1 
end;
цс
шығару  MAX 
end.
(MAX)
СОҢЫ
5.4. Багдарламалау жүйесін үйрену әдістемесі
Бүл  тақырыпты  оқып  үйренудің  негізгі  әдістемелік  принципі  — 
орындауіиы  принципі.
  Орындаушы  ретінде  белгілі  багдарламалау 
жүйесімен  (БЖ)  жабдықталған 
компьютер
  болып  табылатынын 
жоғарыда  атап  өттік.  Әр 
орындаушының
  қызметі  белгілі  жүмыстың 
түрін  жасауға  арналған.  Ол  не  жүмыс?  Ол  үш  қүрамнан  тұрады: 
багдарламаны жасау,  багдарламаны жөндеу

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

ж умы с  режімдері,  буйрықтар 
жуйесі,  деректер.
Багдарламалау  жуйесінің  ортасы
  деп  пайдаланушы  жүмыс
жасап  түрган  экрандагы  жагдайды  (жүйелік  қабықшаны)  түсінеміз.
Мұгалім,  нақты  өзі  оқытатын  багдарламалау  жүйенің  қабықшасын 
сипатгап көрсетуі қажет.
Багдарламалау  жүйелерінің  қабықшаларының  бір  үлгіге  келіп, 
стандартталуы
  Borland  фирмасының 
турбо-жуйелерініц
  пайда 
болуымен  айқындалганы  белгілі.  Мұндай жүйелердің  ортасы,  экранда 
редакциалау терезесі арқылы үсынылады.
Мысалы,  Турбо  Паскаль  интерфейсі  көп  терезелі  орта. 
Багдарламалау жүйесі, 
turbo.ехе
 файлымен жіберілген соң,  компьютер 
экранына  Турбо  Паскаль  ортасының  редакциялау  терезесі  шыгады. 
Терезеде  интеграциаланган 
ортаның  көрінетін  үш  компоненті 
бейнеленеді:  жогаргы  бөлігінде — 
бас мәзір эісолы
,  ортада — терезенің 
жумыс аймагы
, төменгі жагында -  
жагдай жолы.
Багдарламалау жүйлерге тән 
жумыс реж імдері
:
104

•  багдарлама мәтінін редакциялау режімі;
•  компиляциялау режімі;
•  орындау режімі;
■  файлдармен жұмыс жасау режімі;
■  көмек алу режімі;
■  бағдарламаны жөндеу режімі.
Редакциялау  режімі
  -   әдетте,  жүйе  жүмысын  инициалдау 
кезінде  өзі  автоматты  түрде  койылады.  Бұл  ретте  жүйеге  кіріктіріген 
мәтіндік редактор жұмыс жасайды.
Окушылардың  БЖ  мәтіндік  редактормен  жұмыс  жасауды 
игеруге  «Word  мәтіндік  редакторы»  тақырыбын  қарастырғандағы 
дағдылары көмектесуге тиіс.
Компиляциялау  режімі
  -  
компиляциялауга
  түсетін  тілдерге 
(Паскаль, СИ, Фортран жэне т.б.)  кызмет ететін жүйелерде болады.
Багдарламалау  тілінен  машиналық 
код
  тіліне  аудару  үрдісін  -  
трансляциялау
 
|
traslation 

 
аудару), 
ал 
оны 
орындайтын 
багдарламаларды 
трансляторлар
 
(аударуыштар) 
деп 
атайды. 
Трансляторлардың  үш  түрі: 
интерпретаторлар,  компиляторлар,
ассемблер
 болады.
Интерпретатор  -
  берілген  бағдарламаның  эр  операторын
жекелеп өңдейтін жэне оны орындайтын транслятор.
Багдарламалау  жүйенің  компиляторы
  -   бүкіл  бағдарламаның 
мәтінін 
машиналық  код  тіліне
  аударып  модульге  айналдырады. 
Нәтижесінде 
орындалатын багдарлама
 пайда болады.
Ассемблер
 
-  
ассемблер 
(автокод) 
тілінде 
жазылган
бағдарламаны, машиналық тілге аударады.
Мұғалім  бұл  әрекетгердің  мәнін  түсінуге  тиіс  болғанымен, 
базалык  курста  окушыларға  бұл  сүрактарды  толық  жан-жақты
талкыламаса да болады.
Орындау режімінде  -
  трансляциялаудан  кейін 
машиналық  код
тілінде
  пайда  болтан 
багдарлама  орындалады.
  Бейсик  жүйесінде 
бағдарламаны 
тікелей 
интерпретатор 
орындайды. 
Әдетге, 
бағдарламаның орындалуы RUN бұйрығынан басталады.
Файлдармен 
жумыс 
ж асау 
режімі.
 
Сыртқы 
тасымалдаушыларда  берілген  тілдегі  бағдарламаның  мәтіндері, 
алғашқы  және акырғы  деректер  файл түрінде сақталады.  Бұл  режімде 
дәстүрлі  амалдар  орындалады:  акпаратты  файлда  сақтау  файлдан, 
акпаратты  жедел  жадыга  оку,  файлдарды  атау,  жэне  т.б.  Бүл  режімге 
редакциялау терезесінен баспага шығару бұйрыгы да жатады.
Кэмек алу реж імі
 — багдарламалаушыга жүйемен  жұмыс  жасау, 
багдарламалау кезінде, еске түсіруді экранга алуга мүмкіндік береді.
105

Багдарламаны  жөндеу  режімі.
  Бұл  режімде  бағдарламаның 
ізсалуын  (орысш.  -  
трассировка)
  орындауға,  бағдарламаны  қадаммен 
орындауға, 
анықталған 
айнымалылар 
мәндерінің 
өзгерістерін 
қадағалауға,  аныкталған  жерде  немесе  шарт бойынша  бағдарламаның 
орындалуын  тоқтатуға  болады.  Жөндеу  режімі,  бағдарламадағы 
алгоритмдік  қателерді  іздеу  үшін  бағдарламалаушыға  ыңғайлы 
құралдарды ұсынады.
БЖ режімдері туралы мұғалім әдістемелік схемамен әр 
режімде 
қолданылатын буйрықтар жуйесі
 туралы баяндауы қажет.
Багдарламалау жүйелері үшін шығарылатын  есепке  байланысты
алғашқы  және  ақырғы  акпаратымен  бағдарламаның  мәтіні 
жазылган 
файлдар -  деректер
 болады.
5.5. Зертханалық жаттықтыру тапсырмалары
Зертханалық жүмыс
 «Алгоритмдер және орындаушылар»
I. 
Тезаурус қүру үшін қаж етті үгымдар:
■  алгоритм;
“  алгоритмнің  қасиеттері  (түсініктілік,  дәдцік,  нәтижелік, 
дискреттілік, жалпылық);
■  орындаушы,
ОБЖ  (орындаушының  бұйрықтар  жүйесі),  орындаушы
ортасы;
*  шама -  аты, типі, мәні;
алгоритмдік  конструкциялар — сызықтық, тармақталу, цикл;
■  блок-схема;
■  алгоритмдік тіл;
■  алгоритмнің формальді орындалуы;
■  көмекші  алгоритм.
П. 
Төмендегі әдіспіемелік сүрақтарга жауап беріңіз:
1.  Информатика  курсында  алгоритмдеудің  алатын  орны  мен 
мәнінің уақыт талабына сай қалай өзгерді?
2.  А.П.Ершовтың  және  т.б.  оқулықтарында  енгізілген  негізгі
ұгымдар,  дидактикалық  кұралдар  мен  әдістемелік  тәсілдердің 
кайсысы сақталды?
3.  Алгоритмдерді 
орындаушыларды 
«жагдайда» 
және 
«шамалармен» 
жұмыс 
істейтін 
орьгадаушылар 
деп 
бөлудің 
әдістемелік магынасы неде?
4.  Алгоритм ұғымын толық түсініп меңгеру үшін  оқушылармен 
қандай типті есептерді қарастыру қажет?
5.  Оқушылармен  сабақта  (  Баше  ойыны  тәрізді  )  «алгоритмдік 
ойындар»  ойнауга  бола  ма?  Тагы  қандай  алгоритмдік  ойындарды
106

ұсышр едіңіз? 

і 
I
t .  Қандай  негізгі  ережелер  алгоритмдеу  мен  бағдарламалауды
кұрылымдайтын әдістемені қүрайды?
7.  Неліктен  информатика  сабактарында  блок-схемалардан  бас 
тартуға болмайды және оларды қалай бейнелеу қажет?
8.  Шама  және  оның  касиеттері  ұғымын  кандай  әдістемелік 
ретпен ашу кажет?
9.  «Айнымалы»,  «меншіктеу»  үғымдарын  оқытканда  қандай 
әдістемелік проблемалар кездеседі? Оларды қалай шешуге болады?
10. Алгоритмдеу  жэне  багдарламалау  багытын  окыту  кезінде 
окушылар  ойлаудың  кандай  өзіне тән  стилі  мен  мінез  ерекшеліктерін
қабылдайды?
Ш . 
Келесі мазмундық сүраңтарга жауап бёріңіз:
1.  Формальды орындаушы үгымының мағынасы  неде?
2.  Тікелей басқару режімінің программалық басқару режимінен
айырмашылыгы  неде?
3.  Әрекеттердің  кез-келген  тізбегін  алгоритм  деуге  бола  ма? 
Жауабыңызды негіздеңіз, мысал немесе карсы мысал  келтіріңіз.
4.  Кез келген  есептің алгоритмін  күруга  болады деуге  бола ма? 
Жауабыңызды негіздеңіз, мысал немесе қарсы мысал  келтіріңіз.
5.  Келесі 
түйінді 
сөздерден 
алгоритмнің 
анықтамасын 
күрастырыңыз. 
Түйінді 
сөздер: 
орындаушы

тізбек, 
түрлену. 
есептеуіш  әрекет,  процесс

нәтиже.
6.  Келтірілген  әрекетгер  тізбегін 
алгоритм  деуге  бола  ма:
щ
«Сонда  бар,  кайда  барарымды  білмеймін.  Ананы  әкел,  не  екенш 
білмеймін»?  Жауапты  алгоримнің  касиетгерін  колдана  отырып 
негі здеңі з.
IV. 
Келесі есептерді шешіңіз
:
1.  Алгоритм  фрагменті  блок-схема  түрінде 
берілген 
(5.7-сурет). 
Алгоритмнің 
орындалу 
нәтижесінде 

айнымалысы 
қандай 
мәнді 
кабылдайтынын аныктаңыз.
2. 
Берілген 
cos(x)=x 
теңдеуін 
шешу 
алгоритмін  как  бөлу  әдісі  бойынша  блок-схема 
арқылы  көрсетініз.  Алгоритмді  жазганда  келесі 
айнымалыларды  колданыңыз: 
А
  жэне 
В —
 іздестіру 
5.7-сурет 
шекарасы,  LK  жэне  РК -  шешімнің  кішірейтілген 
интервальгаың сәйкес сол және  оң координатгары, Е -  дәлдік.
3.  Өз  орындаушыңызды  ойлап  табыңыз  жэне  оны  мына  схема 
бойынша  бейнелеңіз:  ортасы,  орындаушының  бүйрыктар  жүйесі
S шығару
107

(бүйрыктар  қалай  беріледі,  орындалады,  «жасай  алмаймын»).  Накты 
орындаушы үшін бірнеше есеп курастырыңыз.
4. 
А  (х,у)  нүктесінің  бсрілгсн  аймакка 
* ү 
жататынын  анықтайтын  алгоритм  құрыңыз  (5.8-  10
сурет).
5. 
Келесі  шектеулерді  есксре  отырып, 
мына формула: у = (1  - х2 + 2,5х3 + х4)2 бойынша
алгоритшш
алу  жэне көбейту амалдарын  колданып;  2) әрбір
5
К  Л
5  ' 

1C
бір арифметикалык
•сурет
ТИ1С.
V* 
Оқу  материалындагы  өзіңізгс  уназан  ең  лсақсы  кундвлікті
жоспардың  мысалын  келтіріңіз  (өзіңіз  дайындаңыз  немес  оқу 
багдарламасын таңдаңыз):
VI. 
Тақырып бойынша бір сабақтың конспектісін даярлацыз.
VII. 
Осы  алгоритмдеу  жэне  багдарламалау  багыты  бойынша 
қорытынды  жумыстыц  мысалын  келтіріңіз  (кез-келген  формада
  —
 
бақылау

өз  бетінше  жумыс,  тест  т.б..).  Қорытынды  жүмыс  бір 
сабақ көлемінде өткізіледі жэне бага критерийі болуы тиіс.
108

6-тарау. Акпараттык технологиялар сызыгы
«Акпараттык 
технологиялар» 
сызыгы 
аймагында 
қарастырылатьга  әрбір  тақырыптық  бөлімінің 
теориялъщ
  жэне 
технологиялық
 мазмұнын мұғалім анык  айыра білуі қажет.
Теориялық  мазмүнга
  әртүрлі  ақпаратгаң  ЭЕМ  жадында 
ұсынылу мәселелері, деректерді  күрылымдау, тап  осы технологиялық 
кұралдың көмегімен акпараттык есептердің шешу әдістерін қарастыру 
кіреді.
Технологиялық мазмүнга жататыны
:
■ 
қолданылатын  аппараттық  қуралдарды  білу,  үйрену:
  тап 
осы  технологияда  қолданылатын  жэне  ЭЕМ  архитектурасы  туралы 
окушылардың 
үғымын 
кеңейтетін, 
компьютердің 
жеке 
күрылгыларының жұмыс жасау принциптерімен жете танысу;
• 
крлданбсиіы  багдарламалық  қамсыздандыруды  білу  және 
игеру:
 редакторларды, кестелік процессорларды, ДҚБЖ және т.б.
Окушыларды 
әрбір 
жаңа 
акпараттык 
технологи ямен 
таныстыруды,  оның 
қай  салада
  колнылатындыгы  туралы  әңгімеден 
бастау қажет.
Әрбір  колданбалы  багдарламалык  кұралды  окып  білу,  игеру, 
оның  мьгаа  тараптарынан  қарастырылуы  кажет: 
өңделетін  деректер

ортасы
  (
интерфейсі
), 
жүмыс  режімі

басқару  бұйрықтары.
  Оны 
мына  методикалық  схема  түрінде  бейнелеуге  болады  (6.1-сурет  [26,
421):
6.1-сурет. 
Ақпараттық  технологияларды  оқудың  әдіспіемелік
схемам
«Акпараттык  технологиялар»  мазмүндык  сызыгының  негізгі 
үғымдарының  күрылымы  5-схемада  (1-косымша  [26])  ұсынылган. 
Компьютерлік акпараттык технологиялардың бес түріне сәйкес, схема 
да бес тармақтан тұрады.
109


Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   21




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет