Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
01.04.2014
Размер:
136.85 Кб
Скачать

Содержание

Задание №1. Линейный вычислительный процесс………………………стр. 3

Задание №2. Реализация разветвляющихся алгоритмов………………..стр. 4

Задание №3. Реализация циклических алгоритмов……………………...стр. 6

Задание №4. Обработка одномерных массивов………………………....стр. 8

Задание №5. Обработка двухмерных динамических массивов. Функции пользователя……………………………………………………………......стр. 9

Дополнительное задание №6. Обработка структур с использованием файлов……………………………………………………………………...стр. 12

Задание №1

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

При x = 14.26, y = -1.22, z = 3.5x10-2 -> t = 0.564849 (-0.566691)

Листинг 1.1

#include <iostream.h>

#include <conio.h>

#include <math.h>

int main(){

const float PI = 3.1415926;

double x, y, z, a, b, c, res;

// Ввод исходных данных

cout << "X =\t";

cin >> x; endl;

cout << "Y =\t";

cin >> y; endl;

cout << "Z = \t";

cin >> z; endl;

// Вычисление формулы

a = 2 * cos(x - PI/6);

b = 0.5 + pow(sin(y), 2);

c = 1 + pow(z, 2)/(3 - pow(z, 2)/5);

res = a * c / b;

// Вывод результата

cout << "\nX = " << x << "\nY = " << y

<< "\nZ = " << z << "\nResult = " << res << endl;

cout << "Press any key..." << endl;

getch();

return 0;

}

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

Задание №2

Составить программу для вычисления значения rez в зависимости от поставленного условия.

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

Листинг 2.1

#include <iostream.h>

#include <conio.h>

#include <math.h>

Int main(){

double k, m, aux, rez;

// Ввод исходных данных

cout << "k =\t";

cin >> k;

cout << "m =\t";

cin >> m;

// Выполнение условия

aux = 5*k+3*m*log(fabs(k));

if (k >= 0 && k<m){

rez = pow(sin(aux), 2);

cout << "\n0 <= k < m" << endl;

cout << "\tsin2(f(k,m)) = " << rez << endl;

}

if (k >= m/2){

rez = pow(cos(aux), 2);

cout << "\nk >= m/2" << endl;

cout << "\tcos2(f(k,m)) = " << rez << endl;

}

else { // k < (m/2) && k<0

if (k < 0)

cout << "\nNetu v uslovii..." << endl;

}

cout << "\nPress any key..." << endl;

getch();

return 0;

}

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

Задание №3

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

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

Преобразуем данную последовательность S к рекуррентному виду:

Листинг 3.1

#include <iostream.h>

#include <conio.h>

#include <math.h>

Соседние файлы в папке отчёты