bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [157]
АВС [6]
КПиЯП [80]
ОАиП [305]
ОКТ [79]
СиСПО [8]
Форма входа
Логин:
Пароль:
Поиск
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Файловый архив
Файлы » ПОИТ » ОАиП

контрольная работа С++
Подробности о скачивании 15.10.2010, 16:50
№1

Создать программу вычисления указанной величины: Результат проверить при заданных исходных значениях. При x = –2.23510-2, y = 2.23, z = 15.221   = 39.374.

Рис 1 – Cтруктурная схема алгоритма

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

Текст программы:

#include<iostream.h> //Подключаемые директивы
#include<conio.h>
#include<math.h>
int main() //Основная функция
{
double x,y,z,f; //Описание используемых переменных
cout<<"Input: x,y,z"<<endl; //Запрос на ввод данных
cin>>x>>y>>z; //Ввод данных с клавиатуры
f=(exp(fabs(x-y))*pow(fabs(x-y),x+y)) //Подсчет значения указанной величины
/(atan(x)+atan(z))+pow((pow(x,6)+pow(log(y),2)),1*1.0/3);
cout<<"\nx="<<x<<endl; //Вывод исходных данных
cout<<"y="<<y<<endl;
cout<<"z="<<z<<endl;
cout<<"Rezult: f="<<f<<endl; //Вывод результата подсчета
getch();
return 0;
}

№2

Составить программу для вычисления значения rez в зависимости от поставленного условия.
rez =

Рис 3 – Cтруктурная схема алгоритма

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

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

Текст программы:

#include<iostream.h> //Подключаемые директивы
#include<conio.h>
#include<math.h>
int main() //Основная функция
{
double c,k,rez;
cout<<"Input: c,k"<<endl; //Запрос на ввод данных
cin>>c>>k; //Ввод данных с клавиатуры
if (fabs(c+k)>2) //Проверка на выполнение условия
{
rez=pow(tan(c-2*k),2); //Выполнение расчета если условие выполнилось
cout<<"\n c+k > 2"<<endl; //Вывод сообщения о ветви по которой идет вычисление
}
else if (fabs(c+k)>0.5) //Проверка на выполнение условия
{
rez=log(fabs(c-2*k))-sin(c/(2*k)); //Выполнение расчета если условие выполнилось
cout<<"\n 0.5< c+k <= 2"<<endl; //Вывод сообщения о ветви по которой идет вычисление
}
cout<<" Rezult: "<<rez<<endl; //Вывод результата расчета
getch();
return 0;
}

№3

Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры.

Рис 6 – Cтруктурная схема алгоритма

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

Текст программы:

#include<iostream.h> //Подключаемые директивы
#include<conio.h>
#include<math.h>
int main() //Основная функция
{
double x,y,r,s,h,a,b,rez;
int k,n;
cout<<"\nInput: a,b,h,n"<<endl;
cin>>a>>b>>h>>n; //Ввод данных с клавиатуры
for (x=a;x<=b;x+=h) // Цикл при котором х меняет значение от а до b
{
r=s=1;
for(k=1;k<=n;k++) //Цикл расчета суммы функции S(x) при данном значении х
{
r=r*2*x/k; //Расчет значения функции
s+=r; //Подсчет суммы функции S(x)
}
y=pow(exp(x),2); //Расчет значения функции Y(x)
rez=fabs(y-s); //Расчет выражения |Y(x)–S(x)|
cout<<"\n\tx="<<x<<"\t s="<<s<<"\t y="<<y<<"\t |y-s|="<<rez<<endl; //Вывод результатов расчета
}
getch();
return 0;
}

№4

В статическом массиве А размером N (не более 20), состоящем из целых чисел найти количество четных чисел и их сумму. Размер массива и его элементы вводятся с клавиатуры.

Рис 8 – Cтруктурная схема алгоритма

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

Текст программы:

#include<iostream.h> //Подключаемые директивы
#include<conio.h>
int main() //Основная функция
{
int a[20],n,i,num=0,s=0;
cout<<"\nInput N(<=20): \n";
cin>>n; //Ввод количества элементов массива
for(i=0;i<n;i++) //Цикл для заполнения массива
{
cout<<"\n a["<<i+1<<"]=";
cin>>a[i]; //Ввод элемента массива
}
for(i=0;i<n;i++) //Цикл поиска номера последнего отрицательного числа
if(a[i]<0)
num=i+1;
if (num!=0) //Если отрицательные элементы есть в массиве подсчет суммы
{
for(i=num;i<n;i++)
{
s+=a[i]; //Подсчет суммы
}
cout<<"\nResult:";
cout<<"\nSumma="<<s<<"\n"<<endl; //Вывод результата
}
Else //Если отрицательных элементов нет
cout<<"\nNet otritsatelnih chisel"<<endl; //Вывод сообщения
getch();
return 0;
}

№5

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение. Найти количество 0-й и 1-ц в массиве, а также сумму единиц.

Рис 10 – Cтруктурная схема алгоритма основной функции

Рис 11 – Cтруктурная схема алгоритма функции пользователя (F_Sum)

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

Текст программы:

#include<iostream.h> //Подключаемые директивы
#include<conio.h>
int F_Sum(int,int,int**,int*,int*); //Прототип функции пользователя
int main() //Основная функция
{
int **a,i,j,n,m,sum,kol_1,kol_0;
cout<<"Input N,M:";
cin>>n>>m; //Ввод размерности матрицы
a=new int*[n]; // Захват памяти для n элементов
for(i=0;i<n;i++)
a[i]=new int[m]; //Захват памяти для m элементов
cout<<"Input A:"<<endl;
for(i=0;i<n;i++) //Цикл ввода матрицы
for(j=0;j<m;j++)
{
cout<<" a["<<i+1<<"],["<<j+1<<"]=";
cin>>a[i][j];
}
cout<<"Matrix A:"<<endl;
for(i=0;i<n;i++) //Цикл вывода матрицы
{
for(j=0;j<m;j++)
{
cout<<" "<<a[i][j];

}
cout<<endl;
}
sum = F_Sum(n, m, a, &kol_1,&kol_0); //Вызов функции пользователя
cout << "\n Kol-vo 1 = " << kol_1 << "\n Kol-vo 0 = " << kol_0 << "\n Summa = " << sum << endl; //Вывод результатов
delete []a; // Освобождение захваченной памяти
getch();
return 0;
}
int F_Sum(int a, int b, int **x, int *k, int *t) // Функция пользователя подсчета 0 и 1
{
int i, j, s = 0;
*k = 0;
*t = 0;
for(i=0;i<a;i++)
for(j=0;j<b;j++)
if(x[i][j]==1) //Поиск элементов равных 1
{
(*k)++;
s += x[i][j];
}
else if(x[i][j]==0) //Поиск элементов равных 0
(*t)++;
return s;
}

ЛИТЕРАТУРА

1. Основы алгоритмизации и программирования. Язык Си : учеб. пособие / М. П. Батура, В. Л. Бусько, А. Г. Корбит, Т. М. Кривоносова. – Минск : БГУИР, 2007. – 240 с.
2. Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. - Мн.: БГУИР, 2004. - 89 с.: ил. 4.
3. Методические указания по выполнению контрольной работы по курсу «Основы алгоритмизации и программирования» для студентов заочного отделения ИИТ. / Корбит А.Г., Кривоносова Т.М. – Минск: БГУИР, 2007.
4. Страуструп, Б. Язык программирования С++ / Б. Страуструп. – СПб. : БИНОМ, 1999.
5. Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М. : Финансы и статистика, 1992.
6.

Категория: ОАиП | Добавил: kingor333
Просмотров: 2762 | Загрузок: 46
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]