Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 1 семестр.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.52 Mб
Скачать

5.4 Исследование таблицы значений функции

Существуют специальные приемы для нахождения некоторых величин, таких как наибольшее (наименьшее) значение функции, сумма значений функции, произведение значений функции, среднее арифметическое значений функции, количество значений функции.

1. Нахождение наибольшего max (наименьшего min) значения функции.

Рис. 5.22. Часть блок- схемы

max=-10E10;

for(x=xn; x<=xk; x=x+h){

f=…;

if(f>max){

max=f;

}

}

Примечание. Если нужно найти наименьшее значение функции, то следует сделать следующие замены: «max=-1010» поменять на «min=1010», «f>max» поменять на «f<min», «max=f» поменять на «min=f».

2. Нахождение суммы S значений функции

Рис. 5.23. Часть блок- схемы

S=0;

for(x=xn; x<=xk; x=x+h){

f=…;

S=S+f;

}

cout<<”S=”<<S<<endl;

3. Нахождение произведения P значений функции

Рис. 5.24. Часть блок- схемы

P=1;

for(x=xn; x<=xk; x=x+h){

f=…;

P=P*f;

}

cout<<”P=”<<S<<endl;

4. Нахождение среднего арифметического значения S и количества k значений функции

Рис. 5.25. Часть блок- схемы

S=0;

k=0;

for(x=xn; x<=xk; x=x+h){

f=…;

S=S+f;

k=k+1;

}

S=S/k;

cout<<”S=”<<S<<endl;

cout<<”k=”<<k<<endl;

Пример 5.17. Вычислить таблицу «x, f» значений функции при 0≤х≤4 с шагом 1. Найти сумму всех значений функции; произведение значений, меньших 6; минимальное значение функции.

Решение. Расчет значений функции, вывод таблицы значений на экран, а также нахождение всех необходимых величин реализуется в цикле по х. Поэтому в данной задаче будет организован один цикл по х, в теле цикла будем рассчитывать функцию, выводить на экран строку таблицы, насчитывать сумму, произведение, минимальное значение функции.

Введем обозначения:

S – сумма всех значений функции,

P – произведение значений, меньших 6,

min – минимальное значение функции.

Т.к. нужно найти произведение значений, меньших 6, то следует добавить условие «f<6» при вычислении произведения.

Будем реализовывать цикл с предусловием, используя оператор for.

Рис. 5.26. Блок- схема для примера 5.17

Код программы (Visual Studio) с оператором for (предусловие):

// proga26.cpp: определяет точку входа для консольного приложения.

//

#include "stdafx.h"

#include <iostream>

#include <iomanip>

using namespace std;

int main()

{

double x,f,S,P,min;

cout<<setw(10)<<"x"<<setw(10)<<"f"<<endl;

S=0;

P=1;

min=10E10;

for(x=0; x<=4; x=x+1){

f=2*x+1;

cout<<setw(10)<<x<<setw(10)<<f<<endl;

S=S+f;

if(f<6){

P=P*f;

}

if(f<min){

min=f;

}

}

cout<<"S="<<S<<endl;

cout<<"P="<<P<<endl;

cout<<"min="<<min<<endl;

return 0;}

Результат выполнения программы:

Код программы (Borland C++) с оператором for (предусловие):

#include <iostream.h>

#include <iomanip.h>

int main()

{

double x,f,S,P,min;

cout<<setw(10)<<"x"<<setw(10)<<"f"<<endl;

S=0;

P=1;

min=10E10;

for(x=0; x<=4; x=x+1){

f=2*x+1;

cout<<setw(10)<<x<<setw(10)<<f<<endl;

S=S+f;

if(f<6){

P=P*f;

}

if(f<min){

min=f;

}

}

cout<<"S="<<S<<endl;

cout<<"P="<<P<<endl;

cout<<"min="<<min<<endl;

return 0;}

Результат выполнения программы:

Ручной счет:

Диапазон значений х: 0, 1, 2, 3, 4.

при x=0 f=2x+1=2•0+1=1;

при x=1 f=2x+1=2•1+1=3;

при x=2 f=2x+1=2•2+1=5;

при x=3 f=2x+1=2•3+1=7;

при x=4 f=2x+1=2•4+1=9;

сумма всех значений: S=1+3+5+7+9=25;

произведение значений, меньших 6: P=1•3•5=15;

наименьшее значение функции: min=1.

Примечание. Если функция зависит от двух переменных, то следует реализовывать двумерный цикл, причем тело внутреннего цикла будет организовано так же, как в данном примере.