Читаем Код. Тайный язык информатики полностью

Если наш компилятор АЛГОЛ поддерживает стандарт IEEE для представления чисел с плавающей точкой, то для хранения каждой из трех переменных нужны четыре байта памяти (для чисел одинарной точности) или восемь байт памяти (для чисел двойной точности).

Следующие три выражения — операторы присваивания. В языке АЛГОЛ такой оператор легко узнается по двоеточию и знаку равенства. (В большинстве компьютерных языков в качестве оператора присваивания используется только знак равенства.) В левой части находится переменная, в правой — выражение. Переменной присваивается число, полученное в результате вычисления. Первые два оператора присваивания указывают, что переменным a и b назначаются конкретные значения. Третий оператор присваивает переменной с значение произведения переменных a и b.

В настоящее время использование всем известного символа умножения «×» в языках программирования обычно не допускается, поскольку он отсутствует в наборах символов ASCII и EBCDIC. В большинстве языков операция умножения обозначается звездочкой «*». Хотя в АЛГОЛе для деления используется косая черта «/», этот язык также предполагает употребление символа «÷» для операции целочисленного деления, результат которого показывает, сколько раз делитель умещается в делимом. Кроме того, для возведения в степень в языке АЛГОЛ используется символ «↑», который также не входит в набор ASCII.

Для отображения данных на экране применяется оператор print. Выводимые текст и переменные разделяются запятыми. Отображение символов ASCII, вероятно, не является для оператора print трудной задачей, однако в данном случае функция также должна преобразовать в символы ASCII числа с плавающей точкой.

Произведение 535.43 и 289.771 равно 155152.08653

Затем программа завершает работу и возвращает управление операционной системе.

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

Оператор read считывает символы ASCII, которые вы вводите с клавиатуры, и преобразует их в числа с плавающей точкой.

В языках высокого уровня важной конструкцией является цикл, позволяющий написать программу, выполняющую одни и те же действия с разными значениями переменной. Предположим, вы хотите, чтобы программа вычисляла кубы чисел 3, 5, 7 и 9. Это можно сделать таким образом.

Оператор for сначала присваивает переменной a значение 3, а затем выполняет команду, следующую за ключевым словом do. Если команд, которые требуется выполнить, несколько (как в приведенном примере), то между ключевыми словами begin и end необходимо задействовать несколько операторов. Эти два ключевых слова определяют блок операторов. Затем оператор for выполняет те же команды для переменной a, которой присвоены значения 5, 7 и 9.

Вот еще одна версия инструкции for, которая вычисляет кубы нечетных чисел от 3 до 99.

Сначала оператор for присваивает переменной a значение 3 и выполняет блок операторов, следующий за инструкцией for. Затем значение переменной a увеличивается на величину, следующую за ключевым словом step, то есть на 2. Новое значение переменной a (5) используется для выполнения блока операторов. Значение переменной a будет и дальше увеличиваться на 2. Когда оно превысит 99, цикл for завершится.

Как правило, языки программирования имеют строгий синтаксис. Например, в АЛГОЛе 60 за ключевым словом for может следовать только имя переменной. Однако в английском после слова for могут располагаться всевозможные слова. Несмотря на сложность написания компиляторов, создать их намного проще, чем программы для интерпретации человеческой речи.

Еще одна важная особенность большинства языков программирования — условные структуры, позволяющие выполнить некоторое действие только в случае истинности конкретного условия. Вот пример использования встроенной функции языка АЛГОЛ sqrt, которая вычисляет квадратный корень. Функция sqrt не работает с отрицательными числами, и данная программа это учитывает.

Левая угловая скобка (<) — знак «меньше». Если пользователь введет отрицательное число, то будет выполнен первый оператор print. При вводе положительного числа будет запущен блок операторов, содержащий другой print.

До сих пор каждая из переменных в приведенных выше программах хранила лишь одно значение. Часто бывает удобно хранить в одной переменной несколько значений. В этом случае переменная называется массивом. В программе на языке АЛГОЛ массив объявляется следующим образом.

real array a[1:100];

В данном случае мы указали, что хотим использовать эту переменную для хранения 100 различных чисел с плавающей точкой, называемых элементами массива. Для обращения к первому элементу массива используется выражение a[1], ко второму — a[2], к последнему — a[100]. Число в квадратных скобках называется индексом элемента массива.

Перейти на страницу:

Похожие книги