МАССИВЫ
Структурированный тип данных – массивы
Характеристики массива:
Одномерные массивы в Pascal-е
1. Объявление одномерного массива
2. Задание одномерного массива:
2.1. Задание массива с клавиатуры:
2.2. Задание массива случайными числами:
Типовые задачи:
Общие рекомендации
Задача 1:
Динамический массив
Динамический массив
578.50K
Категория: ПрограммированиеПрограммирование

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

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. Задание массива с клавиатуры:

Begin
Writeln (‘Ввод n элементов
массива А:’);
For i:=1 to n do
Readln(a[i]);
{ввод с клавиатуры i-го
элемента}
? Задание:
Оформить ввод элементов так:
a[1] = ???
a[2] = ???
и т.д.
7

8. 2.2. Задание массива случайными числами:

Begin
Randomize;
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. Динамический массив

var
x: 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
English     Русский Правила