Массивы в ТР
Массив (таблица) Одномерный (содержит одну строку или один столбец) Многомерный ( содержит N строк, M столбцов) Например, температура воздуха за неделю Например, значение функции y=x 2 x y Строки нумеруются сверху вниз, столбцы слева направо.
Понятие массива Массив – это упорядоченная последовательность данных одного типа, имеющая имя DAY имя массива элементы массива номер элемента массива
именованный набор с фиксированным количеством однотипных данных. именованный набор с фиксированным количеством однотипных данных. Массив - это 1Аксенов 2Бобров 3Веснин 4Гончаров 5Давыдов Список из классного журнала является массивом. В массиве могут быть одинаковые данные, поэтому элементы массива различаются по своим порядковым номерам.
Если каждый элемент имеет один порядковый номер, то такой массив называется одномерным.
А имя массива элементы массива номер элемента массива А – имя массива А(I) – элемент массива I – номер элемента в массиве
1) определить, какие числа даны (составляют массив): целые или вещественные если об этом конкретно не сказано, то лучше считать их вещественными; 2) назвать весь массив одним именем, которое будет использоваться для каждого элемента, только к нему добавится номер этого элемента (индекс); 3) описать массив в разделе переменных VAR, тем самым отведя место в памяти для массива; 4) ввести данные в память. Чтобы решить задачу с массивом с использованием языка программирования Паскаль, необходимо выполнить следующее:
Общий вид описания массива Массив должен быть описан в разделе описания переменных. var Имя: array[перв.эл.. посл.эл] of тип;
Общий вид описания массива Имя – имя переменной массива; Имя – имя переменной массива; Array – зарезервированное слово, обозначающее, что переменная является массивом; Array – зарезервированное слово, обозначающее, что переменная является массивом; перв.эл. и посл.эл. – целые числа, показывающие диапазон изменения индексов элемента массива: перв.эл. и посл.эл. – целые числа, показывающие диапазон изменения индексов элемента массива: Тип – тип элементов массива. Тип – тип элементов массива.
Например, var A: array[1..4] of integer; T: array [1..30] of real; Temper : array [1..31] of real;
Чтобы в программе использовался элемент массива, надо указать имя массива и номер элемента. DAY[5] – пятый элемент массива DAY mas[i] – i-тый элемент массива mas T[4]:=4;
Действия с массивами Ввод массива; Ввод массива; Вывод массива на экран; Вывод массива на экран; Поиск в массиве заданного элемента; Поиск в массиве заданного элемента; Поиск в массиве min и max элемента; Поиск в массиве min и max элемента; Сортировка массива. Сортировка массива.
Заполнение массива С клавиатуры; С клавиатуры; Случайным образом. Случайным образом. По формуле; По формуле;
Для ввода и вывода элементов массива необходимо организовать цикл. Поскольку число повторений ввода данных известно, удобно использовать цикл for. Ввод описанного массива а может иметь вид:
Write (wwedite elementi massiwa cherez probel); For i:=1 to n do Read(a[i]); Read(a[i]); Пример ввода c клавиатуры:
For i:=1 to n do Begin Begin Write (a[,i,]=); Write (a[,i,]=); Readln(a[i]); Readln(a[i]); End; End; Пример ввода c клавиатуры:
Randomize; For i:=1 to n do Begin Begin a[i]:=random(10); a[i]:=random(10); End; End; Пример заполнения случайными числами: Массив заполняется n случайными вещественными числами из отрезка 0…9
Randomize – обеспечивает генерирование новой, отличной от предыдущей последовательности чисел при повторном выполнении программы RANDOM(N) – вещественное число из [0,N); TRUNC(RANDOM(N))- целое число из [0,N) TRUNC(RANDOM(N)+1)– целое число из [0,N] TRUNC(RANDOM(B-A)+A)– целое число из [A,B) BEGIN for i:=1 to 7 do begin TEMP [i]:= trunc(random(10)); end;
For i:=1 to n do a[i]:= ; a[i]:= ; Пример заполнения массива по формуле:
Вывод элементов массива. Линейную таблицу можно распечатать на экране в строчку или в столбик. For i:=1 to n do write (a[i]); For i:=1 to n do writeln(a[i]);
План программы для работы с массивами. Program Task; var : array [1..n] of ; i,n:integer; BEGIN writeln(Введите количество элементов иассива'); Readln (n); for i:=1 to n do begin …… end; for i:=1 to n do begin ……. end; Команды обработки массива (в цикле) Вывод результата END. Ввод элементов массива Вывод элементов массива
Program Summa; const n=7; var a:array [1..n] of real; S:real;i:integer;begin write (введите 7 элементов массива, через пробел); For i:=1 to n do readln(a[i]);S:=0; S:=S+a[i];writeln; write(Сумма всех элементов массива =,S); readln;readlnend. Вычисление суммы элементов массива
Вычисление наибольшего элемента массива
самый большой
Вычисление наибольшего элемента массива max
max
max
max
Program maxsimum; const n=10; var a:array [1..n] of integer; max,i:integer;begin ВВОД ЭЛЕМЕНТОВ МАССИВА; max:=a[1]; for i:=2 to n do if max