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




Задание 1

Составить согласно индивидуальному варианту блок-схему алгоритма и программу вычисления значения выражения при заданных исходных данных.

Сравнить полученное значение с указанным правильным результатом.

s =

при х = 12,3*10-1; у = 15,4; z = 0,252*103. Ответ: s = 82,8256.

 

 
Блок-схема алгоритма

Начало
Вводx, y, z  
Выводx, y, z  
Выводs  
  Конец
 
 
 
 
 
 
 
 

 

 


Код программы

#include<iostream>

#include <math.h>

using namespace std;

 

int main()

{

double x, y, z, s;

 

cout<< " Vvedite x = ";

cin>> x;

cout<< " Vvedite y = ";

cin>> y;

cout<< " Vvedite z = ";

cin>> z;

 

s = (x + y / 2)*pow(x + 1, -1 / sin(z));

s /= 2 * fabs(x + y);

s += pow(y, x + 1) / (pow(fabs(y - 2), 1 / 3.) + 3);

 

cout<<endl;

cout<< " x = " << x <<endl;

cout<< " y = " << y <<endl;

cout<< " z = " << z <<endl;

cout<<endl;

cout<< " Result s = " << s <<endl;

 

return 0;

}

 

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

 

Задание 2

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

s =

При анализе условия задачи заметим, что от условий х3 >0 и х3 <0 можно перейти к равносильным более простым условиям х>0 и x<0.

 
Блок-схема алгоритма

Начало
Вводx, y  
Вывод"Vetv 1"  
Выводs  
Конец
 
 
 
 
 
 
x> 0
s = ln(x)3  
Да
Нет
 
x< 0
Вывод"Vetv 2"  
 
 
s = tg(x3)+yx  
Да
Нет
Вывод"Vetv 3"  
 

 


Код программы

#include<iostream>

#include <math.h>

using namespace std;

 

int main()

{

double x, y, s;

 

cout<< " Vvedite x = ";

cin>> x;

cout<< " Vvedite y = ";

cin>> y;

 

if (x>0) {

s = pow(log(x), 3);

cout<< "\n Vetv 1\n";

}

else if (x<0)

{

s = tan(x*x*x) + y*x;

cout<< "\n Vetv 2\n";

}

else {

s = pow(fabs(y*y*y - x*x), 1 / 3.);

cout<< "\n Vetv 3\n";

}

 

cout<< "\n Result s = " << s <<endl;

 

return 0;

}

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

 

 

 

 

Задание 3

Составить согласно индивидуальному варианту блок-схему алгоритма и программу вывода на экран таблицы значений функции y(x) для x, изменяющегося от a=0,1 до b=1,2 с шагом h=0,1. Вычисление y(x) оформить в виде функции. Предусмотреть передачу параметров в функцию разными способами.

y =

Блок-схема алгоритма основной программы

Начало
Вводa, b, h, N  
 
 
x = a  
 
Summa(x, N,s)  
Выводx, s
Конец
x = x + h
x<=b+h/2  
 
 
 
 
 
Да
 
Нет
Выход
n=N Цикл 1
 

 

 


Блок-схема алгоритма вычисления функции

Summa(x,N,s)
s = 0  
 
 
 
 
n=1  
выход

 


Код программы

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

 

double Summa(double, int);

void Summa(double*, int*, double*);

void Summa(double&, int&, double&);

 

int main()

{

double s, x, a, b, h;

int N;

cout<< " Vvedite a = ";

cin>> a;

cout<< " Vvedite b = ";

cin>> b;

cout<< " Vvedite h = ";

cin>> h;

cout<< " Vvedite N = ";

cin>> N;

 

cout<< "\n Value" <<setw(22) << "Pointer" <<setw(23) << "Reference\n";

x = a;

do

{

cout<<setw(5) << x <<setw(10) << Summa(x, N);

Summa(&x, &N, &s);

cout<<setw(10) << x <<setw(10) << s;

Summa(x, N, s);

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

x += h;

} while (x <= b + h / 2);

cout<<endl;

return 0;

}

 

double Summa(double x, int N)

{

double s;

int n;

s = 0;

for (n = 1; n <= N; n++)

s += n*n*pow(x, (n - 1)) / (2 * n + 1);

return s;

}

 

void Summa(double *x, int *N, double *s)

{

int n;

*s = 0;

for (n = 1; n <= *N; n++)

*s += n*n*pow(*x, (n - 1)) / (2 * n + 1);

}

 

void Summa(double &x, int&N, double &s)

{

int n;

s = 0;

for (n = 1; n <= N; n++)

s += n*n*pow(x, (n - 1)) / (2 * n + 1);

}

 

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

 


 

Задание 4

Ввести одномерный статический массив из k чисел. Выполнить в соответствии с номером варианта индивидуальное задание и вывести на экран исходные данные и полученный результат. Предусмотреть использование функции пользователя.

Найти максимальное значение между суммами четных и нечетных элементов массива, расположенных до минимального элемента.

Кодпрограммы

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

 

intIndex_Min(int a[], int);

 

int main()

{

int a[10], i, k, min, i_min, sum_chet, sum_nechet, max;

 

cout<< " Vvediterazmermassiva: ";

cin>>k;

cout<< "\n Vveditemassiv:\n";

for (i = 0; i<k; i++)

{

cout<< " Vvedite a[" <<i<< "]=";

cin>> a[i];

}

cout<< "\n Massiv a:\n";

for (i = 0; i<k; i++)

cout<<setw(7) << a[i];

cout<<endl;

 

sum_chet = 0;

sum_nechet = 0;

i_min = Index_Min(a, k);

for (i = 0; i<i_min; i++)

if (a[i] % 2) sum_nechet += a[i];

else

sum_chet += a[i];

 

if (sum_nechet>sum_chet) max = sum_nechet;

else

max = sum_chet;

 

cout<<endl;

cout<< " Index min elementamassiva a =" <<i_min<<endl;

cout<< " Summa chet =" <<sum_chet<<endl;

cout<< " Summa nechet =" <<sum_nechet<<endl;

cout<< " Max =" << max <<endl;

 

return 0;

}

 

intIndex_Min(int a[], int k)

{

inti, min, i_min;

min = a[0];

i_min = 0;

for (i = 1; i<k; i++)

if (a[i]<min)

{

min = a[i];

i_min = i;

}

returni_min;

}

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: