- •Задание и порядок выполнения работы
- •Задача 3. Составить алгоритм, написать программу, создать консольное приложение для вычисления на пк значения функции, заданной в табл. 4. 2.
- •Вычисление выполнить двумя способами:
- •Запустить на исполнение, проанализировать результат вычисления и сделать выводы.
- •Методические указания по выполнению задания
- •1 Вариант.
- •2 Вариант.
- •Задания на дом для самостоятельного решения.
- •Методические указания по выполнению задачи 5
Методические указания по выполнению задания
Задача 1. Используя оператор for,
вычислить на ПК значение функции
,
при х=0.5. В приведенной формуле
сомножитель 5x2 не
зависит от параметра n,
поэтому расчетную формулу можно
упростить как:
.
Параметром цикла здесь является аргумент
n и накопление суммы
будет происходить по (1/n).
При вычислении конечных сумм и произведений искомый результат формируется постепенно.
П
ри
вычислении суммы сначала вычисляется
S1 = S0
+ S(n1),
во втором повторе цикла эта сумма
увеличивается на второе слагаемое и
получается S2 = S1
+ S(n2),
в третьем повторе - на третье слагаемое
S3 = S2
+ S(n3)
и т.д. Здесь S0 -
начальное значение суммы и т.к. S1
должна быть равна S(n1)
, то S0 = 0.
При вычислении произведения сначала вычисляется Р1 = Р0*P(n1), затем Р2 = Р1*P(n2) и т.д. Здесь Р0 - начальное значение произведения и т.к. Р1 должно быть равно P(n1) , то Р0 = 1.
Поскольку сомножитель 5х2 не зависит от параметра n его можно вынести за знак суммы, и в тело цикла это произведение включать не следует. Тем самым сокращается время исполнения программы. Блок-схема алгоритма решения задачи (Рис. 4.1) и соответствующая ей программа будут иметь вид:
static void Main(string[] args) { double
x = 0.5, t = 0, n; for (n = 1; n <= 10;
n++) t
= t + 1/ n;
// накопление суммы в теле цикла t
= 5*Math.Pow(x,2) * t;
Console.WriteLine("Сумма
членов ряда
= {0:#.###}", t);
Console.ReadKey(); }
Результаты работы программы:
Рис. 4.1. Блок- схема алгоритма задачи 1
З
адача
2. Вычислить на ПК значения функции
static void Main(string[] args) { int i = 1, k = 1;
double s = 0, t = 1; for (i = 1; i <= 10;
i++) { s
= 0; // обнуление суммы for (k = 1; k <=
5; k++) s
= s + Math.Sin(i*k); // накопление
суммы t
= t * s; // накопление произведения }
Console.WriteLine("t = {0:#.##### }",
t);
Console.ReadKey(); }
Результаты работы программы:
Рис. 4.2. Блок схема алгоритма задачи 2.
Задача 3. Используя операторы while…do и do…, while вычислить значения функции
,
в диапазоне изменения x
от 0 до 3 с шагом 0.5.
П
ри
решении данной задачи можно использовать
алгоритмы циклической структуры "ДО"
и "ПОКА". Параметром данного цикла
является х, причем при каждом
повторном вычислении его значение
следует увеличивать на величину шага.
По условию задачи начальным значением
х примем 0, а конечным значением – 3.
Рассмотрим разные варианты решения этой задачи.
