скачать рефераты
  RSS    

Меню

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

скачать рефераты

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

ческие операции, дающие действительный результат:

  

    сложение + ,  вычитание - ,  умножение * ,  деление / .

  

   К величинам действительного типа применимы все операции отношения,

дающие булевский результат.

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

   К действительным аргументам применимы функции, дающие действитель-

ный результат:

   

     Abs(X), Sqr(X), Sin(X), Cos(X),  ArcTan(X),  Ln(X),  Exp(X),

Sqrt(X), Frac(X), Int(X), Pi.

   

   Функция Frac(X) возвращает дробную часть X, функция Int(X) - целую

часть X.

   Безаргументная функция  Pi  возвращает  значение числа Пи действи-

тельного типа.

   К аргументам действительного типа применимы также функции

   

     Trunc(X) и Round(X),

   

дающие целый  результат.  Первая из них выделяет целую часть действи-

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

аргумент до ближайшего целого.

   ЛОГИЧЕСКИЙ тип (Boolean)  определяет те данные, которые могут при-

нимать логические значения TRUE и FALSE.

   К булевским операндам применимы следующие логические операции:

   

     not     and      or     xor.

   

   Логический тип определен таким образом, что FALSE < TRUE. Это поз-

воляет применять к булевским операндам все операции отношения.

   В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа:

ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два

и четыре байта соответственно.

   СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность симво-

лов, допустимых    в  данной ЭВМ.  Значение символьной переменной или

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

   Символьная константа  может  записываться в тексте программы тремя

способами:

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

   

      'A'   'a'   'Ю'  'ю';

   

   -с помощью конструкции вида #K, где K - код соответствущего симво-

ла, при этом значение K должно находиться в пределах 0..255;

   -с помощью конструкции вида ^C, где C - код соответствущего управ-

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

кода управляющего символа.

   К величинам символьного типа применимы все операции отношения.

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

     

        Ord(C)     Chr(K).

  

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

волов,  вторая  определяет по порядковому номеру К символ, стоящий на

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

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

ляют предыдущий и последующий символы:

    

      Pred(C)    Succ(C).   Pred('F') = 'E' ; Succ('Y') = 'Z' .

   

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

ответствующих функций не определено.

   Для литер из интервала 'a'..'z' применима функция UpCase(C), кото-

рая переводит эти литеры в верхний регистр 'A'..'Z'.

   

   АДРЕСНЫЙ тип (Pointer) определяет переменные, которые могут содер-

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

адреса требуются два слова (4 байта), одно из них определяет сегмент,

второе - смещение.

   Работа с адресными переменными  (указателями)   будет  рассмотрена

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

переменной введена унарная операция @.

 

  

6.   К О Н С Т А Н Т Ы

   

   Тип констант  в  языке ПАСКАЛЬ определяется по их виду:  константы

целого типа - это целые числа,  не содержащие десятичной точки, конс-

танты действительного  типа - действительные числа,  логические конс-

танты - логические значения TRUE и FALSE, символьные константы - либо

строки длиной в один символ, либо конструкции вида #K или ^K.

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

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

констант, например: {}

7.   П Е Р Е М Е Н Н Ы Е.

И Н И Ц И А Л И З А Ц И Я  П Е Р Е М Е Н Н Ы Х

   Тип переменных определяется пользователем в разделе описания пере-

менных:{}

   В настоящее  время  в  профессиональном  программировании  принято

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

кой нотации.

   Венгерская нотация  -  это соглашение о наименованиях переменных и

функций.  Соглашение широко используется при программировании на язы-

ках PASCAL, C и в среде WINDOWS.

   Венгерская нотация основывается на следующих принципах:

   -имена переменных и функций должны содержать префикс,  описывающий

их тип;

   -имена переменных  и функций записываются полными словами или сло-

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

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

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

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

вол _ (подчеркивание).

   Для языка  PASCAL  могут быть рекомендованы следующие префиксы для

скалярных переменных и функций:

Префикс     Тип

---------------------

by        Byte

sh        Shortint

i         Integer

w         Word

l         Longint

r         Real

si        Single

d         Double

e         Extended

c         Comp

ch        Char

b         Boolean

p         Pointer

x,у       координаты символа или точки на экране

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

ющие префиксы:

a         Array

s         String

sz        Stringz

se        Set

re        Record

f         File

t         Text

   Например:

    rV, arVector[1..20], sName, iCount.

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

памяти, и всем переменным присвоены нулевые значения.

   Для задания начальных значений переменным (инициализации  перемен-

ных) TURBO PASCAL позволяет присваивать начальные значения переменным

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

    имя переменной: тип = значение;

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

    const rWeight: Real = 0.4;

8.   В Ы Р А Ж Е Н И Я

   Выражение состоит  из  констант,  переменных,  указателей функций,

знаков операций и скобок. Выражение задает правило вычисления некото-

рого значения.  Порядок вычисления определяется старшинством (приори-

тетом) содержащихся  в нем операций. В языке ПАСКАЛЬ принят следующий

приоритет операций:

  1. унарная операция  not, унарный минус  -, взятие адреса  @

  2. операции типа умножения  *  /  div  mod  and  shl  shr

  3. операции типа сложения  +  -  or  xor

  4. операции отношения  =   <>   <    >   <=    >=  in

  {}

   Выражения входят в состав многих операторов языка ПАСКАЛЬ, а также

могут быть аргументами встроенных функций.

9.   О П Е Р А Т О Р   П Р И С В А И В А Н И Я

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

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

му. При    этом  происходит  преобразование  значения   выражения   к

действительному типу.{}

10.   О П Е Р А Т О Р Ы   В В О Д А

