Информатика


§ 6. Алгоритмдеу негіздері



Pdf көрінісі
бет7/19
Дата06.02.2017
өлшемі4,79 Mb.
#3495
1   2   3   4   5   6   7   8   9   10   ...   19
§ 6. Алгоритмдеу негіздері 
Жоспар 
6.1. Алгоритм ұғымы және қасиеттері. 
6.2. Алгоритмді құру кезеңдері. 
6.3. Алгоритмдерді сипаттау тәсілдері. 
6.4. Алгоритмдердің іргелі құрылымдары. 
6.5. Шамалармен жұмыс жасау алгоритмдері. 
6.1. Алгоритм ұғымы және оның қасиеттері 
Тарихтан:  Алгоритм  сөзі  ғылымға  Орта  Азияның  көне 
тарихынан  мәлім  Мұхаммед  ибн  Мұса  әл-Хорезми  (783-850  ж. 
шамамен)  деген  әйгілі  математиктің  есімі  мен  еңбегіне  байланысты 
енген.  
Хорезмдік  Мұхаммед  Мұса  ұлы  өзінің  «Үнді  хисабы  туралы 
кітап»  деген  еңбегінде  кез  келген  N  санды,  бұл  күнде  үнді-араб 
цифрлары деп атап жүрген 0,1,2,...,9 түріндегі, он белгілемер арқылы 
өрнектеп  жазу  ережесін  баяндайды.  Сонымен  қатар,  ол  осылайша 
жазылған  сандарға  қолданылатын  амалдарды  орындау  ережелеріне 
тоқталады.  Европа  елдері  XII-XIII  ғасырларда  Мұхаммед  әл-
Хорезмидің  аталмыш  кітабы  арқылы  онымен  алғаш  танысады. 
Мұхаммед  кітабындағы  әрбір  ереже  «әл-Хорезми  айтқан»  (латынша: 
Dixit  Algorizmi)  деген  кіріспе  сөзден  басталады.  Кейін  Европа 
халықтары тілінде бұл алгоритм немесе алгорифм болып қалыптасқан 
[3].  
Алгоритм ұғымының біріңғай «ақиқатты» анықтамасы жоқ.  
Алгоритмнің анықтамалары: 
Алгоритм  –  берілген  есепті  шешу  бағытында  орындаушыға 
(адамға,  ЭЕМ  –  ң  процессоры  сияқты  автоматқа)  шектеулі  уақытта 
біртіндеп  қандай  әрекеттер  жасау  керектігін  түсінікті  түрде  әрі  дәл 
сипаталған нұсқаулар реті. 
«Алгоритм  –  бес  маңызды:  шектілік,  анықтылық,  енгізу, 
шығару,  тиімділік  белгілері  бар,  нақтылы  есептер  жиынын  шығару 
үшін  амалдар  тізбегін  анықтайтын,  шектелген  ережелер  жиыны». 
(Д.Э.Кнут
1

«Алгоритм» — ол қатаң белгілі ережелермен орындалатын, қандай да 
болса да қадамдар санынан кейін көрінеу қойылған есептің шешілуіне 
әкелетін әрбір есептеу жүйесі. (А.Колмогоров
2

                                                 
1
 Дональд Эрвин Кнут (1938) — американдық ғалым, Стэндфорд университетінің профессоры, Ресей Ғылым 
Академиясының  шетелдік  мүшесі.  Негізгі  алгоритмдерге  және  математиканың  есептеу  әдістеріне  арналған 
дүние жүзіне белгілі сериямен шыққан кітаптардың авторы. . 
2
 Андрей Николаевич Колмогоров (1903–1987) – үздік совет математигі, ф.м.ғ.докторы, ММУ профессоры 
– осы заманғы ықтималдылар теорияның негізін қалаушылардың бірі, топологияда, математикалық логикада, 
турболенттік теориясында күрделі алгоритмдер теориясында және математиканың басқа аймақтарында және 
оның қосымшаларында іргелі нәтижелерге жеткен. 

 
122 
Адам  мен  компьютер  арасындағы  тіл  қатысу,  хабар  алысу 
әрекеттері  тек  алгоритм  арқылы  ғана  іске  асырылады.  Сондықтан, 
есептеуді  меңгергісі  келген  адам,  алдымен,  алгоритм  сөзі  мен  сол 
ұғымның мән, мағынасын терең білуі қажет. 
Алгоритмнің  командасы  –  бір  ғана  әрекет  жасауға  арналған 
бұйрық. 
Алгоритмді орындаушы - ол, айқындалған әрекеттер жиынын 
орындауды білетін адам немесе автомат немесе робот. 
Орындаушының командалар жүйесі (ОКЖ) – орындаушының 
атқара алатын барлық командалар жиынтығы. 
Әр 
алгоритм 
орындаушының 
командалар 
жүйесінің 
мүмкіндіктерін ескере құрылуы керек.  
Алгоритмнің  формалды  орындалуы  –  деп,  орындаушы 
есептің  мағнасын  білмесе  де,  дайын  алгоритмнің  командаларын 
бұлжытпай  бірінен  кейін  бірін  орындап,  сол  есептің  нәтижесін 
шығару. 
Алгоритмнің қасиеттері 
Анықтылығы  –  алгоритмнің  нұсқаулары  және  олардың 
орындалу  реті  бір  мағыналық,  бір  мәндік  түсінік  беруге  тиіс. 
Орындалу үрдісінде алгоритм еркіндікке жол бермеуі керек. 
Жаппайлығы (бірдейлігі) – типі берілген қандай да бір есептер 
тобын  шешуге  қолдану  мүмкіндігі  қарастырылған  және  берілген 
аралықта бастапқы деректердің мәндері өзгергенде алгоритмнің дұрыс 
жұмыс жасауы. 
Нәтижелілігі (шектілігі)– саны шектеулі реттелген нұсқауларды 
орындап аяқтағанда тиянақты бір нәтижеге жеткізуге тиіс.  
Дискреттілігі – қарастырылып отырған ақпаратты өңдеу үрдісі 
ретімен  жазылған  тізбекті  жеке-жеке  қадамдарға  бөлінуге  тиіс.  Әр 
қадам ол анық бірінен-бірі бөлек нұсқау (команда). 
Түсініктілігі  –  орындаушы  (адам,  ЭЕМ)  нұсқаулар  жүйесі 
арқылы жазылған алгоритмді түсініп, орындай алатындығы. 
6.2. Алгоритмдерді құру кезеңдері 
ЭЕМ–де  ақпаратты  өңдеу  үрдісінде  тек  алгоритм  құруды  ғана 
емес,  ақпараттың  мазмұнын  зерттеуден  бастап,  оның  өңдеу 
қорытындысын  тапқанға  дейін  өтетін  барлық  кезеңдерді  барынша 
қадағалап,  бір  кезеңде  қате  кетсе,  оны  дұрыстап  отыру  керек.  Бұл 
кезеңдер:  
1.
 
Есептің  қойылымы,  яғни  есептің  мазмұнын  зерттеу:  не 
берілген  –  бастапқы  деректерді  тізбелеу;  не  керек  –  нәтижелерді 
тізбелеу. 

 
123 
2.
 
Шығарылатын есептің математикалық моделін (үлгісін) құру. 
Әдетте  математикалық  модель  –  есепті  жуықтап  сипаттайтын, 
теңдеулер, формулалар, таңдау шарттары және шектеулер жиыны. 
3.
 
Математикалық моделі бойынша алгоритмді құру. 
4.
 
Құрылған  алгоритмді  қандай  да  бір  программалау  тілінде 
жазу. 
5.
 
Программаны өңдеу және тестілеу. 
6.
 
ЭЕМ-да есепті шығару және шыққан нәтижелерді талдау. 
Мысалы:  Квадрат  теңдеудің  түбірлерін  табу  алгоритімін  құру 
керек.  
Бірінші кезең: теңдеудің ax
2
 + bx + c = 0 формуласын жазамыз, 
мүндағы a, b. с – алғашқы деректер теңдеудің коэффициенттері, кез 
келген сандар және a 

 0. Нәтиже: теңдеудің түбірлерінің мәндері – 
x1 және x2 деп белгілейік. 
Екінші  кезең:  Квадрат  теңдеулерді  шешу  алгоритмі  барлық 
жағдайды ескеруге тиіс.  
Дискриминантты  есептеуден  бастайық:  D  =  b
2
-  4ас.  Енді 
квадрат  теңдеудің  түбірлерінің  саны  дискриминанттың  таңбасына 
байланысты болғандықтан екі жағдайды қарастыру қажет: 
Егер D<0 болса, онда нақты түбірлері жоқ. 
Егер D 

 0 болса, онда екі нақты түбірлері болады, оларды есеп-
теу формулалары: 
  
  
 
 
 
 
Бұл  кезеңде,  D=0  болған  жағдайында  түбірлері  тең  болатыны 
онша маңызды емес. 
Үшінші кезең: ауызша есептеу алгоритімін құрайық: 
1.
 
Нақты a, b. с мәндерін енгізу; 
2.
 
D  –дискриминанттың  мәнін  D  =  b
2
  —  4ас  формуласы 
бойынша есептеу; 
3.
 
Егер D<0 болса, онда онда түбірлері жоқ. Бітіру; 
4.
 
Егер  D 

  0  болса,  онда  түбірлердің  мәнін  формулалар 
бойынша есептеу. 
Төртінші  кезең:  Едәуір  күрделі  алдоритмдер  үшін  құрылған 
программада  қателер  болуы  мүмкін,  сондықтан  оны  түзету  қажет 
болады.  
Бесінші  кезең:  программада  болатын  синтаксисті  (мәтіндегі 
қателерді)  және  алгоритмдік  қателерді  іздеу  үрдісін  өңдеу,  жөндеу 
a
D
b
x
2
1



a
D
b
x
2
2




 
124 
(орысша  отладка)  делінеді.  Мәтіндегі  қателер  –  ең  тез  түзетілетін 
қателер. Алгоритмдік қателерді табу қиындау.  
Әдетте  программаны  жөндеуге,  алдын  ала  белгілі  нәтижелері 
үшін, енгізілетін деректердің (сынақтамалардың) сұрыпталған арнайы 
мәндері 
қолданылады. 
Сынақтамалардың 
арқасында 
дұрыс 
нәтижелердің  алынуы,  программада  қателердің  жоқтығының  басым 
дәлелі.  
Алтыншы  кезең:  бұл  жөнделген  программа  бойынша  есептеу 
және  алынған  нәтижелерді  талдау.  Есепті  шығарудың  кез  келген 
кезеңінде,  алдыңғы  кезеңдердің  біреуіне  қайтуға  мәжбүр  ететін 
қателер  табылуы  мүмкін.  Ең  қиыны  есепті  шығаруда  бірінші 
кезеңдерде жіберілген қателерді түзету.  
6.3. Алгоритмді сипаттау және ұсыну тәсілдері 
Ауызша  табиғи  тілмен  сипаттау  тәсілі  –  алгоритмде 
оындалатын  әрекеттер  табиғи  тілмен  сипатталады.  Қасиеті:  жалпы 
қатынастығы,  сипаттауді  кез  келген  дәрежеде  дискретті  қадамдарға 
бөлу  мүмкіндігі.  Кемшілігі:  бірмәнді  түсініктілігінің  кемуі, 
программаға ауысуға қиындығы.  
1.12-сурет. Квадрат теңдеуді шешу блок-схемасы  
Шығару 
Y$ 
D= B
2
 – 4AC 
Енгізу 
D < 0 
D=0 
иә 
жоқ 
иә 
жоқ 
Бір түбір 
a
2
b
x


 
Шығару 

Екі түбір 
a
2
d
b
1
x



 
a
2
d
b
2
x



 
Шығару X1, X2 
Y$=”шешімі 
жоқ” 
Соңы 
Енгізу  
A, B, C 

 
125 
Жасанды  алгоритмдік-формулалық тілде  сипаттау тәсілі  – 
бір  салаға  келтірілген,  нақты  ережелер  мен  таңбалау  жүйесі 
анықталған жасанды тілді қолдану арқылы алгоритмді құру.  
Графикалық,  блок-схема  түрінде  сипаттау  тәсілі  – 
құрылымданған  схема  тілін  қолдану  (1.12-сурет).  Есептің  шығару 
кезеңдері  әрекеттерге  сәйкес  графикалық  жеке  блоктармен 
бейнеленеді.  Әр  әректтің  өзінің  графикалық  бейнесі  белгіленген. 
Мысалы: төртбұрыш – есептеу әрекеті, ромб – шартты тексеру, т.б. 
6.4. Алгоритмдердің негіздік құрылымдары 
Алгоритмдердің  негіздік  құрылымдары  –  ол  шектелген 
блоктардың  жинақталымы  және  әрекеттердің  әдетті  тізбектерін 
орындау үшін оларды қосудың стандартты әдістері.  
Төменде  келтірілген  құрылымдарды  алгоритмдерді  және 
программаларды  құрғанда  құрылымдық  әдістемені  қолданғанда 
пайланған жөн.  
Құрылымдық  әдістеме,  болжам  бойынша,  тек  қана  бірнеше 
негіздік  құрылымды  пайдаланады,  олардың  комбинациялары  барлық 
әр  алуандық  алгортімдерді  және  программаларды  құруға  мүмкіндік 
береді.  
Алгоритмдердің негіздік құрылымдары: 
Сызықты  –  блоктардың және  блоктар  топтарының  тізбектеліп 
бір ізді орналасуы. Алгоритмдерде және программаларда командалар 
және  операторлар  тізбектеліп  жазылады,  сондықтан  сызықты 
құрылымды алгоритмдер деп аталады.  
Сызықты  құрылым  –  алгоритмнің  командалары  үзілісті 
тізбекпен,  бірінен  кейін  бірі  орындалады.  Әдетте  формула  бойынша 
есептеуді ұйымдастыруға қолданылады. 
Тармақталу    берілген  шартқа  тәуелді,  әлде  бір  серияны, 
әйтпесе басқа серияны орындау керек болғанда қолданылады. 
Тармақталу  құрылымды  –  алгоритмінде  әдетте,  логикалық 
шартты тексеру блогы болады. Егер шарт орындалса, онда  әрекеттер 
тізбегінің  бір  тармағы  орындалады,  әйтпесе  екінші  тармағы 
орындалады. 
Алгоритмдік  тілінде  құрылым  тармақталу  командасы  деп 
аталады және мына түрде жазылады: 
егер шарт 
 онда серия 1 
 әйтпесе серия 2 
бітті 

 
126 
Айналу  –  тармақталудың  дербес  жағдайы,  бір  тармағында  еш 
қандай әрекет жасалмайды. Алгоритмдік тілінде айналуға тармақталу 
командасының қысқартылған түрі сәйкес келеді:  
егер шарт 
 онда серия  
бітті 
1.13-суретте  жоғарыда  сипатталған:  сызықты,  тармақталу 
және  айналу  алгоритмдік  құрылымдардың  графикалық  бейнелері 
көрсетілген. 
1.13-сурет.  Тізбекті  және  тармақты  алгоритмдік  құрылымдау 
блок-схемалары 
Циклдік құрылымды алгоритмдер. Цикл денесі деп аталатын 
әрекеттер  тізбегін  көп  рет  қайталануын  іске  асырған  алгоритмді 
циклдік деп атайды.  
Циклдер  қайталану  саны  белгілі  және  алдын  ала  белгісіз  деп 
бөлінеді. Кейде циклді неше рет қайталу керектігі алдын ала белгісіз, 
бірақ,  қандайда  бір  шарт  әзірше  әділ  болса,  оның  орындалатыны 
белгілі.  
Қайталау  саны  алдын  ала  белгілі  және  белгісіз  циклдік 
құрылымды 
алготитмдердің 
блок-схемалары 
1.14-суретте 
бейнеленген. 
Әзірше  циклы  –  цикл  денесі  орындалғанға  дейін  шарт 
тексеріледі,  егер  бірінші  тексерісте  циклдан  шығу  шарты 
орындалмаса, онда цикл денесі бір ретте орындалмайды. 
әзірше <шарт>  
цб 
 < цикл денесі>  
цс 
Дейін  циклы  –  қандайда  бір  шарт  орындалғанға  дейін,  қандай 
да  болса  есептеулерді  бірнеше  рет  орындау  қажеттігінде 
қолданылады.  
Бұл  циклдың  ерекшелігі,  цикл  денесі  ылғи  ең  жоқ  дегенде  бір 
рет орындалады. 
1-серия  
иә 
жоқ 
Тармақты 
2-серия  
серия 
иә 
жоқ 
Айналу 
Тізбекті 

 
127 
Параметрлі  цикл  –  бүтін  санды  параметр  бастапқы  (In) 
мәнінен соңғы (Ik) мәніне дейін белгілі қадаммен өткенге дейін цикл 
денесі орындалады. 
үшін і бастап I
басы
 дейін I
соңы
 қадам I
қадам 
цб 
< цикл денесі>  
цс 
1.14-сурет. 
Циклдік 
құрылымды 
алгортимдердің 
блок-
схемалары  
Егер  алгоритмде  қайталану  саны  алдын  ала  белгілі  үрдісті 
ұйымдастыру  қажет  болса,  онда  параметрлі  цикл  қолданылады. 
Ондай  алгоритмде  цикл  параметрінің  бастапқы  мәні,  соңғы  мәні 
және қадамы алдын ала айқын болады.  
1-ші  мысал:  N!  факториал  мәнін  есептеудің  ауызша  алгортимі 
мен  блок  схемасын  құру  керек.  N!  функциясы  I  –  ден  N-ге  дейінгі 
натурал  сандардың  көбейтіндісі:  N!  =  1*2*3*…*N;  !  –  белгісі 
факториал деп оқылады.  
Алгоритмді блок-схема түрінде сипаттау: 
шарт 
жоқ 
иә 
Бастапқы 
меншіктеу 
Цикл денесі  
Әзірше циклы  
шарт 
 
иә 
 
жоқ 
 
Дейін циклы
 
Цикл денесі  
 
Бастапқы 
меншіктеу 
 
I:= in. ik 
Цикл денесі  
 
Параметрлі цикл  
басы 
k := 1; r := 1 
r := r*k 
k := k+1 
k <=
 
n
  
шығару r 
соңы 
N енгізу 
 
ия 
жоқ 

 
128 
Сөзбен қадаммен сипаттау:  
алг факториал    
{ алг қызметші сөзі, аты} 
 
оқу N  
 
 
{ N мәнін компьютерге енгізу} 
k := 1; r := 1  
 
{k–санауыш, r–нәтиже; } 
1.
 
r := r*k   
 
{r! есептеп, қайта меншіктеу} 
2.
 
k := k + 1 
 
{әр цикл сайын 1-ге өсіру} 
3.
 
егер k<= n өту 3 
{шартты тексеру} 
4.
 
жазу “n!= ” , r  
{n!= r мәнін шығару} 
5.
 
соңы    
 
{есептеуді аяқтау} 
2-ші  мысал:  функцияны  есептеудің  сөзбен  қадамдап  сиаттау 
алгоритмін және блок-схемасын құру керек. 
Есептің қойылымы: Х кез келген мән, S нәтиже. 
Шешімі: 
1.
 
енгізу Х 
2.
 
егер x < 0 онда 8-ге бару 
3.
 
егер х =0 онда 6-ға бару 
4.
 
S =1 
5.
 
9-ға бару 
6.
 
S = 0 
7.
 
9-ға бару 
8.
 
S = -1  
9.
 
есептеуді аяқтау 
6.5. Шамалармен жұмыс жасау алгоритмдері  
Шама — ол, өзінің атауытипі және мәні бар жеке ақпараттық 
объект.  
Шамалармен  жұмыс  жасау  алгоритмдерін  орындаушылары 
адам немесе арнайы техникалық құрылғы, мысалы компьютер болуы 
мүмкін.  Мұндай  орындаушыда  шаманы  сақтау  үшін  жады  болуы 
қажет. 
Шамалар тұрақты және айнымалы болады. 
Тұрақты  шама  (константа)  алгоритмнің  орындалу  барысында 
өз мәнін өзгертпейді. Тұрақты шама өзінің меншікті мәнімен (мысалы 
10, 3.5 сандары) немесе символикалық атымен (

 саны) белгіленеді.  
Демек,  түрақты  шамаға  атау  берген  кезде  оның  мәні  бірге 
анықталады. Мәнімен бірге оның типі де белгілі болады. Мысалы, 1, 3 
және  5  цифрларынан  қүрылған  135  тізбегін  түрақты  шаманың  атауы 
деп  қарастырсақ,  онда  бүл  шаманың  мәні  "бір  жүз  отыз  бес"  деген 










0
x
åñëè
1
0
x
åñëè
0
0
x
åñëè
1
S
,
,
,

 
129 
бүтін сан болады. Ал 3.5 тізбегі  түрақты шаманың атауы, типі нақты 
сан болғаны.  
Осылардан мынадай түжырым шығады:  
Тұрақты  шаманың  есімі,  мәні  және  типі  өзгермейді,  олардың 
барлығы бір мезгілде анықталады. 
Айнымалы  шамалар  –  алгоритмнің  орындалу  барысында, 
мәндері өзгертін шамалар.  
Программалауда  айнымалы  өте  маңызды  ұғым,  негізгі  объект 
болып  табылады.  Айнымалыны  программалауда  ақпараттың 
элементін  сақтайтын,  айнымалының  атымен  таңбаша  ілінген  жәшік 
деп  елестетуге  болады.  Программа  орындалғанда  осы  жәшіктің  мәні 
өзгеріп отырады.  
Айнымалы  –  аймақ,  компьютер  жадындағы  ұяшық. 
Программада  қолданылатын  әрбір  айнымалының  (ұяшықтың)  атауы 
болуға  тиіс.  Информатикада  айнымалы  шамаға  атау  беру  үшін 
идентификатор (көрсеткішті теңестіру) деген үғымды пайдаланады. 
Идентификатор – латын әріптерінен, цифрлардан және кейбір 
арнайы символдардан құралған, үзындығы шектелген тізбекті айтады. 
Идентификатордың  бірінші  символы  әріптен  басталуы  қажет,  бос 
орын қолданылмайды.  
Мысалдар:  
1)
 
D – идентификатор; 
2)
 
XI – идентификатор; 
3)
 
K12C – идентификатор; 
4)
 
1Y – идентификатор емес, себебі цифрдан басталып түр; 
5)
 
M+N  идентификатор  емес,  себебі  ішінде  арнаулы  таңба  "+" 
бар; 
6)
 
(R– идентификатор емес, себебі арнаулы таңба "(" –дан баста-
лады. 
Шаманың мәні өзінің типімен сипатталады.  
Шаманың типі – шаманың қабылдай алатын мәндер жиынын 
және  осы  шамамен  орындауға  болатын  әрекеттер  жиынын 
анықтайды.  
Шаманың негізгі типтері: бүтін, нақты, символдық, логикалық.  
Өрнек – шамалармен жасалатын әрекеттер тізбегін анықтайтын 
жазба.  Өрнекте  константалар,  айнымалылар,  амалдардың  белгілері, 
функциялар жазылады.  
Мысалы: C+D; 8 * A-B; N + M- sin(X). 
Меншіктеу 
командасы 
– 
алгоритмді 
орындаушының 
командасы,  оның  орындалу  нәтижесінде  айнымалы  жаңа  мән 
қабылдайды. Команданың пішімі:  

 
130 
<айнымалының аты> := <өрнек> 
Меншіктеу  командасының  орындалу  тәртібі:  1)  алдымен 
команданың  оң  жағындағы  өрнек  есептеледі;  2)  одан  кейін,  шыққан 
нәтиже айнымалыға меншіктеледі.  
Әдетте,  айнымалы  шаманың  мәнінің  типі  өзгермеуге  тиіс  және 
айнымалының типіне, өрнектің типі сәйкес болуы қажет. 
Ескерту:  «меншіктеу»  :=  белгісі,  арнайы  «тең»  =  белгісінен 
айырмашылығы болу үшін енгізілген. Себебі, айнымалының ұғымына 
байланысты, «меншіктеу» және «тең» дегеніміз бірдей нәрселер емес.  
1  мысал.  D  айнымалысына  18  мәні  меншіктелсін.  Мына  D:= 
2*D  –  1  меншіктеу  командасы  орындалғаннан  кейін  D  айнымалысы 
қандай мән қабылдайды.  
2  мысал.  X  және  Y  айнымалыларының  мәндерін,  қосымша 
айнымалыны  қолданып  ауыстыратын  меншіктеу  командалар  тізбегін 
жазу керек.  
Шешімі.  Есепті  шешу  үшін  қосымша  Z  айнымалысы  керек. 
Ізсалу  кестесінде  X=3,  Y=7  мәндері  үшін  алгоритмнің  орындалуы 
көрсетілген: 
Алгоритмі  
X  


 
3  
7  
-  
Z:= X  
3  
7  
3  
X:= Y  
7  
7  
3  
Y:= Z  
7  
3  
3  
3  мысал.  X  және  Y  айнымалыларының  мәндерін  қосымша 
айнымалыны қолданбай ауыстыратын меншіктеу командалар тізбегін 
жазу керек.  
Шешімі.  Ізсалу  кестесінде  есепті  шешуге  бағытталған 
меншіктеу  командалар  тізбегі,  X=3,  Y=7  мәндері  үшін  алгоритмнің 
орындалуы көрсетілген: 
Алгоритмі  
X  

 
3  
7  
X:= X-Y  
-4  
7  
Y:= X+Y  
-4  
3  
X:= Y-X  
7  
3  
Есептер 
№  1.  Келесі  алгоритмнің  орындалу  нәтижесінде  X  және  Y 
айнымалыларының ақырғы мәндерін анықтау керек. 
а)  Х:=2 
 
 
б) 
Х:=1.5 
 
