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


 

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

41743. ИССЛЕДОВАНИЕ ПОСЛЕДОВАТЕЛЬНОГО, ПАРАЛЛЕЛЬНОГО И СВЯЗАННЫХ КОЛЕБАТЕЛЬНЫХ КОНТУРОВ 303.45 KB
  Исследовать явление резонанса в последовательном и параллельном электрических колебательных контурах. Ее называют полосой пропускания контура и условно определяют по резонансной кривой на уровне 07 от максимального значения тока или напряжения соответствующего резонансной частоте. Исследование последовательного колебательного контура Рис.END Исследование последовательного контура в среде PSpice: Рис.
41744. Лицензионные и свободно распространяемые программные продукты. Организация обновления программного обеспечения с использованием сети Интернет 154.25 KB
  Теоретические сведения к лабораторной работе Классификация программ по их правовому статусу Программы по их правовому статусу можно разделить на три большие группы: лицензионные условно бесплатные и свободно распространяемые. Лицензионные программы. В соответствии с лицензионным соглашением разработчики программы гарантируют её нормальное функционирование в определенной операционной системе и несут за это ответственность. Лицензионные программы разработчики обычно продают в коробочных дистрибутивов.
41745. ИССЛЕДОВАНИЕ РЕЖИМА ВНЕЗАПНОГО ТРЕХФАЗНОГО КОРОТКОГО ЗАМЫКАНИЯ НА ШИНАХ СИНХРОННОГО ГЕНЕРАТОРА 473.1 KB
  угла 0 между плоскостью фазной обмотки статора и продольной осью ротора в начальный момент КЗ t=0 на величину тока в этой фазе и характер его изменения. После чего необходимо сохранить или перерисовать осциллограмму переходного процесса тока в фазе âаâ i=ft. Поясните письменно какое влияние оказывает положение ротора по отношению к фазе âаâ в начальный момент КЗ на характер переходного процесса и величину тока в данной фазе для ответа пользуйтесь теоретическим материалом. Определение величины ударного тока и...
41747. Приемы работы с большими документами в Word 130.18 KB
  Логическая структура основной памяти Статический тип памяти обладает существенно более высоким быстродействием но значительно дороже динамического Для регистровой памяти МПП и КЭШ память используются SRM а ОЗУ основной памяти строится на базе DRMмикросхем. Найти фразу ЭВМ имеют четыре иерархических уровня памяти и организовать в конце абзаца сноску на текст: Быстродействие МПП КЭШпамяти и ОП измеряется временем обращения tобр к ним сумма времени поиска считывания и записи информации. Регистры КЭШпамяти недоступны для...
41748. Рекурсия. Вычислить сумму N членов рекуррентной последовательности 65.54 KB
  Вычислить функцию Бесселя 8го порядка с аргументом x: Вычислить биномиальные коэффициенты для b вводятся пользователем. Определить Nый член рекуррентной последовательности: Дана функция Вычислить корень уравнения на отрезке 1 3 методом деления отрезка пополам с погрешностью Дана последовательность Определить сумму элементов данного массива. Вычислить S1S2 где S1 сумма нечетных целых чисел от до b S2 сумма четных чисел от c до d.
41749. Определение скорости полета пули по методу Поля 49.49 KB
  Определить угловую скорость вращения вала с бумажными дисками.1 с двумя бумажными дисками закрепленными на общем валу на расстоянии l друг от друга. Расстояние между дисками l. Если произвести выстрел вдоль оси вращения бумажных дисков то считая движение пули между дисками равномерным и прямолинейным ее скорость можно определить по формуле: 1 где l расстояние между бумажными дисками время пролета пули между дисками...
41750. Дискретное (цифровое) представление текстовой, графической, звуковой информации и видеоинформации 24.99 KB
  Способы кодирования и декодирования информации в компьютере, в первую очередь, зависит от вида информации, а именно, что должно кодироваться: числа, текст, графические изображения или звук. Дискретное представление информации: кодирование цветного изображения в компьютере (растровый подход). Представление и обработка звука и видеоизображения.
41751. Исследование транзистора по схеме с общим эмиттером 118.56 KB
  Цель работы: Снятие характеристик биполярного транзистора. Снять входные характеристики транзистора для двух значений выходного напряжения: Uкэ=0; Uкэ= 5В. Снять выходные характеристики транзистора.