"Мудрёное английское слово "интерфейс" (interface) - буквально переводится как "междумордие".
Англо-русский словарь
То, что существуют константы - это очень хорошо. Какие-то данные обязательно должны быть неизменными: например, значение числа Пи или ускорение свободного падения. Однако, программы, работающие только с константами "оторваны от реальности" - они не могут ни с чем взаимодействовать. Для того чтобы программы могли взаимодействовать с "окружающим миром" они должны уметь получать данные снаружи и отправлять их туда же. Для того чтобы обеспечить такое взаимодействие необходимы специальные механизмы: способы получать и передавать данные.
Что такое интерфейс
Например, для взаимодействия с компьютером у человека есть мышь и клавиатура, которые используются для ввода данных в компьютер, а также, есть экран, динамики, принтер и т.п. - для вывода данных из компьютера. Подобная система устройств или способов, обеспечивающая передачу данных между объектами (например, между компьютером и человеком) называется интерфейсом.
Каждый интерфейс решает две задачи:
- передачу данных между объектами,
- обеспечение "понимаемости" этих данных каждым объектом.
Когда мы передвигаем мышку, мы понимаем, что хотим, чтобы её курсор переместился по экрану в нужном нам направлении, а компьютер, в свою очередь "понимает", как нужно интерпретировать перемещение мыши и куда переместить на экране курсор. Всё это обеспечивается довольно сложным интерфейсом.
Когда вы поворачиваете руль автомобиля, его передние колёса поворачиваются в нужном вам направлении. Это - тоже интерфейс, только механический, поскольку мы не сами поворачиваем колёса, а посредством сложной механической передачи. Можно сказать, что различные интерфейсы окружают человека уже очень давно. Они делают жизнь удобнее, управление - проще и понятнее, получение информации - легче и быстрее.
Интерфейсы вывода данных
Телевидение - это тоже пример интерфейса, который обеспечивает получение зрителями желаемого изображения из телевизионной студии. Этот интерфейс связывает студию и каждого телезрителя. При этом важно отметить, что этот интерфейс односторонний: зритель никак не может воздействовать через телевизор на происходящее в студии. А происходящее в студии напрямую воздействует на зрителя через визуальное изображение и звуковые сигналы. Такой интерфейс можно назвать интерфейсом вывода: данные выводятся из студии на экран телевизора и его динамики.
Обычно программы используют интерфейсы вывода (или просто "вывод") для отображения информации на экране компьютера или записи её в файл.
В каждом современном компьютере существует множество программ, которые никак не сообщают пользователю не только о своей работе, но даже о своём существовании: эти программы просто лишены интерфейса вывода информации для пользователя. Это не означает, что они совсем лишены интерфейса вывода: они выводят (записывают) информацию в файлы, обмениваются информацией с другими программами и т.п.
Однако, для взаимодействия с пользователем программа должна хотя бы иметь возможность сообщить ему что-то о своей работе - иметь интерфейс вывода информации на экран. Проще всего вывести информацию на экран в виде текста. Например, в начале программы можно сообщить пользователю, что программа начала работу, а в конце - что программа завершена.
Пример вывода в консоль
Давайте попробуем составить этот простейший алгоритм для нашей программы:
- Вывести текст "Начато выполнение программы."
- Выполнить саму программу...
- Вывести текст "Программа завершена."
Разумеется, в данном алгоритме пункт 2 для нас не существенен (не интересен), нам важны сейчас только пункты 1 и 3. Поэтому в тексте программ-примеров мы заменим его строкой, не содержащей команд. В данном случае это будет пустая строка.
Пустые строки в программах обычно пропускаются при обработке и выполнении, поэтому их удобно использовать для разделения программ на смысловые фрагменты - как тексты книг делят на абзацы.
Почти во всех языках программирования существуют команды, позволяющие вывести число или текст в консоль. Консоль - это простейший базовый интерфейс ввода-вывода данных, который появился на заре компьютерной техники и впоследствии был реализован на экране компьютера в виде текстовой строки или окна, куда могут писать любой текст и пользователь (с помощью клавиатуры), и программа.
Здесь команде вывода текста в консоль сначала передается текстовая константа "Начато выполнение программы." а затем, после текста самой программы, который заменен просто упоминанием о нем, другая текстовая константа: "Программа завершена." Результат работы во всех случаях будет одинаков: все программы выведут в консоль две указанные строки текста.
Передаваемые командам и другим программным объектам для обработки данные в программировании называют параметрами.
RUbasic
Консоль.ПечатьСтроки("Начато выполнение программы.")
Консоль.ПечатьСтроки("Программа завершена.")
MS Small Basic
TextWindow.WriteLine("Начато выполнение программы.")
TextWindow.WriteLine("Программа завершена.")
С
printf("Начато выполнение программы.\n");
printf("Программа завершена.\n");
С++
std::cout
std::cout
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, Консоль.ПечатьСтроки и т.д. Это имя однозначно определяет, какая именно команда будет выполнена. Достаточно ошибиться в одном символе при написании команды и получится либо бессмыслица, которая будет воспринята как ошибка, либо какая-то другая команда. Чтобы этого не произошло необходимо всегда внимательно записывать все имена команд в программе.
Кроме имени самой команды вывода данных также обязательно указывается, что именно надо вывести (помните, компьютер не умеет ничего "понимать", "додумывать" или о чем-то "догадываться"): в данном случае это текстовая или числовая константа. То есть в формате записи каждой команды присутствует постоянная часть - имя самой команды, и переменная часть - данные, которые нужно вывести, параметры.
В данном случае наши текстовые (строковые) и числовые константы являются параметрами (передаваемыми значениями) для операций (команд) вывода на экран. Механизм передачи данных в виде парамеров повсеместно используется в программировании поэтому что он прост, удобен и понятен.
Мы специально привели только что различные названия для одних и тех же элементов программирования. Любое выполняемое в программе действие можно называть командой: это команда, которую программист даёт процессору чтобы тот её выполнил.
В различных учебниках по программированию вы встретите множество различных терминов: операторы, операции, команды, функции, методы, обработчики событий и т.п. Все эти термины важны, потому что обозначают различные понятия, но если не вдаваться в детали, все эти понятия пока можно называть однообразно: команды или операции. Так как суть у них одна - они что-то выполняют в процессе работы программы. При этом команды могут как иметь параметры, с которыми они должны что-то сделать, так и не иметь их - это зависит от каждой конкретной команды и способа её использования.
Теперь вы знаете, как можно вывести на экран информацию в любой момент работы вашей программы самым простым способом. Вы можете сами попрактиковаться в выводе числовых и текстовых констант на каком-нибудь из языков программирования.
Например, это можно делать в одной из онлайн сред программирования.
Итак:
- Интерфейс - это способ (механизм) взаимодействия двух объектов.
- Интерфейсы программ обеспечивают обмен данными.
- Простейший интерфейс ввода-вывода текста - это консоль.
- Почти в каждом языке программирования есть команды вывода в консоль текстов и чисел, которые имеют сходную запись.
- Каждая команда имеет своё имя и формат записи.
- Данные, передаваемые команде для обработки называются параметрами данной команды.
На следующем занятии мы подробно разберём, что такое комментарии в программах и как их можно использовать максимально эффективно.
Поделиться: