Лабораторная работа №5
Тема: Разработка программ с использованием функций.
Цель: Разработка программ с использованием функций.
Задание:
5.2. Составить программу согласно задания 4.3 и выполнить ее в среде программирования. При разработке программы для выполнения задач согласно пунктов (b) и (c) использовать функции.
Задание 5.2(11)
ArrX()
x
= a + i*h
x
Рисунок 1.1 – Блок схема
функции ArrX()
ArrY()
y
= (ArrX(i)*ArrX(i)*ArrX(i))/(cos(ArrX(i)))
y
Рисунок 1.2 – Блок схема
функции ArrY()
yMin()
i=0;
i<=n; i++
+
-
ArrY(i)
<
yMin
yMin
= i
yMin
Рисунок 1.3 – Блок схема
функции yMin()
Конец
i=0;
i<=n; i++
yMax
yMax()
-
+
ArrY(i)
> yMax
yMax
= i
Рисунок 1.4 – Блок схема
функции yMax()
i=0;
i<=n; i++
Sum()
ySum
+= ArrY(i)
ySum
Рисунок 1.5 – Блок схема
функции Sum()
Sr()
ySr=ySum/(n+1)
ySr
Рисунок 1.6 – Блок схема
функции Sr()
Начало
Ввод: a,
b, h
Вывод: ”a=”,”b=”,”h=”
-
+
b<a||h>(b-a)
Вывести: “bug!”
n=(b-a)/h
Вывод: "x["
<< n << "] = {"
i=0;
i<=n; i++
ArrX()
Вывод: ArrX(i)
<< ", "
Вывод: "}"
y[i] << ", ";
Вывод: "y["
<< n << "] = {"
A
i=0;
i<=n; i++
A
ArrY()
abs(ArrY(i)-2)>0.001
-
+
Вывод: ArrY(i)
<<
", ";
Вывод: “}”
yMin()
Вывод: "yMin = "
<< ArrY(Min()) << " npu x = " <<
ArrX(Min())
yMax()
Вывод: "yMax = "
<< ArrY(Max()) << " npu x = " <<
ArrX(Max())
Sum()
B
B
Вывод: "Sum = "
<< Sum()
Sr()
Вывод: "Sr = "
<< Sr()
Рисунок 1.7 – Блок схема
программы
Конец
Листинг 1 – Фрагмент программы.
#include <iostream>
#include <cmath>
using namespace std;
int a, b, h, n;
float x, y, yMin, yMinX, yMax, yMaxX, ySum, ySr;
int ArrX(int);
float ArrY(int);
float Min();
float Max();
float Sum();
float Sr();
int main()
{
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
cout<<"h=";
cin>>h;
if(b<a||h>(b-a)) cout<<"bug!";
else{n=(b-a)/h;
cout << "x[" << n << "] = {";
for (int i=0; i<=n; i++){
cout << ArrX(i) << ", ";}
cout << "}\n";
cout << "y[" << n << "] = {";
for (int i=0; i<=n; i++){
if(abs(ArrX(i)-2)>0.001){
cout << ArrY(i) << ", ";}}
cout << "}\n";
cout << "yMin = " << ArrY(Min()) << " npu x = " << ArrX(Min()) << endl;
cout << "yMax = " << ArrY(Max()) << " npu x = " << ArrX(Max()) << endl;
cout << "Sum = " << Sum() << endl;
cout << "Sr = " << Sr() << endl;
return 0;
}}
int ArrX(int i)
{
x = a + i*h;
return x;
}
float ArrY(int i)
{
y = (ArrX(i)*ArrX(i)*ArrX(i))/(cos(ArrX(i)));
return y;
}
float Min()
{
for (int i=0; i<=n; i++){
if (ArrY(i) < yMin){
yMin = i;}}
return yMin;
}
float Max()
{
for (int i=0; i<=n; i++){
if (ArrY(i) > yMax){
yMax = i;}}
return yMax;
}
float Sum()
{
for (int i=0; i<=n; i++){
ySum += ArrY(i);}
return ySum;
}
float Sr()
{
ySr=ySum/(n+1);
return ySr;
}
Рисунок 1.8 – Результаты выполнения программы.
Вывод: Я научился создавать функции.
|
|
|
|
|
141.1361.11.05 |
||||||||
|
|
|
|
|
|||||||||
Зм. |
Аркуш |
№ документа |
Підпис |
Дата |
|||||||||
|
|
|
|
|
Літ. |
Аркуш |
Аркушів |
||||||
Студент |
|
|
|
|
У |
|
1 |
9 |
|||||
|
|
|
|
НУК ім. адм. Макарова |
|||||||||
Викладач |
Павленко А.Ю. |
|
|
||||||||||
|
|
|
|