Назад Зміст Вперед

Задачі на створення таблиць значень функцій

У цих задачах потрібно обчислити значення функції на якомусь інтервалі з відомим постійним кроком. Крок, це різниця між значеннями аргументу, для яких обчислюється значення функції.

Приклад 1

Знайдіть значення функції y=x2 для x з інтервалу [2, 3] з кроком 0,1.

Це означає, що необхідно обчислити значення функції для:

x=2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0.

Тобто потрібно обчислити значення функції для 11 значень аргументу.

У загальному вигляді для інтервалу [a, b] та кроку h кількість значень аргументу (n) обчислюється за формулою: n=(b-a)/h+1.

У нас a=2, b=3, h=0,1. Тому n=11.

Змінні:

Програма

#include <iostream>
using namespace std;
#include <cmath>
#include <cstdio>

int main()
{
    int i, n = 11;      // i - лічильник, n - кількість точок (11 ітерацій)
    float x = 2, y;     // x - початкове значення (2.0), y - результат обчислення
    float h = 0.1;      // h - крок зміни x (0.1)

    // Цикл обчислення значень функції y = x²
    for(i = 1; i <= n; i++)
    {
        y = pow(x, 2);  // Обчислення квадрата x
        
        // Форматований вивід:
        // %3.1f - x з 1 знаком після коми у полі 3 символів
        // %5.2f - y з 2 знаками після коми у полі 5 символів
        printf("x=%3.1f y=%5.2f\n", x, y);
        
        x = x + h;      // Збільшення x на крок h
    }

    return 0;  // Успішне завершення програми
}

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

Приклад 2

Знайдіть значення функції для x з інтервалу [2, 3] з кроком 0,1.

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

Програма

#include <iostream>
using namespace std;
#include <cmath>
#include <cstdio>

int main()
{
    int i, n = 11;      // i - лічильник, n - кількість ітерацій (фіксоване значення 11)
    float x = 2, y;     // x - аргумент функції (початкове значення 2.0), y - значення функції
    float h = 0.1;      // h - крок зміни аргументу (0.1)

    // Цикл обчислення значень кусково-заданої функції
    for(i = 1; i <= n; i++)
    {
        // Вибір формули залежно від значення x
        if (x < 2.5) {
            y = pow(x, 2);  // Квадратична функція для x < 2.5
        } else {
            y = pow(x, 3);  // Кубічна функція для x >= 2.5
        }
        
        // Форматований вивід результатів:
        // x - 3 символи, 1 знак після коми
        // y - 5 символів, 2 знаки після коми
        printf("x=%3.1f y=%5.2f\n", x, y);
        
        x = x + h;  // Збільшення аргументу на крок h
    }

    return 0;  // Коректне завершення програми
}

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

Варіанти задач

Знайдіть значення функції Y на вказаному інтервалі з вказаним кроком:

№ варіантуФункціяІнтервалКрок
1[1, 5]0,25
2[-10, 10]2,5
3[-7, 8]1,5
4[-3, 3]0,5
5[-2, 2]0,25
6[0, 2]0,1
7[0, 12]1,5
8[3, 5]0,2
9[1, 4]0,2
10[-2, 2]0,4
11[-3, 3]0,5
12[0,15]1,5
13[-10,10] 2,5
14[-5, 10]1,5
15[-6, 6]1,5
16[-11, 11]2,75
17[-10, 10]2,5

Назад Зміст Вперед