37853

Засоби налагодження програм у DELPHI. Створення програм для циклічних процесів

Лабораторная работа

Информатика, кибернетика и программирование

Мета роботи: вивчити засоби налагодження програм у середовищі DELPHI. Розробити і налагодити програму для циклічного обчислювального процесу.

Украинкский

2013-09-25

223.5 KB

37 чел.

Лабораторна робота №5

Тема роботи: Засоби налагодження програм у DELPHI. Створення програм для циклічних процесів.

Мета роботи: вивчити засоби налагодження програм у середовищі DELPHI. Розробити і налагодити програму для циклічного обчислювального процесу.

Рекомендована література:

  1.  Бобровский С. И. Delphi 7. Учебный курс. - С.Пб. Питер, 2004. – 735 с.
  2.  Я. М. Глинский Інформатика. Алгоритмізація і програмування. Книжка 1. -  Львів, 2003. – 198 с.
  3.  Симонович С.В., Евсеев Г.А. Занимательное программирование:Delphi. – М.: АСТ-Пресс Книга; Издательство «Развитие», 2003. – 368 с.
  4.  Кен Хендерсон. Руководство Разработчика баз данных в Delphi 2. – К. Диалектика, 1997, - 543 с.

Контрольні запитання.

  1.  Що назівають циклічним процесом?
  2.  Які класичні структури циклів Ви знаєте?
  3.  Які оператори мови Pascal описують цикли?
  4.  Яким чинном виконується компіляція проекту?
  5.  Який характер повідомлень про помилки?
  6.  Як можна виконати програму по крокам?
  7.  Як визначити значення потрібних програмісту змінних?

1. Теоретичні відомості.

У написаній програмі після її запуску, як правило, виявляються помилки. Помилки першого рівня (помилки компіляції) зв'язані з неправильним записом операторів (орфографічні і/або синтаксичні помилки). При виявленні помилки компілятор DELPHI зупиняється напроти першого оператора, у якому виявлена помилка. У нижній частині екрана з'являється текстове вікно, що містить зведення про всі помилки знайдених у проекті. Кожен рядок цього вікна містить ім'я файлу, у якому знайдена помилка, номер рядка з помилкою і характер помилки. Для швидкого переходу до цікавлячої помилки необхідно двічі клацнути на рядку з її описом.

Для одержання більш повної інформації про характер помилки необхідно звернеться до HELP натисканням клавіші F1. Варто звернути увагу на те, що одна помилка може викликати інші, які зникнуть при її виправленні. Тому варто виправляти помилки послідовно, зверху вниз і, після виправлення кожної помилки компілювати програму знову.

Помилки другого рівня - помилки часу виконання. Вони зв'язані з помилками обраного алгоритму рішення або з неправильною програмною реалізацією алгоритму. Ці помилки виявляються в тім, що результат розрахунку виявляється невірним або відбувається переповнення (розподіл на нуль) і ін. Тому перед використанням налагодженої програми її необхідно протестувати, тобто зробити прорахунки при таких комбінаціях вихідних даних, для яких заздалегідь відомий результат. Якщо тестові розрахунки вказують на помилку, то для її пошуку варто використовувати убудовані засоби налагодження середовища DELPHI.

У найпростішому випадку для локалізації місця помилки рекомендується надходити в такий спосіб. У вікні редагування тексту установити курсор у рядку перед місцем, що перевіряється, виділити цей оператор, натисканням мишею на смузі ліворуч від тексту програми, натиснути клавішу F4 (виконання до курсору). При цьому виконання програм буде зупинено на рядку, що містить курсор. Тепер можна побачити, чому дорівнюють значення змінних, які цікавлять. Для цього потрібно помістити на змінну курсор і як підказку на екрані буде висвітлене її значення. В іншому варіанті потрібне натискання комбінації клавіш Ctrl-F7 і в діалоговому вікні, що з'явилося, вказати змінну, яка цікавит програміста (за допомогою даного вікна можна також змінити значення змінної під час виконання програми).

Натискаючи клавішу F7 (покрокове виконання), можна по рядкам виконувати програму, контролюючи зміну та або інших змінних і правильність обчислень. Якщо курсор знаходиться усередині циклу, то після натискання F4 розрахунок зупиняється після одного виконання тіла циклу. Для продовження розрахунків варто натиснути мишею на команді <Run> меню Run.

Натискаючи клавішу F8 можна продовжувати налагодження не заходячи усередину процедур і функцій.

Порядок виконання лабораторної роботи.

Завдання: написати і налагодити програму, що виводить таблицю  значень функцій S(x) для значень перемінної х, що змінюються в інтервалі від x1 до x2 із кроком h.

.

Панель діалогу представлена на мал.4.1.

Рис. 4.1.

Текст програми приведений нижче.

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Edit4: TEdit;

   Memo1: TMemo;

   Button1: TButton;

   procedure FormCreate(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

 Edit1.Text := '0';

 Edit2.Text := '2';

 Edit3.Text := '5';

 Edit4.Text := '0,25';

 Memo1.Clear;

 Memo1.Lines.Add('Результати. Студ. гр.2ЭК Іванов А.А.');

  end;

procedure TForm1.Button1Click(Sender: TObject);

Var

 x1, x2, x, h, a, s : extended;

 N, k, c            : integer;

begin

 x1 := StrToFloat(Edit1.Text);

 Memo1.Lines.Add('x1 = ' + Edit1.Text);

 x2 := StrToFloat(Edit2.Text);

 Memo1.Lines.Add('x2 = ' + Edit2.Text);

 N := StrToInt(Edit3.Text);

 Memo1.Lines.Add('N = ' + Edit1.Text);

 h := StrToFloat(Edit4.Text);

 Memo1.Lines.Add('h = ' + Edit4.Text);

 C := -1;

 X := x1;

 Repeat

   A := 1;

   S := 1;

   for k :=1 to N do

   begin

     a := c*a*x/k;

     s := s + a;

   end;

 Memo1.Lines.Add('nри x = ' + FloatToStr(x, ffFixed, 6, 2) +

                ' сума = ' + FloatToStr(s, ffFixed, 6, 2));

 x := x+h;

 until x>x2;

end;

end.

Після налагодження програми складіть тест (N=2, X1=0, X2=1, h=3), установите курсор на перший оператор (N:= ), натисніть клавішу F4. Після цього натискаючи клавішу F7, виконаєте покрокове налагодження програми і простежите, як міняються всі перемінні в процесі виконання.

Індивідуальні завдання.

Необхідно вивести на екран таблицю значень функції Y(x) і її розкладання в ряд S(x) для х змінюються від x0 до xk із кроком h = (x0-xk)/10. Близькість значень S(x) і Y(x) у всьому діапазоні значень x указує на правильність обчислення S(x) і Y(x).

Таблиця 3.1

S(x)

Y(x)

1

2

3

4

5

6

  1.  

0.1

1

16

  1.  

0.1

1

10

  1.  

0.1

1

12

  1.  

0.1

1

8

  1.  

0.1

1

14

  1.  

0.1

1

8

  1.  

0.1

1

12

  1.  

0.1

1

10

  1.  

0.1

1

14

S(x)

Y(x)

  1.  

0.1

0.5

15

arctgx

  1.  

0.1

1

10

  1.  

0.1

1

8

  1.  

-2

-0.1

16

  1.  

0.2

0.8

12

  1.  

0.1

1

16

  1.  

0.1

1

10

  1.  

0.1

1

12

  1.  

0.1

1

8

  1.  

0.1

1

14

  1.  

0.1

1

8

  1.  

0.1

1

12

  1.  

0.1

1

10

  1.  

0.1

1

14

  1.  

0.1

0.5

15

arctgx

S(x)

Y(x)

  1.  

0.1

1

10

  1.  

0.1

1

8

  1.  

-2

-0.1

16

  1.  

0.2

0.8

12

  1.  

0.1

1

14

  1.  

0.1

1

8

  1.  

0.1

1

12

  1.  

0.1

1

10

  1.  

0.1

0.8

18

  1.  

0.1

1

8


 

А также другие работы, которые могут Вас заинтересовать

43123. Реконструкция четырехэтажного жилого дома серии 1-447 С-35 451 KB
  Характеристика объёмнопланировочного конструктивного и архитектурнохудожественного решения здания подлежащего реконструкции. Объемно планировочное решение здания и его соответствие нормативным требованиям Конструктивное решение здания и техническое состояние несущих и ограждение элементов Архитектурнохудожественное решение здания его соответствие требованиям предъявляемым к застройке Перечень и содержание мероприятий необходимых при проведении реконструкции здания Объемнопланировочное...
43124. Обработка числовых данных с использованием ППП 101 KB
  Исходные данные представлены в виде ряда чисел, связанных между собой последовательностью Х1-У1, Х2-У2 и т.д. Данные имеют уточнение в два знака после запятой. Все остальные данные, необходимые для выполнения поставленной задачи, рассчитываются в ходе выполнения контрольно - курсовой работы и определяются разработчиком. Так, все необходимые выходные данные будут округлены до целого значения. Промежуточные расчетные данные будем оставлять без изменений (по умолчанию уточнение до четвертого знака после запятой).
43125. Складання кошторису витрат на проведення капітального ремонту фільтр пресу для стічних вод 664.5 KB
  Обладнання на хімічних підприємствах працює, як правило, в особливих умовах: високо агресивні середовища (що викликає корозію), сили тертя та ін.. Режим роботи обладнання дуже напружений ( в дві, три зміни) без зупинок у вихідні та святкові дні. Всі ці умови мають суттєвий вплив на фізичний знос обладнання. Для підтримання основних виробничих фондів у працездатному стані необхідні повсякденний нагляд, догляд і періодичний їх ремонт. Для попередження передчасного зносу вузлів і агрегатів технічного обладнання ремонтні служби здійснюють технічне обслуговування, планово-попереджувальний ремонт, модернізацію обладнання, часткове виготовлення запасних частин, пристосувань та інструмента, механізацію трудомістких і важких ремонтних робіт.
43126. Система управления процессом врезного шлифования 631.5 KB
  Система управления должна обеспечить на начальном этапе обработки выход режима шлифования без перерегулирования на заданный программный уровень за время tп. Первый этап работы включает в себя расчёт статического режима системы по заданной точности стабилизации выходных величин. Конечной задачей является синтез регулятора частотным методом. На этом этапе коэффициент резания будет считаться величиной постоянной. На втором этапе производится синтез регулятора методом вектора скорости по заданным требованиям к динамике с учётом диапазона и скорости изменения коэффициента резания, который является функцией от времени .
43127. Розробка програми математичний калькулятор на мові Сі++ 376 KB
  Програмування являє собою комплекс по написанню системи програмних кодів, які здійснюватимуть керування тією чи іншою інформаційною системою, взаємодія з якою здійснюється через інформаційні технології.
43128. Проектирование системы телеуправления 296.5 KB
  На выходе шифратора устанавливается двоичнодесятичный код номера объекта. Если все переключатели находятся в положении ВЫКЛ то 1 на выходе E DD1 запретит работу элемента DD2 преобразователя двоичнодесятичного кода в двоичный при этом на выходах DD2 будут все единицы и при нажатии кнопки ПУСК в линию связи уйдёт команда для несуществующего объекта. С нажатием кнопки ПУСК ФКИ выработает импульс 0 который по положительному фронту 1го же импульса ГТИ установит DD13 в 0 е состояние а на его инверсном выходе появится 1 по второму...
43129. Расчет принципиальной тепловой схемы установки К-300-240 ЛМЗ2 517.5 KB
  Основные технические характеристики Номинальная мощность МВт 300 Начальные параметры: давление МПа 235 температура 0С 545 Параметры промежуточного перегрева на выходе из ЧВД: давление МПа 305 температура 0С 284 на входе в ЦСД: давление МПа 275 температура 0С 545 Конечное давление МПа 000366 Число регенеративных отборов 8 Число подогревателей: низкого давления 5 высокого давления 3 Давление в деаэраторе МПа 0685 Температура питательной воды 0С...
43130. Расчет уровеня напряжения на вторичной стороне понижающих трансформаторов с помощью РПН 969.5 KB
  Расчет активной нагрузки трансформатора. Расчет реактивной нагрузки трансформатора. Расчетная нагрузка трансформатора. Выбор трансформатора Вывод: на трансформаторной подстанции установить два трансформатора типа ТМ.
43131. Розробка програми «Кулінарна книга» в середовищі програмування Borland C++ Builder 3.17 MB
  У першій частині «Специфікація проекту» викладено призначення розробки та підстави для її виконання, дана постановка завдання з описом того, що повинна виконувати майбутня програма, описані взаємозв'язки між таблицями і подано фізичний опис моделі. Крім того, розглянуто вимоги до програми і програмної документації. Описані структура програми, тобто використовувані класи і розробляється графічний інтерфейс.