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

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

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

Приклад 1

Знайти значення функції y=x2 у інтервалу [10, 20] з кроком 1. Це означає, що необхідно обчислити значення функції для: x=10, 11, 12,…20.

Цю програму можна написати використовуючи алгоритм попереднього завдання. Це можна, тому що крок в цій задачі дорівнює 1 та співпадає з зміною параметра циклу. Заголовок циклу у нас буде for x:=10 to 20 do, і зміна значення аргументу буде виконуватись автоматично, у заголовку циклу.

Програма

ПрограмаПояснення
 var x,y:integer;
begin
 for x:=10 to 20 do
 begin
   y:=sqr(x);
   writeln(x,y:5);
 end;
end.
У цій програмі використовується форматований вивід цілих чисел. Для цілого числа y відводиться 5 позицій, а саме число займає 3 позиції. Тому зліва воно доповнюється двома пробілами і між значенням аргументу і значенням функції буде два пробіли.

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

Екран
10 100
11 121
12 144
13 169
14 196
15 225
16 256
17 289
18 324
19 361
20 400

Приклад 2

Знайдіть значення функції 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.

У цій програмі ми не можемо використовувати попередній алгоритм, тому що крок не співпадає з зміною параметру циклу. Тому зміну значення аргументу будемо виконувати оператором x:=x+h у тілі циклу.

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Задамо сталі a, b, h - ліва і права границі інтервалу та крок.
  2. Обчислимо значення n:=round((b-a)/h)+1. Функція round використовується, щоб результат ділення був цілий.
  3. Задамо перше значення аргументу, для якого потрібно обчислити значення функції. Це значення співпадає з лівою границею інтервалу.
  4. У циклі for i:=1 to n do в операторних дужках виконується:

Програма

 const a=2;b=3;h=0.1;
 var x,y:real; i,n:integer;
begin
 n:=round((b-a)/h)+1;
 x:=a;
 for i:=1 to n do
 begin
   y:=sqr(x);
   writeln(x:3:1,y:5:2);
   x:=x+h;
 end;
end.

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

Вивід
2.0 4.00
2.1 4.41
2.2 4.84
2.3 5.29
2.4 5.76
2.5 6.25
2.6 6.76
2.7 7.29
2.8 7.84
2.9 8.41
3.0 9.00

Приклад 3

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

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

Програма

 const a=2;b=3;h=0.1;
 var x,y:real; i,n:integer;
begin
 n:=round((b-a)/h)+1;
 x:=a;
 for i:=1 to n do
 begin
    if x<2.5 then y:=sqr(x)
             else y:=sqr(x)*x;
    writeln(x:3:1,y:7:2);
    x:=x+h;
 end;
end.

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

Вивід
2.0   4.00
2.1   4.41
2.2   4.84
2.3   5.29
2.4   5.76
2.5   6.25
2.6  17.58
2.7  19.68
2.8  21.95
2.9  24.39
3.0  27.00

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

Знайдіть значення функції 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

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