Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
299.01 Кб
Скачать

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

Складемо алгоритм розв’язування поставленої задачі у вигляді блок-схеми (рис.1).

При записі алгоритму мовою Turbo Pascal кожному блоку схеми співставляється оператор або група операторів алгоритмічної мови.

Блоку «Початок» співставляються розділи program, var і, якщо потрібно, розділ type. В розділі var описуються дані задачі. В нашій задачі такими є x, y (вхідні дані) та значення виразу f (вихідні дані). Всі елементи можуть приймати дробові значення, тому їх необхідно описати як дані дійсного типу.

program ost_lab1;

var

x,y,f:real;

Першому блоку співставляється відкриваюча операторна дужка begin і звернення до процедури read:

begin

read(x,y);

Другому блоку співставляється оператор присвоєння

f:=(exp(0.4*ln(abs(sin(x))))*exp(-x)+

exp(2.1*ln(abs(cos(x))))/(x*x+y*y+1);

Третьому блоку співставляється звернення до процедури writeln:

writeln(x:10:4, y:10:4, f:10:4);

Блоку «Кінець» співставляється закриваюча операторна дужка

end.

Якщо об’єднати всі оператори та звернення до стандартних процедур, можна одержити таку програму:

program ost_lab1;

var

x,y,f:real;

begin

write(‘x=’); readln(x);

write(‘y=’); readln(y);

f:=(exp(0.4*ln(abs(sin(x))))*exp(-x)+

exp(2.1*ln(abs(cos(x))))/(x*x+y*y+1);

writeln(‘f=’, f:1:4)

end.

Деякі зауваження до формату запису програми. В Turbo Pascal допускається довільний формат запису програм. Нашу програму можна було б записати і в такому форматі:

Program ost_lab1;Var x,y,f:real; begin write(‘x=’); readln(x); write(‘y=’); readln(y); f:=(exp(0.4*ln(abs(sin(x))))*exp(-x)+exp(2.1*ln(abs(cos(x))))/

(x*x+y*y+1); writeln(‘f=’, f:1:4) end.

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

  1. З яких розділів складається програма на мові Turbo Pascal?

  2. В якій послідовності повинні бути записані розділи програми на мові Turbo Pascal?

  3. Стандартні типи в Turbo Pascal.

  4. Дані цілочисельних типів. Які значення можуть приймати та які операції можна виконувати над даними цілочисельних типів?

  5. Дані дійсних типів. Які значення можуть приймати та які операції можна виконувати над даними дійсних типів?

  6. Арифметичні вирази. Правила запису арифметичних виразів.

  7. Оператори присвоєння.

  8. Стандартні процедури введення з клавіатури та виведення інформації на екран. Формати виведення даних.

  9. Чи є різниця з точки зору мови Turbo Pascal між числами 100 і 100.0, між 20 і 20.0? За якою ознакою (величині чи формі запису) цілі числа відрізняються від дійсних?

  10. Чи можна стверджувати, що в Turbo Pascal значення виразу (1/3)*3-1 дорівнює 0?

  11. Чому знак множення завжди виписується явно (наприклад, пишуть а*t, а не at)?

  12. Скільки операцій виконується при обчисленні виразу (x+1/2)*(y+7/10)-3/4? Чи можна скоротити число операцій?

  13. Чому в Turbo Pascal аргумент функції завжди записується в дужках (наприклад, пишуть ln(5), а не ln5)?

  14. Як записати на Turbo Pascal величину основи натуральних логарифмів (число е), якщо ви забули цифри цього числа? Як записати число  в схожій ситуації?

  15. Чи правильно записані такі оператори присвоєння? Відповідь обгрунтувати.

а) k:=k mod 3+k*cos(0);

б) x:=x*2 div 6+x/4.

16. Змінній d присвоїти дробову частину додатного числа x.

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