5. Интерфейсы программ. Простейший вывод данных

5. Интерфейсы программ. Простейший вывод данных

То, что существуют константы — это очень хорошо. Какие-то данные обязательно должны быть неизменными: например, значение числа Пи или ускорение свободного падения. Однако, программы, работающие только с константами «оторваны от реальности» — они не могут ни с чем взаимодействовать. Для того чтобы программы могли взаимодействовать с «окружающим миром» они должны уметь получать данные снаружи и отправлять их туда же. Для того чтобы обеспечить такое взаимодействие необходимы специальные механизмы: способы получать и передавать данные.

Что такое интерфейс

Например, для взаимодействия с компьютером у человека есть мышь и клавиатура, которые используются для ввода данных в компьютер, а также, есть экран, динамики, принтер и т.п. — для вывода данных из компьютера. Подобная система устройств или способов, обеспечивающая передачу данных между объектами (например, между компьютером и человеком) называется интерфейсом.

Каждый интерфейс решает две задачи:

  • передачу данных между объектами,
  • обеспечение «понимаемости» этих данных каждым объектом.

Когда мы передвигаем мышку, мы понимаем, что хотим, чтобы её курсор переместился по экрану в нужном нам направлении, а компьютер, в свою очередь «понимает», как нужно интерпретировать перемещение мыши и куда переместить на экране курсор. Всё это обеспечивается довольно сложным интерфейсом.

Когда вы поворачиваете руль автомобиля, его передние колёса поворачиваются в нужном вам направлении. Это — тоже интерфейс, только механический, поскольку мы не сами поворачиваем колёса, а посредством сложной механической передачи. Можно сказать, что различные интерфейсы окружают человека уже очень давно. Они делают жизнь удобнее, управление — проще и понятнее, получение информации — легче и быстрее.

Интерфейсы вывода данных

Телевидение — это тоже пример интерфейса, который обеспечивает получение зрителями желаемого изображения из телевизионной студии. Этот интерфейс связывает студию и каждого телезрителя. При этом важно отметить, что этот интерфейс односторонний: зритель никак не может воздействовать через телевизор на происходящее в студии. А происходящее в студии напрямую воздействует на зрителя через визуальное изображение и звуковые сигналы. Такой интерфейс можно назвать интерфейсом вывода: данные выводятся из студии на экран телевизора и его динамики.

Обычно программы используют интерфейсы вывода (или просто «вывод») для отображения информации на экране компьютера или записи её в файл.

В каждом современном компьютере существует множество программ, которые никак не сообщают пользователю не только о своей работе, но даже о своём существовании: эти программы просто лишены интерфейса вывода информации для пользователя. Это не означает, что они совсем лишены интерфейса вывода: они выводят (записывают) информацию в файлы, обмениваются информацией с другими программами и т.п.

Однако, для взаимодействия с пользователем программа должна хотя бы иметь возможность сообщить ему что-то о своей работе — иметь интерфейс вывода информации на экран. Проще всего вывести информацию на экран в виде текста. Например, в начале программы можно сообщить пользователю, что программа начала работу,  а в конце — что программа завершена.

Пример вывода в консоль

Давайте попробуем составить этот простейший алгоритм для нашей программы:

  1. Вывести текст «Начато выполнение программы.»
  2. Выполнить саму программу…
  3. Вывести текст «Программа завершена.»

Разумеется, в данном алгоритме пункт 2 для нас не существенен (не интересен), нам важны сейчас только пункты 1 и 3. Поэтому в тексте программ-примеров мы заменим его строкой, не содержащей команд. В данном случае это будет пустая строка.

Пустые строки в программах обычно пропускаются при обработке и выполнении, поэтому их удобно использовать для разделения программ на смысловые фрагменты — как тексты книг делят на абзацы.

Почти во всех языках программирования существуют команды, позволяющие вывести число или текст в консоль. Консоль — это простейший базовый интерфейс ввода-вывода данных, который появился на заре компьютерной техники и впоследствии был реализован на экране компьютера в виде текстовой строки или окна, куда могут писать любой текст и пользователь (с помощью клавиатуры), и программа.

Здесь команде вывода текста в консоль сначала передается текстовая константа «Начато выполнение программы.» а затем, после текста самой программы, который заменен просто упоминанием о нем, другая текстовая константа: «Программа завершена.» Результат работы во всех случаях будет одинаков: все программы выведут в консоль две указанные строки текста.

Передаваемые командам и другим программным объектам для обработки данные в программировании называют параметрами.

RUbasic

Консоль.ПечатьСтроки("Начато выполнение программы.")
Консоль.ПечатьСтроки("Программа завершена.")

MS Small Basic

TextWindow.WriteLine("Начато выполнение программы.")
TextWindow.WriteLine("Программа завершена.")

С

printf("Начато выполнение программы.\n");
printf("Программа завершена.\n");

С++

std::cout << "Начато выполнение программы." << std::endl;
std::cout << "Программа завершена." << std::endl;

C#

Console.WriteLine("Начато выполнение программы.");
Console.WriteLine("Программа завершена.");

Java

System.out.println("Начато выполнение программы.");
System.out.println("Программа завершена.");

Java Script

console.log("Начато выполнение программы.\n");
console.log("Программа завершена.\n");

PHP

echo "Начато выполнение программы.\n";
echo "Программа завершена.\n";

Python

print("Начато выполнение программы.")
print("Программа завершена.")

Мы специально рассмотрели так много разных языков программирования, чтобы убедиться в том, что несмотря на различия в написании (формате) команд, общая логика их записи и применения одинакова: для того чтобы вывести данные на экран (в консоль) необходимо передать эти данные в качестве параметра команде вывода данных.

Таким же образом мы можем выводить на экран и числовые константы. Правда, в некоторых языках программирования это требует использования дополнительных средств, поэтому, чтобы не путаться в пока еще непонятных вещах, сейчас мы приведем примеры вывода только для языков, не нуждающихся в подобных средствах для простейших случаев. Однако, заметим, что в большинстве случаев подобные средства также довольно просты и понятны.

RUbasic

Консоль.ПечатьСтроки(153)

MS Small Basiс

TextWindow.WriteLine(153)

С++

std::cout << 153 << std::endl;

C#

Console.WriteLine(153);

Java

System.out.println(153);

Java Script

console.log(153);

PHP

echo 153;

Python

print(153)

Как видите, вывод чисел в большинстве языков программирования даже проще, чем вывод текста, что вполне понятно: ведь изначально программы работали только с числами. Единственный язык, в котором вывод чисел немного сложнее — это С. Правда, способ вывода чисел в С позволяет управлять процессом вывода более гибко, чем в некоторых других языках.

Обратите внимание, мы сейчас поняли, как заставить компьютер вывести на экран какие-то данные. Мы сделали первый осмысленный шаг в настоящем программировании.

Мы рассмотрели примеры записи одних и тех же простых команд на различных языках программирования. При этом не трудно заметить, что принципиальных отличий — почти нет: во всех языках программирования команды вывода данных в консоль выглядят одинаково. Да, в деталях команды различаются, но это просто особенности каждого языка.

Однако, это пока ещё не примеры работающих программ. Почти в каждом языке программирования есть свои дополнительные команды, которые нужно включить в код, чтобы программа стала полноценной и её можно было выполнить. Этот код описан в статье Стандартный код программ.

Команды вывода в консоль

Давайте теперь рассмотрим более подробно сами команды вывода текстовых и числовых констант. В каждом языке у команды есть какое-то имя: print, printf, echo, console.log, TextWindow.WriteLine, Консоль.ПечатьСтроки и т.д. Это имя однозначно определяет, какая именно команда будет выполнена. Достаточно ошибиться в одном символе при написании команды и получится либо бессмыслица, которая будет воспринята как ошибка, либо какая-то другая команда. Чтобы этого не произошло необходимо всегда внимательно записывать все имена команд в программе.

Кроме имени самой команды вывода данных также обязательно указывается, что именно надо вывести (помните, компьютер не умеет ничего «понимать», «додумывать» или о чем-то «догадываться»): в данном случае это текстовая или числовая константа. То есть в формате записи каждой команды присутствует постоянная часть — имя самой команды, и переменная часть — данные, которые нужно вывести, параметры.

В данном случае наши текстовые (строковые) и числовые константы являются параметрами (передаваемыми значениями) для операций (команд) вывода на экран. Механизм передачи данных в виде парамеров повсеместно используется в программировании поэтому что он прост, удобен и понятен.

Мы специально привели только что различные названия для одних и тех же элементов программирования. Любое выполняемое в программе действие можно называть командой: это команда, которую программист даёт процессору чтобы тот её выполнил.

В различных учебниках по программированию вы встретите множество различных терминов: операторы, операции, команды, функции, методы, обработчики событий и т.п. Все эти термины важны, потому что обозначают различные понятия, но если не вдаваться в детали, все эти понятия пока можно называть однообразно: команды или операции. Так как суть у них одна — они что-то выполняют в процессе работы программы. При этом команды могут как иметь параметры, с которыми они должны что-то сделать, так и не иметь их — это зависит от каждой конкретной команды и способа её использования.

Теперь вы знаете, как можно вывести на экран информацию в любой момент работы вашей программы самым простым способом. Вы можете сами попрактиковаться в выводе числовых и текстовых констант на каком-нибудь из языков программирования.

Например, это можно делать в одной из онлайн сред программирования.

Итак:

  1. Интерфейс — это способ (механизм) взаимодействия двух объектов.
  2. Интерфейсы программ обеспечивают обмен данными.
  3. Простейший интерфейс ввода-вывода текста — это консоль.
  4. Почти в каждом языке программирования есть команды вывода в консоль текстов и чисел, которые имеют сходную запись.
  5. Каждая команда имеет своё имя и формат записи.
  6. Данные, передаваемые команде для обработки называются параметрами данной команды.

На следующем занятии мы подробно разберём, что такое комментарии в программах и как их можно использовать максимально эффективно.


Оглавление


Поделиться: 

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать rubasic.ru, вы соглашаетесь на использование файлов cookie.
Понятно