Алгоритмдердің түрлері



Жұмыс түрі:  Реферат
Тегін:  Антиплагиат
Көлемі: 18 бет
Таңдаулыға:   
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
АЛМАТЫ ҚАЛАСЫ БІЛІМ БАСҚАРМАСЫ
АЛМАТЫ ҚАЛАСЫНЫҢ ИННОВАЦИЯЛЫҚ ТЕХНИКАЛЫҚ КОЛЛЕДЖІ

----------------------------------- ----------------------------------- ----------

----------------------------------- ----------------------------------- ----------

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

оқу тәжірибеден
ЕСЕП

----------------------------------- ----------------------------------- ----------
Өтеміс Ердос Нұрболұлы
(оқушының аты-жөні, тегі)
Курс: 3
Тобы: МК - 19К
Мамандығы: 1304000 - Есептеу техникасы және бағдарламамен қамтамасыз ету
Біліктілігі: 1304022 - Байланыс құрастырушы кабельші
Тәжірибе жетекшісі: Аджан Серікболсын Зандыбайұлы
(Аты-жөні, тегі)

Тәжірибеден өту аралығы: басталу 13 Желтоқсан 2021ж.
аяқталу 25 Желтоқсан 2021ж.

Жетекшінің қолы_________

Қабылдаған оқытушы:
Аджан Серікболсын Зандыбайұлы А.Ж.Т
Қорғаған бағасы __
Қорғаған күні 25 _______ 2021ж.

Мазмұны

КІРІСПЕ 3
1. НЕГІЗГІ БӨЛІМ 6
1.1 Алгоритм ұғымы 6
1.2 Алгоритмдерді сипаттау тәсілдері 6
1.3 Типтік алгоритмдік құрылымдар 8
1.4 Алгоритмдердің түрлері 10
2 АРНАЙЫ БӨЛІМ 14
2.1 Begin 14
2.2 For 16
2.3 While 17
ҚОРЫТЫНДЫ 20
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 21
ҚОСЫМШАЛАР 22



КІРІСПЕ

Программалау күннен-күнге тек кәсіпқой мамандардың ісі болып бара жатыр. 1980 жылдардың ортасында жарияланған Программалау - екінші сауаттылық ұраны өткен жылдардың құзырында қалды. Бүгінгі күні компьютерлік сауаттылық ұғымы ең алдымен, көптеген ақпараттық технология құралдарын пайдалану дағдысын қамтиды. Осы немесе басқа да ақпараттық есептерді шешу кезінде, алдымен тиісті құралдарды (электрондық кестелерді, деректер қорын басқару жүйелерін, математикалық пакеттерді және т.б.) табуға тырысу керек және бұл құралдар берілген есептерді шешуге мүмкіндік бермеген жағдайда ғана әмбебап программалау тілдерін қолдану керек. Программалауда екі санаттағы программалаушылар бар: жүйелік және қолданбалы. Жүйелік программалаушылар - жоғарғы деңгейдегі кәсіби мамандар болып табылатын ЭЕМ-нің базалық программалық құралдарын (операциялық жүйелер, трансляторлар, сервистік құралдар және т.б.) қамтамасыз етуді әзірлеушілер. Қолданбалы программалаушылар қызметтің белгілі бір салаларындағы (ғылым, технология, өндіріс, қызмет көрсету, оқыту және т.б.) есептерді шешуге арналған ЭЕМ-нің программалық қамтамасыз ету құралдарын әзірлейді. Қолданбалы программалардың сапасына қойылатын талаптар да жүйелік программалардың сапасы сияқты жоғары болып табылады. Кезкелген программа берілген есепті дұрыс шешіп қана қоймай, қазіргі заманғы интерфейсті, жоғарғы сенімді, ыңғайлы және т.б. қасиеттерге ие болуы тиіс. Тек осындай программалар ғана программалық өнімдер нарығында бәсекеге қабілетті бола алады. Компьютерлік техникалардың дамуымен қатар программалаудың әдістемесі және технологиясы әзірленді. Алғашында командалық-операторлық программалау пайда болды, 1960 жылдары құрылымдық программалау, логикалық және функционалдық программалау желілері жылдам дамып, қазіргі кезде нысанға бағытталған және визуалды программалау кеңінен таралуда. 5 Программалауды алғаш оқудағы негізгі мақсат - бұл оның құрылымдық әдістерінің негіздерін игеру болып табылады. Қазіргі заманға дейін құрылымдық әдістеме программалаушы мәдениетінің негізі болып қалады. Оны меңгермей программалауды оқуды қолға алған адам кәсіби маман болуы мүмкін емес. 1969 жылы швейцариялық профессор Никлаус Вирт студенттерді программалаудың құрылымдық әдістемесін оқытуға арналған Паскаль программалау тілін жасап шығарды.

Тіл алғашқы механикалық құрылғыны ойлап тапқан Блез Паскаль есімінің құрметіне орай аталды. Кейінірек Borland International, Inc (АҚШ) оқыту мақсатында қолдану шекарасынан асып, ғылыми және өндірістік мақсаттарда пайдаланыла бастаған дербес компьютерлер үшін Турбо Паскаль программалау жүйесін жасап шығарды. Турбо Паскальға Н. Вирт сипаттаған Паскальдың негізгі стандарттарына елеулі толықтырулар енгізілді. Уақыт өте келе тіл дамыды. Тілдің 5.5 нұсқасынан бастап Турбо Паскальға объектігебағытталған программалауды қолдайтын құралдары қосылды. Кейінірек бұл объектіге-бағытталған программалау мүмкіндігі бар Object Pascal тілінің құрылуына әкеп соқты.

1990 жылдардың басында Object Pascal-дағы объектіге-бағытталған программалау мен визуалды программалау технологиясы элементтерінің бірігуі - Delphi программалау жүйесінің туындауына әкеп соқты. Осы оқулықтың 1-тарауында кез-келген жоғарғы деңгейлі процедуралық программалау тіліне қатысты негізгі ұғымдар қарастырылған. Алгоритмдерді құрудың құрылымдық әдістемесіне басты назар аударылады: негізгі алгоритмдік құрылымдарды қолдану, шығарылатын есептердің ішкі есептерін анықтау және көмекші алгоритмдерді жасау. Осы негізде құрылымдық әдістемені қолдайтын кез келген процедуралық тілді оқып үйренуге болады. 2-тарауда Паскаль тілі Турбо Паскаль нұсқасында сипатталады (7.0 нұсқасы). Object Pascal және Delphi тілдерінде Турбо Паскальдың үздіксіздігі сақталады. 3-тараудың мазмұны Паскаль мысалдарын негізге ала отырып жоғары деңгейлі программалау тілдерінің негізгі ұғымдарын терең меңгеруге бағытталған. Мұндай дайындық болашақта өзге программалау тілдерін үйренуді жеңілдетуге көмектеседі. 4-тарауда Object Pascal-да іске асыруда келтірілген мысалында объектіге-бағытталған программалау негіздері сипатталады. Мұнда Паскаль тілінің объектіге-бағытталған кеңейтілуі болып табылатын, визуалды программалау технологиясын жүзеге асырушы Delphi программалау тілі қарастырылған. Осы курсты оқып-үйренбес бұрын, алдымен оқырмандар 6 мектептегі информатика курсы шеңберіндегі алгоритмдеу негіздерін меңгеріп алғандары жөн. Әдетте мектепте алгоритмдеу негіздері оқытудың орындаушыларын қолдану арқылы меңгеріледі, бұл құрылымдық әдістеме негіздерін жақсы меңгеруге мүмкіндік береді: негізгі құрылымдардан алгоритм құрастыру; тізбектелген бөлшек әдісін қолдану. Сондай-ақ, ЭЕМ-нің машиналық командалар деңгейіндегі архитектурасы туралы білімнің болғаны дұрыс (мектеп информатикасында оқытылған компьютердің модельдік мысалдарын білу жеткілікті, яғни нақты командалар немесе ассемблер тілдерін білу қажет емес).
Бұл программалаудың негізгі түсініктерін (айнымалы, меншіктеу); Транслятор жағдайына ену және қателіктер жібермей, тіпті тілдің синтаксисінің ешбір дерегін ұмытпастан, программаны іске асыру барысында кідіріп қалуға болатын тұзақтар туралы болжам жасауды меңгеруге мүмкіндік береді. Шындығында, осы қасиеттер кәсіби программалаушыны әуесқой маманнан ажыратады. Кәсіби маманның тағы бір қасиеті - программаның әдемілігін қабылдау мүмкіндігі, яғни жақсы жазылған программадан эстетикалық рахат алу. Бұл сезім қате программаны дұрыс жазылған программадан интуитивті түрде ажыратуға жиі көмектеседі. Дегенмен, программаны бағалаудың негізгі критерийі, әрине, адамның түйсігі емес, сауатты түрде ұйымдастырылған тестілеу болуы қажет. Оқу үдерісі және программалауды практикалық жағынан меңгеру үш бөлікке бөлінеді: алгоритмдерді құру әдістерін үйрену; программалау тілін үйрену; белгілі бір программалау жүйелерін оқу және практикалық тұрғыда меңгеру. Бірінші бөлім бойынша есептерді шығаруға оқулықтың 1-ші және 3-ші тараулары арналған. Шамалармен жұмыс жасау алгоритмдерінің негізгі мағлұматтары, олардың құрылуы мен принциптері 1-тарауда берілген. 3-тарау алгоритмдердің толық құрылысы үшін белгілі әдістерді сипаттайды, тестілеу программаларының мәселелерін зерттейді және алгоритмдердің күрделілігін бағалайды.
3-тарауда программаларды тестілеу мәселелері қарастырылған және алгоритмдерді толық құрудың кейбір белгілі әдістемелері баяндалады. Турбо Паскаль және Delphi программалау тілдері оқулықтың сәйкесінше 2 және 4-тарауларында көрсетілген. Дегенмен, біз бұл оқулық бірінші кезекте Паскаль және Delphi тілдері туралы емес, 7 программалау бойынша оқу құралы екенін атап көрсетеміз, сондықтан сіз осы тілдердің толық сипаттамасын бұл оқулықтан таба алмайсыз, олар программалаудың бастапқы курсына қажетті көлемде берілген. Осы тілдердің егжей-тегжейлі сипаттамасын әдебиеттер тізімдері көрсетілген оқулықтардан табуға болады. Берілген оқулықта тілдерге байланысты нақты программалау жүйелерімен жұмыс істеу бойынша нұсқаулықтар жоқ, олармен студенттер арнайы әдебиеттерді қолдана отырып ЭЕМ-де тәжірибелік жұмыстарды орындау барысында танысулары қажет.