Х:=Х*Х  
 
 
Х:=2*Х + 1 
 
Х:= Х*Х*Х   
 
Ү:=Х/2 

 
131 
 
Х:= Х*Х*Х*Х  
 
Ү:=Х + Ү 
№ 2. Келесі шектеулерді ескере отырып, мына формула: у = (1 - 
х
2
 + 2,5х
3
 + х
4
)
2
 бойынша есептеу алгоритімін жазу керек: 1) тек қана 
қосу,  алу  және  көбейту  амалдарын  қолданып;  2)  әрбір  өрнекте  тек 
қана бір арифметикалық амал болуға тиіс. 
№  3.  Алдыңғы  есептің  шектулерін  қолданып,  есептеудің  ең 
қысқа алгоритмдердін жазу қажет: 
а) у = х
8
;   б) у = х
10
;   в) у = х
15
;   г) у = х
19

Қосымша айнымалылардың санын минималды түрде қолдануға 
тырысу қажет. Алгоритмнің ізсалуын х = 2 үшін орындау керек. 
№  4.  А,  В,  С  айнымалыларының  арасында,  олардың  мәндері 
солға  қарай  циклдік  түрде  жылжу  алгоритімін  жазу  керек.  Циклдік 
жылжу схемасы:  
№ 5. А, В, С, D айнымалыларының арасында, олардың мәндері 
оңға  қарай  циклдік  түрде  жылжу  алгоритімін  жазу  керек.  Циклдік 
жылжу схемасы:  
Алгоритмдеу тақырыбына өздік жұмыс  
Өздік жұмыстың мақсаты:  
1) есептердің математикалық моделін жасауды үйрену;  
2) математикалық моделі бойынша есептің алгоритмін құру;  
3) алгоритмді құруда алгоритмдік конструкцияларды қолдану;  
4)  қолданбалы  MS  Word,  MS  Excel.программаларының 
құралдарын және мүмкіндіктерін неғұрлым іскерлік түрде қолдануды 
үйрену.  
Іске асыру формалары: 
1.
 
