Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТиУвТС / Контрольная работа по ОАиП.docx
Скачиваний:
16
Добавлен:
01.04.2014
Размер:
461.73 Кб
Скачать

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

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

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

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

ИТ и УТС

Специальность______________________________

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

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

По курсу________________________________________

3

Вариант №_____

Минск, 2010

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

Приx = 3.7410-2, y = –0.825,

z = 0.16102 v = 1.0553.

Cхема алгоритма:

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

#include <stdio.h>

#include <conio.h>

#include <math.h>

int main()

{ double x, y, z, a, b, c, v;

puts("\n x, y, z = \n");

scanf("%lf %lf %lf", &x, &y, &z);

a=1+pow(sin(x+y),2);

b=fabs(x-(2*y/(1+x*x*y*y)));

c=pow(cos(atan(1/z)),2);

v=(a/b)*pow(x,fabs(y))+c;

printf("\n x = %5.1lf\n y = %5.1lf\n z = %5.1lf\n v = %5.4lf\n", x, y, z, v);

puts("Press any key ... ");

getch();

return 0;}

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

2.Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен.

rez =

Схема алгоритма:

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

#include<stdio.h>

#include <conio.h>

#include <math.h>

void main()

{ double k1, k2, rez;

puts("\n Vvedite k1, k2: ");

scanf("%lf%lf",&k1,&k2);

if (((k1*k2)>0)&&((k1*k2)<=1))

{rez=sqrt(fabs(2*k1-5*pow(k2,2)))*exp(k1+k2);

printf(" Vvedennye znachenija udovletvorjajut 1-mu usloviju \n\t rez=%5.3lf",rez);}

else if ((k1*k2)>1)

{rez=sqrt(fabs(2*pow(k1,2)+5*k2))*exp(k1-k2);

printf("\n Vvedennye znachenija udovletvorjajut 2-mu usloviju \n\t rez=%5.3lf",rez);}

else printf("\n Vvedennye znachenija ne udovletvorjajut ni odnomu iz uslovij");

puts("\n Press any key ... ");

getch();}

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

2)

3)

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

Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметраn выбрать в зависимости от задания.

Схема алгоритма:

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

#include<stdio.h>

#include<conio.h>

#include<math.h>

Void main()

{ double a, b, x, h, r, s, y, p=M_PI, raz;

int n, k;

puts("Vvedite a, b, h, n");

scanf("%lf%lf%lf%d", &a, &b, &h, &n);

for(x = a; x<=b; x+=h)

{ r=s=1;

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

{ r=cos(k*p/4)*r*pow(x,k)/k;

s+=r; }

y=exp(x*cos(p/4))*cos(x*sin(p/4));

raz=y-s;

printf("\n x= %5.1lf y= %5.4lf s= %5.4lf y-s= %5.4lf",x,y,s,raz); }

puts("\nPress any key ... ");

getch();

}

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

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

Схема алгоритма:

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

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#define n 10