Нарисовать блок схему к программе и расставить комментарии - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д