- •Загальні вимоги до оформлення звітів з лабораторних робіт
- •Лабораторна робота № 1. Програмування лінійного обчислювального процесу
- •Завдання: скласти програми мовами Паскаль та Сі для обчислення математичного виразу згідно з варіантом завдання1.
- •Опис програмного інтерфейсу з користувачем.
- •Завдання: скласти програми мовами Паскаль та Сі для визначення:
- •Математична постановка задачі.
- •Тестовий приклад.
- •Аналіз результатів роботи програми.
- •Опис програмного інтерфейсу з користувачем.
- •Лабораторна робота № 2. Програмування розгалуженого обчислювального процесу
- •Завдання:
- •Завдання: скласти програму мовою Паскаль та Сі для обчислення
- •Аналіз результатів роботи програми.
- •Опис програмного інтерфейсу з користувачем.
- •Завдання:
- •Завдання: скласти програми мовами Паскаль та Сі для обробки натиснення клавіш на клавіатурі:
- •Завдання: скласти програми мовами Паскаль та Сі для перевірки, чи належить точка з координатами (х, у) до заданої області(див. Варіанти завдань).
- •Аналіз результатів роботи програми.
- •Опис програмного інтерфейсу з користувачем.
Загальні вимоги до оформлення звітів з лабораторних робіт
Звіт з лабораторної роботи повинен мати в своєму складі:
завдання до лабораторної роботи;
математичну постановку задачі, яка містить:
опис вхідних даних, їх типів та у разі необхідності опис обмежень на вхідні дані;
опис вихідних даних, їх типів;
математичну модель задачі;
схему алгоритму з коментарями до неї;
тестовий приклад для перевірки вірності та повноти отриманого рішення (необхідно навести варіант вирішення задачі вручну);
роздрук та аналіз результатів роботи програми;
опис програмного інтерфейсу з користувачем;
тексти програм мовами Паскаль та Сі.
Лабораторна робота № 1. Програмування лінійного обчислювального процесу
Завдання: скласти програми мовами Паскаль та Сі для обчислення математичного виразу згідно з варіантом завдання1.
Рекомендації до виконання роботи.
Для програмованого обчислення виразів у більшості випадків необхідно використовувати математичні функції зі стандартних бібліотек мов програмування. Якщо в бібліотеці немає необхідної математичної функції, треба її виразити через ті, що визначені. Наприклад, стандартом мови Паскаль не передбачена функція arccos(x), але існує arctg(x). За тригонометричною формулою
arccos(x)=arctg , де x 1. (1)
Стандартом мови Паскаль не передбачена операція піднесення до степеня ха, де а>2. Для обчислення степеня можна використати формулу:
xa=ealnx (2)
Обчислення логарифмів:
logax=ln x / ln a (3)
Якщо вираз складний, або в ньму є частини, що повторюються, для спрощення запису цього виразу необхідно ввести проміжні змінні. Наприклад:
В заданому виразі частина повторюєтья двічи, тому доцільно ввести додаткову проміжну змінну :
.
Вхідний вираз набуває вигляду:
Приклад виконання роботи
Завдання: скласти програму мовою Паскаль та Сі для обчислення
.
Математична постановка задачі.
Вхідні дані |
Дії |
Вихідні дані |
x, z дійсного типу. Обмеження: ; x0. |
|
a – дійсне. |
В раховуючи те, що мовою Паскаль не передбачено обчислення функція arccos, здійснено перетворення даного виразу за формулою 1:
Тестовий приклад.
Як приклад розглянемо 3 випадки:
x=0.5, z=-0.7;
x=2.5, z=0.5;
x=7, z=0; .
Аналіз результатів роботи програми.
Вхідні дані |
Вихідні дані |
||
Розрахунок вручну |
Паскаль |
Сі |
|
x=0.5, z=-0.7 |
1.08395 |
1.0839 |
1.0840 |
x=2.5, z=0.5 |
1.618022 |
1.6180 |
1.6180 |
x=7, z=0 |
3.315958 |
3.3160 |
3.3160 |
Похибка, що отримана під час програмного розрахунку не перебільшує 0.001, тому можна вважати програмні розрахунки вірними.
Опис програмного інтерфейсу з користувачем.
Після запуску програми на екран виводиться повідомлення-запрошення про введення даних. Необхідно ввести значення x та z, враховуючи обмеження на дані, що визначені в математичній постановці задачі.
Після розрахунку на екран виводиться значення а.
Для завершення роботи програми необхідно натиснути будь-яку клавішу на клавіатурі.
Текст програм мовами Паскаль та Сі.
Uses Crt; |
#include <stdio.h> |
Var |
#include <conio.h> |
a, x, z : real; |
#include <math.h> |
begin |
main() |
ClrScr; |
{ |
Write(‘Введіть значення змінних x, z : ’); |
float a, x, z; |
ReadLn(z, x); |
clrscr(); |
a:=Sqrt(x*arctan(1/sqrt(1-sqr(x))); |
printf(“Введіть значення змінних x, z: ”); |
WriteLn(‘a= ‘ , a:9:4) ; |
scanf(“%f%f”, &x, &z); |
readkey; |
a= sqrt(x*acos(z)); |
End. |
printf(“\n a= %9.4f \n”, a); |
|
getch(); |
|
} |
Варіанти завдань
1.