Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Типи даних





Таблиця 1.1 - Типи даних мови програмування Turbo Pascal

Типи даних прості дійсні Real 2.9e-39..1.7e38
Single 1.5e-45..3.4e38
Double 5.0e-324..1.7e308
Extended 3.4e-4932..1.1e4932
Comp -9.2e18..9.2e18
ординальні перераховні  
діапазонні  
Наперед зазначені Boolean False, True
Shortint -128..127
Integer -32768..32767
Longint -2147483648.. 2147483647
Byte 0..255
Word 0..65535
Char  
складені Array  
File  
Set  
String  
Record  
вказівні  

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

Для всіх ординальних типів означені операції відношення: = (дорівнює), <> (не дорівнює), < (менше), <= (не більше), > (більше), >= (не менше).

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

У таблиці 1.2 описано стандартні операції над даними ординального типу. Прийняті позначення: І Іпteger (цілий); B Вооlеап (логічний); R Rеаl (дійсний).

Таблиця 1.2 – Операції над даними ординального типу

Операція Зміст Тин операндів Тип результату
+ Плюс І,R І,R
- Мінус І,R І,R
* Множення І,R І,R
DIV Цілочислове ділення І І
МОD Остача від ділення І І
/ Ділення І,R R
  Арифметичне АБО І І
Логічне АБО В В
  Арифметичне І І І
Логічне І В В
  Арифметичне НІ І І
Логічне НІ В В
  Арифметичне 'роздільне' АБО І І
Логічне 'роздільне' АБО B В
SHL Арифметичний зсув вліво I І
SHR Арифметичний зсув вправо І І

 

Якщо в операціях +, -, * хоча б один з операндів має тип Real, то результат теж матиме тип Real.

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

Ord (x) - ординальний номер x;

Succ (x) - наступне за x ординальне значення;

Pred (x) - ординальне значення, що передує х.

Застосування функції Succ до максимального значення або функції Pred до мінімального значення будь-якого ординального типу приводить до невизначеного результату.

Цілий тип (Shortint, Integer, Longint, Byte, Word). Цілий результат дають такі функції:

Abs (x)- модуль цілого значення x;

Addr (x) - адреса першого байта змінної x;

Hi (x) - значення старшого байта цілого значення x;

Lo (х) - значення молодшого байта цілого значення x;

Round (x) - заокруглене значення дійсного значення x;

SizeOf (x)- розмір в байтах пам'яті, необхідної для зберігання значення x або типу х;

Sqr (x)- квадрат цілого значення х;

Swap (x) - переставляє старший і молодший байти цілого значення x;

Trunc (х) - ціла частина дійсного значення х.

Символьний тип (Char). Дані символьного типу набувають значень впорядкованого набору символів, зображених у конкретному ПК. Значення символьного типу записуються одним символом, що поміщається в одинарні лапки, наприклад ' A '. В ПК переважне застосування має кодування символів в системі АSCII (American Standard Code for Information Interchange - американський стандартний код для обміну інформацією).

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

Chr (х) - символ АSCII з кодом х (х - байтового типу,);

Ord (х) - АSCII –код символу х;

UpCase (х) - переводить малу латинську букву х у велику, решта символів не змінюється.

Логічний тип (Boolean). Дані логічного типу можуть набувати значень True і False. Вважають, що значень False < True логічний результат дають такі функції:

КеуРгеssed - повертає True, якщо була натисну та будь-яка клавіша, у противному разі - False;

Odd (х) - повертає True, якщо ціле число х - непарне і False, якщо х - парне.

Дійсний тип (Real, Single, Double, Extended, Comp). Дійсний результат дають такі функції:

Abs (х) - модуль дійсного значення х:

ArcTan (x) - головне значення арктангенса в радіанах;

Cos (x) - косинус х (х - в радіанах);

Exp (x) -значення експоненціальної функції;

Frac (x) - дробова частина x;

Int (х) - ціла частина дійсного значення x;

Ln (х) - значення натурального логарифма х;

Sin (x)- синус х (х - в радіанах);

Sqr (x) - квадрат дійсного значення х;

Sqrt (х) - квадратний корінь з х.

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

Вираз складається з операцій і операндів. Операндом може бути константа, змінна або ім'я функції. Обчислення виконуються зліва направо з урахуванням пріоритету операцій. У мові Паскаль є чотири рівні пріоритету (подані в порядку зменшення:

1) операція заперечення NOT;

2) мультиплікативні операції *, /, DIV, MOD, AND, SHL, SHR;

3) адитивні операції +, -, OR, XOR;

4) операції відношення =, <>, <, >, <=, >=, IN.

Оператор переходу складається з ключового слова Goto, за яким йде мітка. Виконання цього оператора приводить до того, що керування виконанням програми передається на оператор, перед яким є відповідна мітка. Під час використання оператора переходу повинні виконуватись такі правила:

1) Областю дії мітки є той блок, в якому вона описана і перехід можливий лише всередині цього блоку;

2) забороняється перехід всередину структурного оператора.

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

Оператори введення-виведення Read, Readln, Write, Writeln дають змогу працювати з різними фізичними пристроями: клавіатурою, дисплеєм, принтером, дисководами та ін. Розглянемо організацію введення з клавіатури і виведення на дисплей.

Оператор введення Read призначений для надання необхідних значень даним програми. Формат оператора: Read (а1,а2,...,an), де а1,а2,...,an - змінні допустимих типів. Значення а1,..., аn під час введення відокремлюються пропуском, введення завершуються натискуванням клавіші Enter (повернення каретки або клавіша введення). Кількість значень, що вводяться, та їх типи повинні відповідати кількості і типам змінних в операторі Read. У противному разі виникає помилка введення-виведення. Наприклад, під час виконання фрагмента програми

Var i:integer;

c:Char;

……

Read (c,i);

Правильним є введення: А_1234.

Оператор введення Readln аналогічний оператору Read, проте наступний оператор введення-виведення буде вводити або виводити дані з нового рядка.

Оператор виведення Write служить для виведення значень змінних, виразів і рядків символів. Формат оператора: Writ e(а1,а2,...,аn), де а1,..., an - змінні допустимих типів, вирази або рядки. Рядок, коли вводиться, береться в одинарні лапки.

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

Var i:Integer;

S:String[10];

………………

t:=1234;s:=’ Формат ’;

Write (i: 6, i+i: 6, s: 10);

результат матиме вигляд

_ _1234_ _2468_ _ _ _Формат.

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

Write (-Pi: 10: 5, 29/3: 7: 4);

видає.результат

_ _-3.14159 _9.6667

Оператор виведення Writeln аналогічний оператору Write, проте наступний оператор введення-виведення буде вводити або виводити дані з нового рядка.

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

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

Виконання умовного оператора полягає в обчисленні логічного виразу. Якщо його значення True, то виконується оператор, що стоїть за словом then. Якщо значення виразу-умови False і умовний оператор не містить слова else, то його виконання завершується. Якщо є слово else, то виконується оператор, що стоїть після нього.

Загальні вигляди умовного оператора:

If <умова> then <оператор1>;

If <умова> else <оператор1> else <оператор2>;

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

Якщо в якій-небудь вітці умовного оператора треба виконати кілька операторів, то їх слід об'єднати в складений оператор. Один умовний оператор може входити в інший умовний оператор. В цьому випадку кожне слово else відповідає останньому перед ним then.

Таким чином, конструкція такого вигляду

If <умова1> thenIf <умова2> then <оператор1> else <оператор2>;

трактується як

If <умова1> then

begin If <умова2> then <оператор1> else <оператор2> end;

Приклади скороченої та повної форм умовного оператора:

If x>y then z:=x;

If x>y then Write (‘X більше Y’)

else begin z:=y; Write (‘X не перевищує Y’) end;

Блок-схема оператора If наведена на рисунку 1.1.

Рисунок 1.1 – Блок схема оператора If

Оператор вибору призначений для виконання одного з кількох можливих операторів. Він складається: з ключового слова Case, за яким йде селекторний вираз; ключового слова of; послідовності операторів, кожному з яких передує мітка (або список міток, або деякий діапазон значень міток), яка відокремлена від оператора двокрапкою (:); ключового слова end. Як і умовний оператор, оператор вибору може містити ключове слово else, яке повинно стояти останнім.

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

Загальний вигляд оператора вибору;

Case < вираз-селектор> of

<список міток 1>: <оператор1>;

…………………………………

<список міток N>: <оператор N>;

else <оператор>;

end;

Мітки та значення виразу-селектора повинні бути одного і того самого ординального типу. В списку міток вони відокремлюються одна від одної комою. Кожна мітка повинна бути унікальною, тобто зустрічатись лише один раз. Мітки оператора вибору, не описуються в розділі Label, і на них не можна переходити оператором Goto.

Наприклад,

Var letter: Char;

………………………………

Case UpCase(letter) of

‘A’,’E’,’I’,’J’,’O’,’U’,’Y’:Write (‘Латинська голосна’);

‘B’..’D’,’F’..’H’,’K’..’N’,‘P’..’T’,’V’..’X’,’Z’:Write (‘латинська приголосна’)

else Write (‘Дещо інше’)

end;

Блок-схема оператора Case наведена на рисунку 1.2.

Рисунок 1.2 – Блок - схема оператора Case

Методичні вказівки:

а) вивчити основні типи даних, та допустимі операції, зі змінними цих типів;

б) вивчити види умовних операторів, операторів вводу – виводу, синтаксичні особливості написання та правил роботи кожного з них;

в) розробити алгоритми розв`язання задач свого варіанту, записавши їх у вигляді блок-схем;

г) програма повинна правильно виконуватися за будь-яких припустимих значеннях початкових даних;

д) правильність роботи всіх гілок програми повинна бути перевірена на тестах.

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

1. Оператори умовного переходу.

2. Синтаксис повного та скороченого оператора умовного переходу.

3. Операторні дужки.

4. Блок-схема оператора умовного переходу.

5. Написати фрагмент програми по приведеній блок-схемі з використанням операторів умовного переходу.

6. Цілі, дійсні типи та логічний тип даних, операції над змінними цих типів.

7. Оператори вводу – виводу.

Date: 2015-12-12; view: 486; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию