WWW.KNIGI.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     | 1 |   ...   | 65 | 66 || 68 | 69 |   ...   | 80 |

«Вначале человек помнит только то, что было, затем - то, что было, и то, чего не было, а в конце - только то, чего не было. А. М. Титов ТАЙНЫ СТАЛЬНЫХ КОНСТРУКЦИЙ ...»

-- [ Страница 67 ] --

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

находилось на Бессарабке, на ул. Шота Руставели, куда мы носили задания и откуда забирали готовые работы. Мы решили приобрести для института свои клавишные машины и купили их несколько штук. Поскольку требовались нам операторы, то мы переманили к себе из ЦСУ трех девочек. Три девочки - это Света Шлейфер (позднее Константиновская), Дина Радкевич (позднее Питателева) и Галя Колесниченко (позднее Жураховская). Питателева работает в отделе у Оглобли и сейчас.

Фото 7.5. Слева направо: Света Колесниченко и примкнувшая к ществовало. Где эти машины сейчас, я не знаю, думаю, ним Валя Криволай их сдали на металлолом после того, как появились Строкография была первым реальным опытом практического применения программирования в расчетной практике нашего института. Ее создатель П. М. Сосис вскорости перешел на работу во вновь организованный научно-исследовательский институт "КиевЗНИИЭП", где продолжил эту тематику. Работая в КиевЗНИИЭП"е он опубликовал книгу, посвященную программированию для клавишных машин, защитил докторскую диссертацию.

7.5. Языки Петр Моисеевич Сосис не был единственным человеком, который программировал в докомпьютерную эпоху. У него были древние предшественники.

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

Однако, в 1842 году дочь знаменитого английского поэта лорда Байрона - леди Ада Байрон Кинг изучила машину Бэббиджа, существующую только на бумаге, и создала для нее первую программу. Леди Кинг принято считать первым в мире программистом. Один из языков программирования в честь Ады Байрон Кинг был назван "Ада".

Проф. А. С. Дехтярь, который ранее читал лекции в Киевском художественном институте, однажды на лекции по вычислительной технике для ассоциации в запоминании сказал, что первой в мире программисткой была дочь Байрона. "Я тут же пожалел об этом. - рассказывал он. - Мне долго пришлось объяснять студентам, кто такой Байрон".

Первой программисткой Украины считается Екатерина Логвиновна Ющенко (1919 работавшая в Институте кибернетики Академии наук Украины. Судьба подарила ей возможность написать первые программы для ЭВМ, созданной под руководством С. А.

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

АН Украины, заслуженным деятелем науки и техники Украины, Лауреатом премии Совета министров СССР, дважды считают основателем научной школы теоретического программирования.

Первым фундаментальным достижением этой научной школы явилось создание в 1955 г. B. C. Королюком и Е. Л.

Ющенко Адресного языка. Создавая удобную систему понятий для описания архитектуры компьютера и его системы Фото 7.6. Ада Байрон Кинг и команд, авторы ввели в Адресный язык понятие адреса втоЕкатерина Логвиновна рого ранга. Это был принципиальный шаг. После этого адЮщенко объектом вычислений. Адресный язык опередил создание первых языков программирования - Фортран (1958), Кобол (1959) и Алгол (1960).

В начале 60-х годов несколько человек из нашего института, в том числе Ю. С. Борисенко и я, имели удовольствие слушать курс лекций Е. Л. Ющенко об адресном языке. Это был первый строгий алгоритмический язык, с которым мы познакомились.

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

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

Тогда мы еще не понимали, что основное предназначение алгоритмического языка состоит в том, чтобы совершенно формально превратить текст на алгоритмическом языке в последовательность кодов программы. Мы не понимали, что текст на алгоритмическом языке - это исходные данные для транслятора - специальной программы, которая сама составляет программы.

Когда в нашем институте появилась первая цифровая ЭВМ "Проминь" Адресный язык оказался как никогда кстати.



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

Если написать, например, команду 1-12 (один – это код сложения, 12 - это номер ячейки) – это значит, что нужно взять содержимое регистра, сложить его с содержимым 12-й ячейки и результат оставить в регистре. Можно было задать команду умножения 3-12, это значит, что нужно взять содержимое регистра и умножить на содержимое 12-й ячейки и результат поместить в регистр. Подобным образом кодировались все арифметические операции.

Кроме арифметических операций, были операции безусловного и условного перехода, тоже одноадресные. Безусловный переход - это переход к выполнению команды, номер которой записан в адресной части. Условный переход - это переход к выполнению команды, номер которой записан в адресной части, при условии, что число в регистре отрицательно.

Все команды ЭВМ "Проминь" прекрасно представлялись в Адресном языке. Поэтому этот язык был безоговорочно принят как инструмент программирования для ЭВМ "Проминь".

Для этой машины мы программировали и решали на ней невероятно много разных задач.

Вторым важным языком программирования был Алгол. Этот хорошо продуманный и совершенный язык очень труден для самостоятельного изучения. Во многом мешает методика рекурсивного определения объектов и понятий языка. Нелегко дается и его блочная структура.

На начальной стадии мы слушали лекции по Алголу, которые читал А. А. Летичевский самый языкатый" математик из группы разработчиков ЭВМ "МИР". Получив первичные сведения об Алголе и плохо понимая дальнейшее изложение, мы оставили попытку освоить этот язык, отложив проблему до лучших времен.

Лучшие времена наступили тогда, когда институт получил ЭВМ "Минск-22". Эта машина была оснащена транслятором с языка "Алгамс", относящегося к Алгольной группе. Это был тот же Алгол, дополненный процедурами обмена информацией с внешними устройствами. Поскольку требовалось составлять программы для решения реальных задач с конкретными сроками, необходимо было немедленно освоить язык. Составлять программы в кодах или на языке низкого уровня не позволяло время.

Тогда я нахально взялся прочесть для программистов отдела курс лекций по Алгамсу, надеясь разобраться в нем в процессе подготовки к лекциям. Расписание лекций было железное, и готовиться к ним надо было в режиме реального времени. Поневоле пришлось хорошо готовиться к каждой лекции, чтобы не выглядеть профаном перед аудиторией. Наиболее сложные вопросы разбирали совместно с очень грамотными слушателями - Анатолием Викторовичем Перельмутером и Жанной Сергеевной Возгриной. Результат был достигнут. Вся группа освоила язык и в дальнейшем успешно пользовалась транслятором. Совершенство этого языка мы осознали лишь в дальнейшем, столкнувшись с неуклюжими конструк- Фото 7.7. В. Н. Горциями Фортрана. Еще хуже на фоне Алгола смотрится блок про- деев, 1963 г.

граммирования в системе "Маткад".

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

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

Эпоха персональных компьютеров кардинально изменила подход и к использованию компьютера и к программированию для него. Компьютер используется в интерактивном режиме и в большинстве случаев он ждет реакцию человека. Большое значение имеет эстетика экрана, элементы управления, красивые картинки, анимация, звук и другие эффекты.

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

7.6. Чужие машины Когда мы пользовались услугами ЦСУ с его парком клавишных счетных машин, в проектной практике стали возникать задачи, требующие больших вычислительных мощностей. Поначалу это были задачи, решаемые итерационным способом. Затем появились задачи, где требуется решить систему линейных алгебраических уравнений с десятками или сотнями неизвестных. Для этой цели нам срочно понадобились быстродействующие электронные вычислительные машины.

В Институте кибернетики была машина, называвшаяся М-20. Это была действительно большая серьезная машина в то время. Я затрудняюсь назвать ее параметры, но она имела оперативную память 4096 слов. Это не байт (букв), а слов (чисел). А быстродействие ее было 20 тысяч операций в секунду. Поэтому в ее названии присутствует число 20.

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

На больших электронных машинах во избежание их простоев машинное время расписывалось по минутам. Можно было заказать, например, 10 минут машинного времени. Если кто-то заказывал 2 часа машинного времени - это был очень крупный заказчик. И всегда был дефицит машинного времени.

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



Pages:     | 1 |   ...   | 65 | 66 || 68 | 69 |   ...   | 80 |