Тема урока: «Одномерные массивы в Паскале»
Способы описания массива
Способы заполнения массива
Способы заполнения массива
Алгоритм решения задач с использованием массивов:
В одномерном массиве состоящий из 20 элементов посчитать сумму положительных элементов
В одномерном массиве состоящий из 10 элементов вычислить минимальный элемент
Самостоятельно:
Массивы в Pascal
Массивы Двумерные массивы
Задание элементов двумерного массива
Главная и побочная диагонали
Квадратная матрица
1.64M
Категория: ПрограммированиеПрограммирование

Одномерные массивы в Паскале

1. Тема урока: «Одномерные массивы в Паскале»

2.

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

3.

-5 8 2 4 -9 -1 6 4 2 1
a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]
Значение элемента массива
а[3]=2,
а[7]=6.
имя массива
а[3]=2
индекс
значение
Данные в массивах сохраняются только до конца
работы программы.
Для их долговременного хранения программа
должна записать данные в файл.

4.

Характеристики массива:
тип — общий тип всех элементов массива;
размерность (ранг) — количество индексов
массива;

5. Способы описания массива

var ИмяМассива: array [НижняяГраница.. ВерхняяГраница]
of Тип Элементов;
Например:
Const n=100;
var a: array[1..n] of real; { 100 элементов — вещественные числа
}
x,y: array[1..20] of integer; { два массива x и у содержат по 20
элементов — целые числа }

6.

7. Способы заполнения массива

Все действия с элементами массива выполняются в цикле
1. Ввод данных с клавиатуры:
for i:=1 to n do read (a[i]);
Вводимые значения набираются на клавиатуре в одну
строку через пробел, после этого нажимается Enter.
2. Ввод данных с помощью датчика случайных чисел
на интервале от а до b по формуле:
x[i]:=a+random(b-a+1);
Например: Заполним массив числами в диапазоне от 3 до 7.
randomize;
for i:=1 to n do a[i]:=random(11)-3;

8. Способы заполнения массива

3. Присваивание заданных значений;
Например: заполним массив четными числами
for i:=1 to n do a[i]:=i*2;
Вывод элементов массива
Вывод элементов массива также осуществляется в
цикле:
- в строку
for i:=1 to n do write (a[i],’ ‘);
Writeln;
- в столбец
for i:=1 to n do writeln (a[i]);

9. Алгоритм решения задач с использованием массивов:

1.
2.
3.
4.
Описание массива
Заполнение массива
Выполнение условий задачи
Вывод результата

10.

Задача: Запишите массив состоящий из 5 элементов.
Элементами массива будут целые числа. Затем сложите все
элементы между собой и выведите результат

11.

Задача: Запишите массив состоящий из 10 элементов. И
определите количество элементов массива которые больше
числа 100

12. В одномерном массиве состоящий из 20 элементов посчитать сумму положительных элементов

13. В одномерном массиве состоящий из 10 элементов вычислить минимальный элемент

14. Самостоятельно:

1.
2.
3.
В одномерном массиве состоящий из 3
элементов найти разность всех чисел.
Дан одномерный массив. Элементов 10
Вывести на экран числа > 5.
В одномерном массиве состоящие из 10
элементов найти чётные числа и сложить
между собой

15.

16.

17.

18. Массивы в Pascal

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

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

Двумерный массив (матрица) – это
прямоугольная таблица, состоящая из
нескольких строк и столбцов.
-1 3 -2 6
-4 0 5 -2
Обозначение: a[i,j],
9 -8 3 2
где i – номер строки,
j – номер столбца
var
a:array[1..n, 1..m] of integer;

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

randomize;
write(‘Введите число строк’);
readln(n);
writeln(‘Введите число столбцов’);
readln(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;

21.

Пример 1
В двумерном
массиве увеличить
элементы 2 столбца
в 2 раза и
напечатать
полученный массив.
Цикл
открываем
только по
строкам
program uvelich;
uses crt;
var a:array[1..10,1..10] of integer;
n,m,i,j:integer;
begin
clrscr;
randomize;
writeln('Введите число строк'); 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.

22.

Пример 2
Найти сумму всех
элементов
двумерного массива,
больших первого
элемента этого
массива.
uses crt;
var a:array[1..10,1..10] of integer;
n,m,i,j,s:integer;
begin
clrscr; randomize;
writeln('Введите число строк'); read(n);
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.

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

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

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

Побочная
диагональ
а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 – над диаг.
Главная
диагональ
i=j
i > j – под диаг.
i < j – над диаг.

25.

Пример 3
Найти произведение
элементов,
расположенных над
побочной диагональю
квадратной матрицы.
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 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.
English     Русский Правила