Презентация - Массивы

4,945
просмотров

Текст этой презентации

Слайд 1

Массивы, слайд 1

Массивы

Слайд 2

Массивы, слайд 2

Определения
Массив – группа элементов одного типа, объединенных под общим именем. Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним. Особенности: все элементы имеют один тип весь массив имеет одно имя все элементы расположены в памяти рядом

Слайд 3

Массивы, слайд 3

Обычную книгу можно считать своего рода массивом. Почему?
Ответ: книга состоит из множества однотипных элементов – страниц, у каждой страницы есть номер (индекс), все страницы объединены под одним названием (название книги)

Слайд 4

Массивы, слайд 4

Дом также можно считать массивом. Почему?
Ответ: дому соответствует один почтовый адрес (город, улица, номер). Элементами дома можно считать квартиры, у каждой из которых есть номер (индекс).

Слайд 5

Массивы, слайд 5

Шахматную доску можно считать массивом. Почему?
Доска состоит из клеток, каждая клетка обозначается буквой и цифрой (двойной индекс).

Слайд 6

Массивы, слайд 6

Футбольную команду можно считать «массивом». Почему? Ответ: команда состоит из нескольких людей, у каждого из них есть номер (индекс).

Слайд 7

Массивы, слайд 7

Описание массивов
Массивы описываются в разделе описания переменных. Общий вид описания: <имя массива>: array [<начальный индекс>..<конечный индекс>] of <тип элемента>; Примеры: A : array [1..10] of real; Создается массив из действительных чисел (real), с нумерацией от 1 до 10 (всего 10 элементов).

Слайд 8

Массивы, слайд 8

Примеры
M : array [-5..5] of integer; Сколько элементов в этом массиве? Какого они типа? Как они нумеруются? Z : array [-8..-1] of integer; Сколько элементов в этом массиве? Какого они типа? Как они нумеруются? Mass : array [5..15] of integer; Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?

Слайд 9

Массивы, слайд 9

Использование элемента массива
Для использования элемента указывается имя массива и в квадратных скобках индекс этого элемента. Примеры: Read(A[1]); A[3]:=(2 * x + 6) mod 4; A[4]:=(A[1]+A[2]) div A[3]; Допустимые операции определяются типом элемента (элемент массива ничем не отличается от обычной переменной, кроме особенного написания имени).

Слайд 10

Массивы, слайд 10

Ввод массива
Пусть массив описан так: A : array [1..10] of real; Тогда для ввода массива можно использовать цикл: For i:=1 to 10 do read( A[i] ); Вопрос: почему не repeat или while? Вопрос: как будет выглядеть вывод всех элементов массива? Вывод первой половины массива? Вопрос: как изменится ввод массива, если описание будет таким: A : array [-8..8] of integer;

Слайд 11

Массивы, слайд 11

Массивы
Объявление: Ввод с клавиатуры: Поэлементные операции: Вывод на экран:
const N = 5; var a: array[1..N] of integer; i: integer;
for i:=1 to N do begin write('a[', i, ']='); read ( a[i] ); end;
a[1] = a[2] = a[3] = a[4] = a[5] =
5 12 34 56 13
for i:=1 to N do a[i]:=a[i]*2;
writeln('Массив A:'); for i:=1 to N do write(a[i]:4);
Массив A: 10 24 68 112 26

Слайд 12

Массивы, слайд 12

Заполнение массива случайными числами
«Случайным называется число, появление которого не связано ни с какой закономерностью. Например, случайным является число, выпадающее при бросании кубика для игры в кости. А сам кубик можно рассматривать как генератор случайных чисел. Во всех языках программирования реализованы генераторы случайных чисел.

Слайд 13

Массивы, слайд 13

В Паскале для «включения» генератора случайных чисел используется функция Randomize, а само случайное число можно получить, если использовать функцию Random. Например: у:=Random(x); Здесь у — целое случайное число в интервале от 0 до х— 1, х — целое число, задающее верхнюю границу интервала случайных чисел. Чтобы получить случайное число в интервале от А до В (А < В), надо использовать следующее присваивание: у:=Random(B-A+l)+A;

Слайд 14

Массивы, слайд 14

Заполнить массив М, состоящий из 9 элементов случайными числами в интервале от 50 до 150 и вывести его на экран.
program qq; var М: array [1..9] of integer; i: integer; begin writeln('Исходный массив:'); for i:=1 to 9 do begin M[i] := random(100) + 50; write( M[i]:4); end; end.
Заполнение массива случайными числами

Слайд 15

Массивы, слайд 15

Заполнение массива константами
элементы массива — константы. В этом случае заполнение происходит в разделе const. В этом разделе после описания массива надо в круглых скобках через запятую указать конкретные значения элементов. Например, рассмотрим такую задачу: заполнить массив К[8] константами: 4, 6, 90, 23, 56, 79, 34, 12. Решение будет таким: const К: array[1..8] of Integer = (4, 6, 90, 23, 56, 79, 34, 12); Вывод массива осуществляется в самой программе так же, как было рассмотрено ранее

Слайд 16

Массивы, слайд 16

Заполнение массива константами
program qq; сonst М: array [1..8] of integer=(4, 6, 90, 23, 56, 79, 34, 12); var i: integer; begin writeln('Исходный массив:'); for i:=1 to 8 do begin write(‘M[', i, ']=‘,M[i]:4); end; end.

Слайд 17

Массивы, слайд 17

Заполнение массива, элементы которого связаны некоторой закономерностью
элементы массива связаны некоторым законом. Например, элементы массива — нечетные положительные числа от 1 до 23, т. е. массив состоит из чисел 1, 3, 5, 7, 9, ... , 23, т.е.значение элемента связано с его индексом по закону: М[i] = 2*i—1 для I от 1 до 12. Количество элементов такого массива можно посчитать по формуле: n = (23 — 1)/2 + 1. Элементы массива — положительные четные числа, то используется другое соотношение: М[i] = 2*i, количество элементов вычисляется аналогично.

Слайд 18

Массивы, слайд 18

Заполнить массив нечетными целыми числами в интервале от 1 до 41 и вывести его на экран. В этой задаче надо посчитать количество элементов массива по формуле n = (41-1)/2 + 1 = 21. Остальное решение не требует пояснения, и можно сразу написать программу:
Program prog8; uses Crt; var b: array[1..21] of Integer; j: Integer; Begin ClrScr; for j:=1 to 21 do b[j]:=2*j-1 for j:=1 to 21 do Write(b[j], ' '); Readln; end.

Слайд 19

Массивы, слайд 19

Задача. Дано 5 целых чисел. Опишите алгоритм (программу) нахождения наибольшего среди них.

Слайд 20

Массивы, слайд 20

Пример программы без использования массивов
program Maximum; var a,b,c,d,e : integer; begin read(a,b,c,d,e); if (a>=b) and (a>=c) and (a>=d) and (a>=e) then write(a); if (b>=a) and (b>=c) and (b>=d) and (b>=e) then write(b); if (c>=a) and (c>=b) and (c>=d) and (c>=e) then write(a); if (d>=a) and (d>=b) and (d>=c) and (d>=e) then write(a); if (e>=a) and (e>=b) and (e>=c) and (e>=d) then write(a); end. Вопрос: как изменится программа, если чисел станет 10? Вопрос: как изменится программа, если чисел станет 1000?

Слайд 21

Массивы, слайд 21

Пример программы с использованием массива
program Maximum; var A : array [1..5] of integer; i, max : integer; begin for i:=1 to 5 do read( A[i] ); max:= A[1]; for i:=2 to 5 do if A[i] > max then max:= A[i]; write(max); end. Вопрос: как изменится программа, если чисел станет 10? Вопрос: как изменится программа, если чисел станет 1000? Вопрос: как изменится программа, если числа будут действительными?

Слайд 22

Массивы, слайд 22

Что такое массив? Что такое элемент массива? Что такое индекс массива? Что такое размерность массива? Как можно обратиться к ячейке массива? Какого типа могут быль элементы массива? Какого типа может быть индекс массива? Как объявить массив? Как заполнить массив с клавиатуры.? (запишите блок ввода массива) Как заполнить массив случайными числами? (запишите блок ввода массива) Напишите программу нахождения суммы элементов массива. Напишите программу нахождения произведения элементов стоящих на четных местах.