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

bobalo(1)

.pdf
Скачиваний:
588
Добавлен:
12.02.2016
Размер:
1.24 Mб
Скачать

xa=ea ln x, тобто

( 2x -lg(4x))3= e3(ln( 2 x lg(4 x))) .

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

PROGRAM TEST1(INPUT, OUTPUT);

{опис змінних}

VAR X,Y:REAL;

BEGIN

 

WRITE(’Введи X ’);

{ввід значення Х}

READLN(X);

Y=SIN(EXP(3*LN(SQRТ(2*X)-LN(4*X)/LN(10))));

WRITELN(’Y=’, Y);

{вивід результату}

END.

 

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

1)tg(x) = sin(x) cos(x)

2)lg(x) = lnln10x

3)sh(x) = ex 2ex

4)ch(x) = ex 2ex

5)

th(x) =

sh(x)

=

e x ex

ch(x)

e x + ex

 

 

 

6)xa = ealn x

7)ax = ex ln a

8) arcsin(x) = arctg

x

1x2

3.КОНТРОЛЬНІ ЗАПИТАННЯ

1.Які правила запису ідентифікатора у мові Паскаль?

2.Що таке синтаксична діаграма і для чого вона використовується?

3.Які дані називаються константами?

4.Що таке змінна, її відмінність від константи?

5.Яка структура програми алгоритмічною мовою Паскаль?

51

6.Як описуються константи і змінні у мові Паскаль?

7.Які основні типи змінних застосовуються у мові Паскаль?

8.Чому всі змінні програми мовою Паскаль повинні бути обов’язково описаними?

9.Як представляються у пам’яті ЕОМ змінні цілого і дійсного типів?

10.Які правила запису оператора присвоєння?

11.Які операції використовуються у логічних виразах?

12.Які операції використовуються у арифметичних виразах?

13.Що таке сумісність типів в операторі присвоєння?

14.Які пріоритети операцій у мові Паскаль?

4.ЛАБОРАТОРНЕ ЗАВДАННЯ

1.Вивчити основні елементи алгоритмічної мови Паскаль, правила запису виразів і оператора присвоєння.

2.Одержати індивідуальне завдання (додаток).

3.Скласти програму алгоритмічною мовою Паскаль відповідно до завдання.

4.Виконати обчислення за програмою.

5.ЗМІСТ ЗВІТУ

1.Мета роботи.

2.Теоретичні відомості. Короткий опис конструкцій алгоритмічної мови Паскаль, що вивчаються.

3.Індивідуальне завдання.

4.Текст програми відповідно до індивідуального завдання.

5.Результати обчислень за програмою.

6.Аналіз результатів, висновки.

52

Додаток

Написати програму для обчислення таких арифметичних виразів. Змінні X, Y вводити з клавіатури. Константи задати в розділі визначення констант.

1. R = x2 +y 2 + z 2 де х=5.2, у=6, z = -2

2.U = (cos x+sin x), де x = 3.2

3.

y = xixi+1/

i , де x2 = 2.5, x3 = 6.7, i = 2

4.

Ti =

 

 

 

 

 

x

 

 

 

, де x = 0.49

 

 

 

 

 

x2

 

 

 

 

1

 

 

 

 

 

 

 

 

 

3

 

x2

 

 

 

 

 

 

 

 

 

 

 

5

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

z = x

 

 

 

 

 

x

+ 0.2x, де x = 6.4

 

 

x +1

6.

f =

 

 

xi

+sin xi

 

 

 

, де

i = 1,

xi = 2.5

 

 

 

 

xi

+ exi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

c =

xi2 + xi2+1 a

, де i = 1,

x1 = 2.6,

x2 = 2.8, a = 3,

b = 6

 

 

xi +b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

y = 1+xij

+

 

 

 

 

xij2

 

 

 

+

xij3

, де i = 1, j = 1, x11 = 2.6

 

 

 

2!

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9.

c =

x

1

 

 

lg(a +be px ) , де x = 2,

a = 3, p = 6,

b = 2

 

 

ap

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

10.

w =

 

7.39103 x

 

, де x = 2.6, k = 2

 

 

 

x5 (e1/ k 1)

 

 

 

 

 

 

 

 

 

 

 

 

11.

Tn+2 = 2x Tn+1-Nn, де n = 1, х = 2, T2 = 8, N1 = 2

 

12.

s =

 

 

x + y

 

(x +b)sin x ,де x = 2.6,

y = 7.3, b = 2.1

 

 

2x y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13.

a = 2-x

x4

+

/ y / ,

де x = 3.981,

y = -1,625

 

14.b =

15.z = a

16.a = 4

ex1/ sin z , де x = 3.981, z = 0.512

( y x ) +(3x ) y ,

де x = 3.251, y = 0.325, a = 2

y + 3 x +1 ,

де x = 17.421, y = 10.365

53

17.

b = x(arctg z+e-(x+3)),

 

де x = -0.622, z = 5.541

 

18.

b = x(sin arctg x +cos2y),

де x = 0.335, y = 0.025,

z = 32.005

19.

b = (1+tg

2

 

z

)

y +x

,

де x = 0.100, y = -0.875,

z = 0.765

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20.

a = lg( exy + x

 

y

 

+ z) ,

де x = 1.542,

y = -3.261, z = 80.005

 

 

 

 

21.

a =

yx +

 

x + y ,

 

 

де x = -0.851, y = 1.250

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

22.

a =

x x 3 y

, де x = 1.825,

y = 18.225

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

23.a = 10(3 x + x( y+2) ) , де x = 16.55, y = -2.75

24.b = (arcsin z)2+|x+y|, де x = 16.55, y = -2.75, z = 0.15

25.

a = 3

x + 4

 

y

,

де x = 37.15, y =-12.55

26.

b = lg(3 u + 4

v + 2) ,

де u = 125.331, v = 33.075

27.

a = (2 + y

2

)

 

 

x + y

2

, де x = 0.22, y = -6.72

 

 

 

 

 

 

y2

+1/(1+ y2 )

28.

b =

 

sin 2 arctgu + cos v , де u = 10.05, v = 0.35

29.

Q = u( x+ y) / 2

3

 

x 1

,

де x = -12.650,

 

 

 

 

 

 

 

 

y +1

 

 

 

 

y = -2.255,

 

u = 3.205

 

 

 

30.

b =

x +3(x y)+ x2

,

де x = -17.22, y = 6.33, z = 3.25

 

(x y)Z + x2

 

54

Лабораторна робота № 3 РЕАЛІЗАЦІЯ ЛІНІЙНИХ АЛГОРИТМІВ І АЛГОРИТМІВ З РОЗГАЛУЖЕННЯМ АЛГОРИТМІЧНОЮ МОВОЮ ПАСКАЛЬ

55

1. МЕТА РОБОТИ

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

2. ТЕОРЕТИЧНІ ВІДОМОСТІ

Одним із етапів розв’язування задач на ЕОМ є розроблення математичної моделі і алгоритму розв’язання.

Алгоритм – це точне визначення обчислювальних операцій, які ЕОМ повинна виконати, щоб прийти від початкових даних до шуканого результату.

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

Існують три методи опису алгоритмів:

1)словесний (природною мовою);

2)структурно-стилізований (алгоритмічною мовою псевдокоду);

3)мовою графічних символів (метод блок-схем).

2.1. МОВА ГРАФІЧНИХ СИМВОЛІВ

Для зображення структури алгоритму використовується сукупність блочних символів (блоків) з’єднаних лініями передачі управління. У схемі алгоритму кожному типу дій: введення–виведення, перевірка умови, обчислення, повторення дій тощо відповідає окрема фігура. Тип фігури і операцій, які вона відображає відповідно до державного стандарту 19.003–80 і 19.002–80, наведено в табл. 3.1.

Назва символу

Позначення

1

2

a

Операція (процес)

b

Розв’язання (умова)

Таблиця 3.1

Пояснення

3

Обчислювальна дія або послідовність обчислювальних дій

Перевірка умови

56

Продовження табл. 3.1

1

2

Модифікація

Процедурний

процес

Введення– виведення

10

З’єднувач

Пуск, кінець

b

0.5a

3

Початок циклу

Виклик підпрограми

Введення або виведення даних

Розрив ліній потоку

Початок і закінчення у програмі або підпрограмі

Співвідношення сторін: b = 1.5 а

За видом блок-схеми розрізняють алгоритми:

1)лінійної структури;

2)з розгалуженням;

3)циклічної структури.

Алгоритм лінійної структури – це такий алго-

