Концепция действий в языке Паскаль
Блочная организация программ и динамическое распределения памяти. Понятие функции в Стандарте языка. Определение натурального числа рекурсивно. Рассмотрение задачи-игрушки "Ханойские башни". Изучение абстракций посредством параметризации и спецификации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.02.2012 |
Размер файла | 97,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
<составной оператор>
Секции инициализации модулей, которые используются программой, выполняются в том же порядке, в каком модули указаны в предложении использования.
В предложении использования основной программы должны содержаться имена всех модулей, непосредственно или косвенно ею используемых. Так, если программа использует только модуль с именем UnIt1, который в свою очередь использует модуль UnIt2, то в предложение использования программы должны быть включены имена обоих модулей.
В соответствии с соглашениями об уровне абстракции, изменения, вносимые в секции реализации или инициализации не должны оказывать влияния на возможность использования модуля. Однако последнее условие не распространяется на интерфейсную секцию, изменения в которой затрагивают спецификацию модуля. Поэтому при трансляции модуля в Borland Pascal на основе контрольной суммы интерфейсной секции вычисляется номер версии модуля. Если этот модуль используется другим модулем и номера версий модулей, сохраняемые при предыдущей трансляции не совпадают, что свидетельствует об изменении в интерфейсной части модуля со времени его последней трансляции, то система программирования в зависимости от режима трансляции, выдаст сообщение об ошибке или перетранслирует необходимый модуль.
При этом важно отметить, что все процедуры, входящие в состав модулей должны снабжаться хорошим комментарием, играющим роль спецификации и позволяющим однозначно трактовать выполняемые ими действия.
В качестве примера ниже приводится интерфейсная часть стандартного модуля CRT.
Interface
const
{ CRT modes }
BW40 = 0; { 40x25 B/W on Colour Adapter }
CO40 = 1; { 40x25 Colour on Colour Adapter }
BW80 = 2; { 80x25 B/W on Colour Adapter }
CO80 = 3; { 80x25 Colour on Colour Adapter }
Mono = 7; { 80x25 on Monochrome Adapter }
Font8x8 = 256; { Add-in for ROM font }
{ Mode constants for 3.0 compatibility }
C40 = CO40;
C80 = CO80;
{ Foreground and background colour constants }
Black = 0;
Blue = 1;
Green = 2;
Cyan = 3;
Red = 4;
Magenta = 5;
Brown = 6;
Light Gray = 7;
{ Foreground colour constants }
Dark Gray = 8;
Light Blue = 9;
Light Green = 10;
Light Cyan = 11;
Lighted = 12;
Light Magenta = 13; динамический память функция абстракция
Yellow = 14;
White = 15;
{ Add-in for blinking }
Blink = 128;
var
{ Interface variables }
Check Break: Boolean; { Enable Ctrl-Break }
Check OF: Boolean; { Enable Ctrl-Z }
Direct Video: Boolean; { Enable direct video addressing }
Check Snow: Boolean; { Enable snow filtering }
Last Mode: Word; { Current text mode }
Testator: Byte; { Current text attribute }
Winding: Word; { Window upper left coordinates }
Windbag: Word; { Window lower right coordinates }
{ Interface procedures }
procedure Assignor(var F: Text);
function Key Pressed: Boolean;
function Read Key: Char;
procedure Text Mode(Mode: Integer);
procedure Window(X1,Y1,X2,Y2: Byte);
procedure Goody(X,Y: Byte);
function Where: Byte;
function Where: Byte;
procedure Closer;
procedure Creole;
procedure Incline;
procedure Decline;
procedure TextColor(Colour: Byte);
procedure Text Background(Colour: Byte);
procedure Low Video;
procedure High Video;
procedure Norm Video;
procedure Delay(MS: Word);
procedure Sound(Hz: Word);
procedure No Sound;
Размещено на Allbest.ru
Подобные документы
История и суть задачи "Ханойские башни", построение ее математической модели в виде рекуррентного соотношения. Решение задачи с помощью рекурсии и кода Грея, ее связь с теорией графов. Анализ временных затрат. Различные головоломки с измененным условием.
курсовая работа [1021,6 K], добавлен 06.08.2013Выбор метода проектирования транслятора с языка Паскаль на язык Си, разработка и кодирование алгоритма программы. Использование допустимых операторов в исходном тексте, определение типов переменных и синтаксиса логических и арифметических выражений.
курсовая работа [1,0 M], добавлен 03.07.2011Создание приложения, исполняющего трансляцию программы из языка Паскаль в язык Си: разработка алгоритма реализации задачи, описание необходимых констант, переменных, функций и операторов, представление листинга программы и распечатка результатов.
курсовая работа [305,9 K], добавлен 03.07.2011Лингвистическая концепция языка Паскаль. Интегрированная инструментальная оболочка. Основы построения программ на ТП 7.0. Алфавит языка и специфика использования символов. Простые типы данных: константы и переменные. Циклические конструкции и операции.
курсовая работа [284,6 K], добавлен 02.07.2011Схема разбора арифметического и логического выражения. Внешняя спецификация конвертора и алгоритм перевода программ на языке Паскаль в текст на языке Си. Назначение подпрограмм, особенности констант и переменных. Код программы и ее тестирование.
курсовая работа [567,5 K], добавлен 03.07.2011Ханойские башни: постановка задачи, условия перемещения дисков со стержня на стержень. Стратегия решения, используемые предикаты. Текст программы на языке Пролог. Построение модели решения задачи о ферзях. Примеры использования списков в языке Пролог.
презентация [72,0 K], добавлен 29.07.2012Исследование правил интеллектуальной игры "Ханойская башня". Описания алгоритма решения задачи на языке программирования Пролог. Характеристика компиляции и запуска программы с решением для трёх дисков. Изучение работы визуализатора, написание скрипта.
курсовая работа [672,6 K], добавлен 13.06.2012Создание транслятора, обрабатывающего код программы на языке Паскаль и за счет эквивалентных операторов генерирующего программу на Си. Особенности внешней спецификации и работы лексического анализатора. Структура программы, вывод результатов на экран.
курсовая работа [254,0 K], добавлен 02.07.2011Особенности программирования на языке Паскаль в среде Турбо Паскаль. Линейные алгоритмы, процедуры и функции. Структура данных: массивы, строки, записи. Модульное программирование, прямая и косвенная рекурсия. Бинарный поиск, организация списков.
отчет по практике [913,8 K], добавлен 21.07.2012Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.
курсовая работа [290,9 K], добавлен 05.12.2008