русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Начало систематического изложения Turbo Pascal (TP)

· Алгоритмический язык TP ориентирован на работу в среде MS-DOS.

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

· В основе этих принципов заложена концепция типа данных, которую можно сформулировать следующим образом:

1)каждая переменная, константа, выражение и функция относятся к определенному типу данных;

2)тип данных задается явно;

3)над данными каждого типа допустимы определенные операции.

· Язык Pascal называют языком со строгой типизацией данных. Строгая типизация данных требует некоторых дополнительных затрат от разработчика программы на этапе проектирования и реализации на алгоритмическом языке, однако эти затраты окупаются на стадии отладки и модификации программы, поскольку у компилятора имеется возможность более детального синтаксического анализа исходного текста во время компиляции и создания машинного кода, способного более строго контролировать корректность операций на шаге выполнения.

· Каждая реализация языка ТP является расширением базового (стандартного) языка Pascal. Для того чтобы создавать мобильные программы, необходимо в данной конкретной реализации отличать средства, относящиеся к стандарту, и возможности, относящиеся к расширению стандарта.

· Программа - цепочка символов, слова, разделители, пробелы.

· Программа - последовательность предложений (вложенность)

· Структура программы: [Заголовок], секция описаний, секция действий.

· Алфавит языка TP содержит прописные и строчные буквы латинского алфавита (буквой считается символ подчеркивания "_"), цифры от 0 до 9, символы + - * / = > < ( ) [ ] { } . , ; : ' @ # ^ $ и пробел.

· К элементам языка относятся:

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

стандартные идентификаторы (предопределенные имена)

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

· Идентификатором в TP может быть любое слово, состоящее из букв и цифр, начинающееся с буквы. Компилятор не различает прописные и строчные буквы, кроме того, следует иметь в виду, что компилятор анализирует лишь первые 63 символа идентификатора.

· Все зарезервированные (ключевые) слова алгоритмического языка следует помнить, поскольку нельзя использовать в программе идентификаторы, совпадающие с ключевым словом. В списке ключевых слов значком "+" помечены слова, не используемые в стандарте языка Pascal:

and   Mod shr+
asm file Nil string+
array for Not then
begin   object+ to
case function Of type
const goto or unit+
constructor+ if packed until
destructor+ implementation+ procedure uses+
div in program var
do inline+ record  
downto interface+ repeat while
else   set with
end label shl+ xor+

· Стандартные идентификаторы могут быть переопределены в программе, однако при этом теряется возможность использования соответствующих предопределенных средств. Например, в программе можно описать переменную "sin", но доступ к стандартной функции синуса будет закрыт в области действия этой переменной.

· Специальные символы обозначают следующие элементы языка:

+ - * / - арифметические операции;

+ - * - операции над множествами;

= < > <= >= <> - отношения;

:= - присваивание;

. - конец программы, составной идентификатор, селектор поля записи;

, - разделитель элементов списка;

: - используется при описаниях;

; - разделитель операторов языка;

.. - диапазон;

[ ] или (. .) - селектор элемента массива;

{ } или (* *) - скобки для выделения комментариев;

+ - операция конкатенации строк

# - обозначение символа по его коду;

@ - обозначение адреса переменной;

$ - обозначение директивы компилятора или шестнадцатеричной константы;

^ - обозначение указателя.

· Комментарии { } (* *)

· Классификация типов данных:

· О совместимости типов данных.

TP - язык со строгой типизацией данных. Это означает, что во время выполнения программы производится проверка справедливости (допустимости) выполняемых операций. Строгая типизация налагает определенные ограничения, которые объединены понятием совместимости типов данных. В основном программист должен сам предвидеть и обеспечивать явное преобразование типов данных там, где это необходимо. В TP явное преобразование типа данных осуществляется по схеме NewType(value), где значение value будет преобразовано к новому типу данных NewType.

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

· В TP выделены три вида совместимости типов данных, и каждый вид предоставляет определенные возможности по совместному использованию данных. Два типа данных могут характеризоваться как одинаковые, совместимые по операциям (или просто совместимые) и совместимые по присваиванию.

· Две переменные относятся к одинаковым (эквивалентным) типам, если описания переменных:

а)ссылаются на одно и то же имя типа;

б)ссылаются на различные имена типов (пусть Т1 и Т2), которые в разделе описания типов объявлены идентичными (TYPE T1=T2);

· Бинарные операции могут быть выполнены над операндами, относящимися к совместимым (по операциям) типам данных. Два типа совместимы (по операциям), если:

а)типы одинаковы (эквивалентны);

б)оба типа целые или оба типа вещественные;

в)один тип есть диапазон другого, или оба есть диапазоны от третьего;

г)оба типа - строка (STRING);

д)один тип - строка, а другой - ARRAY[1..n] of CHAR, или просто CHAR;

е)оба типа - множества с совместимыми по операциям базовыми типами;

ж)один тип - ссылочный, другой бестиповый указатель;

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

и)Считается, что каждый объект типа "множество" совместим с пустым множеством и каждый объект типа "указатель" совместим с константой NIL.

· Величина может быть присвоена переменной, если их типы совместимы по присваиванию. Выражение f типа F называется совместимым по присваиванию с переменной w типа W, если :

а)F и W - эквивалентные, не файловые типы (и не содержат файловые типы в качестве полей);

б)оба типа - совместимые ординарные типы и значения выражения f попадают в диапазон допустимых значений типа W;

в)оба вещественные типы и значение выражения f допустимо для типа W;

г)W - вещественный тип , F - целый;

д)W - строка, F - либо строка, либо символ, либо массив символов;

е)W и F - совместимые множественные типы, причем множество f целиком входит во множество W;

ж)W и F - совместимые ссылочные типы или совместимые процедурные типы;

з)W - процедурный тип, а f - имя процедуры или функции (параметры и типы должны быть согласованны);

и)W и F - объектные типы, причем тип F потомок типа W, либо оба типа ссылочные на совместимые объектные типы.

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

Просмотров: 656


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.