Автор работы: Пользователь скрыл имя, 14 Октября 2011 в 19:18, лекция
Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцрия физигі Niklaus Wirth ұсынған.Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атап , тіл атауын үнемі бас әріппен жазылуын сұраған.Кейінен тілдің көптеген нұсқалары жарық көреді.Turbo Pascal – Оның тұңғыш нұсқасын жоғарғы деңгейлі программалау жүйесі . 1970 жылы швейцрия физигі Niklaus Wirth ұсынған . тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне автор деп паскаліия ғалымы Никлаус Вирт жасаған Паскаль программалау тілінен тарайды. Қарапайым Паскальді өңдеудегі А. Хейлсбергтің еңбегінің нәтижесінде Turbo Pascal қазіргі заман талабына сай, қуатты программалау жүйесіне айналды. Turbo Pascal – жоғарғы деңгейлі программалау жүйесі. Оның логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Бейсик тілі сияқты, Паскаль оқып-үйренуге жеңіл, түрлі салалық информациямен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп тараған тілдердің бірі.
n – оператор
END
2.2.3. Таңдау операторы
Берілген өрнектің мәніне тәуелді бір немесе бірнеше оператор орындалатын жағдайда таңдау операторы пайдаланылады. Таңдау операторы алгоритмдік тілдегі таңдау командасына ұќсағаны мен бір өзгешелігі бар. Алгоритмдік тілде таңдау шарт бойынша орындалса, паскаль тілінде тұраќтылар бойынша іске асырылады.
Жазылу формасы
/түрі/;
Таңдау
Жағдай 1- шарт: 1-серия
Жағдай 2- шарт: 2-серия
..............................
Жағдай n- шарт: n-серия
Бітті
Case өрнек of
1 тұраќты: 1- оператор;
2-тұраќты: 2- оператор;
…………………………
n-тұраќты: n- оператор;
End
Таңдау операторы былай орындалады:өрнектің мәні берілген тұраќтының ќайсысына тең болса, оның сәйкес операторын орындайды да, басќару таңдау операторының соңындағы операторға беріледі. Егер өрнектің мәні тұраќтылардың еш ќайсысына тең болмаса да басќару таңдау операторынан соңғы операторға беріледі. ¤рнектің мәні және тұраќтылары әрќашан да бүтін сан болуы керек. Тұраќты типпен өрнек типі бірдей болуы керек. Мысалы:
Case k+1 of
5: y:= SQR (x);
11: y:= SQRT (x);
4: Z:=y*(A-B);
7: WRITE(A,B)
END
2.3. Қайталану операторлары.
2.3.1. Цикл әзір
Алдын ала берілген шарт бойынша қайталану.Алдын ала берілген шарт бойынша қайталанудың саны белгісіз болған жағдайда, пайдаланылады. Бұл оператор WHILE /оқылуы –уайл / -әзір және DO /оқылуы-ду /орындау қызмет сөздерінің көмегі арқылы орындалады да, алггоритмдік тілднгі әзір қайталау командасына сәйкес келеді. Оның жазылу түрі мынадай:
Әзір шарт
Цб
Серия
Цс WHILE шарт DO
Begin
Серия цикл денесі
End.
Мұнда шарт орынында логикалық өрнек тұруы мүмкін. Серия көп жағдайда циклдің денесі деп аталады. Операторлық ашылшатын Begin және жабылатын End жақша ішіне алынып жазылады.
Жалпы түрде былай жазуға да болады.
WHILE шарт DO
цикл денесі
Begin және End қызмет сөздері жазылмайды.
Егер қайталау денесінде көшіру операторы болып ол циклдің сыртындағы оператордың белгісіне басқаруды берсе, онда циклдің орындалуы ары қараи жалғаспайды. Мұндағы В шарт /логикалық өрнек / Р- операторлар /цикл денесі/. Бұл оператор былай орындалады: алдымен шарт тексеріледі, егер ол орындалса, /сақталса/ онда цикл денесі орындалады; одан кейін шарт тексеріледі, бұл процесс қашан шарт орындалмағанша қайталанады.
Егер шарт
орындалмаса, басқару операторлыөқ
жақшаның /end/ соңыда тұрған операторға
көшіріледі.
2.3.2. Цикл дейін.
Келесі шарт бойынша орындалатын қайталану операторы.
Бұл опеоратор көп жағдайда қайталанудың саны белгсіз болған жағдайда пайдаланылады. Оның жазылу түрі:
Repeat
Қайталау денесі
UNTIL логикалық
өрнек
Мұндағы Repeat – қайтала, UNTIL- соған дейін қызмет сөздері.
Оның орындалуы: қашан логикалық өрнектің мәні ақиқат болғанша,циклдің денесі қайталана береді. Алгоритмдік тілде бұл қайталауды « цикл дейін » дейді,оның жоғарыда көрсетілген «цикл әзір»- ден ерекшелігі, мұнда қайталанатынкомандалар сериясы кемінде бір рет орындалады. Операторлардың соңы UNTIL қызмет сөзімен бітетін болғандықтан, мұнда операторлар ашылатын және жабылатын жақшалар
Орынына қолданылатын
қызмет сөздер жазылмайды. Егер қйталау
денесінде көшіру операторы болып, ол
циклдің сыртындағы опеоратордың белгісіне
басқаруды берсе, онда циклдің орындалуы
ары қарай жалғаспайды.
2.3.3. Параметрлік қайталау.
Жағдайларда қайталану саны белгілі болғанда, шарсыз қайталау, яғни параметрлік қайталау операторын қолдануға болады. Параметрлік қайталау операторының қайталау түрі алгоритмдік тілдегі параметрлі қайталау командасына :
I үшін m1 бастап m2 дейін h қадам
Цб
Серия
Цс
Сәйкес келеді
де, былай жазылады:
For I: = m1 To {Downto} m2Do
Begin
(серия) операторлар
End;
Мұндағы For – үшін, To – дейін, Do – орындау деген мағынаны білдіретін қызмет сөздері.
Циклдің параметрі, I – паскаль тілінде міндетті түрде бүтін типтегі айнымалы болуы қажет;
m1, m2 – сәйкес
параметрдің бастапқы және
DOWN – төмен,
TO – дейін, DOWNTO – азайту, егерде қадам
бірге тең болса, онда TO, ал қадам I ге тең
болса, DOWNTO пайдаланылады.
3. АЛГЕБРАЛЫҚ ТЕҢДЕУЛЕР ЖҮЙЕСІН
ГАУСС ӘДІСІМЕН ШЕШУ.
Жалпы түрде берілген (3.1) теңдеулер жүйесін қараймыз. Кері матрица әдісі мен Крамер формуласын белгісіздер саны мен белгісіздер саны өзара тең болғанда және жүйенің анықтаушы 0-ге болмаған жағдайда ғана қолдануға болады. Жалпы жағдайда көбінесе Гаусс әдісі қолданылады.
Гаусс әдісі
деп белгісіздерді біртіндеп
табу әдісін айтады. Бұл әдіс бойынша
түрлендірулерді қолдану арқылы теңдеулер
жүйесі баспалдақ түріне келтіріледі.
Сонан соң соңғы жолдан бастап белгісіздерді
біртіндеп таба бастайды. Матрицада элементар
түрлендірулерді теңдеулер жүйесіне емес,
Матрица кеңейтілген матрицасына жүргізеді.
(3.1) жүйенің келтірілген матрицасы деп
матрицасын айтады
Сонымен, элементар түрлендірулер арқылы матрицасын сатылы түрге келтіреміз. Егер элементар түрлендіруді қолдану барысында жатық жолдың соңғы элементінен (бос мүшеден ) бас элементтері нөл санына тең болып шықса, онда берілген үйлесімсіз жүйе болады. Бұл жағдайда жүйенің шешімі дереу тоқтатамыз. Егер де элементар түрлендіру кезінде нөлдерден тұратын жатық жол щықса, ол жатық жөнінде элементар түрлендірудің анықтамасы бойынша матрица құрамынан алып тастаймыз. Кеңейтілген матрицаны сатылы түрге келтіргеннен кейін, ол арқылы теңдеулер жүйесін құрамы. Осы теңдеулер жүйесін соңғы теңдеуінен бастап бір-бірінен шешеміз. Егер соңғы теңдеуде бірнеше белгісіз болса, онда олардың біреуін басқалары арқылы шешеміз, яғни бір белгісіз басқасын белгілі деп жариялап, белгісіз айнымалыны белгілі айнымалылар арқылы өрнектейміз. Табылған белгісіздерді жоғарғы тұрған теңдеуге қойып, келесі белгісізді таба бастайды.
Осы процесті бірінші теңдеуге дейін жеткізіп, барлық белгісіздерді анықтаймыз. Енді осы Гаусс әдісін мысалдар көрсетелік.
Мысал:
теңдеулер жүйесін
Гаусс әдісімен шешіңіз.
Шешуі. Жүйенің
кеңейтілген матрицасын құрамыз;
Мұнда есептеуге
ыңғайлы болу үшін бос мүшенің
бағанасы басқа тік жолдарын түзу
арқылы бөлініп тұр. Бірінші тік жолдың
2-ші, 3-ші және 4-ші элементтерін нөл жасау
үшін 1-ші жатық жолды -2-ге көбейтіп 2-інші
жатық жолға, 3-ке көбейтіп 3-інші жатық
жолға және 2-інші жатық жолды 4-нші жатық
жолға қосамыз:
~
Соңғы матрицада екінші жатық жолға үшінші жатық жолды, ал үшінші жатық жолға 2-ге көбейтілген төртінші жатық жолды қосамыз, сонан соң төртінші жатық жолды 2-ге бөлеміз:
~
Енді төртінші
жатық жолға екінші жатық жолды
қосып, сонан соң үшінші жатық
жол мен төртінші жатық жолдардың
орындарын ауыстырып жазамыз:
~
Үшінші жатық
жолды 5-ке бөліп жазамыз, сонан соң
оны 13-ке көбейтіп, төртінші жатық жолға
қосамыз:
~
Жүйенің кеңейтілген
матрицасын баспалдақ түрге келтірдік.
Енді осы матрица бойынша теңдеулер
жүйесін қалпына келтіреміз:
Соңғы екі теңдеуден -пен -ті тауып, екінші теңдеуге қоямыз. сол сияқты...
Жауабы: (15;46;21;-20)
Мысал. Гаусс
әдісімен
теңдеулер жүйесін шешіңіз.
Шешуі. Элементар түрлендіру арқылы кеңтілген матрицаны баспалдақ түріне келтіреміз:
~ ~
Соңғы жатық
жол бойынша теңдеу құратын болсақ,
0=-3 шығады. Сондықтан берілген жүйе үйлесімсіз,
яғни оның шешімі жоқ.
ҚОРЫТЫНДЫ
Жоғарыда
паскаль тілінің негізгі
Паскаль тілінің оңайлығы оның алгаритмдік тілге ұқсастығында. Бұл тілде программа жазуды оңайлататын көптеген стандарт модульдері мен библиотекалары бар. Жәнеде қолданушы өз модульдерін жазып оларды библиотекаларға біріктіре алады. Паскаль тілі берілгендерді динамикалық түрде де көрсетуге мүмкіндік береді.
Гаус әдісімен
теңдеулер жүйесін шешу үшін де қолайлы
Турбо Паскаль ортасын