1 семестр сессия / Bilet30
.docБилет №30. Принцип программного управления.
Компьютер подобен плееру для проигрывания звукозаписей или видеозаписей. По сути, отличие лишь в том, что компьютер предназначен для “проигрывания “ программ. Всё, что способен делать компьютер - это выполнять программы. Программа, как и в обычном плеере - сменный элемент (часто размещаемый на специальном носителе - дискете или на жёстком диске). Сменив выполняемую программу, вы переходите от решения одной задачи к другой. Например, одна программа выполняет функцию калькулятора, а другая - редактора текста. Так обеспечивается универсальность компьютера, т.е. возможность выполнять различные задачи на одном и том же оборудовании.
В основе работы любого компьютера лежит принцип программного управления, который мы поясним на упрощенной структуре компьютера, показанной на рис.1.
Рис.1. Общая структурная схема персонального компьютера.
Основное устройство компьютера - процессор, т.е. устройство, где выполняются команды, из которых состоит любая программа. Процессор -”движущая сила”, исполнитель, точно выполняющий команды программы. Процесс выполнения команд может порождать такие эффекты как ввод или вывод текста или графики, изменение цвета или яркости, выдача звуковых сигналов и др. эффекты, которые мы воспринимаем как результат работы компьютера.
Процессор непосредственно связан с оперативной памятью, в которой пересекаются все потоки информации, циркулирующие внутри компьютера. Оперативная память - последовательность ячеек для хранения информации, пронумерованных натуральными числами 0, 1, 2 ... Номер ячейки называется адресом. Обычно ячейка способна хранить один символ, например букву или десятичную цифру. Оперативная память похожа на камеру хранения, однако, в отличие от камеры хранения, помещенную в память информацию можно многократно считывать, пока на её место не поместят новую информацию. Следует чётко усвоить, что оперативная память - пассивное хранилище информации, никакой инициативы по выполнению действий с информацией она не предпринимает. Инициатива всегда у процессора - только он может обращаться к оперативной памяти для выполнения тех или иных операций чтения или записи информации.
Суть принципа программного управления сводится к следующему:
Программа размещается в оперативной памяти ЭВМ вместе с обрабатываемыми данными (например, с числами или строками символов).
Программа состоит из последовательности команд, каждая из которых может содержать адреса операндов и результата операции, а также код операции. Операнды - это объекты (например, числа), над которыми выполняются операции. Цикл выполнения команды, извлеченной из оперативной памяти: операнды команды извлекаются из памяти в процессор, над ними выполняется операция (указанная кодом операции) и результат помещается в оперативную память по адресу результата. После этого процессор извлекает из оперативной памяти следующую команду.
Процессор способен выполнять ограниченный набор операций, составляющий систему операций (иногда называемую системой команд). Система операций позволяет реализовать любой алгоритм и обязательно содержит арифметические операции (сложение, вычитание, умножение и др.), а также операции копирования (перемещения информации из одних ячеек памяти в другие), ввода данных в оперативную память (например, символов, набранных на клавиатуре), вывода информации (например, на экран дисплея, или на диск), окончания программы и другие.
Одной из принципиально важных операций является условный переход по указанному адресу. Эта операция позволяет изменить естественный порядок выполнения команд в программе, что часто бывает необходимым (например, досрочно закончить программу, если найден требуемый результат или выбрать другой путь вычислений).
Элементарными операциями процессора являются упоминаемые уже операции над оперативной памятью: запись и чтение. Они часто называются операциями ввода и вывода. Ввод - запись информации в оперативную память (например, ввод с клавиатуры), а вывод - чтение информации из оперативной памяти (например, вывод на экран монитора или на принтер).
Процессор выполняет команды, начиная с первой команды программы. Если в выполняемой команде не указан адрес следующей команды, то выполняется команда программы, размещенная в следующем адресе оперативной памяти (естественный порядок выполнения команд).
Рассмотренный принцип программного управления, предложенный в 1946г. Джоном фон Нейманом, на первый взгляд может показаться довольно очевидным. Однако он представляет выдающееся открытие, предоставившее необычайную гибкость компьютерам всех последующих поколений. Истоки этой гибкости - во взаимодействии двух начал управления: процессора (активного начала, инициирующего выполнение команд программы) и оперативной памяти (пассивного начала, выполняющего функции хранения обрабатываемой информации и самой программы). Работа программы при этом состоит в непрерывном изменении содержимого памяти, отображающего обрабатываемые данные. Некоторые из этих данных представляют соответствующие результаты работы программы, воспринимаемые нами по создаваемым им эффектам (выводу на экран, на принтер, звуковому выводу и др.).
Замечание Хранение программы вместе с данными в оперативной памяти позволяет программе изменять не только данные, но и саму себя в процессе выполнения. Эта возможность используется до сих пор весьма ограничено: для модификации адресов при циклической обработке.
Наряду с оперативной памятью в современных компьютерах присутствует также внешняя дисковая память (накопители на гибких и жёстких магнитных дисках, компакт-дисках), связанная с оперативной памятью операциями чтения и записи. В дисковой памяти хранятся часто используемые программы и наборы данных, без которых работа компьютера невозможна. При выключении питания информация в дисковой памяти сохраняется, а в оперативной памяти - стирается.
Типичный цикл решения задач на компьютере: ввод программы с диска в оперативную память, запуск программы, ввод данных по запросу программы (с клавиатуры или диска) и вывод результирующей информации (а иногда и промежуточной) на внешнее устройство (на диск, дисплей, принтер и др.).
Таким образом, при обработке информации на компьютере различают 3 вида данных: входные данные (исходные данные для программы), выходные данные (представляющие результаты обработки) и внутренние данные (промежуточная информация, необходимая для выполнения программы). Суть обработки заключается в том, чтобы преобразовать входные данные в выходные данные (результаты). Это преобразование выполняет процессор, управляемый программой решения задачи. Последовательность команд программы, выполняемых процессором с целью решения задачи, называется процессом.
Подводя итоги рассмотрения работы компьютера, следует отметить, что ключевую роль в этой работе выполняет программа. Именно она управляет функционированием соответствующих устройств компьютера и, прежде всего его процессора при решении поставленной задачи.
Задача 4.2.6(30)
program alex30;
type mas=array[1..3,1..4]of integer;
var a,b:mas;
i,j,k,l:integer;
sr1,sr2:real;
procedure proc(x:mas;n,m:integer;var kol:integer;var sr:real);
var i,j:integer;
begin
kol:=0;
sr:=0;
for i:=1 to n do
for j:=1 to m do
begin
if x[i,j]<0 then kol:=kol+1
else sr:=sr+x[i,j];
end;
end;
begin
for i:=1 to 2 do
for j:=1 to 4 do
read(a[i,j]);
for i:=1 to 3 do
for j:=1 to 3 do
read(b[i,j]);
proc(a,2,4,k,sr1);
writeln('v matrice A ',k,'elementov');
proc(b,3,3,l,sr2);
writeln('v matrice B ',l,'elementov');
if sr1>sr2 then writeln('v A bolshe')
else if sr2>sr1 then writeln('v B bolshe')
else writeln('odinakovo');
readln;
end.