Введення і виведення в консольному додатку

Іноді, наприклад, для наукових розрахунків потрібно організувати який-небудь найпростіший введення даних, виконати, можливо, досить складну математичну обробку введених даних і оперативно вивести на екран результат обчислень. Така ж ситуація виникає і тоді, коли велика програма налагоджували по частинах. І для налагодження обчислювальної частини абсолютно не важливий сервіс при введенні даних.

Можна по-різному організувати таку програму, в тому числі програмуючи так званий консольний додаток (від англ. Console - пульт управління). Під консоллю зазвичай мають на увазі екран комп'ютера і клавіатуру.

Для прикладу напишемо консольний додаток, який запрошує користувача ввести два числа, складає їх і виводить результат обчислень на консоль.

Для цього запускаємо Visual Basic 2010, створюємо новий проект (New Project), в пункті Visual Basic вибираємо шаблон Console Application, задаємо ім'я (Name) рішення - Сума. Після клацання на кнопці OK потрапляємо відразу на вкладку програмного коду (рис. 1).

Рис. 1. Вкладка програмного коду

Як бачите, тут керуюче середовище Visual Basic 2010 приготувало кілька рядків програмного коду. Це цілком працездатна програма, по її операторам можна "пройтися" відладчиком, послідовно натискаючи клавішу <F10>. При запуску консольного або Windows-додатку Visual Basic першим викликається метод Main (). Між Sub Main () і End Sub ми вставимо власний програмний код:

Module Module1

    'Програма організовує введення двох чисел, дадоє їх

    ' та виводить суму на консоль

    Sub Main()

        ' Задаємо стрічку заголовку консолі:

        Console.Title = "Додаю два числа:"

        Console.BackgroundColor = ConsoleColor.Cyan ' — колір фону

        Console.ForegroundColor = ConsoleColor.DarkMagenta  ' — колір тексту

        Console.Clear()

        ' Вводимо перший доданок:

        Console.WriteLine("Введiть перше число:")

        Dim Строка = Console.ReadLine()

        ' Перетворення рядкової змінної в число:

        Dim X = Single.Parse(Строка)

        ' Введення другого доданку:

        Console.WriteLine("Введiть другий доданок:")

        Строка = Console.ReadLine()

        Dim Y = Single.Parse(Строка)

        Dim Z = X + Y

        Console.WriteLine("Сума : {0} + {1} = {2}", X, Y, Z)

        ' Звуковий сигнал частотою 1000 Гц та тривалістю 0,5 с.:

        Console.Beep(1000, 500)

        ' Призупиняємо виконання програми до натиснення будь-якої клавіші:

        Console.ReadKey()

    End Sub

End Module

Отже, в даній програмі Sub Main () - це стартова точка, з якої починається її виконання. Зазвичай консольний додаток виконується у вікні на чорному тлі. Щоб якось прикрасити традиційно чорне вікно консольного застосування, встановимо колір фону вікна BackgroundColor синьо-зеленим (Cyan), а колір символів, що виводяться на консоль, чорним (Black). Виводимо рядки у вікно консолі методом WriteLine, а для зчитування рядка символів, що вводяться користувачем, використовуємо метод ReadLine. Після ключового слова Dim, назви змінної і оператора присвоювання ми свідомо не вказали тип змінної, оскільки транслятор сам призначить їй тип відповідно що повертається значенням функції ReadLine (). Для перетворення рядка символів, введених користувачем, в числове значення типу Single, використовуємо метод Parse. Тип даних Single застосовується тоді, коли число, записане в змінну, може мати цілу і дробову частини. Змінна типу Single займає 4 байта.

Після обчислення суми необхідно вивести результат обчислень з оперативної пам'яті на екран. Для цього скористаємося форматованим виведенням в фігурних дужках методу WriteLine об'єкта Console:

Console.WriteLine("Сумма = {0} + {1} = {2}", X, Y, Z)

Потім видаємо звуковий сигнал Beep, що символізує про закінчення процедури і виведення на екран результатів обчислень. Останній рядок у програмі Console.ReadKey () призначений для припинення виконання програми до натискання будь-якої клавіші. Якщо не додати цей рядок, вікно з командним рядком відразу зникне, і користувач не зможе побачити виведення результатів виконання. Програма написана. Натисніть <F5>, щоб побачити результат. Приклад роботи даної програми представлений на рис. 2.

Рис. 2. Приклад роботи консольного застосування

При організації наукових розрахунків або в ситуації, коли необхідно налагодити розрахункову частину великої програми, коли сервіс при введенні даних взагалі не має значення, можна просто привласнювати значення змінним при їх оголошенні. Дуже технологічним є варіант, коли дані записуються в текстовий файл за допомогою, наприклад, Блокнота (notepad.exe), а в програмі передбачено читання текстового файлу в оперативну пам'ять.