для i: = шаг 1 до 50 цикл
начало а: = A [i ]; b: = B [i ]; c = C [i ];
если
, то
начало u 1: = u 2: = 0; u 1:= -b + корень
;
u 2:= - b - корень
;
конец иначе
начало u 1: = корень
;
u 2: = — u 1; u 1:= u 2:
конец; вывод (u 1, u 1, u 2, u 2)
конец
конец
Машинно-ориентированный язык представляет программы в терминах команд ЭВМ, но выраженных в более удобной для употребления символике, нежели прямое двоичное представление. Он используется на промежуточном этапе процесса автоматической трансляции с языка более высокого уровня или же как язык П., когда программа по существу сразу должна быть сконструирована в терминах машинных команд. В последнем случае роль языка высокого уровня часто играет язык блок-схем, когда структура программы, т. е. последовательность выполнения её «блоков», наличие разветвления и повторяющихся участков показываются в графической форме, а функции каждого блока записываются в произвольной текстовой форме. Ниже следует пример блок-схемы решения квадратного уравнения:
После составления программы неотъемлемым этапом П. является «отладка» программы, т. е. обнаружение и исправление ошибок, допускаемых при П. Основное средство отладки — т. н. отладочные запуски, когда в программу добавляются дополнительные «измерительные» действия, позволяющие по ходу выполнения программы на ЭВМ выдавать «протокол» её работы (порядок выполнения команд, значения промежуточных результатов и т.п.). Исследование протокола позволяет судить о том, в какой степени программа соответствует замыслу программиста.
Развитие П. как науки началось с 1947 в работах американских математиков Дж. Неймана, А. Беркса и Г. Голдстайна, которые описали принципы ЭВМ, управляемой программой, хранящейся в памяти. Они же ввели в употребление блок-схемы программы. Понятие подпрограммы и методики её использования было введено в 1951 английскими учёными М. Уилксом, Дж. Уилером и С. Гиллом. Советский математик А. А. Ляпунов, первым в СССР прочитавший в МГУ в 1952 курс П., определил П. как многоэтапный процесс и ввёл в П. аппарат символических обозначений, явившийся предвестником языков П. высокого уровня. Идея автоматизации программирования путём трансляции программы, записанной на языке П., была реализована в США Дж. У. Бейкусом (язык фортран) и Г. Хоппер и в СССР С. С. Камыниным, Э. З. Любимским, М. Р. Шура-Бурой и А. П. Ершовым (1954—56). К 1960 в США был разработан язык кобол и международный язык П. алгол-60 (группой учёных из 6 стран). В 60-е гг. развитие П. шло по пути совершенствования и универсализации языков П., нашедших своё воплощение в языках алгол-68, ПЛ/1 и симула, разработки методов формального и строгого описания языков П., развития теории и техники построения трансляторов, создания библиотек стандартных подпрограмм. Особое развитие получили машинно-ориентированные языки П. в направлении объединения ряда черт языков высокого уровня (процедурность, фразовая структура) с адаптируемостью к особенностям конкретной ЭВМ. Для некоторых классов задач предприняты успешные попытки расширить область применения автоматизации П. путём формализации способов алгоритмического описания задачи или даже её исходной формулировки. Это привело к понятиям проблемно-ориентированных языков П., неалгоритмических языков П. и т.п.
Лит.: Лавров С. С., Введение в программирование, М., 1973: его же, Универсальный язык программирования. (АЛГОЛ 60), 3 изд., М., 1972; Жоголев Е. А., Трифонов Н. П., Курс программирования, 3 изд., М., 1971; Джермейн К. Б., Программирование на 1ВМ/360, пер. с англ., 2 изд., М., 1973; Стэбли Д., Логическое программирование в системе 360, пер. с англ., М., 1974.
А. П. Ершов.
Рис. к ст. Программирование.
Программирование математическое
Программи'рование математи'ческое , математическая дисциплина, посвящённая решению экстремальных задач определённого типа. См. Математическое программирование .
Программированное обучение
Программи'рованное обуче'ние , организация учебного процесса по определённой обучающей программе . П. о. появилось в результате заимствования педагогикой рациональных принципов и средств управления сложными системами у кибернетики, математической логики и вычислительной техники. П. о. предусматривает расчленение учебного материала и деятельности обучаемого и обучающего на небольшие порции и шаги, получение информации о выполнении обучаемым каждого шага (оперативная обратная связь) и использование её для изменения стратегии обучения, приспособление обучения к динамике усвоения знаний, умений и навыков каждым обучаемым (индивидуализацию темпов обучения), осуществление обучающим функций управления процессом обучения. Обучающая программа (обучающий алгоритм), по которой осуществляется П. о., закладывается или в специальное обучающее устройство (машинное П. о.; см. Технические средства обучения ), или в программированные учебники (безмашинное П. о.). Относительно определения П. о. к 1975 единого мнения не сложилось: оно характеризуется и как система научной организации труда обучающих и обучаемых, и как педагогическая система, призванная заменить традиционное обучение, и как некая кибернетическая дидактика, и как новый метод обучения, и, наконец, как особый вид самостоятельной работы. Несмотря на разногласия в определении П. о., цель его трактуется однозначно — оптимизация управления процессом усвоения знаний обучаемым. См. также Педагогика .
Лит.: Талызина Н. Ф., Теоретические проблемы программированного обучения, М., 1969; Беспалько В. П., Программированное обучение, М., 1970.
Л. Д. Червякова.
Программированный учебник
Программи'рованный уче'бник , книга, в которой, кроме учебного материала (что учить), содержатся указания о том, как учить — как сочетать чтение (прослушивание) материала с контролем усвоения знаний и навыков, как находить и устранять расхождения между намеченным и достигнутым уровнем усвоения знаний. П. у. реализует линейную, разветвленную или комбинированную обучающую программу . Материал П. у. разбивается на части (кадры), каждая из которых содержит порцию информации, подлежащей усвоению, или указания о выполнении обучаемым определённых действий, дополнительные разъяснения, вопросы и ответы для самопроверки. П. у. выполняет ряд функций преподавателя: служит источником информации, организует учебный процесс, контролирует степень усвоения материала, регулирует темп изучения предмета, даёт необходимые разъяснения, предупреждает ошибки и т.д. Действия обучаемого, как правило, немедленно контролируются ответами. Если действие выполнено правильно, то обучаемому предлагается перейти к следующему кадру; при неверном действии П. у. обычно разъясняет характерные ошибки, допущенные обучаемым. П. у. не всегда можно читать страницу за страницей, в нём часто встречаются препятствия в виде вопросов и задач для самопроверки, и только правильно найденный ответ позволяет двигаться вперёд. См. также Учебные пособия , Учебник .