Тапсырмалардағы барлық есептердің математикалық моделін 
қоюды,  алгоритмді  сөздік-табиғи  (қадаммен)  немесе  жасанды 
алгоритдерік  тілмен  сипатталуын  және  блок-схамаларын  құруды 
дәптерде орындау қажет. 
2.
 
2-ші тапсырманы қосымша  MS Word редакторында орындау 
керек.  
3.
 
Барлық  есептердің  алгоритімінің  орындалуын,  MS  Excel-ң 
мүмкіндіктерін пайдаланып іске асыру қажет. 
Нәтижесі: 

 
Есептерді  алгоритмдеудің  барлық  кезеңдері  сипатталып  және 
MS  Excel-ң  мүмкіндігімен  іске  асырылып,  алгоритмнің  орындалған 
нәтижесін сарапталып көрсетілуі қажет. 








 
132 
C
B
A
Y




 
Excel  –  дегі  парақтарда  әр  есептің  математикалық  моделіне 
сәйкес  барлық  параметрлердің  енгізілуі  қарастырылып  жобалануы 
қажет. 
Тапсырмалар 
1.
 
Мына  функциялар  берілген.  MS  Word  және  MS  Excel 
қолданбалы  программалардың  мүмкіндіктерін  қолданып,  келесі 
тапсырмаларды орындаңыз. 
 
1)
 
2)   
 
а).
 
Берілген  функциялар  үшін  нәтижелерінің  табу  моделін 
алгоритм  түрінде  құрып,  блок-схемаларын  сызыңыз.  Алгоритмде 
қандай негізгі алгоритмдік конструкция қоллданылады. 
б).
 
Excel  программасында  логикалық  ЕСЛИ,  ИЛИ,  И 
функцияларын қолданып, алгоритмдегі шартқа байланысты не сандық 
нәтижені,  не  «шешімі  жоқ»  деген  хабарламаны  шығаратын 
Парақтарты дайындап, орындап көрсетіңіз. 
3
 
Есептің блок-схемасы берілген.  
MS  Word  және  MS  Excel  қолданбалы  программалардың 
мүмкіндіктерін қолданып, келесі тапсырмаларды орындаңыз:  
а)  осы  блок-схема  бойынша  алгоритмді  талдап  есептің 
мазмұнын  қалпына  келтіріңіз.  MS  Word  –ң  графикалық  құралдарын 
қолданып блок-схеманы құрып файлды сақтаңыз. Алгоритмде қандай 
негізгі алгоритмдік конструкция қоллданылған;  
б)  Excel  программасында,  логикалық  ЕСЛИ  (условие;  выр1
выр2;)  функциясын  қолданып,  блок-схема  бойынша  алгортмнің 
орындалу  нәтижесін  кесте  түрінде:  бірінші  бағанда  -  аргументтің 
мәндерін,  екінші  бағанда  -  соған  сәйкес  есептелген  функцияның 
мәндерін,  сонымен  қатар  «цикл  аяқталды»  деген  хабарды  шығару 
парағын дайынап файлды сақтаңыз; 
)
2
(
25
)
1
(
2
5





x
x
X
Y

x = 0.1  
y := 4/x 
x := x+ 0.5 
соңы 
x<=0.

жоқ 
иә 
басы 

 
133 
г)  Word  редарторындағы  жазылған  файлдың  ішінен,  Excel 
программасында ұйымдастырылған алгоритмдік файлға гиперсілтеме 
жасаңыз. 
3.
 
f(x)  =  x  –  sinx  функциясының  нәтижелері,  х  аргументінің 
мәндері  [a;  b]  аралығынан  h  қадамымен  өзгеруіне  сәйкес  есептелу 
алгоритімін және блок-схемасын құру қажет. MS Excel – де логикалық 
ЕСЛИ  функциясын  қолданып,  блок-схема  бойынша  алгортмнің 
орындалу  нәтижесін  кесте  түрінде:  бірінші  бағанада  -  аргументтің 
мәндерін,  екінші  бағанада  -  соған  сәйкес  есептелген  функцияның 
мәндерін,  сонымен  қатар  «цикл  аяқталды»  деген  хабарды  шығару 
керек.  
4.
 
Екі бүтін a және b (a>=0, b>=0 және a>=b) сандары үшін, ең 
үлкен  орта  бөлшегін  (ЕҮОБ)  табу  алгоритімін  және  блок-схемасын 
құру  қажет.  (Мысалы:  a=48,  b=18  болсын,  онда  ЕҮОБ(48,18)=ЕҮОБ 
(18,12)=  ЕҮОБ(12,6)=  ЕҮОБ(6,0)=6).  MS  Excel  программасында 
құрылған  алгоритді  іске  асырған  Парағын  дайындап,  орындап 
көрсетіңіз. 
5.
 
Қабырғалары  a,  b,  c  үшбұрышының  тең  қабырғалы  екенін 
анықтайтын  алгоритмін  және  блок-схемасын  құру  қажет.  MS  Excel 
программасында құрылған алгоритді іске асырған Парағын дайындап, 
орындау керек.  
6.
 
Қабырғалары  a,  b,  c  үшбұрышының  тең  бүйірлі  екенін 
анықтайтын  алгоритмін  және  блок-схемасын  құру  қажет.  Құрылған 
алгоритді MS Excel программасында іске асырған Парағын дайындап, 
орындау керек.  
7.
 
Нақты үш  A, B, C сандары берілген. Осы сандардың ішінен 
ең үлкенін табатын алгоритмді құрып блок-схемасын жасау қажет. MS 
Excel  программасында  құрылған  алгоритді  іске  асырған  Парағын 
дайындап, орындау керек.  
Тест сұрақтары 
1.
 
Алгоритм – ол: 
a.
 
анықталған әрекеттердің орындалу ережелері; 
b.
 
кейбір жиылған командалардың орындау тәртібін нұсқайтын, 
бағытталған граф;  
c.
 
шекті  қадам  жасау  арқылы  белгілі  бір  топтағы  кез  келген 
есепті  шешуге  арналған,  орындаушыға  түсінікті  және  дәл  қойылған 
нұсқаулар тізбегі;  
d.
 
компьютерге арналған командалар жиыны; 
e.
 
есептеу жүйесінің протоколы. 
2.
 
Алгоритмді  жеке  бір  есеп  үшін  емес,  осы  типті  есептердің 
бүкіл тобына пайдаланылу қасиеті: 

 
134 
a.
 
анықтылық;  
b.
 
нәтижелілік;  
c.
 
дискреттілік;  
d.
 
жаппайлық;  
e.
 
түсініктілік. 
3.
 
Тізбекті алгоритмнің ерекше белгісі: 
a.
 
онда цикл операторының қатысуы; 
b.
 
программалық жолда тек қана бір оператордың болуы
c.
 
онда тек қана меншіктеу операторларын пайдаланатыны; 
d.
 
онда шартпен өту операторының қатысуы; 
e.
 
командалардың  жазылу  ретімен  қатаң  түрде  тізбекпен 
орундалуы. 
4.
 
Суретте  блок-схеманың  үзіндісі  ұсынылған.  Ол  қалай 
аталады: 
a.
 
композиция; 
b.
 
алдыңғы шартты цикл; 
c.
 
кейінгі шартты цикл; 
d.
 
тармақталу; 
e.
 
итерация. 
5.
 
Орындалу  нәтижесінде,  X  және  Y  айнымалыларының 
мәндерінің  орынын  ауыстыратын,  меншіктеу  командаларының 
тізбегін нұсқаңыз:  
a.
 
X:=X-Y; Y:=X+Y; X:=Y–X; 
b.
 
B:=X; X:=Y; Y:=X; 
c.
 
X:=Y; Y:=X; 
d.
 
Y:=X; B:=X; X:=Y; 
e.
 
C:=X; X:=Y; X:=C. 
6.
 
Х-ң қай мәнінде, тармақталу: егер (X MOD 2)=0 онда шығару 
«жұп»  әйтпесе  шығару  «жұп  емес»  командасының  орындалу  нәти-
жесінде, «жұп» деген жауап алынады?  
a.
 
3; 
b.
 
7; 
c.
 
15; 
d.
 
4; 
e.
 
9. 
7.
 
“Алгоритмнің  барлық  командалары  дәл  орындалып,  саны 
шектулі  қадамдардан  кейін,  үрдіс  тоқталып,  белгілі  нәтиже 
шығарылады”- деген сөйлем алгоритмнің қандай қасиеті:  
a.
 
жаппайлық; 
b.
 
нәтижелілік; 
c.
 
түсініктілік; 

 
135 
d.
 
дискреттілік; 
e.
 
анықтылық. 
8.
 
Массив — ол: 
a.
 
ортақ  атымен  аталған  саны  бекітілген  бір  типті  деректердің 
жиынтығы 
b.
 
апострофтармен шектелген кез келген символдардың тізбегі; 
c.
 
бір  тұтас  түрінде  сипаталатын  және  өңделетін,  әр  текті 
деректердің жиынтығы; 
d.
 
дискіде аты аталған біртипті деректердің жиынтығы; 
e.
 
бір әріптен басталатын айнымалылар жиынтығы. 
9.
 
Программалауда айнымалының толық сипаттамалары: 
a.
 
идентификаторы және типі; 
b.
 
идентификаторы; 
c.
 
идентификаторы және мәні; 
d.
 
мәні, типі; 
e.
 
идентификаторы, мәні және типі. 
10.
 
Суретте  блок-схеманың  үзіндісі  ұсынылған.  Ол  қалай 
аталады? 
a.
 
тармақталу; 
b.
 
композиция; 
c.
 
кейінгі шартты цикл; 
d.
 
алдыңғы шартты цикл; 
e.
 
тізбекті. 
11.
 
N:=3*2;  P:=N/2;  N:=P+N;  P:=P*N  меншіктеу  командалары 
орындалған соң N және P айнымалыларының мәндерін анықтаңыз:  
a.
 
10; 21; 
b.
 
9; 27; 
c.
 
11; 24; 
d.
 
12; 28; 
e.
 
8; 23. 
12.
 
Орындалу  нәтижесінде,  X  және  Y  екі  нақты  сандарының 
үлкені табылатын командалар тізбегін нұсқаңыз: 
a.
 
1)  енгізу  X,Y,  MAX;  2)  егер  X<  Y  онда  MAX:=  X  әйтпесе 
MAX:=Y; 3) шығару MAX; 
b.
 
1) енгізу X,Y; 2) егер X>Y онда MAX := X әйтпесе MAX:=Y; 
3) шығару MAX; 
c.
 
1) енгізу X,Y;  2) егер X=Y онда MAX:= X әйтпесе MAX:=Y; 
3) шығару MAX; 
d.
 
1)  енгізу  X,Y,  MAX;  2)  егер  X>Y  онда  X:=MAX  әйтпесе 
Y:=MAX; 3) шығару X; 
e.
 
1) енгізу  X,Y; 2) егер X 

 
136 
3) шығару Y; 
13.
 
Алгоритмнің дискреттілік қасиетінің түйіні мынада:  
a.
 
алгоритмді құрушының ескермеген шешімдердін орындаушы 
қабылдауға тиіс емес; 
b.
 
алгоритмді  жазғанда,  тек  қана  орындаушының  командалар 
жүйесіне кіретін, командалар қолданылады;  
c.
 
алгоритм жеке-жеке қадамдар тізбегіне бөлінуі тиіс; 
d.
 
алгоритм  жеке  бір  есепті  ғана  емес,  сол  сияқты  есептер 
тобының шешуін қамтамасыз етуге тиіс;  
e.
 
алгоритмнің  барлық  командалары  дәл  орындалып,  саны 
шектулі  қадамдардан  кейін,  үрдіс  тоқталып,  белгілі  нәтиже 
шығарылуы тиіс; 
14.
 
Алгоритм циклдік деп аталады: 
a.
 
егер  оның  орындалу  барысы  қандай  да  бір  шарттың 
ақиқаттығына байланысты болса
b.
 
егер  оның  командалары  өз  тәртібімен  бірінен  кейін  бірі  еш 
қандай шартқа байлаыссыз орындалса;  
c.
 
егер оны кестелік түрге келсе;  
d.
 
егер де оның ішінде қосымша алгоритм болса; 
e.
 
егер де оның құрылымында бір әрекеттердің тізбегі бірнеше 
рет қайталап орындалуы қарастырылса.  
15.
 
Құрылымды программалаудың өте маңызды принципі, мына 
тұжырымға негізделген: 
a.
 
кез келген алгоритмнің құрылымы дискретті болады; 
b.
 
кез келген күрделі алгоритмді, мына негізгі құрылымдардың 
көмегімен кұруға болады: тізбекті, тармақталу, циклдік; 
c.
 
қазіргі  заманғы  компьютер  –  аппараттық  құылғыларымен 
программалық камтамасыз етудің бір тұтастығы; 
d.
 
шығарылатын есептің формализациялау негізі алгоритді құру 
болып табылады; 
e.
 
программаны жасаудың міндетті кезеңі ретінде, оны тестілеу 
және жөндеу болып табылады.  
16.
 
Суретте блок-схеманың үзіндісі ұсынылған. Ол қалай аталады: 
a.
 
тармақталу; 
b.
 
композиция; 
c.
 
алдыңғы шартты цикл; 
d.
 
итерация; 
e.
 
предикаттық. 
17.
 
X  айнымалысының  қандай  бастапқы  мәнінде  X=X  mod  3 
командасының орындалу нәтижесі 0 болады: 
a.
 
Х = 3 болса; 

 
137 
b.
 
3-ке еселі кез келген мәнінде
c.
 
0-ге еселі кез келген мәнінде; 
d.
 
Х-ң кез келген мәнінде; 
e.
 
2-ге еселі кез келген мәнінде. 
18.
 
1)  A:=3;  2)  C:=5;  3)  егер  A<2  онда  C:=(C+A)2  әйтпесе 
C:=(A+7)/C  командалары  орындалған  соң  С  айнымалысы  қандай  мән 
қабылдайды? 
a.
 
3; 
b.
 
5; 
c.
 
1; 
d.
 
2; 
e.
 
4. 
19.
 
Алгоритмге тармақталған құрылым енгізіледі, егер:  
a.
 
есепті  шығару  барысында  бір  әрекет  бірнеше  рет 
қайталанатыны жорамалданса;  
b.
 
оның  орындалу  жолы,  қандай  да  бір  шарттардың 
ақиқаттылығынана тәуелді болса; 
c.
 
оның  командалары  ешқандай  шарттарға  тәуелсіз,  өзінің 
табиғи реттілігімен орындалатын болса; 
d.
 
ол кестелік түрде берілген болса
e.
 
оған көмекші алгоритмдер енетін болса. 
20.
 
Программаның  бір  аймағының  бірнеше  рет  орындалуы 
былай аталады: 
a.
 
рекурсия; 
b.
 
баптау; 
c.
 
көмекші программаға өту; 
d.
 
итерация; 
e.
 
циклдік үрдіс. 
21.
 
«Алгоритмді  нақты  орындаушы  үшін  жазғанда,  тек  соның 
командалар жүйесіне жататын командаларды ғана қолдануға болады » 
- деген сөйлем алгоритмнің қандай қасиеті: 
a.
 
бірдейлігі; 
b.
 
дискреттілігі; 
c.
 
нәтижелілігі; 
d.
 
түсініктілігі; 
e.
 
анықтылығы. 
22.
 
Суретте  блок-схеманың  үзіндісі  ұсынылған.  Ол  қалай 
аталады: 
a.
 
тармақталу; 
b.
 
итерация; 
c.
 
деректерді шығару; 

 
138 
d.
 
өтпе; 
e.
 
тізбектеу. 
23.
 
X  және  Y  айнымалыларының  қандай  бастапқы  мәндерінде 
X=X^Y–Y  командасының  орындалу  нәтижесінде  X  айнымалысының 
мәні екіге тең болады: 
a.
 
4, 1; 
b.
 
3, 2; 
c.
 
2, 2; 
d.
 
5, 1; 
e.
 
3, 4. 
24.
 
1)  B:=4;  2)  Z:=16;  3)  егер  B  >  6  онда  Z:=  Z/B2  әйтпесе 
Z:=(Z+B)/B  командалары  орындалған  соң  Z  айнымалысы  қандай  мән 
қабылдайды? 
a.
 
3; 
b.
 
5; 
c.
 
7; 
d.
 
6; 
e.
 
4. 
 
 

 
139 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   19




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

    Басты бет