Язык программирования Pascal МассивыА. Жидков
Массивы Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер, (индекс). Если индексов несколько, то массив многомерный).Особенности:все элементы имеют один типвесь массив имеет одно имявсе элементы расположены в памяти рядомПримеры: список учеников в классеквартиры в домешколы в городеданные о температуре воздуха за год
Структура массиваОдномерный массив А[i] типа real из 9 элементов Двумерный массив В[i,j] типа integer из 4 строк и 5 колонок.Элемент массива В[2,4]=34
Объявление массивов Зачем объявлять? определить имя массиваопределить тип массиваопределить число элементоввыделить место в памяти ЭВМОбъявление массива позволяет правильно оперировать с данными и резервировать место для хранения данных в памяти.
Объявление массива целых чиселМассив описывают в секции VAR Описание через константу Const N=12;var A: array[1.. N] of integer;
Объявление массивов Массивы других типов:var X, Y: array [1..10] of real; C: array [1..20] of char;Другой диапазон индексов: var Q: array [0..9] of real; C: array [-5..13] of char;Индексы других типов:var A: array ['A'..'Z'] of real; B: array [False..True] of integer;D: array ['a'..'z',w2..w4] of string; A['C'] := 3.14259*A['B']; B[False] := B[False] + 1;
Что нельзя делать? Нельзя в массивы целого типа вводить вещественные значенияvar a: array[1..10] of integer;... A[5] := 4.5;Нельзя использовать индексы отсутствующие в перечисленияхvar a: array ['z'..‘с'] of integer;... A['B'] := 15;Нельзя выходить за пределы индексов указанные в описанииvar a: array [0..9] of integer;... A[10] := 'X';
Операции с массивами Выполняются в циклахОбъявление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;Данные обрабатывают поэлементноfor i:=1 to N do a[i]:=a[i]*2;Вывод данных на дисплейwriteln('Массив A:');for i:=1 to N do write(a[i]:4); 10 24 68 112 26 for i:=1 to N do writeln (‘a[‘,I,’]=‘,a[i]:4); Что будет на экране?
1. Определить среднее арифметическое массива из пяти чисел. Предусмотреть, что изменение количества чисел должно менять только секцию описаний. program mass1;const n=5;var i:integer;a: array [1..n] of real;sr:real;beginfor i:=1 to n do begin write ('введите а[',i,']='); readln (a[i]); end;Sr:=0;for i:=1 to n do sr:= sr+a[i];sr:=sr/n;for i:=1 to n do writeln ('а[',i,']=',a[i]);writeln('среднее арифметическое sr=',sr);end.
Решение задач 2. В массиве из пяти элементов найти минимальный элемент и его номер. Изменение количества чисел должно менять только секцию описаний program mass2;const n=5;var i,j:integer;a: array [1..n] of real;min:real;beginfor i:=1 to n do begin write (‘а[',i,']='); readln (a[i]); end;min:=a[1];for i:=1 to n do if a[i]
Задание на самоподготовку Заполнить массив случайными целыми числами из интервала от -7 до 25.Дан целочисленный массив, c числом элементов N, вывести все его нечетные элементы в начиная с конца и их сумму.Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве.Написать программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковыми значением.
Суммирование (произведение) элементов.Поиск в массиве максимального (минимального) элементов и их индексов.Поиск совпадений.Сортировка массива по убыванию и возрастанию.
Одномерный массив суммирование Создать массив 100 целых случайных чисел из интервала [2;9].Найти: количество совпадений с числом введенным с клавиатуры;сумму чисел кратных трем;произведение всех чисел массива. const n = 100;var a: array[1..n] of integer; sum, pr, x : real; i,sov: integer;begin for i := 1 to n do a[i]:=Trunc(random*(9-2+1))+2; for i := 1 to n do writeln ('a[',i,']=',a[i]); writeln ('введите число для поиска'); read (x); sov:=0; for i := 1 to n do if x=a[i] then sov:=sov+1; sum := 0; for i := 1 to n do if a[i] mod 3 = 0 then sum := sum + a[i]; pr := 1; for i := 1 to n do pr := pr * a[i]; writeln('Число совпадений: ', sov); writeln('Сумма элементов: ', sum:10:2); writeln('Произведение элементов: ', pr:20:2);end.
Массив – набор элементов одного типа, имеющих общее имя, и разные номера (индексы).Массив с двумя индексами называют двухмерным.Моделью двумерного массива является прямоугольная таблица элементов - матрица.Номер элемента состоит из двух чисел – номера строки, и номера столбца. Обращение к элементам массива имеет вид: А [ i , j ]. Это означает, что мы хотим получить элемент, расположенный в i -й строке и j -м столбце.
Описание двумерного массива Описание матрицы в разделе var аналогично описанию одномерного массива, только необходимо указывать диапазон изменения столбцов и строк. Const n=10; m=12;Var a:array [1..n,1..m] of integer;ИлиVar B:array [1..10,1..12] of real;
Ввод двумерного массива Паскаля с клавиатуры Writeln (‘Введите матрицу построчно’);For i:=1 to n doFor j:= 1 to m doBeginWrite (‘a[‘,i,’,’,j,’]=‘); Readln (a[i,j]);End;
Ввод двумерного массива из генератора случайных чисел Randomize;For i:=1 to n do BeginFor j:=1 to m doBegina[i,j]:=random(11)+2;write(a[i,j],’ ‘);End;Writeln;End; Массив случайных целых чисел из интервала [2,12]
Суммирование элементов массива Сумма всех элементов: sum:=0; for i:=1 to n do for j:=1 to m do sum:=sum+a[i,j]; writеln('Сумма=',sum); Сумма элементов главной диагонали (x[1,1], x[2,2] и т.д.): sum:=0; for i:=1 to n do sum:=sum+a[i,i]; writеln ('Сумма=',sum);Cумма по столбцам с записью в массив zum[1..m]: for j:=1 to m do zum[j]:=0; for i:=1 to n do zum[j]:=zum[j]+x[i,j]; for j:=1 to m do write(zum[j]:4);
Максимальный (минимальный) элемент массива max:=a[1,1]; min:=a[1,1];for i:=1 to n dofor j:=1 to m dobeginif a[i,j]>max then max:=a[i,j];if a[i,j]
Решение задач program mass2x;Const n=10; m=12;Var a:array [1..n,1..m] of integer;i,j,min,max: integer; begin For i:=1 to n do BeginFor j:=1 to m do Begina[i,j]:=random(11)+2;write(a[i,j]:6,' '); End;Writeln; End;Writeln; For j:=1 to m do Begin min:=a[1,j]; max:=a[1,j]; For i:=1 to n do Beginif min>a[i,j] then min:=a[i,j];if max
Найти произведение нечетных элементов двумерного массива целых чисел. Найти сумму элементов двумерного массива, находящихся ниже главной диагонали.Найти максимальный элемент дополнительной диагонали квадратной матрицы.