Similar presentations:
Одномерные массивы в Паскале
1. Тема урока: «Одномерные массивы в Паскале»
2.
Массив представляет собой совокупность данныходного типа с общим для всех элементов именем.
Массив относится к структурированным типам
данных (упорядоченная совокупность данных).
Номера элементов массива иначе называются
индексами, а сами элементы массива —
индексированными переменными.
3.
-5 8 2 4 -9 -1 6 4 2 1a[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.