Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Понятие синтаксиса

Читайте также:
  1. I . Понятие и признаки правовых норм.
  2. I. Диагностика: понятие, цели, задачи, требования, параметры
  3. I. Доказывание, понятие и общая характеристика
  4. I. Понятие денежных средств
  5. I. Понятие законности. Соотношение законности, права и власти.
  6. I. Понятие законности. Соотношение законности, права и власти.
  7. I. Понятие и виды делового общения
  8. I. Понятие и виды источников (форм) права.
  9. I. Понятие и виды преступности
  10. I. Понятие и сущность бюджетирования.

 

Вкаждом естественном языке, таком как русский, английский, немецкий и т. д., у каждой конструкции есть синтаксис – это правила построенияэтой конструкции языка. Например, предложение в русском языке строится по определенным правилам. Эти правила достаточно сложны, и вы изучаете их в течение многих лет на уроках русского языка.

В искусственных языках, таких как Object Pascal, также имеется синтаксис, но он значительно проще. Но нужно помнить, что он есть, и его необходимо придерживаться при построении конструкций такого языка. Вы не можете на Object Pascal писать так, как вам хочется, надо соблюдать синтаксис.

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

У каждого оператора Object Pascal есть строго определенный синтаксис- правила построения. При описании оператора мы будем обязательно приводить его синтаксис. При описании синтаксиса мы будем использовать следующие условные обозначения:

< > – то, что указано в угловых скобках, должно здесь обязательно находиться;

[ ] – то, что указано в квадратных скобках, может здесь находиться, но не обязательно находится.

Синтаксис оператора присваивания:

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

 

<переменная>:=<выражение>;

 

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

• При присваивании производится жесткий контроль: переменная

• и выражение должны быть обязательно одного типа!

Примеры присваивания

А: =10; – В данном случае в переменную А кладется значение10.

В:=А; – В данном случае в переменную В кладется то же самое значение, что и было в переменной А, т. е. 10.

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

В: =А+1; – В данном случае в переменную В кладется 11, а значение А не изменяется.

Это происходит по той же причине: вычисляется выражение справа, оно равно 11, и это значение кладется в переменную, стоящую слева, т. е. в переменную В.

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

А:=А+1; – В данномслучае А становится равно 11.

Это происходит в точности по той же причине, что и в предыдущем примере.

Целые и вещественные типы

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

Числовые типы данных в языке Object Pascal делятся на 2 группы: целые и вещественные. Целые типы – это типы для переменных, хранящих целые числа, а вещественные - это типы для переменных, хранящих нецелые числа. Все типы языка Object Pascal делятся на фундаментальные и адаптивные. Фундаментальные типы не изменятся в будущих версиях Delphi. Адаптивные типы могут в будущих версиях Delphi измениться. Целых типов в Object Pascal много: их 9. Различаются они количеством памяти, которую занимают, и диапазоном значений. Мы рассмотрим подробнее тип integer.

Тип integer занимает в памяти 4 байта, диапазон его значений примерно от -2*109 до 2*109. Тип является адаптивным. Это связано с тем, что с изменением разрядности процессора (размера чисел, которые процессор способен обработать за одну операцию) меняется и размер типа integer, чтобы наиболее эффективно использовать процессор.

Пример

В данном примере внутри обработчика событий объявлены две переменные А и В, имеющие тип integer.

 

procedure TForml.ButtonlClick (Sender:TObject);

var A,B:integer; begin

end;


Все переменные, объявляемые внутри обработчика, существуют только пока этот обработчик работает, а потом уничтожаются. Такие переменные будем называть «локальными».

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

+ – Сложение.

- – Вычитание либо изменение знака числа (например:-5).

* – Умножение.

/ – Деление. Заметим, что результат деления двух целых чисел имеет вещественный тип, даже если получается целое число.

Div – Целая часть от деления двух чисел (дробная часть просто отбрасывается).

Mod – Остаток от деления двух целых чисел (например, остаток от деления 26 на 7 равен 5).

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

Примеры

 

А:=10;{А равно 10}

В:=А*2;{В равно 20}

А:=В+А*2;{А равно 40}

А:=А+1;{А равно 41}

В:=(А+В) div4; {3 равно 15}

А:=А mod 4;{А равно 1}

 

Переменные вещественных типов предназначены для хранения нецелых чисел. В языке Object Pascal имеются несколько вещественных типов, мы рассмотрим подробнее тип extended.

Переменная типа extended занимает в памяти 10 байтов. Диапазон значений данного типа.6 * 10 4961.. 1.1 * 104932, что покрывает все разумные пределы для чисел. Точность типа 19 – 20 цифр. Тип является фундаментальным.

Следует иметь в виду, что значения в переменных вещественного типа хранятся приближенно. Это значит, что переменная вещественного типа хранит ограниченное количество значащих цифр (для типа extended 19 – 20 цифр на целую и дробную части в сумме), что может приводить к ошибкам округления.

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

Рассмотрим теперь некоторое вещественное число, скажем, 2.37 * 1017. Это число состоит из двух частей: мантиссы, равной в данном случае 2.37, и порядка,равного 17. Поэтому при задании вещественного числа в языке Pascal мы вынуждены отдельно задавать мантиссу, а отдельно порядок.

Такой способ задания вещественного числа называется экспоненциальным форматом

Формат задания вещественного числа следующий:

 

<мантисса>Е<порядок>

 

Пример В:=2.37Е17;

Очевидно, что в данном случае В – переменная одного из вещественных типов.

Над вещественными типами определены 4 операции: сложение, вычитание, умножение и деление. Операции div и mod над вещественными типами запрещены.

Пример

 

procedure TForral.ButtonlClick {Sender:TObject);

var C,D:extended;

begin

C:=10.28;

D:=3.14E-17 + С / 1Е-15 {экспоненциальный формат} end;

 

Если есть выбор: пользоваться целым типом или вещественным, то надо стараться пользоваться целым. Целые переменные быстрее обрабатываются (так как не надо обрабатывать мантиссу вместе с порядком), представляются в памяти точно, а не приближенно, и занимают меньше места в памяти. Например, для хранения денежных сумм применяется не вещественный тип, а целый, а суммы умножаются на 10 000, чтобы обходиться только целыми числами.

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

•Вещественной переменной разрешено присваивать значения целого типа, например:

 

var А:integer;

В:extended;

В:=А;

 

Целой переменной нельзя присваивать значение вещест венного типа:

 

var A:integer; В:extended;

А: =В – нельзя!

А: =А/10– тоже нельзя, так как в правой части – выражение вещественного типа А:=100/10 – и даже вот так нельзя

А:=А div 10 – можно только так


Для выполнения данного присваивания надо воспользоваться одной из функций Round или Trunc.

Выводы. Использование ЭОР «Программирование в среде Object Pascal» и лабораторного практикума в профильном обучении информатике на основе технологии визуального проектирования способствует совершенствованию процесса обучения и повышению творческой и познавательной активности учащихся.

 




Дата добавления: 2014-12-20; просмотров: 34 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав