Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ЗАГАЛЬНА СТРУКТУРА ПРОГРАМИ




 

Програма на МП Паскаль складається із заголовка i власне тіла програми, що називається блоком. Блок складається із рoздiлiв ( максимальна їх кількість - шість).

 

   Розділи обов'язково розташовуються в слiдуючому порядку:

 

    PROGRAM _ ім’я (INPUT,OUTPUT); (*заголовок програми *)

 

   - LABEL - розділ міток  │

  - CONST - розділ констант │ - розділ описів

  - TYPE - розділ типів  │

  - VAR - розділ змінних │

 

    PROCEDURE, FUNCTION - розділ підпрограм i функцій

 

      BEGIN       │

        оператор 1 ; │

        ...       │ - розділ операторів

        оператор N ; │

      END         │

    END. (* ознака кінця програми *)

 

Розділ операторів береться в операторські дужки BEGIN...END.

В ньому вказується послідовність дій, котрі повинні виконуватися ЕОМ. Решта розділів носять описовий характер.

Будь-який розділ, крім останнього, може бути відсутнім. Роздiлювачем між операторами i розділами служить символ ; . В кінці  програми повинна стояти крапка. В операторах можливе перенесення на наступний рядок, не можна розривати лише службові слова.

 

5. СТАНДАРТНI ТИПИ ДАНИХ

                            ┌──────────┐

                               │ Т И П И │

                               └─────┬────┘

            ┌────────────────────────┼────────────────────────┬

    ┌───────┴───────┐   ┌───────┴───────┐   ┌───────┴───────┐

    │ П Р О С Т I │   │ С К Л А Д Н I │   │ ПОСИЛАННЯ │

    │              │   │          │   │ POINTER │

    └───────┬───────┘   └───────┬───────┘   └───────────────┘

     ┌──────┴──────┐        ┌───┴───────┬───────────┬───────────┐

┌─────┴──────┐ ┌────┴──────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐

│ОБМЕЖЕНI │ │ СКАЛЯРНI │ │ МАСИВ │ │МНОЖИНА │ │ ФАЙЛ │ │ ЗАПИС │

│ SUBRANGE │ │      │ │ ARRAY │ │ SET │ │ FILE │ │ RECORD │

└────────────┘ └─────┬─────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘

              ┌─────┴───────┐

       ┌──────┴─────┐ ┌─────┴─────┐

       │ПЕРЕРАХОВНІ │ │СТАНДАРТНI │

       └────────────┘ └─────┬─────┘

                 ┌──────────┴┬───────────┬───────────┬───────────┬

            ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐ ┌────┴────┐

            │ ЦIЛИЙ │ │ДIЙСНИЙ │ │БУЛІВСЬК │ │СИМВОЛЬН │ │РЯДКОВИЙ │

            │ INTEGER │ │ REAL │ │ BOOLEAN │ │ CHAR │ │ STRING │

            └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘

 

Дані цілого i дійсного типу - АРИФМЕТИЧНI ДАНI .

  

 ДАНI ЦIЛОГО ТИПУ

 

КОНСТАНТА ЦIЛОГО ТИПУ - десяткове число, записане без крапки (без дробової частини). По замовчуванню приймається const додатна - без знаку, перед від’ємним ставимо мінус.

Діапазон цілих чисел -  від -32768 до +32767.

 

 

Над цілими даними визначені наступні операцій :

- арифметичні: додавання +,віднімання -, множення *, ділення /, ділення нацiло DIV, обчислення залишку від цілочислового ділення MOD.

Результат всіх операцій - цілочисельний (за виключенням ділення /- дійсний).  

- логічні ( відношення ): дорівнює =, не дорівнює <>, менше <, більше >, менше або дорівнює <=, більше або дорівнює >=, результат - булівський.

 

A_MOD_B=A-(A_DIV_B)*B

 

Приклад: A=25, B=2, N=17

    A+51=76 ;                B-A=-23 ;      B*N=-34 ;

    A_DIV_B=12.5-0.5=12 ; A_MOD_B=1

 

Операція МОD використовується для визначення кратності чисел, якщо A_MOD_B=0, то А ділиться на В без залишку( А кратне В).

 

ДАНI ДIЙСНОГО ТИПУ

 

В Паскалi дійсні дані - двох типів: з фіксованою i плаваючою крапкою.

З ФIКСОВАННОЮ КРАПКОЮ - відображається десятинним числом з дробовою     частиною (яка може дорівнювати 0), відокремлених між собою крапкою.

 

Зображення дійсних чисел  З ПЛАВАЮЧОЮ КРАПКОЮ (з десятинним порядком) має вигляд: mEp ,

де m - мантиса, E ознака десят.порядку, p - порядок числа

Приклад: математичний запис 4∙105 - на Паскалi 4Е+5;  4∙10-5  це 4Е-5

 

Над дійсними даними визначені наступні операції:

- арифметичні: +,-,*,/. Результат всіх операцій - дійсний.

- логічні ( відношення ): =, <>, <, >, <=, >=, результат - булівський.

 

Наприклад: 0.5 + 0.5 = 1.( тип REAL ); 0.5 * 2 = 1.( тип REAL );

 

ДАНI ЛОГIЧНОГО (БУЛіВСЬКОГО) ТИПУ

 

Змінні можуть приймати тільки 2 значення :

           TRUE - IСТИНА -1 , FALSE - ХИБНIСТЬ - 0

 Над ними визначення 3 логічних операції:

           AND - ( I ) - логічне множення - кон’юнкція

           OR - (АБО) - логічне додавання - диз’юнкція

           NOT - (НI) - логічне заперечення - інверсія

 

Визначені також операції відношення: =, <>, <, >, <=, >=,

результат - булевський: FALSE < TRUE

 

 

ДАНI СИМВОЛЬНОГО (ЛIТЕРНОГО) ТИПУ

 

  Це будь-який допустимий символ з алфавіту мови, взятий в

апострофи: 'Х', '1', '*'. Символьна const займає 1 Б пам’яті.

 


Тема 1.2: Арифметичнi i логiчнi вирази.

 

План: 1. Стандартнi функцїї

2. Арифметичнi вирази.

 3. Логiчнi вирази.


ПРАВИЛА ЗАПИСУ СТАНДАРТНИХ ФУНКЦIЙ ПАСКАЛЯ

- iм'я функцiї (яке складаeться не бiльш нiж iз 6 лiтер) записується прописними лiтерами латинського алфавіту;

- аргумент функцii записyється в () пiсля iмені функцїї;

- аргументом функцїї може бути  const, змiнна або арифм.вираз;

- в тригонометричних ф-ях SIN i COS аргумент задаєтся в радiаннiй мiрi. Переведення Х градусiв в рад за формулою Х /180.

С Т А Н Д А Р Т Н I   Ф У Н К Ц Ї Ї  П А С К А Л Я

Назва та математичне позначення функцїї Позначення в Паскалі Тип аргумента   Тип результату
Абсолютне значення: ׀Х׀ ABS (x) INTEGER, REAL INTEGER, REAL
Арктангенс: arctg(x) ARCTAN (x) INTEGER, REAL REAL
Косiнус : cos(x) COS (x) INTEGER, REAL REAL
Сiнус : sin(x) SIN (x) INTEGER, REAL REAL
Eкспонента: eХ EXP (x) INTEGER, REAL REAL
Натуральн.логарифм:ln(x) LN (x) INTEGER,REAL >0 REAL
Квадратний корiнь:  √Х SQRT (x) INTEGER,REAL >0 REAL
Пiднес. до квадрату:Х2 SQR (x) INTEGER, REAL INTEGER, REAL
Округлення ROUND (x) REAL INTEGER
Цiла частuна: [x] TRUNC (x) REAL INTEGER
Перев на непарнiсть ODD (x) INTEGER BOOLEAN
Попереднє значення PRED (x) INTEGER, CHAR INTEGER, CHAR
Наступне значення SUCC (x) INTEGER, CHAR INTEGER, CHAR
Порядковuй № символа ORD (x) CHAR INTEGER
Символ за порядковим № CHR (x) INTEGER CHAR

 

PRED(X)=X-1; SUCC(X)=X+1; PRED('B')='A'; SUCC('A')='B';

ORD(FALSE)=0; ORD(TRUE)=1; ODD(100)=FALSE; ODD(101)=TRUE;

CHR(64)='A'; ORD('A')=64; CHR(ORD(X))=X; ORD(CHR(X))=X

Операцiя ПIДНЕСЕННЯ ДО СТEПЕНЯ виконується за формулою :

а а*ln(X)

Х = е , що на Паскалi= EXP(A*LN(X))

2. АРИФМЕТИЧНI ВИРАЗИбудують iз арифм. const, змiнних, функцiй i операцiй над ними. Виконуються  такі правила:

- всi складовi частини виразу записуються в один рядок;

- дужки використовуються тiльки круглi (), ( {} i [] недопустимi) ;

- число вiдкриваючих дужок повинно дорiвнювати числу закрuваючих;

- заборонено записувати впiдряд два знакu операцїї, треба рoздiлятu їх

кpуглuми дужками ;

- при наявностi дужок спочатку виконуютьсч дїї в дужках (в першу чергу в    

самих внутрiшнiх i далi в порядку вкладення), а потiм за дужками;

- обчислення виконуються злiва направо при наступних ПРИОРИТЕТАХ операцiй:

1) обчислення значення функцiї ;

2) NOT (заперечення);

3) *, /, DIV, MOD, AND;

4) +, -, OR;

5) =, <, >, <>, <=, >=;

- операцiї одного приоритету виконуються послiдовно злiва направо.

3. ЛОГIЧНI ВИРАЗИскладаються iз логiч.даних (TRUE i FALSE), логiч. операцiй i операцiй вiдношення. Результатом є логiчні данi. Порядок виконання i приоритет операцiй аналогiчнuй арифметичним. В круглi дужки заносяться частини виразу, якi стоять злiва i справа вiд логiчних операцiй AND i OR . В операцiях вiдношення можуть брати участь арифм. i логiч. вирази, а тaкож символьнi данi.

ПРИКЛАДИ:

1.Вказати порядок виконаня операцiй: -A MOD B + A DIV B*C

а) заперечення - А;

б) -A MOD B ;

в) A DIV B ;

г) результат виконання пункта в) множимо на С;

д) складаeм результатu виконання пунктiв б) i г).

2. Обчислити значення арифметичного виразу:

а) ROUND(6.9)= 7; б) TRUNC(6.9)= 6; в) TRUNC(-1.8)= -1;

г) 123 DIV 0 - ERROR (дiлення на 0 недопустимо);

д) 3.0 MOD 3 - ERROR (аргументu операцiї повиннi бути цiлuми);

е) TRUNC(6,8)+20 DIV 4 MOD 3 DIV 6= 6+5 MOD 3 DIV 6=6+2 DIV 6=6+0=6

ж) 1+SQRT(16)-PRED(-8)+SUCC(-2) = 1+4.+9-1=13.

3. Обчислити значення логічного виразу:

(A>3) AND (B=A+6) OR NOT (C=4) при A=2, B=8, C=5

Порядок виконання операцiй:

а) операцiя порiвняння в першuх дужках: 2>3 - FALSE ;

б) в других дужках спочатку виконуeться згiдно приорiтету:

А+6=2+6=8, потiм порiвнюються з В , а т.я. 8=8 рез-т - TRUE;

в) оп-цiя порiвняння (С=4) в третiх дужках, т.я. 5=4 рез-т FALSE ;

г) операцiя NOT (C=4) дорiвнюe NOT FALSE. Результат - TRUE;

д) операцiя AND над первuми i другими дужками (FALSE AND TRUE)

Результат - FALSE;

е) операцiя OR над виразами злiва i справа вiд неi (FALSE OR TRUE)

Результат - TRUE . Результат всього виразу - TRUE .

4. Чи справедливий для Паскаля вираз (1/3)*3=1 ?

Нi, т.я. в МП не проходить скорочення 1/3 i *3, а обчислюeться значення послiдовно. 1/3=0.33333... i при *3 рез-т ≠ 1.

ДОМАШНЄ ЗАВДАННЯ:

1. Обчислити значення арифм. виразiв:

а) 3*7 DIV 2 MOD 7/3-TRUNC(SIN(1))= 21 DIV 2 MOD 7/3- TRUNC(0.0)=

10 MOD 7/3-0=3/3=1. REAL

б) SUCC(ROUND((5/2)-PRED(3))= SUCC(3-2)=2 INTEGER










Последнее изменение этой страницы: 2018-04-12; просмотров: 291.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...