Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольная работа №1 Вариант 6

.docx
Скачиваний:
13
Добавлен:
01.04.2014
Размер:
27.01 Кб
Скачать

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

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

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

Контрольная работа №1 по дисциплине:

«Основы алгоритмизации и программирования»

Вариант 6

Студента ФЗО специальность СТ

группы 003001

Костикова Никиты Владимировича

Адрес: 230005 г.Гродно

ул. Дзержинского 123/1-20

Телефон: +375292817911

Минск 2010

Содержание:

Содержание 2

1. Задача 1 3

2. Задача 2 4

3. Задача 3 5

4. Задача 4 6

5. Задача 5 7

Задача 1.

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

При х=16,55 ∙ 10-3; y=–2,75; z=0,15

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

#include <iostream.h>

#include <math.h>

int main()

{double a,b,c,f,d,h,i,x,y,z,s;

cout << "Enter x:"; cin >> x;

cout << "Enter y:"; cin >> y;

cout << "Enter z:"; cin >> z;

a=pow(x,1/3.);

b=pow(x,y+2);

c=10*(a+b);

d=pow(c,1/2.);

f=pow(asin(z),2);

h=fabs(x-y);

i=f-h;

s=d*i;

cout <<"Results:"<< s << endl;

return 0;

}

Задача 2.

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

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

#include <iostream.h>

#include <math.h>

int main()

{double x,y,s;

cout <<"Enter x:"; cin >>x;

cout <<"Enter y:"; cin >>y;

double xy=x*y;

if(xy>0.5 && xy<10){

s=exp(x-fabs(y));

cout <<"Result s 1 vetvi:"<<s<<endl;}

else if(xy>0.1 && xy<10){

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

cout<<"Result s 2 vetvi:"<<s<<endl;}

else{

s=2*pow(x,2);

cout<<"Result s 3 vetvi:"<<s<<endl;}

return 0;

}

Задача 3.

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

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

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

int main(){

double s, x, a, b, h;

int k, i;

cout << "Enter a, b, h, k:" << endl;

cin >> a >> b >> h >> k;

x = a;

cout << setw(0) << "\n" <<"X" << setw(10) << "Y" << endl;

do

{

s = 2;

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

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

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

x += h;

}

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

cout << endl;

return 0;

}

Задача 4.

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

6. Сдвинуть элементы массива циклически на n позиций влево.

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

#include <iostream.h>

#include <math.h>

#include <conio.h>

int main()

{

int a[10], i, n, min, imin, max, imax, u;

cout << "Enter razmer: ";

cin >> n;

cout << "Enter kolichestvo pozicii vlevo: ";

cin >> u;

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

{

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

cin >> a[i];

}

cout << "Massiv a:" << endl;

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

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

cout << "\n Elementy massiva \"a\" so sdvigom na "<< u <<" poziciyu"<< endl;

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

cout << a[i]-u << " " ;

return 0;

}

Задача 5.

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

6. Определить количество четных элементов, расположенных на главной и побочной диагоналях.

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

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

int main()

{

int **a;

double tmp;

int i=0, j=0,n,m,kol=0;

cout << "Vvedite razmer: n, m" << endl;

cin >> n >> m;

a = new int*[n];

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

a[i] = new int[m];

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

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

{

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

cin >> tmp;

a[i][j]=int(floor(tmp));

}

cout << "Massiv A:" << endl;

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

{

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

cout << setw (4) << a[i][j] << " ";

cout << endl;

}

if (n!=m)

{

cout<<"Matrica ne kvadratnaya, poetomy podschet ne vozmojen";

}

else

{

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

{

if (a[i][i] % 2 == 0 )

{

kol++;

}

};

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

{

if (a[i-1][n-i] % 2 == 0)

{

kol++;

}

};

if (n%2 == 0)

{

cout<<"Kolicestvo chetnih chisel = "<<kol;

}

else

{

if (a[n/2][n/2]%2==0) kol--;

cout<<"Kolicestvo chetnih chisel = "<<kol;

}

}

return 0 ;

}