Текст книги "Большая Советская Энциклопедия (ПР)"
Автор книги: Большая Советская Энциклопедия
Жанр:
Энциклопедии
сообщить о нарушении
Текущая страница: 62 (всего у книги 122 страниц)
Программа-максимум РСДРП
Програ'мма-ма'ксимум РСДРП, вторая часть Программы РСДРП, принятой на 2-м съезде партии (1903), определявшая основную задачу – свержение капитализма и установление диктатуры пролетариата для построения социалистического общества (см. в ст. Программа Коммунистической партии Советского Союза ).
Программа-минимум РСДРП
Програ'мма-миниму'м РСДРП, первая часть Программы РСДРП, принятой на 2-м съезде партии (1903), ставившая ближайшей задачей свержение самодержавия и установление демократической республики, которая обеспечила бы введение 8-часового рабочего дня, равноправие всех наций и право их на самоопределение, уничтожение остатков крепостничества в деревне и т.д. (см. в ст. Программа Коммунистической партии Советского Союза ).
Программирование
Программи'рование , процесс составления упорядоченной последовательности действий (программы ) для ЭВМ; научная дисциплина, изучающая программы для ЭВМ и способы их составления, проверки и улучшения.
Каждая ЭВМ является автоматом, состоящим из памяти, образуемой внешним и оперативным запоминающими устройствами, устройства управления (УУ) и арифметические устройства (АУ), в котором могут выполняться некоторые действия или операции. Память имеет вид занумерованной последовательности ячеек, в каждой из которых хранится порция двоичной информации в виде серии нулей и единиц. Автоматическая работа ЭВМ, управляемая программой, состоит из последовательности тактов. На каждом такте УУ выбирает из предписанной ему ячейки памяти порцию информации. Эта порция трактуется как команда, т. е. предписание АУ выполнить некоторую операцию. Обычно в ЭВМ выполнение операции состоит в том, чтобы из определённых ячеек памяти взять хранящуюся там информацию, передать её в АУ для выполнения над ней нужного действия, результат которого отправить в указанную ячейку памяти, и сообщить УУ номер ячейки следующей команды. Отдельные действия, совершаемые ЭВМ, весьма просты – это арифметические и логические операции, операции сравнения, переписывания порции информации и т.п. Т. о., составить программу для ЭВМ – это значит представить способ решения задачи в виде такой совокупности машинных команд (программы), чтобы они, будучи размещенными в памяти, поочерёдно выполняясь и вызывая одна другую, реализовали нужные вычисления.
Идея П. возникает ещё в школе при составлении «плана решения» арифметической задачи в виде серии вопросов. Существенное отличие реального П. от школьного опыта заключается в том, что программа, как правило, задаёт не одну, а несколько последовательностей действий (разветвлений), выбор между которыми зависит от значения промежуточных результатов решения задачи; выполняет некоторые группы команд многократно, автоматически определяя нужное число повторений; может предписанным образом сама себя менять или частично формировать в процессе своего выполнения.
Дополнительной особенностью П. является его трудность: размеры многих реальных программ исчисляются тысячами команд, а количество выполняемых ими действий – десятками миллионов. Такие объёмы в сочетании с элементарным характером машинных команд делают П. одновременно и очень сложным, и очень монотонным процессом.
Для преодоления этого противоречия П. придан характер многоэтапного процесса, каждый этап которого есть постепенная конкретизация и детализация плана решения задачи, полученного на предыдущем этапе. Кроме того, если правила описания плана решения задачи на некотором этапе будут точными, формальными и универсальными, т. е. применимыми к любой задаче, то тогда можно говорить о существовании некоторого языка П., используемого при составлении программы.
Языки программирования как способ точного формулирования задачи на разных этапах подготовки её к решению на ЭВМ сыграли фундаментальную роль в развитии П. В частности, они позволяют трактовать П. как процесс перевода задания для ЭВМ, выраженного в некотором языке, на другой язык – «язык машины». Если найти и описать точные правила такого перевода, то эти правила, в свою очередь, можно запрограммировать на ЭВМ. Полученные программы, автоматизирующие процесс П., называют трансляторами.
Процесс П. обычно состоит из следующих этапов:
Содержание каждого этапа П. можно пояснить на примере решения квадратного уравнения.
Исходная формулировка. Надо найти корни 50 квадратных уравнений вида ax2 + bx + c = 0, коэффициенты которых заданы в виде трёх таблиц Ai , Bi и Ci (i = 1,..., 50).
Алгоритмическое описание задачи получается в результате полного математического исследования её постановки, выбора стандартных или поиска новых алгоритмов выполнения всех нужных вычислений, а также уточнения, какие исходные данные надо ввести в ЭВМ и какие результаты надо получить. В данном случае алгоритмическое описание может иметь такой вид: ввести в ЭВМ таблицы коэффициентов Ai , Bi и Ci , решить каждое уравнение по общей формуле
с исследованием дискриминанта b2 – 4ac для определения случая комплексных корней; для единообразия каждый корень уравнения выдавать как комплексное число x = u + iv , полагая в случае вещественных корней мнимую часть равной нулю.
Язык П. высокого уровня – главное средство составления программ для ЭВМ. Общая особенность этих языков – их независимость от системы команд конкретных ЭВМ и фразовая структура, что в сочетании с использованием т. н. служебных слов приближает их к естественным языкам. Фразы разделяются обычно точкой с запятой; соподчинённость фраз указывается с помощью «операторных скобок» начало и конец; фразы делятся на два типа – операторы и описания. Оператор является единицей действия в языке. Различают следующие их типы: операторы присваивания, производящие подсчёт по указанной формуле и присваивающие вычисленное значение заданной переменной величине; условные операторы, которые в зависимости от результата проверки заданного условия производят выбор одной или другой ветви вычислений; операторы цикла, обеспечивающие повторное выполнение группы операторов. В описаниях указываются свойства переменных величин и других обозначений, используемых в программе. Важным свойством является «процедурный» характер языка: для любой уже составленной программы, решающей некоторую частную задачу, можно ввести символическое функциональное обозначение. Текст этой программы вместе с её обозначением называется описанием процедуры или подпрограммой. Тогда при составлении новой программы всюду, где может потребоваться использование этой описанной процедуры, достаточно упомянуть её функциональное обозначение в виде оператора процедуры вместо переписывания полного текста подпрограммы.
В 70-х гг. 20 в. существует целое семейство таких языков П.: алгол-60, фортран для решения инженерных и научных задач, кобол для экономических расчётов, симула для П. математических моделей, более мощные языки алгол-68 и ПЛ/1, охватывающие все виды применений ЭВМ. Для всех из них существуют трансляторы, обеспечивающие автоматическое построение машинных программ для задач, выраженных в этих языках.
Программа решения квадратного уравнения, записанная на языке алгол-60 (адаптированном):
начало вещественные массивы А , В , С [1: 50];
вещественные а , b , с , u 1, u 1, u 2, u 2;
целое i , ввод (A , В , С );
для 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.
Л. Д. Червякова.
Программированный учебник
Программи'рованный уче'бник , книга, в которой, кроме учебного материала (что учить), содержатся указания о том, как учить – как сочетать чтение (прослушивание) материала с контролем усвоения знаний и навыков, как находить и устранять расхождения между намеченным и достигнутым уровнем усвоения знаний. П. у. реализует линейную, разветвленную или комбинированную обучающую программу . Материал П. у. разбивается на части (кадры), каждая из которых содержит порцию информации, подлежащей усвоению, или указания о выполнении обучаемым определённых действий, дополнительные разъяснения, вопросы и ответы для самопроверки. П. у. выполняет ряд функций преподавателя: служит источником информации, организует учебный процесс, контролирует степень усвоения материала, регулирует темп изучения предмета, даёт необходимые разъяснения, предупреждает ошибки и т.д. Действия обучаемого, как правило, немедленно контролируются ответами. Если действие выполнено правильно, то обучаемому предлагается перейти к следующему кадру; при неверном действии П. у. обычно разъясняет характерные ошибки, допущенные обучаемым. П. у. не всегда можно читать страницу за страницей, в нём часто встречаются препятствия в виде вопросов и задач для самопроверки, и только правильно найденный ответ позволяет двигаться вперёд. См. также Учебные пособия , Учебник .
Л. Д. Червякова.
Программная музыка
Програ'ммная му'зыка , род инструментальной музыки; музыкальное произведения, имеющие словесную, нередко поэтическую программу и раскрывающие запечатленное в ней содержание. Программой может служить заглавие, указывающее, например, на явление действительности, которое имел в виду композитор («Утро» Грига из музыки к драме Ибсена «Пер Гюнт»), или на вдохновившее его литературное произведение («Макбет» Р. Штрауса – симфоническая поэма по драме Шекспира). Более подробные программы обычно составляются по литературным произведениям (симфоническая сюита «Антар» Римского-Корсакова по одноименной сказке Сенковского), реже – вне связи с литературным прообразом («Фантастическая симфония» Берлиоза). Программа раскрывает нечто недоступное для музыкального воплощения и потому не раскрытое самой музыкой; этим она принципиально отличается от любого анализа или описания музыки; придать её музыкальному произведению может только его автор. В П. м. широко применяются музыкальная изобразительность, звукопись, конкретизация через жанр.
Простейший вид П. м. – картинная программность (музыкальной картины природы, народных празднеств, битв и т.п.). В сюжетно-программных произведениях развитие музыкальных образов в той или иной степени отвечает контурам сюжета, как правило, заимствованного из художественной литературы. Порой в них даётся лишь музыкальная характеристика основных образов, общего направления развития сюжета, первоначального и итогового соотношения действующих сил (обобщённо-сюжетная программность), иногда отображается вся последовательность событий (последовательно-сюжетная программность).
В П. м. используются методы развития, позволяющие «следовать» за сюжетом, не нарушая собственно-музыкальных закономерностей. В их числе: вариационность и связанный с ней принцип монотематизма , выдвинутый Ф. Листом; принцип лейтмотивной характеристики (см. Лейтмотив ), который одним из первых применил Г. Берлиоз; объединение в одночастной форме черт сонатного аллегро и сонатно-симфонического цикла, характерное для созданного Ф. Листом жанра симфонической поэмы.
Программность явилась большим завоеванием музыкального искусства, стимулировала поиски новых выразительных средств, способствовала обогащению круга образов музыкальных произведений. П. м. равноправна с музыкой непрограммной и развивается в тесном взаимодействии с ней.
П. м. известна с глубокой древности (античная Греция). Среди программных произведений 18 в. – клавесинные миниатюры Ф. Куперена и Ж. Ф. Рамо, «Каприччо на отъезд возлюбленного брата» И. С. Баха. Ряд программных сочинений создан Л. Бетховеном – «Пасторальная симфония», увертюры «Эгмонт», «Кориолан» и др. Расцвет П. м. в 19 в. во многом связан с романтическим направлением в музыкальном искусстве (см. Романтизм ), провозгласившим лозунг обновления музыки с помощью единения её с поэзией. Среди программных произведений композиторов-романтиков – «Фантастическая симфония» и симфония «Гарольд в Италии» Берлиоза, симфонии «Фауст», «К “Божественной комедии” Данте», симфонические поэмы «Тассо», «Прелюды» и др. Листа. Крупный вклад в П. м. внесли и русские композиторы-классики. Большой известностью пользуются симфоническая картина «Иванова ночь на Лысой горе» и фортепианный цикл «Картинки с выставки» Мусоргского, симфоническая сюита «Антар» Римского-Корсакова, симфония «Манфред», увертюра-фантазия «Ромео и Джульетта», фантазия для оркестра «Франческа да Римини» Чайковского и др. Программные сочинения написаны также А. К. Глазуновым, А. К. Лядовым, А. И. Скрябиным, С. В. Рахманиновым и др. Национальные традиции в области П. м. находят своё продолжение и развитие в творчестве советских композиторов – Н. Я. Мясковского, Д. Д. Шостаковича и др.
Лит.: Чайковский П. И., О программной музыке, Избр. отрывки из писем и статей, М., 1952; Стасов В. В., Искусство XIX века, Избр. соч., т. 3, М., 1952; Лист Ф., Избр. статьи, М., 1959, с. 271—349; Хохлов Ю., О музыкальной программности, М., 1963; KIauwell О., Geschichte der Programmusik, Lpz., 1910; Sychra A., Die Einheit von absoluter Musik und Programmusik, «Beiträge zur Misik-wissenschaft», [Heft] 1, 1959; Niecks Fr., Programme music in the last four centuries, N. Y., 1969.
Ю. Н. Хохлов.
Программная обработка
Програ'ммная обрабо'тка , механическая обработка деталей на металлорежущих станках с программным управлением, при которой большинство движений станка осуществляется автоматически в определенной последовательности по заранее заданной программе. В качестве программоносителя применяются: механические гидро– и электрокопировальные следящие устройства, перфокарты, перфоленты, магнитные ленты, фото– и киноплёнки и др. П. о. позволяет значительно увеличить производительность труда, повысить точность изготовления деталей и облегчить перенастройку на др. детали.
Программное управление
Програ'ммное управле'ние , управление режимом работы объекта по заранее заданной программе . П. у. может осуществляться как с использованием обратной связи , (системы с замкнутой цепью воздействия), так и без неё (системы с разомкнутой цепью воздействия) (см. Автоматическое управление ). Системы П. у. с замкнутой цепью воздействия могут функционировать с оптимизацией и без оптимизации режима работы управляемого объекта. Процесс П. у. с оптимизацией можно рассматривать как минимизацию некоторого функционала, характеризующего «расстояние» между искомым и действительным (фактическим) состояниями объекта. Так, например, П. у. летательными аппаратами реализует требуемую траекторию их движения, что обеспечивает нахождение летательного аппарата в соответствующих точках пространства в заданные моменты времени.
Термин «П. у.» с оптимизацией возник в теории управления системами, подверженными действию случайных возмущений (стохастическими). Пусть, например, движение объекта описывается системой дифференциальных уравнений вида , где – т. н. фазовый вектор, x — случайная вектор-функция, u (t ) — управляющий вектор. Предположим также, что цель управления – перевести объект (систему) из начального состояния x в некоторое конечное хт. Поскольку система стохастическая, то нельзя говорить о точном достижении конечного состояния хт. Речь может идти лишь о таком выборе управления, которое минимизирует некоторую функцию конечного состояния J [x (T)]. В качестве такой функции принимается норма J [x (T)] = ÷÷х (Т) – хт ÷÷. В теории подобных систем, к числу которых относятся системы управления ракетами, многими технологическими процессами и т.д., широко распространён следующий приём исследования. Предположим, что x º 0, т. е. система детерминирована. Тогда можно пытаться найти управление U (t ), которое переводит систему точно в состояние хт по некоторой траектории движения – функции x (t ). Если цель управления достижима, то таких траекторий можно определить достаточно много. Следовательно, появляется возможность выбора управления U (t ) (программы), которое обеспечивает оптимальное значение некоторому критерию. Например, если речь идёт о выводе ракеты на заданную орбиту, то таким критерием может быть затрата горючего. Так возникает понятие оптимальной программы, которое охватывает обычно и понятие оптимальной траектории (t ), и оптимального управления (t ). Понятие оптимальной программы относится к идеализированным системам. Поэтому конструктор, определив оптимальную программу, проектирует ещё и систему управления программой – траекторией. Можно написать: U = + u, где — фиксированная функция времени, а u — корректирующее управление, которое осуществляется по цепи обратной связи. Система управления содержит средства измерения действительной траектории, и задача корректирующего управления – обеспечить минимальное рассогласование реальной траектории x (t ) и оптимальной (t ), которая достигает цели управления хт.
Лит.: Моисеев Н. Н., Численные методы в теории оптимальных систем, М., 1971; его же, Оптимизация и управление (эволюция идей и перспективы), «Известия АН СССР. Техническая кибернетика», 1974, № 4; его же, Элементы теории оптимальных систем, М., 1975.
Н. Н. Моисеев.
П. у. технологическим оборудованием и процессами охватывает управление движением (станки и др. машины, механизмы, движущиеся объекты) и управление изменением физических и химических параметров (температуры, давления, концентрации и т.п.). Наибольшее практическое применение получило П. у. станками (см. Металлорежущий станок ). В первом станке (фрезерном) с цифровым П. у. (1952, Массачусетский технологический институт, США) программа задавалась двоичным цифровым кодом, записанным на магнитной ленте, который преобразовывался интерполятором в сигнал управления. Сигнал управления воспроизводился следящими приводами подач. В современных системах наиболее употребительны два варианта следящего привода – с замкнутой цепью управления (преимущественно постоянного тока) и с разомкнутой цепью (на шаговых электродвигателях). Схемы управления выполняются на полупроводниковых приборах. Существуют два основных класса систем П. у.: координатное управление перемещением из одного положения в другое по непрограммируемой (но, возможно, оптимизируемой) траектории движения и контурное управление, в котором программируется вся траектория.
Первоначальное цифровое П. у. рассматривалось как основной метод автоматизации индивидуального и мелкосерийного производств; по мере же совершенствования П. у. оно начинает проникать в серийное и массовое производство как средство, обеспечивающее максимальную мобильность производства (быстроту смены характеристик изделий). В 60-х гг. появились системы «прямого» П. у. с непосредственной связью ЭВМ с одним или группой станков при работе ЭВМ в реальном масштабе времени. Получают распространение системы цифрового П. у. с малыми ЭВМ переменной структуры («с гибкой логикой»). В конце 60-х гг. появились «цикловые» системы П. у. – малые ЭВМ, выполняющие только логические операции и заменяющие обычные электронные устройства на контактных и бесконтактных реле. Стали применяться также и адаптивные системы цифрового П. у., в которых программа задаёт геометрию изделия и критерии оптимальности, а адаптивное управление изменяет режимы резания по оптимальному закону. В самообучающихся системах цифрового П. у. критерии оптимальности вырабатываются на основе статистического анализа предыдущих циклов.
Разработаны технологические участки полностью автоматизированного управления, осуществляемого по иерархическому принципу. В этом случае центральная ЭВМ управляет ЭВМ-сателлитами, а последние – малыми ЭВМ у станков. Созданы автоматические линии, работающие без ручного обслуживания (например, «Система 24» фирмы «Молинз», Великобритания). В таких системах термин «П. у.» получает новый, более широкий смысл – всё управление осуществляется через систему ЭВМ с помощью одной главной входной программы и вспомогательных подпрограмм, хранящихся в памяти всех ЭВМ системы.
Лит.: Спиридонов А. А., Федоров В. Б., Металлорежущие станки с программным управлением, 2 изд., М., 1972; Шаумян Г. А., Комплексная автоматизация производственных процессов., М., 1973; Булгаков А. А., Программное управление системами машин, М., 1975.
А. А. Булгаков.