
Задание №1
Тема: Линейный вычислительный процесс
Цель работы: изучить правила составления текстов программ, научиться реализовывать линейные алгоритмы. Написать и отладить программу линейного алгоритма в консольном приложении.
Условие: создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
При x = 3.7410-2, y = –0.825,
z = 0.16102 v = 1.0553.
Листинг программы:
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main()
{
double x, y, z, a, b ,c, rez;
cout << "\n\t x,y,z = " << endl;
cin >> x >> y >> z;
a = (1+pow(sin(x+y),2))/(fabs(x-(2*y/(1+(pow(x,2)*pow(y,2))))));
b = pow(x,fabs(y));
c = pow(cos((atan2(1,z),2)),2);
rez = a*b+c;
cout << "\n x = " << x << "\n y = " << y << "\n z = " << z
<< "\nRezult = " << rez << endl;
cout << "Press any key ... " << endl;
getch();
return 0;
}
Результаты выполнения:
Задание №2
Тема: Реализация разветвляющихся алгоритмов
Цель работы: изучить операции сравнения, логические операции, операторы передачи управления if, switch, break. Написать и отладить программу с разветвлениями.
Условие: Составить программу для вычисления значения rez в зависимости от поставленного условия.
rez
=
Листинг программы:
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
double x, y, z, u;
puts("Input x, y");
scanf("%lf%lf",&x, &y);
if ((0<x*y)&&(x*y<=1)){
u = sqrt(fabs(2*x-5*pow(y,2)))*exp(x+y);
puts("0 < x*y < 1");
}
else {
u = sqrt(fabs(2*pow(x,2)+5*y))*exp(x-y);
puts(" x*y > 1");
}
printf("\n\t Rezult U = %8.6lf", u);
puts("\nPress any key ... ");
getch();
}
Результаты выполнения:
Задание №3
Тема: Реализация циклических алгоритмов
Цель работы: изучить циклические операторы while, do-while, for, научиться реализовывать циклические алгоритмы. Составить и отладить программу.
Условие: Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания.
Листинг программы:
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
void main() {
float i,x,n,k,h;
double S=0,Y=0,P;
cout<<"Vvedite nachalnoe znachenie"<<endl;
cin>>k;
cout<<"Vvedite konechnoe znachenie"<<endl;
cin>>n;
cout<<"Vvedite shag"<<endl;
cin>>h;
cout<<"Vvedite x"<<endl;
cin>>x;
cout<<"---------------------------------"<<endl;
for (i=k;i<n;i+=h) {
S+=(float)pow(x,k)*pow(3,14*k)/4;
Y+=x*sin((float)(3.14*4)/(1-2*x*cos(4*3.14)+pow(x,2)));
P=abs(Y-S);
cout<<"N="<<n;
cout<<" H="<<h;
cout<<" X="<<x;
cout<<" K="<<k<<endl;
cout<<"S="<<setprecision(4)<<S;
cout<<" Y="<<setprecision(4)<<Y;
cout<<" P="<<setprecision(4)<<P<<endl;
cout<<"---------------------------------"<<endl;
}
}
Результаты выполнения: