Читаем Беседы об информатике полностью

Так все выглядит теперь, поскольку говорили мы о младенчестве ЭВМ, об их первом поколении. Причина столь жесткой опеки ЭВМ со стороны программиста заключалась в основном в характеристиках самих ЭВМ. Быстродействие было настолько мало (порядка тысячи операций в секунду против современных миллиардов), а память настолько ничтожна, что желать чего-то большего было бы явно неоправданно.

Глядя с позиций сегодняшнего дня, нельзя закрывать глаза и на другую причину, которая, несомненно, влияла на развитие и применение вычислительной техники. В чем она состояла? Общественное мнение, которое разделялось и специалистами, утверждало безапелляционно: ЭВМ способна лишь слепо выполнять введенную в нее программу. Все, что касается программирования, есть прерогатива человека. Мнение это повторялось на разные лады и в технической и в художественной литературе. Конечно, в таких условиях трудно было отойти от принятых шаблонов.

Как шло дальнейшее возмужание ЭВМ? Вначале (совсем по Библии) было слово, точнее, появились языки. Их назвали алгоритмическими. Основным в каждом машинном языке стало понятие идентификатора, то есть произвольного сочетания букв и цифр. Идентификаторы использовались как имена операндов (говоря высоким «штилем»), а попросту говоря, каждый идентификатор представлял собой условное обозначение ячейки памяти, в которой хранится данный операнд. Тем самым ЭВМ доверили сложнейшую задачу — выписать из программы все идентификаторы, расположить их в любом удобном для нее порядке, а затем присвоить им порядковые номера, которые одновременно (как и в доязычный период) служили адресами ячеек. Если в данной ячейке памяти предполагалось хранить не операнд, а команду, то соответствующий идентификатор получал название не идентификатора, а метки.

Следующей языковой единицей стало так называемое выражение. Это не что иное, как цепочка команд, в которой ни при каких условиях не нарушается естественная последовательность. В подавляющем большинстве языков допускалось использование лишь арифметических и логических выражений (упорно считалось, что машина должна только вычислять). Поэтому в выражении команды записывались в виде знаков, общепринятых для обозначения соответствующего арифметического или логического действия. Например, «+» для сложения или «V» для логической операции ИЛИ.

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

Следующую группу языковых единиц составляли операторы. Что они представляют собой? Лучше всего показать это на примере простейшего из них — оператора присваивания. Смысл оператора присваивания состоит в том, что данному идентификатору присваивается некоторое значение, например, значение какого-то арифметического выражения. Все это опять-таки говоря высоким «штилем», а по-простому означает, что нужное значение записывается в ячейку памяти, обозначаемую данным идентификатором.

Кроме оператора присваивания, практически в каждом языке (общее число их, мы забыли об этом сказать раньше, давно перевалило за тысячу) встречаются еще три оператора. Оператор перехода просто предписывает, начиная с определенного момента, переходить к выполнению фрагмента программы, помеченного меткой, входящей в состав этого оператора.

Оператор цикла заслуживает того, чтобы остановиться на нем подробнее. С небольшими изменениями грамматическая форма оператора цикла имеет вид:

FOR C STEP D UNTIL E DO.

Здесь: FOR — это слово, говорящее о том, что мы имеем дело с оператором цикла. Далее (мы обозначили этот фрагмент буквой C) перечисляется условие входа в цикл. Это может быть простейшая запись x = 1. Она означает, что программа начинает выполняться при значении переменной x, равном единице. Затем следует слово STEP, указывающее на то, что за ним в той или иной форме заданы условия модификации (у нас эти условия обозначены как D). В простейшем случае запись STEP 1 означает, что после очередного возврата к началу цикла значение переменной x увеличивается на единицу.

Наконец, слово UNTIL указывает на то, что за ним формулируются условия окончания. Например, UNTIL x < 100 означает, что обходы циклов продолжаются до тех пор, пока значение переменной x остается меньше ста. Само тело программы записывается после только что разобранной строки.

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

Все книги серии Эврика

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

102 способа хищения электроэнергии
102 способа хищения электроэнергии

Рассмотрена проблема хищений электроэнергии и снижения коммерческих потерь в электрических сетях потребителей. Приведены законодательно–правовые основы для привлечения к ответственности виновных в хищении электроэнергии. Изложены вопросы определения расчетных параметров средств учета электроэнергии, показаны схемы подключения счетчиков электрической энергии. Описаны расчетные и технологические способы хищения электроэнергии. Обсуждаются организационные и технические мероприятия по обнаружению, предотвращению и устранению хищений.Для работников энергоснабжающих организаций и инспекторского состава органов Ростехнадзора. Материалы книги могут быть использованы руководителями и специалистами энергослужб предприятий (организаций) для правильного определения расчетных параметров средств учета и потерь электроэнергии в электрических сетях.Если потенциальные расхитители электроэнергии надеются найти в книге «полезные советы», они должны отдавать себе отчет, что контролирующие структуры информированы в не меньшей степени и, следовательно, вооружены для эффективной борьбы с противоправной деятельностью.Настоящая книга является переработанным и дополненным изданием выпущенной в 2005 г. книги «101 способ хищения электроэнергии».

Валентин Викторович Красник

Технические науки / Образование и наука
Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

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

Чарльз Платт

Радиоэлектроника / Технические науки
100 великих чудес инженерной мысли
100 великих чудес инженерной мысли

За два последних столетия научно-технический прогресс совершил ошеломляющий рывок. На что ранее человечество затрачивало века, теперь уходят десятилетия или всего лишь годы. При таких темпах развития науки и техники сегодня удивить мир чем-то особенным очень трудно. Но в прежние времена появление нового творения инженерной мысли зачастую означало преодоление очередного рубежа, решение той или иной крайне актуальной задачи. Человечество «брало очередную высоту», и эта «высота» служила отправной точкой для новых свершений. Довольно много сооружений и изделий, даже утративших утилитарное значение, тем не менее остались в памяти людей как чудеса науки и техники. Новая книга серии «Популярная коллекция «100 великих» рассказывает о чудесах инженерной мысли разных стран и эпох: от изобретений и построек Древнего Востока и Античности до небоскребов в сегодняшних странах Юго-Восточной и Восточной Азии.

Андрей Юрьевич Низовский

История / Технические науки / Образование и наука