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

Автор работы: Пользователь скрыл имя, 07 Июня 2013 в 01:16, лабораторная работа

Описание работы

МЕТА: Ознайомитись з поняттям елементарних типів даних в мові Турбо Паскаль (ТР). Навчитись використовувати різні типи даних при написанні програм. Закріпити вивчений матеріал при створенні власних нескладних лінійних програм

Файлы: 1 файл

лаб01.doc

— 169.50 Кб (Скачать файл)

Лабораторна робота №1

 

ТЕМА:  Арифметичні операції та вирази

 

МЕТА: Ознайомитись з поняттям елементарних типів даних в мові Турбо Паскаль (ТР). Навчитись використовувати різні типи даних при написанні програм. Закріпити вивчений матеріал при створенні власних нескладних лінійних програм

Теоретичні відомості

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

 

Таблиця 1. Стандартні скалярні типи

Тип

Позначення

Приклади

Цілі числа

Integer 

5  –3  0  +123 

Цілі довжиною 1 байт

Byte

2  67  125

Короткі цілі

ShortInt

–127  25  100

Довгі цілі

LongInt

200000  340005

Цілі довжиною 1 слово

Word

65534  345

Дійсні числа

Real

23.56  12Е2  –3Е–13

Дійсні одинарної точності

Single

1.45  –2Е+33

Дійсні подвійної точності

Double

0.00005   34565.565

Зовнішні або розширені

Extended

 

Логічний (булевський) тип 

Boolean

TRUE  FALSE

Символьний (літерний) тип

Char

'd'   'v'   '$'  '5'  'ф'

Посилальний тип

Pointer

 

 

Таблиця 2. Структуровані типи

Рядковий тип

String

'Computer'   '12345'

Масиви

Array

 

Записи

Record

 

Множини

Set

[2,3,5,7,11]  ['s', 'r', 'd']

Файли

File, File of

 

Списки

   

Черги

   

Стеки

   

Числа у ТР  подаються:

1. В десятковій   системі   числення     (діапазон для  цілих    –32768..32767,    для  дійсних  (1Е–38..1Е+38).

2. В шістнадцятковій системі  числення (діапазон $0000..$FFFF).

 

Таблиця 3. Подання цілих чисел

Тип цілих

Діапазон

Формат

Byte (коротке довжиною 

1 байт)

0..255

1 байт без знаку

ShortInt (коротке ціле)

–128..128

1 байт зі  знаком

Word (ціле довжиною 

1 слово)

0..65535

2 байти без знаку

LongInt

(довге ціле)

–2147483648..

2147483647

4 байти зі знаком

Integer (ціле)

–32768..32767

2 байти зі знаком


 

Таблиця 4. Подання дійсних чисел

Тип дійсних

Діапазон

Кількість значущих цифр, формат

Real (дійсне)

2.9Е–39..1.7Е+38

11–12, 6 байтів

Single (одинарна точність)

1.5Е–45..3.4Е+38

7–8, 4 байти

Double (подвійна точність)

5Е–324..1.7Е308

15–16, 8 байтів

Extended (зовнішні або розширені)

3.4Е–4932..1.1Е4932

19–20, 10 байтів


 

Змінні і  константи всіх типів використовуються у виразах. Вираз задає порядок виконання дій над величинами і складається з операндів (констант, змінних, звернень до функцій), круглих дужок і знаків операцій. Операції визначають дії, які треба виконати над операндами. Наприклад, у виразі (X+Y–10) X, Y і 10 – операнди, "+" і "–" – знаки операцій додавання і віднімання. У найпростішому випадку вираз може складатися з одної змінної або константи. Круглі дужки ставляться так, як у звичайних арифметичних виразах для управління порядком виконання операцій. Використання круглих дужок навіть там, де в них немає необхідності з точки зору синтаксису, є прийнятним, якщо вони роблять порядок обчислень візуально більш чітким і зрозумілим.

 

Таблиця 5. Функції для величин цілого типу

Назва

Призначення

Приклади

ABS(i)

Знаходження абсолютного значення величини

ABS(–48) = 48; ABS(48) = 48

SQR(r)

Піднесення до квадрату

SQR(4) = 16; SQR(11) = 121

TRUNC(r)

Знаходження цілої частини числа

TRUNC(8.53)  = 8; TRUNC(–9.2) = –9

ROUND(r)

Знаходження найближчого цілого (з  округленням)

ROUND(8.53) = 9; ROUND(8.3) = 8;

ROUND((–8.53) = –9 

PRED(i)

Знаходження попереднього значення

PRED(6) = 5;

PRED(–6) = –7

SUCC(i)

Знаходження наступного значення

SUCC(6) = 7;

SUCC(–6) = –7

ODD(i)

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

ODD(11) = TRUE; ODD(20) = FALSE


Таблиця 6. Функції для величин дійсного типу

Назва

Призначення

Приклади

ABS(r)

Знаходження абсолютного значення величини

ABS(–48) = 48; ABS(48) = 48

SQR(r)

Піднесення до квадрату

SQR(4) = 16;

SQR(11) = 121

SQRT(r)

Знаходження квадратного кореня (r³0)

SQRT(2.48)=6.1504;

SQRT(4)=2.0

TRUNC(r)

Знаходження цілої частини числа

TRUNC(8.53)  = 8; TRUNC(–9.2) = –9

ROUND(r)

Знаходження найближчого цілого (з  округленням)

ROUND(8.53) = 9; ROUND(8.3) = 8;

ROUND((–8.53) = –9 

FRAC(r)

Знаходження дробової частини

FRAC(2.4)=0.4; FRAC(–2.4)=–0.4

SIN(r)

Знаходження значення синуса

SIN(2.48)=0.61437

COS(r)

Знаходження значення косинуса

COS(2.48)=–0.789

ARCTAN(r)

Знаходження значення арктангенса

ARCTAN(2.48)=1.1857

LN(r)

Знаходження значення значення натурального логарифма (r>0)

LN(2.48)=0.090825

EXP(r)

Знаходження значення експоненціальної функції

EXP(2.48)=11.9412

INT(r)

Знаходження найближчого цілого числа (без округлення)

INT(2.98)=2.0;

INT(–1.3)=–1.0


Таблиця 7. Функції для величин логічного типу

Назва

Призначення

Приклади

PRED(L)

знаходження попереднього значення для L

PRED(TRUE) = FALSE;

PRED(FALSE) = TRUE

SUCC(L)

знаходження значення, наступного за L

SUCC(TRUE) = FALSE;

SUCC(FALSE) = TRUE

ORD(L)

знаходження порядкового номера значення L

ORD(FALSE)=0; ORD(TRUE)=1


Таблиця 8. Функції для величин символьного типу

Назва

Призначення

Приклади

ORD(c)

порядковий номер символа c в  заданому символьному наборі

ORD('A') = 65;

ORD(#4) = 4

CHR(i)

символ, що відповідає числу i згідно з кодами  ASCII

CHR(65)='A'

PRED(c)

символ, що передує символу c

PRED('B') = 'A'

SUCC(c)

символ, що є наступним за символом c

SUCC('A')='B'

UPCASE(c)

символ верхнього регістру, відповідний  ‘a’..’z’ 

UPCASE(‘a’)=’A’


Всі типи даних, що використовуються у ТР, поділяються на прості і  складені.

Простий тип даних визначає тип одного окремого значення.

Складений тип даних визначає структуру з простих типів.

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

До складених типів відносяться масив, запис, множина, файл, посилання, об’єкт.

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

Дискретний тип даних – такий тип даних, кількість можливих значень якого обмежена (скінченна). Наприклад, тип Byte має 256 значень.

Неперервний тип даних – тип даних, кількість можливих значень якого нескінченна.

Неперервними у Турбо Паскалі  є лише дійсні типи. Решта простих  типів є дискретними.

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

Type  ім’я_типу = опис типу;

Ім’я_типу – ідентифікатор, опис типу надається у відповідності з  синтаксисом мови.

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

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

Формат опису перелічувального типу:

Type ім’я_типу = (константа1[, константа2, …константаN]);

Імена констант є ідентифікаторами.

Приклад.

Type Rainbow = (Red, Orange, Yellow, Green, LightBlue, Blue, Magenta);

Var A: Rainbow;

Begin

  A:= Orange;

End.

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

До змінних перелічувального типу можна застосовувати операції порівняння =; <>; <; >; <=; >=, функції PRED, SUCC, ORD.

Приклади. PRED(Green) = Yellow; SUCC(Blue) = Magenta; ORD(Orange)=1; ORD(Red)=0;

Існує можливість перетворити ціле число у константу перелічувального типу. Для цього використовується функція, ім’я якої співпадає з назвою перелічувального типу.

Приклад. A := Rainbow(3); {A=Green}

До даних перелічувального типу не застосовні стандартні операції введення–виведення.

Діапазон – простий дискретний тип, який визначає підмножину значень певного базового типу. Базовим може бути будь–який простий дискретний тип, в тому числі і перелічувальний, введений програмістом.

Формат опису типу діапазон:

Type ім’я_типу = мінімальне_значення .. максимальне_значення;

Приклад.

Type Century20=1901..2000; {для цього типу  базовим є тип Integer}

         HotColors=Red..Yellow; {для цього типу базовим є  тип Rainbow}

Var  C: HotColors;

C:=Red; {правильне присвоювання}

C:= Green; {помилка}

До даних типу діапазон застосовні всі дії, які застосовні до даних  базового типу. 

Приклад розв’язування завдань

  1. Задати два цілі числа, наприклад, 24 і 5. Обчислити і вивести на екран їхню суму, різницю і добуток.

Розв’язання:

Program Zadacha 1;

VAR a, b, s, r, d: integer;

Begin

A:=24; b:=5;

S:=a+b;

R:=a-b;

D:=a*b;

Writeln (s, r, d);

End.

 

  1. Запишіть імена, які можна утворити з трьох символів: а, b, 4.

Розв’язання: ab4, ba4, a4b, b4a.

 

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

А) 5 div 2;  B) 2 div 3;  C) 13 mod 2; D) –13 mod 5.

Розв’язання: А) 5 div 2 = 2; B) 2 div 3 = 0; C) 13 mod 2 = 1; D) –13 mod 5 = -3.

 

 

 

 

 

Варіанти завдань 

 

ВАРIАНТ 1

  1. Записати вираз у=х2-3|x|+2 у вигляді зрозумілому мові програмування Тurbo Рascal.
  2. Яких значень набудуть такі функції та вирази: а) sqrt(81); б) sqr(5); в)abs(4); г) cos (151 div 322); д)PRED(859); е) SUCC(786); ж) TRUNC(18.543); з) FRAC(42.44).
  3. Запишіть вирази у вигляді зрозумілому мові програмування Тurbo Рascal: а) х121; б) (у-х)21.
  4. Дано функцію у = . Складіть програму для обчислення її значення в деякій точці.
  5. Задати два цілі числа, наприклад, 124 і 15. Обчислити і вивести на екран їхню суму,  цілу частину від ділення і добуток.
    1. Запишіть імена, які можна утворити з трьох символів: 12, Ж, d, a.
    1. Обчислити занчення виразів: А) 15 div 7;  B) 12 div 13;  C) 113 mod 7; D) –113 mod 15.

 

 

 

ВАРIАНТ 2

  1. Записати вираз y= у вигляді зрозумілому мові програмування Тurbo Рascal.
  2. Яких значень набудуть такі функції та вирази: а) sqrt(4); б) sqr(9); в)abs(-584); г) cos (235 div 235); д)PRED(59); е) SUCC(76); ж) TRUNC(1.3); з) FRAC(27.54).
  3. Запишіть вирази у вигляді зрозумілому мові програмування Тurbo Рascal: а) х+у121; б) у*х+с21.
  4. Дано функцію y=|x-5|+|x+4|-3x+2. Складіть програму для обчислення її значення в деякій точці.
  5. Задати два цілі числа, наприклад, 14 і 115. Обчислити і вивести на екран їхню дробову частину від ділення, цілу частину від ділення і добуток.
  6. Запишіть імена, які можна утворити з трьох символів: 3, 2, В, _.
  7. Обчислити занчення виразів: А) -115 div 17;  B) 2 div 13;  C) 13 mod 15; D) –3 mod 5.

 

 

ВАРIАНТ 3

  1. Записати вираз   у вигляді зрозумілому мові програмування Тurbo Рascal.
  2. Яких значень набудуть такі функції та вирази: а) sqrt(36); б) sqr(6); в)abs(-789); г) cos (255 mod 255); д)PRED(1); е) SUCC(0); ж)TRUNC(1.453); з) FRAC(257.1).
  3. Запишіть вирази у вигляді зрозумілому мові програмування Тurbo Рascal: а) c2х+cx121; б) (у-х)3.
  4. Дано функцію . Складіть програму для обчислення її значення в деякій точці.
  5. Задати два цілі числа, наприклад, -17 і 15. Обчислити і вивести на екран їхню дробову частину від ділення, цілу частину від ділення і суму.
  6. Запишіть імена, які можна утворити з трьох символів: 15, g, ;.
  7. Обчислити занчення виразів: А) 15 div (-17);  B) 22 div 13;  C) 13 mod (-5); D) –3 mod 5.

 

ВАРIАНТ 4

  1. Записати вираз .  у вигляді зрозумілому мові програмування Тurbo Рascal.
  2. Яких значень набудуть такі функції та вирази: а) sqrt(121); б) sqr(0); в)abs(0); г) cos(123 div 255); д)PRED(45); е) SUCC(121); ж)TRUNC(1.451); з) FRAC(-57.112).
  3. Запишіть вирази у вигляді зрозумілому мові програмування Тurbo Рascal: а) uv+v12; б) (у+х)31.
  4. Дано функцію . Складіть програму для обчислення її значення в деякій точці.
  5. Задати два цілі числа, наприклад, 187 і -75. Обчислити і вивести на екран їхню цілу частину від ділення, різницю і добуток.
  6. Запишіть імена, які можна утворити з трьох символів: 9, g, [ .
  7. Обчислити занчення виразів: А) -1 div (-7);  B) 278 div (-13); C) 5 mod (-1); D) –3 mod (-15).

Информация о работе Арифметичні операції та вирази