Алгоритм вычисления количества элементов массива



Массивы. Описание массивов в Паскале. Размер и размерность. Инициализация и вывод массива. Функция Random.

Массив – это переменная, которая является совокупностью компонентов одного типа. Чтобы использовать массивы в программировании, потребуется предварительное описание определенного типа и указание доступа к элементам. Элементы массива в программировании объединены общим именем. Если требуется обратиться к определенному элементу массива, то достаточно указать имя и индекс. В математике есть понятный пример массива – это векторы и последовательности чисел, в которых группа чисел может обозначаться одним именем. Обратившись к конкретному числу, используют разные индексы.

Одно данное от другого отличается индексом. Индекс – это порядковый номер элемента в массиве.

Массивы отличаются друг от друга по имени, типу и размерности.

Имя массива, как и имя переменной должно начинаться с латинской буквы, допустимо использование и цифр.

Тип массива определяется типом данных: целые, вещественные или текстовые и обозначается привычным видом - %, ! (или без знака), $.

Размер - количество элементов в массиве

Размерность – это количество чисел, однозначно определяемых положение элемента в массиве. Массивы бывают одномерные, двумерные, трёхмерные и т.д. (многомерные).

Описание массива в Паскале

В языке Паскаль тип массива задается с использованием специального слова array (англ. – массив), и его объявление в программе выглядит следующим образом:

Type <имя _ типа>= array [ I ] of T;

где I – тип индекса массива, T – тип его элементов.

Можно описывать сразу переменные типа массив, т.е. в разделе описания переменных:

Var a,b: array [ I ] of T;

Обычно тип индекса характеризуется некоторым диапазоном значений любого порядкового типа : I 1 .. I n . Например, индексы могут изменяться в диапазоне 1..20 или ' a '..' n '.

При этом длину массива Паскаля характеризует выражение:

ord ( I n )- ord ( I 1 )+1.

Вот, например, объявление двух типов: vector в виде массива Паскаля из 10 целых чисел и stroka в виде массива из 256 символов:

Type
Vector=array [1..10] of integer;
Stroka=array [0..255] of char;

С помощью индекса массива можно обращаться к отдельным элементам любого массива, как к обычной переменной: можно получать значение этого элемента, отдельно присваивать ему значение, использовать его в выражениях.

Опишем переменные типа vector и stroka :

Var a: vector;
c: stroka;

далее в программе мы можем обращаться к отдельным элементам массива a или c . Например, a [5]:=23; c [1]:=' w '; a [7]:= a [5]*2; writeln( c [1], c [3]).

Инициализация и вывод массива

unitoutar_;

Interface

Uses

Windows, Messages, SysUtils, Variants,

Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

Type

TForm1 = class(TForm)

Button1: TButton;

Label1: TLabel;

procedureButtonlClick(Sender: TObject);

Private

{ Private declarations } public

{ Public declarations } end;

Var

Form1: TForm1;

Implementation

($R *.dfm}

Const

NT = 5;

Var

team: array[1..NT] ofstring[10] =

('Зенит','Динамо','Ротор','Спартак','СКА'

procedureTForml.ButtonlClick(Sender: TObject);

Var

st:string;// список команд

i:integer; // индекс, номер элемента массива

Begin

// формирование списка для отображения в форме

for i:=l to NT do st := st + IntToStr(i)+ ' '

+ team[i] + #13; // выводсписка Label1.Caption := st;

end;

End.

ФУНКЦИЯ RANDOMВ PASCAL

Для того, чтобы постоянно не запрашивать значения элементов массива используется генератор случайных чисел в Паскаль, который реализуется функцией Random. На самом деле генерируются псевдослучайные числа, но суть не в этом.
Для генерации чисел от 0 до n (не включая само значение n, целые числа в интервале [0,N)) используется запись random (n).
Перед использованием функции необходимо инициализировть датчик случайных чисел с помощью процедуры randomize.
Диапазон в Паскале тех самых случайных чисел от a до b задается формулой:

x:=random(b-a+1)+a;

Пример: Заполнение массива случайными числами в Pascal:

1 2 3 4 5 6 7 8 9 10 var f: array[1..10] ofinteger; i:integer; begin randomize; for i:=1 to 10 do begin f[i]:=random(10); { интервал [0,9] } write(f[i],' '); end; end.

Для вещественных чисел в интервале [0,1):

var x: real; ... x := random;    { интервал [0,1) }

 

 

39. Алгоритм вычисления количества, суммы и произведения элементов массива, лежащих в заданном диапазоне. Алгоритм удаления и вставки элементов массива.

Алгоритм вычисления количества элементов массива.

Подсчет количества элементов массива, удовлетворяющих заданному условию, производится по алгоритмам, аналогичным вычислению суммы. Отличие заключается в том, что вместо добавления элемента массива к сумме, переменная – счетчик (k) увеличивается на единицу (k=k+1). Таким образом, если в графических схемах алгоритмов, рисунок 2.5–2.7, вместо s=0 и s=s+ai записать k=0 и k=k+1, то получим алгоритмы подсчета количества элементов массива.


Дата добавления: 2018-02-28; просмотров: 930; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!