Язык программирования Pascal. Массивы

Содержание

Слайд 2

Массивы

Массив – поименованный набор однотипных элементов, каждый из которых имеет свой номер,

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

Слайд 3

B

Структура массива

Одномерный массив А[i] типа real из 9 элементов

Двумерный массив В[i,j] типа

B Структура массива Одномерный массив А[i] типа real из 9 элементов Двумерный
integer из 4 строк и 5 колонок.
Элемент массива В[2,4]=34

Номер строки

Номер столбца

Слайд 4

Объявление массивов

Зачем объявлять?
определить имя массива
определить тип массива
определить число элементов
выделить место в

Объявление массивов Зачем объявлять? определить имя массива определить тип массива определить число
памяти ЭВМ
Объявление массива позволяет правильно оперировать с данными и резервировать место для хранения данных в памяти.

Слайд 5

Объявление массива целых чисел

Массив описывают в секции VAR

Const N=12;
var A: array[1.. N]

Объявление массива целых чисел Массив описывают в секции VAR Const N=12; var
of integer;

Описание через константу

Слайд 6

Объявление массивов

Массивы других типов:
var X, Y: array [1..10] of real;
C: array

Объявление массивов Массивы других типов: var X, Y: array [1..10] of real;
[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;

Слайд 7

Что нельзя делать?

Нельзя в массивы целого типа вводить вещественные значения
var a: array[1..10]

Что нельзя делать? Нельзя в массивы целого типа вводить вещественные значения var
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';

Слайд 8

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

Выполняются в циклах
Объявление
const N = 5;
var a: array[1..N] of

Операции с массивами Выполняются в циклах Объявление const N = 5; var
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);

a[1] =
a[2] =
a[3] =
a[4] =
a[5] =

5
12
34
56
13

a[1] =
a[2] =
a[3] =
a[4] =
a[5] =

10
24
68
112
26

10 24 68 112 26

for i:=1 to N do writeln (‘a[‘,I,’]=‘,a[i]:4); Что будет на экране?

Слайд 9

Решение задач

1. Определить среднее арифметическое массива из пяти чисел.
Предусмотреть, что изменение

Решение задач 1. Определить среднее арифметическое массива из пяти чисел. Предусмотреть, что
количества чисел должно менять только секцию описаний.

program mass1;
const n=5;
var i:integer;
a: array [1..n] of real;
sr:real;
begin
for 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.

Слайд 10

Решение задач

2. В массиве из пяти элементов найти минимальный элемент и его

Решение задач 2. В массиве из пяти элементов найти минимальный элемент и
номер. Изменение количества чисел должно менять только секцию описаний

program mass2;
const n=5;
var i,j:integer;
a: array [1..n] of real;
min:real;
begin
for i:=1 to n do
begin
write (‘а[',i,']=');
readln (a[i]);
end;
min:=a[1];
for i:=1 to n do if a[i]<=min then begin min:=a[i]; j:=i; end;
for i:=1 to n do writeln ('à[',i,']=',a[i]);
writeln('min=',min,' ¹min=',j);
end.

Слайд 11

Задание на самоподготовку

Заполнить массив случайными целыми числами из интервала от -7 до

Задание на самоподготовку Заполнить массив случайными целыми числами из интервала от -7
25.
Дан целочисленный массив, c числом элементов N, вывести все его нечетные элементы в начиная с конца и их сумму.
Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве.
Написать программу, которая проверяет, есть ли во введенном с клавиатуры массиве элементы с одинаковыми значением.

Слайд 12

Одномерный массив

Суммирование (произведение) элементов.
Поиск в массиве максимального (минимального) элементов и их индексов.
Поиск

Одномерный массив Суммирование (произведение) элементов. Поиск в массиве максимального (минимального) элементов и
совпадений.
Сортировка массива по убыванию и возрастанию.

Слайд 13

Одномерный массив суммирование

Создать массив 100 целых случайных чисел из интервала [2;9].
Найти:
количество

Одномерный массив суммирование Создать массив 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.

Слайд 14

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

Массив – набор элементов одного типа, имеющих общее имя, и разные

Двумерный массив Массив – набор элементов одного типа, имеющих общее имя, и
номера (индексы).
Массив с двумя индексами называют двухмерным.
Моделью двумерного массива является прямоугольная таблица элементов - матрица.
Номер элемента состоит из двух чисел – номера строки, и номера столбца.

Матрица 3х3 элемента

Главная диагональ

Обращение к элементам массива имеет вид: А [ i , j ]. Это означает, что мы хотим получить элемент, расположенный в i -й строке и j -м столбце.

Слайд 15

Описание двумерного массива

Описание матрицы в разделе var аналогично описанию одномерного массива,

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

Const n=10; m=12;
Var a:array [1..n,1..m] of integer;
Или
Var B:array [1..10,1..12] of real;

Слайд 16

Ввод двумерного массива Паскаля с клавиатуры

Writeln (‘Введите матрицу построчно’);
For i:=1 to n

Ввод двумерного массива Паскаля с клавиатуры Writeln (‘Введите матрицу построчно’); For i:=1
do
For j:= 1 to m do
Begin
Write (‘a[‘,i,’,’,j,’]=‘); Readln (a[i,j]);
End;

Слайд 17

Ввод двумерного массива из генератора случайных чисел

Randomize;
For i:=1 to n do
Begin
For

Ввод двумерного массива из генератора случайных чисел Randomize; For i:=1 to n
j:=1 to m do
Begin
a[i,j]:=random(11)+2;
write(a[i,j],’ ‘);
End;
Writeln;
End;

Массив случайных целых чисел из интервала [2,12]

Слайд 18

Суммирование элементов массива

Сумма всех элементов: sum:=0; for i:=1 to n do for

Суммирование элементов массива Сумма всех элементов: sum:=0; for i:=1 to n do
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);

Слайд 19

Максимальный (минимальный) элемент массива


max:=a[1,1];
min:=a[1,1]; for i:=1 to n do for j:=1 to

Максимальный (минимальный) элемент массива max:=a[1,1]; min:=a[1,1]; for i:=1 to n do for
m do begin if a[i,j]>max then max:=a[i,j]; if a[i,j]

Слайд 20

Решение задач

Вывести максимальные и минимальные элементы в каждом столбце двумерного массива

Решение задач Вывести максимальные и минимальные элементы в каждом столбце двумерного массива

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 Begin
For j:=1 to m do Begin
a[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 Begin
if min>a[i,j] then min:=a[i,j];
if max write (a[i,j]:6,' ');
End;
writeln(j,' столбец min=',min,' max=',max) ;
End;
Writeln(‘----------------------------------------------------’);
end.

Имя файла: Язык-программирования-Pascal.-Массивы.pptx
Количество просмотров: 155
Количество скачиваний: 0