RSS    

   Реферат: Основные понятия алгоритмического языка

         [1]        [1,3]

         [2]        [2,3]

         [3]        [1,2,3]

   Порядок перечисления элементов базового типа в константах  безраз-

личен.

   Значение переменной  множественного  типа  может быть задано конс-

трукцией вида [T], где T - переменная базового типа.

   К переменным и константам множественного типа  применимы  операции

присваивания(:=), объединения(+), пересечения(*) и вычитания(-):

         ['A','B'] + ['A','D']      даст  ['A','B','D']

         ['A'] * ['A','B','C']      даст  ['A']

         ['A','B','C'] - ['A','B']  даст  ['C'].

   Результат выполнения  этих  операций  есть величина множественного

типа.

   К множественным величинам применимы операции: тождественность (=),

нетождественность (<>), содержится  в (<=), содержит (>=).  Результат

выполнения этих операций имеет логический тип, например:

         ['A','B'] = ['A','C']  даст FALSE

         ['A','B'] <> ['A','C'] даст TRUE

         ['B'] <= ['B','C']     даст TRUE

         ['C','D'] >= ['A']     даст FALSE.

   Кроме этих операций для работы с величинами множественного типа  в

языке ПАСКАЛЬ используется операция

         in

проверяющая  принадлежность  элемента  базового типа,  стоящего слева

от знака операции,  множеству, стоящему справа от знака операции. Ре-

зультат выполнения этой операции - булевский.  Операция проверки при-

надлежности элемента множеству часто используется вместо операций от-

ношения, например:

         A in ['A', 'B'] даст  TRUE,

         2 in [1, 3, 6]  даст  FALSE.

  

   При использовании  в   программах   данных   множественного   типа

выполнение операций происходит над битовыми строками данных.  Каждому

значению множественного типа в памяти ЭВМ соответствует один двоичный

разряд. Например, множество

         ['A','B','C','D']

представлено в памяти ЭВМ битовой строкой

         1 1 1 1.

Подмножества этого множества представлены строками:

         ['A','B','D']   1 1 0 1

         ['B','C']       0 1 1 0

         ['D']           0 0 0 1

   Величины  множественного типа не могут быть элементами списка вво-

да - вывода.

   В каждой  конкретной  реализации транслятора с языка ПАСКАЛЬ коли-

чество элементов базового типа,  на котором строится множество, огра-

ничено. В  TURBO PASCAL количество базовых элементов не должно превы-

шать 256.

   Инициализация величин  множественного  типа производится с помощью

типизированных констант:

  

   const  seLit: Set of 'A'..'D'= [];

  

   Проиллюстрируем применение  данных множественного типа на примере.

   Пример. Составить программу, которая вырабатывает и выводит на эк-

ран дисплея наборы случайных чисел для игры в "Спортлото 5 из 36".

   Для заполнения каждой карточки спортлото необходимо получить набор

из пяти псевдослучайных чисел. К этим числам предъявляются два требо-

вания:

    -числа должны находиться в диапазоне 1..36;

    -числа не должны повторяться.

  

    Program Lotto;

     var

         nb, k: Set of 1..36;

         kol, l, i, n: Integer;

     begin

        Randomize;

        WriteLn('ВВЕДИ kol');

        ReadLn(kol);

        nb:=[1..36];

        for i:=1 to kol do

          begin

           k:=[];

           for l:=1 to 5 do

             begin

               repeat

                 n:=Random(36)

               until (n in nb) and not (n in k);

               k:=k+[n];

               Write(n:4)

             end;

           WriteLn

          end

         end.

   

29.   З А П И С И

   Запись представляет собой совокупность ограниченного  числа  логи-

чески связанных компонент,  принадлежащих к разным типам.  Компоненты

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

записи содержит имя поля, вслед за которым через двоеточие указывает-

ся тип этого поля. Поля записи могут относиться к любому типу, допус-

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

   Описание записи   в   языке   ПАСКАЛЬ   осуществляется  с  помощью

служебного слова RECORD,  вслед за которым описываются компоненты за-

писи. Завершается описание записи служебным словом END.

   Например, записная книжка содержит фамилии,  инициалы и номера те-

лефона, поэтому отдельную строку в записной книжке удобно представить

в виде следующей записи:

  

         type   Row=Record

                     FIO: String[20];

                     TEL: String[7]

                    end;

         var    str: Row;

   Описание записей возможно и без использования имени типа,   напри-

мер:

         var  str: Record

                    FIO: String[20];

                    TEL: String[7]

                   end;

   Обращение к записи в целом допускается только в операторах присва-

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

записей одинакового типа. Во всех остальных случаях оперируют отдель-

ными полями записей.  Чтобы обратиться к отдельной компоненте записи,

необходимо задать  имя записи и через точку указать имя нужного поля,

например:

  

         str.FIO,   str.TEL

   Такое имя называется составным. Компонентой записи может быть так-

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

большее количество имен.

   Обращение к  компонентам записей можно упростить,  если воспользо-

ваться оператором присоединения with.

   Он позволяет заменить составные имена,  характеризующие каждое по-

ле, просто на имена полей, а имя записи определить в операторе присо-

единения:

  

         with M do OP;

   Здесь М  -  имя  записи,   ОР  - оператор,  простой или составной.

Оператор ОР представляет собой область действия оператора присоедине-

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

   Иногда содержимое отдельной записи зависит от значения  одного  из

ее полей.  В языке ПАСКАЛЬ допускается описание записи,  состоящей из

общей и вариантной частей.  Вариантная часть задается с помощью конс-

трукции

         case P of,

где Р - имя  поля из общей  части  записи. Возможные значения, прини-

маемые этим полем,  перечисляются так же, как и в операторе варианта.

Однако вместо указания выполняемого действия, как это делается в опе-

раторе варианта,    указываются поля варианта,  заключенные в круглые

скобки. Описание вариантной части завершается служебным словом end.

   Тип поля Р можно указать в заголовке вариантной части, например:

  

         case P: Integer of

  

   Инициализация записей  осуществляется  с  помощью   типизированных

констант:

  

   type

     RecType= Record

               x,y: Word;

               ch: Char;

               dim: Array[1..3] of Byte

              end;

  

   const

     Rec: RecType= ( x: 127; y: 255;

                     ch: 'A';

                     dim: (2, 4, 8) );

{}

30.   Ф А Й Л Ы

   Введение файлового типа  в  язык  ПАСКАЛЬ  вызвано  необходимостью

обеспечить возможность работы с периферийными (внешними) устройствами

ЭВМ, предназначенными для ввода, вывода и хранения данных.

   Файловый тип данных или файл определяет упорядоченную совокупность

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

   Общее свойство массива,  множества и записи заключается в том, что

количество их компонент определено на этапе написания программы, тог-

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

и может быть произвольным.

   Понятие файла  достаточно  широко.  Это может быть обычный файл на

диске, коммуникационный порт ЭВМ,  устройство печати,  клавиатура или

другие устройства.

   При работе с файлами выполняются операции ввода - вывода. Операция

ввода означает   перепись  данных  с внешнего устройства (из входного

файла) в  основную память ЭВМ, операция вывода - это пересылка данных

из основной памяти на внешнее устройство (в выходной файл).

   Файлы на внешних устройствах часто называют  физическими  файлами.

Их имена  определяются  операционной системой.  В программах на языке

Паскаль имена файлов задаются с помощью строк. Например, имя файла на

диске может иметь вид:

  

   'A:LAB1.DAT'

   'c:\ABC150\pr.pas'

   'lab3.pas'.

  

   Операционная система  MS-DOS не делает особого различия между фай-

лами на дисках и лентах и устройствами ЭВМ и портами коммуникаций.  В

TURBO PASCAL  могут использоваться имена устройств и портов,  опреде-

ленные в MS-DOS, например:

  

   'CON',  'LPT1',  'PRN',  'COM1',  'AUX',  'NUL'.

  

   С файловой системой TURBO PASCAL связано понятие  буфера  ввода  -

вывода. Ввод  и вывод данных осуществляется через буфер.  Буфер - это

область в памяти,  которая выделяется для каждого файла. При записи в

файл вся  информация сначала направляется в буфер и там накапливается

до тех пор,  пока весь объем буфера не будет заполнен.  Только  после

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.