Уже говорилось, что возможности ЭВМ во многом определяются объемом ее оперативной памяти (Т-277). Другая важнейшая характеристика компьютера — быстродействие. Еще, кажется, совсем недавно рекордом было несколько тысяч операций в секунду, а сегодня даже небольшая настольная ЭВМ выполняет в секунду 200–300 тысяч операций, средняя машина — несколько миллионов, а крупные суперЭВМ — сотни миллионов. Дело подходит к скорости счета миллиард операций в секунду. На машинах с высоким быстродействием можно одновременно решать десятки разных задач — каждый вычислитель или, как обычно говорят, пользователь, работает со своего пульта, своего терминала (дисплей, клавиатура, дисковод). Машина решает задачи по частям, молниеносно переключаясь с одной задачи на другую, так, что никто из пользователей и не замечает, что он не один.
Но главное, для чего нужно высокое быстродействие, — это решение очень сложных задач, быстрая обработка больших массивов информации. Так, например, точность прогнозов погоды на 5-10 дней вперед заметно возрастает, если увеличить объем перерабатываемой информации о температуре, ветрах, давлении, влажности и т. п., которую по нескольку раз в сутки собирают во многих тысячах точек земного шара. Без ЭВМ, вручную, такие задачи вообще нет смысла решать — прогноз на 10 дней вперед придется рассчитывать несколько месяцев. Даже нынешние быстродействующие компьютеры не успевают переработать всю информацию, какую хотели бы метеорологи.
Высокое быстродействие нужно для решения сложных научных и технических задач. Например, для того, чтобы описать поведение плазмы в будущем термоядерном реакторе. Или за разумное время рассчитать, детально проанализировать несколько вариантов большого железнодорожного моста и выбрать лучший из них. Или оперативно и детально моделировать процессы в больших экономических системах.
Принцип построения нашей учебной программы (Р-167) примерно тот же, какой был на заре программирования, — это программа, как ее называют, в машинных кодах. В ней указываются конкретные адреса, говорится, откуда взять число и куда направить, называются конкретные арифметические действия, которые нужно поочередно выполнять.
По мере усложнения решаемых задач такая система программирования оказалась слишком громоздкой, и появилось средство, упрощающее общение с компьютером, — языки программирования. Сейчас таких языков сотни, если не тысячи: ФОРТРАН, АЛГОЛ, БЕЙСИК, ПАСКАЛЬ, КОБОЛ, СИ, ЛИСП, ЛОГО и другие. Все это языки разные и даже совсем разные, но главная идея у них одна — в языке имеются слова, которые вводятся в машину, например, с клавиатуры; эти слова, как любые введенные в машину сочетания букв, превращаются в строго определенный код, определенные сочетания импульсов-пауз; специальная вспомогательная программа превращает слова-коды в определенную последовательность конкретных команд и адресов; эта вспомогательная программа называется транслятором, переводчиком, она переводит указания, которые вы даете компьютеру на языке программирования, в указания на языке машинных кодов. Если бы наша учебная программа была написана на каком-либо языке программирования, то мы не выписывали бы по десять раз номера ячеек и все последовательности арифметических действий, а изложили бы общую схему вычислений, приписав в конце: «Если