Программирование. Массивы. В помощь учащимся 10

Download Report

Transcript Программирование. Массивы. В помощь учащимся 10

массивы

Теоретические сведения.

Примеры решения задач.

Задания для самостоятельного выполнения.

Массив

Набор однородных данных (чисел, символов, слов), имеющий имя и последовательную нумерацию элементов.

Список учеников класса.

Буквы алфавита.

Данные о среднесуточной температуре.

Описание массива

Объявление массива в программе производится с помощью оператора

DIM.

Пример:

DIM A(4)

Имя массива Количество элементов Компьютер отводит в памяти область для 4 элементов, которую называет «А». Кроме того, эти ячейки нумеруются.

А № 1 № 2 № 3 № 4

Оператор описания каждого конкретного массива должен задаваться только один раз в программе до первого к нему обращения.

У массива есть имя.

У массива есть тип (числовые или символьные данные).

У массива есть размер (количество составляющих элементов).

У массива есть индексация (нумерация элементов).

У каждого элемента массива есть значение.

Заполнение одномерных массивов и вывод их на экран.

имя массива номер элемента массива количество элементов массива

Заполнение одномерных массивов и вывод их на экран.

Программа стала несколько короче, т. к. в этом случае можно совместить чтение данных из DАТА и одновременный вывод их на экран — ведь пользователь освобожден от необходимости вводить данные с клавиатуры. Мы сразу увидим массив на экране.

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

Заполнение одномерных массивов и вывод их на экран.

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

Ответьте на вопросы:

Какой из операторов резервирует место в памяти под элементы массива? В каком месте программы и как он записывается?

Что обозначают переменнные

I

записи

Dim A(N), S=S+A(I)

?

и

N

в Сколько способов формирования массива вы знаете ? В каком случае выгодно применять тот или иной способ?

Пример обработки одномерных массивов.

Нахождение суммы элементов.

Задача: Заполните массив 10 случайными целыми числами из промежутка от -5 до 5 , выведите элементы массива на печать и найдите сумму элементов массива.

Cls Dim A(10) For I =1 to 10 A(I)= INT(RND(1)*11)-5) ? A(I) S=S+A(I) Next I Print “сумма-”;S End

Решите задачи:

Задача 1.

1.

Создайте массив из 20 целых случайных чисел из промежутка от 15 до 15.

2.

3.

Найдите количество чётных элементов.

Выведите массив и чётные элементы на печать.

Задача 2.

1.

Создайте массив из 20 целых случайных чисел из промежутка от 10 до 10.

2.

Найдите количество элементов равных нулю.

3.

Выведите массив и элементы не равные нулю (<>) на печать.

Нахождение меньшего (большего) элемента.

Заполните массив 10 случайными целыми числами из промежутка от -5 до 5 , выведите элементы массива на печать и

найдите меньший из элементов.

Dim A(10) For I=1 to 10 A(I)= INT(RND*(5+5+1)-5) ? A(I); Next I MIN=A(1) For I=2 to 10 If A(I)

Использование нескольких массивов в одной программе

Если в программе используется несколько массивов, то они могут быть описаны через запятую, например: DIM X(10), Y(10), Z(20) Решите задачу.

Даны 2 массива, заполненные каждый 10 случайными целыми числами, каждое из которых от 1 до 9 включительно. Сложите массивы поэлементно, результаты запишите в третий массив. На экран вывести все три массива.

Двумерные массивы

Набор однотипных данных, местоположение каждого элемента которого определяется не одним индексом, а двумя. Пример применения двумерных массивов — билеты в кино или театр, имеющие для каждого зрителя две координаты — ряд и место.

Описываются тем же оператором DIM, после которого в скобках указываются две размерности массива — количество строк и количество столбцов. Например, массив 3 на 5: Х (1,1) Х(1,2) Х(1,3) Х(1,4) Х(1,5) Х (2,1) Х (2,2) Х (2,3) Х (2,4) Х (2,5) Х (3,1) Х (3,2) Х (3,3) Х (3,4) Х (3,5)

Заполнение двумерных массивов и вывод их на экран

В обработке двумерных массивов есть своя специфика — использование вложенных циклов.

Заполним двумерный массив Х(З, 5) целыми случайными числами, лежащими в интервале от 1 до 20 и выведем массив на экран в виде таблицы .

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

Решите задачу:

Дан двумерный массив 5х5.

Определите сумму элементов каждой строки. Замените элементы главной диагонали нулями.

Замените элементы, стоящие ниже главной диагонали нулями

Решите задачу:

Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы: FOR n=1 TO 5 FOR k=1 TO 5 B(n, k)=n+k NEXT k NEXT n Чему будет равно значение B(2,4)?

1)9 2)8 3)7 4)6

Опишите на русском языке или на одном из языков программирования алгоритм поиска второго по величине (т.е. следующего по величине за максимальным) элемента в числовом массиве из 30 различных элементов.

N=30 DIM a(N) Max1=a(1) Max2=a(1) IF a(2)>Max1 THEN Max1=a(2) ELSE Max2=a(2) FOR i = 3 TO N IF a(i)>Max1 THEN Max2=Max1 Max1=a(i) ELSE IF a(i)>Max2 THEN Max2=a(i) NEXT i PRINT Max2 END