Дәріс Алгоритмдеу негіздері. Алгоритмдер және шамасын Кезеңдері шешім міндеттері эем дәрістің мазмұны



бет1/3
Дата29.03.2020
өлшемі82.16 Kb.
  1   2   3
Дәріс 1. Алгоритмдеу негіздері. Алгоритмдер және шамасын Кезеңдері

шешім міндеттері ЭЕМ

Дәрістің мазмұны: алгоритмдер және шамалар. Шешу кезеңдері міндеттері

ЭЕМ-ді.


Дәріс мақсаты: дать негізгі ұғымдар, пән және таныстыру

негізгі кезеңдерімен міндеттерді шешу.

Жұмыс шешімі бойынша кез келген міндеттері пайдалана отырып, компьютер

келесі кезеңдерге бөлінеді:

1) Қою міндеттері.
2) Заңдастыру міндеттері.
3) алгоритм Құру.
4) бағдарламасын Құрастыру тілінде бағдарламалау.
5) Отладка және тестілеу бағдарламасы.
6) есеп айырысу Жүргізу және алынған нәтижелерді талдау.
Жиі бұл дәйектілігі деп атайды технологиялық тізбекпен

шешім міндеттері ЭЕМ. Тікелей бағдарламалауға бұл


тізімдегі пункттер жатады 3, 4, 5. Кезеңінде қойылған болуы тиіс
анық тұжырымдалған, бұл берілген және не қажет табу. Мұнда өте маңызды
болып белгіленсін толық жинағы бастапқы деректерді алу үшін қажетті
шешім.

Екінші кезең — заңдастыру міндеттері. Мұнда көбінесе міндеті


тілге аударылуы математикалық формулалар, теңдеулер, қарым-қатынастар. Егер
шешім талап етеді математикалық сипаттаудың қандай да бір нақты объектінің,
құбылыстың немесе процестің, онда заңдастыру равносильна алынуға
тиісті математикалық моделі.

Үшінші кезең — алгоритм құру. Тәжірибелі бағдарламашылар жиі


бірден жазады бағдарламаны тілдерінде жүгінбей-ақ, қандай да бір арнайы
тәсілі алгоритмдерінің сипаттамасын (блок-схемалар, псевдокодам). Алайда,
оқу мақсатында пайдалы пайдалану бұл қаражат, содан кейін аударуға
алынған алгоритм тілінде бағдарламалау.

Алғашқы үш кезеңді көздейді жұмысын компьютер. Оқу


керек тегінде бағдарламалау белгілі бір тілде,
белгілі бір бағдарламалау жүйесінде. Соңғы (алтыншы) кезең — бұл
пайдалану бағдарламасы бойынша әзірленген практикалық мақсатта.

Осылайша, бағдарламашы тиіс болуы мынадай білімі мен

дағдылары:

- білуі құру алгоритмдері;


- білуге программалау тілдері;
- жұмыс істей білуі тиісті жүйесіндегі бағдарламалау.

Алгоритм түсінігі.
Бірі-іргелі ұғымдардың информатика ұғымы болып табылады

алгоритм. Шығу тегі ең термин "алгоритм" байланысты


математикамен. Бұл сөз қалай Algorithm! — латын жазу
атындағы Мұхаммед әл-Хорезми (787-850 жж), көрнекті математик
, ортағасырлық Шығыс. XII в. орындалды латын аудармасы оның
математикалық трактатының келген еуропалықтар туралы білді ондық
позициялық санау жүйесінде және ережелері-сырын меңгеруде көп мағыналы сандар.

Дәл осы уақытта деп атаған алгоритмдерімен. Қосу,


азайту, көбейту столбиком, бөлу бұрышпен көп мағыналы сандар —
міне

алғашқы


алгоритмдер

қазақстан

математика.

Ережесі


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

Қазіргі кезде алгоритм түсінігі кеңінен түсіндіріледі. Алгоритмі — бұл


командалардың жүйелілігі басқарудың қандай да бір орындаушы. Бұл
мектеп курсында информатика алгоритм ұғымымен, әдістері және құру
алгоритмдері оқушылар танысады мысалдар оқу орындаушылар: Робот,
Тасбақалар, Чертежника және т. б.

Бұл орындаушылар ештеңе есептейді. Олар жасайды суреттер экранда


қозғалатын лабиринтах, перетаскивают заттар орын.
Мұндай орындаушылардың деп атайды орындаушылармен жұмыс істейтін
жағдай.

Бөлімде информатика "атты Бағдарламалау" оқытылады

әдістері бағдарламалық басқару жұмысын, ЭЕМ.

Демек, орындаушы ретінде әрекет етеді компьютер.


Компьютер жұмыс істейді шама — әр түрлі ақпараттық
объектілері: сандармен, символдармен, кодтары және т. б. Сондықтан, алгоритмдер,
арналған басқару үшін компьютер, деп атайды
алгоритмдерімен жұмыс шамалар.

1.1-сурет - алгоритм Схемасы көшу көше


Егер ұйғарым орындалуы тиіс машинаны қажет

дәл "формалды" сипаттау үшін тиісті алгоритм.

Үшін алгоритмдер ажырата маңызды мынадай аспектілері:
1) Қоюды міндеттері шешіледі қажет көмегімен

алгоритм.

2) Ерекше тәсілі, қандай міндет шешіледі, бұл үшін

алгоритм ажыратады:

- қарапайым қадамдар өңдеу;
- сипаттау таңдау жекелеген орындауға жататын қадам.

Алгоритм қасиеттері.
Апаратын жол жаппай қатысу
 - қабілеті алуға нәтиже үшін бастапқы деректер

біраз жиындар.



Нәтижелілігі - қабілеті алуға талап етілетін нәтижесі

соңғы қадам саны.



Детерминированность - алуға қабілеті бір және сол нәтиже

әр қадамда бір жиынтығының бастапқы деректер.



Бағдарламалау тілі.
Үшін алгоритм болады сипаттау түрінде, выполнимой бір

машиналарды қолданады формальды тілдер.

Алгоритм сипаттамасы арналған формальды түрде баяндалған тілінде аталады

бағдарламада, ал формальды тіл - тілде бағдарламалау.

Формалды тілдер сипатталады көмегімен арнайы үгітін,


олар қояды құру ережелері сөз болады. Бірі-кең таралған үгітін
БНФ - нотация (нысаны Бэкуса - Наура), ол мүмкіндік береді жазу білдірген
анықтайтын көптеген тізбектер таңбалар, т. е. формальды
тілдер.

Дәріс 2. Деректер мен шамалар

Дәрістің мазмұны: шамаларды анықтау және деректер. Түрлері шамалар және

деректер. Жасау және қарапайым алгоритмдер.



Дәріс мақсаты: беруге шегі туралы ұғымдар, түрлері, шамалар, деректер және

түрлері деректер.

Жиынтығы шамалар, олармен жұмыс істейді компьютер, қабылданды
деп атауға деректермен. Қатысты бағдарлама деректер бөлінеді бастапқы,
нәтижелер (ақырғы деректер) және аралық (2.1-сурет), олар
өнімділігі процесінде есептеу.

2.1-сурет - Жіктеу деректер


Мысалы, кезінде шешім шаршы теңдеулер:

ax

2



+ bx + с = 0
бастапқы деректер болып табылады коэффициенттері а, b, с, нәтижелерімен — тамыры
теңдеу х

1

х



2

, аралық деректер бойынша — дискриминант теңдеу:

D = b

2

— 4ас.



Табысты игеру үшін бағдарламалау меңгерілуі
келесі ереже: кез келген шама иеленеді, өзінің белгілі
ЭЕМ жадында (кейде айтады — ұяшықты жад). Дегенмен "термині" торкөзі бастап
тұрғысынан сәулет қазіргі заманғы ЭЕМ-нің бірнеше ескірген, алайда
оқу мақсатында қолдану ыңғайлы.

Біз кез-келген шама бар үш негізгі қасиеттері: аты, мәні және


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

Константа — өзгермейтін шама және алгоритмінде ол ұсынылады

меншікті мәнімен (мысалы: 15, 34.7, k, true және т. б.



Айнымалылар шамасын өзгерте алады, өз маңызы бар қаланың барысында
бағдарламаны орындау ұсынылады символическими атаулары —
идентификаторами, мысалы, X, S2, codl5. Кез келген константа сияқты,
көшпелі, алып ұяшықты жад, ал мәні осы шама анықталады
екілік сандармен кодымен осы ұяшықта.

Түрлері шамалар.
Енді типтері туралы шама — деректер типтері. Түсінігімен типті деректер сіз

қазірдің өзінде, бәлкім, кездесіп зерттей отырып, информатика курсында мәліметтер базасын және


электронды кестелер. Бұл ұғым болып табылады, іргелі үшін
бағдарламалау.

Әрбір программалау тілі бар, өзіндік тұжырымдамасы типтері

деректерді өз жүйесі типтері.

Дегенмен, кез-келген тіл кіреді ең аз қажетті жиынтығын


негізгі типтері деректер, оған мыналар жатады: бүтін, заттық,
логикалық және символдық типтері.

С шаманың типімен байланысты оның сипаттамалары:


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

деректер.



Тұрақтылар типтері.
Тұрақтылар типтері бойынша анықталады контекст (яғни, нысан бойынша жазбалар

мәтінде), ал айнымалылардың түрлері белгіленеді сипаттауда айнымалылар. Бар


тағы бір нұсқа жіктеу деректер құрылымы. Деректер бөлінеді

қарапайым және құрылымдық. Қарапайым шамаларды (олардың деп те атайды


скалярными) әділ бекіту: бір шамасы — бір мәні үшін
құрылымдалған: бір шамасы көптеген мәндер.

Қосымша құрылымдалған шамаға жатады массивтер, жолдар, жиындар

және т. б.

2.1-кесте - мәліметтер Типтері және шамалардың

Түрі

Маңызы бар



Операциялар

Ішкі
ұсыну

Тұтас

Бүтін
оң



және
теріс
сандар кейбір
диапазонында. Мысалдар
23,-12, 387

Арифметикалық


операциялар бүтін
сандар: +, -, ·, бүтін
бөлу және қалдық
бөлу.

Операциялар


қарым-қатынастар (<, >, = және
т. б.)

Формат


бастап
тіркелген
нүктесі

Заттық Кез келген (бүтін және

бөлшектік) санының
кейбір
диапазонында.
Мысалдар: 2,5, -0,01,
45,0, 3,6·10

9

Арифметикалық


операциялар: +, -, ·, /.
Операциялар қарым-қатынастар

Формат
құбылмалы нүкте

Логикалық

True (ақиқат)


False (лож)

Логикалық


операциялар:

Және


and,
НЕМЕСЕ or ЕМЕС, not.
Операциялар қарым-қатынастар

1 бит:
1 - true


0 - false

Символдық

Кез келген

сандар
компьютерлік


әліпбиінің.
Мысалы: 'a', '5',
'+', 'S'

Операциялар қарым-қатынастар Кодтары

кестенің
символьной
кодтау.

1

символ – 1 байт



ЭЕМ — орындаушы алгоритм. Белгілі болғандай, кез-келген алгоритм
(бағдарлама) үшін жасалады нақты орындаушының шеңберінде оның жүйесінің
командалары. Қай қатар орындаушы әңгіме туралы мәселені талқылау кезінде
бағдарламалау, ЭЕМ үшін?

Жауап айқын: орындаушы болып табылады компьютер. Нақтырақ айтқанда,


орындаушы болып табылады кешені ЭЕМ + программалау Жүйесі (СП).
Программист бағдарламасын жасайды тілде бағдарланған
ӨС. Кейде әдебиетте мұндай кешен деп атайды виртуалды ЭЕМ.

Мысалы, компьютер жүйесімен жұмыс істейтін бағдарламалау


Бэйсике деп атайды Бэйсик-машинамен; компьютер жүйесімен жұмыс істейтін
бағдарламалау Паскале деп атайды Паскаль-машинамен және т. б.
Схемалық бұл бейнеленген суретте 2.2.

Қарамастан, қай тілде бағдарламалау болады жазылған


бағдарлама алгоритмі кез келген міндеттері ЭЕМ жасалуы мүмкін бірі
команда:

- меншіктеу;


- енгізу
- шығару;
- өтініш қосалқы алгоритм;
- цикл;
- тармақталу.

Сурет 2.2 - Схема Паскаль машинасы

Сипаттау үшін алгоритмдер болашақта біз пайдаланатын боламыз блок-

схемасын және оқу алгоритмдік тілі.



Дәріс 3. Сызықтық есептеу алгоритмдері

Мазмұны дәрістер: түрлері алгоритмдер. Сызықтық
есептеу алгоритмдері. Сызықты емес есептеу алгоритмдері.
Арифметикалық және неарифметические білдірген.

Дәріс мақсаты: үйрету құрайтын сызықты және сызықты емес алгоритмдер.

Беруге ұғымдар арифметикалық және неарифметическим выражениям.

Басты қарапайым әсеріне есептеу әдістері болып саналады
біліктіліг мағынасы ауыспалы шамасы. Егер мәні тұрақтылар
анықталған келбеті оның жазба, онда көшпелі алады белгілі бір мағынасы
тек нәтижесінде меншіктеу. Біліктіліг мүмкіндігі бар
сатылуы 2-мя әдістері: қолдаумен командасы меншіктеу және
қолдау командалар енгізу. Қарастырайық үлгісі: оқулығында-сырын меңгеруде
критерийлері бөлу жай бөлшектерді сипатталған мысалы:

1) Алымы 1 бөлшек-ге көбейту бөлгіш 2 бөлшек.


2) Бөлгіш 1 бөлшек-ге көбейту алымы 2 бөлшек.
3) Жазу бөлшек, алымы онда бар қорытынды орындау-тармағының 1, ал

бөлімі — қорытынды 2-тармағы орындалғаннан. Бұл алгебралық түрде бұл


ұқсата грядущим түрде:
Воспроизведем бөлу әдісі бөлшектерді ЭЕМ-ге арналған.
Осы әдіс сақтайық сол белгілеу үшін айнымалылар, олар:

қолданылуы жоғарыда жазылған формула. Бастапқы деректері болып саналады


целочисленные айнымалылар а, b, с, d. Нәтижесі - типі бүтін шама.

Блок-сызба) және сөз әдісін оқу алгоритмическом тілінде


- суретте келтірілген 3.1 (кейіннен қысқалық үшін бәрін жасаймыз деп атауға
оқу алгоритмдік тілі ШЫ).

Сурет 3.1 - Схемасы, алгоритмін және блок-схема есептеу бөлшектерді бөлу

Формат команданың меншіктеу келесі:
айнымалы:=өрнек
Белгісі ":=" қажет, әрі қарай "ретінде берілсін".
Командасы меншіктеу білдіреді келесі әрекеттерді орындайтын

компьютер:

1) Формула өрнек.
2) Алынған мәні тағайындалады айнымалы.
Келтірілген жоғарыда алгоритмі бар екі команда

меншіктеу. Блок-схемаларда командасы меншіктеу жазылады


прямоугольнике. Мұндай блок деп аталады есептеуіш блогы бар.

Сипаттауда алгоритмдер емес, сақтауға қатаң ережелер


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

Келтірілген алгоритмі бар команда енгізу:


енгізу a,b,c,d
блок-схема командасы жазу жазылады параллелограмме блогында

енгізу-шығару. Орындау кезінде осы команда процессор жұмысын тоқтатады


және күтіп пайдаланушының іс-шаралар. Қолданушы жинауы тиіс арналған
құрылысы енгізу (перне) маңызы бар іске қосылатын айнымалы және басу
пернесін енгізу Enter.

Маңызы бар қаланың керек енгізуге, сол тәртіпте тиісті

ауыспалы орналасқан тізімінде енгізу

Әдетте команда арқылы пайдалануға беріледі маңызы бар бастапқы


деректер, ал командасы меншіктеу алу үшін пайдаланылады аралық
және түпкі шама.

Алынған компьютермен нәтижелері шешу керек

хабарланған пайдаланушыға. Осы мақсаттар үшін арналған шығару командасы:

қорытынды m,n


арқылы осы команданың нәтижелері шығарылады экран немесе

құрылғы мөрдің қағазға.



Мысал сызықтық алгоритм
Міндеті екендігі туралы алаңының қабырғалары бөлмелер

1) Енгізу ұзындығы бөлмелері, берілсін айнымалы А енгізілген мәндер.
2) Енгізу-бөлменің ені, берілсін айнымалы Да енгізілген

мәні.


3) Енгізу биіктігі бөлмелер, айнымалы берілсін Н енгізілген

мәні.


4) Жүргізуге және есептеу мына формула бойынша: S=2·(A+B)·H.
5) Шығару (басып шығару) нәтижесі - мәні айнымалы S - алаңы

қабырғалары бөлмелер.

3.2-сурет - Блок-схемасы сызықтық алгоритм есептеулер

Н

А, В, Н



S=2*(A+B)*H

S

К



Әдісі, онда кезекке орындау кое-қандай да бір ұйғарымдар
тәуелді орындау тексерілетін орындаушы
критерийлерін деп аталады нелинейным (сурет 3.3).

Есептеу процесі орындалады немесе бір немесе өзге де


формулалар орындауына қарай, кей қандай закономерного
мән-жайлар.

Үлгісі емес (разветвляющегося) әдісі.


Реттеуге a,b,c артуы бойынша (от аз к пропорционалдық),

қолдана отырып, қосымша функция h.

Қайта мынадай ретпен жүзеге асырылады:
1) h=a.
2) a=b.
3) b=h.

Сурет 3.3 - Блок-схемасы сызықтық емес алгоритм



Арифметикалық және неарифметические білдірген.
Арифметикалық өрнек
 - кезек санын, тұрақтылар,

айнымалылар, функциялар және арифметикалық өрнектерді жасалған дөңгелек


жақшаға, біріктірілген меж собой символдармен арифметикалық
операциялар.

Логикалық (шартты) өрнек.
Логикалық өрнек қарапайым шарты.
Несложное шарт - бұл 2 білдірген аныс олар орналастырылады

сигнал салыстыру.


Операция операция Сипаттамасы
> Көп
>= Көп немесе тең
< Кем
<= Кем немесе тең
= Тең
<> тең Емес
Жай шарт-мәні бар:
True - ақиқат
False - жалған

Мысалы:
2.9994 < 2.9995 True


3.1416 < = 3.1416 True
1.3 E-18 < 2.3 E-19 False
-Y^2 > Abs(Y)

Логикалық өрнек күрделі шарты.
Күрделі шарт – бұл кезектілігі қарапайым өлшемдерін немесе өзге де

салыстырмалы өрнектерді жасалған дөңгелек жақшада, олар


біріктірілуі меж собой символдармен заңды операциялар.

And - логикалық көбейту.


Or - логикалық бұлшық.
Not - логикалық терістеу.
Мағынасы закономерного білдіру ережелері бойынша есептеледі

есептеулер заңды өрнектер:

Логикалық туындысы шынайы тек ғана екі

заңды сомножителя ақиқат.

A B A And B

True True True

True False False

False True False

False False False

Логикалық сомасы ложна кезде ғана екі логикалық

қосылғыштардың ложны.

A B A B ог

True True True

True False True

False True True

False False False

Логикалық терістеу білдіру жалған, егер өзі бұл өрнек

нағыз, және керісінше.

Not A A

True False



False True

Дәріс 4. Алгоритмдерді құрастыру

Мазмұны дәрістер: дать тәжірибелік дағдыларды жасау

алгоритмдерді.



Дәріс мақсатыстуденттерді құрайтын алгоритмдер әр түрлі

түрлері.


Өйткені операция меншіктеу болып саналады маңызды операцияға

есептеу әдістері қарастырайық оның егжей-тегжейлі.

Қарастырайық дәйекті орындау 4 команда меншіктеу, в

коих қатысады 2 айнымалы шама a және b.

Төмендегі кестеде визави " кез келген меншіктеу командасының
көрсетіледі мағынасы ауыспалы, олар нақтыланады кейіннен
орындау командалар.

Бұл мысал суреттейді үш негізгі қасиеттері команда

меншіктеу:

- әзірге айнымалы емес, атағы мәні, ол белгісіз болып қалады;


- мәні, берілген айнымалы сақталады, оған дейін

келесі меншіктеу командасының осы айнымалы;

- жаңа мағына, присваиваемое айнымалы, оны алмастырады алдыңғы

мәні.


4.1-кесте - жұмыс Сызбасы командасы меншіктеу

Командасы

ал

b

a: =1

1

-



b: =2 · a

1

2



a: = b

2

2



b: = a + b

2

4



Қарастырайық өте пайдалы алгоритмі тиесілі жиі
пайдалану бағдарламалау. Берілген екі шаманың: X және Y. Талап етіледі
жүргізуге және олардың арасындағы алмасу мәндері. Мысалы, егер бастапқыда
болды, Х = 1, Y = 2, содан кейін алмасу болуы тиіс: Х = 2, Y = 1.

Жақсы моделі осы міндеттерді шешу үшін болып табылады мынадай


жағдай: бар екі стақан — бір, сүтпен, басқа да сумен. Талап етіледі
айырбастауды оларды есептеу керек. Всякому анық, бұл жағдайда қажет
қосымша үшінші бос стакан. Дәйектілігі іс-шаралар
мынадай:

1) Перелить бірінші стақан үшінші.


2) Перелить екінші, бірінші.

3) Перелить үшінші, екінші. Мақсат орындалды!


Ұқсас алмасу үшін мәндерімен екі айнымалы қажет үшінші

қосымша айнымалы. Деп атайық оның Z. Сонда міндет алмасу шешіледі


дәйекті орындалуын үш команда меншіктеу.

4.2-кесте - жұмыс Сызбасы командасы меншіктеу



Командасы

X

Y

Z

енгізу X, Y

1

2



-

Z : = X

1

2



1

X: = Y

2

2



1

Y : = Z

2

1



1

Ұқсастығы-бабына стақанмен емес, дәл мағынада, бұл кезде


құю бір стақан басқа бірінші болып бос қалдырыңыз. Бұл
салдарынан сол меншіктеу (Х: = Y) айнымалы, оң жақта тұрған (Y),
өзінің маңызын сақтайды.

Алгоритмі үшін бөлшектерді бөлу бар сызықтық құрылымы. Ондағы барлық


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

Сипаттау кезінде алгоритмдерді блок-схемалар түрлері, әдетте, жоқ,


көрсетіледі (бірақ түсініледі). Осы алгоритмдер негізінде АЯ барлық айнымалылар
типтері көрсетіледі анық. Типтерді сипаттау айнымалыларды жүргізіледі бірден
тақырыптан кейін алгоритм. Оларда пайдаланылады мынадай белгілер
типтері: мақсат — бір түрі, бб — заттық түрі, лит — символдық
(литерлік) тип, лог — логикалық тип. Алгоритмде үшін бөлшектерді бөлу үшін
барлық айнымалылар көрсетілген бір түрі.

Тармақталу және цикл есептеу алгоритмдер.
Құрамыз алгоритмі шешім шаршы теңдеулер

Міндет жақсы таныс бірі-математика. Бастапқы деректер мындасыз

болып табылады коэффициенттері а, b, с. Шешімімен жалпы жағдайда болады екі түбірі x

1

және х



2

формула бойынша есептелетін:

Қолданылатын барлық осы шамалар заттық типті.
Әлсіздік мұндай алгоритм көрінеді электр көзбен көрінетін. Ол
бар маңызды қасиеті қойылатын сапалық алгоритміне
— универсальностью қатысты бастапқы деректері. Қандай болса да
маңызы бар бастапқы деректер, алгоритм шығуына әкелуге тиіс белгілі бір
нәтижеге және жұмысты аяқтау.

Нәтижесі болуы мүмкін саны, бірақ болуы мүмкін және хабар


белгілі бір деректер міндет шешім жоқ. Жол берілмейді аялдамасының
ортасында алгоритм үшін орындау мүмкін болмаған қандай операция.
Аталған қасиеті әдебиетте бағдарламалау деп атайды
нәтижелілігін алгоритм (кез келген жағдайда алынуы тиіс қандай
нәтиже).

Салу үшін әмбебап алгоритм, алдымен қажет

мұқият талдау, математикалық мазмұны, міндеттері.

Теңдеуінің шешімі тәуелді мәндерінің коэффициенттері a, b, с. Міне,


талдау жоғарыда қаралған міндеттерді (ограничиваемся ғана іздеумен
заттай түбір):

- егер a = 0, b = 0, с = 0 болса, онда кез-келген х теңдеуінің шешімі;


- егер а = 0,b = 0, с ≠ 0, онда теңдеу жарамды шешім болмайды;
- егер а = 0, b ≠ 0 болса, сызықтық теңдеу, ол бір

шешім х = -с/b;

- егер a ≠ 0 және d = b2 - 4ас ≥ 0 болса, онда теңдеу екі заттай

тамыры (формулалар келтірілген жоғары);

- егер а ≠ 0 және d < 0 болса, онда теңдеу бар заттай жұлу.
Блок-схема алгоритм-суретте келтірілген 4.2.
Сурет 4.2 - Блок-схема алгоритм
Сурет 4.2 - Блок-схема алгоритм

Дәріс 5. Алгоритмдерді құрастыру с предусловием

