
- •Перелік питань до самостійної роботи:
- •Індивідуальні завдання №1
- •Індивідуальні завдання №2
- •Варіанти індивідуальних завдань
- •Самостійна робота №2
- •Перелік питань до самостійної роботи:
- •Індивідуальні завдання №3
- •1. Арифметичні вирази. Лінійний обчислювальний процес
- •Індивідуальні завдання №4
- •Розгалужений обчислювальний процес.
- •Зв'язок між системами числення з основою 10 та основами 2n
- •Скорочення логічних виразів за картами карно
- •Основні блоки для запису алгоритму у вигляді блок – схеми
- •Основні стандартні функції та процедури
- •Структура програми на паскалі
Самостійна робота №2
Дайте відповіді на запитання та виконайте індивідуальні завдання згідно своєму варіанту. Перед виконанням індивідуального завдання ознайомтесь з теоретичним матеріалом та наведеними прикладами.
Перелік питань до самостійної роботи:
Як вивести число за певним форматом?
Які стандартні процедури та функції працюють тільки з числами цілочисельного типу?
Опишіть особливості використання оператору вибору? Чи можна замінити його іншими операторами розгалуження?
Які особливості має цикл з передумовою?
Які особливості має цикл з післяумовою?
Виконайте індивідуальні завдання №3 згідно своєму варіанту.
Виконайте індивідуальні завдання №4 згідно своєму варіанту.
Індивідуальні завдання №3
1. Арифметичні вирази. Лінійний обчислювальний процес
Арифметичні вирази (АВ) будуються з операндів, якими можуть бути константи, змінні й стандартні функції. В АВ також входять арифметичні операції й круглі дужки. У мові Паскаль визначено 6 арифметичних операцій, перелічимо їх відповідно до пріоритету, тобто, старшинством. Операції з однаковим пріоритетом рівноправні між собою й виконуються зліва праворуч, як і в математиці.
Пріоритет |
Знак операції |
Опис операції |
1 |
* |
множення |
/ |
ділення |
|
div |
ділення цілих значень із відкиданням залишку |
|
mod |
залишок від ділення цілих значень |
|
2 |
+ |
додавання |
– |
віднімання |
Операції div і mod визначені тільки для цілочисельних операндів. Приведемо приклад їхнього використання:
20 div 3=6
20 mod 3=2
Приклади арифметичних виразів ми приведемо після розгляду стандартних функцій мови Паскаль.
Стандартні функції служать для виконання елементарних математичних розрахунків, часто необхідних при написанні програм. Розроблювачі Паскаля прагнули зробити його програмне ядро максимально компактним, тому в нього не ввійшов ряд функцій, звичайно наявних в інших мовах, таких, як обчислення максимуму й мінімуму, зведення числа в довільний ступінь і ін. Фізично коди стандартних функцій зберігаються в стандартній бібліотеці Паскаля – файлі з ім'ям TURBO.TPL. Всі функції оформляються однаково: після імені функції треба привести її аргумент, укладений у круглі дужки. Якщо аргументів декілька, вони розділяються комами. Інформацію про основні стандартні функції зручно представити у вигляді таблиці (див. Додаток 4).
Запис арифметичних виразів.
1) Обчислити sin2x. На Паскалі запишимо так: sqr(sin(x)).
2) Обчислити sinx2. На Паскалі запишемо так: sin(sqr(x)).
3) Обчислити xn. Тому що у Паскалі немає функції зведення в довільний ступінь, скористаємося формулою xn=en lnx.
xn:=exp(n*ln(x));
4)
Обчислити
= exp(1/3ln(x)).
Зверніть увагу, що всі дужки у виразі повинні бути парними.
5) Обчислити k=tg(х). Так як функції тангенса в Паскале немає, запишемо цей вираз так: k:=sin(х)/cos(х);
6) При необхідності змінити звичайне старшинство операцій у записі виразу використовуються круглі дужки.
Наприклад:
Обчислити
.
Правильний запис: y:=(a+b)/2.
Неправильно:
y:=a+b/2,
тому що це означає
.
7) У записі виразів не можна пропускати знак *, як часто робиться у математиці.
b2-4ac ----> sqr(b)-4*a*c.
Тип виразу визначається старшим з типів вхідних у нього операндів (тобто стандартних функцій, змінних, констант). Старшинство типів ми можемо визначити по таблиці
Операція ділення / у Паскалі завжди дає дійсне число. Для ділення цілих чисел із цілим результатом (залишок відкидається) використовується функція div, а для узяття залишку від ділення двох цілих – mod.
Лінійний обчислювальний процес.
ЛОП являє собою набір операторів, виконуваних послідовно, один за іншим. Основу програми ЛОП становлять оператори присвоювання, введення та виведення даних.
Оператор присвоювання використовується для збереження результату обчислення виразу в змінній. Загальний вид:
<змінна> := <вираз>;
Знак := читається як "присвоїти".
Робота оператора:
Спочатку обчислюється значення виразу, що розташований праворуч від знака :=, потім результат записується в змінну, розташовану ліворуч від знака. Наприклад, після виконання оператора k:=k+2, поточне значення змінної k збільшиться на 2.
Записати послідовність операторів присвоювання, що забезпечують обмін значеннями змінних x і y у пам'яті комп'ютера.
c:=x;
x:=y;
y:=c;
де c – додаткова змінна того ж типу, що x і y, через яку здійснюється обмін. Грубою помилкою було б, наприклад, спробувати виконати обмін операторами x:=y; y:=x; - адже вже після першого з них ми маємо два значення y, а вихідне значення x загублене.
Команди введення (read, readln) даних. Надавати значення змінним можна двома способами: за допомогою команди присвоєння, наприклад х:=5, або команд уведення даних з клавіатури. Другий спосіб робить програму більш універсальною, оскільки дає змогу розв'язувати задачі для різних значень змінних.
Команда read має вигляд
read(змінна_1, змінна_2,..., змінна_n);
Дія команди. Виконання програми зупиняється. Система переходить у режим очікування введення даних (екран темний, миготить курсор). Значення цих даних користувач набирає на клавіатурі через пропуск або натискає після кожного даного на клавішу вводу. У результаті виконання цієї команди відповідним змінним будуть присвоєні конкретні значення.
Команда readln має вигляд
readln(змінна_1, змінна_2,..., змінна_n);
Вона діє як команда read з тою різницею, що зайві дані у рядку введення ігноруються. Наступна команда вводу читатиме дані з нового рядка.
Розглянемо програму Trykutnyk. Значення сторін трикутника можна ввести, наприклад, так: readln(a,b); read(c).
Тоді під час виконання програми на клавіатурі набираємо
5 3.6 (натискаємо на клавішу вводу)
4.2 (натискаємо на клавішу вводу)
У результаті виконання команд readln(a,b) та read(c) змінні отримають такі значення: а=5; b=3.6; с=4.2.
Зауваження. Команду readln без параметрів часто використовують у середовищі ТР для MS-DOS, щоб оглянути результати виконання програми на екрані. Щоб після цього перейти у режим редагування програми, потрібно натиснути на клавішу вводу. У середовищі ТР для Windows система виводить результати у окремому вікні, тому там цю команду писати не потрібно.
Зауваження. Значення змінних логічного й перерахованого типу вводити з клавіатури не можна.
Команди виведення (write, writeln) даних. Для виведення на екран повідомлень та результатів обчислень використовують команди write та writeln:
write(вираз_1, вираз_2,...вираз_n);
У списку виведення можуть бути сталі, змінні або вирази.
Дія команди. Сталі, значення змінних та виразів виводяться на екран у вікно виведення, яке можна переглянути за допомогою комбінації клавіш Alt+F5.
Команда
writeln(вираз_1, вираз_2,...вираз_n);
Діє майже так само як і команда write; різниця така: наступна після неї команда write чи writeln буде виводити значення на екран у новому рядку.
Для переходу на новий рядок екрана чи для пропуску рядка використовують команду writeln без параметрів.
Розглянемо програму Trykutnyk. Якщо в цій програмі задати такі команди виведення: write('p=',p); writeln('s=',s); writeln('Панчишин Ю.'), то для заданих вхідних даних а=5, b=3.6, с=4.2,на екрані отримаємо такий результат:
р= 1.2800000000E+01s= 7.429239530E+00
Форматний вивід.
Команди write та writeln можуть здійснювати форматний вивід даних.
Форматування — це подання результатів у наперед заданому користувачем вигляді. Для цього після виразу через двокрапку записують число (:n) — кількість позицій на екрані, які треба надати для виведення значення цього виразу. Формат :n застосовують для даних цілого та рядкового типів. Під час виведення даного дійсного типу зазначають загальну кількість позицій для всіх символів (n) та кількість позицій для дробової частини (m),тобто формат має вигляд :n:m.
Розглянемо команду виведення writeln('p=',p:5:2) у програмі Trykutnyk. Вона забезпечує виведення на екран рядкової сталої 'р=' без лапок (з метою пояснення, що обчислено) і числа 12,8 у форматі :5:2,тобто так: р=12.80.
Задача 1.
Скласти схему алгоритму й написати програму обчислення функції Y= f(x) при заданих значеннях x.
Побудуємо блок-схему:
За побудованою блок-схемою напишимо програму на Паскалі:
Program Formula;
Uses crt; (Приєднуємо модуль Crt}
Var x,Y:real; (Оголошуємо змінні)
BEGIN
Clrscr; (Очищуємо екран)
Writeln(‘vvedite x’); (Виводимо повідомлення, що треба ввести)
Readln(x); (Вводимо значення х)
Y:=(exp(3*ln(x))+2.78*x-cos(x))/abs(x-1.44); (Обчислюємо Y)
Writeln(‘Y=’,Y:6:2); (Виводимо значення Y)
Readln;
END.
Задача 2.
Обчислити периметр р та площу s трикутника зі сторонами а, b, с за формулою Герона.
Спочатку представимо алгоритм вирішення цієї задачі у вигляді блок – схеми.
Program Trykutnyk;
Uses Crt; (Приєднуємо модуль Crt}
Var a,b,c,p,s: real; (Оголошуємо змінні}
BEGIN
Clrscr; (Очищуємо екран)
Writeln(‘vvedite a,b,c’); (Виводимо повідомлення, що треба ввести)
Readln(a,b,c); (Вводимо значення a,b,c)
р:=а+b+с; (Обчислюємо периметр)
Writeln(‘p=’, p:5:2); (Виводимо значення периметра)
р:=р/2; (Обчислюємо півпериметр)
s:=sqrt(p*(p-a)*(p-b)*(p-c)); (Визначаємо площу трикутника)
Writeln('s=',s:5:2); (Виводимо значення площі)
Readln
END.
Символ * позначає операцію множення,/ – ділення, a sqrt(x) — це функція обчислення квадратного кореня з х. Два символи := позначають операцію присвоєння. Команда writeln призначена для виведення результатів.
Зауваження. Якщо не використовувати форматний вивід, то для даних цілого та логічного типу на екрані буде надано до 15 позицій, для даних дійсного типу - - 18. Дані дійсного типу виводяться у вигляді х.ххххххххххЕзнакхх, де х - будь-яка цифра, що часто є надлишковим. Такі числа на екрані можуть зливатися.
ВАРІАНТИ ІНДИВІДУАЛЬНИХ ЗАВДАНЬ
N варіанту |
Скласти схему алгоритму й написати програму обчислення функції Y=f(x) при заданих значеннях x. |
Скласти блок-схему та написати програму вирішення задачі.
|
1. |
при х=0.48 |
Обчислити периметр і площу прямокутного трикутника за заданим катетом та гострим кутом. |
2. |
при х=1.2 |
Обчислити довжину кола і площу круга за заданим діаметром.
|
3. |
при х=0.22 |
Ділянка лісу має форму рівнобічної трапеції. Обчислити її периметр і площу за заданими сторонами.
|
4. |
при х=2.01
|
Скільки секунд мають доба, тиждень, рік?
|
5. |
при х=1.4
|
Обчислити E=mυ2/2 та потенціальну P=mgh енергії тіла заданої маси m, яке рухається на висоті h зі швидкістю υ.
|
6. |
при х=4.5
|
Ціни на два види товарів зросли на p відсотків. Вивести старі та нові ціни.
|
7. |
при х=10.6 |
Обчислити площу поверхні S=4πr2 та об’єм V=4πr3/3 сфери за заданим радіусом r.
|
8. |
при х=1.5 |
Швидкість світла дорівнює 299792 км/с. Яку відстань долає світло за годину, добу? |
9. |
при х=0.66 |
Увести врожайність трьох сортів пшениці (36, 40 та 44 т/га) і розміри трьох відповідних полів (у га). Скільки зібрали пшениці з кожного поля і з трьох полів разом? |
10. |
при х= 0.86
|
Радіус Місяця дорівнює 1240 км. Обчислити площу S=4πr2 поверхні та об’єм планети V=(4/3)πr3.
|
11. |
при х= 2.44 |
Обчислити довжину гіпотенузи та площу прямокутного трикутника за заданими двома катетами.
|
12. |
при х=10.5 |
Обчислити об’єм та площу бічної поверхні куба, якщо відоме ребро.
|
13. |
при х= 2.1 |
Увести продуктивності роботи трьох труб, які наповнюють басейн, і час їхньої роботи. Скільки води набрано в басейні?
|
14. |
при х=3.4 |
Яку площу і периметр матиме квадрат описаний навколо круга заданої площі S.
|
15. |
при х= 1.6
|
Тіло падає з прискоренням g. Визначити пройдений тілом шлях h=gt2/2 після першої та другої секунди падіння.
|
16. |
при х=1.3 |
Обчислити периметр і площу прямокутного трикутника за заданими катетами.
|
17. |
при х= 1.56 |
Телефонні розмови з трьома населеними пунктами коштують c1, c2 та c3 коп/хв. Розмови тривали t1, t2 та t3 хв. відповідно. Яку суму нарахує комп’ютер до оплати за кожну розмову та за всі розмови взагалі?
|
18.
|
при х= 2.4 |
Обчислити площу бічної поверхні S=2πrh та об’єм V=πr2h діжки за заданою висотою h та радіусом основи r.
|
19.
|
при х=4.2 |
Обчислити катет та площу прямокутного трикутника за заданими гіпотенузою та другим катетом.
|
20.
|
при х=2.02 |
Обчислити сторону та площу S=d2/2 квадрата, якщо відома його діагональ d.
|
21.
|
при х=1.31 |
Обчислити площу бічної поверхні S=πrl та об’єм V=πr2h/3 конуса за заданою висотою h, твірною l та радіусом основи r.
|
22.
|
при х=1.08 |
Поїзд їхав t1 год. зі швидкістю v1 км/год., t2 год. зі швидкістю v2 і t3 год. зі швидкістю v3. Визначити пройдений ним повний шлях.
|
23. |
при х= 1.78 |
Дано два дійсних числа. Знайти середнє арифметичне та середнє геометричне цих чисел. |
24. |
при х=0.83 |
Три опори R1, R2, R3 з’єднані паралельно. Знайти опір усього з’єднання. |
25. |
при х=1.32 |
Визначити відстань між двома точками з координатами X1, Y1, X2, Y2. |
26. |
при х=3.2 |
Трикутник задано координатами його вершин. Знайти периметр та площу трикутника. |
27. |
при х=2.15 |
Знайти площу сектора, радіус якого дорівнює К, а дуга вміщує задане число радіан . |
28. |
; при х=1.67 |
Дано дійсне число а. Обчислити а5 та а19 за п’ять операцій. Використовувати тільки операцію множення. |
29. |
при х=2.17 |
Дано дійсне число а. Обчислити а4 та а20 за п’ять операцій. Використовувати тільки операцію множення. |
30. |
при х=1.07 |
Визначити час падіння каменю на поверхню землі з висоти h. |