Реферат
Тақырып : Алгоритм және бағдарлама түсінігі
Орындаған : Мамыр Самат ТП-20
Кіріспе
Ғылым мен техниканың қарыштап дамуына байланысты программалау тілдері үнемі жаңарып, өзгеріп отырады. Ал соның ішінде Турбо Паскаль программалау тілі - оқып үйренушіге өте жеңіл әрі түсінікті. Паскаль тілі программалауды үйретумен қатар, басқа прогрммалау тілдеріне кіріспе болып та табылады. Турбо Паскаль тілінің сызықты графикалық мүмкіндіктеріде бар. Программалау оқушылардың білімін, іскерлігі мен дағдысын қалыптастырумен бірге, олардың шығармашылық қабілеті мен ақыл-ойын дамытудың маңызды құралы болып табылады. Турбо Паскль прогрммалау тілі қазіргі кезде жоғары оқу орындарымен мектептерде кеңінен оқытылуда. Мұнда есептерді шешуде алгоритмдік құрылымдарды қосымша құрал ретінде қолдану, есептің қойылымына сәйкес математикалық модель құру, алгоритм жазу, нәтижені талдау кезеңдерін қарастырады.
Курстық жұмыстың мақсаты - сызықтық тармақталған және циклді алгоритмді программалау негіздері тарауында оқушыларға алгоритм ұғымын, қасиеттерін, турлері мен берілу тәсілдерін үйрету арқылы логикалық ойлауын, алгоритмдік білімін дамыту. Оқушыларды алгоритмдік тілдің ережелерін білуге, өз бетінше алгоритм құрып, оған программа жазуға және компьютерде теріп, орындау іскерлігін қалыптастыру. Компьютерде есептер шығару кезеңдерін, программалау тілдерінің құрылымын, командалары мен операторларының қызметін түсініп, оларды тиімді пайдалана білу мәселелерін қалыптастыру.
Курстық жұмыс кіріспеден, екі тараудан, қорытындыдан, әдебиеттер тізімінен және қосымшадан тұрады. Кіріспеде сызықты тармақталған және циклді тармақталған алгоритмді әзірлеу және программалауды оқытудағы мәселелері мен курстық жұмыстың мақсаттары қарастырылды.
Алгоритмшң уғымы мен жазылу қасиеттері және блок-схема щру тәсілі
Алгоритм сөзі IX ғасырда өмір сүрген көрнекті математик Әл-Хорезмидің латын тілінде бұрмаланған аты. Ол бірінші рет арифметикалық амалдарды орындаудың ережелерін тұжырымдаған ғалым.
Алгоритм дегеніміз - алға қойылған мақсатқа жету үшін немесе берілген есепті шешу үшін түсінікті де нақты ережелер бойынша орындаушыға жинақы түрде берілген реттелген нүсқаулар тізбегі. Бұл анықтамада алгоритм мен оның қасиеттерін байланыстыратын негІзгі ұғымдар беріліп отыр. Оны келесі схема түрінде көрсетуге болады:
Бұл схемада орталық объект алгоритмді орындаушы болып түр. Орындаушы - бұл объект (немесе субъект), құрылған алгоритмді басқарады. Орындаушының негізгі әрекеті оның командалар жүйесін басқаруынан көрінеді. Кез келген есепті шешудің кірісінде берілгендер мен алгоритм командалары тұрады, шығысында нәтиже тұрады.
Алгоритмнің келесідей қасиеттері бар:
1) Алгоритмнің үздіктілігі. Информацияны өңдеу процесі ретімен жазылған жеке-жеке нұсқаулардан құралған тізбектен тұруы тиіс.
2) Алгоритмнің түсініюпілігі және аньщтылыгы. Алгоритм жалпы түрде қабылдаған символдарды, алфавитті пайдаланып жазылуы тиіс. Орындаушы (адам, компьютер) алгоритмді түсініп, арындай алатын болуы керек. Орындаушыға алгоритмді орындау үшін басқа нұсқаулар іздеуіне жол қалдырмайтындай етіліп және орындалу реттері дәл көрсетіліп қатаң түрде жазылуы қажет.
3) Алгоритмнің жалпылыгы. Алгоритм неғұрлым әмбебап болуы және көпшілік пайдалана алуы тиіс.
4) Алгоритмнің нәтижелШгі. Нұсқаулар шексіз көп болмай, қорытындысында оның нәтижелі болуы тиіс.
Алгоритмді жазудың немесе берілу тәсілдерінің 3 түрі бар:
1. сөзбен ауызша беріледі.
2. блок-схема түрінде.
3. алгоритмдік тілде. -Блок-схема дегеніміз - информацияны өңцеу алгоритмін МЕСТ
(мемлекеттік стандарт)-те бекітілген символдарды пайдаланып, графикалық
түрде жазу: Алгоритмдік тіл - алгоритмді жазуға арналған тіл. Оның алфавиті, синтаксисі, семантикасы болады. Алфавит - тілдегі символдардың жиынтығы. Синтаксис - алгоритмді жазу ережесі. Семантика - сөйлемнің дұрыс құрылуы.
Алгоритмнің жазылуының жаппы түрі: алг <алгоритм аты> (<айнымалылар мен олардың типтерінің тізімі>)
арг <аргументтер тізімі>
нәт <нэтижелер тізімі> басы <көмекші айнымалыларды енгізу>
<Бастапқы мәнге меншіктеу>
<Алгоритмге сәйкес эрекеттер тізбегі> шығару <баспаға берілгендерді шығару> соңы
Мұндағы алг , нәт, арг, басы, соңы , шығару сөздерін қызметші сөздер деп атайды
Сызықтық алгоритмдерді әзірлеу
Орта және жоғары оқу орындарына тарналған барлық информатика оқулықтарында алгоримтдік тіл берілген.
Е-практикум жүйесінде алг, арг, нәт, басы, соңы қызметші сөздері бірден экранға шығады, бүл сөздер өшірілмейді. Мұнда оқушылардың көңілін атқарушы ұғымына, оның командалар жүйесіне аудару қажет.
Е-практикум алгоритм тақырыбының жазылуының жалпы түрі төмендегідей:
алг атауы (типтері көрсетілген аргументтер мен нәтижелер тізімі)
арг аргументтер тізімі нәт нэтижелер тізімі
Алгоритм үшін бастапқы берілгендер болып табылатын шамаларды аргументтер деп атайды. Олардың тізімі арг қызметші сөзінен кейін жазылады.
Алгоритмдегі аргументте, нэтижеде болмайтын шамаларды аралық шама деп атайды, ол алгоритм тақырыбынан кейін басы қыфзметші сөзінен кейін жазылады. Енді алгортмнің жазылуының жалпы түрін көрсетейік:
алг атау (типтері көрсетілген аргументтер мен нәтижелер тізімі)
арг аргументтер тізімі
нәт нәтижелер тізімі
басы типтері көрсетілген аралық шамалардың тізімі серия
соңы
1 -мысал. Үшбұрыштың ауданын Герон формуласы бойынша есептеу. S=J(P*(p-a)*(p-b)*(p-c)), p=(a+b+c)/2
алг аудан (нақ а,Ь,с)
арг а,Ь,с
нәт 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-жағдай: п-серия
Соңы
Команданың орындалу ережесі төмендегідей: Алдымен атқарушы сақталатын шарт табылғанша шарттарды ретімен тексере берді. Ақиқат шарт табылғанда атқарушы оған сай команданы орындайды да, осымен таңдау командасының орындалуы аяқталады. Егер бірде бір шар сақталмайтын болса, онда бірде бір команда орындалмайды, яғни таңдау командасы орындалмайды.
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.
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.
Алғашқы нұсқау болмаған жағдайда оқушы программаны орындауға жібергеннен кейін ? белгісін немесе бос орынды көріп, сасып қалады. Сондықтан алғашқы кезеңнен бастап, нұсқауды енгізу дағдысын қалыптастыру қажет. Сондай-ақ, біраз уақыт өткеннен кейін оқушы берілгендерді қандай ретпен енгізу керек екенін ұмытып қалады. Сол себептен, әрбір енгізілетін берілгендерге нұсқауларды жеке -жеке берген дұрыс.
2.2. Тармақталған алгоритмдерді программалау
Шартты оператордың көмегімен нақтылауды тексеру командасын қарастырайық. Мысал келтірейік.
Бейсик тілінде:
20 IF D-R>0 THEN 50
30 PRINT "шығын кірістен көп пе?"
40 STOP Әрі қарай есептеудің мәні жоқ
Паскаль тілінде: ,
IF NOT ((D-R)>0) THEN BEGIN
WRITELN (шығын кірістен көп пе?');
HALT (*тоқтату*)
END;
Нақтылауды пайдалану қателер санын азайтып, оны іздеуді жеңілдетеді, оқушыға да, мұғалімге де алгоритмнің логикасын түсіндіреді. Программа тексіне нақтылауды алгоритмді құру кезеңінде енгізуді ұсыну қажет.
Нақтылауды тексеру енгізуді тексерумен салыстырғанда жалпы тәсіл болып табылады: аралық нәтижелерді және шамалардың аралындағы байланысты да тексеруге болады. Бұл Бейсик тілін оқытқан жағдайда құрама командаларды жүйелі етіп құруға дайындайды. Мұны одан да қысқа жолмен жазудың түрі:
20 IF M0<=0 THEN STOP ' нақтылауды кері шартпен құруды талап етеді. Нақтылауды кеңінен пайдалануға тек ойлау дағдарысы кедергі жасайды. Нақтылауды тексеру программаның өзінің дұрыстығын тексеруді талап етеді. Программаны талдаудың қазіргі тәсілі тікелей алғашқы мәліметтер, нәтиженің қасиеттері жайлы нақтылауды талдау мен құруға, циклдың тұрақтылығына, циклдың шартына негізделеді.
2.3. Есептерді шешу алгоритмі мен блок-схемасын эзірлеу
Сызықтық алгоритм:
Есеп. А жэне В бүтін сандары берілген. Осы сандардың S-қосындысын, R-айырмасын, К-көбейтіндісін, Sr- арифметикалық ортасын, Gr-геометриялық ортасын табу алгоритмін құру керек.
Алг есеп( бүт а, в, S, R, К, нак; Sr, Gr)
Apr a, b
Нәт S, R, K, Sr, Gr
Басы
Енгізу a, b
S:=a+b
R:=a-b
K:=a*b
Sr:=S/2
Gr:=sqrt(k)
Шығару S, R, K, Sr, Gr
Соңы
S:=a+b
R:=a-b
K:=a*b
Sr:=S/2
Gr:=sqrt(k)
Шығару S, R, K, Sr, Gr
Соңы
Тармақталған алгоритм:
2sin(x), x>0
Есеп. Ү= [ |х| , х<= 0 есептеу керек.
Алг есеп2( бүт х, нақу)
Apr х
Нәт у
Басы
Енгізу х
Егер х> 0
Онда Y:=5*sin(x)
әйтпесе Ү:=|х|
Шығару У . Соңы
ҚОРЫТЫНДЫ
Курстық жұмыстың мақсатына сәйкес келесі міндеттер:
- сызықты тармқталған және циклді алгоритмді әзірлеу информатика курсындағы орнына байланысты мемлекеттік білім беру стандарты бойынша тақырыптық-күнтізбелік жоспар үлгісі;
- сызықты тармқталған және циклді алгоритм бойынша алгоритм ұғымы, қасиеттері, түрлері мен жазылу ережелері, блок-схема құру әдістері;
- программалау негіздерін оқыту әдістемесі бойынша программалау тілін оқытудың мақсаттары, алгоритмдерді программалау әдістері;
- алгоритмдеу жэне программалау негіздері тарауын оқып үйренудегі оқушылардың білімі мен іскерлігіне қойылатын талаптар туралы теориялық мәліметтері мен мысалдар қарастырылды.
Нәтижеде есептерге алгоритмдер құрылып, блок-схемасы жасалынды және Паскаль программалау тілінде алгоритмдерге программалар қүрылды. Delhpi программалау ортасының RichView компонентін пайдаланып, алгоритмдердің анықтамасы, есептердің алгоитмі, блок-схемасы және программасы көрсетілді.
Жоғарыда келтірілген мүмкіндіктер оқушының логикалық ойлауы мен білімін дамытуға үлес қосатын көмекші қүрал бола алады деп есептейміз. ¥сынылған әдістеме оқушылардың алға қойылған үлкен мақсаттары мен білімдеріне үлес қосады деген үміттеміз.
ӘДЕБИЕТТЕР:
1 .К.Халықова. Информатиканы оқыту әдістемесі. Алматы, Білім, 2000ж, 196 2.М.П.Лапчик., И.Г.Семакин., Е.К.Хеннер. Методика преподавания информатики. Москва, 2003-620стр
З.О.Камардинов. Информатика. Алматы, 2004ж
4.Мемлекеттік білім беру стандарты. Алматы, Ы.Алтынсарин атындағы қазақ білім академиясы, Ресми басылым, 2002-133
5.Жақыпбекова Г.Т. Информатиканы оқыту эдістемесі.-Шымкент, 2003, 646
6.О. Камардинов «Есептеуіш техника және программалау» Алматы, 1997ж
7.А.Бочкин. Методика преподавания информатики. Минск, Вышэйшая
школа, 1998-430
8.Балапанов Е.Қ., Бөрібаев Б.Қ., Дәулетқұлов А.Б. Информатикадан 30-сабақ.
Алматы, 1998ж
9.Лапчик М.П. Информатиканы оқыту методикасы. Аударған Қ.С.Абдиев. //
Алматы, 1994ж
10.Ж.Қараев. ЭВМ жэне программалау элеметтері. - Алматы: «Рауан», 1991.
II .Е.Бидайбеков, Е.Медеуов, А.Ниязбаев. Информатика бастамалары (алгоритмдеу). Методикалық нұсқау. - Алматы: 1990.
12.Алгоритмика:5-7 классы: Учеб. И задачник для общеобразоват. Учеб. Заведений/ А.К.Звонкин., А.Г.Кулаков., С.К.Ландо и др.-Москва. Дрофа, 1996г
ІЗ.Есжанов, Ж.Қараев, Б.Нақысбеков, Е.Жолымбетов Алгоритмдеу
және ЭЕМ. - Алматы: «Рауан», 1993.
14.Лапчик М.П. Вычисления. Алгоритмизация. Программирование: Пособие
для учителя.-Москва. Просвещение, 1988г
15.Жақыпбекова Г.Т. Программалау тілдерін салыстыра оқыту.-Шымкент,
2003,6462>
Достарыңызбен бөлісу: |