Похожие презентации:
Массивы. Одномерные массивы
1. МАССИВЫ
Одномерные массивы2. Структурированный тип данных – массивы
Массив – это упорядоченноемножество пронумерованных
однотипных элементов,
имеющих общее имя
Массив – это таблица
(линейная, прямоугольная и
др.)
2
3. Характеристики массива:
Базовый тип элементов массива (БТЭ) – типэлементов, из которых состоит массив (Integer, Real,
Char, Boolean и др.)
Размер массива (n) – количество элементов массива
Размерность массива (r) – количество индексов у
элементов массива
r = 1 – одномерный массив, линейная таблица, вектор
A = (a1, a2, a3, …, an)
r = 2 – двумерный массив, прямоугольная таблица,
матрица
r = 3 – трехмерный массив, трехмерная матрица
r = k – k-мерный массив, k-мерная матрица
3
4. Одномерные массивы в Pascal-е
Объявление одномерного массиваЗадание одномерного массива
Вывод массива на экран
Решение типовых задач
4
5. 1. Объявление одномерного массива
Var <имя массива> : array[<тип индекса>] of <БТЭ>;БТЭ – Integer (чаще всего), Real и др.
тип индекса – интервальный тип [kначальный..kконечный]
Пример:
Program Task1;
Uses CRT;
Const n = 100; {n – количество элементов массива}
Var A : array [1..n] of integer;
……. {список используемых переменных}
Доступ к элементам массива: a[3], a[7], a[k+1] и т.д.
5
6. 2. Задание одномерного массива:
с клавиатуры;с помощью датчика случайных чисел
по формулам;
из файла
6
7. 2.1. Задание массива с клавиатуры:
BeginWriteln (‘Ввод n элементов
массива А:’);
For i:=1 to n do
Readln(a[i]);
{ввод с клавиатуры i-го
элемента}
? Задание:
Оформить ввод элементов так:
a[1] = ???
a[2] = ???
и т.д.
7
8. 2.2. Задание массива случайными числами:
BeginRandomize;
For i:=1 to n do
Begin
a[i] := random(2*k + 1) – k;
writeln(a[i]);
End;
{Значения элементов массива
принадлежат отрезку [-k; k]}
? Задание:
Оформить вывод элементов
массива:
а) в столбик;
б) в строку.
8
9. Типовые задачи:
Найти сумму, произведение всех элементов заданногомассива.
Найти сумму, произведение, количество элементов массива с
определенными свойствами, вывести на экран значения и
индексы таких элементов.
Определить, есть ли в массиве элементы с заданным
свойством.
Заменить элементы массива с определенными свойствами по
заданной формуле, по заданному условию.
Найти наибольший (наименьший) элемент массива, вывести
его значение и индекс на экран.
Сжатие массива, добавление в массив новых элементов.
Сортировка массива.
9
10. Общие рекомендации
Задать массив (любым способом).Перед циклом задать начальные значения для суммы,
произведения, количества, флаг и пр.
В цикле: произвести нужные вычисления по
формулам, вывести нужные значения на экран и пр.
После цикла вывести окончательные ответы.
10
11. Задача 1:
Найти сумму, произведениевсех элементов заданного
массива
11
12. Динамический массив
Описние массиваVar <имя массива> : array of <БТЭ>;
Var X: array of longint;
Задание и ввод массива в программе:
X:=new longint [1000];
SetLength (X,10) {назначение размера массива из 10ти элементов}
For var i := 0 to 9 do begin
X[i] := Random(1,100);
Print (X[i] ); end;
В динамическом массиве индекс начинается с
нуля!
12
13. Динамический массив
varx: array of integer;
Begin
x:= new integer [100];
setlength(x,10);
For var i := 0 to 9 do begin
X[i] := Random(1,100);
Print (X[i] ); end;
end.
13
Программирование