Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы1_5.doc
Скачиваний:
15
Добавлен:
13.08.2019
Размер:
198.66 Кб
Скачать

3.1. Задание

Вычислить приближенное значение интеграла по формуле Симпсона для n=100 .

   

3.1.Текст программы

#include<iostream.h>

#include<math.h>

#include<conio.h>

void main()

{ float a,b,n,h,x,s1=0,s2=0,s,res;

int i;

cout<<"Введите нижний предел интегрирования: "<<endl;

cin>>a;

cout<<"Введите верхний предел интегрирования: "<<endl;

cin>>b;

cout<<"Введите n: "<<endl;

cin>>n;

x=a;

h=(b-a)/2/n; //шаг интегрирования

for(i=2; i<=2*n-2; i+=2) //вычисление суммы значений с четными номерами

{ s1+=x*sin(x);

x+=2*h;

}

s1*=2; //удвоение суммы значений с четными номерами

x=a;

for(i=1; i<=2*n-1; i+=2) //вычисление суммы значений с нечетными номерами

{ s2+=x*sin(x);

x+=2*h;

}

s2*=4;

s=s1+s2+a*sin(a)+b*sin(b); //вычисление итоговой суммы

res=(b-a)*s/(6*n); //приближенное вычисление интеграла

cout<<"Integral = "<<res<<endl;

getch();

}

3.2.Тестирование программы

В каждом индивидуальном задании указано два способа, которыми должен быть вычислен интеграл (например, по формуле Симпсона и по формуле прямоугольников). Результаты вычислений обоими методами должны быть близки по значению. Кроме того, для проверки полученных результатов желательно вычислить интеграл аналитически.

Для рассматриваемого интеграла:

.

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

Лабораторная работа № 9

Использование вложенных циклов для решения ребусов.

  1. Цель работы

     Целью лабораторной работы является получение практических навыков в работе с вложенными циклами на примере решения ребусов.

2. Темы для предварительной проработки

  • операторы цикла

3. Пример решения задачи

3.1. Условие задачи

Составить алгоритм решения ребуса буква + буква + буква = слово

(различные буквы обозначают различные цифры, старшая – не 0).

3.2.Используемые переменные

buk - слагаемое

slo - сумма

a[8]- массив цифр

i,j - индексы

r - вспомогательная переменная для проверки различности цифр.

3.3. Разработка кода программы

В этом ребусе задействовано 8 различных цифр. Пусть им соответствуют элементы одномерного массива. Поставим в соответствие букве б нулевой элемент массива a[0], букве у первый элемент массива a[1], букве к второй элемент массива a[2] и т.д.

Мы складываем три пятизначных числа и получаем также пятизначное число. Следовательно, элемент a[0] не может быть больше 3. В противном случае, например, при a[0]=4, получим a[0] + a[0] + a[0]=12. И тогда итоговая сумма будет уже шестизначным числом, что не соответствует условию задачи.

Кроме того, известно, что первая цифра – не 0. Следовательно, a[0] меняется от 1 до 3. И a[5], соответствующая букве с, меняется, начиная с 1. На все остальные цифры не накладываем никаких ограничений и проверяем все возможные варианты от 0 до 9.

При отыскании подходящего варианта выполняется проверка того, чтобы разным буквам соответствовали разные цифры.