Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


АЛГОРИТМИЧЕСКОЕ и ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL



Родионов К.А.

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

АЛГОРИТМИЧЕСКОЕ и ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL

В ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ DELPHI

Учебное пособие для студентов ВУЗов,

обучающихся по специальностям:

151900 – конструкторско-технологическое обеспечение

141100 – энергетическое машиностроение

270800 – строительство

Г. Коломна


УДК 681.3.07

ББК 32.973.26-018.2.75

 

 

Р83 Родионов К.А.

Лабораторный практикум. Алгоритмическое и объектно – ориенти-рованное программирование на языке Pascal в инструментальной среде Delphi.: Уч.пос.— Коломна, МГОУ КИ(ф), 2012.—112 с: ил.

 

 

Лабораторный практикум предназначен для изучения студентами инженерных специальностей основ алгоритмизации и программирования.

Цель книги - научить студента строить логику программы и алгоритмы различных вычислений и как применять полученные знания на практике. Для этого в практикуме подробно описывается логика выполнения каждого участка кода, чтобы студент смог использовать эти знания при решении собственных задач.

Студенты получат все необходимые знания и практические навыки алгоритмического программирования, а также познакомятся и освоят приемы объектно-ориентировнного программирования под Windows в инструментальной среде Delphi.

 

ББК 32.973.26-018.2.75

 

Утверждено на заседании кафедры «Управление, информатика и вычислительная техника» Московского государственного открытого университета Коломенского института (филиала).

Протокол № 4 « 29 » октября 2012 г.

 

 

© Родионов К.А., 2012

© Коломенский институт (филиал) МГОУ, 2012


 

СОДЕРЖАНИЕ

 

1. Лабораторная работа №1. «Основы программирования на языке Pascal в инструментальной среде Delphi. Разработка алгоритмов линейной структуры»
2. Лабораторная работа №2. «Программирование алгоритмов разветвляющейся структуры»
3. Лабораторная работа №3. «Программирование алгоритмов циклической структуры»
4. Лабораторная работа №4. «Обработка файловых структур данных»
5. Лабораторная работа №5. «Применение объектно-ориентированных компонент в инструментальной среде Delphi»
6. Лабораторная работа №6. «Работа с меню. Построение диаграмм»
7. Литература

ЛАБОРАТОРНАЯ РАБОТА №1

«ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PASCAL
В ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ DELPHI.
РАЗРАБОТКА АЛГОРИТМОВ ЛИНЕЙНОЙ СТРУКТУРЫ»

 

Тема: Основы программирования на языке Pascal в инструментальной среде Delphi.

Цель работы. Знакомство с инструментальной средой программирования Delphi, развитие навыков разработки алгоритмов и программирования на языке Pascal:

· изучить интерфейс среды программирования Delphi;

· научиться составлять блок-схемы алгоритмов;

· изучить приемы описания типов переменных и составления арифметических выражений;

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

· освоить приемы программирования на языке Pascal.

Лабораторная работа выполняется в операционной системе Windows ХР/200х с использованием инструментальной среды программирования Delphi и языка программирования Pascal.

 

1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Разделы меню

Если название пункта меню заканчивается многоточием, то при выборе этого пункта меню открывается диалоговое окно. Если название пункта меню содержит стрелку, то при выделении этого пункта меню открывается его подменю. Некоторые команды меню выполняются нажатием сочетания клавиш, которое указывается в названии этих команд. Неактивная команда меню отображается серым шрифтом. Например, команда Paste (вставить) раздела меню Edit (правка) неактивна до тех пор, пока в Буфер обмена не скопирован какой-либо объект.

 

Раздел меню File (Файл)

Раздел меню File (рис. 2) содержит следующие команды:

• New... — Создать.... Открывается диалоговое окно New Items(новые элементы), используемое для создания нового объекта. Окно содержит несколько страниц: New, ActiveX, Projects, Data Modules, Multitier, Projectl, Forms, Business, Dialogs.Каждая страница содержит шаблоны объектов (формы, модули, проекты и др.) • New Application— Новое приложение. Создание нового проекта. Эта команда подразумевает создание нового модуля с заново созданным файлом Unitl.pas, новой формы Formlи нового окна Инспектора объектов. • New Form— Новая форма. Создание новой пустой формы.   Рис. 2. Раздел меню File

New Frame Новый фрейм. Создание нового фрейма. Фрейм представляет собой нечто среднее между панелью и формой.

