Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LabsDelphi1

.pdf
Скачиваний:
18
Добавлен:
31.03.2015
Размер:
492.92 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

В.С. БАТАСОВА

РЕАЛИЗАЦИЯ АЛГОРИТМОВ В СРЕДЕ DELPHI

Сборник заданий для лабораторных работ

Методическое пособие по курсу «Информатика»

для студентов 1 курса факультета Электронной техники

Москва

Издательский дом МЭИ

2008

УДК 621.398 Б-28

Утверждено учебным управлением МЭИ в качестве методического пособия для студентов

Подготовлено на кафедре прикладной математики

Рецензент: профессор В.Б. Глаголев

Батасова В.С.

Б-28 Реализация алгоритмов в среде Delphi. Сборник заданий для лабораторных работ: методическое пособие / В.С. Батасова.– М.: Издательский дом МЭИ, 2008.– 40 с.

ISBN.

Сборник содержит 10 лабораторных работ по реализации алгоритмов в среде Borland Delphi – от простейших консольных приложений до оконных приложений с графическим выводом и обработкой исключений.

Пособие предназначено для студентов 1 курса факультета Электронной техники МЭИ. Может использоваться студентами всех специальностей при изучении алгоритмизации и программирования.

Учебное издание

Батасова Валентина Сергеевна

РЕАЛИЗАЦИЯ АЛГОРИТМОВ В СРЕДЕ DELPHI. Сборник заданий для лабораторных работ.

Методическое пособие по курсу «Информатика» для студентов 1 курса факультета Электронной техники МЭИ (ТУ)

Редактор

Темплан издания МЭИ , учебн.

Подписано к печати

 

 

Печать офсетная

Формат 60 84/16

Физ. печ. л. 2,5

Тираж 300

 

 

 

ЗАО «Издательский дом МЭИ», 11250, Москва, Красноказарменная, д. 14 Отпечатано в типографии НИИ «Геодезия», 141292, Московская обл., г. Красноармейск, просп. Испытателей, д. 14.

ISBN

© Московский энергетический институт

 

(технический университет), 2008

ВВЕДЕНИЕ

На протяжении последних десятилетий основы программирования являются неотъемлемой частью инженерного образования. Несмотря на существование систем прикладных программ для решения задач практически во всех сферах и появление новых систем, эта часть не потеряла своего значения. Конечно, не все инженеры занимаются профессиональным программированием, но знание его основ позволяет грамотно использовать готовое программное обеспечение.

В этом пособии собрано 10 лабораторных работ по реализации алгоритмов в среде Borland Delphi – от простейших консольных приложений до оконных приложений с графическим выводом и обработкой исключений. Цель ла-

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

Среда Delphi, использующая язык программирования Объектный Паскаль, выбрана, с одной стороны, как одна из самых распространенных в настоящее время систем разработки программ, а, с другой стороны, как среда, традиционно используемая в начальном обучении программированию. Предлагаемый сборник не привязан к конкретной версии Delphi, но команды главного меню соответствуют версии Borland Delphi 7; в этой же версии были отлажены приведенные примеры программ.

В лабораторных работах используются задачи из сборника задач [1]. При подготовке к работам студентам также могут потребоваться пособия [2] и [3].

Cборник можно разделить на две части. В первую часть входят лабораторные работы №№1-4, в которых используется режим консольного приложения. Ко второй части относятся работы №№5-10, предназначенные для обучения разработке оконных приложений. На факультете Электронной техники МЭИ, для которого написано это пособие, первая часть работ выполняется в первом семестре, а вторая часть – во втором.

Сборник полностью соответствует учебной программе по дисциплине «Информатика» для студентов 1 курса ЭТФ. Он может использоваться при обучении программированию на других факультетах МЭИ.

3

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

Цель работы: приобретение навыков создания, сохранения и отладки программ в режиме консольного приложения среды Delphi; освоение приемов проектирования простейших циклических алгоритмов

Продолжительность работы: 2 часа

1. ПОДГОТОВКА К РАБОТЕ

Перед началом выполнения работы студент должен:

1.Разработать проект отчета по решению предлагаемой задачи ([1] 1.3.1.N+1,

где N – номер студента по журналу группы). Проект отчета должен содержать (см. также приложение 1):

1)номер и условие задачи;

2)состав данных задачи;

3)формы ввода и вывода;

4)блок-схему алгоритма решения задачи;

5)текст паскаль-программы;

6)тесты.

Необходимо иметь два теста. Один тест представляет собой специально подобранные значения исходных данных, для которых несложно оценить зна-

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

2.Набрать текст паскаль-программы в блокноте (программа NotePad).

3.Ознакомиться со средствами отладки программ в консольном приложении,

например, по пособию [2].

2.ЗАДАНИЕ И РЕКОМЕНДАЦИИ ПО ЕГО ВЫПОЛНЕНИЮ

1.Запустите Delphi и создайте новое консольное приложение.

Для создания нового консольного приложения надо через главное меню Delphi набрать команду File/New/Other и в появившемся диалоговом окне NewItems выбрать значок Console Application (консольное приложение).

4

сюда вставить раздел Var

с описанием переменных

сюда вставить содержимое раздела действий

Рис. 1 . Окно консольного приложения

Система Delphi выдаст окно (см. рис. 1) текстового редактора консольного приложения с заготовкой паскаль-программы, имеющей автоматически сгенерированное имя Project1 (Project2, и т. д.).

2.Из подготовленного в блокноте текста программы через буфер обмена вставьте в консольное приложение описание переменных и операторы раздела действий (см. рис. 1). При этом нельзя удалять директиву компилятора

{$APPTYPE CONSOLE} и предложение uses Sysutils. Строка комментариев //Insert user code here может быть удалена.

3.Сохраните приложение в своей папке на рабочем диске компьютера. Сохранение осуществляется с помощью главного меню File/Save all или

соответствующей кнопкой панели инструментов (найдите ее, используя подсказки среды Delphi). В появившемся диалоговом окне следует указать нужную папку и имя файла (совпадающее с именем, указанным в инструкции program). Среда Delphi приписывает программе расширение .dpr. Од-

новременно создаются два файла с расширениями .dof и .cfg, характери-

зующие конфигурацию и настройки среды Delphi. При переносе программы в другую папку или на другой компьютер последние два файла переносить необязательно. Рекомендуется для каждого проекта приложения Delphi иметь отдельную папку.

4. Откомпилируйте и выполните приложение. Для проверки правильности программы используйте первый тест.

5

Компиляция и запуск программы осуществляется активизацией пункта главного меню Run/Run, или кнопки панели инструментов (имеющей вид зеленого треугольника), или нажатием функциональной клавиши F9.

При обнаружении ошибок в программе на этапе компиляции среда вы-

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

Этот оператор нужен для задержки экрана консольного приложения

Рис. 2. Пример выявления ошибки при компиляции

Ошибки, выявляемые на этапе компиляции, называются синтаксиче-

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

Иногда одна ошибка приводит к генерации двух сообщений. Такая ситуация показана на рис. 2. Потеря апострофа, закрывающего текстовую строку,

6

Enter
Рис. 3. Экран консольного приложения с результатами программы
Значения исходных данных разделяются пробелами или нажатием клавиши

вызвала два сообщения об ошибке: первое говорит о незаконченной строке,

второе – о том, что следующий оператор (Readln) появился до завершения предыдущего. Иногда ошибка находится не в выделенной строке, а в соседних строках; если сделать двойной щелчок на втором сообщении об ошибке (см.

рис. 2), то получим именно такой случай.

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

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

После успешного прохождения компиляции автоматически начинается выполнение программы, и на экране возникает экран консольного приложения (см. рис. 3). В этот экран выво-

дится все то, что запрограммировано с помощью оператора Writeln, и в него же вводятся значения исходных данных. Обратите внимание на оператор Readln

программы на рис. 2. Он необходим для задержки экрана консольного прило-

жения с результатами работы программы (см. рис.3). Проанализировав программу рис. 2 и результаты рис. 3, скажите, соответствуют ли они друг другу.

Когда Ваша программа успешно пройдет компиляцию, Вы должны будете ввести в окно консольного приложения исходные данные первого теста

(см. раздел «Подготовка к работе») и сравнить полученные результаты с тестовыми. Однако ввод исходных данных не всегда приводит к получению результата. Труд программиста требует вдумчивого отношения к задаче, внимания и аккуратности. Что-то не предусмотрено – и Ваша программа выдает сообщение об ошибке. Например, неграмотно введены исходные данные, или в ходе программы происходит деление на ноль, или извлечение

7

корня из отрицательного числа. Такие ошибки называются ошибками при выполнении программы.

Обратите внимание, что для выявления рассмотренных выше ошибок Вы ничего не делаете – их обнаруживает среда Delphi, а все Ваши усилия направлены только на их исправление. Наконец, сообщений об ошибках больше нет

(Delphi всем довольна), и Вы получили значения выходных данных. Хорошо, если они совпали с тестовыми результатами! При несовпадении придется ис-

кать ошибки – и в программе, и в тесте. Такие ошибки гораздо труднее обнаружить, чем те, о которых сообщает среда. Если Вы не сможете их выявить с помощью внимательного просмотра программы (говорят: визуального контроля), придется трассировать программу. Как это делается, изложено в сле-

дующем пункте.

5. Проверьте программы с помощью трассировки, используя второй тест.

Перечисленные возможности среды Delphi понадобятся для организации трассировки.

Создание точки останова: щелчок на левом поле около оператора, при этом на поле ставится красная точка, а оператор закрашивается красной полосой.

Организации трассировки программы:

F8 – пошаговое выполнение программы (без захода в подпрограммы);

F4 – запуск программы до места, указанного курсором.

Просмотр значений переменных в ходе трассировки: Ctrl-F5 или Ctrl-F7.

Принудительное завершение программы (если нормальное невозможно):

Run/ProgramReset или Ctrl-F2.

6. Зафиксируйте результаты отладки программы в отчете и покажите их преподавателю. После приема работы выйдите из среды (например, командой File/Exit), предварительно сохранив последний вариант программы.

Лабораторная работа №2. Решение задач обработки массивов в консольном приложении среды Delphi

Цель работы: приобретение знаний и навыков по созданию алгоритмов обра-

ботки массивов; закрепление навыков работы в консольном приложении среды

Delphi.

Продолжительность работы: 2 часа

8

1. ПОДГОТОВКА К РАБОТЕ

Перед началом выполнения работы студент должен:

1. Разработать проект отчета по решению задач [1] 1.5.3.N+1 (поиск экстремального значения в одномерном массиве), 2.2.3.N+1 (обработка мат-

риц). Содержание проекта отчета по каждой задаче такое же, как в лабораторной работе №1. При разработке алгоритмов и программ учесть следующее:

1)размеры массивов должны задаваться вводом;

2)массивы должны объявляться как статические; максимальная длина одномерных массивов в задаче 1.5.3.N+1 равна 20; максимальный размер матриц в задаче 2.2.3. N+1 – 5×5.

3)ввод и вывод матриц должен осуществляться таким образом, чтобы каждая строка матрицы располагалась на одной строке экрана консольного приложения;

4)ввод и вывод одномерных массивов желательно осуществлять так,

чтобы элементы массивов располагались на одной строке экрана (не вытягивались в столбец).

2.Набрать текст паскаль-программ в консольном приложении среды Delphi или в блокноте.

2.ЗАДАНИЕ И РЕКОМЕНДАЦИИ ПО ЕГО ВЫПОЛНЕНИЮ

1.Запустите Delphi, создайте и сохраните консольное приложение для решения задачи 1.5.3.N+1 (или откройте готовое приложение, если сделали его дома).

2.Откомпилируйте приложение задачи 1.5.3.N+1 и проверьте правильность его работы с помощью заранее подготовленных тестов.

3.Зафиксируйте в отчете результаты отладки приложения задачи 1.5.3.N+1 и

покажите их преподавателю.

4.Выполните пункты 1-3 для задачи 2.2.3. N+1.

5.Закройте среду Delphi.

9

Лабораторная работа №3. Проектирование алгоритмов с использованием подпрограмм и их отладка в консольном приложении

Цель работы: приобретение знаний и навыков по разработке подпрограмм и их применению; освоение приемов отладки программ, использующих подпрограммы.

Продолжительность работы: 2 часа

1. ПОДГОТОВКА К РАБОТЕ

Перед началом выполнения работы студент должен:

1. Разработать проект отчета по решению предлагаемой задачи ([1] 3.6.N+1).

Проект отчета должен содержать:

1)номер и условие задачи;

2)состав данных программы (данные подпрограмм здесь не приводятся);

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

4)формы ввода и вывода;

5)блок-схему алгоритма программы;

6)блок-схему алгоритма основной вычислительной подпрограммы;

7)текст паскаль-программы (включая подпрограммы);

8)тесты.

2.Набрать текст паскаль-программы в блокноте или создать консольное приложение для отладки в компьютерном классе.

2.ЗАДАНИЕ И РЕКОМЕНДАЦИИ ПО ЕГО ВЫПОЛНЕНИЮ

1.Запустите Delphi, создайте и сохраните консольное приложение для решения задачи 3.6.N+1 (или откройте готовое приложение, если сделали его дома).

2.Откомпилируйте приложение задачи 3.6.N+1 и проверьте правильность его работы с помощью заранее подготовленных тестов. Для пошагового выполнения программы с заходом в подпрограммы нажимайте функциональную клавишу F7.

3.Зафиксируйте результаты отладки приложения задачи 3.6.N+1 и покажите их преподавателю.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]