![]() Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ЗАГАЛЬНА СТРУКТУРА ПРОГРАМИ
Програма на МП Паскаль складається із заголовка 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 Ф У Н К Ц Ї Ї П А С К А Л Я
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; просмотров: 341. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |