Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_3_I.doc
Скачиваний:
13
Добавлен:
31.07.2019
Размер:
98.82 Кб
Скачать

9

Лекция_3_I

  1. Принципы программного управления. Классификация языков программирования.

  2. Классификация программного обеспечения.

1. Принципы программного управления

На предыдущей лекции мы рассмотрели аппаратную конфигурацию вычислительных систем. Сегодня рассмотрим программную конфигурацию. Для того, чтобы персональный компьютер был универсальным устройством для обработки информации, необходимо составить для компьютера на понятном ему языке (т.е. состоящую из 0 и 1) точную и подробную последовательность инструкций как надо обрабатывать информацию – программу. Сам по себе компьютер не обладает знаниями ни в одной области своего применения, все эти знания сосредоточены в выполняемых на компьютере программах. Часто употребляемое выражение «компьютер подсчитал» (, нарисовал) означает, что на компьютере была выполнена программа, которая позволила совершить соответствующее действие.

В основу построения подавляющего большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.

Принцип двоичного кодирования

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

Принцип однородности памяти

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

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

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

Принцип адресности

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

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

Первый компьютер, в котором были воплощены принципы фон Неймана, был построен в 1949 году английским исследователем Морисом Уилксом. С той поры компьютеры стали гораздо более мощными, но подавляющее большинство из них сделано в соответствии с теми принципами, которые изложил в своем докладе в 1945 году Джон фон Нейман, и называются они ФОН-НЕЙМАНОВСКИМИ

Команда — это описание элементарной операции, которую должен выполнить компьютер.

В общем случае, команда содержит следующую информацию:

код выполняемой операции;

указания по определению операндов (или их адресов);

указания по размещению получаемого результата

Команды хранятся в ячейках памяти в двоичном коде

Принцип программного управления

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

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

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

Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды “стоп”.

Таким образом, процессор исполняет программу автоматически, без вмешательства человека.

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

Программа – упорядоченная последовательность команд компьютера для решения задач.

Программное обеспечение (software)– совокупность программ обработки данных и необходимых для их эксплуатации документов.

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

КОП

А1

А2

А3

10110010

00001001

00001002

00001003

- например, так выглядит машинная команда для нахождения суммы двух чисел.

Классификация языков программирования.

Первым программистом в мире называют Аду Лавлейс, современницу Чарльза Беббиджа, которая по достоинству оценила достоинства вычислительной машины и разработала некоторые приемы управления последовательностью вычислений, например описала конструкцию цикл. На заре компьютерной эры машинный код (программа, написанная с помощью лишь двух символов 0 и 1) был единственным средством общения человека с компьютером. Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета в середине прошлого века. Так зародились языки программирования. Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании – Грейс Хоппер, которая по праву считала себя третьим программистом и посвятила всю свою жизнь компьютерам и программированию.. Огромным достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Т.е. были созданы компиляторы с созданных ими пока еще примитивных языков высокого уровня в машинные коды. В этих программах содержатся все правила и конструкции соответствующего языка программирования, а также способы преобразований этих конструкций на машинный язык.

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

50-е – КОБОЛ (для обработки коммерческих данных),

54 г. - Фортран (FORmula TRANslator) – фирма IBM

середина 60-х – BASIC (из простых английских слов)

60-е - PL/1, АЛГОЛ-68.

Языки программирования служат разным целям и их выбор определяется удобностью пользователя, пригодностью для данного компьютера и данной задачи. Период с конца 60-х до начала 80-х характеризовался бурным ростом числа различных языков, который завершился победой нескольких языков: Паскаль, Си, Бейсик, которые легко приспособились к персональным компьютерам.

Классическое операционное или процедурное программирование требует от программиста детального описания того, как решать задачу, т.е. формулировки алгоритма и его специальной записи. Основные понятия этих групп – оператор и данные. Принципиально иное направление в программировании связано с методологиями непроцедурного программирования. К нему относится объектно-ориентированное программирование, наиболее предпочтительными из них являются Си++, Delphi (на основе Паскаля) и Visual Basic. Каждый язык программирования высокого уровня имеет свой алфавит и синтаксис.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]