Рейтинговые книги
Читем онлайн Большая Советская энциклопедия (Пр) - БСЭ

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 164 165 166 167 168 169 170 171 172 ... 337

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

  Процесс П. обычно состоит из следующих этапов:

  Содержание каждого этапа П. можно пояснить на примере решения квадратного уравнения.

  Исходная формулировка. Надо найти корни 50 квадратных уравнений вида ax2 + bx + c = 0, коэффициенты которых заданы в виде трёх таблиц Ai , B i и Ci (i = 1,..., 50).

  Алгоритмическое описание задачи получается в результате полного математического исследования её постановки, выбора стандартных или поиска новых алгоритмов выполнения всех нужных вычислений, а также уточнения, какие исходные данные надо ввести в ЭВМ и какие результаты надо получить. В данном случае алгоритмическое описание может иметь такой вид: ввести в ЭВМ таблицы коэффициентов Ai , B i и 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 единого мнения не сложилось: оно характеризуется и как система научной организации труда обучающих и обучаемых, и как педагогическая система, призванная заменить традиционное обучение, и как некая кибернетическая дидактика, и как новый метод обучения, и, наконец, как особый вид самостоятельной работы. Несмотря на разногласия в определении П. о., цель его трактуется однозначно — оптимизация управления процессом усвоения знаний обучаемым. См. также Педагогика .

1 ... 164 165 166 167 168 169 170 171 172 ... 337
На этой странице вы можете бесплатно читать книгу Большая Советская энциклопедия (Пр) - БСЭ бесплатно.

Оставить комментарий