
Министерство образования Республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий
ИТ и УТС
Специальность______________________________
Контрольная работа №1
«Основы алгоритмизации и програмирования»
По курсу________________________________________
3
Вариант №_____
Минск, 2010
-
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях:
|
Приx = 3.7410-2, y = –0.825, z = 0.16102 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