Задача: написать программу, вычисляющую первые n
элементов заданной последовательности: b1 = 4.7; bn = sin(bn-1)+pi
.
Алгоритм решения
После того, как пользователь вводит в консоли какое-либо целое число n
, программа должна рассчитать n
элементов последовательности. При этом n
не должно быть меньше 0
(количество элементов не может быть отрицательным). Вычисление n
раз одной и той же формулы удобнее всего осуществлять в цикле.
Например:
- если пользователь введет «1», то результат работы программы будет равен 4,7
- если пользователь введет «2», то результат будет равен sin(4,7-1)+3,14 = 2,6117565126813
- если пользователь введет «3», то результат будет равен sin(2,6117565126813-1)+3,14 = 4,14075390245268
- Таким образом, алгоритм нашей программы может быть следующим:
- Просим пользователя ввести целое положительное число n
- Если пользователь ввел n<0, то выводим сообщение об ошибке, иначе:
- если n=0 — выводим на экран результат (0)
- если n = 1 — выводим на экран результат (b1)
- если n>1 — запускаем цикл для вычисления каждого элемента последовательности
- в цикле вычисляем очередной элемент
- выводим значение элемента на экран
- После выхода из цикла, сообщаем пользователю, что расчёт окончен.
Решение лабораторной работы
using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { double b1 = 4.7; int n; Console.WriteLine("Введите количество элементов для расчёта. n = "); n = int.Parse(Console.ReadLine()); if (n < 0) { Console.WriteLine("Количество элементов не может быть меньше нуля"); return; //выходим из программы } for (int i = 1; i <= n; i++) { double element; if (i == 1) { element = b1; } else { element = Math.Sin(b1 - 1) + Math.PI; //bn = sin(bn-1)+pi b1 = element;//запоминаем последний рассчитанный элемент } Console.WriteLine($"b{i} = {element}"); } Console.WriteLine("Расчёт окончен"); Console.ReadKey(); } } }
Во-первых, мы запоминаем значение первого элемента — double b1 = 4.7
и, впоследствии используем переменную b1
для хранения каждого предыдущего рассчитанного элемента последовательности.
Во-вторых, значение каждого очередного элемента последовательности мы выводим в консоль в конце тела цикла, используя интерполяцию строк в C#: Console.WriteLine($"b{i} = {element}");
, где i
— это счётчик цикла, element
— значение очередного элемента последовательности.
Результат работы программы будет следующим:
4
b1 = 4,7
b2 = 2,6117565126813
b3 = 4,14075390245268
b4 = 3,14243140462856
Расчёт окончен
Итого
Для выполнения этой лабораторной работы нам потребовались знания о циклах в C# и логических операциях. Для выполнения работы мы использовали цикл for, однако, при необходимости, вы можете воспользоваться любым известным вам циклом для вычисления элементов последовательности в C#.