Автор: Пользователь скрыл имя, 06 Января 2012 в 21:54, реферат
Кез келген есепті шешу - берілген алғашқы мәліметтерді пайдаланып, нәтиже алуды талап етеді, яғни есепті шешу алгоритмі алғашқы мәліметтерді бірте-бірте түрлендіру арқылы нәтиже алу жолын сипаттайды.
Көздеген мақсатқа жетуге, қойылған мәселені шешуге бағытталған әрекеттер тобын іске асыру үшін атқарушыға түсінікті әрі дәл нұсқаулар жиынтығы алгоритм деп анықталады.
А, В, С,..., А, Б, В,..., а, б, в,..., 0, 1, 2,...
*,
/, +, -, **, >, < >=, <=, =, <>, :=, ()
Алгоритмдік тілдің алфавитінде, мағынасы мен қолдану тәсіліне алдын ала түсініктеме беріліп қойылған, қызметші сөздер деп аталатын стандартты символдар тіркестері де бар.
Басқа сөздерден бөліп көрсету үшін әдетте олардың астын сызып қояды не курсив, жартылай қалың шрифттердің бірімен жазады.
Кейбір қызметші сөздерді атап көрсете кетейік:
Деректердің
типтері.
Алгоритмге түрлі шамалардың енуі де мүмкін. Математикада, физикада түрлі мәндерді қабылдайтын нысандарды (объектілерді) шамалар деп атайтыны белгілі. Мысалы, үшбұрыш ауданы, жол, жылдамдық – шамалар болып табылады. Информатикада да олар осы атпен аталады. Мұнда әр шаманың аты, мәні, типі бар.
Айнымалы шаманың белгіленуі (оны информатикада идентификатор деп атайды) тип делінеді – бұл алгоритмнің орындалу кезінде осы шаманың әр кезеңде қабылдайтын мәндерінің сипаттамасы.
Типтер сандық, символдық, кестелік, литерлік, логикалық болып бөлінеді. Сандық типтер бүтін, нақты, натурал деп бөлінеді. Мысалы, х1:=3,5 меншіктеу командасында айнымалының аты х1, типі нақты, ал ағымдық мәні 3,5.
Литерлік деп мәні мәтін не түрлі символдар жиынтығынан тұратын жазбалық шаманы айтады. Литерлік мәндер тырнақшаларда жазылады, мысалы х: = «күз келді».
Алгоритмді
жазу ережесінде есепте қолданылатын
шамалардың типтерін міндетті түрде
көрсетеді, мысалы:
алг <алгоритмнің аталуы> (типтері анықталған аргументтер мен
нәтижелік шамалардың тізімі)
басы типтері көрсетілген аралық шамалар тізімі
алгоритмнің денесі (командалар тізбегі)
соңы.
Қадаммен
жазу:1-ші есеп:
1-ші
қадам: m мәнін анықтау.
2-ші
қадам: R мәнін анықтау.
3-ші
қадам: d айнымалыға бір санды меншіктеу.
4-ші
қадам: d айнымалыға m бөлу р мәнін меншіктеу.
5-ші
қадам: в айнымалыға m көбейту d мәнін
меншіктеу.
6-шы қадам: в айнымалыға d+в мәнін меншіктеу.
7-ші
қадам: в мәнін шығару.
Алгоритмдік
тілмен жазу:
Алг. Есеп 1.
Бер m,р.
Нәт в.
Басы
Енгізу m,р.
m:=1
d:=m/p;
в:=m*d;
в:=a+в.
Шығару в.
Соңы
.
Блок-схема
арқылы жазу:
Структураланған
және базалық типтер
Алгортмнің негізі деп берілген бастапқы деректерді нәтижелі деректерге өңдеу процесін айтуға да болдаы. Кейбір деректерді мерзімдік деп пайдаланады.
Деректердің типін анықтау үшін біріншіден алгоримде қолданылатын амалдардың қай объектіге тиісті екенін анықтайды.
Есептеу техниканың дамуы деректердің ролін және оларды дұрыс ұйымдастыруын анық көрсетеді. Компьютердің қасиетінің біреуі – үлкен көлемді ақпараттарды сақтау, өңдеу. Өңделетін ақпарат нақты әлемнің үзіндісі болып көрсетіледі. Мысалы, кейбір ұйымның қызметкерлер тізімі бірнеше деректерден құрылады – олар аты-жөні, қызметі, мекен-жайы т.б. Қойылған мәселені шешу үшін біріншіден осы ақпаратты көрсету тәсілін таңдайды, екіншіден қолданылатын деректер жиынын таңдайды. Қазіргі заманғы есептеу техниканың және программалық құралдардың дамуына байланысты деректердің қарапайым типтерімен қатар күрделі типтер де пайдаланады. Бұндай типтер қарапайым типтердің бірлескен (структураланған) типін құрайды. Олараға жиындар, жазбалар, файлдар жатқызылады. Кейде программист деректердің динамикалық структураларын қолданады, оларды сақтайтын жады программаның орындалу кезінде бөлінеді, оларға сызықты тізімдер, стектер, графтар жатқызылады. Мұндай типтер объектіге бағытталған программалауда жиі қолданылады.
Базалық типтерге нақты, бүтін, кешенді, логикалық деректердің типтері жатады. Информатикада кез келген тұрақты, айнымалы, өрнек немесе функция әдеттегідей бір типке жатады. Деректің типі осы тұрақты ма, айнымалы ма, өрнек па немесе функция қабылдайтын мәндер жиынын сипаттайды. Алгоритм құру кезінде әр типтің өзінің қолдайтын операцияларын есте сақтайды. Мысалы, бүтін сандармен қосу, алу, көбейту амалдары орындалады. Ал бөлу амалы екі операцияға бөлінеді деп айтады: 1) бір санды екіншісіне бөлген кездегі бүтін бөлігін анықтау; 2) бір санды екіншісіне бөлген кездегі қалдықты анықтау.
Компьютерде пайдаланатын бүтін сандардың қасиеттері арифметикадағы бүтін сандардың қасиеттеріне сай. Тек диапазон шенелгендігі ғана программа құру кезінде есепке алынады, өйткені әр компьютерлік жүйенің өзіне жарамды диапазон болады – ең үлкен М+∞ жарамды бүтін саны және ең кіші М-∞. Әдетте М+∞ + 1 = М-∞ (М-∞ - 1 = М+∞). Бұл бүтін сандардың қасиеті компьютер жадысындағы сандарды кодтауға арналған ұяшықтар ерекшеліктеріне байланысты.
Нақты сандармен орындалатын амалдарға қосу (+), алу (-), көбейту (*) және бөлу (/) амалдары жатады. Бірақ, нақты сандарға жүктелген амалдар көрсетілген бір міннен аспайтын дәлдікпен орындалады. Мысалы, компьютерде 1/3 = 0,33333333, ал математикада 1/3 – ақырсыз ондық бөлшек.
Мәтіндік (литерлік) тип деректің реттелгенін білдіреді. Мәтіндік деректі тырнақша (немесе апостроф) арқылы көрсетеді 'а' < 'b', 'b' < 'с', 'с' < 'd'. Әр символдың сандық коды бар және оның реттелуі сол кодқа сәйкес жүргізіледі. Мәтіндік деректерге лайық орындалатын жалғыз амал конкатенция (жолдарды қосу), яғни 'abcd' + 'efg' = 'abcdefg'.
Логикалық
деректерге тек екі мәнді қабылдайтын
деректер жатады. Ол мәндер ақиқат «true»
және жалған «false». Логикалық типті деректерге
конъюнкция (логикалық «және», «and»), дизъюнкция
(логикалық «немесе», «or»), терістеу (логикалық
«не», «not») амалдары қолданылады. Кейде
импликация («егер»), эквиваленция («егер
де және тек егер де») т.б. амалдары қолданылады.
Логикалық амалдардың ақиқат кестесін
төменде көрсетеміз.
|
Паскаль
программалау тілінде деректердің
типін анықтағанда мәндер атауларын атап
шығады. Типтің мәндері аталған кезде
әр мәнге 1-ден n-ге дейінгі натурал сандар
сәйкестікке қойылады.Әр аталған типке
реттік номері бойынша мән алу амалдары
мен мәні бойынша реттік номерін анықтау
амалдары сәйкестендіріледі. Одан басқа,
аталып отырған типтерге салыстыру, кейін
тұрған және алдыңғы мәнді анықтау амалдары
қойылады. Си программалау тілінде типтерді
атау кезінде мәнге кейбір бүтін сан сәйкестікке
қойлады, ал аталып тұрған типтің бірінші
элементінің мәні айқындалмаған болса,
онда оған сәйкестікке 0 қойылады, келесіне
алдыңғы мәнінен 1 үлкен мән меншіктеледі.
Сондықтан, Си тілінде типтерді атау кезінде
біз бүтін типті тұрақтылар тобын ыңғайлы
көрсетеміз.
Іштей
кірістірілген деректер
типі
Компьютердің командалары қолдай алатын амалдар іштей кірістірілген деректер типін анықтайды. Қазіргі заманғы компьютерлер осындай типтерге әр түрлі өлшемді бүтін сандар (1-8 байт), буль мәндері, екі және бір еселі дәлдікті жылжымалы сандар (4, 8 байт) жатады.
CHARACTER (немесе CHAR) типі – 1) программалау тілінің ASCII коды қолдайтын алфавитіндағы баспа символдар жиыны немесе 2) 1 байтта жинақталған 1 мен 0 цифраларының комбинациясы. Бірінші анықтама Паскаль тіліндегі CHAR типті деректерге тек салыстыру амалдары қолданатынын айтады, мысалы 0 < 1 <...< 9 < A < B <...< Z < a < b <...< z сәйкестік орынды, сондықтан егер 0 <= x <= 9, онда х-тің мәні – цифра, егер A <= x <= Z, онда х-тің мәні – бас әріп, ал егер a <= x <= z, онда х – кіші әріп. Екінші анықтама Си тіліндегі CHAR типті деректер баспа символдар мен сандық константаларды да қолдайтынын көрсетеді. Сондықтан CHAR типті деректер салыстыру және арифметикалық амалдарды орындауға мүмкіндік береді.
BOOLEAN
типі екі мәнді қабылдайды
– олар TRUE (ақиқат) және FALSE (жалған).
Буль мәнді типтерге конъюнкции (& немесе
AND), дизъюнкции (| немесе OR) және терістеу
(~ немесе NOT) амалдары қолданылады. Олар
төменде көрсетілген:
TRUE AND TRUE = TRUE
TRUE AND FALSE = FALSE
FALSE AND TRUE = FALSE
FALSE AND FALSE = FALSE
TRUE OR TRUE = TRUE
TRUE OR FALSE = TRUE
FALSE OR TRUE = TRUE
FALSE OR FALSE = FALSE
NOT FALSE = TRUE
NOT TRUE =
FALSE
32
разрядты компьютерлерде
Программалау
тілдерінде сандар арасындағы есептеулер
орындау үшін REAL немесе FLOAT типті
деректер қолданылады.
Паскаль
тілінде 4 типті деректер қолданылады:
бүтін (integer), нақты (real), логикалық (boolean),
символдық (char). Паскаль тілінде келесі
стандартты деректер типтері ажыратылады:
1) жай
типті – бүтін сандарды
2) жай типті
– нақты сандарды көрсеті үшін (real,
extended, double, single, comp);
3) логикалық тип (boolean) сандарды салыстыру нәтижесін шығару үшін пайдаланылады;
4) процедуралық
тип – ұқсас функциялар жиынын
көрсету үшін;
5) жай
символдық тип (char);
6) жолдық
тип (string);
7) күрделінген
тип - файлдар (file of…text), жиындар (set of…),
жиымдар (array…of), жазулар (record).
Есеп
шешілу барысында түрлі типті
ақпараттар өңделеді. Деректердің типі
дегеніміз – руқсат етілген операциялармен
біріккен мөлшерлердің жиыны . Әр типтің
өзінің мәндерінің диапазоны және
оны сүреттеу үшін арнайы бөлінген
сөздері бар. Турбо Паскаль тілінің
типтерінің сұрыпталу түрі келесі
схемада көрсетілген:
Басқарушы
базалық структуралар.
«Ілесу» базалық
структурасы.
ЭЕМ-де есепті шешу үшін оған есептің шешу жолын көрсету қажет. Шешімге келу үшін машина бірнеше әрекеттер тізбегін орындайды. Басқаша айтқанда, есепті шешудің алгоритмін программа түрінде компьютерге енгізеді.
Алгоритмнің басқарушы базалық құрылымдары деп төрт негізгі құрылымын (структурасын) айтады:
Бұл негізгі құрылымдарды біріктіріп пайдаланғаны әр түрлі, әр деңгейлі есептерді шешуге мүмкіндік береді.