Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Лабораторна робота № 13-14

Читайте также:
  1. Word. Робота з великими документами
  2. Вешалка для игл лабораторная
  3. Глава 36. Лабораторная крыса
  4. Глава IV Робота Суду
  5. Дипломних проектах (роботах)
  6. Індивідуальна робота вчителя-вихователя у навчально-виховному процесі. Робота з важковиховуваними учнями.
  7. Індивідуально – консультативна робота студентів

Тема. Обчислення значень математичних функцій. Табуляція функцій

Мета:Навчитись писати програми на мові С для обчислення значень математичних функцій, які знаходяться в бібліотечному файлі math.h. Протабулювати задану функцію на заданому проміжку і з заданим кроком.

1 Короткі теоретичні відомості

Бібліотека математичних функцій. Велика частина можливостей мови С міститься в стандартних бібліотечних функціях. Розглядаються наступні класи функцій.

- Математичні функції.

- Функції роботи з часом і датами.

- Функції обробки похибок.

- Функції пошуку і сортування даних.

Математичні функції. Велика частина можливостей мови С міститься в стандартних бібліотечних функціях. Розглядаються наступні класи функцій.

1. Математичні функції.

2. Функції роботи з часом і датами.

3. Функції обробки похибок.

4. Функції пошуку і сортування даних.

Прототипи математичних функцій знаходяться в бібліотечному файлі math.h. Всі вони повертають значення типу double. (дійсні числа з подвійною точністю). Аргументи тригонометричних функцій задаються в радіанах, а не в градусах.

1 рад. = 57.296

360 = 2рі рад.

 

Прототипи математичних функцій наведено в табл. 1.

 

Таблиця.1 Прототипи математичних функцій

№ п/п Функція Прототип Значення
2. Тригонометричні функції
  arccosx double acos(double x) Повертає арккосинус x. Аргумент знаходиться в межах , значення функції - в інтервалі .
  arcsinx double asin(double x) Повертає арксинус x. Аргумент знаходиться в межах , значення функції - в інтервалі .
  arctgx double atan(double x) Повертає арктангенс x. Аргумент знаходиться в межах , значення функції - в інтервалі .
  arctg2x double atan2(double x, double y) Повертає арктангенс . Аргумент знаходиться в межах , значення в інтервалі .
  cosx double cos(double x) Повертає косинус x. Значення функції знаходиться в інтервалі
  sinx double sin(double x) Повертає синус x. Значення функції знаходиться в інтервалі
  tgx double tan(double x) Повертає тангенс x. Значення функції знаходиться в інтервалі .
3. Степеневі і логарифмічні функції
  exp() double exp(double x) Повертає експоненту аргументу
  log() double log(double x) Повертає натуральний логарифм аргументу, який має бути додатним
  log10() double log10(double x) Повертає логарифм по основі 10 аргументу, який має бути додатним
  ldexp() double ldexp(double x, int y) Повертає
4. Інші математичні функції
  double sqrt(double x) Повертає квадратний корінь аргументу x, який має бути додатнім
  ceil() double ceil(double x) Повертає найменше ціле число, яке перевищує аргумент, 4.5=5, а –4.5=-4
  int abs(int x) Повертає абсолютне значення аргументу цілого типу
  long int labs(long int x) Повертає абсолютне значення аргументу довгого цілого
  floor() double floor(double x) Повертає найбільше ціле число, яке не перевищує аргумент, -4.5=-5, а 4.5=4
  double pow(double x, double y) Повертає . Якщо , і у 0 або і у не ціле, то помилка
  fmod() double atan2(double x, double y) Повертає дійсну остачу від ділення , з тим знаком, що в , якщо х=0, функція повертає 0

 

2 Постановка завдання.

 

Протабулювати функцію, задану у варіанті на проміжку з кроком (b-a)/k, де (k=10). Результати обчислень вивести на екран у вигляді таблиці пар чисел і . Виконати завдання пошуку і обробки даних відповідно до варіанту. Якщо дані не існують, вивести про це повідомлення.

3 Варіанти індивідуальних завдань

№вар. Функція Проміжок Пошук і обробка даних
1. Обчислити суму першого і останнього значення функції. Визначити кількість всіх значень функції.
2. Обчислити суму всіх значень функції, для яких виконується нерівність
3. Обчислити добуток всіх значень функції, для яких виконується нерівність
4. Обчислити суму першого і останнього значення функції. Визначити кількість всіх значень функції.
5. Обчислити середнє арифметичне всіх від’ємних значень функції
6. Обчислити середнє арифметичне всіх додатних значень функції
7. Обчислити добуток значень аргументу , для яких досягається мінімальне та максимальне значення функції.
8. Визначити суму додатних значень функції.
9. Обчислити суму значень аргументу , для яких досягається мінімальне та максимальне значення функції.
10. Визначити кількість від’ємних значень функції.
11. Обчислити модуль першого і останнього значення функції.
12. Обчислити суму мінімального та максимального значення функції.
13. Обчислити добуток мінімального та максимального значення функції.

 

4 Методичні вказівки

1. Перед написанням програми ще раз переглянути теоретичний матеріал і приклади програм, що ілюструють особливості використання математичних функцій у С-програмах. Окрему увагу звернути на область визначення функцій.

6. Написати відповідну функцію (чи декілька функцій), звертаючи увагу на типи опису параметрів.

7. Підключити бібліотеку математичних функцій.

8. Відкомпілювати програму і виконати її. Зафіксувати результати кожної реалізації.

9. Оформити звіт з лабораторної роботи, дотримуючись вимог щодо його змісту.

 

5 Приклад виконання лабораторної роботи

 

Протабулювати функцію на проміжку з кроком (b-a)/k, де (a=-1, b=1, k=10). Результати обчислень вивести на екран у вигляді таблиці пар чисел і . Визначити кількість від’ємних значень функції. Якщо дані не існують, вивести про це повідомлення.

Текс програми мовою С

include <stdio.h>

#include <math.h>

double x, y, a, b, h, z;

int i, k=10, kil=0;

void main()

{

printf ("Programa Lab_5\n");

a=-1;

b=1;

k=10;

h=(b-a)/k;

for (x=a; x<=b; x=x+h)

{z=2*sin((x-7)/2.);

if (z<0)

printf("x=%lf\targument <0\n", x);

else

{

y=-log(2*sin((x-7)/2));

if(y<0) kil=kil+1;

printf("x=%lf\ty=%lf\n", x,y);

}

}

printf("kil=%d\n", kil);

printf ("\n");

}

Результати роботи програми

Programa Lab_5

x=-1.000000 y=-0.414494

x=-0.800000 y=-0.318841

x=-0.600000 y=-0.201892

x=-0.400000 y=-0.057960

x=-0.200000 y=0.122121

x=-0.000000 y=0.354440

x=0.200000 y=0.671225

x=0.400000 y=1.153624

x=0.600000 y=2.147735

x=0.800000 argument <0

x=1.000000 argument <0

kil=4

 

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

1. Що таке формальні і фактичні параметри?

2. Скільки операторів return може бути в функції?

3. Складові частини функції?.

4. Напишіть на мові С логарифмічні і степеневі функції?

5. Яку бібліотеку необхідно підключити при використанні математичних функцій?

6. Як записується функція ?.

7. Як записується функція ?.

 


Дата добавления: 2015-07-17; просмотров: 190 | Нарушение авторских прав


Читайте в этой же книге: Постановка завдання | Постановка завдання | Лабораторна робота № 4 | Лабораторна робота № 5 | Постановка завдання | Лабораторна робота № 6-7 | Лабораторна робота № 8 | Постановка завдання | Лабораторна робота № 9 | Лабораторна робота № 10 |
<== предыдущая страница | следующая страница ==>
Лабораторна робота № 11-12| Лабораторна робота № 15

mybiblioteka.su - 2015-2024 год. (0.015 сек.)