
- •3. Пример решения задачи
- •3.1. Условие задачи.
- •3.2. Ограничения на значения параметров
- •3.3.Текст программы
- •3.4.Тестирование программы
- •Приложение. Некоторые стандартные математические функции.
- •Лабораторная работа № 2. Составление программ для решения геометрических и физических задач.
- •1. Цель работы
- •2. Темы для предварительной проработки
- •3. Пример решения задачи
- •3.1. Условие задачи.
- •3.2. Разработка алгоритма решения.
- •3.3. Ограничения на значения параметров
- •3.4.Текст программы
- •3.5. Результаты работы программы Результат работы программы может выглядеть, например, следующим образом:
- •Лабораторная работа № 3 Управление символьным выводом на экран
- •3. Пример решения задачи
- •Программы для решения задач с использованием условного оператора.
- •3.3. Текст программы
- •3.4. Результаты работы программы
- •Лабораторная работа № 5
- •1. Цель работы
- •2. Темы для предварительной проработки
- •3. Пример решения задачи
- •3.1. Условие задачи
- •3.2. Разработка алгоритма решения.
- •3.3. Определение переменных программы
- •3.4. Разработка текста программы
- •3.5. Отладка программы
- •3.2. Текст программы
- •Вычисление суммы ряда с помощью операторов цикла.
- •3.1. Условие задачи
- •3.2. Текст программы
- •3.3.Тестирование программы
- •Приближённое вычисление определённого интеграла методами прямоугольников, трапеций, Симпсона.
- •3.1. Задание
- •3.1.Текст программы
- •3.2.Тестирование программы
- •Использование вложенных циклов для решения ребусов.
- •3.1. Условие задачи
- •3.2.Используемые переменные
- •3.3. Разработка кода программы
- •3.4.Текст программы
- •3.5. Результат работы программы
- •3.1. Условие задачи
- •3.2. Используемые переменные
- •3.3.Текст программы
- •2.3.Тестирование программы
- •Задачи на формирование двумерных массивов.
- •3.3. Определение переменных программы
- •3.4. Разработка текста программы
- •Задачи на формирование двумерных массивов.
- •3.2. Текст программы
- •3.3. Тестирование программы
- •Рисование графических примитивов
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
Использование вложенных циклов для решения ребусов.
Цель работы
Целью лабораторной работы является получение практических навыков в работе с вложенными циклами на примере решения ребусов.
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.
При отыскании подходящего варианта выполняется проверка того, чтобы разным буквам соответствовали разные цифры.