Реферат: Програма записується в окремому exe-файлі. Таким чином, програма це алгоритм, який призначається для виконання комп'ютером. Двійкове подання команд комп'ютера називається

Тема 15 МОВИ ПРОГРАМУВАННЯ УРОК 1 Історія створення мов програмування

Системи команд, навіть найсучасніших автоматичних пристроїв, у тому числі комп'ютерів, дуже примітивні і часто обмежуються набором елементарних команд (наприклад, додати одне число до іншого, записати число в задану комірку пам'яті тощо). Кожна команда має власний двійковий код. Саме за двійковим кодом автоматичний пристрій розпізнає та виконує команду. Подання алгоритму у вигляді послідовності двійкових кодів називається програмою. Програма записується в окремому exe-файлі. Таким чином, програма — це алгоритм, який призначається для виконання комп'ютером.

Двійкове подання команд комп'ютера називається машинним кодом. Першу програму на комп'ютері, написану в машинних кодах, було запущено 1948 року в Англії. До 1950 року всі програми для комп'ютерів складалися виключно в машинних кодах. Такий спосіб складання програм був дуже трудомістким, тому що алгоритм було необхідно деталізувати до елементарних дій, яким відповідали команди комп'ютера. Як наслідок, програми були громіздкими, містили велику кількість помилок, знаходження та вилучення яких, у свою чергу, вимагало кропіткої та тривалої роботи.

Досить швидко стало зрозуміло, що процес формування машинного коду можна автоматизувати. Вже 1950 року для запису програм почали застосовувати мнемонічну мову (від грецького слова jxvejaoviKov — уміння запам'ятовувати) — мову асемблера. Мова асемблера дозволила подавати машинний код в більш зручній для людини формі: для позначення команд та об'єктів, над якими ці команди виконуються, замість двійкових кодів використовувалися літери або скорочені слова, які відбивали сутність команди. Наприклад, на мові асемблера команда додавання двох чисел позначається словом add (в перекладі з англійської «додати»), тоді як її машинний код може бути таким: 000010. Запис програми на мові асемблера є фактично тим самим машинним кодом, тільки поданим за допомогою спеціальних позначень.

Машинні коди (і мова асемблера) і досі є єдиною системою команд кожного комп'ютера.

Розширення можливостей застосування комп'ютерів сприяло залученню до розробки програм спеціалістів не тільки з програмування, але й з інших галузей — математиків, фізиків, інженерів, технологів тощо. Стала очевидною необхідність створення більш доступних засобів програмування, які, з одного боку, дозволяли б подавати алгоритм у формі, подібній до

словесного опису, а з іншого — були придатними для перекладу алгоритму у машинний код. Такі засоби дістали назву мов програмування.

Мова програмування — це штучна мова, призначена для .написання програм для комп'ютера. Мова програмування є своєрідним компромісом між людиною та комп'ютером: кожному з них потрібно зробити певний крок, щоб їхнє спілкування на цій мові стало можливим. Людині треба навчитися застосовувати конструкції мови (слова, вирази тощо) для описання алгоритму, а комп'ютерові — «навчитися» розуміти написаний текст. Таку функцію «вчителя» для комп'ютера відіграють спеціальні програ-ми-посередники, які здійснюють автоматичний переклад тексту з мови програмування на машинний код.

Із застосуванням мови програмування алгоритм записується не для комп'ютера, а для про-грами-посередника, яка перетворює його на машинний код, тобто в програму. На цьому етапі автоматичного перетворення, який відбувається без участі людини, звичайно не робиться наголос, і алгоритм, написаний на мові програмування, теж називають програмою.

Існує два типи програм-посередників, які працюють із вхідним текстом: компілятори та ін-терпрётатори.

Програма-компілятор (від англ, compile — складати, збирати) перекладає вхідний текст на машинний код і записує його на диск у формі exe-файла. Раніше програми-компілятори так і називали — трансляторами (перекладачами).

Програма-інтерпретатор завжди працює спільно з вхідним текстом. Вона розбирає кожну інструкцію вхідного тексту (інтерпретує її) і негайно виконує (при цьому файл в машинних кодах не створюється).

У режимі інтерпретування програма виконується значно повільніше, ніж її скомпільована версія, записана як exe-файл. Це пов'язано з тим, що під час виконання програми кожна її інструкція аналізується інтерпретатором і трансформується у машинний код. Деякі інструкції у програмі можуть виконуватися багаторазово, але при кожному виконанні вони інтерпретуються повторно. До того ж текст, який написано для програми-інтерпретатора, можна перекласти та виконати тільки на комп'ютері, де ця програма-інтерпретатор встановлена. Тому всюди, де можливо, режим інтерпретації замінюють режимом компіляції. Щоправда, інтерпретація має свої переваги: за її допомогою легше налагоджувати програму.

Інколи користуються режимом «псевдоком-Ішіяції»: прискорюють інтерпретацію за раху-

нок попереднього запам'ятовування тих або інших елементів розібраних команд у пам'яті машини.

Одним із найважливіших наслідків створення мов програмування стала можливість для фахівців різних країн обмінюватися програмами. Це сприяло розвитку культури програмування, становленню технології розробки програм, формуванню фонду програмних продуктів.

У період з 1960 року по наш час було створено тисячі мов програмування, проте лише деякі з них здобули всесвітнє визнання, для них було затверджено стандарт мови програмування. Найбільш відомими мовами, якими й досі користуються у багатьох країнах світу, є Бейсік, Кобол, Паскаль, С (та її продовження C++), Фортран та інші.

Стандарт мови програмування — це набір правил, згідно з якими повинні записуватися тексти алгоритмів цією мовою. Затвердженням стандартів займається Американський національний інститут стандартів (скорочено ANSI).

Для полегшення процесу програмування про-грами-посередники (програми-компілятори та інтерпретатори), як правило, постачаються в комплексі з іншими, допоміжними програмними засобами (іноді їх ще називають інструментальними засобами). До складу цих засобів звичайно входять, крім програми-посередника:

• програма редагування вхідних текстів (спеціалізований текстовий редактор, в якому зручно писати програми саме на цій мові програмування);

• програма - налагоджувач (програма, яка дозволяє покроково стежити за процесом виконання програми);

• бібліотеки (містять готові блоки коду і надають багато додаткових можливостей для створення програм).

Такий комплекс називають інтегрованим середовищем (або системою) програмування. Найбільш поширеними інтегрованими середовищами є QuickBasic (на базі мови програмування Бейсік), Turbo Pascal (на базі мови програмування Паскаль), Borland C++ (на базі мов С та C++).

Останнім часом дедалі більшу популярність завойовують середовища візуального програмування, які дозволяють користувачеві створювати програмні продукти, застосовуючи широкий спектр стандартних елементів (таких як вікна, кнопки, меню тощо). Найбільш поширеними середовищами візуального програмування є Visual Basic (на базі мови програмування Бейсік), Delphi (на базі мови програмування Паскаль), Visual C++ (на базі мов С та C++), Java (візуальне середовище-інтерпретатор, за синтаксисом схоже на C++).


Тема 15 МОВИ ПРОГРАМУВАННЯ
^ УРОК 2 Класифікація мов програмування

Серед тисяч створених на сьогодні мов програмування можна умовно виділити певні групи. Якщо класифікувати мови програмування з точки зору урахування ними конкретних особливостей комп'ютера (точніше, процесора), то можна ввести поняття «рівень мови програмування».

Якщо мова програмування створена для використання зі спеціальним типом процесора та враховує його особливості, то таку мову називають мовою програмування низького рівня.

Для будь-якого процесора мовою найнижчого рівня є мова асемблера. У кожного типу процесорів своя мова асемблера, тому програми, написані асемблером на одному комп'ютері; можуть зовсім на працювати на іншому. За допомогою мов програмування низького рівня створюються дуже ефективні програми (з точки зору швидкості та розміру). Можна навіть вважати, що чим нижчий рівень мови програмування, тим програми на ньому ефективніші. Недоліком мов програмування низького рівня є складність у вивченні цих мов, тому звичайно такими мовами володіють тільки висококласні програмісти.

Мовою програмування високого рівня вважається мова, яка майже не враховує особливостей процесора (чим менше враховує, тим рівень вищий). Мови високого рівня звичайно ближчі до людини, ними володіє широке коло програмістів, ними створюється більша частина сучасного програмного забезпечення. Звичайно програми, написані мовою високого рівня, можна використовувати на будь-якому комп'ютері. Недоліком цих мов є дещо низька ефективність їх програм у порівнянні з програмами мови низького рівня. Найвищий рівень в наш час мають системи візуального проектування.

Серед мов програмування високого рівня звичайно виділяють дві основні групи:

Алгоритмічні мови програмування слугують для подання алгоритмів. Часто вони використовують символіку, близьку до математичної. Звичайно сучасні алгоритмічні мови програмування мають засоби для реалізації структурного (процедурного) програмування (див. вище). Алгоритмічні мови складають переважну більшість сучасних мов програмування, до них належать Паскаль, Сі, сучасні версії Бейсіка та інші.

Мови дескриптивного програмування (від англійського слова descriptive — описовий) — це мови, які описують не способи розв'язання задач (як це роблять алгоритмічні мови), а логічний або функціональний взаємозв'язок між

об'єктами, поняттями предметної області. Поняття предметної області формують базу знань програми. Робота з програмою відбувається у формі складання запитань, відповіді на які формуються програмою на основі бази знань. Дескриптивні мови програмування поділяються на мови логічного програмування (наприклад, Пролог), які описують предметну область за допомогою засобів математичної логіки, та мови функціонального програмування (наприклад, Лісп), які описують зв'язки між поняттями через ієрархію функцій.


^ Огляд мов програмування високого рівня фортран (fortran)

Мова програмування Фортран була розроблена в 1954—1958 pp. Джимом Бекусом. Його назва — це скорочення від словосполучення «транслятор формул». Фортран — це перша ком-пільовна мова програмування, її базові принципи та поняття (такі як оператор, змінна, типи даних, масиви даних, підпрограми і функції, форматоване виведення інформації та інші) лягли в основу багатьох мов програмування високого рівня. Як видно з його назви, Фортран призначався для виконання складних науково-технічних обчислень. Порівняно простий на свій час, Фортран став дуже популярним серед вчених та інженерів.

Наступні десятиріччя мова значно модернізувалась та розширилась, вона і зараз досить популярна (єдина з мов того часу) у названих колах.

кобол (Совоь)

Компільовна мова програмування Кобол була розроблена в 1959—1961 pp. Назва походить від словосполучення COmmon Business Oriented Language (загальноприйнята мова, орієнтована на завдання бізнесу). Основна відмінність цієї мови програмування від інших алгоритмічних мов полягала в тому, що Кобол мав засоби роботи зі спеціальними структурами даних (передвісниками баз даних). Тривалий час Кобол був єдиною мовою, яка використовувалася в економіці, бізнесі, банківській справі, хоч мала важкий та громіздкий синтаксис. Зараз Кобол не використовується і поступився своїми позиціями перед мовами та системами програмування баз даних (FoxPro, Oracle, SQL тощо).

Алгол (algol)

Компільовна мова програмування Алгол була розроблена в 1958—1960 pp. Назва походить від словосполучення ALGOrithmic Language (алгоритмічна мова). В Алголі основні ідеї алгорит-

мічного програмування дістали свої втілення та оформлення, Алгол вважається передвісником багатьох сучасних алгоритмічних мов програмування. Алгол мав суворі правила синтаксису, що дозволяло писати на ньому великі програми. Алгол був популярним серед спеціалістів у прикладній математиці та фізиці, але зараз не використовується.


Тема 15 МОВИ ПРОГРАМУВАННЯ
^ УРОК 3 Паскаль.

Компільовна мова програмування Паскаль була розроблена в 1967—1971 pp. Ніклаусом Віртом і названа на честь французького математика і механіка XVII ст. Б леза Паскаля. Порівняно з Алголом, Паскаль мав дещо спрощені синтаксичні правила, тому став більш популярним. Особливої популярності Паскаль набув після випуску 1984 року зручного компілятора Турбо Паскаль, розробленого компанією Borland International.

У Паскалі було введено декілька принципово нових типів даних, в ньому вперше стала можливою розробка програм у стилі структурного (процедурного) програмування, ідеї якого було розвинуто в інших мовах та системах програмування. Паскаль (та породжене ним візуальне середовище Delphi) і зараз залишається однією із найпопулярніших мов програмування. Завдяки простоті та чіткості його основна сфера використання — це навчання основ програмування в середніх та вищих освітніх закладах.

бейсік (BASIC)

Інтерпретаційна мова програмування Бейсік була розроблена в середині 1960 pp. Назва походить від словосполучення Beginner's All-purpose Symbolic Instruction Code (багатоцільовий символьний код для початківців). Бейсік створювався для навчальних цілей і вважається найпростішою серед мов програмування високого рівня. За допомогою Бейсіка можна було легко створювати невеликі програми, для вели-

ких проектів він не підходив через погану підтримку процедурного програмування. Серед позитивних рис Бейсіка треба виділити невели--кий розмір його інтерпретатора (деякі версії -до кількох кілобайт). Завдяки цьому Бейсік часто використовувався для вбудови в ПЗП 8-роз-рядних комп'ютерів.

У наш час мова Бейсік (та його візуальне продовження Visual Basic) — одна із найпопулярніших мов програмування з дуже широким спектром використання. За кількістю версій Бейсік посідає перше місце серед мов програмування (серед його версій є навіть компільовні, наприклад, Microsoft Quick Basic).

СІ (С) ТА СІ++ (C++)

Компільовна мова програмування Сі була розроблена 1972 року в компанії Bell Laboratories Деннісом Рітчі. Назва походить від номера проекту, який створювався в компанії Bell (С -третя буква англійського алфавіту). Спочатку Сі не призначалася для масового використання та мислилася як проміжна між мовами програмування високого та низького рівнів. Вона поєднує дуже високу продуктивність та компактність коду (близьку до мови асемблера) та всі переваги структурної мови програмування. Завдяки цьому Сі невдовзі стала найпопулярні-шою мовою програмування. Серед її недоліків треба відмітити дещо високу складність вивчення мови порівняно з Паскалем чи Бейсіком.

Сі++ — об'єктно-орієнтована версія мови програмування Сі розроблена 1980 року в компанії Bell Laboratories Б'ярном Страуструпом. Сі++ унаслідувала всі переваги мови Сі і значно розширила її можливості. В наш час ця мова (та її візуальні середовища Visual C++, C++ Builder) вважається найбільш універсальною і популярною (наприклад, з її допомогою були створені операційні системи Windows). Мова Сі++ стала своєрідним стандартом у програмуванні, сьогодні її повинен знати кожний програміст.


^ Основні поняття мови програмування Паскаль

Кожна мова програмування, як і будь-яка інша мова, має свій алфавіт.

Алфавіт мови програмування — це набір символів, які дозволяється використовувати при написанні програм і які сприймаються компілятором.

До алфавіту мови програмування Паскаль входять:

1. Великі та малі літери латинської мови: А В С ... Z a b с ... z.

2. Цифри від 0 до 9.

3. Символ проміжку " " (ASCII код 32). Проміжок виконує функції розподільника в мові. Якщо між двома символами стоїть проміжок, то вважається, що ці символи належать до різ-

них слів. Кількість проміжків не має значення, тобто замість одного проміжку можна поставити їх скільки завгодно. Так, для компілятора Паскаля такі вирази є еквівалентними:

«2 + 3» і «2 + 3»

У ролі розподільників також можуть виступати символи табуляції (код 9) та кінця рядка (коди 13 і 10). Так, еквівалентними є також вирази:

«2 + 3» і

«2

+

З»

4. Спеціальні символи, що використовуються у записі конструкцій мови:

+ _ * / = < > [ ] . , ( ) : ; ~ @ { } $ # ' _

5. Складені символи, які сприймаються як один символ:

<= >= <> := (* *) (• •) ..

Розподільники (проміжки та інші) між елементами складених символів є неприпустимими.

Символи !, %, «, ?, & та деякі інші, а також символи з розширеного коду ASCII з номерами від 128 до 255 (до яких належать великі та маленькі букви кирилиці, символи псевдографіки) не входять до алфавіту мови програмування Паскаль. Використовувати їх можна тільки в рядкових або символьних константах, а також в коментарях.

Програма, написана мовою програмування, має відповідати синтаксису мови і знаходитися в текстовому файлі. У мові програмування Паскаль файл не може містити більш ніж одну програму.

Синтаксис — це сукупність правил для утворення припустимих конструкцій мови.

Граматичні правила мови програмування (основа синтаксису) формулюються чітко і не припускають довільного розташування окремих елементів команди і розділових знаків.

Команди мови програмування називають операторами.

Оператор мови програмування — це вказівка комп'ютеру про виконання певної дії.

Алфавіт мови програмування — це набір правил щодо того, яке значення має кожен оператор мови програмування і які дії повинен виконувати комп'ютер під час виконання оператора.

Ідентифікатор мови програмування — це ім'я, яке припускається використовувати для іменування об'єктів мови програмування.

Ідентифікатори вибираються довільно, але відповідно до таких правил:

1. Ідентифікатор може містити будь-яку (в Турбо Паскалі не більше від 256) кількість

літер латинського алфавіту (великих або малих), цифр 0, 1 ... 9 і знаків підкреслення «_» (код ASCII номер 95).

2. Ідентифікатор може починатися з літери або знака підкреслення «_».

3. Ідентифікатор не може збігатися з жодним із зарезервованих слів.

Зарезервовані (або службові) слова — це сло-

ва, які мають для мови програмування спеціа-

льне значення.

Список зарезервованих слів мови програмування Турбо Паскаль:

absolute

function

record

and

array

begin

case

goto

if implementation

in

inline

repeat

set

shl

shr

const

constructor

interface

interrupt

string

then

destructor

div

do

label

mod

nil

to

type

unit

downto

not

until

else

object

uses

end

external

of

var

virtual

file

or

while

for

forward

packed

procedure

with

xor



program



Ідентифікатор у програмі повинен бути унікальним, тобто не може бути об'єктів з однаковими ідентифікаторами.

В ідентифікаторах мови програмування Паскаль маленькі і великі літери не розрізняються, тобто «Name» і «name» — однакові ідентифікатори.

Приклади ідентифікаторів:

Nadja, w1, _sss1, __t__, i1i1, beggin,

My_program_about_something.


Тема 16 МОВИ ПРОГРАМУВАННЯ
^ УРОК 4 Стандартний вигляд програми на мові програмування Паскаль
Програма на мові програмування Паскаль завжди оформлюється стандартно і має такий вигляд:

Program <ім'я програми?-;

... <розділ описів> Begin

... <серія операторів> End.

У перекладі з англійської program означає «програма», begin - - «початок», end - - «кінець». Після слова end, яке завершує програму, обов'язково ставиться крапка.

<Ім'я програми> — це ідентифікатор, створений за правилами мови програмування.

<Серія операторів> містить скінченну послідовність операторів, відокремлених крапкою з комою. Оператори виконуються один за одним, у порядку їх запису. Серія може складатися з одного оператора або бути порожньою (не містити жодного оператора).

<Розділ описів> призначається для опису тих величин, які опрацьовуються чи використовуються програмою. Розділ описів може складатися з таких частин:

• Опис бібліотек (модулів), які використовуються у програмі.

• Опис поміток.

• Опис констант програми та їх визначення.

• Опис типів.

• Опис змінних програми.

• Опис підпрограм (процедур і функцій).

Частини розділу описів записуються у програмі саме в такому порядку (у Турбо-Паскалі це обмеження знято). Деякі частини можуть бути відсутніми, у простих програмах розділ описів може бути навіть порожнім.

Приклад найкоротшої програми на мові програмування Паскаль: Program рг;

Begin

End.

Хоч ця програма і не виконує ніяких дій, її можна прокомпілювати, налагодити та виконати.

У тексті програми можуть записуватися коментарі.

Коментар у мові програмування Паскаль -це довільний текст у фігурних дужках { та }. Коментарі додають для пояснення тексту програми, для наведення відомостей про автора тощо.

^ Подання даних у мові програмування Паскаль

У мові програмування Паскаль застосовуються два способи подання числових даних — у природній і показовій формах.

При записі цілого числа або десяткового дробу в природній формі він представляється у вигляді, прийнятому в математиці, за однією відмінністю: розділовим знаком між цілою та дробовою частинами числа слугує точка, а не кома.

Наприклад:

1234; 6.7; 35.7889; -23.99; 9.0.

При записі десяткового дробу в показовій формі він записується так: ±а Е п (або ±а е п), де 1<а<10 — десятковий дріб у природній формі (він називається мантисою), п — ціле число (воно називається порядком).

Буква «Е» (або «е») означає помноження на ступінь числа 10, тобто значення дробу ±а Е п можна дістати як ±а • 10". Наприклад:

1.23Е+2 = 1.23 -102 = 123;

-1.9е-3 = -1.9-10 -3 = -0.0019;

6.0Е+0 = 6.0-10° = 6.

У пам'яті комп'ютера всі дроби зберігаються у показовій формі.

Таким чином, десятковий дріб 0,012 можна записати на Паскалі двома правильними способами: як 0 .012 чи 1.2е-2 (або 1.2Е-2).

Текстові дані, такі як символи або рядки, записуються на Паскалі в апострофах. Якщо треба використати апостроф всередині рядка, його треба подвоїти.

Наприклад:

'Інформатика', '?', 'Моє улюблене місто', 'комг/'ютер'.

Тема 15 МОВИ ПРОГРАМУВАННЯ
^ УРОК 5 Паскаль Типи даних

Мова програмування Паскаль належить до так званих мов із сильною системою типізації. Всі дані, які використовує програма, повинні належати до якого-небудь типу даних.

^ Тип даних однозначно визначає обсяг фізичної пам'яті комп'ютера, який є необхідним для збереження даних цього типу, та перелік операцій (арифметичних, логічних тощо) і функцій (математичних тощо), які є припустимими над величинами даного типу.

У мові програмування Паскаль визначено багато типів даних, також користувачу надано широкі можливості по створенню власних типів даних.

Власні типи описуються в розділі опису типів, який починається зі службового слова type, якому слідує перелік відокремлених символами «;» визначень нових типів у форматі:

<Ім'я типу> = <визначення типу>;

де <ім'я типу> — це ідентифікатор, створений за правилами мови програмування.

Наприклад:

type

month = 1..12;

name = string[20];

У мові програмування Паскаль визначають прості типи даних та складені, які є сукупністю даних інших типів.

Перелік деяких простих типів даних мови програмування Турбо Паскаль:


Числові типи




Назва типу

Опис

Діапазон

Розмір пам'яті у байтах

byte

Коротке ціле без знака

0..255

1

shortint

Коротке ціле зі знаком

-128. .127

1

word

Ціле без знака

0.. 65536

2

integer

Ціле зі- знаком

-32768. .32767

2

longint

Довге ціле зі знаком

-2147483648.. 2147483647

4

real


Дійсне з точністю 11 знаків після коми

приблизно -1038..1038


6

extended

Дійсне з точністю 19 знаків після коми

приблизно -104931..104931

10 '

2. Символьний тип — char (1 байт).

3. Рядковий тип — string, string[n] (рядок з п символів, якщо розмір не зазначено — то 255 символів).

4. Логічний тип — boolean (два значення — true (істина) і false (неправда), 1 байт).

Одним із найбільш розповсюджених складених типів даних є масив (див. далі тему «Табличні величини»).
10>^ Стандартні функції та операції
Тип даних однозначно визначає перелік операцій і функцій, які є припустимими над величинами даного типу.

Операція в мові програмування визначається подібно до операції в математиці.

Вирази, над якими виконується операція, називаються операндами. Якщо операція виконується над двома величинами, вона називається бінарною, якщо над однією — унарною.

У мові програмування Паскаль визначені такі операції для даних простих типів:

• для числових типів — арифметичні операції та операції відношення;

• для символьного типу — операції відношення;

• для рядкового типу — операції відношення та операція конкатенації (поєднання);

• для логічного типу — операції відношення та логічні операції.

У мові програмування Паскаль визначено багато стандартних функцій, доступ до яких відкрито в будь-якій програмі (для того щоб використати функцію, не треба вживати ніяких спеціальних заходів). Більшість цих функцій буде описано нижче.

^ Арифметичні операції над числовими типами даних

За допомогою арифметичних операцій створюються арифметичні вирази.

Арифметичний вираз у мові програмування — це сукупність величин числових типів даних, поєднаних за допомогою арифметичних операцій та круглих дужок.

^ Арифметичні операції

Позначка операції

Назва операції

+

Додавання

-

Віднімання

*

Множення

/

Ділення

div

Ділення без остачі (відкидання дробової частини)

mod

Остача від ділення

Операції «div» і «mod» застосовуються тільки до величин цілих типів даних, операції « + », «-», «*», «/» застосовуються до величин будь-яких числових типів. Результат виконання операції ділення «/» завжди буде мати дійсний тип даних. Для інших операцій тип результату здобувається за такими правилами:

• якщо хоч один операнд був дійсного типу, то результат буде дійсного типу;

• якщо хоч один операнд належав до цілого типу зі знаком, то результат теж буде належати до цілого типу зі знаком;

• якщо операнди займають у пам'яті комп'ютера різний обсяг пам'яті, то результат буде належати до типу, який займає більший обсяг. Наприклад:

byte / integer = real;

byte + integer = integer;

word * longint = longint;

real - extended = extended.

При написанні слова div і mod відокремлюються з обох боків проміжками.

Всі тексти програм на мові програмування Паскаль записуються в рядок, у тому числі й арифметичні вирази. Звичайний дріб, що записується в математиці в два рядки 1/(3*4) ,на мові програмування можна записати двома однаково правильними способами так: 1/(3*4) або 1/3/4.

Приклади запису арифметичних виразів на мові програмування Паскаль:

а)34+679-4455

б)56*(45-34)/57.7+57

в) 45 div 4-56*43 mod 67+45.788888

г) -5е+6+67Е-8

Арифметичні вирази обчислюються за правилами математики з урахуванням розставлених дужок і пріоритету операцій.

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

Далі виконуються операції «*», «/», «div», «mod».

Нижчий пріоритет у операцій «+», «—», вони виконуються останніми.

Операції однакового пріоритету виконуються зліва направо в тому порядку, в якому вони зустрічаються у виразі.

Наприклад:

2+15 mod 4=2+3=5;

12 div 5*3+1=2*3+1=6+1=7.


^ Операції відношення над числовими типами даних

За допомогою операцій відношення створюються прості умови.

Проста умова у мові програмування — це дві величини, як правило, одного типу даних, поєднані за допомогою операції відношення. У деяких випадках дозволяється застосовувати операції відношення до даних різних типів. Так, порівнювати дозволяється дані різних числових типів, дані символьного і рядкового типу.


^ Операції відношення

Позначка операції

Назва операції дорівнює

менше менше або дорівнює

більше

більше або дорівнює не дорівнює

Результатом виконання операції відношення завжди буде величина логічного типу даних, яка може набувати двох значень: true (істина, умова виконується) та false (неправда, умова не виконується).

Всі операції відношення є бінарними (мають лише два операнди), використання двох операцій відношення поспіль у мові програмування Паскаль неможливе (наприклад, у виразі 1<=3<8 результатом виконання операції 1<=3 буде величина логічного типу true, яку не можна порівнювати з 8).

Приклади запису умов на мові програмування Паскаль:

1>=5 -> false

5.67>56-4Е-4 div 3 -> true

7 mod 3 div 5<>1 -> true.


^ Стандартні функції роботи з числовими типами даних

Перелік деяких стандартних функцій роботи з числовими типами даних мови програмування Паскаль


Функція

Опис

ТипХ

Тип результату

abs(X)

Модуль числа X

числовий

такий самий як у X

sqr(X)

Квадрат числа X

числовий

такий самий як у X

sqrt(X)

Корінь квадратний числа X

числовий

дійсний

sin(X)

Синус числа X

числовий

дійсний

cos(X)

Косинус числа X

числовий

дійсний

ln(X)

Натуральний логарифм числа X

числовий

дійсний

exp(X)

Експонента числа X (ех)

числовий

дійсний

round(X)

Найближче ціле число до X

числовий

цілий

trunc(X)

Ціла частина числа X

числовий

цілий

frac(X)

Дробова частина числа X

числовий

дійсний

odd(X)

Перевірка X на непарність

цілий

логічний

Примітки:

1. Функція trunc для від'ємних значень X працює не за правилами математики і просто відкидає дробову частину: trunc(—6.8) = —6.

2. Для обчислення значення аь можна скористатися формулою аь = еь'1п(о).

Операції та стандартні функції над символьним типом даних

У мові програмування Паскаль для символьного типу даних визначено операції відношення (див. вище). Символи порівнюються за своїми номерами у таблиці ASCII кодів, тобто один символ вважається більшим за другий, якщо його номер більший.

Наприклад:

'5'>'а'; '%'<0; 'Z'<?a'.

Для роботи із символьним типом даних визначені дві стандартні функції:

ord( С) — повертає номер символу С (результат має тип longint);

chr(X) — повертає символ з номером X (результат має тип char, X має належати інтервалу 0..255).

^ Операції та стандартні функції над рядковим типом даних

У мові програмування Турбо Паскаль для рядкового типу даних визначено операції відношення (див. вище) та операція конкатенації.

Операція конкатенації (поєднання) має синтаксис і пріоритет подібно до операції додавання « + ». Результатом конкатенації двох рядків sl+s2 є рядок, який складається з рядка si, в кінець якого приєднаний рядок s2.

Наприклад:

'Ін' + 'форма' -t- 'тика' = 'Інформатика'.

За допомогою операцій відношення рядки порівнюються у лексикографічному (алфавітному) порядку: у двох рядків порівнюються перші символи, якщо вони нерівні, то більшим вважається рядок з більшим першим символом; якщо перші символи рівні, то порівнюються другі символи і так далі; при всіх однакових перших символах більшим вважається рядок більшої довжини. Наприклад:

'Ганна' < 'Ганнуся';

'12345' < 'Київ';

'сор' < 'сорочка'.

Порівнювати та поєднувати дозволяється рядки та символи, у цьому разі символ вважається рядком довжини 1.

У мові програмування Турбо Паскаль для рядкового типу даних визначено такі стандартні функції:

1. length(s)

Результатом функції є довжина рядка s в символах (тип integer). Наприклад:

length ('Київ') = 4;

length ('I love you!') =11.

2. pos(s, si)

Якщо рядок s вміщується в рядку si, то результатом функції (тип byte) буде номер символу рядка s,.j3 якого вперше починається рядок si. Якщо в рядку si немає рядка s, то результатом буде 0.

Наприклад:

pos('a', 'Інформатика') = 7;

pos('форма', 'Інформатика') = 3;

pos('норма', 'Інформатика') = 0.

3. copy(s, start, len)

Результатом функції є рядок довжиною len, що є підрядком s та починається в ньому з позиції start. При спробі виділити з рядка s кількості символів, якої в ньому немає (тобто коли start+len більше від довжини s). результатом функції є підрядок s від позиції start до кінця.

Наприклад:

copy ('Інформатика', 3, 5) ='форма';

copy ('Інформатика', 1, 1) = 'І';

copy ('Інформатика', 10, 10) = 'ка'.

4. insert(s, si, len)

В результаті роботи оператора рядок s вставляється в рядок si, починаючи з позиції len. Якщо len перевищує довжину рядка si, то s додасться в кінець si.

Наприклад, якщо до початку виконання оператора s1 було «Інформатика», то після insert ('123', s1, 5)

s1 буде «Інфо123рматика»; insert('123', s1, 1)

s1 буде «123Інформатика»; insert('123', s1, 12)

s1 буде «Інформатика123».

5. delete(s, start, len)

В результаті роботи оператора із рядку s вилучається len символів, починаючи з позиції start. При спробі вилучити з рядка s кількості символів, якої в ньому немає (тобто коли start+len більше від довжини s), вилучаються всі символи до кінця рядка. Наприклад, якщо до початку виконання оператора s було «Інформатика», то після delete(s, 5, 3)

s буде «Інфатика»; delete(s, 1, 3)

збуде «орматика»; delete(s, 10, 10) s буде «Інформати».

^ Операції над логічним типом даних

У мові програмування Паскаль для логічного типу даних визначено операції відношення (див. вище) та логічні операції. При порівнянні true вважається більшим за false.

Наприклад:

true >= false; (7<3) < (5<>6).

За допомогою логічних операцій створюються складені умови.

Складена умова у мові програмування (те ж саме що логічний вираз) — це сукупність простих умов, поєднаних за допомогою логічних операцій та круглих дужок. Прості умови, які входять до складених умов, мають братися у круглі дужки.
8>^ Логічні операції
1. Заперечення — not.

Результатом застосування унарної операції «not» до умови є обернення значення умови, тобто

not true = false;

not false = true.

Наприклад:

not (7<12) = not true = false;

not (4<>4) = not false = true.

^ 2. Логічне «і» — and.

Складена умова, утворена з простих, поєднаних логічними операціями «and», вважається виконаною, якщо виконуються всі прості умови, що входять до неї.

Наприклад:

(7<12) and (2<>3) = true and true = true;

(4=4) and (1<2) and (2>0) =

= true and true and false = false.

^ 3. Логічне «або» — or.

Складена умова, утворена з простих, поєднаних логічними операціями «or», вважається виконаною, якщо виконується хоча б одна проста умова, що входить до неї.

Наприклад:

(7>12) xor (2<>3) = false or false = false;

(4<>4) xor (1<2) = false or true or false = true.

4. Логічне виключне «або» — xor. Складена умова, утворена з двох простих,

поєднаних логічною операцією «хог», вважається виконаною, якщо виконується рівно одна проста умова, що входить до неї.

Наприклад:

(7<12) xor (2<>3) = true xor true = false;

(4<>4) xor (1<2) = false xor true = true.

Обчислення складених умов виконується з урахуванням розставлених дужок і пріоритету операцій.

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

Далі виконуються операції «not».

Далі виконуються операції «and».

Нижчий пріори вони виконуються останніми.

Операції однакового пріоритету виконуються зліва направо у тому порядку, в якому вони зустрічаються у виразі.

Приклади обчислення складених умов:

(4>=3) and not (2<=3) = true and not true = true and false — false;

(2<7) or (4=3) and (7<0) = true or false and false = true or false = true;

(2<7) xor (4>3) and (4<5) = true xor true and true = true xor tr
еще рефераты
Еще работы по разное