Описание подмножества языка паскаль

Автор работы: Пользователь скрыл имя, 28 Октября 2011 в 21:23, реферат

Краткое описание

Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя:
- буквы латинского алфавита,
- цифры
- символ подчеркивания.

Содержимое работы - 1 файл

паскаль.doc

— 108.50 Кб (Скачать файл)

Сипливец  Юля, КМ-72

СИСТЕМЫ ПРОГРАММИРОВАНИЯ

Описание  подмножества языка Паскаль 

  1. Имена (идентификаторы)

     Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор  в Турбо Паскале может включать в себя:

      - буквы латинского алфавита,

      - цифры

      - символ подчеркивания.

     Строчные  и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции (например, name1 и name2item являются допустимыми идентификаторами, а 5name - нет; _name, name_, name_item - тоже допустимые названия). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова. 

     2) Базовые типы данных

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

       Тип определяет:

    • возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;
    • внутреннюю форму представления данных в ЭВМ;
    • операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

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

     

     Пример  декларации: х1: real

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

     45 – целое десятичное число

     -21 – отрицательное десятичное целое число 
 

     Пример  декларации: х1: single;

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

     6; 1,43; 0; 8,467;

     

     Пример  декларации: х1: char;

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

     ‘A’; ‘ ‘ – пробел, ‘; ’- точка с запятой 
 

  1. Операции  и выражения
 

      В табл.1 приведены операции Турбо Паскаля

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

     Операции  с равным приоритетом производятся слева направо с возможным  регулированием порядка выполнения скобками.

     4) Типы данных пользователя и операции над ними

     Пользовательский  тип данных – массив.

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

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

     Декларация:

     Var <идентификатор,…> : array [тип индекса] of <тип компонент>;

Или

     Type

     <имя  типа>= [тип индекса]  of <тип компонент>;

     Var <идентификатор,…> : <имя типа>; 

     Пример:

     VAR

       M1 : array[1..200] of integer;  { М1, A1 - одномерные  массивы целых  и вещественных  чисел }

     A1 : array[100..200] of single;

     ch1 : array['A'..'Z'] of char;  { сh1, ch2 - одномерные массивы символов }

     ch2 : array[0..255] of char; 

     Примеры присвоения значения:

     M1[1] := 5;

     A1[101] := 0.2;

     ch1['B'] := 'C';

     Если  в описании массива задан один индекс, массив называется одномерным, если n индексов – n-мерным. 

     5) Операторы управления 

     ОПЕРАТОР  ПРИСВАИВАНИЯ:

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

Декларация:<идентификатор>:=<выражение>;

Пример: x:=1; a:=5. 02; b := 32*a+Sin(x); S:= 'Иван Иваныч';

     СОСТАВНОЙ ОПЕРАТОР представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end.

     Декларация:

     Begin

       <оператор;>

             …

       <оператор>

     End;

     Пример:

     Begin

       A:=A*B+(N-D);

       Rez:=A+B*Pi;

       Writeln(Rez:12:6)

     End;

     ОПЕРАТОР  ВЫБОРА

     Декларация:

if логическое-выражение then оператор-1 [ else оператор-2 ]

    Пример:

    A:=2;

    B:=8;

    If A>B then writeln (‘A больше B’)

                else  writeln (‘А меньше или равно В’). 

     ОПЕРАТОР  ВАРИАНТА

     Декларация:

     case выражение-типа-integer,word,char,byte of

     значение : оператор;

     значение-1 .. значение-2 : оператор;

     значение-1, значение-2 .. значение-3 : оператор

      [ else оператор ]

     end

    Пример:

    Case I of

    1: Z:=I+10;

    2: Z:=I+100;

    3: Z:=I+1000

    end; 

     ОПЕРАТОР  ЦИКЛА С ПАРАМЕТРОМ

     Декларация:

     for целая-переменная := выражение-1 to выражение-2 do

     оператор 

     for целая-переменная := выражение-1 downto выражение-2 do

     оператор 

     ОПЕРАТОР  ЦИКЛА С ПРЕДУСЛОВИЕМ (ПОКА ИСТИНА)

     Декларация:

     while логическое-выражение do

     оператор 

     ОПЕРАТОР  ЦИКЛА С ПОСТУСЛОВИЕМ (ПОКА ЛОЖЬ)

     Декларация:

     repeat

     оператор-1; оператор-2; ... оператор-n

     until логическое-выражение

    Пример:

     D:=1; S:=0;

     Repeat

     S:=S+D;  D:=D+1;

     Until(D<100); 
 

     6) Управление данными

     В стандарте языка Паскаль передача параметров может производиться  двумя способами - по значению и по ссылке. Параметры, передаваемые по значению, называют параметрами-значениями, передаваемые по ссылке - параметрами-переменными. Последние отличаются тем, что в заголовке процедуры перед ними ставится служебное слово var.  

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

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

     Выбор способа передачи параметров при  создании процедуры происходит в  соответствии со сказанным выше: входные  параметры нужно передавать по значению, а выходные - по ссылке. Практически  это сводится к расстановке в заголовке процедуры описателя var при всех параметрах, которые обозначают результат работы подпрограммы.

     Пример  процедуры:

     Procedure Sphere; - {не требует формальных параметров}

     Procedure Sort(A: integer); {A – формальный параметр} 

7) Структура программы

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

Program PRIM;

Описания могут  включать в себя:

  • раздел подключаемых библиотек (модулей);
  • раздел описания меток;
  • раздел описания констант;
  • раздел описания типов;
  • раздел описания переменных;
  • раздел описания процедур и функций.

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

uses CRT, Graph; 

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

label 3, 471, 29, Quit; 

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

const K= 1024; MAX= 16384;

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

var P,Q,R: Integer;

A,B:   Char;

Информация о работе Описание подмножества языка паскаль