В искусственных языках, таких как ObjectPascal, также имеется синтаксис, но он значительно проще. Но нужно помнить, что он есть, и его необходимо придерживаться при построении конструкций такого языка. Вы не можете на ObjectPascalписать так, как вам хочется, надо соблюдать синтаксис.
Основной конструкцией ObjectPascal, так же как и многих других языков программирования, является оператор. Оператор – это аналог предложения в естественном языке. Он выражает некоторое действие, которое необходимо выполнить. Операторы разделяются точкой с запятой.
У каждого оператора ObjectPascalесть строго определенный синтаксис- правила построения. При описании оператора мы будем обязательно приводить его синтаксис. При описании синтаксиса мы будем использовать следующие условные обозначения:
< > – то, что указано в угловых скобках, должно здесь обязательно находиться;
[ ] – то, что указано в квадратных скобках, может здесь находиться, но не обязательно находится.
Синтаксис оператора присваивания:
Итак, перейдем к синтаксису оператора присваивания
<переменная>:=<выражение>;
Оператор присваивания работает следующим образом: сначала вычисляется выражение в правой части, а затем результат вычисления кладется в переменную, стоящую в левой части.
• При присваивании производится жесткий контроль: переменная
• и выражение должны быть обязательно одного типа!
Примеры присваивания
А: =10; – В данном случае в переменную А кладется значение10.
В:=А; – В данном случае в переменную В кладется то жесамое значение, что и было в переменной А, т. е. 10.
Это происходит потому, что при присваивании сначала вычисляется правая часть, а затем результат кладется в переменную, что стоит слева. Правая часть в данном примере очевидно равна 10, это значение и кладется в переменную, стоящую слева, т. е. в переменную В.
В: =А+1; – В данном случае в переменную В кладется 11, а значение А не изменяется.
Это происходит по той же причине: вычисляется выражение справа, оно равно 11, и это значение кладется в переменную, стоящую слева, т. е. в переменную В.
Значение переменной, участвующей в вычислении выражения, не меняется. Значение переменной может измениться, только если она находится в левой части оператора присваивания.
А:=А+1; – В данномслучае А становится равно 11.
Это происходит в точности по той же причине, что и в предыдущем примере.
Целые и вещественные типы
Приступим теперь к изучению типов, которые есть в языке ObjectPascal. Начнем с типов, используемых для хранения чисел.
Числовые типы данных в языке ObjectPascalделятся на 2 группы: целые и вещественные. Целые типы – это типы для переменных, хранящих целые числа, а вещественные - это типы для переменных, хранящих нецелые числа.Все типы языка ObjectPascalделятся на фундаментальные и адаптивные. Фундаментальные типы не изменятся в будущих версиях Delphi. Адаптивные типы могут в будущих версиях Delphiизмениться. Целых типов в ObjectPascalмного: их 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}
Переменные вещественных типов предназначены для хранения нецелых чисел. В языке ObjectPascalимеются несколько вещественных типов, мы рассмотрим подробнее тип 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.
Выводы. Использование ЭОР «Программирование в среде ObjectPascal» и лабораторного практикума в профильном обучении информатике на основе технологии визуального проектирования способствует совершенствованию процесса обучения и повышению творческой и познавательной активности учащихся.
Отечественная система образования является важным фактором сохранения места России в ряду ведущих стран мира, ее международного престижа как страны, обладающей высоким уровнем культуры, науки, образования. Нашему обществу нужны современно образованные, нравственные, предприимчивые люди, которые могут самостоятельно принимать ответственные решения в ситуации выбора, прогнозируя их возможные последствия, способны к сотрудничеству, отличаются мобильностью, динамизмом, конструктивностью, обладают развитым чувством ответственности за судьбу страны.
Практически все, кто работает или работал в школе, знают, что, начиная с 8го класса, очень небольшое количество детей имеет одинаково хорошие успехи в изучении всех предметов программы, равное желание и стремление овладеть знаниями по математике и литературе и, что самое главное, равные для этого возможности. Но все равно учительская точка зрения 'мой предмет самый главный и нужный, я лучше знаю насколько он вам понадобится в жизни', приводит к проблеме прогрессирующей перегрузки учеников, внутреннему сопротивлению обучающегося. И как следствие нежелание учащихся продолжать обучение; стрессы; и т.д.
Выход в изменении отношения к ситуации в образовательном процессе. Именно с этой целью в школах вводятся элективные курсы в старших классах, предусматривающие организацию профильного обучения по гуманитарному, естественно-математическому, технологическому и общеобразовательному направлениям. Последний призван обеспечить более глубокую универсальную подготовку тем старшеклассникам, которые еще не окончательно определились в своем выборе.
На старшей ступени общеобразовательной школы ставятся задачи создания системы специализированной подготовки (профильного обучения) в старший классах общеобразовательной школы, ориентированной на индивидуализацию обучения и социализацию обучающихся, в том числе с учетом реальных потребностей рынка труда, отработки гибкой системы профилей и кооперации старшей ступени школы с учреждениями высшего профессионального образования.