1. В чем заключается отличие между компьютерами, вычислительной и информационной системами? 2. В чем отличие архитектуры вычислительной машины от ее структуры? 3. Каковы достоинства многоуровневой организации вычислительных систем? 4. Понятие семантического разрыва между уровнями. 5. Опишите структуру многоуровневой вычислительной машины. 6. Опишите принцип работы фон-неймановской вычислительной ма- шины. 7. Перечислите принципы фон Неймана, положенные в основу постро- ения современных вычислительных машин. 8. В чем заключается отличие микроархитектуры процессора от макроар- хитектуры? 9. Перечислите основные характеристиками процессора. 10. Приведите примеры классификаций микропроцессора. 11. Опишите внутреннюю структуру микропроцессора i8080. 12. Каково назначение устройства управления микропроцессора? 13. Каково назначение регистров микропроцессора? 14. Опишите схему взаимодействия оперативной памяти с микропроцессором. 15. Что лежит в основе работы запоминающего устройства? 16. Каково назначение кэш-памяти? Как влияет объем кэш-памяти на про- изводительность вычислительных машин? 17. Каково назначение оперативной памяти? Как влияет объем оператив- ной памяти на производительность вычислительных машин? 18. Перечислите наиболее известные запоминающие устройства долговре- менного хранения. 19. Перечислите уровни памяти вычислительных систем на основе иерар- хической структуры. Основные преимущества от иерархии памяти.
program n_2;
var i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(100);
for i:=1 to 10 do
write(a[i],' ');
end.
Вычисление суммы элементов массива
program n_3;
var s, i: integer;
a: array[1..10] of integer;
begin
s:=0;
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
for i:=1 to 10 do s:=s+a[i];
writeln('s=', s)
end.
Вычисление суммы элементов массива
[Используем операторные скобки и всё (ввод, вывод, обработку) делаем в одном цикле]
program n_3_1;
var s, i: integer;
a: array[1..10] of integer;
begin
s:=0;
randomize;
for i:=1 to 10 do
begin
a[i]:=random(100);
write(a[i],' ');
s:=s+a[i]
end;
writeln('s=', s)
end.
Программа поиска наибольшего элемента в массиве
program n_4;
var i, imax: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
imax:=1;
for i:=2 to 10 do
if a[i]>a[imax] then
imax:=i;
write('Наибольший элемент a[', imax, ']=', a[imax])
end.
Поиск элемента, равного 50
program n_5;
var n, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
n:=0;
for i:=1 to 10 do
if a[i]=50 then
n:=i;
if n=0 then
write('Нет')
else
write(n)
end.
Поиск элемента, равного 50
program n_5_1;
var n, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
i:=0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then
write(i)
else
write('Нет')
end.
Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
program kolich;
var k, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
k:=0;
for i:=1 to 10 do
if a[i]>50 then
k:=k+1;
write('k=', k)
end.
Сумма значений элементов, удовлетворяющих условию
program sum ;
var s, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(100);
for i:=1 to 10 do
write (a[i],` `);
s:=0;
for i:=1 to 10 do
if (a[i]>10) and (a[i]<30) then
s:=s+a[i];
write('s=', s)
end.
Сортировка массива
program sort;
var n, i, j, x, imax: integer;
a: array [1..10] of integer;
begin
for i:=1 to 10 do read (a[i]);
for i:=1 to 10 do write (a[i], ' ');
for i:=1 to 9 do
begin
imax:=i;
for j:=i+1 to 10 do
if a[j]>a[imax] then
imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x
end;
for i:=1 to 10 do
write(a[i], ' ')
end.
Возведение числа в любую степень.
program calc_stepen;
var
a, b, h, i: integer;
c: real;
begin
b := 1;
readln( a, h);
for i := 1 to abs(h) do
b := b * a;
if h < 0 then
c := 1 / b
else
c := b;
writeln( c:3:5 );
end.
Определение гласных и согласных букв:
program alfabet;
var
s: char;
begin
read(s);
case s of
'а','е','ё','и','о','у','ы','э','ю','я': writeln('гласные');
'б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ': writeln('согласные');
else
writeln('знаки');
end;
end.
Объяснение:
Спочатку потрібно викликати процедуру randomize.
Потрібно створити ціле число, що належить інтервалу [1, 4]. Для цього будемо використовувати формулу X:=Random(B-A+1)+A, де A=1,B=4.
Перевіримо створене число.
Якщо воно дорівнює 1, то надрукуємо слово 'піка'.
Якщо воно дорівнює 2, то надрукуємо слово 'треф'.
Якщо воно дорівнює 3, то надрукуємо слово 'бубна'.
Якщо воно дорівнює 4, то надрукуємо слово 'чирва'.
Програма
var x:byte;
begin
randomize;x:=random(4)+1;
if x=1 then writeln('пики');
if x=2 then writeln('трефи');
if x=3 then writeln('бубни');
if x=4 then writeln('черви');
end.
Приклад 2
Одержати у програмі 10 випадкових цілих чисел у діапазоні від 0 до 10 включно та знайти їх суму.
Змінні:
Вхідних даних немає.
Вихідні:
x – число, що має значення від 0 до 10 (ціле число)
s – сума всіх чисел x
Проміжні:
i – параметр циклу (ціле число)