Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_Pascal.doc
Скачиваний:
7
Добавлен:
13.11.2019
Размер:
5 Мб
Скачать

1.3Методичні вказівки до виконання роботи № 1.

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

Abs(X) – обчислює модуль числа X;

ArcTan(X:Real) –обчислює арктангенс числа X, вираженого в радіанах;

Cos(X:Real) –обчислює косинус числа X, вираженого в радіанах;

Exp(X:Real) – підносить число e до степеня X;

Frac(X:Real) – виділяє дробову частину числа;

Int (X:Real) – виділяє цілу частину числа;

Ln (X:Real) – обчислює натуральний логарифм числа ;

Pi – значення числа ;

Sin(X:Real) –обчислює синус числа X, вираженого в радіанах;

Sqr(X) – обчислює квадрат числа X;

Sqr(X:Real) – обчислює квадратний корінь із числа X.

Перед виконанням роботи слід детально ознайомитись із математичними функціями, які дозволяє використовувати компілятор Паскаля. Для запису математичних функцій, не реалізованих у мові програмування, необхідно виразити їх через інші елементарні функції. Наприклад: , . Для піднесення до степеня використовують тотожність: ab=ebln(a). Зворотні тригонометричні функції виражають через арктангенс: , .

При написанні тексту програми треба використовувати коментарі: в якості коментарів у Паскалі використовують фігурні дужки {} . Для зміни пріорітету або при непевності в черговості виконання операцій EOM треба використовувати дужки “()”.

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

1.4Приклад виконання завдання.

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

Задано функції: Z(x,y)=arctg(xy)(x2y2+2) і W(x,y)= . Скласти блок-схему алгоритму та програму, яка б обчислювала задані вирази для довільних x, y.

1.4.1Постановка задачі.

Проаналізуємо дані.

Константи: 2,4  цілі числа, =3.141592  дійсна;

Вхідні дані: змінні x,y дійсні;

Вихідні дані: змінні Z, W дійсні.

Спростимо вирази для зменшення кількості математичних операцій: a:=xy; b:=a2, тоді Z:=arctg(a)(b+2); W:= .

Ескіз формату введення/виведення даних:

Введіть значення x,y: 1, 3 <Enter>

Z= xxxxxxx W= xxxxxxx

1.4.2Розробка структури даних.

Згідно проведеного аналізу здійснюється розробка структури даних, яка враховує вхідні/вихідні та проміжні змінні. Приклад розробки стуктури даних наведено в Табл. 1 .2.

Табл. 1.2. Приклад розробки структури даних.

пп

Позначення

Ім’я

Тип

Призначення, опис

1

x

x

Дійсна

Аргумент функції, вхідна

2

y

y

Дійсна

Аргумент функції, вхідна

3

Z

z

Дійсна

Значення функції, вихідна

4

W

w

Дійсна

Значення функції, вихідна

5

a

a

Дійсна

xy

6

b

b

Дійсна

a2

7

Pi

дійсна константа

Число 

1.4.3Розробка блок-схеми алгоритму.

Рис. 1.1. Приклад блок-схеми алгоритму.

1.4.4Перевірка блок-схеми.

Нехай x=1; y=2, тоді, обчислюючи за блок схемою, отримаємо:

1) а=2; 3) Z=arctg(2)/(4+2)=0.235494;

2) b=4; 4) W=

1.4.5Запис тексту програми.

Program lab1; {Лаб. роб. №1}

var x,y,z,w:real;

begin

write(‘Введіть значення x, y’);

readln(x,y);

a:=x*y;b:=a*a;

z:=arctan(PI*a)(b+2);

w:=sqrt(4+b)a;

writeln(‘z=‘,z,’ w=‘,w);

end.

1.4.6Тестування та налагодження.

В цьому розділі вказуються помилки, які були виявлені під час набору та тестування програми. Наводяться результати роботи програми для декількох різних x та y. Наприклад:

Помилка при виведенні даних. Щоб вивести дані згідно ескізу, необхідно замість writeln(z,w) записати writeln(‘z=‘,z,’ w=‘,w);

В результаті виконання програми отримано наступні результати:

Введіть значення x,y: 1,2 <Enter>

Z=.235494 W=.828427

Результати перевірки алгоритму та запуску програми співпадають.