Информатика и ИКТ
Школьный интернет-учебник М.А. и М.В. Выграненко

Тема 9: Алгоритмы и исполнители (30 часов)

Урок ? 23(67): Обработка массивов в Вasic-256

Практические, проверочные и домашние работы

pdf
Практическая работа 25 "Обработка одномерных массивов"

После того, как массив описан и сформирован одним, следует приступить к главному этапу при решении задач - обработке массивов.

Обработкой массива называется последовательность действий над его элементами, соответствующая алгоритму решения задачи.

Основными задачами, требующими обработки массивов, являются:

  1. задачи поиска;

  2. задачи статистической обработки;

  3. задачи перестановки;

  4. задачи изменения по правилам;

  5. задачи сортировки (упорядочивания).

Рассмотрим некоторые задачи первых четырёх типов.

Пример 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

САМОСТОЯТЕЛЬНАЯ (ДОМАШНЯЯ) РАБОТА

  1. Одномерный массив размера 10 задан целыми случайными числами из интервала [-21;15]. Подсчитать количество всех нулевых элементов массива.

  2. Двумерный массив размера 5х6 составлен из чисел, в которых не более двух знаков. Подсчитать количество отрицательных элементов и поменять все знаки на обратные.

Приложения

И.Г. Семакин и др.  43 [2]

Начало \ Программа 8-9 \ Тема 9 \ Урок 23(67)


При использовании материалов сайта просьба соблюдать приличия
© М.А. и М.В. Выграненко, 2009-2016

Рейтинг@Mail.ru