Структурированные типы. Массив

Содержание

Слайд 2

Массив совокупность данных одного и того же типа, занимающих непрерывную область

Массив

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

Число элементов массива фиксируется при описании типа и в процессе выполнения программы не изменяется
Слайд 3

Формат описания массива: имя_массива : array [ список_индексов ] of тип_данных

Формат описания массива:
имя_массива : array [ список_индексов ] of тип_данных ;
где:

имя_массива — любой допустимый идентификатор;
• тип_данных — любой тип языка.
• список_индексов — перечисление диапазонов изменения номеров элементов массива; количество диапазонов совпадает с количеством измерений массива; диапазоны отделяются друг от друга запятой, а границы диапазона, представляющие собой интервальный тип данных, отделяют друг от друга двумя символами точки:
[ индекс1_нач . . индекс1_кон , индекс2_нач . . индекс2_кон , . . . ]
Слайд 4

Например: var //Одномерный массив из 10 целых чисел. a : array

Например:
var
//Одномерный массив из 10 целых чисел.
a : array [ 1 .

. 10 ] of byte ;
//Двумерный массив вещественных чисел (3 строки, 3 столбца).
b : array [ 1 . . 3 , 1 . . 3 ] of real ;
Слайд 5

Для доступа к элементу массива достаточно указать его индекс, а если

Для доступа к элементу массива достаточно указать его индекс, а если

массив многомерный (например таблица), то несколько номеров:
имя_массива[номер_элемента]
Например: a[5], b[2, 1], M[3, 2, 4].
Слайд 6

Использование языка Free Pascal для обработки массивов

Использование языка Free Pascal для обработки массивов

Слайд 7

Для описания массива можно использовать предварительно определённые константы: const n=10; m=12;

Для описания массива можно использовать предварительно определённые константы:
const
n=10;
m=12;
var
a : array [

1 . . n ] of real ;
b : array [ 0 . .m] of byte ;
Константы должны быть определены до использования, так как массив не может быть переменной длины!
Слайд 8

Операции над массивами Для работы с массивом как с единым целым

Операции над массивами

Для работы с массивом как с единым целым надо

использовать имя массива (без указания индекса в квадратных скобках). Для доступа к элементу массива необходимо указать имя массива и в квадратных скобках индекс элемента массива, например x[1], y[5], c[25], А[8].
Слайд 9

В языке Free Pascal определена операция присваивания для массивов, идентичных по

В языке Free Pascal определена операция присваивания для массивов, идентичных по

структуре (с одинаковыми типами индексов и компонентов). Например, если массивы C и D описаны как
var C,D: array [ 0 . . 3 0 ] of real ;
то можно записать оператор
C:=D;
Слайд 10

Выполнение любой другой операции над массивом надо организовывать поэлементно, для чего

Выполнение любой другой операции над массивом надо организовывать поэлементно, для чего

необходимо организовать цикл, в котором последовательно обрабатывать элементы массива; сначала обрабатываем первый элемент массива, затем второй, третий,. . . , n-й. Для обработки элементов массива удобно использовать цикл for..do.
Слайд 11

Ввод-вывод элементов массива //Ввод элементов массива X с помощью цикла for.

Ввод-вывод элементов массива

//Ввод элементов массива X с помощью цикла for.
var
x :

array [ 1 . . 1 0 ] of real ;
i , n : integer ;
begin
for i :=1 to 10 do
begin
write ( ’ x ( ’ , i , ’)= ’ ) ; readln ( x [ i ] ) ;
end;
end.
Слайд 12

Ввести 10 чисел и найти минимальное. program minim; uses crt; var

Ввести 10 чисел и найти минимальное.

program minim;
uses crt;
var
a:array [1..10] of integer;
min,i:

integer;
begin
clrscr;
for i:=1 to 10 do
readln(a[i]); //ввод элементов массива
min:=a[1];
for i:=2 to 10 do
begin
if a[i]end;
writeln('Минимальный элемент массива= ',min);
end.
Слайд 13

Случайные числа

Случайные числа

Слайд 14

Генератор случайных чисел В языке программирования Паскаль для генерации псевдослучайных чисел

Генератор случайных чисел

В языке программирования Паскаль для генерации псевдослучайных чисел в

заданных диапазонах используется функция random. Перед ее использованием обычно выполняется процедура инициализации датчика случайных чисел - randomize; иначе программа всегда будет выдавать один и тот же результат. Randomize задает начальное значение последовательности, от которого вычисляются все последующие. При каждом запуске программы это значение будет разным, а значит и результат работы функции random будет различным.
Слайд 15

Функция random генерирует случайное число в диапазоне от 0 (включительно) до

Функция random генерирует случайное число в диапазоне от 0 (включительно) до единицы.
Если

в скобках указан аргумент, то от 0 до значения указанного в скобках (не включая само значение). Так выражение random (10), говорит о том, что будет получено любое число в диапазоне [0, 10).
Слайд 16

Например, после выполнения кода: var a:integer; begin a:=random (20); writeln(a); переменная

Например, после выполнения кода:
var a:integer;
begin
a:=random (20);
writeln(a);
переменная а примет случайное значение в

диапазоне от 0 до 19
Слайд 17

Если требуется получить значение в каком-либо другом диапазоне (не от нуля)

Если требуется получить значение в каком-либо другом диапазоне (не от нуля)

используется формула:
random(max-min+1) + (min);
Таким образом, чтобы получить случайное число в диапазоне от -10 до 10 функцию random следует записать:
random(21)-10;
Слайд 18

Заполнение массива случайными числами от -5 до 10 program sl; var

Заполнение массива случайными числами от -5 до 10

program sl;
var a:array [0..9]

of integer;//объявляем массив
i:integer;
begin
randomize;//инициализация генератора случайных чисел
for i:=0 to 9 do
begin
a[i]:=random(16)-5;//генерация случ. числа от -5 до 10
write(a[i],' ');//вывод элемента массива на экран
end;
end.
Слайд 19

Двумерные массивы В двумерном массиве элемент имеет два индекса – индекс

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

В двумерном массиве элемент имеет два индекса – индекс строки

и индекс столбца. Но в памяти элементы двумерного массива располагаются последовательно друг за другом.
Слайд 20

Вывод можно осуществлять по строкам или по столбцам, но лучше, если

Вывод можно осуществлять по строкам или по столбцам, но лучше, если

элементы располагаются построчно, например,
2 3 13 35
5 26 76 37
61 79 17
Тогда в алгоритме необходимо внести следующие изменения