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

Снова, в который раз, хочется задать вопрос: только и всего? Но все усугубляется еще одним интересным обстоятельством. Сравните нашу строку с рисунком 8. Конечно, это одно и то же. Только на рисунке надо заполнить содержанием пустые геометрические фигуры (прямоугольники и ромб), а в языковой конструкции — заполнить тем же самым содержанием пробелы между словами FOR и STEP, UNTIL и DO. Оператор цикла представляет собой некий формализм. Чем заставлять программистов заучивать правила его образования, можно было сразу поручить все это делать ЭВМ.

Последний из упомянутых трех операторов — условный — имеет вид:

IF C THEN A ELSE B,

что читается (в том числе и ЭВМ) так: если условие C удовлетворяется, переходи к выполнению фрагмента программы A, в противном случае переходи к выполнению фрагмента программы B.

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

Иное дело, что каждый конкретный язык предоставляет программисту некоторые дополнительные удобства. Как правило, имеются средства, позволяющие систематизировать операнды, оформив их в виде своего рода таблиц (их называют массивами). Язык содержит определенное количество функций, например, функцию синус можно вычислить, просто записав SIN(x), где x — значение.

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

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

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

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

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

Гувернеры

Помните бессмертные строчки Пушкина?

Судьба Евгения хранила,Сперва мадам за ним ходила,Потом месье ее сменил.
Перейти на страницу:

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

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

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

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

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

Технические науки / Образование и наука
100 великих чудес инженерной мысли
100 великих чудес инженерной мысли

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

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

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

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

Чарльз Платт

Радиоэлектроника / Технические науки