Мазмұны лекция: практикалық әдістерін жасау алгоритмдерін с

предусловием.



Дәріс мақсаты: үйрету құрайтын алгоритмдер с предусловием.

Блок-схема алгоритм-суретінде көрсетілген 4.2 арналған алгоритмическом

тілінде:
5.1-сурет - Алгоритм жазылған на алгоритмическом тілінде

Бұл алгоритмде бірнеше рет пайдаланылуы құрылымдық командасы


тармақталу. Жалпы түрі командасы тармақталу блок-схемалар және
алгоритмическом тілінде келесі:

Сурет 5.2 - Жалпы түрі тармақталу командалары

Алдымен шарт тексеріледі (формула қатынасы, логикалық
өрнек). Егер шарт ақиқат болса, онда орындалады серия 1 —
командалардың жүйелілігі, ол көрсетеді стрелка деген жазуы бар "иә"
(оң тармақ). Әйтпесе 2-серия орындалады
(теріс бұтақ).

Қр ШІ шарты жазылады кейін қызметтік сөздер, егер


оң бұтағы — деген сөздер болса, теріс сөзден кейін басқаша.
Әріптер кв білдіреді соңы тармақталу.

Егер бұтағында бір тармақталу бар және басқа да тармақталу болса, онда мұндай


алгоритм құрылымы бар салынған ветвлений. Дәл осындай құрылымы
бар алгоритмі "Тамыры шаршы теңдеулер".
Қарастырайық келесі тапсырма: берілген бүтін оң сан р.

Талап етілетін есептеу n! (n-факториал). Еске алайық анықтау факториала:

Суретте 5.3 келтірілген блок-схема алгоритм. Онда пайдаланылады
үш айнымалылар бүтін типті: р — аргументi — аралық ауыспалы;
F — нәтиже. Дұрыстығын тексеру үшін алгоритм құрылған
трассировочная-кесте. Осындай кестедегі нақты мәндер бастапқы
деректер қадам бойынша байқалады өзгерту айнымалы кіретін
алгоритмі. Бұл кесте құрастырылды жағдайы үшін р = 3.

Сурет 5.3 - Блок-схема алгоритм тармақталу кесте түсініктемесі

Тіреулері дәлелдейді дұрыстығы алгоритм. Енді бұл запишем

алгоритмі негізінде алгоритмическом тілінде.


Сурет 5.4 - Алгоритм тармақталу арналған алгоритмическом тілінде

Бұл алгоритм бар циклическую құрылымы. Алгоритмде


пайдаланылатын құрылымдық командасы цикл-әзірше, немесе цикл предусловием.
Жалпы түрі командалар цикл-әзірше блок-схемалар мен АЯ келесі:

- әзірге шарт, қайталауға;
- нц;
- сериясы;
- кц.

Сурет 5.5 - Блок-схемасы "цикл-әзірше"

Орындау командалар сериясы (цикл денесінің) қайталанады, әзірше шарт цикл
ақиқат. Қашан шарты болып жалған, циклді аяқтап орындау.
Қызметтік сөздер ғо және кц білдіреді "начало цикла" және "цикл соңы"
тиісінше.

Цикл предусловием — бұл негізгі, бірақ жалғыз нысаны


ұйымның циклдық алгоритмдер. Басқа нұсқасы болып табылады цикл
постусловием. Оралайық алгоритм шешім шаршы теңдеулер. Оған
жақындауға болады мұндай позиция: егер а = 0болса, онда ол квадрат
теңдеуі және оны қалай қарауға.

Мұндай жағдайда біз деп санауға қолданушы жаңсақ енгізілген кезде


және қажет оған қайталауға енгізу. Басқаша айтқанда, алгоритмінде
көзделетін болады растығын бақылау бастапқы деректерді
ұсынуға мүмкіндігін жоғалтқан. Болуы
мұндай бақылаудың тағы бір белгісі сапасы жақсы бағдарлама.
Сурет 5.6 - Блок-схемасы цикла с предусловием

Жалпы түрде құрылымдық командасы цикл постусловием немесе цикл—дейін

ұсынылады, мысалы:

Сурет 5.7 - Блок-схемасы цикл с постусловием

Мұнда пайдаланылады шарт аяқталған цикл. Кезде ол айналады

шынайы циклі, жұмысты аяқтап.



Достарыңызбен бөлісу:
  1   2   3




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

    Басты бет