Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемmarinasch.files.wordpress.com
1 массивы Теоретические сведения. Примеры решения задач. Задания для самостоятельного выполнения.
2 Массив Набор однородных данных (чисел, символов, слов), имеющий имя и последовательную нумерацию элементов. Список учеников класса. Буквы алфавита. Данные о среднесуточной температуре.
3 В программах на языке Basic можно пользоваться таблицами. Таблицы в программировании называются массивами.
4 Массив – это набор однотипных элементов, обозначенных одним именем. В языке Basic для объявления массива используется оператор Dim
5 Описание массива Объявление массива в программе производится с помощью оператора DIM. Пример: DIM A(4) Имя массива Количество элементов Компьютер отводит в памяти область для 4 элементов, которую называет «А». Кроме того, эти ячейки нумеруются А
6 Dim a(10) Dim a%(21) Dim a$(34) символьные ЦЕЛЫЕ ВЕЩЕСТВЕННЫЕ
7 Оператор описания каждого конкретного массива должен задаваться только один раз в программе до первого к нему обращения. У массива есть имя. У массива есть тип (числовые или символьные данные). У массива есть размер (количество составляющих элементов). У массива есть индексация (нумерация элементов). У каждого элемента массива есть значение.
8 В языке Basic различают одномерные и двумерные массивы. Одномерный массив называется вектором. Каждый элемент имеет порядковый номер или индекс.
9 а(1)а(2)а(3)а(4)а(5)а(10) элемента Значение элемента Обозначение элемента массива
10 Двумерный массив представляет собой матрицу. Матрица состоит из нескольких строк и столбцов. Каждый элемент матрицы имеет две координаты: номер строки и номер столбца.
11 Различают квадратные и прямоугольные матрицы. Квадратной называется матрица, у которой количество строк равно количеству столбцов. Прямоугольной называется матрица, у которой количество строк и столбцов различны.
12 а(1, 2) а(2, 4) а(4,3)
13 ОДНОМЕРНЫЕ МАССИВЫ FOR i=1 to 10 INPUT «a(i)»; a(i) Next I FOR i=1 to 10 PRINT a(i); Next i Ввод элементов массива Вывод массива на экран
14 k=k+1 – количество p=p * a(i) – произведение s=s+a(i) - сумма
15 a(i) mod 2 = 0 четный a(i) mod 2 0 нечетный a(i) mod 3 = 0 кратный 3
16 Чтобы заполнить массив данными существует несколько способов: непосредственное присваивание значений элементам; генерация и присваивание значений с помощью функции random; ввод значений элементов с клавиатуры; чтение значений командой READ из оператора DATA.
17 * Заполнить значениями массив из 10 элементов с клавиатуры. 10 DIM A(10) 20 FOR I=1 TO PRINT "введите ";I;" элемент " 40 INPUT A(I) 50 NEXT I * Сгенерировать массив из 20 элементов со значениями в интервале [0,50]. 10 DIM B(20) 15 RANDOMIZE TIMER 20 FOR I=1 TO B(I)=INT(RND(1)*50+50) 50 NEXT I
18 20 FOR I=1 TO 6 40 READ С(I) 50 NEXT I 60 DATA 10,-13.5,40,- 11,33,-9.12
19 Заполнение одномерных массивов и вывод их на экран. - номер элемента массива - имя массива - количество элементов массива
20 Заполнение одномерных массивов и вывод их на экран. Программа стала несколько короче, т. к. в этом случае можно совместить чтение данных из DАТА и одновременный вывод их на экран ведь пользователь освобожден от необходимости вводить данные с клавиатуры. Мы сразу увидим массив на экране. Этот способ экономичней первого, и, кроме того, при отладке программы нет нужды всякий раз заново вводить данные.
21 Заполнение одномерных массивов и вывод их на экран. Так как чаще мы решаем учебные задачи, то конкретные число- вые или строковые значения элементов массива нас мало интересуют. Важно, чтобы программа работала правильно. Поэтому часто массив заполняется случайными значениями.
22 Ответьте на вопросы: Какой из операторов резервирует место в памяти под элементы массива? В каком месте программы и как он записывается? Что обозначают переменнные I и N в записи Dim A(N), S=S+A(I) ? Сколько способов формирования массива вы знаете ? В каком случае выгодно применять тот или иной способ?
23 Пример обработки одномерных массивов. Нахождение суммы элементов. Задача: Заполните массив 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
24 Решите задачи: Задача Создайте массив из 20 целых случайных чисел из промежутка от -15 до Найдите количество чётных элементов. 3. Выведите массив и чётные элементы на печать. Задача Создайте массив из 20 целых случайных чисел из промежутка от -10 до Найдите количество элементов равных нулю. 3. Выведите массив и элементы не равные нулю () на печать.
25 Нахождение меньшего (большего) элемента. Заполните массив 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)
26 Использование нескольких массивов в одной программе Если в программе используется несколько массивов, то они могут быть описаны через запятую, например: DIM X(10), Y(10), Z(20) Решите задачу. Даны 2 массива, заполненные каждый 10 случайными целыми числами, каждое из которых от 1 до 9 включительно. Сложите массивы поэлементно, результаты запишите в третий массив. На экран вывести все три массива.
27 Двумерные массивы Набор однотипных данных, местоположение каждого элемента которого определяется не одним индексом, а двумя. Пример применения двумерных массивов билеты в кино или театр, имеющие для каждого зрителя две координаты ряд и место. Описываются тем же оператором 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)
28 Заполнение двумерных массивов и вывод их на экран В обработке двумерных массивов есть своя специфика использование вложенных циклов. Заполним двумерный массив Х(З, 5) целыми случайными числами, лежащими в интервале от 1 до 20 и выведем массив на экран в виде таблицы. При выводе массива во внутреннем цикле после оператора PRINT стоит точка с запятой - массив отображается построчно. Оператор PRINT без параметров, указанный после внутреннего цикла, позволяет после вывода каждой строки элементов массива, переводить курсор на новую строчку.
29 Решите задачу: Дан двумерный массив 5х5. Определите сумму элементов каждой строки. Замените элементы главной диагонали нулями. Замените элементы, стоящие ниже главной диагонали нулями
30 Решите задачу: Значения двумерного массива задаются с помощью вложенного оператора цикла в представленном фрагменте программы: FOR n=1 TO 5 FOR k=1 TO 5 B(n, k)=n+k NEXT k NEXT n Чему будет равно значение B(2,4)? 1)92)8 3)74)6
31 Опишите на русском языке или на одном из языков программирования алгоритм поиска второго по величине (т.е. следующего по величине за максимальным) элемента в числовом массиве из 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
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.