Структурированные типы данных

Страницы работы

Фрагмент текста работы

Глава 7.  СТРУКТУРИРОВАННЫЕ  ТИПЫ  ДАННЫХ

              7.1.  Масссивы

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

Количество индексных позиций определяет размерность массива (одномерный, двумерный и т.д.). Индексы элементов массива должны  принадлежать порядковому типу.

К типовым операциям с массивами относятся:

          q    ввод массива

          q    вывод массива       

     qпреобразование  массива

     q    сортировка массива

qпоиск в массиве

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

Объявление массива. Перед использованием массив, как и любая переменная, должен быть объ­явлен в разделе объявления переменных.

В общем виде объявление массива выглядит так:

 Имя: аггау [нижний индекс .. верхний индекс] of  Тип;

где  Имя -  имя переменной-массива;

        аггау - ключевое слово, обозначающее, что переменная является

                   мас­cивом.

        нижний_индекс и верхний_индекс - целые числа, определяющие диапа­зон изменения индексов (номеров) элементов массива и, неявно, количе­ство

элементов (размер) массива;

        Тип - тип элементов массива.

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

     a) в разделе описания переменных

            var

               a : array [1..5]  of  byte;

               b : array [1..3]  of  integer;

               z : array [‘d’..’g’]  of  char;

               name : array[1..30]  of  string[25];

        б) с помощью типизированной переменной

                       type

                                 mar =array[1..5] of byte;

                        var

                               a:mar;

При описании массивов в программе удобно использовать именованные константы как значения верхних границ индексов массива.

Именованная константа объявляется в разделе описания констант, который располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const.

            const

                  n=5;   {Число книг}

                  S=25;{Длина наименования книги}

            var

                  b : array [1..n ] of  integer;

                  temp: array[1..s] of string[25];

Каждая отдельная величина массива называется элементом. Тип элементов может быть любым, принятым в языке Pascal, кроме файлового типа.

Тип элементов называется базовым типом. Вся совокупность элементов определяется одним именем. Для обозначения отдельных элементов массива используется конструкция, называемая переменной с индексом или с индексами:    a[5] s[k+1]  b[3,5]

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

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

Ввод массива. Под вводом массива понимается ввод значений элементов         массива. Для ввода или вывода массива в список ввода или вывода помещается переменная с индексом, а операторы ввода или вывода выполняются в цикле.

Чтобы пользователь программы знал, ввода какого элемента массива ожида­ет программа, следует организовать вывод подсказок перед вводом очеред­ного элемента массива. В подсказке обычно указывают индекс элемента массива.                                                             1

    1)  Ввод элементов одномерного массива с помощью клавиатуры:

          for i:=1 to n do

                            read(a[i]);

     2) Ввод элементов одномерного массива с помощью  типизированных констант.

Ввод элементов массива с помощью констант называется еще инициализацией массива.

        а)         сonst

                               A1 : array [1..6] of integer = (-5,8,5,0,7,-8);

                               A2 : array [ 1..3] of char = (‘a’,’b’,’c’);

        б)         type

                               Dim10= array[1..10] of  Real;

                     const

                                raM10: Dim10 = ( 0, 2.1, 4, 5.65, 6.1, 6.7, 7.2, 8, 8.7, 9.3 );

3) Ввод элементов одномерного  массива с помощью датчика случайных чисел

randomize; 

        for i:=1 to 10 do

                            begin

a[i]:=random (20);

                            end;

В этом случае значениями элементов массива a[i] будут произвольные значения от 0 до 19 .Для того чтобы получились дробные числа нужно в функции random опустить параметр.

Вывод массива. Под выводом массива понимается вывод на экран значений элементов массива. Вывод элементов одномерного  массива  на экран.

write (‘Вывод элементов одномерного  массива ’);

for i:=1 to 10 do

                                begin

writeln (i,’  ’,a[i]);

                                end;

Пример 7.1. Вычисление суммы 10 – и элементов массива.

Program  Prog7_1;

var

       a:array[1..10] of real;

       i:integer;

       c:real;

begin

          c:=0;

          writeln('Вычислить сумму элементов массива');

          writeln('Введите 10  элементов массива');

        for i:=1 to 10 do

                      begin

                               write(i, элемент=);

                                readln(a[i]);

                               c:=c+a[i];

                      end;

         writeln('Сумма элементов массива',c);

         writeln('Для окончания работы нажмите Eenter);

         readln;

end.

Пример 7.2.  Вывод на экран номера и названия   предметов  учебного плана,  хранящихся в массиве Pred

Program prog7_2;

uses winCrt;

 var

         Pred:аггау[1..5] of  string[20];

         i: integer;

 begin

          Pred[1] = 'Информатика';       

          Pred[2] = 'Управление качеством';  

          Pred[3] = 'Менеджмент';        

          Pred[4] = 'Экология';    

          Pred[5] = 'Английский язык'; 

          for  i:=1 to 5 do

                  Writeln( i:2, pred[i]);

                    end.

Пример 7.3.  Присваивание значений элементов одного массива другому.

Одномерные массивы могут присваивать свое значение целиком, если их типы эквивалентны:

program prog7_3;

uses WinCrt;

var

       a,b:array[1..7] of real;

       i:byte;

begin

        write (“ввод массива”)

        for i:=1 to 7 do

                      begin

                                read(a[i]);

                                b:=a;

                      end;

        for i:=1 to 7 do

                    write(b[i]);

end.

{Пример 7.4. Программа ввода символов  с использованием функции EOLN.

Встроенная функция EOLN (End Of LiNe) проверяет  есть ли вве­денные символы, и если есть, то возвращает true, если последний необработанный

Похожие материалы

Информация о работе