
ИТиУвТС / ОАиП
.docМинистерство образования Республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий
Специальность «Информационные технологии и
управление в технических системах»___________
КОНТРОЛЬНАЯ РАБОТА
По курсу «Основы алгоритмизации и программирования»
Вариант №_8_
Студент-заочник_1_ курса
Группы № 082426_______
ФИО Редько Светланы________
Викторовны_________________
Адрес ул. Советская д.59,______
Кв 39, г.п. Подсвилье,_________
Глубокский р-он,Витебская обл.
211797______________________
Тел. 8 (029) 513-56-16_________
Минск,
2010
-
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
|
При x = –2.23510-2, y = 2.23, z = 15.221 = 39.374. |
#include <stdio.h>
#include <math.h>
void main()
{
float x, y, z, a, b ,c, rez;
x = –2.235*pow(10.-2); //присваиваем значение x
y = 2.23; //присваиваем значение y
z = 15.221; //присваеиваем значение z
a = pow(x,6)+pow(log(y),2);
//присваиваем
b = atan(x)+atan(z);
//присваиваем
c = exp(fabs(x-y))*pow(fabs(x-y),x+y);
//присваиваем
rez = c/b+pow(a,1/3);
//присваиваем
printf("\n x = %7.5f \n y = %7.5f \n z = %7.5f \n Rez = %7.5f \n", x, y, z, rez); //вывод на экран
}
-
Составить программу для вычисления значения rez в зависимости от поставленного условия.
Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен. Обратите внимание, что возможен случай, при котором исходные данные не будут подходить ни для одного из предложенных условий.
rez =
#include <conio.h> // #include <iostream.h>
#include <stdio.h>
#include <math.h>
void main()
{
float c,k,rez;
printf (“Введите значения с”);
scanf("%f ",&c); // вводим значение c
printf (“Введите значения k”);
scanf("%f ",&k); // вводим значение k
if (fabs(c+k)>2)
{ rez=pow(tan(c-2*k),2);
printf (“|c+k|>2”);
printf ( “значение выражения %f”,rez); // выводим значение выражения если |c+k|>2
}
else if (fabs(c+k)<=0.5)
{printf(“|c+k|<=0.5”);
printf (“неправильно ввели значения”);}
else { rez=log(fabs(c-2*k))-sin(c/2*k);
printf(“0.5<|c+k|<=2”);
printf ("\n значение выражения%f”,rez);} /* выводим значение выражения
если 0.5<|c+k|<=2 */
getch();
}
1 вариант введенные значения соответсвуют первому условию:
2 вариант введенные значения соответсвуют первому условию:
3 вариант введенные значения не соответсвуют ни одному из условий:
-
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях после десятичной точки.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания.
,
.
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
float a,b,h,y,s,r,x;
int n,k;
printf (“ \n введите диапазон от а до b и шаг h \n”);
scanf (“ %f \n %f \n %f”,&,&b,&h);
printf (“ \n введите число членов ряда \t”);
scanf (“ %i”, &n);
printf (“ \n x \t y(x) \t s(x) \t |y(x)-s(x)|”); // создаем шапку для таблицы вывода зн-й
for (x=a; x<b+h;x+=h)
{ y=exp(2*x); //определяем значение функции в точке x
r=s=1;
for (k=1;k<n;k++)
{ r=r*2*x/k; // определяем сумму при каждом значении x
s+=r;}
printf (“ \n %2.1f \t %5.4f \t %5.4f \t %5.4f”,x,y,s,fabs(y-s));}
getch ();
}
-
В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить: cумму элементов массива, расположенных после последнего отрицательного элемента
#include <conio.h>
#include <stdio.h>
#define n 10
void main ()
{
int a[n],i,otr,sum;
printf (“\n введите массив”);
for (i=0; i<n; i++)
{ printf (“\n a[%i]”,i+1); // вводим массив
scanf (“%i”,&a[i]);}
printf(“\n введенный массив\n”)
for (i=0; i<n; i++) // выводим полученный массив
printf (“%5i”,a[i]);
sum=0;
for (i=0; i<n; i++) // определяем индекс последнего отриц. числа
if (a[i]<0) otr=i;
for (i=otr+1; i<n; i++)
sum+=a[i]; //считаем сумму членов после последнего отриц.
printf (“\n сумма %i”,sum);
}
-
В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение.
Массив в памяти разместить динамически (с использованием операций new и delete), ввод исходных данных и вывод полученных результатов выполнить в основной функции, а решение задачи оформить в виде отдельной функции пользователя. Не использовать глобальных переменных.
Найти количество 0-й и 1-ц в массиве, а также сумму единиц.
#include <conio.h> // #include <iostream.h>
#include <stdio.h>
#include <math.h>
void EZ (int**,int,int); // описываем функцию пользователя
int main ()
{ clrscr();
int *a,n,m;
printf (“введите n, m:”); // вводим количество строк и столбцов
scanf (“ %d %d”,&n,&m);
a=new int*[n]; // занимаем место в памяти
for (i=0; i<n; i++) // ввод массива
for (int j=0; j<m; j++)
{ printf (“ENTER a[%d][%d]=”,i+1,j+1);
scanf (“%d”,&a[i][j]);}
for (i=o; i<n; i++)
{printf (“\n); // вывод массива
for (j=0;j<m;j++)
printf (“ \t %d”, a[i][j])}
EZ(a,n,m); //вызов функции
delete (a); // освобождение памяти
printf (\n press button …”);
getch();
return (0);
}
void EZ (int**a,int n1,int m1) // решение с использованием функции
{
int z=0; ed=0; sum=0;
for (int i=0;i<n1;i++)
for (int j=0;j<m1;j++)
{ if (abs(a[i][j]==1) {ed++; sum+=a[i][j];} // определяем число единиц и их сумму
if (a[i][j]==0) z++; // определяем число нулей
}
ЛИТЕРАТУРА
1. Батура М.П., Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Основы алгоритмизации и программирования. Язык Си : учеб. пособие. – Минск : БГУИР, 2007.
2. Бусько В.Л., Корбит А.Г., Кривоносова Т.М. Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. - Мн.: БГУИР, 2004.
3. Бусько В.Л., Карцев В.Т., Кривоносова Т.М., Навроцкий А.А. Основы программирования в среде С++ Builder: лаб.практикум по курсу «Основы алгоритмизации и программирования» для студ. 1 – 2-го курсов БГУИР. В 2 ч. Ч.1 . – Минск: БГУИР, 2007.