НЕГІЗГІ БӨЛІМ

1.1 Алгоритм ұғымы

Алгоритм ұғымы.Информатикадағы негізгі ұғымдардың бірі - алгоритм түсінігі болып табылады. Математикаға тәуелді алгоритм термині лат. Algorithmi, ортағасырдағы әйгілі шығыс математигі Мұхамед аль-Хорезмидің (787 - 850) есімін жазумен байланысты пайда болған. XII ғ. оның математикалық трактатының латын тіліндегі аудармасы жүзеге асырылды, соның нәтижесінде еуропалықтар ондық позициялық санау жүйесі және көпмәнді сандардың арифметикалық ережелері туралы біле бастады. Осы ережелерді сол кезде алгоритмдер деп аталды. Көпмәнді сандарды қосу, азайту, баған арқылы көбейту, бұрыштап бөлу, бұлар - математикадағы алғашқы алгоритмдер. Математикалық алгоритмдерге алгебралық түрендірулер мен теңдеулердің түбірін есептеу ережелерін жатқызуға болады. Қазіргі уақытта алгоритм ұғымы кеңінен қарастырылады. Алгоритм -- белгілі бір орындаушы басқаратын командалар тізбегі. Алгоритм ұғымы және алгоритмдерді құрастыру әдісімен оқушылар мектеп курсында келесідей орындаушылар мысалдары арқылы танысады: Робот, Тасбақа, Сызғыш және т.б. Бұл орындаушылар ешқандай есептеулер жүргізбейді. Олар экранда сызбалар жасап, лабиринттермен қозғалады, нысандарды бір орыннан екінші орынға тасымалдап апарады. Мұндай орындаушылар әдетте ортада 11 Сур.1.1. Программаға қатысты берілгендер деңгейлері жұмыс істейтін орындаушылар деп аталады. Информатиканың Программалау бөлімінде ЭЕМ жұмысын программалық басқару әдістері оқытылады, яғни орындаушы рөлін компьютер атқарады. Компьютер шамалармен жұмыс істейді -- әр түрлі ақпараттық объектілермен: сандармен, символдармен, кодтармен және т.б., сондықтан компьютерді басқаруға арналған алгоритмдер шамалармен жұмыс жасайтын алгоритмдер деп аталады.

Алгоритмдерді сипаттау тәсілдері

Жоғарыда айтылғандай, бірдей алгоритмді әртүрлі жолмен жазуға болады. Алгоритмді табиғи тілде жазуға болады. Ресми орындаушыларға арналған алгоритмдерді жазу үшін арнайы бағдарламалау тілдері жасалды. Кез-келген алгоритмді графикалық түрде блок-схема түрінде сипаттауға болады(1.1-сурет). Ол үшін арнайы белгілер жүйесі жасалды:

1.1-сурет. Блок-схеманың элементтері

Іс-әрекеттерді орындау реті шыңдарды доғалармен байланыстыру арқылы белгіленеді, бұл блок-схемаларды адамның қабылдауына ыңғайлы алгоритмнің көрнекі түсіндірмесі ретінде ғана емес, сонымен бірге салмақты бағытталған график ретінде де қарастыруға мүмкіндік береді. Дегенмен, жоғарыда аталған типтердің шыңдарынан тұратын әрбір бағытталған график дұрыс алгоритм бола бермейді. Мысалы, бірнеше доғалар оператор шыңынан шыға алмайды. Сондықтан іс жүзінде олар әдетте қауіпсіздік, өміршеңдік және тұрақтылық қасиеттерін қанағаттандыратын алгоритмдердің графикалық схемаларының ішкі сыныбын қарастырумен шектеледі.
Блок-схема түрінде екі шаманы қосу алгоритмінің сипаттамасына мысал келтірейік(1.2-сурет):

1.2-сурет. Блок-схеманың мысалы

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

Типтік алгоритмдік құрылымдар

Бағдарламашы атипті алгоритмдік құрылымдарды жобалау және пайдалану мүмкіндігіне ие, алайда бұл қажет емес. Кез-келген күрделі алгоритмді үш типтік құрылым негізінде жасауға болады: ұстану, тармақтау және қайталау. Бұл жағдайда құрылымдар бірінен кейін бірі орналасуы немесе бір-біріне салынуы мүмкін.
Сызықтық құрылым (келесі).
Ең қарапайым алгоритмдік құрылым-сызықтық. Онда барлық операциялар олар жазылған ретпен бір рет орындалады(3-сурет).

1.3-сурет. Тармақталу

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

1.4-сурет. Логикалық оператор IF

Екінші тармақ бос болуы мүмкін. Мұндай құрылым толық емес тармақтау немесе айналып өту деп аталады.

1.4 Алгоритмдердің түрлері

Алгоритмдердің түрлері логикалық және математикалық құралдар ретінде адам іс-әрекеті мен тенденцияларының көрсетілген компоненттерін, алгоритмдердің өздері мақсатқа, мәселенің бастапқы жағдайларына және оны шешу жолдарына байланысты көрінеді. Кейбір кірістерді демалыс күндеріне түрлендіретін есептеу алгоритмдерінің (жоғарыда аталған Тюринг, пост, рамалар, Марковтың қалыпты алгоритмдері мен рекурсивті функциялары) және интерактивті алгоритмдердің (тюрингте ағылшын тілінен алынған c-машинасы бар) арасындағы түбегейлі айырмашылықты атап өткен жөн. таңдау-классикалық a машинасынан айырмашылығы, сыртқы әсерді күтетін таңдау, мұнда барлық бастапқы деректер есептеу басталғанға дейін орнатылады және есептеу аяқталғанға дейін Шығыс қол жетімді емес). Соңғылары кейбір басқару объектісімен өзара әрекеттесуге арналған және басқару объектісінен келетін сигналдармен көрінетін қалыптасқан жағдайға байланысты Басқару әсерінің дұрыс берілуін қамтамасыз етуге арналған. Кейбір жағдайларда басқару алгоритмі жұмыстың аяқталуын мүлдем қамтамасыз етпейді (мысалы, тиісті реакция шығарылатын оқиғаларды күтудің шексіз циклын қолдайды), соған қарамастан, толығымен дұрыс.
Алгоритмдерді де бөлуге болады:
Механикалық Алгоритмдер, немесе басқаша детерминистік, қатаң (мысалы, машинаның, қозғалтқыштың жұмыс алгоритмі және т.б.) -- белгілі бір әрекеттерді белгілейді, оларды бір және сенімді дәйектілікпен белгілейді, осылайша процестің шарттары орындалса, қажетті немесе қажетті нәтиже береді. алгоритм әзірленген міндеттер.
Икемді Алгоритмдер, мысалы, стохастикалық, яғни ықтималды және эвристикалық.
Ықтималдық (стохастикалық) алгоритм нәтижеге қол жеткізуге әкелетін бірнеше жолмен немесе әдістермен мәселені шешу бағдарламасын ұсынады.
Эвристикалық алгоритм (грекше "эврика" деген сөзден шыққан) -- қатаң негіздемелерсіз әртүрлі ақылға қонымды ойларды қолданатын алгоритм.
Сызықтық алгоритм-бірінен кейін бірі уақыт бойынша орындалатын командалар (нұсқаулар) жиынтығы.
Тармақталу алгоритмі-тексеру нәтижесінде алгоритмнің бірнеше балама тармақтарына бөлуге болатын кем дегенде бір шарт бар алгоритм.
Циклдік алгоритм-сол әрекетті (бірдей операцияларды) бірнеше рет қайталауды көздейтін алгоритм. К циклическим алгоритміне азайтатын көптеген әдістерін ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Алгоритмдер теориясы
АЛГОРИТМДЕР ТЕОРИЯСЫН ИНТЕЛЛЕКТУАЛДЫ ЖҮЙЕЛЕРДЕ ҚОЛДАНЫЛУЫНА ҚАТЫСТЫ ТЕРМИНДЕРГЕ ШОЛУ
Алгоритмдер теориясы. Анықтамасы. Қасиеттері. Түрлері. Алгоритмді жазу әдістері. Алгоритм модельдері
Алгоритмдік тілдердің құрылымы
Алгоритмдер теориясының негізгі ұғымдары
Алгоритмдердің күрделілігі
Программалауға кіріспе. Алгоритмдеу есептерінің негіздері. Алгоритмдер. Практикалық сабақтарға арналған әдістемелік нұсқаулар
Алгоритмнің күрделілігі - осы алгоритмді есептеу процесінде қолданылған элементарлы қадамдар саны
Кілттерді басқару жүйелері
Симметриялық кілтпен шифрлау
Пәндер