Программа для компьютера на машинном языке
Мы знаем, что на одном и том же компьютере можно программировать на разных языках программирования: VB, C++ и т.д. Аналогично с человеком, знающим иностранные языки, можно говорить на нескольких языках. Возникает вопрос: а какой же из этих языков для компьютера родной? Ни один из них. У компьютера есть свой собственный родной язык, на котором уже лет 50 никто из людей не программирует. Называют этот язык машинным языком, потому что компьютер – машина. Если команды обычных языков примитивны, то команды машинного языка – суперпримитивны! Каждая из этих команд заставляет компьютер выполнить какое-то одно простейшее, очень маленькое, элементарное действие, меньше которого не бывает. По своей незначительности на фоне большой задачи, решаемой компьютером, оно подобно мимолетному сгибанию мизинца человеком, своими руками собирающим автомобиль и в настоящий момент берущим в руки отвертку.
Поскольку изучение машинного языка нам не нужно, я приведу только смысл некоторых мельчайших действий, выполняемых командами машинного языка.
Примеры действий, выполняемых командами машинного языка:
Сложить два числа.
Определить, какое из двух чисел больше.
Следующие действия уже слишком трудны для одной команды машинного языка и под силу только совокупности таких команд:
Изобразить на экране в заданном месте светящуюся точку заданного цвета.
Изобразить на экране заданную букву или цифру.
Запомнить, какую клавишу нажал человек на клавиатуре.
В машинном языке еще много команд, и все они такие же «мелкие». Спрашивается, как же при помощи таких слабеньких команд заставить компьютер сделать хоть что-нибудь путное, скажем, написать слово «ЭВМ» или нарисовать кружочек? Я думаю, вы уже догадались, что нужно сделать – нужно написать процедуры. Вот, например, алгоритм процедуры, изображающей на экране слово «ЭВМ»:
Изобразить на экране букву "Э"
Изобразить на экране букву "В"
Изобразить на экране букву "М"
А вот алгоритм процедуры, вычисляющей выражение (5?7)/(10+40):
Вычти 7 из 5
Прибавь 40 к 10
Раздели первый результат на второй
Покажи результат деления на экране монитора
Это ничего, что результат получился отрицательный и дробный. Компьютеры справляются с такими числами непринужденно.
А как же нарисовать кружочек, если компьютер может нарисовать только точку? Если вы посмотрите на экран монитора в увеличительное стекло, то заметите, что изображение любого предмета состоит из маленьких светящихся точек (пикселей), которые расположены так близко друг к другу, что сливаются в единое изображение (см. Рис. П1). Примерно то же самое вы видите через лупу на фотографии в газете. Вполне можно написать программу, которая рисует рядышком одну за другой множество точек так, чтобы они образовали окружность.