Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OT_METOD_KP_Ch1_2_0_0b

.pdf
Скачиваний:
22
Добавлен:
17.03.2016
Размер:
522.15 Кб
Скачать

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

Основні операції Turbo Pascal

Таблиця 2.4 - Математичні операції

Пріоритет

Позначення

Назва

Тип

 

 

 

операндів

 

 

 

 

 

 

 

Змішаний

2

*

Множення

(цілі,

 

 

 

дійсні)

 

 

 

 

2

/

Ділення

Змішаний

2

div

Ціла частина

Цілий

від ділення

 

 

 

 

 

 

 

2

mod

Остача від

Цілий

ділення

 

 

 

 

 

 

 

3

+

Додавання

Змішаний

 

 

 

 

3

-

Віднімання

Змішаний

 

 

 

 

Таблиця 2.5 - Логічні операції

Пріоритет

Позначення

Назва

 

 

 

1

not

Логічне заперечення «НЕ»

 

 

 

2

and

Логічне «І»

 

 

 

3

or

Логічне «АБО»

 

 

 

3

xor

Логічне «ВИКЛЮЧАЮЧЕ

АБО»

 

 

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

Змішаний, якщо обидва операнди цілі, результат буде теж цілим

Дійсний

Цілий

Цілий

Змішаний, якщо обидва операнди цілі, результат буде теж цілим

Змішаний, якщо обидва операнди цілі, результат буде теж цілим

Тип

Тип

операндів

результату

Логічний,

 

Логічний,

цілий

цілий

Логічний,

 

Логічний,

цілий

цілий

Логічний,

 

Логічний,

цілий

цілий

Логічний,

 

Логічний,

цілий

цілий

Таблиця 2.6 - Операції порівняння

Пріоритет

Позначення

Назва

Тип операндів

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

4

=

Рівне

Змішаний

Логічний

4

<>

Не рвіне

Змішаний

Логічний

4

>

Більше

Змішаний

Логічний

4

<

Менше

Змішаний

Логічний

4

>=

Більше або рівне

Змішаний

Логічний

4

<=

Менше або рівне

Змішаний

Логічний

 

 

23

 

 

Вбудовані функції та процедури

Таблиця 2.7 -

Математичні функції

 

 

 

 

 

 

 

Назва

Математичний

Тип

Тип

 

 

 

 

еквівалент

аргументу

результату

 

 

 

 

 

 

 

abs(x)

|

 

|

 

цілий,

цілий, дійсний

 

 

дійсний

sin(x)

sin

дійсний

дійсний

cos(x)

дійсний

дійсний

arctan(x)

cos

дійсний

дійсний

sqrt(x)

 

 

 

 

дійсний

дійсний

 

 

sqr(x)

 

 

цілий,

цілий, дійсний

 

 

 

 

 

дійсний

 

exp(x)

 

 

 

 

дійсний

дійсний

 

 

 

 

 

 

 

ln(x)

ln

 

 

дійсний

дійсний

 

 

 

 

 

pi

 

 

 

 

дійсний

frac(x)

 

 

 

 

дійсний

дійсний

int(x)

 

 

 

 

дійсний

дійсний

random

 

 

 

 

 

дійсний

 

 

 

 

 

 

 

random(x)

 

 

 

 

Word

Word

 

 

 

 

 

 

 

succ(c)

 

 

 

 

Порядковий

Порядковий

pred(c)

 

 

 

 

Порядковий

Порядковий

Результат розрахунку

абсолютне значення «x»

сінус «х» рад косинус «х» рад арктангенс «х»,

22

корінь квадратний з «х»

квадрат «х»

значення константи «е» в степені «х» натуральний логарифм «х»,

0

вбудована константа дробова частина «х» ціла частина «х» Випадкове число

01

Випадкове число

0

наступний за «с» символ попередній за «с» символ

Таблиця 2.8 - Математичні процедури

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Назва

Тип аргументу

Тип значення

Результат розрахунку

 

 

inc(x)

 

цілий

 

цілий

Збільшує «х» на 1

 

 

 

dec(x)

 

цілий

 

цілий

Зменшує «х» на 1

 

 

 

inc(x,n)

 

цілий

 

цілий

Збільшує «х» на «n»

 

 

 

dec(x,n)

 

цілий

 

цілий

Зменшує «х» на «n»

 

Таблиця 2.9 - Функції перетворення типів змінних

 

 

 

 

 

 

 

 

Назва

Тип аргументу

 

Тип

 

Результат розрахунку

 

 

 

 

 

значення

 

 

 

 

 

 

 

 

 

 

trunc(x)

 

дійсний

 

longint

 

ціла частина «х»

round(x)

 

дійсний

 

longint

 

Округлює «х» до цілого

odd(x)

 

цілий

 

логічний

повертає «true» якщо «х» непарне

chr(x)

 

byte

 

char

 

Символ ASCII коду «х»

ord(c)

 

char,

 

byte, longint

ASCII код символу «с», порядковий номер

 

 

порядковий

 

 

 

 

символу «с»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

Приклад часткового розв’язку задачі

Дано вираз:

 

де ,

,

||

Знайдемо ОДЗ виразу. Розіб’ємо вираз на окремі частини, випишемо ОДЗ для кожної з них, а потім об’єднаємо результат.

 

 

 

Вираз

ОДЗ

 

 

Пояснення

 

|

 

|

 

 

 

 

0

 

 

0

 

Степенева функція

 

 

 

 

 

 

 

 

 

Ділення на 0

 

 

 

 

 

 

 

 

 

 

Підкореневий вираз

 

 

|

|

 

 

 

 

 

 

0

 

Ділення на 0

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

|

 

 

 

0

 

 

 

Підкореневий вираз

 

 

 

 

 

 

 

 

 

0

Підлогарифмічний вираз

 

 

 

 

 

 

 

 

 

 

 

Результуюче ОДЗ:

0

0

Запишемо вираз на мові Turbo Pascal:

y=(x+exp( ln(x)*exp(x) )/sqrt( (a+x)/abs(a+x) )+ln(x+exp( ln(x)/n)/ln(5)

ОДЗ Pascalвиразу не змінилось.

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

1.Що таке тип даних?

2.Назвіть цілочисельні типи даних.

3.Назвіть дійсні типи даних.

4.Які значення може приймати значення логічного типу даних?

25

5.Яка різниця між типом shortint та byte?

6.Які значення може приймати змінна типу byte?

7.Яка різниця між типом longint та char?

8.Для чого використовується операція div?

9.Для чого використовується операція mod?

10.Які типи даних можуть використовуватись з операціями div або mod?

11.Який тип даних використовується для представлення символів? 12.Назвіть арифметичні операції які є в Turbo Pascal. Розташуйте

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

13.Назвіть вбудовані тригонометричні функції які є в Turbo Pascal. 14.Яким чином виконати в Turbo Pascal операцію піднесення до

степеню виду ax .

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

16.За допомогою яких функцій можна збільшити або зменшити цілочисельної змінної на 1.

17.Виконайте перетворення арифметичного виразу у вираз на мові Turbo Pascal. Випишіть ОДЗ для арифметичного виразу та виразу на мові Turbo Pascal. Порівняйте отримані ОДЗ між собою. Вираз задає викладач.

18.Як чином використовується форматований вивід в Turbo Pascal?

19.Для чого потрібно виконувати форматування тексту програми?

20.Виконайте форматування тексту програми. Текст програми надає викладач.

26

Комп’ютерний практикум №3

Процеси розгалуження. Частина 1.

Мета

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

Робоче завдання

Вивчити роботу оператора IF. Навчитись будувати алгоритм блоксхеми зі складною структурою.

Хід роботи

Вирішити задачу з використанням оператора IF та без використання логічних операцій AND та OR.

Перевіряти вираз на ОДЗ не обов’язково для всіх способів вирішення задачі.

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

27

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

 

 

 

,

,

,

 

 

,

 

 

 

 

 

1.

 

 

,

,

 

 

 

 

 

 

 

 

 

 

,

0

 

 

 

 

 

 

 

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

,

2 ,

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,в інших випадках

3.

 

 

 

 

 

 

 

 

 

 

 

 

 

,

0,

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

0,

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

| |

 

 

,

0,

 

 

 

 

4.

z

.

 

 

 

 

 

 

,

 

0,

 

5

 

 

 

 

 

 

 

 

 

 

 

,

,

 

0,

 

8

 

5.

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

5

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

,

0 ,

 

 

 

6.

 

 

 

5,

10

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

,

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

20,

0

 

10

 

 

7.

 

 

 

 

 

 

 

 

 

 

 

 

 

,

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

,

1

10

8.

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

,

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

,

0

 

 

 

 

 

 

 

 

 

 

0,

 

 

 

 

 

 

 

9.

 

 

 

 

,

0,

0

 

 

 

 

 

 

 

 

 

 

 

 

,

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,в інших випадках

 

 

 

10.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

|

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

28

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11.

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

,|

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,|

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,,

 

,

0

 

 

 

 

12.

 

 

 

 

|

 

 

 

 

|

 

|

|

 

 

 

 

13.

 

 

 

 

 

 

 

 

 

,

,

0,

3

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

 

|

 

,

0,4

10

14.

 

 

 

 

 

 

 

 

 

 

,

0,

0,

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

0,

;

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

,

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

,в інших випадках

15.

 

 

 

 

 

 

 

 

 

 

 

 

 

,

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,|

 

|

 

 

 

 

 

16.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

,

6

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|

 

 

 

 

 

 

|

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

,

,

 

 

 

.

17.

|

 

 

 

 

 

|

 

 

 

 

 

 

,

,

0

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

,

0

 

 

 

 

18.

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

0,

1

 

 

 

 

,

19.,

,в інших випадках

20.

,

0,

0

 

| |

,

4

4, 2

2

,

 

 

 

 

29

 

21.

|

|

 

,

0,

4

 

 

 

 

 

,

0,

0

 

 

 

 

 

,

 

 

 

 

,

 

3

 

 

 

 

 

 

 

 

22.

 

,

3

 

 

 

 

 

 

 

 

 

,

3

 

5,

3

23.

 

 

 

,

 

 

 

 

 

,

 

 

 

.,в інших випадках

24.

 

 

,

4,

5

|

|

| |

,

4,

5

,в інших випадках

 

 

 

,

3

3

25.

 

 

,

 

 

 

 

 

 

,3

,, 0, 20

26.

 

 

 

 

 

,в інших випадках

 

 

27.

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

,

1,

0

 

 

 

 

 

 

 

 

 

,

1,0

2

 

 

 

 

 

 

 

,в інших випадках

,

 

100

28.

 

 

 

 

 

,

 

 

 

.

 

 

 

 

 

 

,

 

 

 

,

1

29.

 

 

|

,

| ,

2

 

4,

,

10

 

 

 

 

 

 

 

 

30.

 

,

,

20

 

 

 

 

 

 

 

,

 

2

0

 

 

 

 

 

 

 

,

 

2,

 

 

 

 

 

 

 

 

 

,в інших випадках

 

 

 

30

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

Алгоритмічна мова Pascal є мовою структурного програмування. Одна з базових структур для опису алгоритмів це структура типу розгалуження. В мові Pascal для опису цієї структури є 2 оператори:

Оператор розгалуження IF

Оператор вибору CASE

Оператор IF

Узагальнений вигляд оператора IF

IF <логіний_вираз> THEN <оператор>

[ ELSE <оператор> ] ;

<логіний_вираз> - повинен у кінцевому розрахунку набувати значення логічного типу (True або False). Якщо значення умови (логічного виразу) рівне True, то виконується оператор наступний за ключовим словом THEN. Якщо значення умови рівне False, то виконується оператор за ключовим словом ELSE. Тобто оператор IF дозволяє поділити виконання програми на дві гілки. Гілка ELSE є не обов’язковою і може бути відсутня, в такому випадку, якщо умова рівна False, то виконується оператор наступний за оператором IF. Слід зазначити, що перед ELSE «;» не ставиться. Приклади використання оператора IF

Оператор IF з простою умовою та використанням ELSE

if a>b then writeln(a)

else writeln(b)

31

Приклад розв’язку задачі:

Намалювати алгоритм блок-схему та написати програму з використанням оператора IF та без використання логічних операцій. Перевірку на ОДЗ виконувати не потрібно:

x y

2x

, 2

x 5,

3

sin x

6y

,y

20

100

33.3

2 x

y sinx ,x

10,

Н рисунку 3.1 зображено блок-схему алгоритму рішення задачі в максимально розширеному варіанті (без оптимізації). На рисунку 3.2 зображено оптимізовану блок-схему алгоритму рішення задачі. В оптимізованому варіанті алгоритму відсутні «мертві» гілки рішення, тобто такі розгалуження, в які ніколи не буде передано керування.

32

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]