Что такое программа и программирование?

Что такое программа и программирование?

Согласно общепринятых определений, понятие «компьютерная программа» имеет два значения — это:
1) Упорядоченный набор компьютерных инструкций (процессорных команд) и данных, позволяющий аппаратному обеспечению вычислительной системы (процессору) выполнять вычисления или функции управления.
2) Текст (текстовый файл), который соответствует правилам определённого языка программирования, состоящий из определений и операторов или инструкций, необходимых для выполнения определённых функций или решения задач.

Здесь первое — это то, что выполняется на компьютере, а второе — то, что пишет программист.

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

Для превращения текста программы в процессорные команды существуют специальные программы (компиляторы) которые преобразуют текст программы в процессорные коды.

Так как процессор — электронное (электрическое) устройство, он управляется электрическими сигналами. В общем случае это означает, что, например, если на каком-то из контактов процессора есть (подано) напряжение, то это «воспринимается» им как наличие на этом контакте «1«, а если напряжения нет — «0«.

Это легко реализуется с помощью источника напряжения и нескольких выключателей.

Для удобства представления и записи каждую такую команду (набор электрических сигналов) можно записывать в виде последовательностей нулей и единиц, например 0111 1110 :


Или 0111 1110 1100 0000. Кстати, для процессора Motorola MC6800 эта команда означает переход внутри программы по заданному адресу.

Так как такая запись эквивалентна двоичному числу, то нет ничего проще чем записать его в привычном нам десятичном представлении:
32 448
Или в шестнадцатеричном:
7E C0
Это и будет числовой код данной процессорной команды. Однако, глядя на сами эти коды, даже записанные компактно, а не нулями и единицами, довольно трудно понять, что будет делать процессор, получив эту команду. А запомнить числовые коды всех возможных команд процессора — ещё более сложная задача. (Однако, самые первые программисты вынуждены были писать именно числовые коды процессорных команд, и это была кошмарная работа.)

Гораздо удобнее подобные числовые коды заменить на обыкновенные слова разговорного языка, например, английского, или на их сокращения:
«Jump» («прыжок») — «JMP» (команда языка Ассемблера)

или

«Go to» («переход на») — «GOTO» (команда языка Basic)

или

«Переход» (команда языка RUbasic).

Программа, записанная подобными словами (командами) становится читаемой — почти как обычный текст и легко понимаемой для человека. Остается только передать её компилятору, чтобы он заменил все команды на соответствующие процессорные коды.

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

А теперь ещё раз совсем кратко:

  1. Компьютер управляется электрическими сигналами (вкл-выкл) — командами процессора, которые легко представимы в виде двоичных чисел, кодов.
  2. Так как запоминать эти коды (числа) неудобно, даже в десятичной записи, логично было заменить их смыслонесущими словами живого человеческого языка. Так от числовых машинных кодов мы переходим к текстовым командам языков программирования. Текстовый файл с этими командами называется программой, написанной на каком-то языке программирования.
  3. И теперь нам только нужна программа, преобразующая текстовые файлы программ в команды процессора (числовые коды). А файл с числовыми кодами (командами процессора) называется уже исполняемым файлом или программой, которая может выполняться на компьютере.
  4. Всё. 🙂


Поделиться: 

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

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