RSS    

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

ния переменных, например:

        var  Section: (RED, YELLOW, GREEN);

   При этом имена типов отсутствуют,  а переменные определяются сово-

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

   К переменным перечисляемого  типа  может  быть  применим  оператор

присваивания:

          Section:= YELLOW;

   Упорядоченная последовательность значений, составляющих перечисля-

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

ницу. Отсюда следует, что к перечисляемым переменным и константам мо-

гут быть применены операции отношения  и  стандартные  функции  Pred,

Succ, Ord.

   Переменные и константы перечисляемого типа не могут быть элемента-

ми списка ввода или вывода.

22.   И Н Т Е Р В А Л Ь Н Ы Й   Т И П   Д А Н Н Ы Х

   Отрезок любого порядкового типа

может   быть определен как интервальный или ограниченный

тип. Отрезок  задается диапазоном от  минимального  до  максимального

значения констант, разделенных двумя точками. В качестве констант мо-

гут быть использованы константы, принадлежащие к целому, символьному,

логическому или перечисляемому типам. Скалярный тип, на котором стро-

ится отрезок, называется базовым типом.

   Минимальное и  максимальное  значения констант называются нижней и

верхней границами отрезка,  определяющего интервальный  тип.   Нижняя

граница должна быть меньше верхней.

 {}

   Над переменными,  относящимися к интервальному типу,  могут выпол-

няться все операции и применяться все стандартные  функции,   которые

допустимы для соответствующего базового типа.

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

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

границы, введенные для этих переменных в описании интервального типа.

23.   М А С С И В Ы

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

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

массива. Тип   компонент может быть любым,  принятым в языке ПАСКАЛЬ,

кроме файлового типа. Тип компонент называется базовым типом.

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

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

менной с индексом или с индексами:

          A[5]     S[k+1]     B[3,5].

   В качестве индекса может быть использовано выражение. Тип индексов

может быть только интервальным или перечисляемым.   Действительный  и

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

зовым является целый тип,  могут принимать отрицательные,  нулевое  и

положительные значения.{}

  В операторной части

программы один массив может быть присвоен другому, если их типы иден-

тичны, например:

         R1:=Z.

   Для ввода  или вывода массива в список ввода или вывода помещается

переменная с индексом,  а операторы ввода или  вывода  выполняются  в

цикле.

{}

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

Двумерные массивы хранятся в памяти ЭВМ по строкам.

   Инициализация массивов (присвоение начальных значений всем  компо-

нентам массивов) осуществляется двумя способами.

   Первый способ - с использованием типизированных констант,   напри-

мер:

   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 );

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

входящих в него одномерных массивов записывается в скобках:

   type Dim3x2= Array[1..3,1..2] of Integer;

   const

    iaM3x2: Dim3x2= ( (1, 2)

                      (3, 4)

                      (5, 6) );

   Второй способ инициализации - использование разновидности процеду-

ры FillChar:

   FillChar( var V; NBytes: Word; B: Byte );

Эта процедура заполняет участок памяти однобайтовым значением. Напри-

мер, для обнуления массива A[1..10] of Real можно записать:

   FillChar(A, 40, 0);

или

   FillChar(A, SizeOf(A), 0);

{}

24.   С Т Р О К И

   Особое место в языке ПАСКАЛЬ занимают массивы символов.  Стандарт-

ный ПАСКАЛЬ допускает два способа хранения символьных массивов в  па-

мяти ЭВМ: распакованный и упакованный. Распакованные массивы символов

хранятся в памяти ЭВМ по одному символу в машинном слове, упакованные

- по одному символу в байте. При описании упакованного массива симво-

лов используют служебное слово PACKED, например:

            var   MAS: Packed Array[1..20] of Char;

Описание распакованного массива символов имеет вид:

            var   M: Array[1..20] of char;

   Для преобразования символьного массива из  распакованной  формы  в

упакованную и наоборот,  из упакованной в распакованную,  в язык ПАС-

КАЛЬ введены две стандартные функции Pack, UnPack.

   Упакованный массив символов образует символьную строку. Символьная

строка может быть либо строковой константой, либо строковой  перемен-

ной. Строковая константа, или строка, представляет собой совокупность

символов, заключенную  в апострофы.  Строка - это элементарная  конс-

трукция языка ПАСКАЛЬ. Строковые константы могут входить в состав вы-

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

описания констант.

   Строковые переменные - это одномерные упакованные  массивы  симво-

лов, для описания которых в TURBO PASCAL введен тип String.

   Например, если строка содержит до 30 символов,  ее тип будет опре-

делен как

    type   s= String[30];

   Длина строки не может содержать более, чем 255 символов.

   В TURBO PASCAL определено понятие строки переменной длины,  в этом

случае ее описание задается как

    type  s= String;

   Тип String без указания длины совместим со всеми типами строк.

   Особенностью строковых переменных является то, что к ним можно об-

ращаться как к скалярным переменным, так и к массивам. Во втором слу-

чае применяется конструкция "переменная с индексом", что обеспечивает

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

равна 1. Отдельный символ строки совместим с типом Char.

   В памяти ЭВМ строка занимает количество байтов, на единицу большее

ее длины. Нулевой байт строки содержит ее длину.

   Для строк определены операции присваивания, слияния (конкатенации)

и сравнения.

   Для сравнения строк применяются все операции отношения.  Сравнение

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

ны, если имеют одинаковую длину и посимвольно эквивалентны.

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

сывается имя строки без индекса.

   При вводе  строковых переменных количество вводимых символов может

быть меньше,  чем длина строки. В этом случае вводимые символы разме-

щаются с начала строки, а оставшиеся байты заполняются пробелами. Ес-

ли количество  вводимых  символов  превышает  длину  строки,   лишние

символы отбрасываются.

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

ных констант:

   const sName: String[9]= 'IBM PC/AT';

так и с использованием второй разновидности функции FillChar:

   FillChar( var V; NBytes: Word; C: Char );

например:

   FillChar(A, SizeOf(A), '0');

   Для работы  со  строками в TURBO PASCAL включены процедуры и функ-

ции, которые обеспечивают редактирование и преобразование строк.

{}

25.   П Р О Ц Е Д У Р Ы   И   Ф У Н К Ц И И

   Алгоритм решения  задачи проектируется путем декомпозиции всей за-

дачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подп-

рограмм.

   Подпрограмма - это последовательность операторов,  которые опреде-

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

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

дая подпрограмма определяется уникальным именем.  В языке ПАСКАЛЬ су-

ществуют два типа подпрограмм - процедуры и функции.

   Процедура и  функция - это именованная последовательность описаний

и операторов.  При использовании процедур или функций ПАСКАЛЬ - прог-

рамма должна содержать текст процедуры или функции и обращение к про-

цедуре или функции.  Тексты процедур и функций  помещаются  в  раздел

описаний процедур и функций.

{}

   Процедура может содержать такие - же разделы описаний,  что и ПАС-

КАЛЬ - программа,  а именно:  разделы описания модулей,  меток, конс-

тант, типов, переменных, процедур и функций.

{}

   ПЕРЕДАЧА ИМЕН ПРОЦЕДУР И ФУНКЦИЙ В КАЧЕСТВЕ ПАРАМЕТРОВ.  Во многих

задачах, особенно в задачах вычислительной математики, необходимо пе-

редавать имена процедур и функций в качестве параметров.  Для этого в

TURBO PASCAL   введен новый тип данных - процедурный или функциональ-

ный, в зависимости от того, что описывается.

   Описание процедурных и функциональных типов производится в разделе

описания типов:

   type

         FuncType = Function(z: Real): Real;

         ProcType = Procedure (a,b: Real; var x,y: Real);

   Функциональный и процедурный тип определяется как заголовок проце-

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

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


Новости


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

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

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.