Лекция: 68 сағ. Практикалық сабақтар: 136 сағ СӨЖ: 33 сағ обс¤Ж: 33 саѓ Барлық сағат саны: 270 сағ



бет4/15
Дата14.06.2016
өлшемі1.39 Mb.
#135151
түріЛекция
1   2   3   4   5   6   7   8   9   ...   15

“Үшін” циклі бойынша


алг көбейтінді

нәт Р

басы р=1

n үшін 1 бастап 100 [қадам 2]



цб

p=p*n


цс

соңы
Лекция 3

Таќырыбы: Көмекші алгоритм

Жоспар



Пайдаланылѓан єдебиеттер


1.А.П.Ершов,В.М. Монахов “ Информатика мен есептеу техника негіздері”.

2.Е.В.Алтухов, П.А.Рывалко, В.С.Савченко

“Основы информатики и вычислительной техники”.
Бұрын құрылған дайын алгоритмдерді жаңа алгоритмдер құруда пайдалану информатикада есептерді шығарудың негізгі әдістерінің бірі. Өзге бір алгоритмдердің құрамында тұтасымен пайдаланылатын алгоритмдерді көмекші алгоритмдер деп атаймыз.

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

1-мысал:  мен  екі санының үлкенін(мұны ЕСҮ деп белгілейік) іздеу алгоритмін былай жазуға болады.
алг ЕСҮ (нақ ,,)

арг ,

нәт

басы

егер 

онда 

әйтпесе 

бітті

соңы.
Негізгі алгоритмді құру кезінде көмекші алгоритмді пайдалануды толығырақ қарастырайық. Біз негізгі алгоритмді жазу үстінде бір кезде бізге Х пен У шамаларының үлкенін таңдап алу және нәтижені қайсы бір Z шамасына меншіктеу керек екнін байқаймыз. Көмекші алгоритмдерді қолдану үшін

1). Х шамасының мәнін  аргументіне, у шамасының мәнін  аргументіне меншіктеу.

2). ЕСҮ алгоритмін орындау

3). Нәтиженің  мәнін Z айнымалысына меншіктеу керек.

Көмекші алгоритмге осылайша оралуды алгоритмдік тілде бір ғана жай көмекші алгоритмді шақыру командасы түрінде жазуға болады, біздің жағдайда бұл ЕСҮ(х,у,z) түрінде болады.

Шақыру командалары орындалған соң негізгі алгоритмнің мұнан кейінгі командасы орындалады.

2- мысал: Үш санның үлкенін ҮСҮ іздеу алгоритмін ЕСҮ алгоритмін екі рет қайталау түрінде құруға болады.
алг ҮСҮ(нақ а,в,с,у)

арг а,в,с

нәт у

басы нақ z

ЕСҮ(а,в, z)

ЕСҮ( z,с,у)

соңы
Шақыру командасының жазылу ережесін тереңірек қарастырайық. Мұндағы негізгі нәрсе – шақыру командасының параметрлерімен (фактический параметр) көмекші алгоритмнің параметрлері (аргументтері,нәтижелері) арасындағы сәйкестік.

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

фактический параметрлер саны көмекші алгоритмнің тақырыбындағы айнымалылар санына тең болу керек деген қорытынды жасауға болады.



2-ереже. Фактический параметр ретінде – айнымалы шамалардың аты ғана емес, сондай-ақ константалар, арифметикалық өрнектерді қолдануға болады. Көмекші алгоритмнің нәтижесіне сәйкес келетін фактический параметрлер тек айнымалы шаманың аты немесе таблицалық шама болу керек.

Көмекші алгоритмді шақыру командасының орындалуы 3- этаптан тұрады.



  1. Фактический аргументтердің мәні есептеледі және көмекші алгоритмнің аргументтеріне меншіктеледі.

  2. Көмекші алгоритм орындалады.

  3. Көмекші алгоритмнің нәтижесі ретінде алынған мән сәйкес фактический айнымалыға меншіктеледі.



Функциялардың мәнін есептейтін көмекші алгоритмдер

3-мысал: Нақты санның модулін есептеу алгоритмі.


алг МОD(нақ х,у)

арг х

нәт у

басы

егер х0

онда ух

әйтпесе у-х

бітті

соңы.
Осы алгоритмді, мысалы у2х+1-3х+7 функцияның мәндерін есептегенде пайдалануға болады.
алг 1-есептеу (нақ х,у)

арг х

нәт у

басы

нақ а,в

МОD(2*x+1,a)

MOD(3*x+7,в)

у:=a-в


соңы.

Біз осы алгоритмді орындағанда МОD көмекші алгоритмне екі рет қайтып оралдық. Мұны бірінші қолданғаннан кейін а2х+1-ге тең, екінші рет қолданғаннан кейін в3х+7-ге тең болады. Бұдан кейін y:=a-в командасы у айнымалысына керекті мәнін береді.


Осы алгоритмді басқаша жазуға болады:
алг 2-есептеу (нақ х,у)

арг х

нәт у

басы

y:=abs(2*x+1)-abs(3*x+7)



соңы.

Орындаушы осы алгоритмді орындай алу үшін, оған Х санының абсолют шамасын abs(x) есептеу алгоритмін хабарлау керек.


Бұл мына түрде іске асады.

алг нақ abs(нақ х)

басы

егер х0

онда мән:=x

әйтпесе мән:=-x

бітті

соңы.

Осы жазылудың 1-ші жолы тақырып болып тадылады. Біз функция мәндерін есептеудің көмекші алгоритмін жаза отырып, функция мәндерінің типін (берілген жағдай нақ), функцияның атауын (берілген жағдай abs), сонан соң жақша ішінде оның аргументтерінің тізімін (берілген жағдай функцияның жалғыз ғана нақты Х аргумент бар) көрсетеміз. Тақырыпта бұдан басқаларды көрсетудің керегі жоқ. Жақша ішінде аталған шамалардың бәрі аргументтер, ал қысқаша мән деген қызметші сөзбен белгіленген , функция мәні нәтиже болып табылатыны түсінікті. Бұл шама типі функция типімен дәл келетін айнымалы ретінде пайдаланылады. Осы шаманың типін көрсеткен жөн.

Алгоритмнің графиктік тәсілмен жазылуы

Графиктік тәсіл күрделі есептерді шешуде алгоритм құруды жеңілдету үшін қолданылатын көмекші тәсіл болып табылады.

Графиктік тәсілде қолданылатын геометриялық фигуралардың атқаратын стандартты қызметтері бар:




  • овал-эллипс-алгоритмнің басы мен соңын белгілейді.





  • тіктөртбұрыш – есептеу және меншіктеуді белгілейді.






  • ромб- шарт тексеруді белгілейді.





  • параллелограмм – енгізу және шығаруды белгілейді.





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




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

    Басты бет