Массивы в Pascal. Одномерные массивы

Содержание

Слайд 2

Массивы

Один из самых распространенных способов организации данных – табличный.
Таблицы могут состоять из

Массивы Один из самых распространенных способов организации данных – табличный. Таблицы могут
1 строки (линейная):
а1 а2 а3 а4
и из нескольких строк и столбцов (прямоугольная):
а11 а12 а13 а14
а21 а22 а23 а24
а31 а32 а33 а34
Массив – совокупность данных одного типа.

Слайд 3

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

Обозначаются массивы латинскими буквами, строки нумеруются сверху вниз, столбцы слева направо. Элемент,
расположенных на i – том месте линейной таблицы обозначается A [ i ]

Номер элемента

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

Слайд 4

Прежде чем использовать массив в программе необходимо зарезервировать в памяти место под

Прежде чем использовать массив в программе необходимо зарезервировать в памяти место под
него. Для этого используется зарезервированное слово array – массив:
Var
a:array[1..n] of integer;

Число элементов массива

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

Слайд 5

Алгоритм решения задач с использованием массивов:
Описание массива
Заполнение массива
Вывод массива (распечатка)
Выполнение условий задачи
Вывод

Алгоритм решения задач с использованием массивов: Описание массива Заполнение массива Вывод массива
результата

Слайд 6

Способы задания элементов массива:

Ввод с клавиатуры.
Write(‘Введите число элементов’);
Read(n);
For i:=1 to n do
Read(a[i]);
Writeln;
For

Способы задания элементов массива: Ввод с клавиатуры. Write(‘Введите число элементов’); Read(n); For
i:=1 to n do
Write(a[i]:4);

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

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

Слайд 7

Способы задания элементов массива:

2. С помощью генератора случайных чисел.
Randomize;
Write(‘Введите число элементов’);
Read(n);
For i:=1

Способы задания элементов массива: 2. С помощью генератора случайных чисел. Randomize; Write(‘Введите
to n do begin
a[i]:=random(10);
Write(a[i]:4);
End;

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

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

Слайд 8

Пример 1 В одномерном массиве посчитать сумму положительных элементов

program sum;
uses crt;
var a:array[1..10] of

Пример 1 В одномерном массиве посчитать сумму положительных элементов program sum; uses
integer;
i,n,s:integer;
begin
clrscr;
write('Введите число элементов');
read(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n do begin
write(a[i]:4);
writelen;
if a[i]>0 then s:=s+a[i];
end;
write('s= ',s);
readkey;
end.

Слайд 9

Пример 2 В одномерном массиве вычислить минимальный элемент

program minimum;
uses crt;
var a:array[1..10] of

Пример 2 В одномерном массиве вычислить минимальный элемент program minimum; uses crt;
integer;
i,n,min:integer;
begin
clrscr; write('Введите число элементов');
read(n);
for i:=1 to n do
read(a[i]); writeln;
for i:=1 to n do
write(a[i]:4);
min:=a[1];
for i:=2 to n do
if a[i] writeln;
write('Мин. элемент= ',min);
readkey;
end.

Слайд 10

Пример 3 Дан массив целых чисел. Записать его наоборот

program massiv;
uses crt;
var a:array[1..10] of

Пример 3 Дан массив целых чисел. Записать его наоборот program massiv; uses
integer;{описание массива}
i,n:integer;
begin
clrscr;
randomize; {генератор случайных чисел}
write('Введите число элементов');
read(n);
for i:=1 to n do begin
a[i]:=random(10); {заполнение массива}
write(a[i]:4); {вывод массива}
end;
writeln;{переход на след. строку}
for i:=n downto 1 do
write(a[i]:4); {вывод массива наоборот}
readkey
end.

Слайд 11

Пример 4 Определить, сколько пар одинаковых соседних элементов содержится в массиве.

program massiv;
uses crt;
var

Пример 4 Определить, сколько пар одинаковых соседних элементов содержится в массиве. program
a:array[1..10] of integer;{описание массива}
i,n,s:integer;
begin
clrscr;
randomize; {генератор случайных чисел}
write('Введите число элементов');
read(n);
for i:=1 to n do begin
a[i]:=random(10); {заполнение массива}
write(a[i]:4); {вывод массива}
end;
writeln;{переход на след. строку}
for i:=1 to n do
if a[i]=a[i+1] then s:=s+1;
write('s=',s); {вывод массива наоборот}
readkey
end.

Слайд 12

Пример 5 В одномерном массиве заменить все нулевые элементы на 10

program massiv;
uses crt;
var

Пример 5 В одномерном массиве заменить все нулевые элементы на 10 program
a:array[1..10] of integer;{описание массива}
i,n,s:integer;
begin
clrscr;
randomize; {генератор случайных чисел}
write('Введите число элементов'); read(n);
for i:=1 to n do begin
a[i]:=random(10); {заполнение массива}
write(a[i]:4); {вывод массива}
end; writeln;{переход на след. строку}
for i:=1 to n do begin
if a[i]=0 then a[i]:=10;
write(a[i]:4); {вывод массива наоборот}
end;
readkey
end.

Слайд 13

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

Массивы в Pascal

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

Слайд 14

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

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

Массивы Двумерные массивы Двумерный массив (матрица) – это прямоугольная таблица, состоящая из
и столбцов.
-1 3 -2 6
-4 0 5 -2
9 -8 3 2

Обозначение: a[i,j],
где i – номер строки,
j – номер столбца

var
a:array[1..n, 1..m] of integer;

Слайд 15

Задание элементов двумерного массива

randomize;
write(‘Введите число строк’);
readln(n);
writeln(‘Введите число столбцов’);
readln(m);
for i:=1 to n do

Задание элементов двумерного массива randomize; write(‘Введите число строк’); readln(n); writeln(‘Введите число столбцов’);

for j:=1 to m do
a[i,j]:=random(10);
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j]:4);
Writeln;
end;

Слайд 16

program uvelich;
uses crt;
var a:array[1..10,1..10] of integer;
n,m,i,j:integer;
begin
clrscr;
randomize;
writeln('Введите число строк');

program uvelich; uses crt; var a:array[1..10,1..10] of integer; n,m,i,j:integer; begin clrscr; randomize;
read(n);
writeln('Введите число столбцов'); read(m);
for i:=1 to n do begin
a[i,2]:=a[i,2]*2;
end;
writeln;
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
end;
readkey end.

Пример 1
В двумерном массиве увеличить элементы 2 столбца в 2 раза и напечатать полученный массив.

Цикл открываем только по строкам

Слайд 17

uses crt;
var a:array[1..10,1..10] of integer;
n,m,i,j,s:integer;
begin
clrscr; randomize;
writeln('Введите число строк'); read(n);

uses crt; var a:array[1..10,1..10] of integer; n,m,i,j,s:integer; begin clrscr; randomize; writeln('Введите число
writeln('Введите число столбцов'); read(m);
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10);
for i:=1 to n do begin
for j:=1 to m do
write(a[i,j]:4);
writeln; end;
for i:=1 to n do begin
for j:=1 to m do
if a[i,j]>a[1,1] then s:=s+a[i,j];
end; writeln; write('Сумма=',s);
readkey
end.

Пример 2
Найти сумму всех элементов двумерного массива, больших первого элемента этого массива.

Слайд 18

Главная и побочная диагонали

Матрица, у которой число строк равно числу столбцов, называется

Главная и побочная диагонали Матрица, у которой число строк равно числу столбцов,
квадратной, и у нее имеются главная и побочная диагонали.
а11 а12 а13 а14
а21 а22 а23 а24
а31 а32 а33 а34
а41 а42 а43 а44

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

Побочная
диагональ

Слайд 19

Квадратная матрица

а11 а12 а13 а14
а21 а22 а23 а24
а31 а32 а33 а34
а41 а42 а43 а44

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

Побочная
диагональ

i = n-j+1
i > n-j+1 – под диаг.
i < n-j+1

Квадратная матрица а11 а12 а13 а14 а21 а22 а23 а24 а31 а32
– над диаг.

i = j
i > j – под диаг.
i < j – над диаг.

Слайд 20

program zadacha1;
var a:array[1..4,1..4] of integer;
i,j,n,s:integer;
begin
n:=4;s:=1;
randomize;
for i:=1 to n do
for j:=1 to n

program zadacha1; var a:array[1..4,1..4] of integer; i,j,n,s:integer; begin n:=4;s:=1; randomize; for i:=1
do
a[i,j]:=random(10);
for i:=1 to n-1 do
for j:=1 to n-i do
s:=s*a[i,j];
for i:=1 to n do begin
for j:=1 to n do
write (a[i,j]:4);
writeln;
end;
writeln;
write('s=',s);
end.

Пример 3
Найти произведение элементов, расположенных над побочной диагональю квадратной матрицы.