Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодАлгКП.doc
Скачиваний:
109
Добавлен:
18.02.2016
Размер:
2.27 Mб
Скачать

Практикалық жұмыс №3

Тақырыбы: ТУРБО ПАСКАЛЬ программалау ортасының негізгі мүмкіндіктерімен жұмыс

Жұмыс мақсаты: Turbo Pascal программалау ортасымен танысу. Соның ішінде программалар, стандартты функциялар, меншіктеу операторлар құрылымымен және енгізу-шығару процедураларымен таныстыру.

Жұмыстың орындалу тəртібі:

  1. Теориялық мəліметтермен танысу.

  2. Жеке нұсқада тапсырмалар орындау.

  3. Бақылау сұрақтарына жауап беру.

  4. Орындалған жұмыс туралы жазбаша есеп беру. Есепте жұмыс тақырыбы, мақсаты, тапсырманың математикалық үлгісі, алгоритмнің блок – схемасы, листингі болуы қажет.

3.1 Негізгі түсініктер

3.1.1 Программалау тілдері

Алгоритмдерді ЭЕМ-ге түсінікті мəтін ретінде жазуға арналған қарапайым жасанды тіл программалау тілдері деп аталады. Əрбір ЭЕМ-нің өзінің машиналық программалау тілі болады, оны командалар тілі немесе кодтар (арнайы таңбалау) тілі дейді. ЭЕМ тек өз ана тілінде, яғни машиналық тілде жазылған программаларды ғана орындай алады. Алайда, машина тілінде программа жазу өте күрделі жұмыс, өйткені ол тек екілік (он алтылық) жүйедегі кодтардан тұрады жəне əр машинада əр түрлі машиналық тіл қолданылады. Программалау тілдері жоғарғы және төменгі деңгейлі тілдер болып бөлінеді.

Қолданбалы мазмұнды есептерді шешуге бағытталған, командалардың мол жиынтығынан тұратын табиғи тілге ұқсас программалау тілі – жоғарғы деңгейлі программалау тілі деп аталады

Программа жазуды жеңілдету үшін математикалық формулаларды кеңінен қолданатын, ағылшын тілінің негізінде жасалған алгоритмдік тілдер Бейсик, Паскаль, Фортран, СИ, т.б. кеңінен қолданылады. Алгоритмдік немесе программалау тілі – жазу ережелері қарапайым жасанды тіл. Оның машина тілдерінен айырмашылығы – табиғи ағылшын тілі негізге алынып, кең тараған математикалық таңбалармен толықтырылып жасалған. Сондықтан алгоритмдік тілдерде программа жасау адамдарға əрі жеңіл, əрі ыңғайлы болып келеді. Алгоритмдік тілдер автоматты түрде ЭЕМ-нің көмегімен аудармашы программалар арқылы машиналық тілге көшіріледі. Алгоритмдік тілді машина тіліне тікелей аударатын үлкен программаларды транслятор деп атайды. Алгоритмдік тілдерді пайдалану программалауды жеңілдете отырып, ЭЕМ-де есеп шығару процесін оңайлатады, алайда онда есеп шығару уақыты аздап көбейеді.

Алгоритмдік тілдер машинаға жəне проблемаға бағытталған болып екіге бөлінеді. Машинаға бағытталған тілдердің машина тілінен айырмашылығы, олар ЭЕМ-нің ерекшеліктерін есепке ала отырып əріптерді де пайдаланады. Қазіргі кезде машинаға бағытталған тілдерде маман программалаушылар жұмыс істейді. Оларға – автокод, макроассемблер, ассемблер тəрізді тілдер жатады.

Проблемаға бағытталған тілдер шығарылатын есептердің ерекшеліктерін еске ала отырып, есептің математикада жазылу тіліне жақындастырылады. Бұларға – Бейсик, Фортран, Паскаль, Си, т.с.с. тілдер жатады.

Негізінде ЭЕМ-де кез келген программалау тілінде жазылған есеп машина тіліне аударылып барып орындалады. Есептің орындалу кезеңдерін 3.1-суретте көрсетілген схема түрінде көрсетуге болады.

Сурет 3.1. Есепті шығару кезеңдері

Қазіргі кезде бес жүзге жуық алгоритмдік тілдер тараған. Олардың əрқайсысы белгілі бір мақсаттарда қолданылады. Мысалы, Фортран – ғылыми-техникалық (инженерлік) есептерді шығару үшін, Паскаль – оқып үйренуде, ал Бейсик – дербес компьютерлерде диалог режимінде жұмыс істеуде қолданылады.

      1. Программалау кезеңдері

Кез келген бағдарламаны құруда, бағдарламалаудың төмендегідей кезеңдерін ескеріп жұмыс жасаған ыңғайлы. Бағдарлама құру кезеңдері:

  • Есептің математикалық қойылымын (математикалық моделі)жасау;

  • Есепті шешу алгоритмін жазу;

  • Алгоритмге сəйкес бағдарлама құру, компьютер жадысына енгізу;

  • Бағдарламаның қатесін тексеру;

  • Бағдарлама нəтижесін алу;

Енді осы кезеңдердің ерекшеліктеріне тоқталайық.

Есептің математикалық қойылымын (математикалық моделін) жасау.

Бұл кезеңде берілген есепті шешуге қажетті аргументтер жəне нəтиже алынатын теңдеулер анықталынады. Мысалы: Үшбұрыштың ауданын анықтау керек болсын. Үшбұрыштың ауданын есептеуге Геронның формуласын қолданамыз.

Мұндағы:a,b,c – үшбұрыштың үш қабырғасының өлшемі пернетақтадан енгізіледі. Ал, үшбұрыштың жарты периметрі мына теңдеумен анықталады p=(a+b+c)/2.

Есепті шешу алгоритмін жазу.

Бағдарламалаудың бұл кезеңінде берілген есепті шешудің алгоритмі жазылады, яғни қойылған мақсатқа жету жолында орындалатын нұсқаулар рет – ретімен жазылады.

Алгоритмді көп жағдайда блок схема түрінде жазған ыңғайлы.

Блок схема - алгоритмнің графикалық түрде сипатталуы (ағылшын тіліндегі оқулықтарда блок схема – flowchart деп аталады).

Алгоритмнің жеке құрылымына, блоктарына (бөліктеріне) геометриялық фигуралар сəйкестендірілген. Бұл жөнінде 1-зертханалық жұмыста қарастырылды.

Кестедегі белгілеулерді пайдаланып, қарастырылып отырған есептің, яғни үшбұрыштың ауданын Герон формуласы арқылы есептеудің блок схемасын сызайық. Блок схема арқылы құрылған бағдарламаның құрылымын анықтауға болады. Төмендегі блок схемада тармақталған, қайталанған əрекеттер жоқ. Суреттен байқағанымыздай, жазылған нұсқаулар бірінен кейін бірі тізбектеліп рет – ретімен орындалады. Сол себепті, құрылған алгоритмді сызықтық алгоритм деп бағалаймыз.

Сурет 3.2. Үшбұрыштың ауданын есептеудің блок схемасы

Алгоритмге сəйкес бағдарлама құру

Бұл кезеңде алгоритмге сəйкестендіріліп бағдарлама жазылады. Жоғарыдағы алгоритмнің

Turbo Pascal бағдарламалау тілінде бағдарламасын жазайық. Бұл бағдарламада операторлар жазылу реті бойынша орындалады, яғни бағдарламаның сызықтық құрылымды екендігін байқаймыз.

Program esep1;

Var a, b, c, p, S: real;

Begin

Writeln (‘a, b, c енгіз’);

Readln (a, b, c);

P:=(a+b+c)/2;

S:=sqrt (p*(p-a)*(p-b)*(p-c));

Writeln (‘S=’,S:4:2);

Readln;

End.

Бағдарламаның қатесін тексеру

Құрылған бағдарламаның компьютерге енгізгенннен кейін Alt+F9 перне комбинациясын орындап, бағдарламаның қатесі тексеріледі. Егер, бағдарламада қателер кездессе, экранға қатені хабарлау мəлімет шығады.

Ескерту.Қатені хабарлау мəліметі ағылшын тілінде берілетіндіктен, қандай қате кеткендігі түсініксіз болуы мүмкін. Бұл жағдайда, қосымшадағы қатені хабарлау тізіміне жүгініңіз.

Бағдарлама нəтижесін алу.

Бұл кезеңінде бастапқы берілгендердің мəні пернетақтадан енгізіледі. Ол үшін бағдарламаны орындауға жібереміз, яғни Ctrl+F9 пернелер комбинациясы басылып немесе менюдағы Run (орындау) командасы орындалады. Құрылған бағдарлама бір типтес бірнеше есептерді шешуге ыңғайлы болуы керек. Сондықтан, бағдарламаның дұрыстығына көз жеткізу үшін, нəтижесін алдын – ала анықталынып қойылған есепті бағдарламаға саламыз. Осылайша, кез келген бағдарламаны тесттен өткізу қажет.

3.1.3 Паскаль программалау тілінің негізі

Паскаль программалау тіліне кіріспе

Паскаль тілінің бірнеше баламалары бар. Қазіргі кезде кең қолданылатыны – Турбо Паскаль 7.0 баламасы. Кез – келген Паскаль программа жеке атынан және .pas кеңейтілуінен тұратын текстік файл болып табылады. Паскаль тілінде құрылған программаны машиналық тілге аудару үшін компилятор қолданылады. Турбо Паскаль жүйесі ТР бумасында жазылады. Программаны жүктеу файлы: turbo.exe ол әдетте BIN ішкі бумасында орналасады (мысал: C:\TP\BIN\turbo.exe).

Тілдің элементтері

Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынынан тұрады. Turbo Pascal тілінде барлық компоненттер ASCII (American Standart Code for Information Interchange) стандартының 0-ден 255-ке дейінгі кодтармен берілетін символдар жиынынан құрылады.

Алфавит элементтерін шартты 4 топқа бөлуге болады:

  • идентификаторларда қолданылатын символдар;

  • айыру белгілері;

  • арнайы символдар;

  • тек символдар жолдарында және комментарияларда қолданылатын символдар;

Программалардың құрылымы

Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Бір қатарға бірнеше команда немесе оператор орналаса алады, олар бір-бірінен нүктелі үтір(;) арқылы ажыратылып жазылады, бірақ бір жолда бір ғана оператор тұрғаны дұрыс, ол түзетуге жеңіл, әрі оқуға ыңғайлы.

Программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.

Программа құрылымы мынадай болуы керек:

<Программа басы>

{Жазбаша суреттеу блогы}

BEGIN

{орындалатын операторлар бөлімі}

END.

Программа басы

Басында программма аты көрсетіледі. Оның жалпы көрінісі былай болады:

program n

мұнда n – программа аты.

Программа басы міндетті емес, оны программа нәтижесіне қарамай-ақ жазбауға болады.

Жазбаша суреттеу блогы

Сонымен, кез келген программаның тақырыбы, онан кейін сипаттау бөлімі жəне begіn жəне end сөздерімен қоршалған операторлар бөлімі болуы керек. Сипаттау бөлімі, толық болған жағдайда, 7 бөліктен тұрады, олар:

1. программамен байланысатын кітапханалық модульдер атауларының тізімі (ол uses түйінді сөзімен анықталады);

2. белгілерді (label) сипаттау;

3. константаларды (const) сипаттау;

4. мəліметтер типтерін (type) анықтау;

5. айнымалыларды (var) сипаттау;

6. процедураларды (procedure) сипаттау;

7. функцияларды (functіon) сипаттау.

Стандарт функциялар. Өрнектер

Мәндері компьютердің арнайы программалары арқылы автоматты түрде есептелетін функциялар – стандарт функциялар деп аталады. Барлық басқа функциялар түрлендіріліп, стандарт функцияларға келтіріледі. Паскаль тілінде дәрежелеу операциясы жоқ. x санын n дәрежеге шығару үшін төмендегі формула қолданылады.

X n=e nlnx → exp (n*ln(x))

Мыс: 1.x5→ exp (5*ln(x))

2. =x³/²→ exp (3/2*ln(x))

3. sin 30°→ sin (pi*30)/l80) (радианға айналдыру)

4. log2x →log a b=log c b log c a→ ln(x)/ln(2)

Өрнектер тұрақтылар мен айнымалылардан, арифметикалық, логикалық және қатынас операциясының белгілерінен және стандарт функциялардан құралады. Паскаль тілінің стандарт функциялары келесі кестеде көрсетілген.

Кесте 3.1

Паскаль тілінің стандарт функциялары

Матем-лық функцияның

жазылуы

Паскаль тілінде

жазылуы

Аргумент типі

Нәтиженің типі

Ескерту

|x|

abs(x)

real, integer

sinx

sin(x)

real

real

х-радиан

cosx

cos(x)

real

real

х-радиан

arctgx

arctan(x)

real

real

х-радиан

ex

exp(x)

real

real

Е=2,718…

lnx

ln(x)

real

real

х>0

π

pI

-

real

π =3.141592653…

sgr(x)

real

real

√x

sgrt(x)

real

real

х>=0

x санының бүтін бөлігі

int(x)

real

integer

5.76→5

x санының бүтін бөлігі

trunc(x)

real

integer

5.76→5

x саны-ң бөлшек бөлігі

frac(x)

real

real

5.76→0.76

х санын бүтінге дейін дөнгелектеу

round(x)

real

integer

5.76→6

кездейсоқ сан

random

-

real

(0,1) аралығындағы кездейсоқ сан

кездейсоқ сан

rondom(x)

integer

integer

(0,х-1) аралығындағы кездейсоқ сан

кездейсоқ сандар генераторы

randomize

-

-

кездейсоқ сандар генераторын іске қосу

3.1.4 Паскаль тілінің операторлары

Паскаль тіліндегі меншіктеу операторының жалпы түрі:

Айнымалы:= өрнек;

Мысал: x:=0.5; y:=a+b; D:=b*b-4*a*c;

p:=(a+b+c)/2;

Енгізу операторының жазылу үлгісі:

Read (айнымалылар тізімі); (Read-оқу);

Мысалы: Read (a, b, c);

Енгізілетін мәндер бос орын арқылы теріледі. Read операторының жалғауы қосып жазылуы мүмкін: readln (readline – жолды оқу). Бұл жағдайда курсор келесі жолдың басына көшіріледі де, мәліметтер бірінің астына бірі әрбір жаңа жолға енгізіледі. Мыс: readln (а); readln (b); readln(с);

Мәндерді экранға шығару үшін Паскаль тілінде төмендегі оператор қолданылады:

Write (параметр тізімі); {Write – жазу}

Writeln болып жазылса (Writeline – жолды жазу) курсор жаңа жолға көшіріліп, мәліметтер бірінің астына бірі шығады.

Мысалы: 1)Write (‘x – ті енгіз=? ‘);

read(x);

2) M:=10; N:=25;

Writeln (M);

Writeln (N);

Write нақты типті x айнымалысының мәнін экранға көрсетілген үлгіде шығару. Write(x:n:m);

Мұндағы: n – экранға шығатын барлық символ саны.

m – бөлшек бөліктің цифрлар саны. (0≤m≤n)