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

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Файловый архив
Файлы » МиКПРЭС » Другое

ОАиП,заочная ИИТ,МиКПРЭС,1 курс,1 семестр,9 вариант,зачтено,Кривоносова
Подробности о скачивании 15.02.2012, 13:43
ЗАДАНИЕ №1.

Cоставить программу вычисления арифметического выражения для заданных значений x, y, z :
.

При x = 1.825102, y = 18.225, z = –3.29810-2   = 1.2131.

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

#pragma argsused
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
double x, y, z, a, b ,c, d, f, g, h, rez;
puts("\n\t x, y, z = ");
scanf("%lf %lf %lf", &x, &y, &z); // Формат для типа double ?f

a=y/x;
b=pow(x,a); // х в степени y/x
c=pow(a,1/3.);// корень 3 из у/x
d=b-c;
f=fabs(d); // значение модуля !!!

g=y-x;
a=cos(y)-z/(y-x);
b=1+y*y-2*y*x+x*x;
c=a/b;
g=g*c;

rez=f+g;
ceil(rez);
printf("\n x = %7.5lf\n y = %7.5lf\n z = %7.5lf\n Rezult = %7.5lf\n", x, y, z, rez);
puts("Press any key ... ");
getch();
return 0;
}

Результаты выполнения:



ЗАДАНИЕ №2.

Ввести значения исходных данных x, y и z. Вычислить значение функции
rez =

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

#pragma argsused
#include <conio.h> // #include <iostream.h>
#include <stdio.h>
#include <math.h>
void main()
{
double x, y, z, a, b, c, d, f, g, h, u;
puts("Input m1, m2");
scanf("%lf%lf",&x, &y);

// m1=x m2=y

a=x-2*y;
b=fabs(a);

if ((x==0)&&(y==0))
{
puts("\nVse zna4enia ne mogut bit'==0");
}
else
if ((0.1<b)&&(b<=1))
{
u=x-2*y/(x*x+y*y);
printf("\n\t|m1-2*m2|== %8.6lf", b);
puts("\n\t0.1<|m1-2*m2|<1 ");
printf("\n\t Rezult U = %8.6lf", u);
}
else
if (b>1)
{
f=x/y-1;
u=2*(x-y)*exp(f);
printf("\n\t|m1-2*m2|== %8.6lf", b);
puts("\n\t|m1-2*m2|>1 ");
printf("\n\t Rezult U = %8.6lf", u);
}
else
if (b<0.1)
{
puts("\n\tNet reshenii dlia dannogo uslovia. ");
}
puts("\nPress any key ... ");
getch();
}

Результаты выполнения:

1 вариант



2 вариант



ЗАДАНИЕ №3.

Написать и отладить программу вывода всех значений функции S(x) для аргумента х, изменяющегося в интервале от а до b c шагом h и заданном n.

, .

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

#include <stdio.h>
#include <conio.h>
#include <math.h>

int main(int argc, char* argv[]){
double a,b,x,h,r,s,y,m;
int k,n,zn;
puts("Input a,b,h,n");
r = scanf("%lf%lf%lf%d",&a,&b,&h,&n);
for (x=a; x<=b; x+=h){
zn = -1;
for (k=1; k<=n; k++){
zn *= -1;
r = zn*pow(x,2*k+1)/(4.0*k*k-1.0);
s += r;
}
y = (1+x*x)/2*atan(x)-x/2;
m = fabs(y-s);
printf("\n x=%8.2lf\tY(x)=%8.5lf\tS(x)=%8.5lf\t|Y(x)-S(x)|=%8.5lf",x,y,s,m);
}
puts("\nPress any key ...");
getch();
return 0;
}

Результаты выполнения:



ЗАДАНИЕ №4.

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

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

#include <iostream.h>
#include <conio.h>
#include <math.h>


void main()
{
int a[50],i,n,nul,b=0,s=0;
cout<<" Vvedite dliny massiva=";
cin>>n;

cout<<"\n Vvedite elementi: ";
for(i=0;i<n;i++) cin>>a[i]; //ввод массива;

for(i=0;i<n;i++)
if (a[i]!=0)
{b++;} // proverka na otsutstvie elementov ravnih 0

for(i=n;i>0;i--)
if(a[i]==0) { nul=i; break; } //поиск первого нулевого элемента с конца

for(i=nul;i<n;i++) s+=a[i]; //сумма элементов массива, расположенных после последнего элемента = 0;

if (b==n)
cout<<"\n Net elementa ravnogo 0.";
else
cout<<"\n Summa elementov massiva posle poslednego element ravnogo 0 == "<<s;

getch();
}

Результаты выполнения:



ЗАДАНИЕ №5.

В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти число элементов массива, больших T (вводится с клавиатуры) и просуммировать эти элементы.

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

#pragma hdrstop
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

//---------------------------------------------------------------------------

#pragma argsused

int MyFunc(int, int, int**, int*, int);

void main()
{
int **a, i, j, n, m, T, umn, kol;
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 matrix 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];
}
cout <<"\n Matrix A:" << endl;
for(i=0; i<n; i++) {
for(j=0; j<m; j++)
cout << "\t" << a[i][j];
cout << endl;
}
cout <<"\n Input T" << endl;
cin >> T;

umn = MyFunc(n, m, a, &kol, T);
cout << "\n Kol-vo = " << kol << "\t Result = " << umn << endl;
delete []a;
cout << "\n\t Memory is clear !" << endl;
cout << " Press any key ... " << endl;
getch();
}

int MyFunc(int a, int b, int **x, int *k, int T)
{
int i, j = 0, m = 0;
*k = 0;
for(i=0; i<a;i++)
for(j=0; j<b;j++)
if(x[i][j] > T){
(*k)++;
m+=x[i][j];
}

return m;
}

Результаты выполнения:



ЛИТЕРАТУРА

1. Батура М.П., Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Основы алгоритмизации и программирования. Язык Си : учеб. пособие. – Минск : БГУИР, 2007.
2. Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. - Мн.: БГУИР, 2004.
3. Демидович, Е. М. Основы алгоритмизации и программирования. Язык СИ / Е. М. Демидович. – Минск : Бест¬принт, 2001.
4. Шилд, Г. Программирование на Borland С++ / Г. Шилд. – Минск : ПОПУРРИ, 1999.
Категория: Другое | Добавил: m7_artem
Просмотров: 1973 | Загрузок: 29
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]