69130

Константи, змінні, вирази. Найпростіші оператори. Процедури введення, виведення

Лекция

Информатика, кибернетика и программирование

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

Украинкский

2014-09-30

126.5 KB

2 чел.

Лекція 7. Тема:Константи,змінні,вирази. Найпростіші оператори. Процедури введення,виведення.

                           Сумісність типів.

План:

1. Константи, змінні, вирази

2. Різновиди констант

3. Змінні

4. Вирази

5. Найпростіші оператори

6. Оператор присвоєння

7. Процедури введення даних

8. Процедури виведення даних

9. Сумісність типів

1. Константи, змінні, вирази

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

2. Різновиди констант

Константа в тексті програми Pascal може позначатися лексемами двох типів:

  •  безпосередній запис значення;
  •  ідентифікатор.

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

У другому випадку певному значенню приписується ідентифікатор. Це відбувається в розділі оголошення констант. Наприклад, наближене значення величини V2 можна позначити ідентифікатором sqrt2:

const

sqrt2=1.4142:

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

Як і будь-які інші значення, константи належать певним типам даних.

Числові константи ~ це цілі десяткові, цілі шістнадцяткові та дійсні десяткові числа. Цілі десяткові числа записують стандартним способом. Вони мають знаходитися в діапазоні від -2 147 483 648 до 2 147 483 647, наприклад: 123, -1024. Перед шістнадцятковим цілим числом записують символ «$». Нагадаємо, що для зображення шістнадцяткового числа використовуються цифри від 0 до 9, а також латинські літери від А (а) до F (f), наприклад: $7В, $400. Допустимий діапазон шістнадцяткових цілих чисел — від $00 00 00 00 до $FF FF FF FF. Дійсні числа записуються у вигляді звичайного десяткового дробу або в експоненціальній формі з основою 10. У десяткових дробах ціла частина від дробової відокремлюється крапкою, наприклад: 3.1415926, -27.18283. В експоненціальній формі запису дійсного числа замість основи 10 використовується буква «Е», після якої ставиться показник степеня:3.141526Е+00, -2.718283Е+01.

Символьна константа — це ASCII-символ, записаний в одинарних лапках (апострофах), або символ, записаний за допомогою ASCII-коду, перед яким вказано префікс «#», наприклад: 'А', #13.

Рядкова константа є послідовністю символів, що записуються в одинарних лапках (апострофах), наприклад: 'Borland Pascal 7.0'. Якщо рядкова константа містить апостроф, то він записується двічі поспіль: 'Комп' 'ютерні науки'.

Логічні константи мають значення false або true, що означає хибність та істинність відповідно.

Одна з особливостей констант полягає в тому, що компілятор не виділяє оперативної пам'яті для їх зберігання; він автоматично розпізнає тип константи без його попереднього оголошення. Під час компіляції програми компілятор замінює ідентифікатори констант їх значеннями в операторах, де ці ідентифікатори трапляються. Ідентифікатори констант припиняють своє існування після компіляції. Якщо користувач хоче зберегти значення констант і виділити для них оперативну пам'ять, він може використати типізовані константи.

Типізовані константи — це змінні, яким надано значення на початку виконання програми. Такі константи називаються змінними, що ініціалізуються, або змінними з початковим значенням. Синтаксис оголошення типізованої константи:

const <ідентифікатор>:<тип>  =  <вираз>

Тут значення вказаного справа від знака <=» виразу повинне мати той самий тип, що й ідентифікатор константи.

Наведемо приклад оголошення типізованих констант.

Приклад 2.4.

const

yearHnteger - 2004:

 price.real     - 250-56:

 answer:char   - "y1:

 bell:char       - #7:

flag:boolean - false:

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

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

3. Змінні

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

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

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

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

Отже, змінні виконують функцію зберігання даних. З іншого боку, відомо, що під час виконання програми дані зберігаються в комірках оперативної пам'яті комп'ютера. Тому на фізичному рівні поняттю змінної відповідає група комірок оперативної пам'яті. Кожна така комірка має свою адресу. Оскільки програмісту не досить зручно працювати з адресами оперативної пам'яті, то ці адреси ставляться у відповідність ідентифікаторам змінних під час їх оголошення. Таким чином, ім'я змінної вказує, або посилається, на групу комірок оперативної пам'яті. Якщо говорити більш точно, ім'я змінної посилається на першу комірку з групи, а величину групи визначає тип змінної.

У мові Pascal змінні оголошуються в розділі оголошення змінних, що відкривається ключовим словом var (від англ. variable - змінна). Нагадаємо синтаксис оголошення змінної:

var <ідентифікатор>:<тип>;

Зазначимо, що однотипні змінні можна оголошувати в одному переліку, вказуючи їх імена через кому. Як ідентифікатор типу можна використовувати ім'я, яке було оголошене раніше у розділі type, або ім'я стандартного типу. У прикладі 2.5 наведено оголошення змінних різних типів.

Змінні можна оголосити в різних частинах програми:

- в розділі var оголошення змінних програми;

- в інтерфейсній частині модуля, який потрібно підключити до програми за допомогою зарезервованого слова uses;

- у процедурах і функціях.

Залежно від того, де оголошена змінна, їй надається область видимості, тобто область, де її можна використовувати.

Зазначені вище оголошення покладають на компілятор функцію встановлення відповідності між іменем змінної та адресою пам'яті. Але мова Pascal надає розробнику можливість встановити таку відповідність самостійно. Йдеться про абсолютні змінні. Є дві форми оголошення абсолютних змінних: із зазначенням точної адреси змінної та із розташуванням двох змінних за однією адресою.

Перша форма оголошення абсолютних змінних вимагає вказати ідентифікатор змінної, її тип, ключове слово absol ute і повну адресу (сегмент і зсув), за якою буде записане значення змінної: var <ідентифікатор>:<тип> absolute $<сегмент>:$<зсув>:

Тут $<сегмент> — номер сегмента даних, а $<зсув> — значення зсуву від початку сегмента даних в байтах. Ці шістнадцяткові константи не повинні виходити за межі діапазону від $0000 до SFFFF. Наприклад:

 var value:byte absolute $0040:10049-.

Інша форма оголошення абсолютних змінних вимагає вказати ідентифікатор змінної, її тип, ключове слово absolute та ідентифікатор іншої змінної або типізованої константи:

var <ідентифікатор_1>:<тип> absolute <ідентифікатор_2>:

Тут <1дентифікатор_1> - ідентифікатор абсолютної змінної; <ідентифікатор_2> — ідентифікатор іншої змінної, за адресою якої буде розташована абсолютна змінна. Наприклад:

var

digit:0..9: absvar:integer absolute digit:

Ідентифікатори оголошених в одній області видимості змінних не повинні збігатися. У разі порушення цього правила компілятор видає повідомлення про помилку: Error 4: Duplicate identifier (Повторення ідентифікатора).

4. Вирази

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

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

Якщо вираз без круглих дужок містить декілька операцій, то послідовність їх виконання визначається правилами пріоритету. У табл. 2.6 групи операцій мови Pascal розташовано у порядку зниження їх пріоритету. Найвищий пріоритет мають унарні операції, найнижчий — операції відношення. Операції всередині кожної групи мають однакові пріоритети.

Групи операцій

Операції

Унарні

- (зміна знака),

@, not,

Мультиплікативні

*, /, and, mod, div

Адитивні

+, -, or, xor

Відношення

=,<>, <, >, <=, >=, 

in

Отже, наведемо правила визначення пріоритету операцій:

- операнд, що міститься між двома операціями з різними пріоритетами, зв'язується з операцією, яка має вищий пріоритет;

- операнд, що міститься між двома операціями з рівними пріоритетами, зв'язується з операцією, яка записана ліворуч;

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

5. Найпростіші оператори

Оператори визначають дії, що мають здійснюватись комп'ютером під час виконання програми. Оператори мови Pascal можна поділити на прості та складені. Прості оператори, на відміну від складених, не містять в собі інших операторів. До групи простих операторів належать оператори присвоєння та виклику процедур. Складені оператори розглядатимуться в розділі 3.

Програма — це послідовність операторів. Будь-які оператори відокремлюються один від одного символом крапки з комою (;). Крапка з комою не є частиною оператора, це роздільник. Відсутність крапки з комою між операторами спричиняє синтаксичну помилку Error 85:";" expected (Очікується <;>).

6. Оператор присвоєння

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

<ідентифікатор> := <вираз>:

Тут <ідентифікатор> — це ім'я змінної; знак присвоєння := — лексема, яку не слід плутати зі знаком операції порівняння (=).

За допомогою оператора присвоєння виконуються дії, які можна записати у вигляді такого алгоритму:

1.Обчислити значення виразу, записаного праворуч від символу присвоєння.

2.Надати обчислене значення змінній, позначеній ім'ям ліворуч від символу присвоєння.

Наприклад, якщо ім'я z оголошено як var z : integer, то оператор присвоєння z:=7*(3+l) спочатку обчислює значення 28, а потім записує його до комірок пам'яті, що відповідають змінній Z. Після виконання оператора присвоєння змінна z має значення 28. Отже, оператор присвоєння дозволяє змінити поточне значення змінної.

Якщо у деякому виразі використовується змінна, яка ще не отримала значення, воно вважається невизначеним і позначається для числових типів нулем (для символьного типу — символом з ASCII-кодом 0, для логічного типу — значенням fal se). У разі використання неоголошеної змінної, або змінної, що не належить поточній області видимості, компілятором буде видано помилку Error 3: Unknown Identifier (Невідомий ідентифікатор).

В IDE Borland Pascal 7.0 можна здійснити покрокове виконання програми (див. підрозділ 2.1), використовуючи значення змінних, наведених у вікні Watches. У табл. 2.8 розглянуто покрокове виконання програми з прикладу 2.7.

Приклад

У програмі ех2_3 виконується серія присвоювань. Розглянемо процес модифікації значень змінних під час виконання цієї програми (табл.).

program ex2_3:

var х. у. z : integer: begin

х := 1;

У :-3:

z := х + у:

z :- z + 10: end.

Таблиця. Покрокове виконання програми єх2_3

Оператор, що виконується

Значення змінних (в

міст комірок оперативної пам'яті)

X

У

z

Початок програми

0

0

0

х :- 1

1

0

0

У :-3

1

3

0

z :- х + у

1

3

4

z := z + 10

1

3

14

7. Процедури введення даних

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

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

read(<i дентифі катор_1>.<і дентифі катор_2>

<і дентифі катор_п>):

readln(<і дентифі катор_1>,<і дентифі катор_2>

<1дентифікатор_п>):

Тут параметри процедури <ідентифікатор_1> < ідентифікатор_п> — це імена змін
них, яким будуть надані введені з клавіатури значення.

Процедури read і readl n здійснюють введення символів, рядків і чисел. Це значить, що змінні, ідентифікатори яких є параметрами процедури читання, можуть бути будь-якого простого типу, крім булевого (цілого, дійсного, символьного), а також рядкового типу (див. розділ 7). Поряд зі змінними булевого типу як параметри процедури введення даних не дозволяється використовувати константи, оскільки їх значення не можуть бути змінені. Це правило не стосується типізованих констант, що є ініціалізованими змінними.

Коли викликається процедура read або readin для введення даних з клавіатури, виконання програми тимчасово переривається. В цей час користувач може вводити з клавіатури символи. Уведені символи запам'ятовуються у буфері та передаються процедурі введення тільки після натиснення клавіші Enter. Буфер — це область пам'яті для тимчасового зберігання даних. Максимальний обсяг буфера становить 128 символів (байтів). Завдяки наявності буфера можливе редагування даних під час їх введення. При редагуванні даних використовуються клавіші Backspace, Ctrl+Z, Enter. Введення символів супроводжується відображенням їх на екрані. Після натиснення клавіші Enter введений рядок символів перетворюється на значення того типу, який відповідає типу змінної у процедурі введення, а потім цій змінній присвоюється. Введені значення мають строго відповідати типам змінних у списку параметрів процедури. Якщо, наприклад, змінна має тип і nteger, а вводиться значення типу char, то виникає помилка введення-виведення Error 106: Invalid numeric format (Некоректний числовий формат) і робота програми припиняється. У разі, коли процедура введення має декілька параметрів, дані потрібно вводити послідовно через пробіл, а після останнього введеного значення необхідно натиснути клавішу Enter. Якщо програма містить декілька викликів процедури Read поспіль, то дані для них можна набрати в один рядок, і тільки після цього натиснути клавішу Enter. Такий спосіб введення даних не придатний у разі використання процедури readin, особливості застосування якої будуть розглянуті нижче.

Приклад 2.8.

var

n:integer:

x:real;

 symbol:char;

s:string:

begin

read(symbol):

read(n.x.s);

end.

Під час виконання цієї програми значення даних можна набрати так: А 567 3.1417 end of insertion   Enter

У цьому прикладі спочатку вводиться значення символу, потім вводяться значення цілого та дійсного типу і рядок символів. Завершується введення натисненням клавіші Enter. Якщо спробувати ввести значення символу після числових значень, то виникне помилка введення-виведення Error 106: Invalid numeric format (Некоректний числовий формат). Таким чином, символьні значення в потоці даних вводити не бажано.

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

Процедура readln (від read line — читати рядок) застосовується аналогічно процедурі read. Але під час введення рядків або окремих символів рекомендується викликати саме процедуру readl n, яка зчитує всі символи рядка, включаючи символ завершення рядка. Символ завершення рядка формується під час натиснення клавіші Enter. На відміну від процедури readln, процедура read зчитує всі символи рядка, крім символу його завершення. Тому процедура read не забезпечує перехід до зчитування символів нового рядка.

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

8. Процедури виведення даних

Виведення, або запис (від англ. write - писати), значення виразу на дисплей здійснюється за допомогою процедури writeln або write за таким синтаксисом:

writeln(<cписок виведення>):

 write(<cписок виведення>):

Тут <список виведення> — це список записаних через кому виразів.

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

Параметрами процедур writeln і write можуть бути рядкові константи, що записуються в одинарних лапках. За допомогою рядкових констант можна виводити повідомлення: writeln('Demonstration constant expression:'):

Для виведення значень іменованих числових констант використовують їх ідентифікатори. Значення констант перетворюються у набір символів, які виводяться на екран або інший пристрій:

{іненова цілочислова константа}

const

digit - 1000:

begin

writeln(5);         {цілочислове значення      }

writein('digit-'.digit);(значення іменованоі константи) end.

Параметри процедур writeln і write можуть бути булевими константами. Лапки в такому разі не потрібні:

writeln(true):

У процедурах виведення як параметри можна використовувати константні

вирази, наприклад:

const

BitwiseExpression - 5 and 3:

begin

writeln(BitwiseExpression):

end.

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

var

{вивести значення змінних і виразу} {вивести значення виразу відношення}

і: integer: a:real; begin

writeln(a.i.a+i) writeln(a>i); end.

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

 writeln(digit:10):   {вивести ціле число в поле завширшки 10 символів}

writeln(a:8:3):        {дійсне число вивести в поле завширшки 8 символів. Кількість

символів у дробовій частині числа дорівнює трьом}

Процедура writeln, на відміну від процедури write, після виведення значень згідно зі списком виведення переведе курсор до нового рядка. Виклик процедури виведення після попереднього виклику writeln відобразить дані в новому рядку, в той час як виведення після попереднього виклику write здійснюватиметься в тому самому рядку, з поточної позиції курсору.

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

9. Сумісність типів

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

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

Два типи вважаються сумісними у виразах, якщо виконується хоча б одна з наступних умов:

типи двох операндів однакові;

типи двох операндів дійсні;

типи двох операндів цілочислові;

тип одного операнда є під діапазоном типу іншого операнда;

типи двох операндів є під діапазонами того самого базового типу;

тип одного операнда рядковий, тип іншого рядковий або символьний;

тип одного операнда — нетипізований покажчик, тип іншого операнда — будь-який типізований покажчик;

типи двох операндів процедурні — вони означують процедури (функції) з однаковою кількістю параметрів, однаковими типами відповідних параметрів і однаковими типами значень, що повертаються (для функцій).

Розглянемо декілька прикладів сумісності у виразах. В одному виразі можна використовувати дійсні та цілочислові операнда (1+2.5). Під час обчислення такого виразу спочатку цілочисловий операнд перетворюється на дійсний, а потім виконується зазначена операція над дійсними значеннями. Операнди можуть мати різні цілочислові типи. Якщо один операнд знаковий, а другий беззнаковий, обидва перетворюються до цілочислового знакового типу, якому можуть належати значення обох операндів і який вимагає найменшого обсягу оперативної пам'яті. Наприклад, операнди типів shortint і byte перетворюються на операнди типу integer, операнди типів shortint і word — на операнди типу longint. Якщо обидва операнди мають знакові цілочислові типи, або обидва мають беззнакові цілочислові типи, то операнд типу, що потребує меншого обсягу оперативної пам'яті, перетворюється на операнд типу, що вимагає більшого обсягу оперативної пам'яті (наприклад, операнд типу shorti nt перетворюється на операнд типу і nteger, операнд типу integer — на операнд типу longint, а операнд типу byte — на операнд

типу word).

Під час виконання оператора присвоєння значення змінній обов'язково потрібно враховувати сумісність типів. Тип значення виразу є сумісним за присвоєнням із типом змінної, якій це значення надається, якщо виконується одна із таких умов:

тип змінної, яка набуває значення виразу, і тип виразу однакові;

тип змінної, яка набуває значення виразу, і тип виразу є сумісними порядковими типами, і діапазон значень типу виразу є під діапазоном значень типу змінної;

тип змінної, яка набуває значення виразу, і тип виразу є дійсними типами,
і діапазон значень типу виразу є під діапазоном значень типу змінної;

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

Отже, у програш дані одного типу можуть перетворюватися на дані іншого типу. Таке перетворення типів може бути явним або неявним. Явне перетворення типів здійснюється за допомогою вбудованих функцій, аргументи яких мають один тип, а значення, що вони їх повертають, мають інший тип (функції ord, trunc, round, chr, ptr). Також явне перетворення типів можна здійснити шляхом запису перед узятим у круглі дужки виразом, тип якого перетворюється, ідентифікатора типу, на який тип виразу потрібно перетворити, наприклад: byte(false), integer( 'X'), char(60)). Якщо змінна zz має тип byte, кожне з присвоєнь char(zz) :='A' та zz:=byte( 'А') надасть цій змінній значення 65, а присвоєння shortint (zz):=-100 - значення 156 (максимальне значення типу byte дорівнює 255, вводиться значення -100, результат після перетворення типу становитиме 255 + 1 - 100 = 156).

У прикладі 2.10 демонструється принцип використання операцій явного перетворення типів. На рис. 2.9 наведено результати роботи програми ех2_5.

Приклад 2.10 ;

program ex2_5;

var

intvar:integer:

symbolvar:char;

begin

writelnCConverting types'):

writeln('Enter integer'):

readln(intvar):

writeln('byte(intvar)='.byte(intvar)):

writelnC Enter character');

readln(symbolvar):

wri tel n('і nteger(symbolvar)-'.і nteger(symbolvar)):

writelnC'char(intvar+5)-'.char(intvar+5)):

writeln('byte(false)-'.byte(false));

readln: end.

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

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

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

Висновки

Інтегроване середовище розробника Borland Pascal 7.0 містить текстовий редактор, транслятор, компонувальник, налагоджував і довідкову систему.

Алфавіт мови Pascal є підмножиною символів кодової таблиці ASCII.

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

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

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

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

До простих типів даних належать цілочислові типи, дійсні типи, символьний тип, булів тип, перелічуваний тип та інтервальний тип.

Усі прості типи, крім дійсного, є порядковими. Множина допустимих значень будь-якого порядкового типу — це упорядкована та пронумерована послідовість. Номери значень таких типів обробляють функції succ, pred і ord.

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

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

Вираз визначає послідовність перетворень значень, у результаті виконання :    якої утворюються нові значення.

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

 Надати значення змінній можна за допомогою оператора присвоєння або процедур введення даних.

Контрольні питання

1.Константи.Види констант.

2.Дати визначення змінна.

3.Сформулювати правила визначення пріоритету операцій.


 

А также другие работы, которые могут Вас заинтересовать

9361. Мікропроцесорна лабораторія Мікролаб КР580ІК80 1.21 MB
  Мікропроцесорна лабораторія Мікролаб КР580ІК80 Вступ Даний курс призначений для вивчення елементів апаратного і програмного забезпечення систем, побудованих на базі мікропроцесора KP580ІK80. У першому розділі дані загальні принципи побудови пристрої...
9362. Розробка принципової схеми гідро- та пневмоприводів і систем гідро пневмоавтоматики з раціональним вибором робочого середовища 208 KB
  Вступ Курсова робота з дисципліни Гідравліка, гідро- та пневмоприводи є необхідним практичним додатком до теоретичного курсу, а також підготовчим етапом до виконання курсового та дипломного проектування при розробці гідроприводу та пневмориводу мета...
9363. Разработка цифрового измерителя температуры 178.5 KB
  ТЕМА: Разработка цифрового измерителя температуры В качестве цифрового датчика температуры в схеме стенда используется цифровой датчик DS18B20 фирмы DallasSemiconductor (D1), который с помощью однопроводного интерфейса подключен к разряду 7 по...
9364. Минералы и горные породы - строительные материалы природы 101.5 KB
  Минералы и горные породы - строительные материалы природы. Минералы - природные тела, однородные по химическому составу и природным свойствам, образующиеся в глубинах и на поверхности Земли. Известно около 3000 видов минералов. Наиболее распрос...
9366. Технологический процесс ремонта, корпус пневмоцилиндра, дефектоскопия, электролитическое осаждение, механическая обработка, себестоимость, комплект технологической документации 438 KB
  Реферат Объектом разработки является технологический процесс ремонта корпуса пневмоцилиндра. Цель работы - усовершенствовать технологический процесс ремонта заданной детали, произвести необходимые расчеты, составить пояснительную записку, оформить т...
9367. Учет основных средств ООО Транс сервис 632.5 KB
  Введение Развитие различного вида предпринимательства сопровождается возрастанием роли бухгалтерской информации в управлении, контроле и анализе предпринимательской деятельности. Своевременность ее получения, соответствующее качество и достоверность...
9368. Устройство дистанционного управления 112.5 KB
  Устройство дистанционного управления Исходные данные: Микроконтроллер осуществляет прием кодовых последовательностей от пульта дистанционного управления, дешифрацию команд и управление 8-ю устройствами по принципу вкл/выкл. Обеспечить индикацию сост...
9369. Повышение уровня проходимости амфибийно-вездеходных транспортных средств путем использования нетрадиционных пневмодвижителей сверхнизкого давления 255 KB
  Повышение уровня проходимости амфибийно-вездеходных транспортных средств путем использования нетрадиционных пневмодвижителей сверхнизкого давления Общая характеристика работы. Актуальность темы диссертации определяется необходимостью разработк...