ритм, де всі дії виконуються послідовно одна за однією і лише один раз. Блок-схема такого алгоритму наведена на рис.1.

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

1

Початок

2ввід а, b

3

S = a + b

4 вивід

S

5

кінець

Рис. 1. Блок-схема лінійного алгоритму

57

PROGRAM LIN (INPUT, OUTPUT); VAR S, A, B:REAL;

BEGIN

WRITE (’Введи a і b’); READLN (A, B); S:=A+B;

WRITELN (’Результат S=’, S) END.

Алгоритм з розгалуженням – це процес, в якому передбачено розгалуження послідовності дій залежно від перевірки деякої умови. Для прикладу продемонструємо блок-схему алгоритму і напишемо програму для знаходження максимального серед двох чисел a і b.

З блок-схеми рис. 2 видно, що залежно від виконання умови a>b змінній max присвоюється значення а. Якщо умова не виконується, тобто вираз a>b має значення FALSE, змінній max присвоюється значення b.

У програмі мовою Паскаль цей алгоритм відобразиться:

PROGRAM ROZ (INPUT, OUTPUT); VAR A, B, MAX:REAL;

BEGIN

WRITE (’Введи а і b’); READLN (A, B);

IF A>B THEN MAX:=A ELSE MAX:=B;

WRITELN (’Результат MAX=’, MAX) END.

1

Початок

2ввід а, b

3ні

a > b

4так 5

max = a

max = b

5 вивід max

6

кінець

Рис. 2. Блок-схема алгоритму з розгалуженням

2.2. КЛАСИФІКАЦІЯ ОПЕРАТОРІВ МОВИ ПАСКАЛЬ

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

1)оператори введення–виведення;

2)оператори присвоєння;

3)оператори управління;

4)оператори виклику процедур.

58

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

1)прості, які складаються з одного оператора;

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

До простих належать:

1)оператор присвоєння;

2)оператор виклику процедур;

3)оператор безумовного переходу.

До складних належать:

1)умовний оператор;

2)оператор вибору;

3)оператори циклу;

4)складений оператор.

2.3. СКЛАДЕНИЙ ОПЕРАТОР

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

Складений оператор має таку структуру: BEGIN

<оператор 1>; <оператор 2>;

…………….

<оператор n> END;

BEGIN

Оператор

END

;

Рис. 3. Синтаксична діаграма складеного оператора

Слова BEGIN та END називаються “операторними дужками”. Після BEGIN і перед END крапка з комою не ставиться.

2.4. ОПЕРАТОРИ РОЗГАЛУЖЕННЯ ПРОГРАМИ

Для реалізації розгалуження у програмах використовуються три оператори:

59

1)умовний оператор IF;

2)оператор вибору CASE;

3)оператор безумовного переходу GOTO.

2.4.1. Умовний оператор

Умовний оператор призначений для вибору однієї із двох можливих дій залежно від певної умови.

Структура оператора IF:

IF <логічний вираз> THEN <оператор1> ELSE <оператор2>;

Синтаксична діаграма рис. 4.

IF

Логічний

THEN

Оператор1

вираз

 

 

Рис. 4. Оператор IF

ELSE

Оператор 2

Спочатку обчислюється логічний вираз. Якщо значення виразу TRUE, то виконується “оператор 1”, вказаний після слова THEN. Якщо результат FALSE, виконується “оператор 2”, вказаний після службового слова ELSE.

Частина оператора із словом ELSE може бути відсутня. Тоді управління передається оператору, що стоїть після оператора IF.

Треба зазначити, що після службових слів THEN та ELSE може виконуватись тільки один оператор. Якщо користувачеві необхідно виконати кілька операторів, то їх треба взяти в операторні дужки BEGIN та END, тобто зробити ці декілька операторів складеним оператором.

Приклад:

обчислити x=sin(a*i); y=(b+c)/x.

При виникненні математичної некоректності ділення на нуль видрукувати відповідне повідомлення.

PROGRAM TEST1 (INPUT, OUTPUT);

VAR I:INTEGER;

A, B, C, X, Y:REAL;

BEGIN

WRITELN (’Введи а, b, c, i’);

READLN (A, B, C, I);

X:=SIN(A*I);

WRITE (’X=’, X)

IF X=0 THEN WRITELN (’Ділення на нуль’)

60

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