
-
Принцип программного управления
-
Программа, выполняемая компьютером, представляет собой последовательность команд. Для того чтобы обеспечить последовательное выполнение команд выполняется следующее:
-
К адресу первой команды прибавляется её длина (в байтах), таким образом определяется адрес второй команды. После выполнения второй команды к её адресу прибавляется её длина и определяется адрес третей команды и.т.д. Если процесс нарушается, выполняется процесс условного перехода.
-
-
Код операции – код, находящийся в оперативной части; определяет какая именно операция выполняется. занимает 8 бит
-
Микрооперация – элементарное действие внутри Вычислительной Машины.
-
Адресная часть – часть, где хранятся адреса. команды бывают одно-, двух-, трехадресные и безадресные(испольщуются для уменьшения числа обращений к оперативной памяти)
-
Регистр команд – регистр, после помещения в который, тело команды начнет выполняться .
-
Команды дробятся на микрокоманды. Микрокоманды и микрооперации находяятся в постоянной памяти. Каждой микрокоманде может соответствовать одна или несколько микроопераций
-
Принцип программного управления заключается в том, что после сообщения машине адреса первой команды программы и занесения тела этой команды в регистр команд, программа управляет сама собой. Далее никакого внешнего управления не требуется. Этот принцип выполняется как на уровне команд, так и на уровне микрокоманд. Архитектура фон Неймана — широко известный принцип совместного хранения программ и данных в памяти компьютера.Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.
ЗАПОМИНАЮЩИЕ УСТРОЙСТВА ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА. ИХ ИЕРАРХИЯ И ОСНОВНЫЕ ХАРАКТЕРИСТИКИ Персональные компьютеры имеют четыре иерархических уровня памяти:
Микропроцессорная память рассмотрена выше. Основная память предназначена для хранения и оперативного обмена информацией с другими устройствами компьютера. Функции памяти:
Основная память содержит два вида запоминающих устройств:
ПЗУ предназначено для хранения постоянной программной и справочной информации. Данные в ПЗУ заносятся при изготовлении. Информацию, хранящуюся в ПЗУ, можно только считывать, но не изменять. В ПЗУ находятся:
ПЗУ является энергонезависимой памятью, при отключении питания информация в нем сохраняется. ОЗУ предназначено для оперативной записи, хранения и считывания информации (программ и данных), непосредственно участвующей в информационно-вычислительном процессе, выполняемом компьютером в текущий период времени.
Устройство ввода-вывода [править] Материал из Википедии — свободной энциклопедии Устройство ввода-вы́вода — компонент типовой архитектуры ЭВМ, предоставляющий компьютеру возможность взаимодействия с внешним миром и, в частности, с пользователямии другими компьютерами. Подразделяются на:
Устройства ввода-вывода — компоненты ЭВМ с переносными носителями (дисководы), двунаправленные интерфейсы (различные порты компьютера, различные сетевыеинтерфейсы) Устройства ввода — приборы для занесения (ввода) данных в компьютер либо другое электронное устройство во время его работы. Устройства вывода — периферийные устройства, преобразующие результаты обработки цифровых машинных кодов в форму, удобную для восприятия человеком или пригодную для воздействия на исполнительные органы объекта управления. Устройства ввода
[править]Устройства вывода
[править]Устройства ввода/вывода
Манипуля́тор «мышь» (просто «мышь» или «мышка») — механический манипулятор, преобразующий механические движения в движение курсора на экране. Трекбол (англ. trackball, произносится /ˈtrækˌbɔːl/) — указательное устройство ввода информации об относительном перемещении длякомпьютера. Аналогично мыши по принципу действия и по функциям. Трекбол функционально представляет собой перевернутую механическую (шариковую) мышь. Шар находится сверху или сбоку и пользователь может вращать его ладонью или пальцами, при этом не перемещая корпус устройства. Несмотря на внешние различия, трекбол и мышь конструктивно похожи — при движении шар приводит во вращение пару валиков или, в более современном варианте, его сканируют оптические датчики перемещения (как в оптической мыши). Графи́ческий планше́т (от англ. graphics tablet или graphics pad, drawing tablet, digitizing tablet, digitizer - дигитайзер,диджитайзер) — это устройство для ввода рисунков от руки непосредственно в компьютер. Джо́йстик (англ. joystick — «ручка управления самолётом») — устройство ввода информации, которое представляет собой качающуюся в двух плоскостях ручку. Наклоняя ручку вперёд, назад, влево и вправо, пользователь может передвигать что-либо по экрану. На ручке, а также в платформе, на которой она крепится, обычно располагаются кнопки и переключатели различного назначения. Помимо координатных осей X и Y, возможно также изменение координаты Z, за счет вращения рукояти вокруг оси, наличия второй ручки, дополнительного колёсика и т. п. Ска́нер (англ. scanner) — устройство, выполняющее преобразование изображений в цифровой формат — цифровую копию изображения объекта. Процесс получения этой копии называется сканированием. Цифровой фотоаппарат — это фотоаппарат, в котором для получения изображения используется массив полупроводниковых светочувствительных элементов, называемый матрицей, на которую изображение фокусируется с помощью системы линз объектива. Полученное изображение, в электронном виде сохраняется в виде файлов в памяти фотоаппарата или дополнительном носителе, вставляемом в фотоаппарат. Видеока́мера — первоначальное значение — комбинация телевизионной передающей камеры и устройства для видеозаписи. Впоследствии, слово «видеокамера» практически вытеснило слова «телевизионная камера» и «телекамера» (ТВ-камера), заменив их. Микрофо́н (от греч. μικρός — маленький, φωνη — звук) — электроакустический прибор, преобразовывающий звуковые колебания вколебания электрического тока, устройство ввода. Служит первичным звеном в цепочке звукозаписывающего тракта или звукоусиления. Микрофоны используются во многих устройствах, таких как телефоны и магнитофоны, в звукозаписи и видеозаписи, на радио и телевидении, для радиосвязи, а также для ультразвукового контроля и измерения. Основы алгебры логики Алгебра – это раздел математики, предназначенный для описания действий над переменными величинами, которые принято обозначать строчными буквами латинского алфавита – а, b, x, y и т.д. Действия над переменными величинами записываются в виде математических выражений. Термин «логика» происходит от древнегреческого “logos”, означающего «слово, мысль, понятие, рассуждение, закон». Алгеброй логики называется аппарат, который позволяет выполнять действия над высказываниями. Алгебру логику называют также алгеброй Буля, или булевой алгеброй, по имени английского математика Джорджа Буля, разработавшего в XIX веке ее основные положения. В булевой алгебре высказывания принято обозначать прописными латинскими буквами: A, B, X, Y. В алгебре Буля введены три основные логические операции с высказываниями? Сложение, умножение, отрицание. Определены аксиомы (законы) алгебры логики для выполнения этих операций. Действия, которые производятся над высказываниями, записываются в виде логических выражений. Логические выражения могут быть простыми и сложными. Основными функциональными характеристиками ПК являются:
|
-
Экзаменационный билет № 4
-
Решить задачу в программе Pascal: Вычислить сумму элементов матрицы А(5,5), расположенных выше главной диагонали.
-
Program 4;
-
Var a:array[1..5,1..5] of integer;
-
S,I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
If i<j then
-
S:=s+a[I,j];
-
End;
-
End;
-
Writeln(s);
-
End.
|
|
-
Решить задачу в программе Pascal: Вычислить сумму отрицательных элементов матрицы А(5,5), расположенных выше главной диагонали.
-
Program 5;
-
Var a:array[1..5,1..5] of integer;
-
S,I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
If (i<j) and (a[I,j]<0) then
-
S:=s+a[I,j];
-
End;
-
End;
-
Writeln(s);
-
End.
-
Экзаменационный билет № 6
-
Решить задачу в программе Pascal: Найти количество нулевых элементов матрицы В(4,4), расположенных ниже главной диагонали.
-
Program 6;
-
Var a:array[1..4,1..4] of integer;
-
S,I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 4 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For i:=1 to 4 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
If (i>j) and (a[I,j]=0) then
-
S:=s+1;
-
End;
-
End;
-
Writeln(s);
-
End.
-
Экзаменационный билет № 7
-
Решить задачу в программе Pascal: Найти сумму элементов каждого столбца матрицы А(5,5). Результат записать в вектор S(5).
-
Program 7;
-
Var a:array[1..5,1..5] of integer;
-
S:array[1..5] of integer;
-
I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For j:=1 to 5 do
-
Begin
-
For i:=1 to 5 do
-
Begin
-
S[i]:=s[i]+a[I,j];
-
End;
-
End;
-
For i:=1 to 5 do
-
Begin
-
Write(s[I],’ ‘);
-
End;
-
End.
|
|
-
Program 14;
-
Var a:array[1..6,1..5] of integer;
-
k:array[1..6] of integer;
-
I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 6 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For i:=1 to 6 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
If a[I,j]=0 then
-
K[i]:=k[i]+1;
-
End;
-
End;
-
For i:=1 to 6 do
-
Begin
-
Write(k[I],’ ‘);
-
End;
-
End.
|
|
-
Program 15;
-
Var a:array[1..3,1..4] of integer;
-
SA:array[1..4] of real;
-
I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 6 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For j:=1 to 4 do
-
Begin
-
For i:=1 to 3 do
-
Begin
-
SA[j]:=a[I,j]+SA[j];
-
End;
-
End;
-
For i:=1 to 4 do
-
Begin
-
SA[i]:=SA[i]/3;
-
Write(SA[I],’ ‘);
-
End;
-
End.
|
|
-
Решить задачу в программе Pascal: Вычислить сумму отрицательных элементов матрицы Х(6,6), расположенных выше главной диагонали
-
Program 16;
-
Var a:array[1..6,1..6] of integer;
-
S,I,j:intger
-
Begin
-
Randomize;
-
For i:=1 to 6 do
-
Begin
-
For j:=1 to 6 do
-
Begin
-
A[I,j]:=random(10)-5;
-
End;
-
End;
-
For i:=1 to 6 do
-
Begin
-
For j:=1 to 6 do
-
Begin
-
If (i<j) and (a[I,j]<0) then
-
S:=s+a[I,j];
-
End;
-
End;
-
Writeln(s);
-
End.
|
|
-
Решить задачу в программе Pascal: Поменять местами наибольший и наименьший элементы вектора А(10).
-
Program 17;
-
Var a:array [1..10] of integer;
-
I,min,max,k,l:integer;
-
Begin
-
Randomize;
-
For i:=1 to 10 do
-
Begin
-
A[i]:=random(100)-50;
-
End;
-
Max:=a[1];
-
Min:=a[1];
-
K:=1;
-
L:=1;
-
For i:=1 to 10 do
-
Begin
-
If a[i]>max then
-
Begin
-
Max:=a[i];
-
K:=I;
-
End;
-
If a[i]<min then
-
Min:=a[i];
-
L:=I;
-
End;
-
End;
-
For i:=1 to 10 do
-
Begin
-
If i=k then
-
A[i]:=min;
-
If i=l then
-
A[i]:=max;
-
End;
-
For i:=1 to 10 do
-
Begin
-
Write(a[i],’ ‘);
-
End;
-
End.
|
|
-
Решить задачу в программе Pascal: В одномерном массиве С(20) просуммировать первый элемент с последним, второй с предпоследним и т.д. Результат записать в массив В(10) и в нем найти наибольший элемент.
-
Program 18;
-
Var c:array [1..20] of integer;
-
B:array [1..10] of integer;
-
I,j,max:integer;
-
Begin
-
Randomize;
-
For i:=1 to 20 do
-
Begin
-
C[i]:=random(100)-50;
-
End;
-
For i:=1 to 10 do
-
Begin
-
For j:=10 downto 1 do
-
Begin
-
B[i]:=c[i]+c[j];
-
End;
-
Max:=b[1];
-
For i:=1 to 10 do
-
Begin
-
If max<b[i] then
-
Max:=b[i];
-
End;
-
For i:=1 to 10 do
-
Begin
-
Write(b[i],’ ‘);
-
End;
-
Write(max);
-
End.
|
|
-
Решить задачу в программе Pascal: Найти наименьшее значение функции Y=sin(х2+5x)cos(3x2-x) в интервале изменения аргумента x от 0 до 8 с шагом 0.4. Значение функции записать в массив А.
-
Program 20;
-
Var x:real;
-
A:array [1..21] of real;
-
I:integer;
-
Begin
-
X:=0;
-
I:=1;
-
While x<=8 do
-
Begin
-
A[i]:=sin(sqr(x)+5*x)*cos(3*sqr(x)-x);
-
X:=x+0.4;
-
I:=i+1;
-
End;
-
For i:=1 to 21 do
-
Begin;
-
Write(a[i],’ ‘);
-
End;
-
End.
|
|
-
Решить задачу в программе Pascal: Даны два вектора А(10) и В(10). Вычислить произведение соответствующих элементов массивов. Результат поместить в вектор X(10).
-
Program 22;
-
Var a,b,x:array [1..10] of integer;
-
I:integer;
-
Begin
-
Randomize;
-
For i:=1 to 10 do
-
Begin
-
A[i]:=random(100)-50;
-
B[i]:=random(100)-50;
-
End;
-
For i:=1 to 10 do
-
Begin
-
X[i]:=a[i]*b[i];
-
Write(x[i],’ ‘);
-
End;
-
END.
-
Экзаменационный билет №
-
23
-
-
Решить задачу в программе Pascal: Даны массивы А(4) и С(6). Найти суммы положительных элементов каждого массива, запомнить их в массиве Х и найти среди них наименьшую.
-
Program 23;
-
Var a:array [1..4] of integer;
-
C:array [1..6] of integer;
-
X:array[1..2] of integer;
-
I:integer;
-
Begin
-
Randomize;
-
For i:=1 to 4 do
-
Begin
-
A[i]:=random(100)-50;
-
End;
-
For i:=1 to 6 do
-
Begin
-
C[i]:=random(100)-50;
-
End;
-
For i:=1 to 4 do
-
Begin
-
If a[i]>0 then
-
X[1]:=x[1]+a[i];
-
End;
-
For i:=1 to 6 do
-
Begin
-
If c[i]>0 then
-
X[2]:=x[2]+c[i];
-
End;
-
If x[1]>x[2] then
-
Write(x[1],x[2],’ min ‘,x[2])
-
Else
-
Write(x[1],x[2],’ min ‘,x[1]);
-
END.
|
|
-
Решить задачу в программе Pascal: Удвоить все элементы целочисленного вектора А(10), являющиеся четными числами и утроить все оставшиеся.
-
program 24;
-
var a:array [1..10] of integer;
-
i:integer;
-
begin
-
randomize;
-
for i:=1 to 10 do
-
begin
-
a[i]:=random(100);
-
end;
-
for i:=1 to 10 do
-
begin
-
if a[i] mod 2=0 then
-
a[i]:=a[i]*2
-
else a[i]:=3*a[i];
-
end;
-
for i:=1 to 10 do
-
begin
-
write(a[i],’ ‘);
-
end;
-
end.
|
|
-
Решить задачу в программе Pascal: Вычислить среднее арифметическое элементов, расположенных на главной диагонали, для каждой из матриц А(4,4) и С(5,5).
-
Var a:array [1..4,1..4] of integer;
-
C:array [1..5,1..5] of integer;
-
I,j,s,s1:integer;
-
Begin
-
Randomize;
-
For i:=1 to 4 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
A[I,j]:=random(100)-50;
-
Write(a[I,j],’ ‘);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
c[I,j]:=random(100)-50;
-
Write(c[I,j],’ ‘);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 4 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
If i=j then
-
S:=s+a[I,j];
-
End;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
If i=j then
-
S1:=s1+c[I,j];
-
End;
-
Writeln(‘srednearefm massiva A’,s/4);
-
Writeln(‘srednearefm massiva C’,s1/5);
-
End.
-
Экзаменационный билет №
26
-
-
Решить задачу в программе Pascal: Вычислить среднее арифметическое элементов, расположенных ниже главной диагонали, для каждой из матриц А(4,4) и С(5,5).
-
Var a:array [1..4,1..4] of integer;
-
C:array [1..5,1..5] of integer;
-
I,j,s,s1:integer;
-
Begin
-
Randomize;
-
For i:=1 to 4 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
A[I,j]:=random(100)-50;
-
Write(a[I,j],’ ‘);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
c[I,j]:=random(100)-50;
-
Write(c[I,j],’ ‘);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 4 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
If i>j then
-
S:=s+a[I,j];
-
End;
-
For i:=1 to 5 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
If i>j then
-
S1:=s1+c[I,j];
-
End;
-
Writeln(‘srednearefm massiva A’,s/8);
-
Writeln(‘srednearefm massiva C’,s1/12.5);
-
End.
Экзаменационный билет №
27
-
Решить задачу в программе Pascal: Определить порядковые номера максимальных элементов массивов Z(10) и X(15).
-
Var x:array[1..15] of integer;
-
Z:array[1..10] of integer;
-
I,k,l,max:integer;
-
Begin
-
Randomize;
-
For i:=1 to 15 do
-
Begin
-
X[i]:=random(100)-50;
-
End;
-
For i:=1 to 10 do
-
Begin
-
z[i]:=random(100)-50;
-
End;
-
Max:=x[1];
-
For i:=1 to 15 do
-
Begin
-
If max<x[i] then
-
Begin
-
Max:=x[i];
-
K:=I;
-
End;
-
End;
-
Max:=z[1];
-
For i:=1 to 10 do
-
Begin
-
If max<z[i] then
-
Begin
-
Max:=z[i];
-
l:=I;
-
End;
-
End;
-
Writeln(k);
-
Writeln(l);
-
End.
Экзаменационный билет №
28
-
Решить задачу в программе Pascal: Найти произведение положительных и сумму отрицательных элементов для матриц В(3,5) и С(3,4).
-
Var b:array [1..3,1..5] of integer;
-
C:array [1..3,1..4] of integer;
-
I,j,p,s:integer;
-
Begin
-
Randomize;
-
For i:=1 to 3 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
B[I,j]:=random(100)-50;
-
Write(b[I,j]);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 3 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
c[I,j]:=random(100)-50;
-
Write(c[I,j]);
-
End;
-
Writeln;
-
End;
-
P:=1;
-
For i:=1 to 3 do
-
Begin
-
For j:=1 to 5 do
-
Begin
-
If b[I,j]>0 then
-
P:=p*b[I,j]
-
Else
-
S:=s+b[I,j];
-
End;
-
End;
-
Writeln(p,’ ‘,s);
-
For i:=1 to 3 do
-
Begin
-
For j:=1 to 4 do
-
Begin
-
If c[I,j]>0 then
-
P:=p*c[I,j]
-
Else
-
S:=s+c[I,j];
-
End;
-
End;
-
Writeln(p,’ ‘,s);
-
End.
Экзаменационный билет №
29
-
Решить задачу в программе Pascal: Найти количество элементов, больших 5, меньших 5 и равных 5 для двух массивов А(3,5) и В(4,4).
-
Var a:array[1..3,1..5] of integer;
-
B:array[1..4,1..4] of integer;
-
I,j,k,k1,k2:integer;
-
Begin
-
Randomize;
-
For i:=1 to 3 do
-
Begin
-
Forj:=1 to 5 do
-
Begin
-
A[I,j]:=random(10);
-
Write(a[I,j],’ ‘);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 4 do
-
Begin
-
Forj:=1 to 4 do
-
Begin
-
b[I,j]:=random(10);
-
Write(b[I,j],’ ‘);
-
End;
-
Writeln;
-
End;
-
For i:=1 to 3 do
-
Begin
-
Forj:=1 to 5 do
-
Begin
-
Case a[I,j] of
-
1..4:k:=k+1;
-
5: k1:=k1+1;
-
5..9: k2:=k2+1;
-
End;
-
End;
-
End;
-
Writeln(‘kol-vo <5 ‘,k,’ =5 ‘,k1,’ >5 ‘, k2);
-
For i:=1 to 4 do
-
Begin
-
Forj:=1 to 4 do
-
Begin
-
Case b[I,j] of
-
1..4:k:=k+1;
-
5: k1:=k1+1;
-
5..9: k2:=k2+1;
-
End;
-
End;
-
End;
-
Writeln(‘kol-vo <5 ‘,k,’ =5 ‘,k1,’ >5 ‘, k2);
-
End.