Читаем Алло, робот! полностью

Как же быть? Выход был найден благодаря идее одного из крупнейших математиков мира Джона фон Неймана. И эта простая и гениальная идея состояла в том, чтобы передать управление машиной самой же машине!

Теперь машина должна стать самоуправляющейся, не зависящей от оператора. Она будет знать, что ей делать, в каком порядке производить арифметические действия.

И не только порядок действия должна знать машина. Прежде она имела дело лишь с заданными числами, с условием задачи. Теперь же она должна иметь дело и с самими правилами решения этой задачи, с самой программой.

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

Но откуда у машин «память»? Если иметь в виду нашу, человеческую, живую память, то ее, конечно, у машины нет. Но сделать «механическую память» очень легко. Магнитофонные ленты, кинопленки, книги, записные книжки, «узелки на память», дневники, школьный журнал с отметками — все это виды «механической памяти», нужной человеку.

«Нуль пишем, один в уме»… Как часто приходится делать эта, решая задачи и примеры с вычислениями. Примерно так же поступает и вычислительная машина, «запоминая» предварительные результаты вычислений.

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

Программу действий составляет человек, он заранее продумывает, что должна делать машина.

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

Приведем один любопытный пример. Кандидат физико-математических наук Р. X. Зарипов составил программу для электронной вычислительной машины, по которой машина должна была сочинять музыку. Разумеется, все исходные данные и все команды были записаны в виде чисел.

Вычислительная машина «Урал» начала свое «творчество». Она успешно «сочиняла» вальсы, но, как только дело доходило до маршей, получалась заминка. Марши «Урал» отказывался «сочинять»! Оказывается, в программе вместо числа 01 по ошибке было поставлено 011. И как только описка была исправлена, «Урал» начал «сочинять» марши столь же успешно, как и вальсы.

<p>ПОИСКИ «САМОСТОЯТЕЛЬНОСТИ»</p>

Нельзя ли сделать так, чтобы и при составлении программы использовать работу машины? Сделать так, чтобы не человек, а сама машина «обдумывала» свои действия? Или хотя бы проверяла составленную человеком программу — нет ли в ней ошибок?

Оказалось, что проверку программы машина делать может (ее называют «отладка программы»). На первом этапе пробуют, не «заблокируется» ли машина. Если мы неправильно написали какую-либо операцию, машина не сможет выполнить программу от начала до конца.

Затем проверяется порядок выполнения операций: не перепутано ли в программе сложение и деление, и т. п. Наконец, с большим вниманием проверяется полученный результат. Не потому, что если мы зададим машине сложить 3 и 2, то может получиться 1; машина производит арифметические действия с большой точностью. Но ведь может случиться, что программист по ошибке написал не 3 + 2, а 3 — 2. И тогда, разумеется, машина выдаст ответ: 3 — 2= 1.

Вот почему перед отладкой программы вычисляется либо вручную, либо на арифмометре какой-нибудь числовой пример. А затем его поручают решать машине — совпадет ли ее решение с нужным? Если нет, тогда ищут ошибку в программе.

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

Ну, а как быть с составлением программы самой машиной? Этот вопрос решают сейчас ученые разных стран мира.

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

Машинам пробуют поручать и более творческие задачи. Вот, например, какой эксперимент был проделан в Гарвардском университете (США). В машину ИБМ-704 было введено много различных программ, осмысленных и бессмысленных. И, кроме них, задача: обработать четырнадцатизначное число с помощью 63 последовательных операций.

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

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

115 сочинений с подготовительными материалами для младших школьников
115 сочинений с подготовительными материалами для младших школьников

Дорогие друзья!Сочинение – это один из видов работы по развитию речи, который предполагает самостоятельное, продуманное изложение вами своих мыслей в соответствии с требуемой темой.Работа над сочинением развивает мышление, речь, позволяет выразить свой взгляд на мир. Такой вид работы способствует осознанию окружающего мира, действительности, самих себя. Кроме того, сочинение учит аргументированно доказывать и отстаивать свою точку зрения.В данном пособии вы найдёте методику написания сочинений, а также различные виды сочинений с планами и подготовительными материалами.Не забывайте, что сочинение – это прежде всего творческая работа, которая не терпит шаблона. Советуем вам не использовать представленные в пособии сочинения для бездумного, механического переписывания их в свои тетради. Наши сочинения – это возможные варианты раскрытия определённых тем, которые, надеемся, помогут вам при создании самостоятельных текстов.Желаем успехов!

Ольга Дмитриевна Ушакова

Детская образовательная литература / Школьные учебники и пособия, рефераты, шпаргалки / Книги Для Детей