Часть 3. Функция вывода на экран: буквы на экране — не всё так просто!
Итак, мы убрали из всех примеров строки "Hello, World!", чтобы нам было проще анализировать структуру программы дальше. И для языков Python и C мы получили следующее:
Python:
print(...)
C:
#include <stdio.h>
int main() {
printf(...);
}
JavaScript и C++ мы обсудим отдельно, так как там потребуются более подробные объяснения.
В обоих языках мы видим очень схожие названия функций: print и printf. Print — в переводе с английского означает «печатать» (от этого слова происходит и слово «принтер» — «тот, кто печатает», которое проникло в наш язык как есть, без изменений).
Суффикс f в конце слова printf в языке Си — это сокращение от formatted — означает, что вывод на экран может быть отформатированным. Об этом мы позже ещё поговорим. Пока же, если вы пишете на Си, не забывайте про букву f в конце.
Постойте, а что такое функции?
Помните наш алгоритм покупки кефира? — У нас была инструкция купить(что, где, вот_деньги), за которой стояла целая последовательность действий — начиная от выхода из дома и заканчивая оплатой покупок на кассе.
Вот print (в Питоне) и printf (в Си) — это пример высокоуровневых инструкций, или правильнее говорить, функций. И устроены они похожим образом: print(что).
Круглые скобки здесь — это как бы «руки» функции: в них мы кладём то, с чем функция должна работать — это как записка от мамы, в которой написано, что именно надо купить, если вернуться к нашему примеру про кефир.
Возможно, вы до сих пор не сильно задумывались над тем, что стоит за появлением текста на экране вашего компьютера или смартфона. Ну буквы и буквы. Всё понятно.
А что такое буквы на экране дисплея?
Если вы всмотритесь внимательно в изображение, или посмотрите на дисплей под лупой, то вы увидите, что каждая буква состоит из множества маленьких точек (пикселей).
Дисплей ничего не знает про буквы, он умеет рисовать только точки в заданных местах заданным цветом. Чтобы нарисовать букву — её надо сложить из точек.
А ещё буквы могут быть разного размера и написаны разным шрифтом. А ещё для них применяется сложная математика (например, кубические кривые Безье), чтобы буквы при масштабировании не теряли своего качества в отображении.
То есть за таким простым, казалось бы, действием как вывод букв на экран стоит огромное количество инструкций, и все они прячутся под коротким названием функции print в Питоне или printf в Си.
Ок, у нас есть функция print. Мы можем её вызвать и попросить отобразить нужную нам строку:
print("Hello, World!")
Давайте подытожим, что мы узнали:
-
print— это команда (функция) -
()— означают «выполни эту команду» -
всё, что внутри
()— это информация для команды
Таким образом, print("Hello, World!") означает выполни команду print с текстом "Hello, World!".