bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [236]
Форма входа
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » ИТиУвТС » Другое

Контрольная работа Вариант 4
Подробности о скачивании 04.05.2012, 17:22
Задача 1:
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
4. .
При x = 0.4104, y = –0.875,
z = –0.47510-3  w = 1.9873.


#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
double x, y, z, a, b ,c, w;
puts("\n\t x,y,z= "); // Ввод значений
scanf("%lf %lf %lf", &x, &y, &z);
a = sin(y)*sin(y)*2 + 1 ; //Расчет
b = fabs(cos(x)- cos(y));
c = (1 + z + z*z/2 + pow(z,3)/3 + pow(z,4)/4);
w = pow(b,a)*c;
printf("\n x = %7.3l f\n y = %7.3lf\n z = %7.3lf\n w = %lf\n", x, y, z, w);// Вывод значений
puts("Press any key ... ");
getch();
return 0;
}


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

rez =

Решение:
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
double r, m, rez,y,x ;
puts("Input r, m");
scanf("%lf %lf", &r, &m);
x=fabs®;
y=fabs(m)+ 0.5;
if (x==y){ //Оператор сравнения
puts(" Error! ");
}
else {
if (x > y) {
rez =sqrt(fabs(r-m))*pow(cos(r*r),3) ;
puts("|r| > |m| +0.5");
printf("\n result = %lf ", rez);
}
else {
if (0.5 < x ) {
rez = (4*r+3*m)/(pow(r,3)+m*m)*pow(sin(m*m*m),2);
puts("0.5< |r| < |m| +0.5");
printf("\n result = %lf ", rez);
}
else {
puts(" Error! ");
}
}
}
puts("\nPress any key ... ");
getch();
}

1 условие.


2условие


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


#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
double a, b, x,h, m,sum, y ,raz ;
int n, k;
puts("Input a b h n ");
scanf("%lf%lf%lf%d", &a, &b, &h, &n);
sum= (pow(-1,0)* pow(x,0));
for(x=a ; x<=b; x+=h) { // Начало цикла
m=1;
sum= (pow(-1,0)* pow(x,0));
for (k=1 ; k<=n; k++ ){
m=m*2*k ;
sum= (pow(-1,k)* pow(x,2*k)/m) + sum;
}
y= cos(x);
raz =fabs(y - sum);
printf("\n x=%6.2lf S(x)= %lf Y(x)=%lf |Y(x)- S(x)|=%lf ", x,sum, y,raz);
} //Выход из цикла
puts("\nPress any key ... ");
getch();
}

Задача 4.
В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить:
4. Сумму элементов массива, расположенных между первым и последним положительными элементами.


#include <iostream.h>
#include <conio.h>
void main()
{
int kon=-1, nat=-1;
int a[20], n, i, s = 0 ;
cout <<" Input N (<=20) " ; // Ввод количества элементов массива
cin >> n;
cout <<"\n\t Massiv A" << endl;
for(i = 0; i < n; i++) { // Заполнение массива
cout << "\t a[ " << i+1 << " ] = ";
cin >> a[i];
if ( a[i] > 0 ){
kon= i; //Нахождение последнего положительного числа
}
}
for(i = 0; i < kon ; i++){ // Нахождение первого положительного числа
if (nat<0){
if (a[i]>0) {
nat= i+1;
} }
}
for(i= nat; i<kon ; i++) { //Нахождение суммы
s = s + a[i];
}
cout << "\t Summa = " << s << endl;
cout << "\n Press any key ... " << endl;
getch(); }

Задача 5:
В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение.
Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных.

4. Найти минимальный элемент и поменять его с первым элементом.

#include <iostream.h>
#include <conio.h>
int Fun_Min(int, int, int**);
void main()
{
int **a, i, j, n, m;
cout << "\t Input N, M : ";
cin >> n >> m;
a = new int*[n];
for(i=0; i<n;i++)
a[i] = new int[m];
cout <<"\n Input A" << endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++){
cout << "\t a[" << i+1 << "][" << j+1 << "] = ";
cin >> a[i][j];
}
**a= Fun_Min(n, m, a); //Обращение к функции
cout <<"\n Matrix A:" << endl;
for(i=0; i<n; i++) {
for(j=0; j<m; j++)
cout << "\t" << a[i][j];
cout << endl;
}
delete []a;
cout << "\n\t Delete !" << endl;
cout << " Press any key ... " << endl;
getch();
}

int Fun_Min(int a, int b, int **x)
{
int i, j, min = 0,k;
min = x[0][0];
k = x[0][0];
for(i=0; i<a;i++)
for(j=0; j<b;j++) {
if(x[i][j] < min)
min = x[i][j];
}
for(i=0; i<a;i++)
for(j=0; j<b;j++)
if (x[i][j]== min){
x[i][j]=k;
x[0][0]= min;
}
return **x;
}




Литература:
1. Методические указания по выполнению контрольной работы по курсу «Основы алгоритмизации и программирования» для студентов заочного отделения ИИТ. / Корбит А.Г., Кривоносова Т.М. – Минск: БГУИР, 2007.
2. Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. - Мн.: БГУИР, 2004. - 89 с.: ил. 4.
3. Колосов С.В. Программирование в среде Delphi: Учеб. пособие. – Мн.: БГУИР, 2005. – 166 с.: ил.
4. Луцик Ю.А. Основы алгоритмизации и программирования, язык С.: Учеб. пособие по курсу «Основы алгоритмизации и программирования» для студ. спец. «Вычислительные машины, системы и сети» всех форм обучения/ Ю.А. Луцик, А.М. Ковальчук, Лукьянова И.А., -Мн.: БГУИР,2007. -с.: ил.
Категория: Другое | Добавил: Gosteg
Просмотров: 1431 | Загрузок: 23
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]