Практические, проверочные и
домашние работы
pdf
Практическая работа
25 "Обработка одномерных массивов"
|
После того, как массив описан
и сформирован одним, следует приступить к главному этапу при решении
задач - обработке массивов.
Обработкой массива называется последовательность действий над его
элементами, соответствующая алгоритму решения задачи.
Основными задачами,
требующими обработки массивов, являются:
-
задачи
поиска;
-
задачи
статистической обработки;
-
задачи
перестановки;
-
задачи
изменения по правилам;
-
задачи
сортировки (упорядочивания).
Рассмотрим
некоторые задачи первых четырёх типов.
Пример 1. Задан произвольный массив двузначных чисел размером 20.
Подсчитать число элементов этого массива, значения которых больше
заданного числа P.
rem Описываем массив:
dim A(20)
rem Задаём число:
input 'Введите
двузначное число P', P
rem Заполняем и распечатываем массив случайных
двузначных чисел:
for I = 0 to
19
A[I] =
int(rand*(99-10)+10)
print
A[I];
print
" ";
next
I
rem Заводим и обнуляем переменную для хранения
счётчика элементов:
S = 0
rem Подсчитываем количество элементов с
заданным свойством:
for I = 0 to
19
if
A[I] > P then S = S + 1
next
I
rem Распечатываем число элементов с заданным
свойством:
print
'Число элементов массива, больших числа P, = ';
print S
Пример 2. Сколько
шагов от школы до дома? Это случайная величина, зависящая от различных
условий (настроение, направление, скорость и т.д.). Если провести,
например, 10 измерений, получится массив A значений этой случайной
величины, среднее арифметическое которых и будет приближённым к истине
решением задачи. Требуется заполнить массив результатами десяти
измерений (ввод с клавиатуры) и найти среднее арифметическое элементов
массива.
rem Описываем массив:
dim A(10)
rem Заполняем массив:
for I = 0 to
9
input
'Очередное измерение - ',
A
next I
rem Заводим и обнуляем переменную для хранения
суммы:
S = 0
for I = 0
to 9
S = S + A[I]
next I
rem Вычисляем среднее арифметическое:
S = S/10
rem Распечатываем результат:
print 'Средее арифм. = ';
print S
Пример 3. Найти наибольший элемент произвольного двумерного
массива.
input 'Введите
количество строк массива M',
M
input 'Введите
количество столбцов массива N',
N
dim W(M,
N)
input 'Введите
нижнюю границу интервала A', A
input 'Введите
верхнюю границу интервала В', В
rem Заполнение
и распечатка произвольного массива:
for I =
0 to
M-1
for J =
0 to
N-1
W[I,J] =
int(rand*(B-A)+A)
print W[I,J];
next
J
print
next I
rem Поиск максимального
элемента:
max = W[0,0]
for I =
1 to
M-1
for
J =
0 to
N-1
if
W[I,J] > max
then
max = W[I,J]
end if
next
J
next I
print
print
'Наибольший элемент массива =
';
print max
Пример 4. В произвольном массиве целых чисел поменять местами
первый и последний элементы.
input
'Введите размер массива N',
N
input
'Введите нижнюю границу интервала A', A
input 'Введите
верхнюю границу интервала В', В
dim
W(N)
print
"Исходный
массив:"
for I =
0 to
N-1
W[I] =
int(rand*(B-A)+A)
print W[I];
print " ";
next I
print
" "
G = W[0]
W[0] = W[N-1]
W[N-1] = G
print
"Преобразованный
массив:"
for I =
0 to
N-1
print W[I];
print " ";
next I
Пример 5. В
произвольном массиве целых чисел удвоить все чётные элементы.
input 'Введите размер массива N',
N
input
'Введите нижнюю границу интервала A', A
input 'Введите
верхнюю границу интервала В', В
dim
W(N)
print
"Исходный
массив:"
for I =
0 to
N-1
W[I] =
int(rand*(B-A)+A)
print W[I];
print " ";
next I
print
" "
for I =
1 to
N-1 step 2
W[I] =
2*W[I]
next I
print
"Преобразованный
массив:"
for I =
0 to
N-1
print W[I];
print " ";
next I
САМОСТОЯТЕЛЬНАЯ (ДОМАШНЯЯ) РАБОТА
-
Одномерный массив размера 10 задан целыми случайными числами из
интервала [-21;15]. Подсчитать количество всех нулевых элементов
массива.
-
Двумерный массив размера 5х6
составлен из чисел, в которых не более двух знаков. Подсчитать
количество отрицательных элементов и поменять все знаки на обратные.
|
Приложения
И.Г. Семакин и др. 43 [2]
|