Open... Открыть.... Отображается диалоговое окно Open, используемое для открытия объекта (например проекта или модуля).

Open Project... Открыть проект.... Отображается диалоговое окно Open Project, используемое для открытия проекта.

Reopen Переоткрыть. Открывается список последних файлов, с которыми работал пользователь.

Save Сохранить. Сохранение текущего модуля или сохранение изменений в модуле.

Save As... Сохранить как.... Сохранение текущего модуля с другим именем.

Save Project As... Сохранить проект как.... Сохранение текущего проекта с другим именем.

Save All Сохранить все. Сохранение проекта и модуля с возможностью дать им новое имя. По умолчанию проекту дается имя Project1 и модулю дается имя Unit1. Если модуль и проект уже были сохранены, то при выборе этой команды сохраняются произведенные в них изменения.

Close Закрыть. Закрытие текущего модуля.

Close All Закрыть все. Закрытие всех открытых объектов.

Use Unit... Сформировать оператор uses.... Выбор этого пункта меню вставляет в код текущего модуля оператор uses (использует) для того модуля (Unit), который вы хотите использовать. Это простой способ включения модуля в код программы, не требующий вставлять вручную имя этого модуля.

Print... Печать.... Производится печать модуля или формы.

Exit Выход. Закрытие программы с одновременным закрытием всех открытых объектов (например, формы, модуля, проекта).

Раздел меню Edit (Правка)

Раздел меню Edit (рис. 3) содержит следующие команды: • Undelete — Отменить. Отмена последнего изменения. Эту команду удобно использовать, если случайно удален нужный объект. • Redo — Повторить. Повторение последнего действия или изменения. • Cut — Вырезать. Удаление в Буфер обмена выделенного фрагмента текста или выделенного объекта на форме или группы выделенных объектов. Для того, чтобы выделить несколько объектов на форме, необходимо щелкать на них указателем мыши при нажатой клавише Shift. Для того, чтобы снять выделение с нескольких объектов, необходимо щелкнуть указателем мыши на свободной от объектов области формы. Рис. 3. Раздел меню Edit

Сору Копировать. Копирование в Буфер обмена выделенного фрагмента текста или выделенного объекта на форме, атакже группы выделенных объектов.

Paste Вставить. Вставка фрагмента текста из Буфера обмена в место, указанное курсором. Вставка на форму объекта или группы объектов из Буфера обмена.

Delete Удалить. Удаление выделенного фрагмента текста. Удаление выделенного объекта или группы объектов.

Select All Выделить все. Выделяются все объекты на форме, если окно формы является активным. Выделяется весь текст модуля, если окно модуля является активным.

Align to Grid Выровнять по сетке. Команда выравнивает размещенные на форме объекты по узлам сетки. Если установлена опция Snap to Grid на странице Preference с помощью команды Options | Environment, то пункт меню Align to Grid не нужен. Все компоненты будут автомати­чески размещаться на форме в узлах сетки.

Bring to Front Переместить наверх. Выделенный объект или группа объектов на форме занимают положение «сверху» по отношению к другим объектам, находящимся на форме (на передний план).

Send to Back Переместить вниз. Выделенный объект или группа объектов на форме занимают положение «снизу» по отношению к другим объектам, находящимся на форме (на задний план).

Align. .. — Выровнять. Производится выравнивание выделенного объекта или группы объектов на форме относительно окна формы (по левой границе окна формы, по верхней границе окна формы, по центру формы и т. д.)

Size. .. — Размер. Производится настройка размеров выделенного объекта или группы выделенных объектов на форме.

Scale... Масштабировать все компоненты на форме. Используя команду Scale (масштаб), вы можете пропорционально изменить масштаб всего, расположенного на форме. Все размеры можно увеличивать или уменьшать вплоть до ста раз. В появляющемся диалоговом окне вам надо задать Scaling factor — масштабирующий коэффициент в процентах.

Tab Order... Порядок переключения.... Delphi позволяет установить последовательность смены активных объектов, расположенных на форме, при нажатии пользователем клавиши табуляции Tab. Команда Tab Order высвечивает на экране диалоговое окно редактирования последовательности табуляции (Edit Tab Order). В окне помещен список имен всех объектов, размещенных на форме. Вы можете изменить их последовательность, выделяя соответствующий элемент и нажимая кнопки со стрелками «вверх» или «вниз».

Creation Order... Порядок создания.... Эта команда позволяет управлять последовательностью, в которой создаются невизуальные компоненты. Эта последовательность может быть важна, если одни из этих компонентов используют свойства других, полагая, что те существуют и инициализированы. Если эти компоненты не создаются в правильной последовательности, то обращение к несуществующему компоненту вызовет генерацию исключения,

Flip Children Повернуть компоненты. Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align (выравнивание).

Lock Controls Зафиксировать объекты. После того, как вы разместили и выровняли объекты на форме, их местоположение полезно зафиксировать этой командой. Иначе в процессе последующей работы над проектом вы можете случайно сдвинуть тот или иной объект, когда будете его выделять курсором, и всю работу по выравниванию придется начинать заново. Команда Lock Controls зафиксирует расположение всех объектов на форме и не позволит их перемещать. Если в дальнейшем у вас все-таки возникнет потребность изменить расположение объектов, выполните повторно команду Edit | Lock Controls (Правка | Зафиксировать объекты) и объекты будут разблокированы.

Add to interface... Добавить в интерфейс компонента ActiveX . С помощью этой команды вы можете добавить новый метод, событие или свойство в компонент ActiveX.

Раздел меню Search (Поиск)

Раздел меню Search (рис. 4) содержит следующие команды:

• Find...— Найти… Выполняется поиск первого вхождения заданной последовательности символов в тексте. При выполнении команды на экране появляется диалоговое окно поиска текста Find Text(найти текст), предоставляя в распоряжение пользователя ряд опций: учет регистра (Case sensitivity), поиск заданной после-довательности символов только как целого слова (Whole words only), направление поиска (Direction), область поиска (Scope)— во всем файле (Global)или только в выделенном   Рис. 4. Раздел меню Search  

фрагменте (Selected text), от курсора (From cursor) или в заданной области независимо от положения курсора (Entire scope).

Find in Files... Найти в файлах.... Выбор этого пункта меню позволяет проводить поиск заданного текста и просматривать каждое его вхождение в нижней части Окна редактора исходного текста (модуля). Наличие списка всех вхождений делает во многих случаях эту команду более удобной, чем Find (найти). Опции диалогового окна позволяют вам проводить поиск во всех файлах текущего проекта (Search all files in project), во всех открытых файлах (Search all open files), и во всех файлах заданного ка­талога (Search in directories). Остальные опции поиска аналогичны команде Find (найти).

Replace... Заменить.... Диалоговое окно этой команды подобно окну команды Find, но содержит окошко для ввода заменяемой последовательности символов — Text to find, и окошко Replace with, в котором вы задаете текст замены.

Search Again Повторить поиск. Эта команда повторяет последний проведенный вами поиск, который вы задавали в диалоговом окне Find Text (найти текст).

Incremental Search Быстрый поиск по вводимым символам. Выбрав этот пункт меню, начните печатать какое-нибудь слово. Delphi найдет в тексте первое вхождение печатаемой вами последовательности символов. Это прекрасный инструмент в тех случаях, когда вы только приблизительно знаете, что именно хотите найти.

Go to Line Number. .. — Перейти на строку с заданным номером.... Этот пункт меню позволяет вам ввести номер строки (в пределах числа строк, имеющихся в вашем приложении), на которую вы хотите перейти.

Find Error. .. — Найти ошибку,... С помощью этого пункта меню вы можете найти в тексте место последней ошибки, случившейся при выполнении приложения. Delphi откомпилирует ваше приложение и остановится на операторе программы, которому соответствует эта ошибка. Это простой способ отыскания ошибок во время выполнения.

Browse Symbol. .. — Просмотр информации об идентификаторе... . После успешной компиляции вашей программы вы можете посмотреть в диалоговом окне Browse Symbol информацию о любом идентификаторе, используемом в ней: имени компонента, типе, стандартной функции или процедуре.

 

Раздел меню View (Вид)

Выпадающее меню просмотра View (рис. 5) позволяет вывести на экран или скрыть различные элементы среды программирования Delphi и открыть окна, связанные с интегрированным отладчиком.

Раздел меню View содержит следующие команды:

Project Manager Менеджер проекта. Активизирует окно Менеджера проекта, в котором отображены структура проекта и путь к файлам проекта.

Translation Manager Менеджер перевода. Активизируется окно Менеджера перевода.

 

• Object Inspector — Инспектор объектов. Активизирует окно Инспектора объектов. Окно Инспектора объектов отображает свойства и события выделенного объекта. • To-Do-List — Список дел. Используется для управления ходом работы над файлами с программами. Активизируется окно со списком комментариев из создаваемых программ, начинающихся словом TODO. Alignment Palette — Палитра выравнивания. Эта команда активизирует очень удобный инструмент — палитру выравнивания. Это визуальный вариант диалогового окна выравнивания Alignment (выравнивание), которое вызывается командой меню Edit | Align (Правка|Выровнять). Вы вызываете данную палитру, выделяете элементы, которые хотите выровнять, а затем выбираете, что вы хотите с ними сде­лать. Пиктограммы   Рис. 5. Раздел меню View  

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

Browser Обозреватель. Этот пункт меню активизирует окно, которое позволит наблюдать модель наследования и взаимосвязи объектов. Она дает возможность отслеживать иерархию моделей объектов в Delphi. Этот пункт меню доступен только после того, как приложение будет откомпилировано.

Code Explorer Обзор кода. Активизирует Окно редактора исходного текста, помогающего анализировать текст модуля.

Component List Список компонентов. Выбор этого пункта меню отобразит диалоговое окно алфавитного списка всех компонентов в библиотеке. Кнопка Add to Form (добавить на форму) позволяет поместить выбранный ком­понент на форму.

Window List... Список открытых окон.... Выбор этого пункта меню откроет диалоговое окно со списком всех открытых окон Delphi. Вы можете выбрать в нем нужное вам окно, и оно будет активизировано.

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

Breakpoints Точки прерывания. Этот пункт меню активизирует диалоговое окно Breakpoint List (список точек прерывания). Оно покажет все заданные для отладки точки прерывания. Если вы щелкнете правой кнопкой мыши в этом окне, появится меню, позволяющее вам добавлять, изменять и удалять отладочные точки прерывания, формулировать условия прерывания.

Call Stack Стек вызовов. Эта команда активизирует диалоговое окно стека вызовов. Оно показывает последовательность, в которой вызываются процедуры и функции в выполняемом приложении.

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

Local Variables Локальные переменные. Показывает значения локальных переменных выполняемой функции.

Threads Потоки. Показывает список текущих процессов, которые в данный момент выполняются.

CPU Процессор. Окно состояния регистров процессора. Активизирует окно CPU, которое позволяет просматривать исходный текст выполнения модулей.

Event Log Журнал событий. Активизирует окно, отображающее произошедшие события.

Desktops Рабочие столы. Определение интерфейса проекта приложения. Сохраняется, а затем открывается определенный набор форм, сохраненный под каким-то именем.

Toggle Form/Unit Выбрать форму/модуль. Переключение между формой и модулем.

Units. .. — Список модулей проекта.... Выбор этого пункта меню вызовет диалоговое окно, которое покажет список всех модулей (Units) вашего проекта. Вы можете щелкнуть на том модуле, который хотите посмотреть, и он появится в Окне редактора исходного текста.

Forms. .. — Список форм проекта.... Выбор этого пункта меню вызовет диалоговое окно, которое покажет список всех форм вашего проекта. Вы можете щелкнуть на имени той формы, которую хотите посмотреть, и она активизируется на экране.

Type Library Библиотека типов. Используется при преобразовании компонентов Delphi в элементы ActiveX.

New Edit Window Новое окно редактора кода. Выбор этого пункта меню открывает новое Окно редактора кода (или Окно редактора исходного текста), оставляя на месте прежнее. Текущий модуль вашего окна редактирования появится и в новом окне. Наличие на экране нескольких окон редактирования позволяет одновременно видеть коды двух модулей.

Toolbars Панели инструментов. Вы можете добавить или удалить какие-то быстрые кнопки на инструментальной панели, щелкнув на ней правой кнопкой мыши и выбрав команду Customize (настроить) из всплывшего меню.

 

Раздел меню Run (Выполнить)

Раздел меню Run содержит выпадающее меню с командами, обеспечивающими выполнение и отладку вашей программы. Раздел меню Run содержит следующие команды:

Run Выполнить. Выполняется приложение; если до этого не была осуществлена компиляция программы в ее текущем состоянии, то перед запуском эта компиляция выполняется.

Attach to Process... Присоединить к процессу.... Открывается окно со списком процессов, протекающих в данное время на данном компьютере.

Parameters... Параметры.... Позволяет задать параметры командной строки, необходимые при запуске приложения.

Register ActiveX Server Зарегистрировать в Windows активный сервер ActiveX. Этот пункт меню дает возможность зарегистрировать ваш активный сервер ActiveX в Windows. Если вы проведете подобную регистрацию, то ваш управляющий активный элемент можно будет вызывать, применяя программу просмотра Web или другие приложения. Прежде чем использовать управляющий элемент в первый раз, его надо зарегистрировать. Снятие с регистрации осуществляется командой Unregister ActiveX Server раздела меню Run.

Unregister ActiveX Server Снятие с регистрации в Windows активного сервера ActiveX. Тем самым экземпляр вашего активного элемента удаляется из системы.

Install MTS Objects... Инсталлировать объект MTS.... Эту команду можно использовать, если на вашем компьютере установлен Microsoft transaction server (MTS) и ваш проект является проектом MTS. Тогда эта команда устанавливает ваш объект MTS в пакет MTS (см. Приложение 2).

Step Over Шаг вне. Приложение выполняется по шагам без захода в функции.

Trace Into Шаг внутрь. Приложение выполняется по шагам с заходом в функции.

Trace to Next Source Line До следующей строки. Приложение выполняется до следующей выполняемой команды.

Run to Cursor Выполнить до курсора. Приложение выполняется вплоть до той точки в исходном тексте, где находится курсор.

Run Until Return Выполнять до возвращения. Приложение выполняется до выхода из процедуры.

Show Execution Point Показать точку выполнения. Выполните эту команду, если вы закрыли Окно редактирования и находитесь в процессе пошаговой отладки программы. Это вернет вас в Окно редактирования, причем курсор будет расположен на операторе, который будет выполняться следующим.

Program Pause Пауза. Пауза в выполнении программы.

Program Reset Остановить. Завершение выполнения приложения и выгрузка его из памяти.

Inspect... Инспектор.... Активизируется окно Inspect.

Evaluate/Modify... Изменить значение переменной при выполнении.... Эта команда позволяет вам с помощью диалогового окна изменять значение переменной в процессе выполнения программы. Более того, вы можете написать некоторое выражение, включающее переменные вашего приложения, и это выражение будет немедленно посчитано.

Add Watch... Добавить переменную в окно наблюдения... . Этот пункт дает вам один из способов добавить наблюдаемую переменную в список Watch (наблюдение). Другой способ — выполнить View | Watches (Вид | Наблюдения), сделать щелчок правой кнопкой мыши на окне Watch List (список наблюдений) и выбрать пункт Add (добавить) в выпадающем меню.

Add Breakpoint Добавить точку прерывания. Эта команда предоставляет вам один из способов добавить новую точку в список точек прерывания. Это вызовет также выделение красным цветом соответствующего оператора в исходном тексте вашей программы. Другой способ сделать то же самое - выполнить View | Breakpoint (Вид | Точка прерывания), сделать щелчок правой кнопкой мыши на окне Breakpoint List (список точек прерывания) и выбрать пункт Add (добавить) в выпадающем меню.

 

Структура программы

Программа на языке Pascal состоит из заголовка, раздела описаний и раздела операторов.

Program Имя; Заголовок программы
Label раздел меток Const раздел констант Type раздел типов Var раздел переменных Procedure раздел процедур Function раздел функций Разделописаний
BEGIN Оператор1; Оператор2; ... ОператорN; END. Раздел операторов (тело программы)

 

Заголовок содержит служебное слово PROGRAM, имя программы, задаваемое программистом. Заканчивается заголовок символом "; " (точка с запятой).

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

Объявление процедур и функций является одним разделом. Следует заметить, что не все перечисленные разделы обязательны в программе. В простых программах могут потребоваться, например, только разделы описания констант и переменных.

После каждого описания ставится символ "; ".

Раздел операторов (" тело" программы) заключается в операторные скобки вида: BEGIN (" начать" ) и END (" окончить" ), при этом после служебного слова END обязательно ставится точка. В разделе операторов записывается последовательность исполняемых операторов и каждый выражает действие, которое необходимо выполнить. Исполняемые операторы отделяются друг от друга символом "; ".

Хороший стиль программирования требует:

1. записывать слова PROGRAM, BEGIN, END с одинаковой позиции строки;

2. по отношению к ним описания и операторы принято сдвигать вправо на 2-3 символа. Желательно сдвиг делать на одинаковое количество позиций от края или по отношению к предыдущему сдвигу.

 

Константы и переменные

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

Константы - это данные, значения которых не изменяются в процессе работы программы. Константы " узнаются" по форме их записи. С каждой константой связывается характеристика, называемая типом константы.

В языке Pascal используются константы трех видов: числовые, булевские и символьные. Числовые константы предназначены для представления целых и вещественных чисел. Булевские константы используются для представления данных, имеющих смысл логических высказываний (булевские константы могут принимать лишь два значения). Символьные константы представляют данные, являющиеся последовательностями символов.

Значения переменных (в отличие от значений констант) могут изменяться во время выполнения программы. Переменные " узнаются" по именам (идентификаторам).

С каждой переменной программы связывается одна и только одна её характеристика, называемая типом.

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

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

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

1. простейшие, или скалярные (к скалярным типам данных относятся типы данных таких величин, значения которых не содержат составных частей, т.е. простейшие типы: целочисленный, вещественный, логический, символьный, перечисляемый, интервальный (тип диапазон) и ссылочный;

2. структурированные (структурированный тип данных, или структуры) данные, в своей основе имеет один или несколько скалярных типов данных, к ним относятся: строки, массивы, множества, записи, файлы;

3. процедурные и типа object (этим типам данных трудно поставить в соответствие данные в обычном понимании этого слова. Их названия отражают их базовые признаки и используются, как правило, в объектно-ориентированном программировании. Понимание работы с этими типами данных требует наличия определённого опыта и навыков программирования.

Рассмотрим некоторые скалярные (простейшие) типы данных.

1. Диапазон значений типа Byte: 0..255. Над данными типа Byte допустимы следующие операции:
+ (сложение);
+ (одноместный (унарный) плюс);
- (вычитание);
- (одноместный (унарный) минус);
* (умножение);
DIV (деление (получение частного));
MOD (получение остатка (второй операнд должен быть положительным));
ShL (логический сдвиг влево);
ShR (логический сдвиг вправо);
=, < >, <, < =, >, > = - операции сравнения.
При логическом сдвиге биты, оказавшиеся за пределами разрядной сетки кода, отбрасываются, а вместо недостающих устанавливаются нули.

2. Диапазон значений типа Integer: -32768..32767. Над данными типа Integer допустимы те же операции, что и над данными типа Byte.

3. Диапазон значений типа Word: 0..65535. Над типом Word допустимы те же операции, что и над данными типа Integer.

4. Диапазон значений типа Real: 2.9E-39..1.7E+38 (по абсолютной величине). Данные типа Real имеют точность до одиннадцати значащих цифр. Над данными типа Real допустимы следующие операции:
+ (сложение);
+ (одноместный (или унарный) плюс);
- (вычитание);
- (одноместный (или унарный) минус);
* (умножение);
/ (деление);
=, < >, <, < =, >, > = (операция сравнения).

5. Тип данных Char определяет множество символов с кодами ASCII. Над данными типа Char допустимы операции сравнения (=, < >, <, < =, >, > =).

6. Данные типа Boolean могут принимать два значения: TRUE и FALSE. Над данными типа Boolean допустимы следующие операции:
AND (логическое И);
OR (логическое ИЛИ);
XOR (логическое исключающее ИЛИ);
NOT (логическое отрицание);
=, < >, <, < =, >, > = (операции сравнения).

 

Встроенные константы

В языке Pascal есть ряд констант, к значениям которых можно обращаться без предварительного определения; их называют встроенными (или зарезервированными) константами. Перечислим некоторые из них:

MaxInt: Integer - возвращает число 32767, наибольшее значение типа Integer;

PI: Real - возвращает число p=3.14159265358.

 

Встроенные функции

Odd (A: Integer): Boolean - возвращает TRUE, если А нечётно;

Int (X: Real): Real - возвращает целую часть аргумента;

Round (X: Real): Integer - возвращает результат округления аргумента до ближайшего целого;

Trunc (X: Real): Integer - " отбрасывает" дробную часть аргумента;

Frac (X: Real): Real - возвращает дробную часть аргумента;

Abs (X: Real): Real - возвращает абсолютное значение аргумента;

Abs (X: Integer): Integer - возвращает абсолютное значение аргумента;

Random (A: Integer): Integer - возвращает случайное число из промежутка [0, A);

Ord (A: Char): Byte - возвращает код символа A;

Chr (A: Byte): Char - возвращает символ, код которого равен A.

UpCase (A: Char): Char - превращает строчные буквы латинского алфавита в соответствующие им прописные;

Sqr (X: Integer): Integer - возвращает квадрат аргумента;

Sqr (X: Real): Real - возвращает квадрат аргумента;

Sqrt (X: Real): Real - возвращает квадратный корень аргумента;

Exp (X: Real): Real - возвращает экспоненту аргумента;

Ln (X: Real): Real - возвращает логарифм аргумента;

Sin (X: Real): Real - возвращает синус аргумента;

Cos (X: Real): Real - возвращает косинус аргумента;

ArcTan (X: Real): Real - возвращает арктангенс аргумента.

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

ArcSin (x)=ArcTan(x/Sqrt(1-x*x));

ArcCos (x)=PI/2-ArcTan(x/Sqrt(1-x*x));

ArcCtg (x)=PI/2-ArcTan(x);

Logba =Ln(a)/Ln(b);

ax =Exp(x*Ln(a)), где a> 0.

 

Процедура вывода данных

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

Синтаксис процедуры Write и WriteLn:

" Слепой" вывод значений переменных.
Write (X, Y); WriteLn (X, Y);
Вывод результата выражения.
Write (X+Y); WriteLn (X+Y);
Форматированный вывод значения переменной
Write (X: 6: 2); WriteLn (X: 6: 2);
Вывод некоторой фразы на дисплей
Write ('Фраза'); WriteLn ('Фраза');
Вывод фразы и значения переменной на экран
Write ('Фраза', Y); WriteLn ('Фраза', Y);

где: 1) X, Y - переменные, значения которых нужно вывести на экран; 2) 'Фраза' - некоторый пояснительный текст, который обычно сопровождает значение переменной; 3) X: 6: 2 - указывается формат значения переменной. Это значит, что всего 6 символов, отводится под значение переменной X, причем после десятичной точки будет выведено на экран 2 символа. Это так называемый форматированный вывод числа с фиксированной точкой.

 

Оператор присваивания

Оператор присваивания (: =) предписывает вычисление значения выражения, заданного в его правой части, и присвоение результата переменной, имя которой указано в левой его части. Переменная и выражение должны быть совместимы по типу.

Приведём примеры синтаксиса оператора присваивания:

Y: =2; X: ='Строка'; P: =V1; Summa: =V2;

где:

(1) X, Y, P, Summa - имена переменных, описанных в разделе описания переменных;

(2) 2, 'Строка' - некоторые значения;

(3) V1, V2 - выражения, значения которых нужно вычислить.

 

 

2. ПРАКТИЧЕСКАЯ РАБОТА

 

2.1 Программирование алгоритма линейной структуры

Простейшей алгоритмической структурой является линейная последовательность операций, которые выполняются по очереди и именно в том порядке, в котором записаны. Программную реализацию такой алгоритмической структуры будем называть линейной программой. Линейные алгоритмы и линейные программы обычно предназначены для решения относительно простых задач, в которых не предусмотрен выбор из нескольких возможных альтернатив или циклическое по­вторение каких-либо операций.

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

Задание: Решить задачу определения значений арифметических выражений: a+b, a–b, a´ b, a/b. В качестве исходных данных используйте значения a = 5, b = 7. Результаты вычисления программы выведите в окно консольного приложения.

1. Запустите интегрированную среду Delphi: Пуск - Программы - Borland Delphi 7 -. Delphi 7.

2. Создайте новое консольное приложение: File - New - Other…
(Файл - Новый - Другие…). На вкладке New открывшегося диалогового окна «New Items» выберите значок Console Application (консольное приложение) и нажмите ОК.

3. В рабочей области редактора наберите код программы, представленный на листинге 1.

 

Листинг 1.

program Z1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var a, b: real;

R1, R2, R3, R4: real;

begin

{Исходные данные}

a: = 5;

b: = 7;

{Вычисление результата}

R1: = a + b;

R2: = a - b;

R3: = a * b;

R4: = a / b;

{Вывод на печать}

Writeln('R1=', R1);

Writeln('R2=', R2);

Writeln('R3=', R3);

Writeln('R4=', R4);

Writeln('End program.'); Readln;

end.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 1054; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.17 с.)
Главная | Случайная страница | Обратная связь