Лабораторная работа по C#. Вычисление первых n элементов последовательности

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Задача: написать программу, вычисляющую первые 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
  • Таким образом, алгоритм нашей программы может быть следующим:
  1. Просим пользователя ввести целое положительное число n
  2. Если пользователь ввел n<0, то выводим сообщение об ошибке, иначе:
    1. если n=0 — выводим на экран результат (0)
    2. если n = 1 — выводим на экран результат (b1)
    3. если n>1 — запускаем цикл для вычисления каждого элемента последовательности
      1. в цикле вычисляем очередной элемент
      2. выводим значение элемента на экран
  3. После выхода из цикла, сообщаем пользователю, что расчёт окончен.

Решение лабораторной работы

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 — значение очередного элемента последовательности.

Результат работы программы будет следующим:

Введите количество элементов для расчёта. n =
4
b1 = 4,7
b2 = 2,6117565126813
b3 = 4,14075390245268
b4 = 3,14243140462856
Расчёт окончен

Итого

Для выполнения этой лабораторной работы нам потребовались знания о циклах в C# и логических операциях. Для выполнения работы мы использовали цикл for, однако, при необходимости, вы можете воспользоваться любым известным вам циклом для вычисления элементов последовательности в C#.

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии