Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabsDelphi1.doc
Скачиваний:
49
Добавлен:
31.03.2015
Размер:
532.99 Кб
Скачать

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

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

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

1. Подготовка к работе

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

  1. Разработать проект отчета по решению предлагаемой задачи ([1] 1.3.1.N+1, где N – номер студента по журналу группы). Проект отчета должен содержать (см. также приложение 1):

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

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

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

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

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

    6. тесты.

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

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

  2. Ознакомиться со средствами отладки программ в консольном приложении, например, по пособию [2].

2. Задание и рекомендации по его выполнению

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

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

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

  1. Из подготовленного в блокноте текста программы через буфер обмена вставьте в консольное приложение описание переменных и операторы раз­дела действий (см. рис. 1). При этом нельзя удалять директиву компилятора {$APPTYPE CONSOLE}и предложениеuses Sysutils.Строка комментариев//Insert user code hereможет быть удалена.

  2. Сохраните приложение в своей папке на рабочем диске компью­тера.

Сохранение осуществляется с помощью главного меню File/Save allили соответствующей кнопкой панели инструментов (найдите ее, используя подсказки среды Delphi). В появившемся диалоговом окне следует указать нужную папку и имя файла (совпадающее с именем, указанным в инструк­цииprogram). Среда Delphi приписывает программе расширение.dpr. Од­новременно создаются два файла с расширениями.dofи.cfg, характери­зующие конфигурацию и настройки среды Delphi. При переносе программы в другую папку или на другой компьютер последние два файла переносить необязательно. Рекомендуется для каждого проекта приложения Delphi иметь отдельную папку.

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

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

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

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

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

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

После успешного прохо­жде­ния компиляции автомати­чески начинается выполнение про­граммы, и на экране возни­кает экран консольного прило­жения (см. рис. 3). В этот экран выво­дится все то, что запрограммировано с помощью оператораWriteln, и в него же вводятся значе­ния исходных данных. Обратите внимание на операторReadlnпрограммы на рис. 2. Он необходим для задержки экрана консольного прило­жения с резуль­татами работы программы (см. рис.3). Проанализировав про­грамму рис. 2 и ре­зультаты рис. 3, скажите, соответствуют ли они друг другу.

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

Обратите внимание, что для выявления рассмотренных выше ошибок Вы ничего не делаете – их обнаруживает среда Delphi, а все Ваши усилия направ­лены только на их исправление. Нако­нец, сообщений об ошибках больше нет (Delphi всем довольна), и Вы получили значения выходных данных. Хорошо, если они совпали с тестовыми результа­тами! При несовпадении придется ис­кать ошибки – и в программе, и в тесте. Такие ошибки гораздо труднее обна­ружить, чем те, о которых сообщает среда. Если Вы не сможете их выявить с помощью внимательного просмотра про­граммы (говорят: визуального кон­троля), придетсятрассироватьпрограмму. Как это делается, изложено в сле­дующем пункте.

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

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

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

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

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

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

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

Принудительное завершение программы(если нормальное невозможно):Run/ProgramResetилиCtrl‑F2.

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

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