№ | Слайд | Текст |
1 |
 |
МассивыПрограммирование на Basic |
2 |
 |
МассивыМассив – это набор однотипных данных (чисел, символов, слов), которые хранятся в одном месте памяти компьютера в упорядоченных по номерам ячейках. Массив имеет: - Имя - Тип (%- целочисленный, $ - символьный, без знака – вещественный) - Размерность – количество элементов Индекс – номер элемента Каждый элемент массива в общем виде описывается как В(I), где В - имя массива I – номер или индекс элемента массива |
3 |
 |
Основные определенияМассивом называется упорядоченная совокупность однородных величин, обозначенных каждая одним и тем же именем с различными целочисленными индексами, изменяющимися по порядку. Массив - это набор однородных данных (чисел, символов, слов). Одномерный массив Двумерный массив Трехмерный массив |
4 |
 |
Если адрес элемента массива определяется одним индексом, то такоймассив называется одномерным. Массивы бывают и многомерными. Примеры: Двумерный массив (координата точки на плоскости) Одномерный массив (координата точки на числовой прямой) Трёхмерный массив (координата точки в пространстве) |
5 |
 |
Одномерный массивОдномерный массив можно рассматривать как список однотипных элементов. Например, список фамилий студентов группы – одномерный массив, численные данные о средней температуре за месяц - одномерный массив, буквы русского алфавита - одномерный массив. В Бейсике элементы массива располагаются в последовательных ячейках памяти. Это означает, что массив занимает непрерывную область памяти. Прежде чем мы сможем обращаться к массиву из программы, надо указать, сколько памяти необходимо для размещения массива. Всему массиву, определяется объемом памяти, занимаемым одним элементом массива умноженным на число элементов в массиве. Поэтому нужно указать максимальное число элементов массива. В Бейсике фирмы Microsoft описание размера массива делается с помощью оператора DIM, который имеет следующий синтаксис: DIM имя массива (максимальное число элементов массива) Например: DIM S(5) S имя массива, 5- максимальное число элементов массива, DIM M(25) M имя массива, 25- максимальное число элементов массива. |
6 |
 |
Присваивание значений элементам массива1 способ (заполнение массива с помощью оператора присваивания) CLS 10 DIM S(5) в этой строке объявлен массив с именем S и пятью элементами 11 S(1)=53 12 S(2)=31 13 S(3)=-32 в этих строках элементам массива присваиваются значения 14 S(4)=44 15 S(5)=-23 16 PRINT "S(1) равно " ; S(5) 17 PRINT "S(2) равно " ; S(4) 18 PRINT "S(3) равно " ; S(3) в этих строках на экран последовательно 19 PRINT "S(4) равно " ; S(2) выводятся значения элементов массива 20 PRINT "S(5) равно " ; S(1) Результаты работы этой программы будут выглядеть так: 53 31 -32 44 -23 |
7 |
 |
Присваивание значений элементам массива2 способ (заполнение массива с помощью оператора ввода CLS INPUT “Введите количество элементов массива”; N DIM A(N) FOR I =1 TO N PRINT “Введите”; i ; “элемент массива” INPUT A(I) NEXT I FOR I=1 TO N PRINT A(I) NEXT I Результаты работы программы для 3-х элементов будут выглядеть так: Введите 1 элемент массива ? 23 Введите 2 элемент массива ? -54 Введите 3 элемент массива ? 21 23 -54 21 |
8 |
 |
Присваивание значений элементам массива3 способ (заполнение массива с помощью оператора DATA ) CLS DATA 23, 13, 98, -8, 7 DIM M(5) FOR I=1 TO 5 READ M(I) PRINT M(I) NEXT I Результаты работы этой программы будут выглядеть так: 23 13 98 -8 7 |
9 |
 |
Присваивание значений элементам массива4 способ (заполнение массива с помощью генератора случайных чисел) DIM S(IOO) FOR i=1 ТО 100 s(i) = 1+INT(1000*RND) NEXT i |
10 |
 |
Подведём итогПеред тем как начать работать с массивом, нужно зарезервировать для него место в памяти. Для этого имеется оператор DIM (от английского слова dimention –объём, величина, размер, измерить) Пример. DIM А(10) Обычно говорят, что зарезервировано место под 10 элементов массива А, однако в самом деле резервируется 11, т.к. нумерация ячеек начинается с 0. Но так как нам привычнее начинать считать с 1, то первая («нулевая») ячейка просто-напросто не используется. Способы заполнения одномерных массивов Непосредственное С клавиатуры Заранее известными При помощи присваивание значениями стандартных функций значений элементам DIM D(3) INPUT “N =“, N DATA 23, -13, 9.8, 77, 45 RANDOMIZE TIMER D(1)=12.6 DIM M(N) DIM M(5) INPUT «N=»; N D(2)=5.96 FOR I = 1 TO N FOR I = 1 TO 5 DIM M(N) D(3)=98 INPUT M(I) READ M(I) FOR I = 1 TO N NEXT I NEXT I M(I) = INT(RND(1)*100) NEXT I |
11 |
 |
Задачи1. Подсчитайте произведение элементов массива. 2. Вычислите значения функции Y=X*X для X=2,4,6,8,...,36 и разместите их в одномерном массиве Y. 3. Измените порядок значений элементов массива на обратный. 4. "Сожмите" числовой массив, выбросив из него отрицательные числа. 5. Задан массив и некоторое число. Найти, на каком месте расположено число в массиве. 6. Напечатайте первую сотню простых чисел. 7. Поверните квадратный массив на 90, 180, 270 градусов по часовой стрелке. 8. Выясните, есть ли одинаковые числа в одномерном массиве, в двумерном массиве. 9. Подсчитайте количество уникальных чисел в массиве. 10. Задан массив чисел. Замените каждое число суммой предыдущих: а) включая заменяемое; б) исключая заменяемое. |
12 |
 |
Задачи11. Задан одномерный массив из 10 элементов. Увеличить положительные числа в 3 раза, уменьшить отрицательные в 2 раза. 12. Задан массив из N элементов. Определить максимальный элемент. 13. Определить сумму элементов с четным индексом. 14. Определить y, если x=x1,x2,x3...x10: y=2*x2-4*x+sin2x 15. Заданы два одномерных массива. Напечатать все элементы массивов, полученных путем суммирования и вычитания элементов исходных массивов с одинаковыми индексами. 16. Заполнить данную таблицу элементами, значения которых равны их удвоенному порядковому номеру. 17. Составить программу замены отрицательных элементов таблицы их квадратами. 18. Написать программу удвоения каждого элемента одномерного массива. 19. Написать программу переписи элементов одного одномерного массива в другой. 20. Дана целочисленная таблица. Изменить все элементы этой таблицы на противоположные по знаку. |
13 |
 |
Задачи21. Найти заданный элемент в одномерном массиве. Напечатать индекс найденного элемента. 22. Написать программу для определения сколько раз число 10 встречается среди элементов одномерного массива. 23. Найдите количество элементов этой таблицы, больших среднего арифметического всех ее элементов. 24. Найти наименьший элемент одномерного массива. 25. Найти наибольший элемент одномерного массива. 26. Найти наименьший элемент двумерного массива. 27. Найти наибольший элемент двумерного массива. |
14 |
 |
INPUT “размер массива”;N DIM S(N) P=1 FOR i=1 ТО N S(i) =INT(RND(1)*10) P=P*S(i) NEXT i PRINT “Массив” FOR i=1 ТО N PRINT S(i); NEXT I PRINT “Произведение элементов”;P END 1. Подсчитайте произведение элементов массива. |
15 |
 |
DIM Y(18) FOR x=2 ТО 36 STEP 2 i=x/2 Y(i) = X*X NEXT x PRINT “Массив”FOR i=1 ТО 18 PRINT Y(i); NEXT I END 2. Вычислите значения функции Y=X*X для X=2,4,6,8,...,36 и разместите их в одномерном массиве Y. |
16 |
 |
3. Измените порядок значений элементов массива на обратный |
17 |
 |
4. "Сожмите" числовой массив, выбросив из него отрицательные числаINPUT “размер массива”; N DIM A(N) K=0 FOR i=1 TO N PRINT “введите”;i;“элемент массива” INPUT a(i) IF a(i)<0 THEN K=K+1 NEXT i M=N-K DIM B(M) FOR j=1 TO M i=j WHILE a(i)<0 i=i+1 WEND b(j)=a(i) NEXT j PRINT “старый массив” FOR i=1 TO N PRINT a(i): NEXT i PRINT “новый массив” FOR j=1 TO M PRINT b(j); NEXT j |
18 |
 |
INPUT “число”;C INPUT “размер массива”; N DIM A(N) PRINT “массив” FORi=1 TO N A(i)=INT(RND(1)*100) IF A(i)=C THEN K=I PRINT A(i); NEXT i PRINT “элемент массива равный числу”;С;”расположен на”;K;”месте” 5. Задан массив и некоторое число. Найти, на каком месте расположено число в массиве. |
19 |
 |
6. Напечатайте первую сотню простых чиселDIM A(100) |
20 |
 |
7. Поверните квадратный массив на 90, 180, 270 градусов по часовойстрелке. |
21 |
 |
8. Выясните, есть ли одинаковые числа в одномерном массиве, вдвумерном массиве. |
22 |
 |
9. Подсчитайте количество уникальных чисел в массиве |
23 |
 |
10Задан массив чисел. Замените каждое число суммой предыдущих: а) включая заменяемое; б) исключая заменяемое. |
24 |
 |
DIM X(10),Y(10) FOR i=1 TO 10 X(i)=INT(RND(1)*10)Y(i)=2*X(i)^2-4*X(i)+SIN(X(i))^2 ?X(i);Y(i) NEXT i END 14. Определить y, если x=x1,x2,x3...x10: y=2*x2-4*x+sin2x |
25 |
 |
INPUT N,M DIM A(N,M) FOR i=1 TO N FOR j=1 TO M A(ij)=INT(RND(1)*10)*(-1)^(INT(RND(1)*10) ?A(i,j); IF A(i,j)<0 THEN A(i,j)=A(i,j)^2 NEXT j NEXT i FOR i=1 TO N FOR j=1 TO M ?A(i,j); NEXT j NEXT i END 17. Составить программу замены отрицательных элементов таблицы их квадратами. |
26 |
 |
INPUT “размер массива”; N DIM A(N) PRINT “массив”; “удвоенный массив”FOR i=1 TO N a(i)=int(rnd(1)*100) PRINT a(i),a(i)*2 NEXT i 18. Написать программу удвоения каждого элемента одномерного массива. |
27 |
 |
INPUT “размер массива”; N DIM A(N) K=0 FOR i=1 TO Na(i)=int(rnd(1)*100) IF a(i)=10 THEN K=K+1 PRINT a(i); NEXT I PRINT “количество элементов равных 10”;K END 22. Написать программу для определения сколько раз число 10 встречается среди элементов одномерного массива. |
28 |
 |
24Найти наименьший элемент одномерного массива. INPUT N DIM A(N) FOR i=1 TO N A(i)=INT(RND(1)*10) NEXT i K=1 MIN=A(1) FOR i=2 TO N IF A(i)<MIN THEN MIN=A(i) : K=i NEXT i ? “Массив” FOR i=1 TO N ?A(i); NEXT i ? “Минимальный элемент массива”;MIN; “расположен на”;K; “месте” END |
29 |
 |
|
«Детская 1 класс больше на некоторое число» |
http://900igr.net/prezentacija/informatika/detskaja-1-klass-bolshe-na-nekotoroe-chislo-259533.html