И   В Ы В О Д А

   Рассмотрим организацию  ввода и вывода данных с терминального уст-

ройства. Терминальное устройство - это устройство, с которым работает

пользователь, обычно это экран (дисплей) и клавиатура.

   Для ввода и вывода данных используются стандартные процедуры ввода

и вывода Read и Write, оперирующие стандартными последовательными файлами

INPUT и OUTPUT.

   Эти файлы разбиваются на строки переменной длины,  отделяемые друг

от друга признаком конца строки.  Конец строки задается нажатием кла-

виши ENTER.

   Для ввода исходных данных используются операторы процедур ввода:

         Read(A1,A2,...AK);

         ReadLn(A1,A2,...AK);

         ReadLn;

   Первый из них реализует чтение К значений исходных данных и  прис-

ваивание этих значений переменным А1,  А2,  ...,  АК. Второй оператор

реализует чтение К значений исходных данных, пропуск остальных значе-

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

менным А1,  А2, ..., АК. Третий оператор реализует пропуск строки ис-

ходных данных.

   При вводе исходных данных  происходит  преобразование  из  внешней

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

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

либо к   действительному,  либо к символьному типам.  Чтение исходных

данных логического типа в языке ПАСКАЛЬ недопустимо.

   Операторы ввода  при чтении значений переменных целого и

действительного типа пропускает пробелы,  предшествующие числу.  В то

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

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

символами строк. Пример записи операторов ввода:

         var rV, rS: Real;

             iW, iJ: Integer;

             chC, chD: Char;

         ................

         Read(rV, rS, iW, iJ);

         Read(chC, chD);

   Значения исходных данных могут отделяться друг от друга  пробелами

и нажатием клавиш табуляции и Enter.

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

операторы:

         Write(A1,A2,...AK);

         WriteLn(A1,A2,...AK);

         WriteLn;

   Первый из этих операторов реализует вывод значений переменных  А1,

А2,...,АК в   строку экрана.  Второй оператор реализует вывод

значений переменных А1,  А2,  ...,  АК и переход к  началу  следующей

строки. Третий   оператор реализует пропуск строки и переход к началу

следующей строки.

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

действительному, символьному или булевскому типам. В качестве элемен-

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

и строки.

   Вывод каждого  значения в строку экрана происходит в соот-

ветствии с шириной поля вывода,  определяемой конкретной  реализацией

языка.

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

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

тичные числа,  действительного типа - как  действительные  десятичные

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

волов, логического типа - в виде логических констант TRUE и FALSE.

   Оператор вывода  позволяет  задать  ширину поля вывода для каждого

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

элемент списка вывода имеет вид А:К, где

А - выражение или строка,  К - выражение либо константа целого  типа.

Если выводимое значение занимает в поле вывода меньше позиций, чем К,

то перед этим значением располагаются пробелы.  Если выводимое значе-

ние не помещается в ширину поля К,  то для этого значения будет отве-

дено необходимое количество позиций. Для величин действительного типа

элемент списка вывода может иметь вид А:К:М, где А - переменная или выраже-

ние действительного типа,  К - ширина поля вывода,  М  -  число  цифр

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

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

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

    Пример записи операторов вывода:

        . . . . . . . . . . . .

        var rA, rB: Real;       iP,iQ:Integer;

            bR, bS: Boolean;    chT, chV, chU, chW: Char;

        . . . . . . . . . . . .

        WriteLn(rA, rB:10:2);

        WriteLn(iP, iQ:8);

        WriteLn(bR, bS:8);

        WriteLn(chT, chV, chU, chW);

11.   С Т Р У К Т У Р А   П Р О Г Р А М М Ы

   Программа на языке ПАСКАЛЬ состоит из заголовка, разделов описаний

и раздела операторов.

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

      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;

          F1,F2: Boolean;

   Описание типов,  прцедур и функций будет рассмотрено ниже. Отдель-

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

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

программы.

   Раздел операторов  представляет собой составной оператор,  который

содержит между служебными словами

         begin.......end

последовательность  операторов.  Операторы  отделяются  друг от друга

символом ;.

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

   Кроме описаний  и  операторов  ПАСКАЛЬ - программа может содержать

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

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

{ и закрывающей скобкой комментариев }.

   Текст ПАСКАЛЬ - программы может содержать ключи компиляции,  кото-

рые позволяют управлять режимом компиляции.  Синтаксически ключи ком-

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

$ и букву-ключ с последующим знаком + (включить режим)  или - (выклю-

чить режим). Например:

   {$E+} - эмулировать математический сопроцессор;

   {$F+} - формировать дальний тип вызова процедур и функций;

   {$N+} - использовать математический сопроцессор;

   {$R+} - проверять выход за границы диапазонов.

   Некоторые ключи компиляции могут содержать параметр, например:

   {$I имя файла} - включить в текст компилируемой программы  назван-

ный файл.

    Пример записи простой программы:

         Program TRIANG;

          var A, B, C, S, P: Real;

          begin

           Read(A,B,C);

           WriteLn(A,B,C);

            P:=(A+B+C)/2;

            S:=Sqrt(P*(P-A)*(P-B)*(P-C));

           WriteLn('S=',S:8:3)

          end.

12.   Б И Т О В А Я   А Р И Ф М Е Т И К А

   Битовая или поразрядная арифметика  введена  в  TURBO  PASCAL  для

обеспечения возможности работы с двоичными разрядами (битами). Опера-

ции битовой арифметики применимы только к целым типам.

   Первая группа операций - логические операции not, and, or и xor.

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

Страницы: 1, 2, 3, 4, 5, 6, 7


Новости

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

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

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.