Действия над массивами в паскале

Действия над массивами в паскале

Заполнение одномерного массива значениями

Заполнение и вывод массиваможно осуществить только поэлементно, то есть можно сначала присвоить значение первому элементу, затем второму и так далее, то же самое и с выводом на экран – выводим первый, второй, третий и так до последнего.

Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и значений производится поэлементно. Значения элементу массива можно присвоить с помощью оператора присваивания, или ввести с клавиатуры с помощью операторов Read или Readln. Очень удобно перебирать все элементы массива в цикле типа for.

Способы заполнения одномерных массивов:

1. Ввод значения с клавиатуры.

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

3. Задание значений по формуле.

4. Ввод элементов массива из файла

1. Ввод значений элементов массива с клавиатуры. В связи с тем, что использовался оператор Readln, каждое значение будет вводиться с новой строки.

Procedure Init1(Var m : myarray); <Процедура заполнения (инициализации) массива с клавиатуры>Var i : Integer; Begin Writen (‘введите’,n,’чисел’); For i:=1 To n Do <ввод массива с клавиатуры>Readln(m[i]); <чтение i-го элемента>End;

2. Заполнение массива числами, сгенерированными случайным образом из интервала [a; b]. Подключаем датчик случайных чисел – функцию random.

Procedure Init2(a,b:integer; Var m : myarray); < Процедура заполнения массива случайными числами из интервала [a,b] и вывода на экран. a, b: границы интервала; m : массив. >Var i : Integer; Begin Randomize; <Инициализация генератора случайных чисел>For i:=1 To n Do begin m[i]:= a+random(b-a+1); write(m[i],’ ‘) end; writeln; End;

3. Заполнение массивапо формуле. Каждому элементу массива присваивается значение, вычисленное по формуле. Если каждый элемент массива равен утроенному значению его порядкового номера (индекса), то процедура будет иметь вид:

Procedure Init3(Var m : myarray); <Процедура заполнения (инициализации) массива по формуле>Var i : Integer; Begin For i:=1 To n Do a[i]:= i*3; End;
Читайте также:  Калибровка батареи нового телефона

4. Чтение чисел из файла. Нужно заранее создать текстовый файл, в который запишите несколько строк, в каждой из которых по 30 чисел.

Procedure Init4(Var m : myarray); <Процедура заполнения (инициализации) массива из файла>Var i : Integer; Begin Writen (‘введите’,n,’чисел’); For i:=1 To n Do <ввод массива из файла>Readln(f, m[i]); <чтение i-го элемента>End;

Вывод значений элементов массива на экран

Вывод значений элементов массива на экран выполняется, как и ввод, поэлементно в цикле. Для вывода будем использовать операторы Write или Writeln. В качестве входных параметров будем передавать процедуре не только массив, но и количество элементов, которые надо вывести, начиная с первого (это понадобится нам, когда мы будем удалять и добавлять элементы в массиве).

Procedure Print(n: integer; m : myarray); <Процедура вывода массива на экран>Var i : Integer; Begin For i:=1 To n Do Write(m[i]:3); <вывод i-го элемента>Writeln; End;

Основные действия с массивами Паскаля

Как известно, определение типа данных означает ограничение области допустимых значений, внутреннее представление в ЭВМ, а также набор допустимых операций над данными этого типа. Мы определили тип данных как массив Паскаля. Какие же операции определены над этим типом данных? Единственное действие, которое можно выполнять над массивами целиком, причем только при условии, что массивы однотипны, – это присваивание. Если в программе описаны две переменные одного типа, например, Var a , b : array [1..10] of real ;
то можно переменной a присвоить значение переменной b ( a := b ). При этом каждому элементу массива a будет присвоено соответствующее значение из массива b. Все остальные действия над массивами Паскаля производятся поэлементно (это важно!). Ввод массива Паскаля

Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Для реализации этих действий удобно использовать цикл с заданным числом повторений, т.е. простой арифметический цикл, где параметром цикла будет выступать переменная – индекс массива Паскаля. Значения элементов могут быть введены с клавиатуры или определены с помощью оператора присваивания.

Читайте также:  Как работает терминал оплаты

Пример фрагмента программы ввода массива Паскаля

Var A : array [1..10] of integer ;

Begin For i:=1 to 10 do Readln (a[i]);

Рассмотрим теперь случай, когда массив Паскаля заполняется автоматически случайными числами, для этого будем использовать функцию random ( N ).

Пример фрагмента программы заполнения массива Паскаля случайными числами

Var A: array [1..10] of integer;

Begin For i :=1 to 10 do A [ i ]:= random (10);

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

Описание массива можно представить следующей схемой.

В типах индекса, по одному для каждой размерности массива, указывается число элементов. Допустимыми типами индекса являются все порядковые типы, за исключением Longint и поддиапазонов Longint. Число размерностей является неограниченным.

Массив можно описать двумя способами:

1. В разделе описания переменных

где t1-тип индекса, t2-тип элемента массива, t1- любой простой тип, кроме real и integer.

2. В разделе описания типов.

Для доступа к элементам массива необходимо указать идентификатор массива в скобках.

Для ввода массива с клавиатуры и для вывода на экран используются циклы. Можно вводить по другому, с помощью типизированных констант.

Действия, выполняемые над элементами массива:

  1. Все операции допустимые для базового типа массива.
  2. В качестве индекса может быть выражения, переменная или константа.
  3. Элементы массива могут стоять как в левой части выражений, так и в самих выражениях.
  4. Запрещен оператор присваивания типа: a[1]:=b[1]+1 (так нельзя) и разрешены: a[1]:=b[1]; b[1]:=b[1]+1

Если тип компоненты в типе массив также является массивом, то результат можно рассматривать как массив массивов или как один многомерный массив. Например:

Ввод и вывод элементов многомерных массивов осуществляется при помощи вложенных циклов.

Массивы — это совокупности однотипных элементов. Характеризуются они следующим:

  • каждый компонент массива может быть явно обозначен и к нему имеется прямой доступ;
  • число компонент массива определяется при его описании и в дальнейшем не меняется.
Читайте также:  Как убрать разделительную полосу в ворде

Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый элемент. Тип индекса может быть только порядковым (кроме longint). Чаще всего используется интервальный тип (диапазон).

Описание типа массива задается следующим образом:

Здесь имя типа — правильный идентификатор; список индексов — список одного или нескольких индексных типов, разделенных запятыми; тип — любой тип данных.

Вводить и выводить массивы можно только поэлементно.

Пример 1. Ввод и вывод одномерного массива.

Определить переменную как массив можно и непосредственно при ее описании, без предварительного описания типа массива, например:

Если массивы a и b описаны как:

то переменные a и b считаются разных типов. Для обеспечения совместимости применяйте описание переменных через предварительное описание типа.

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

Вместе с тем, над массивами не определены операции отношения. Сравнивать два массива можно только поэлементно.

Так как тип, идущий за ключевым словом of в описании массива, — любой тип Турбо Паскаль, то он может быть и другим массивом. Например:

Такую запись можно заменить более компактной:

Таким образом возникает понятие многомерного массива. Глубина вложенности массивов произвольная, поэтому количество элементов в списке индексных типов (размерность массива) не ограничена, однако не может быть более 65520 байт.

Работа с многомерными массивами почти всегда связана с организацией вложенных циклов. Так, чтобы заполнить двумерный массив (матрицу) случайными числами, используют конструкцию вида:

Для "красивого" вывода матрицы на экран используйте такой цикл:

Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики

Ссылка на основную публикацию
Logitech deluxe 250 keyboard драйвер
Ниже показаны совместимые с ОС Windows 7 драйвера для Logitech Deluxe 250 USB Keyboard. Каждый драйвер клавиатуры Logitech Deluxe 250...
Adblock detector