Программа вычисления линейного арифметического выражения

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 03.12.2013
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования Республики Беларусь

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Институт информационных технологий

Специальность: Информационные технологии и управление в технических системах

КОНТРОЛЬНАЯ РАБОТА

Студент-заочник 1-го курса

Группы № 382471

Короткевич Тамара Владимировна

Минск 2013

Задание 1

Написать программу вычисления линейного арифметического выражения:

s =.

При x = 14,26; y = - 1,22; z = 3,5•10-2 ответ: s = 0,749155.

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

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

# include <iostream.h>

# include <math.h>

int main ()

{

double x,y,z,s;

cout <<"Vvedite x:";

cin >> x;

cout <<"Vvedite y:";

cin >> y;

cout <<"Vvedite z:";

cin >> z;

s = 2 * cos(x-2./3.);

s/=(1/2.) + pow(sin(y),2);

s*=(1 + pow(z,2)/(3-pow(z,2)/5.));

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

system(" pause");

return 0;

}

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

Задание 2

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

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

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

#include <iostream.h>

#include <math.h>

int main()

{

double x,y,s,f_xy;

cout << "Vvedite x: ";

cin >> x;

cout << "Vvedite y: ";

cin >> y;

f_xy=x*y;

if(x*y > 0){

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

cout<<"\nVetv 1\n";

}

else if (x*y < 0)

{

s=pow ((x+y),2)+sin(x);

cout<<"\nVetv 2\n";

}

else {

s= pow((x+y),2) + pow(y,3);

cout<<"\nVetv 3\n";

}

cout<<"\nResult="<<s<<endl;

system ("pause");

return 0;

}

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

Задание 3

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

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

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

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

double Summa (double, int);

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

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

int main()

{

double y, x, a, b, h;

int n;

cout<<"Vvedite a, b, h, n:\n";

cin>>a>>b>>h>>n;

cout<<"\n Value"<<setw(20)<<"Pointer"<<setw(24)<<"Reference\n";

x=a;

do

{

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

Summa(&x,&n, &y);

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

Summa (x, n, y);

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

x+=h;

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

cout<<endl;

system("pause");

return 0;

}

double Summa (double x, int n)

{

double y;

int i;

y=2;

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

y+=pow(x,i-1)/2*i+1;

return y;

}

void Summa (double *x, int *n, double *y)

{

int i;

*y=2;

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

*y+=pow(*x,i-1)/2*i+1;

}

void Summa (double &x, int &n, double &y)

{

int i;

y=2;

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

y+=pow(x,i-1)/2*i+1;

}

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

Задание 4

схема алгоритм программа массив

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

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

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

int Func (int a[],int);

int main()

{

int a[10], i, n, pr;

cout << "Vvedite razmer massiva: ";

cin >> n;

cout << "\nVvedite massiv:\n";

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

{

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

cin >> a[i];

}

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

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

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

cout << endl;

pr = Func(a, n);

cout << "Proizvedenie elementov massiva ravno " << pr;

system("pause");

return 0;

}

int Func (int a[],int n)

{

int i, imax = 0, imin = 0, pr = 1;

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

if (a[i] <= a[imin])

imin = i;

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

if (a[i] >= a[imax])

imax = i;

if(imax > imin) {

for(i = ++imin; i < imax; i++)

pr *= a[i];

}

else if(imax < imin) {

for(i = ++imax; i < imin; i++)

pr *= a[i];

} else if(fabs(imax-imin) == 1)

pr = 0;

return pr;

system("pause");

}

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

Задание 5

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

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

#include <iostream>

using namespace std;

void PoiskEl(int**, int&, int&, int&);

int main()

{

int n, m;

int kol = 0;

cout << "\nVvedite kol-vo riadov i stolbcev: ";

cin >> n;

cin >> m;

int **mas = new int*[n];

for(int i = 0; i < n; i++)

mas[i] = new int[m];

cout << "\nVvedite massiv mas[]:\n";

for(int i = 0; i < n; i++)

{

for(int j = 0; j < m; j++)

{

cout << "Vvedite mas[" << i << "][" << j << "]:";

cin >> mas[i][j];

}

}

cout << "\nVvedennaia matrica\n";

for(int i = 0; i < n; i++)

{

for(int j = 0; j < m; j++)

{

cout << " " << mas[i][j];

}

cout << endl;

}

PoiskEl(mas, m, n, kol);

cout << "\nKol-vo pologitelnih elementov, nige pobochnoy diagonali: " << kol << endl;

system("pause");

return 0;

}

void PoiskEl(int **mas, int& m, int &n, int &kol)

{

for (int i = 0; i < n; i++)

for (int j = n-i-1; j < n; j++)

for(int k = ++j; k < m; k++)

if(mas[i][j] > 0)

kol++;

}

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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.