Тармақталған алгоритмдерді программалау


ҚАЗАҚСТАН РЕСПУБЛИКАСЫ АУЫЛШАРУАШЫЛЫҒЫ МИНИСТРЛІГІ
С. СЕЙФУЛЛИН атындағы ҚАЗАҚ АГРОТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ
КУРСТЫҚ ЖОБА6В061 - «АКТ» даярлау бағыты бойынша «Бағдарламалық инженерия»/«Компьютерлік инженерия» білім бер бағдарламасы
Тақырыбы:
Пәні: Алгоритм, деректер құрылымы және бағдарламалау
Орындаған: 20-03 топ студенті Торғай Рахат
Тексерген: Мустафаева Н. Т.
Курстық жұмыс қорғауға жіберілді
Нұр-Сұлтан 2022 ж.
С. Сейфуллин атындағы агротехникалық университеті КеАҚ Факультеті Кафедрасы БББ (шифры, атауы)
Курстық жұмысты орындауға
ТАПСЫРМА Студент (тегі, аты-жөні) Жұмыстың тақырыбы Жұмысқа бастапқы мәліметтер
Ұсынылатын негізгі әдебиеттер: 1 2 3
Тапсырманың берілген күні
Жұмысты қорғау уақыты
Ғылыми жетекші (қолы, аты-жөні, қызметі) Тапсырманы орындауға қабылдаған студент (студенттің қолы аты-жөні)
Кіріспе . . . 3
1. Алгоритм ұғымы мен жазылуы қасиеттері жэне блок-схема құру тэсілі . . . 4
1. 1. Сызықты алгоритмдерді эзірлеу . . . 7
1. 2. Тармақталған алгоритмдерді эзірлеу . . . , . . . 9
1. 3. Қайталантын циклді алгоритмдерді эзірлеу . . . 12
2. Алгоритмдерді Паскаль программалау тілінде эзірлеу . . . 14
2. 1. Сызықты алгоритмдерді программалау . . . 18
2. 2. Тармақталған алгоритмдерді программалау . . . 19
2. 3. Есептерді шешудің алгоритмі мен блок-схемасын әзірлеу . . . 20
III. Қорытынды . . . 22
IV. Қолданылған әдебиеттер . . . 23
Кіріспе
Ғылым мен техниканың қарыштап дамуына байланысты программалау тілдері үнемі жаңарып, өзгеріп отырады. Ал соның ішінде Турбо Паскаль программалау тілі - оқып үйренушіге өте жеңіл әрі түсінікті. Паскаль тілі программалауды үйретумен қатар, басқа прогрммалау тілдеріне кіріспе болып та табылады. Турбо Паскаль тілінің сызықты графикалық мүмкіндіктеріде бар. Программалау оқушылардың білімін, іскерлігі мен дағдысын қалыптастырумен бірге, олардың шығармашылық қабілеті мен ақыл-ойын дамытудың маңызды құралы болып табылады. Турбо Паскль прогрммалау тілі қазіргі кезде жоғары оқу орындарымен мектептерде кеңінен оқытылуда. Мұнда есептерді шешуде алгоритмдік құрылымдарды қосымша құрал ретінде қолдану, есептің қойылымына сәйкес математикалық модель құру, алгоритм жазу, нәтижені талдау кезеңдерін қарастырады.
Курстық жұмыстың мақсаты - сызықтық тармақталған және циклді алгоритмді программалау негіздері тарауында оқушыларға алгоритм ұғымын, қасиеттерін, турлері мен берілу тәсілдерін үйрету арқылы логикалық ойлауын, алгоритмдік білімін дамыту. Оқушыларды алгоритмдік тілдің ережелерін білуге, өз бетінше алгоритм құрып, оған программа жазуға және компьютерде теріп, орындау іскерлігін қалыптастыру. Компьютерде есептер шығару кезеңдерін, программалау тілдерінің құрылымын, командалары мен операторларының қызметін түсініп, оларды тиімді пайдалана білу мәселелерін қалыптастыру.
Курстық жұмыс кіріспеден, екі тараудан, қорытындыдан, әдебиеттер тізімінен және қосымшадан тұрады. Кіріспеде сызықты тармақталған және циклді тармақталған алгоритмді әзірлеу және программалауды оқытудағы мәселелері мен курстық жұмыстың мақсаттары қарастырылды.
1. Алгоритмнің ұғымы мен жазылу қасиеттері және блок-схема құру
тәсілі
Алгоритм сөзі IX ғасырда өмір сүрген көрнекті математик Әл-Хорезмидің латын тілінде бұрмаланған аты. Ол бірінші рет арифметикалық амалдарды орындаудың ережелерін тұжырымдаған ғалым.
Алгоритм дегеніміз - алға қойылған мақсатқа жету үшін немесе берілген есепті шешу үшін түсінікті де нақты ережелер бойынша орындаушыға жинақы түрде берілген реттелген нүсқаулар тізбегі. Бұл анықтамада алгоритм мен оның қасиеттерін байланыстыратын негІзгі ұғымдар беріліп отыр. Оны келесі схема түрінде көрсетуге болады:Бұл схемада орталық объект алгоритмді орындаушы болып түр. Орындаушы - бұл объект (немесе субъект), құрылған алгоритмді басқарады. Орындаушының негізгі әрекеті оның командалар жүйесін басқаруынан көрінеді. Кез келген есепті шешудің кірісінде берілгендер мен алгоритм командалары тұрады, шығысында нәтиже тұрады.
Алгоритмнің келесідей қасиеттері бар:
1) Алгоритмнің үздіктілігі . Информацияны өңдеу процесі ретімен жазылған жеке-жеке нұсқаулардан құралған тізбектен тұруы тиіс.
2) Алгоритмнің анықтығы мен дәлдігі . Алгоритм жалпы түрде қабылдаған символдарды, алфавитті пайдаланып жазылуы тиіс. Орындаушы (адам, компьютер) алгоритмді түсініп, арындай алатын болуы керек. Орындаушыға алгоритмді орындау үшін басқа нұсқаулар іздеуіне жол қалдырмайтындай етіліп және орындалу реттері дәл көрсетіліп қатаң түрде жазылуы қажет.
3) Алгоритмнің жалпылыгы . Алгоритм неғұрлым әмбебап болуы және көпшілік пайдалана алуы тиіс.
4) Алгоритмнің нәтижелігі . Нұсқаулар шексіз көп болмай, қорытындысында оның нәтижелі болуы тиіс.
Алгоритмді жазудың немесе берілу тәсілдерінің 3 түрі бар:
1. сөзбен ауызша беріледі.
2. блок-схема түрінде.
3. алгоритмдік тілде.
Блок-схема дегеніміз - информацияны өңцеу алгоритмін МЕСТ
(мемлекеттік стандарт) -те бекітілген символдарды пайдаланып, графикалық
түрде жазу:
Алгоритмдік тіл - алгоритмді жазуға арналған тіл. Оның алфавиті, синтаксисі, семантикасы болады. Алфавит - тілдегі символдардың жиынтығы. Синтаксис - алгоритмді жазу ережесі. Семантика - сөйлемнің дұрыс құрылуы.
Алгоритмнің жазылуының жаппы түрі: алг <алгоритм аты> (<айнымалылар мен олардың типтерінің тізімі>)
арг <аргументтер тізімі>
нәт <нэтижелер тізімі> басы <көмекші айнымалыларды енгізу>
<Бастапқы мәнге меншіктеу>
<Алгоритмге сәйкес эрекеттер тізбегі> шығару <баспаға берілгендерді шығару> соңы
Мұндағы алг, нәт, арг, басы, соңы, шығару сөздерін қызметші сөздер деп атайды.
1. 1. Сызықтық алгоритмдерді әзірлеу
Орта және жоғары оқу орындарына тарналған барлық информатика оқулықтарында алгоримтдік тіл берілген.
Е-практикум жүйесінде алг, арг, нәт, басы, соңы қызметші сөздері бірден экранға шығады, бүл сөздер өшірілмейді. Мұнда оқушылардың көңілін атқарушы ұғымына, оның командалар жүйесіне аудару қажет.
Е-практикум алгоритм тақырыбының жазылуының жалпы түрі төмендегідей:
алг атауы (типтері көрсетілген аргументтер мен нәтижелер тізімі)
арг аргументтер тізімі нәт нэтижелер тізімі
Алгоритм үшін бастапқы берілгендер болып табылатын шамаларды аргументтер деп атайды. Олардың тізімі арг қызметші сөзінен кейін жазылады.
Алгоритмдегі аргументте, нэтижеде болмайтын шамаларды аралық шама деп атайды, ол алгоритм тақырыбынан кейін басы қыфзметші сөзінен кейін жазылады. Енді алгортмнің жазылуының жалпы түрін көрсетейік:
алг атау (типтері көрсетілген аргументтер мен нәтижелер тізімі)
арг аргументтер тізімі
нәт нәтижелер тізімі
басы типтері көрсетілген аралық шамалардың тізімі серия
соңы
1 -мысал. Үшбұрыштың ауданын Герон формуласы бойынша есептеу. S=J(P*(p-a) *(p-b) *(p-c) ), p=(a+b+c) /2
алг аудан (нақ а, b, с)
арг а, Ь, с
нәт S басы нақ р
р:=(а+Ь+с) /2
S:=sqrt(P*(p-a) *(p-b) *(p-c) )
соңы
Бұл алгоритм сызықтық алгоритм деп аталады, алгоритмдегі командалар жазылу реті бойынша бірінен соң бірі орындалады. Бұл командалар алгоитмдік тілдегі қарапайым командалар. Периметрді және ауданды есепдеу меншіктеу командасы деп аталады. Меншіктеу командасының жалпы жазылу түрі төмендегідей: атау:= өрнек
Бұл команда төмендегідей ережемен орындалады: Алдымен меншіктеу белгісінің оң жағында жазылған өрнек есептеліп, меншіктеу белгісінің сол жағында орналасқан айнымалыға меншіктеледі.
1. 2. Тармақталған алгоритмдерді әзірлеу
Тармақталу ұғымын оқушыларға түсіндіру үшін төмендегідей логикалық тәсілді қолдануға болады. Алгоритмнің негізгі құрылымдарын бөліп көрсеткеннен кейін (сызықтық, қайталану, тармақталу), бірнеше командалардың ішінен тек біреуі ғана орындалады. Ал, енді қай команданың орындалатынын қалай білуге болады, эрине, ол қойылған шартқа тәуелді. МАТ-дегі тармақталу командасының жалпы түрі:
Егер шарт
Онда 1-серия
Әйтпесе 2-серия
Бітті
Қойылған шартқа тәуелді тармақталу командасына кіретін екі командалар сериясының біреуі ғана орындалады. Егер шарт сақталатын болса, онда 2-серия орындалады, ал шарт сақталмаса онда 2-серия орындалады.
Кейбір алгритмдер жэне, емес, немесе сөздерімен жалғастырылған екі немесе одан да көп шарттардан құралады. Мүндай шарттарды құрамашарттар деп атайды.
2-мысал.
У={ fsin х + cos3x, егерх >= 0. 7 функциясының мәнін есептейтін
У= { cos + \х\ +1, егерх < 0. 7
алгоритм құру.
алг есеп (нақ х, у)
аргх
нәту
басы
егер х>=0. 7
онда y:=sin(x) +cos(3*x)
әйтпесе y:=cos(x) +abs(x) +l
бітті
соңы
3-мысал.
sin 3s + cos 2x, егерх < 2
У = sin 4х + cos Зх, егері <= х < 3
sin 5х - cos 4х, егерх >= 3
функциясының мәнін есептейтін алгоритм құру.
алг есеп (нақ )
аргх
нәту
басы
егер х<2
онда y:=sin(3*x) +cos(2*x)
әйтпесе егер Гх<3) және (х>=2)
онда y:=sin(4*x) +cosf3*x)
әйтпесе y:=sin(5*x) -cos(4*x)
бітті
бітті
соңы
Бұл мысалда алгоритм үш тармақтан тұрады. Алгоритмдегі тармақтардың саны көбейген сайын тармақталу командасын пайдалану қиындай береді. МАТ-де көп тармақтан тұратын алгоритмдерді жазуда таңдау командасы пайдаланылады.
Таңдау командасының жалпы түрі: Таңдау
1-жағдай: 1-серия
2-жағдай: 2-серия
. . .
n-жағдай: п-серия
Соңы
Команданың орындалу ережесі төмендегідей: Алдымен атқарушы сақталатын шарт табылғанша шарттарды ретімен тексере берді. Ақиқат шарт табылғанда атқарушы оған сай команданы орындайды да, осымен таңдау командасының орындалуы аяқталады. Егер бірде бір шар сақталмайтын болса, онда бірде бір команда орындалмайды, яғни таңдау командасы орындалмайды.
1. 3. Қайталанатын циклді алгоритмдерді әзірлеу
"Әзір" цайталану командасы. Кейбір алгоритмдерде белгілі бір шарттардың сақталуына тәуелді командалардың қандайда бір бөлігі бірнеше рет қайталанады. Осы әрекеттерді жүзеге асыратын командаларды қайталану командасы деп атайды.
Е-практикум жүйесіндегі әзір қайталану командасының жалпы түрі:
Цб әзір <шарт>
Серия
Цс
Цб-циклдің басын, цс- циклдің соңын көрсетеді. Команда төмендегідей ережемен орындалады:
алдымен шарт тексеріледі, шарт сақталудан қалғанша цикл денесіндегі командалар сериясы қайталана береді. Егер шарт басынан сақталмаса, онда командалар сериясы бірде бір рет орындалмайды.
1-мысал. Берілген п натурал саны қанша цифрдан тұратыны анықтау қажет. Бүл мысалда біз 10-ға бөлу командасының қанша рет орындалатынын алдын-ала білмейміз, бірақ бөлінді 1-ден көп болса бөле беру керек екенін білеміз.
алг есеп (бүт п, к)
арг n ^
нәт к
басылитм
к:=1
цб әзірп/ІОІ п:=п/10 k:=k+l цс
егерп/10=1
онда k:=k+l
бітті
m:="нәтиже"
к:=к
соңы
"Үшін" цайталану командасы. Бүл команда кестелік шамаларды өңдеуге байланысты пайдаланылатыны белгілі. Оқушыларға қандай жағдайда "әзір", қандай жағдайда "үшін" қайталануын пайдалану керектігін түсіндіру қажет. Егер кесетелерді реті бойынша іріктеу (берілген қасиеті бойынша элементтің номерін іздеу т. с. с. ) қажет болса, онда "әзір" циклы пайдаланылады. Егер элементтердің қосындысы, максимум, минимум, элементтер санын іздеу қажет болса, басқа сөзбен айтқанда, барлық элементтермен біркелкі амалдар орындалатын жағдайда "үшін" циклы пайдаланылады. Бұл, әрине,, оқушылардың кестемен жүмысын жеңілдететіні белгілі.
Кейбір оқулықтарда "үшін" қайталануын "әзір" қайталану командасы арқылы өрнектейтін алгоритм немесе оған сәйкес блок-схема келтіріледі:
І:=1
Цб үшін I бастап 1 дейін N цб әзір K=N
серия серия
цс І=І+1
цс
пәнішілік байланысты ашуда бүл идея өте жақсы, бірақ мүндай модель кері қадаммен орындалмайды. Дегенмен, бүл өте қарапайым есеп емес:
І:=А
цб үшін I бастап А дейін В қадам Н цб әзір (І-В) *Н<=0
серия серия
цс І:=І+Н
цс
Программалау тілдері үшін циклдің нақты орындалуы толық түсіндіріледі.
2. Паскаль программалау тілінде алгоритмдерді құрастыру
Программалау тілінде алгоритмдердің жасалуын программа деп атайды. Бұл алгоритмді көрсету бағдарламасы орындаушы компьютер болған кезде қолданылады. Тілдік операторлар - компьютердегі әрекеттердің орындалуын шешетін алгоритм командалары.
Көптеген бағдарламалау тілдері бар. Паскаль - IBM PC үшін ең жақсы бағдарламалау тілдерінің бірі. Басқа жоғары деңгейлі программалау тілдері сияқты Паскаль тілінің де өз алфавиті, синтаксисі және семантикасы бар. Алфавит - әртүрлі белгілер қолданылады: әріптер, сандар, белгілер және белгілер. Синтаксис - машинаның жұмысын анықтайтын нұсқауларды (команда, оператор), функцияларды, мәліметтерді және өрнектерді жазу ережелері.
Паскаль алфавитінің таңбалары:1. Латын алфавитінің бас жэне кіші әріптері;
2. Араб цифрлары;
3. Өрнектаңбалары:+, -, *, /.
4. Қатынас таңбалары: =, < >, <, >, < =, >=7
5. Арнайы символдар: :, ;, ", (, ), ?, !, #, т. б.
Паскалъ тілініңжай және күрделі типтері бар. Олар:
A) Жай типтер: скалярлық және шектеулі. Скалярлық типтер: бүтін (integer), нақты (real), символдық (char), логикалық (boolean) .
Б) Күрделі типтер: жиым (array), жол (string), жазу (record), файл, жиын.
B) Сілтеме.
Паскалъ тілінің операторларына:
1) := - меншіктеу;
2) read, readln - енгізу;
3) write, writeln - шығару, т. б. жатады.
Программаның цүрылымы:
Program <Атау>; - программа тақырыбы деп аталады.
Таңбалар бөлімі (Label) ;
Тұрақтылар бөлімі (Const) ;
Типтер бөлімі (Type) ;
Айнымалылар бөлімі (Var) ;
Процедуралар жэне функциялар (Procedure, Function) ;
Басы (begin)
{ Операторлар бөлімі}
Соңы (end) .
Сызықтық программалау:
Program esep;
Var a, b, S, R, K:integer;
Gr, Snreal;
Begin K:=l; S:=0;
Writeln('a, b-ны енгіз:') ;
Readln(a, b) ;
S:=a+b; R:=a-b; K:=a*b; Sr:=S/2; Gr:=sqrt(K) ;
Writeln ('Қосынды=', S, 'Айырма=', R, 'Көбейтінді=', К) ;
End.
Тармақталған программалау:
Program esepl;
Var x:integer; y:real;
Begin Write('x енгіз:') ; Readln(x) ;
If x > 0 then y:=5*sin(x)
Else y:=abs(x) ;
Writeln ('Y =', Y:2:2) ;
End.
Қайталанған циклді программалау:
1 Үшін-ге
Program esepteu;
Var i, n:integer; S:real;
Begin Write('n енгіз:') ; Readln(n) ;
S:=0;
For i:=l to n do S:=S+i;
Writeln ('Қосынды =', S:2:2) ;
End.
2 Әзірше-ге
Program esepteu;
Var i, n:integer; S:real;
Begin Write('n енгіз:') ; Readln(n) ;
S:=0; i:=l;
While i <=n do begin
S:=S+1; I:=i+1; end;
Writeln ('Қосынды =', S:2:2) ;
End.
3 Дейін-ге
Program esepteu;
Var i, n:integer; S:real;
Begin Write('n енгіз:') ; Readln(n) ;
S:=0; i:=l;
Repeat
S:=S+1; I:=i+1;
Until i>n;
Writeln ('Қосынды =', S:2:2) ;
End.
2. 1. Сызықтық алгоритмдерді программалау
Оцыту мацсаты: диалогты программалар логикасын түсіну, команданы атқаруды меңгеру, дискіге жазу және каталогты қарау.
Ұсынылатын командалар: енгізу, шығару командалары, түсіндірмелердің жазылуы.
Оцыту әдісі: дайын программа мысалы, ары қарай оны өзінің жалғастыруы. Мазмұны: формула бойынша есептеуді программалау. Диалогты тілдерде оқушылар бірден дисплеймен жұмыс істеп кетеді, өйткені текстің үлкен бөлігін олар тікелей режимде өздері дайындайды.
Есеп былай тұжырымдалады: формула бойынша есептеуге арналған сызықтық алгоритмді құрыңдар; берілгендерді диалогпен енгізіңдер. Мысал келтірейік: -
Program audan;
Var a, b, c: integer;
p, s:real;
begin
writeln('a, b, c ентіз :') ;
readln(a, b, c) ; p:=(a+b+c) /2; s:=sqr(p*(p-a) *(p-b) *(p-c) ) ;
wгі1е1п('Аудан=', s:2:0) ;
end.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz