Автор работы: Пользователь скрыл имя, 03 Января 2012 в 22:11, контрольная работа
Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен. Обратите внимание, что возможен случай, при котором исходные данные не будут подходить ни для одного из предложенных условий.
Задание 1 2
Задание 2 4
Задание 3 7
Задание 4 9
Задание 5 11
Литература. 14
Министерство образования республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Институт
информационных технологий
Специальность___________
КОНТРОЛЬНАЯ
РАБОТА
По курсу «Основы алгоритмизации
и программирования»
Вариант
№ 10
Содержание
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
10. | При x = 3.981´10-2, y = –1.625 ´ ´103, z = 0.512 ® a = 1.26185. |
Код программы
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
double
x, y, z, a;
// Ввод исходных данных
cout << "x =\t";
cin >> x; endl;
cout << "y =\t";
cin >> y; endl;
cout << "z = \t";
cin
>> z; endl;
// Вычисление формулы
a
= pow(2,-x)*sqrt(x+pow(fabs(y),
// Вывод результата
cout << "\nX = " << x << "\nY = " << y
<< "\nZ = " << z << "\na = " << a << endl;
cout
<< "Press any key..." << endl;
getch();
return 0;
}
Результаты работы программы
Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен. Обратите внимание, что возможен случай, при котором исходные данные не будут подходить ни для одного из предложенных условий.
10.
rez =
.
Код программы
#include <iostream.h>
#include <conio.h>
#include <math.h>
int main(){
double
s, n, rez;
// Ввод исходных данных
cout << "Vvedite s =\t";
cin >> s; endl;
cout << "Vvedite n =\t";
cin >> n; endl;
// Логические выражения
if (s > fabs(n)/2 && s <= fabs(n)){
rez = sqrt(fabs(s*exp(2)-n*exp(-2)))
cout << "\ns > fabs(n)/2 && s <= fabs(n)" << endl;
cout << "\trez = " << rez << endl;
}
else {
if (s >= fabs(n)){
rez = sqrt(fabs(s-n)*pow(sin(s+n),3)
cout << "\ns >= fabs(n)" << endl;
cout << "\trez = " << rez << endl;
}
else
cout << "Ne opredeleno...." << endl;
}
// Вывод результата
cout
<< "\nPress any key..." << endl;
getch();
return 0;
}
Результаты работы программы
Выполнение 1-го условия
Выполнение 2-го условия
Выполнение 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 выбрать в зависимости от задания.
10. , .
Код программы
#include "stdio.h"
#include "conio.h"
#include "math.h"
void main()
{
double Y,S,a,b,h,n,x,k,f,z,i;
puts("Vvedite a,b,h,n\n");
scanf("%lf%lf%lf%lf",&a,
for (x = a;x <= b;x += h)
{
S = 1;
printf("x = %.3lf",x);
f = 1;
for (k = 1;k <= n;k++)
{
for(i = 1;i <= 2*k;i++)
{
f=f*i;
}
S+=pow(x,2*k)/f;
}
printf(" S(x) = %.5lf",S);
Y =(exp(x)+exp(-x))/2;
printf(" Y(x) = %.5lf",Y);
z = fabs(Y-S);
printf(" |Y(x)-S(x)| = %.5lf\n",z);
}
getch();
}
Результаты работы программы
В одномерном целочисленном массиве (размер массива (не больше 20) и значения его элементов вводить с клавиатуры) вычислить:
Сумму модулей элементов массива, расположенных после минимального по модулю элемента.
Код программы
#include <iostream.h>
#include <conio.h>
int main(){
typedef int mas[20]; // îïðåäåëåíèå òèïà ìàññèâ
mas a; // îïðåäåëåíèå ìàññèâà À
unsigned
short int iMinA, n, s=0, i, k, min=0;
cout << "Vvedite N (<=20):\t";
cin >> n;
cout << "\nMassiv A:" << endl;
for (i=0; i<n; i++){
cout << "\t a[ " << i+1 << " ] = ";
cin >> a[i];
if (a[i]<0){
a[i]=a[i]*(-1);
}
}
for (i=0; i<n; i++){
for (k=1; k<n-1; k++){
iMinA = (a[i] < a[k]) ? i : k;
}
if (a[iMinA] < a[min]) min = iMinA; // áûëè ëè óæå ÷èñëà ìåíüøå
}
cout
<< "\n Minimal'nyi element massiva \"a[" <<
min+1 << "]\" is:\t" << a[min] << endl;
for (i=min+1; i<n; i++){
s += a[i];
}
cout
<< "\nSumma = " << s << endl;
cout
<< "\n\nPress any key to exit" << endl;
getch();
return 0;
}
Результаты работы программы
В целочисленном
двухмерном динамическом массиве (матрице)
размером N´М . 16. Найти число элементов
массива < T* и их сумму.
Код программы
#include <iostream.h>
#include <conio.h>
#include <math.h>
void pr_kol(int, int, int, int**, int*);
void main()
{
int **a, i, j, n, m, T, kol;
cout << "\t Vvedite n, m, T : ";
cin >> n >> m >> T;
a = new int*[n];
for(i=0; i<n;i++)
a[i] = new int[m];
cout <<"\n Vvedite massiv" << 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 Massiv:" << endl;
for(i=0; i<n; i++) {
for(j=0; j<m; j++)
cout << "\t" << a[i][j];
cout << endl;
}
pr_kol(n, m, T, a, &kol);
if (kol != 0)
cout << "\n Summa = " << kol << endl;
else cout << "\n Elem < T net" << endl;
delete []a;
cout << "\n\t Delete !" << endl;
cout << " Press any key ... " << endl;
getch();
}
void pr_kol(int a, int b, int T, int **x, int *k)
{
int i, j,m;
m=1;
*k = 0;
for(i=0; i<a;i++)
for(j=0; j<b;j++)
if(x[i][j] < T)
(*k)=(*k)+x[i][j];
}
Результаты работы программы
Информация о работе Основы алгоритмизации и программирования