Задача: написать программу, вычисляющую первые 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#.