Оперативная память (RAM – random access memory, ОЗУ) – устройство, предназначенное для хранения обрабатываемой информации (данных) и программ, управляющих процессом обработки информации. Конструктивно представляет собой набор микросхем, размещенных на одной небольшой плате (модуль, планка). Модуль (модули) оперативной памяти вставляется в соответствующий разъем материнской платы, позволяя таким образом связываться с другими устройствами ПК.
Для того чтобы какая-либо программа начала свое выполнение, она должна быть загружена в оперативную память. Оперативная память является энергозависимой, т.е. хранит информацию, пока компьютер включен (подано питание на модуль оперативной памяти). В оперативную память программа и данные для ее работы попадают из других устройств, загружаются из внешней памяти, энергонезависимых устройств памяти (жесткий диск, компакт-диск и т.д.). Таким образом, загрузить программу означает прочесть ее из файла, находящегося на одном из устройств внешней памяти, и прочитанную копию разместить в оперативную память, после этого микропроцессор начнет ее выполнение.Оперативная память хранит загруженную, выполняющуюся сей момент программу и данные, которые с ее обрабатываются. Если после обработки предполагается дальнейшее использование данных (это может быть и текстовой документ, и графическое изображение, и табличные данные, и звук), то копию этого документа из оперативной памяти можно записать на одном из устройств внешней памяти (например, на жестком диске), создав на жестком диске файл, хранящий документ.Как технически осуществить процесс загрузки нужной программы в оперативную память? Для этого нужна программа-посредник, посредник между “железом” и человеком. Такой программой является операционная система.Операционная система (ОС) тоже должна быть загружена в оперативную память, но ОС загружается автоматически при включении компьютера (обычно с жесткого диска, но не обязательно с него). После ее загрузки можно использовать инструменты, предназначенные для загрузки других программ (например, в MS Windows – ярлыки программ или программа для работы с файлами Проводник).
Основными характеристиками памяти являются объем, время доступа и плотность записи информации. Объем памяти определяется максимальным количеством информации, которая может быть помещена в эту память, и выражается в килобайтах, мегабайтах, гигабайтах. Время доступа к памяти (секунды) представляет собой минимальное время, достаточное для размещения в памяти единицы информации. Плотность записи информации (бит/см2) представляет собой количество информации, записанной на единице поверхности носителя. Важнейшей характеристикой компьютера в целом является его производительность, т.е. возможность обрабатывать большие объемы информации. Производительность ПК во многом определяется быстродействием процессора, а также объемом оперативной памяти и скоростью доступа к ней.
Оперативная память изготавливается в виде небольших печатных плат с рядами контактов, на которых размещаются интегральные схемы памяти (модули памяти). Модули памяти различаются по размеру и количеству контактов (SIMM или DIMM), по быстродействию, по объему.
Важнейшей характеристикой модулей оперативной памяти является быстродействие – частота, с которой считывается или записывается информация в ячейки памяти. Современные модули памяти имеют частоту 133 МГц и выше.Оперативная память состоит из огромного количества ячеек (десятки миллионов), в каждой из которых хранится определенная информация. От объема оперативной памяти зависит, сможет ли компьютер работать с той или иной программой. При недостаточном количестве памяти программы либо совсем не будут работать, либо будут работать медленно. Типичный современный компьютер1. Вспомните, как в используемом вами языке программирования
выделить в памяти массив A из N элементов и заполнить его нулями:
Место для ввода текста.
заполнить массив натуральными числами от 1 до N:
Место для ввода текста.
заполнить массив случайными числами в диапазоне [50,100]:
Место для ввода текста.
найти сумму всех элементов массива:
Место для ввода текста.
найти сумму чётных элементов массива:
Место для ввода текста.
найти количество отрицательных элементов массива:
Место для ввода текста.
найти максимальный элемент массива:
Место для ввода текста.
2. Представьте себе, что в кофейной чашке налит сок, а в стакане – кофе, и вы хотите, чтобы было наоборот. Что вы сделаете?
1)
2)
3)
3. Требуется поменять местами соседние элементы массива A, в котором чётное число элементов N. (1-й элемент меняется со 2-м, 3-й – с 4-м и т.д.) Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).
for i in range(N):
поменять местами A[i] и A[i+1]
Заполните пропуски в таблице:
Почему этот алгоритм не сработал так, как нужно:
Место для ввода текста.
Какая ошибка произошла на последнем шаге выполнения цикла:
Место для ввода текста.
4. Предложите другое решение задачи из предыдущего задания, записав нужные операторы в теле цикла.
i = 1
while i < N:
5. Требуется выполнить реверс массива, то есть переставить элементы массива из N элементов в обратном порядке, так чтобы первый элемент стал последним, а последний – первым. С каким элементом нужно поменять местами
элемент A[0] c
элемент A[1] c
элемент A[i] c
6. Требуется выполнить реверс массива A, в котором N элементов. Выполните вручную следующий алгоритм для массива {1, 2, 3, 4} (N = 4).
for i in range(N):
поменять местами A[i] и A[N-1-i]
Заполните пропуски в таблице:
Почему этот алгоритм не сработал так, как нужно:
Место для ввода текста.
7. Запишите в тетради операторы, которые нужно добавить в тело цикла для того, чтобы выполнить реверс массива. Для обмена используйте вс переменную с.
for i in range(N // 2):
8. Запишите в тетради другое решение задачи реверса, которое использует цикл с условием (пока, while):
Место для ввода текста.
9. Катя торопилась и написала такой алгоритм поиска значения X в массиве:
i = 0
while A[i] != X:
i += 1
print( "A[", i, "]=", X )
Проверьте, используя ручную прокрутку, правильно ли сработает алгоритм, если искать в массиве {1, 2, 3} число 2? число 4?
10. Запишите фрагмент программы для поиска номера минимального элемента массива (он должен быть записан в переменную nMin):
nMin = 0
for j in range( ):
if then
11. Запишите в тетради фрагмент программы, который меняет местами элементы A[i] и A[nMin]. Используйте вс переменную c.
Место для ввода текста.
12. Нарисуйте в тетради интеллект-карту параграфа «Обработка массивов»
13. В переменных записаны значения a = 1, b = 2 и с = 3. Как изменятся значения переменных после выполнении алгоритма:
a b c
1 2 3
c = a
b = a
a = c
Исправьте один символ в программе так, чтобы получился правильный алгоритм обмена значений переменных a и b.
c = a
b = a
a = c
14. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:
for i in range(N-1):
A[i] = A[i+1]
Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:
15. Что произойдет с массивом [1, 2, 3, 4] (N = 4) при выполнении следующего фрагмента программы:
for i in range(N-1):
A[i+1] = A[i]
Покажите, как меняются элементы массива и значение переменной i после выполнения каждого оператора:
16. Что произойдет с массивом [1, 2, 3, 4, 5, 6] (N = 6) при выполнении следующего фрагмента программы:
i = 0
while i < N-2:
c = A[i]
A[i] = A[i+1]
A[i+1] = A[i+2]
A[i+2] = c
i += 3
Покажите, как меняются элементы массива, а также переменные i и c после выполнения каждого оператора:
Объяснение: