Чтение онлайн

на главную

Жанры

Шрифт:

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

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

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

ПОИСКИ «САМОСТОЯТЕЛЬНОСТИ»

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

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

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

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

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

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

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

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

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

В настоящее время возникло даже целое направление, называемое «Эвристическое программирование» (от греческого слова «эврика» — «открытие», «находка»). Главная задача такого программирования — найти принципы действия мозга, или, как говорят математики, алгоритмы, а затем заставить машину работать по этим «алгоритмам мозга» и даже улучшать их.

УНИВЕРСАЛЬНЫЙ ЯЗЫК МАШИНЫ

Программа — основной язык машины.

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

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

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

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

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

В 1959 году в Лондоне была созвана специальная конференция, в которой приняли участие ученые различных стран. На этой конференции было решено разработать универсальный язык для решения задач, связанных с бухгалтерским учетом.

Создаются и такие всеобщие языки машин, в которых обобщаются только самые общие правила. Наибольшей популярностью пользуется так называемый язык «алгол» (сокращение английских слов «algorithmic language» — «алгоритмический язык»). Он-то, по-видимому, и послужит основой всеобщего машинного языка будущего. Ведь, по словам программистов, он «располагает хорошо определенным словарем основных понятий, характер которых не отражает ограничений, вносимых вычислительными машинами и чисто математическими определениями; его целью является достижение наибольшей простоты понимания».

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

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

1. Строчные и прописные буквы латинского алфавита и прописные буквы русского алфавита.

2. Арабские цифры 0, 1,2, 3, 4, 5, 6, 7, 8, 9.

3. Логические значения: «истина» и «ложь».

Поделиться:
Популярные книги

Кровь на эполетах

Дроздов Анатолий Федорович
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
Кровь на эполетах

Студиозус 2

Шмаков Алексей Семенович
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус 2

Темный Патриарх Светлого Рода

Лисицин Евгений
1. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода

Изгой Проклятого Клана. Том 2

Пламенев Владимир
2. Изгой
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Изгой Проклятого Клана. Том 2

Приручитель женщин-монстров. Том 6

Дорничев Дмитрий
6. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 6

Бестужев. Служба Государевой Безопасности

Измайлов Сергей
1. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности

На границе империй. Том 10. Часть 2

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 10. Часть 2

70 Рублей

Кожевников Павел
1. 70 Рублей
Фантастика:
фэнтези
боевая фантастика
попаданцы
постапокалипсис
6.00
рейтинг книги
70 Рублей

Ученик. Книга третья

Первухин Андрей Евгеньевич
3. Ученик
Фантастика:
фэнтези
7.64
рейтинг книги
Ученик. Книга третья

Гардемарин Ее Величества. Инкарнация

Уленгов Юрий
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Гардемарин Ее Величества. Инкарнация

Метатель

Тарасов Ник
1. Метатель
Фантастика:
боевая фантастика
попаданцы
рпг
фэнтези
фантастика: прочее
постапокалипсис
5.00
рейтинг книги
Метатель

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

Завод: назад в СССР

Гуров Валерий Александрович
1. Завод
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Завод: назад в СССР

Треск штанов

Ланцов Михаил Алексеевич
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Треск штанов