В этом уроке мы подробнее поговорим о std::cout , который мы использовали в нашей программе «Hello world!» для вывода в консоль текста «Hello world!». А также узнаем, как получить данные от пользователя, которые мы будем использовать, чтобы сделать наши программы более интерактивными.
Библиотека ввода/вывода
Библиотека ввода/вывода (библиотека io) является частью стандартной библиотеки C++, которая имеет дело с базовым вводом и выводом. Мы будем использовать функции этой библиотеки для получения ввода с клавиатуры и вывода данных в консоль. Буквы io в iostream означают «input/output» (ввод/вывод).
Чтобы использовать функции, определенные в библиотеке iostream , нам нужно включить заголовочный файл iostream в начало любого исходного файла, который использует содержимое, определенное в iostream , например:
#include // остальной код использует функциональность iostream
std::cout
Библиотека iostream содержит несколько предопределенных переменных, которые мы можем использовать. Одной из наиболее полезных является std::cout , которая позволяет нам отправлять данные в консоль для печати в виде текста. cout означает «character output» (вывод символов).
Вывод данных с датчиков на дисплей
Вспомним нашу программу Hello world :
#include // для std::cout int main() < std::cout
В эту программу мы включили iostream , чтобы у нас был доступ к std::cout . Внутри нашей функции main() мы используем std::cout вместе с оператором вставки ( для отправки текста « Hello world! » в консоль для печати.
std::cout может печатать не только текст, но и числа:
#include // для std::cout int main() < std::cout
Это дает результат:
Его также можно использовать для вывода значений переменных:
#include // для std::cout int main() < int x; // определяем целочисленную переменную x, инициализированную значением 5 std::cout
Это дает результат:
Чтобы напечатать несколько элементов в одной строке, для объединения (связывания) нескольких частей выводимых данных, оператор вставки (
#include // для std::cout int main()
Эта программа печатает:
Hello world!
Вот еще один пример, в котором мы печатаем и текст, и значение переменной в одном выражении:
#include // для std::cout int main() < int x; std::cout
Эта программа печатает:
x is equal to: 5
std::endl
Как вы думаете, что напечатает следующая программа?
#include // для std::cout int main()
Результат может вас удивить:
Hi!My name is Alex.
Отдельные выражения вывода не приводят к отдельным выводимым строкам в консоли.
Если мы хотим выводить в консоль отдельные выводимые строки, нам нужно указать консоли, когда необходимо переместить курсор на следующую строку.
Один из способов сделать это – использовать std::endl . При выводе с помощью std::cout , std::endl выводит в консоль символ новой строки (заставляя курсор переместиться в начало следующей строки). В этом контексте endl означает «end line» (конец строки).
#include // для std::cout и std::endl int main() < std::cout
Hi! My name is Alex.
Совет
Уроки Arduino #2 — работа с монитором COM порта
В приведенной выше программе второй std::endl технически не нужен, так как программа сразу же после этого завершается. Однако он служит двум полезным целям: во-первых, он помогает указать, что строка вывода является «законченной мыслью». Во-вторых, если мы позже захотим добавить дополнительные выражения вывода, нам не нужно будет изменять существующий код. Мы можем просто добавить новые выражения.
std::endl против ‘n’
Использование std::endl может быть немного неэффективным, поскольку фактически выполняет две задачи: перемещает курсор на следующую строку и «очищает» вывод (обеспечивает немедленное отображение на экране). При записи текста в консоль с использованием std::cout , std::cout обычно всё равно очищает вывод (а если нет, это обычно не имеет значения), поэтому наличие очистки от std::endl редко бывает важным.
Из-за этого обычно предпочтительнее использовать символ ‘n’ . Символ ‘n’ перемещает курсор на следующую строку, но не выполняет избыточную очистку, поэтому он работает лучше. Символ ‘n’ также легче читать, поскольку он короче и может быть встроен в существующий текст.
Вот пример, в котором ‘n’ используется двумя разными способами:
#include // для std::cout int main() < int x; // Использование ‘n’ в одиночном режиме std::cout
Этот код напечатает:
x is equal to: 5 And that’s all, folks!
Обратите внимание, что когда ‘n’ используется сам по себе для перемещения курсора на следующую строку, необходимы одинарные кавычки. При встраивании в текст, который уже заключен в двойные кавычки, одинарные кавычки не нужны.
Команда ECHO — вывод текста на экран консоли
Команда ECHO наверно является одной из самых простых и самых используемых команд. Применяется для вывода текстовых сообщений на стандартный вывод и для переключения режима отображения команд на экране.
Формат командной строки:
ECHO [ON | OFF] — включить / выключить режим отображения вводимых команд на экране.
ECHO [сообщение] отобразить текст сообщения на экране.
ECHO — при вводе команды без параметров, отображается текущий режим отображения команд:
Режим вывода команд на экран (ECHO) включен.
Для вывода пустой строки, используется команда ECHO с точкой:
echo Hello World. — вывод сообщения Hello World. на экран.
echo %USERNAME% — вывод на экран значения переменной окружения USERNAME (имени текущего пользователя)
Наиболее распространено использование команды echo в командных файлах. Практически любой командный файл начинается командой
Очень часто команда echo используется для записи сообщений в текстовый файл с использованием перенаправлением вывода:
echo Начало работы — %DATE% в %TIME% >logfile.txt
Echo ERORLEVEL=%ERRORLEVEL% >> logfile.txt
Echo Конец работы, %DATE% в %TIME% >>logfile.txt
В текстовый файл logfile.txt записывается дата и время начала работы командного файла, некоторые результаты и время завершения.
Нередко, команда echo используется для создания нового файла:
echo 1 >newfile.cmd — вывести символ «1» в файл newfile.cmd . Если такого файла не существует, он будет создан, если существует, то будет перезаписан.
Значения параметров командной строки, переменных и их подстановочных значений, также нередко отображаются с помощью команды echo . Пример командного файла, выводящего на экран информацию о себе:
При выводе служебных символов, интерпретируемых командным процессором нужно использовать символ ^ . Например, вместо значения переменной ERRORLEVEL, нужно вывести текст “%ERRORLEVEL%”
ECHO ^%ERRORLEVEL^% = %ERRORLEVEL%
Особенностью команды ECHO является добавление служебных символов возврата каретки и перевода строки 0x0D и 0x0A (Carriage Return и Line Feed) в конец выводимого текста. Командный файл следующего содержания выводит текст из 3-х строк:
Если же требуется вывести весь текст в одну строку, обычно используют эмуляцию команды ECHO командой SET с параметром /P, используемой для организации диалога с пользователем, когда выводится сообщение, на которое требуется ответ. Выводимое сообщение можно использовать таким же образом, как и в команде ECHO, а вместо ответа можно использовать ввод с фиктивного устройства nul :
При выполнении такого командного файла сообщение на экране будет представлено одной строкой:
Для подачи звуковых сигналов можно использовать вывод служебного символа с кодом 07 (BELL). Достаточно просто включить его в поток выходных данных, что зависит от возможностей редактора, который используется для написания командного файла. Можно использовать и стандартные возможности командной строки, добавив комбинацию CTRL+G :
echo echo ^G > beepcmd.bat
После выполнения данной команды будет создан командный файл beepcmd.bat , который выводит командой ECHO служебный символ 07, т.е. включает писк динамика. При необходимости его можно вызывать в других командных файлах с помощью команды CALL.
Источник: ab57.ru
Модуль 2.2
Полное решение модуля 2.2 из курса «Поколение Python»: курс для начинающих» с ответами на вопросы и подробным кодом.
- Команда print() используется для вывода данных на экран
- Значения для вывода, указываемые через запятую в команде print() , называются аргументами или параметрами (выбрать оба варианта)
Третий номер:
Здравствуй, мир!
Напишите программу, которая выводит на экран текст «Здравствуй, мир!» (без кавычек).
# Вывод на экран print («Здравствуй, мир!»)
Четвертая задача:
Счастливая последовательность 1
В популярном сериале «Остаться в живых» использовалась последовательность чисел 4 8 15 16 23 42, которая принесла героям удачу и помогла сорвать джекпот в лотерее. Напишите программу, которая выводит данную последовательность чисел с одним пробелом между ними.
Примечание. Текст ‘4 8 15 16 23 42’ не использовать. Воспользуйтесь возможностью команды print() выводить несколько аргументов, указанных через запятую.
# put your python code here print(‘4’, ‘8’, ’15’, ’16’, ’23’, ’42’)
Пятая задача:
Счастливая последовательность 2
Измените предыдущую программу так, чтобы каждое число последовательности 4 8 15 16 23 42 печаталось на отдельной строке.
Примечание. Каждая последующая команда print() выводит указанный текст, начиная с новой строки.
# put your python code here print(‘4’) print(‘8′) print(’15’) print(’16’) print(’23’) print(’42’)
Шестой номер:
Звездный треугольник
Напишите программу, которая выводит указанный треугольник, состоящий из звездочек (*).
# put your python code here print(‘*’) print(‘**’) print(‘***’) print(‘****’) print(‘*****’) print(‘******’) print(‘*******’)
Далее идут два текстовых вопроса (7 и 8 соответственно):
- Команда input() используется для считывания данных с клавиатуры
- Установите порядок действий:
print(‘Какой язык программирования ты изучаешь?’) language = input() print(language, ‘- отличный выбор!’)
- Вывод текста «Какой язык программирования ты изучаешь?»
- Ввод данных (пользователь вводит текст)
- Нажатие клавиши Enter
- Запись введенного текста в переменную language
- Вывод текста
9 упражнение:
Приветствие
На вход программе подается строка текста – имя человека. Напишите программу, которая выводит на экран приветствие в виде слова «Привет» (без кавычек), после которого должна стоять запятая и пробел, а затем введенное имя.
Формат входных данных
На вход программе подаётся одна строка — имя человека.Формат выходных данных
Программа должна вывести текст в соотвествии с условием задачи.Примечание. Для считывания текста используйте команду input() , для печати текста на экране используйте команду print() .
# put your python code here print(‘Привет,’, input())
10 номер:
Любимая команда
На вход программе подается строка текста – название футбольной команды. Напишите программу, которая повторяет ее на экране со словами « — чемпион!» (без кавычек).
Формат входных данных
На вход программе подается название футбольной команды.Формат выходных данных
Программа должна вывести текст согласно условиям задачи.Примечание. Для считывания текста используйте команду input() , для печати текста на экране используйте команду print() .
# put your python code here a=input() print(a,’- чемпион!’)
11 задача:
Повторяй за мной-1
Напишите программу, которая считывает три строки по очереди, а затем выводит их в той же последовательности, каждую на отдельной строчке.
Формат входных данных
На вход программе подаются три строки, каждая на отдельной строке.Формат выходных данных
Программа должна вывести введенные строки в той же последовательности, каждую на отдельной строке.Примечание. Для считывания текста используйте команду input() , для печати текста на экране используйте команду print() .
a = input() b = input() v = input() print(a) print(b) print(v)
12 (последняя) задача:
Повторяй за мной-2
Напишите программу, которая считывает три строки по очереди, а затем выводит их в обратной последовательности, каждую на отдельной строчке.
Формат входных данных
На вход программе подается три строки, каждая на отдельной строке.Формат выходных данных
Программа должна вывести введенные строки в обратной последовательности, каждую на отдельной строке.Примечание. Используйте 3 переменные для сохранения введённых строк текста.
s = input() b = input() d = input() print(d) print(b) print(s)
На этом модуль 2.2 закончен. Предлагаю перейти к следующему: модуль 2.3.
Источник: zazloo.ru