Нарисовать блок схему к программе и расставить комментарии - C#

Узнай цену своей работы

Формулировка задачи:

помогите составить блок-схему по программе.... и с коментариями в программе о действиях
static void Main(string[] args)
        {
            do
            {
                int x, n = 0;
                do Console.Write("Введите число: ");
                while (!Int32.TryParse(Console.ReadLine(), out x));
                do
                {
                    char[] a = x.ToString().ToCharArray();
                    int s = 0;
                    for (int i = 0; i < a.Length; i++) s += a[i] - 48;
                    Console.WriteLine("{0,4} {1}-{2}={3}", "("+ ++n + ")", x, s, x -= s);
                } while (x > 0);
                Console.WriteLine("Ещё?(Enter)");
            } while (Console.ReadKey().Key == ConsoleKey.Enter);
        }

Решение задачи: «Нарисовать блок схему к программе и расставить комментарии»

textual
Листинг программы
static void Main()
{
    // Начало внешнего цикла с постусловием.
    do
    {
        // Инициализация целочисленных переменных.
        int x, n = 0;
        // Начало внутреннего цикла 1 с постусловием.
        do
        {
            // Вывод на консоль с переводом строки.
            Console.Write("Введите число: ");
        // Внтуренний цикл 1 продолжается пока не будет считана строка,
        // которая корректно преобразуется в значение типа Int32.
        } while (!Int32.TryParse(Console.ReadLine(), out x));
        // Начало внутреннего цикла 2 с постусловием.
        do
        {
            // Преобразование значения типа Int32 в массива типа char. Инициализация массива типа char.
            // В массиве получим посимвольное представление числа, которое, по умолчанию, в десятичном
            // формате без всяких разделителей, для отрицательных чисел первым элементом будет '-'.
            char[] a = x.ToString().ToCharArray();
            // Инициализация целочисленной переменной.
            int s = 0;
            // Цикл со счетчиком. Счетчик инициализируется 0, на каждом шаге увеличивается на 1.
            // Повторяется столько раз, сколько элементов в массиве a.
            // Т.е. в этом цикле будут перебираться все элементы массива a.
            for (int i = 0; i < a.Length; i++)
            {
                // 1) Из элемента массива вычитается 48 (в таблице ASCII это код символа 0 (ноль)).
                //    Т.е. получим само значение цифры, например, если в a[i] хранился символ '1',
                //    то отняв из этого значения 48 получим число 1.
                // 2) Результат вычитания прибавляется к переменной s. Т.е. s суммирует результаты.
                s += a[i] - 48;
            }
            // Здесь выполняется форматированный вывод на консоль.
            // Строка форматирования "{0,4} {1}-{2}={3}". Вместо выражений в скобках подставляются параметры.
            // Первое значение в фигурных скобках - индекс параметра, второе (необязательное) - желательная
            // ширина поля форматирования.
            // Далее я наверное не совсем корректно объясню, но суть такая. Пусть, например: n = 0; x = 12; s = 3.
            // Вычисляется ++n, результат сохраняется в этой же переменной (теперь n == 1).
            // Формируется строка "(1)". Эта строка будет подставлена вместо {0,4}.
            // Значение x преобразуется в строку "12". Эта строка будет подставлена вместо {1}.
            // Значение s преобразуется в строку "3". Эта строка будет подставлена вместо {2}.
            // Вычисляется x -= s, результат сохраняется в x (теперь x == 9).
            // Значение x преобразуется в строку "9". Эта строка будет подставлена вместо {3}.
            // В соответсвии с форматной строкой WriteLine выводит "(1) 12-3=9", добавляя в конце перевод строки.
            Console.WriteLine("{0,4} {1}-{2}={3}", "(" + ++n + ")", x, s, x -= s);
        // Внутренний цикл 2 продолжается, если x не равно 0.
        } while (x > 0);
        // Вывод на консоль с переводом строки.
        Console.WriteLine("Ещё?(Enter)");
    // Внешний цикл продолжается пока пользователь нажимает Enter.
    } while (Console.ReadKey().Key == ConsoleKey.Enter);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы