LabsDelphi1
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
В.С. БАТАСОВА
РЕАЛИЗАЦИЯ АЛГОРИТМОВ В СРЕДЕ 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
вызвала два сообщения об ошибке: первое говорит о незаконченной строке,
второе – о том, что следующий оператор (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