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

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

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

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

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

.

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

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

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

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

FOR C STEP D UNTIL E DO.

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

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

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

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

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

Городской Пассажирский Транспорт Санкт-Петербурга: Политика, Стратегия, Экономика (1991-2014 гг.)
Городской Пассажирский Транспорт Санкт-Петербурга: Политика, Стратегия, Экономика (1991-2014 гг.)

Монография посвящена актуальным вопросам регулирования развития городского пассажирского транспорта Санкт-Петербурга. Рассматриваются вопросы реформирования городского пассажирского транспорта в период с 1991 по 2014 годы. Анализируется отечественный и зарубежный опыт управления, организации и финансирования перевозок городским пассажирским транспортом. Монография предназначена для научных работников и специалистов, занимающихся проблемами городского пассажирского транспорта, студентов и аспирантов, преподавателей экономических вузов и факультетов, предпринимателей и руководителей коммерческих предприятий и организаций сферы городского транспорта, представителей органов законодательной и исполнительной власти на региональном уровне. Автор заранее признателен тем читателям, которые найдут возможным высказать свои соображения по существу затронутых в монографии вопросов и укажут пути устранения недостатков, которых, вероятно, не лишена предлагаемая работа.

Владимир Анатольевич Федоров

Экономика / Технические науки / Прочая научная литература / Внешнеэкономическая деятельность
Компьютерные сети. 5-е издание
Компьютерные сети. 5-е издание

Перед вами — очередное, пятое издание самой авторитетной книги по современным сетевым технологиям, написанной признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером и использовалось в качестве базового учебника в ведущих технических вузах. В книге последовательно изложены основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа. Пятое издание полностью переработано с учетом изменений, происшедших в сфере сетевых технологий за последние годы и, в частности, освещает такие аспекты, как беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, инфраструктура доставки контента CDN, пиринговые сети, потоковое вещание, интернет-телефония и многое другое.

А. Гребенькова , Джеймс Уэзеролл

Технические науки