0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 80
1

Средства отладки программ в DELPHI.Создание программ для циклических процессов

21.05.2010, 22:53. Показов 6483. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, помогите, пожалуйста, нубу, никак не справлюсь(( Заранее благодарен)
1. Средства отладки программ в DELPHI.Создание программ для циклических процессов.
Средства отладки программ в DELPHI.Создание программ для циклических процессов

Текст программы приведен ниже:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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, выполните пошаговое налаживания программы и проследите, как меняются все переменные в процессе выполнения.
Средства отладки программ в DELPHI.Создание программ для циклических процессов

2. Стандартные компоненты и обработчики событий. Создание программ для процессов, разветвляются.
Средства отладки программ в DELPHI.Создание программ для циклических процессов

Текст программы:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
unit unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
type
  TForm1 = class (TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel.
    Memo1: TMemo;
    Button1: TButton;
    CheckBox1: TCheckBox;
    RadioGroup1: TRadioGroup;
    Label5: TLabel;
    procedure Button1Click (Sender: TObject);
    procedure FormCreate (Sender: TObject);
  private
    (Private declarations)
  public
    (Public declarations)
  end;
 
var
  Form1: TForm1;
implementation
 
($ R *. dfm)
 
procedure TForm1.FormCreate (Sender: TObject);
begin
  Edit1.Text: = '0, 1 '; / / Начальное значение Х
  Edit2.Text: = '0, 356 '; / / Начальное значение Y
  Edit3.Text: = '0 '; / / Начальное значение Z
  Memo1.Clear; / / Очистка окна редактора Memo1
/ / Вывод строки в многострочный редактор Memol
Memo1.Lines.Add ('Ла6.раб.N3. Ст.гр. 2ЭК Иванов А.А.');
end;
 
procedure TForm1.Button1Click (Sender: TObject);
  var x, y, z, a, u, ma: Extended;
begin
  x: = StrToFloat (Edit1.Text.
/ / Считывается значение X
  Memo1.Lines.Add ('Х =' Edit1.Text.
/ / Вывод Х в окно Memol
  Y: = StrToFloat (Edit2.Text.
/ / Считывается значение Y
  Memo1.Lines.Add ('Y =' Edit2.Text.
/ / Вывод Y в окно Memol
  Z: = StrToFloat (Edit3.Text.
/ / Считывается значение Z
  Memo1.Lines.Add ('Z =' Edit3.Text.
  / / Проверка номера нажатой кнопки и выбор соответствующей ей функции
  case RadioGroup1.ItemIndex of
    0: u: = cos (x);
    1: u: = sin (x);
    2: u: = sin (x) / cos (x);
  end;
  / / Вывод U в окно Memol
 Memo1.Lines.Add ('U =' FloatToStr (U, fffixed, 8,2));
/ / Проверка состояния кнопки CheckBox1
  if CheckBox1.Checked then
  begin
    u: = abs (u);
    y: = abs (y);
    z: = abs (z)
  end;
 
/ / Нахождение максимального из трех чисел
  if u> y then ma: = u else ma: = y;
  if z> ma then ma: = z.
  if Checkbox1.checked then
  Memo1.Lines.Add ('maxabs =' FloatToStrF (ma, fffixed, 8,2))
  else
Memo1.Lines.Add ('max =' FloatToStrF (ma, fffixed, 8,2));
end;
end.
Название: е.png
Просмотров: 796

Размер: 3.4 Кб
3. Обработка массивов.
Задача: создать программу для определения вектора:
,
где А - квадратная матрица, а Y, B - одномерные массивы.
Элементы вектора Y определяются по формуле;
.
Значение N вводить в компонент Tedit, А и В - в компонент TStringGrid. Результат, после нажатия кнопки типа TButton, вывести в компонент TStringGrid.
Панель диалога приведена на рис.1
Средства отладки программ в DELPHI.Создание программ для циклических процессов

Текст программы приведен ниже.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
Unit Lab4;
Interface
Uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids;
type
  TInputForm = class (TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    StringGrid3: TStringGrid;
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Procedure FormCreate (Sender: TObject);
    Procedure Button1Click (Sender: TObject);
    Procedure Button2Click (Sender: TObject);
  private
    (Private declarations)
  public
    (Public declarations)
  end;
 
const
  Nmax = 10; / / Максимальная размерность массива
type
  Mas1 = array [1 .. Nmax] of Extended;
/ / Объявление типа одномерного массива
  Mas2 = array [1 .. Nmax, 1 .. Nmax] of Extended; / / Объявления типа двумерного массива
var
  InputForm: TInputForm;
  A: Mas2; / / Объявления двумерного массива
  B, Y: Mas1; / / Объявления одномерных массивов
  N, i, j: integer;
 
Implementation
($ R *. DFM)
 
Procedure TInputForm.FormCreate (Sender: TObject);
begin
  N: = 3; / / Размерность массива
  Edit1.Text: = FloatToStr (N);
/ / Задание числа строк и столбцов
  StringGrid1.ColCount: = N 1;
  StringGrid1.RowCount: = N 1;
  StringGrid2.RowCount: = N 1;
  StringGrid3.RowCount: = N 1;
/ / Введение в левую верхнюю каморку таблицы названия массива
  StringGrid1.Cells [0, 0]: = 'Массив А';
  StringGrid2.Cells [0, 0]: = 'Массив В';
  StringGrid3.Cells [0, 0]: = 'Массив В';
/ / Заполнение верхнего и левого столбиков подписями, объясняющих
  for i: = 1 to N do
  begin
    StringGrid1.Cells [0, i]: = 'i =' IntToStr (i);
    StringGrid1.Cells [i, 0]: = 'j =' IntToStr (i);
  end;
end;
 
Procedure TInputForm.Button1Click (Sender: TObject);
begin
  N: = StrToInt (Edit1.Text.
/ / Задача числа строк и столбцов в таблицах
  StringGrid1.ColCount: = N 1;
  StringGrid1.RowCount: = N 1;
  StringGrid2.RowCount: = N 1;
  StringGrid3.RowCount: = N 1;
/ / Заполнение верхнего и левого столбиков подписями, объясняющих
  for i: = 1 to N do
  begin
    StringGrid1.Cells [0, i]: = 'i =' IntToStr (i);
    StringGrid1.Cells [i, 0]: = 'j =' IntToStr (i);
  end;
end;
 
Procedure TInputForm.Button2Click (Sender: TObject);
var
  s: extended;
begin
/ / Заполнение массива A элементами из тавлици StringGrid1
  for i: = 1 to N do
  for j: = 1 to N do
    A [i, j]: = StrToFloat (StringGrid1.Cells [j, i]);
/ / Заполнение массива B элементами из тавлици StringGrid2
  for и: = 1 to N do
    B [и]: = StrToFloat (StringGrid2.Cells [0, и]);
/ / Умножение массива A на массив B
  for i: = 1 to N do
  begin
    s: = 0;
    for j: = 1 to N do
    s: = s A [i, j] * B [j];
    Y [i]: = s;
/ / Вывод результата в таблицу StringGrid3
    StringGrid3.Cells [0, i]: = FloatToStrF (Y [i], ffFixed, 6,2);
  end;
end;
end.
Задание: Задано матрицу размером. Получить массив B, присвоив его k-м элементу значение 1, если k-я строка матрицы симметричный, и значение 0 в противном случае.
4. ОБРАБОТКА СОБЫТИЙ В DELPHI.КОМПОНЕНТЫ TLISTBOX И TCOMBOBOX
Средства отладки программ в DELPHI.Создание программ для циклических процессов

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Unit Unit1;
Interface
Uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type
  Tunit_Lab5 = class (TForm)
    ComboBox1: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    BitBtn1: TBitBtn;
    Button1: TButton;
 
    Procedure FormActivate (Sender: TObject);
    Procedure ComboBox1KeyPress (Sender: TObject; var Key: Char);
    Procedure ComboBox1Click (Sender: TObject);
  Private
    (Private declarations)
  Public
    (Public declarations)
  end;
 
var
  Unit_Lab5: TUnit_Lab5;
 
Implementation
($ R *. DFM)
 
/ / Обработка события активизации формы
Procedure TUnit_Lab5.FormActivate (Sender: TObject);
begin
  ComboBox1.SetFocus; / / Передача фокуса ComboBox1
end;
 
/ / Обработка события нажатия левой клавиши мыши
Procedure TUnit_Lab5.ComboBox1KeyPress (Sender: TObject; var Key: Char);
begin
  if Key = # 13 then / / Если нажата клавишу Enter то ...
  begin
/ / Строка из окна редактирования заносится в список выбора
    ComboBox1.Items.Add (ComboBox1.Text.
    ComboBox1.Text: =''; / / Очистка окна редактирования
  end;
end;
 
Procedure TUnit_Lab5.ComboBox1Click (Sender: TObject);
var
  St: string;
  n, и, nst, ind: integer;
begin
  n: = 0; / / Содержит число слов избранного строки
/ / Содержит количество слов
  ind: = 0;
/ / Определение номера выбранного строки
  nSt: = ComboBox1.ItemIndex;
/ / Сохранение выбранного строки в переменную st
  St: = ComboBox1.Items [nst];
/ / Пересмотр всех символов строки st
  for i: = 1 to Length (St) do
  begin
    Case ind of
      0: if St [и] <>''then
         begin
/ / Если встретился символ после пробела
/ / Килькистьслив увеличивается на единицу
           ind: = 1;
           n: = n 1;
         end;
/ / Если встретился пробел после символов
      1: if St [i] =''then ind: = 0;
     end;
   end;
 
   Label3.Caption: = IntToStr (n); / / Вывод количества слов в Label3
end;
end.
ЗАДАНИЕ:
Дана строка, состоящая из групп нулей и единиц. Подсчитать количество символов в самой длинной группе.
5. Программирование подпрограмм и модулей.
Средства отладки программ в DELPHI.Создание программ для циклических процессов

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Тексты модуля и программы, его вызывает, приведены ниже.
 
Текст модуля:
Unit Matfu;
Interface
  Function Tg (x: extended): extended;
/ / Функция для вычисления тангенса
  Function Ch (x: extended): extended;
/ / Функция для вычисления гиперболического синуса
Function Sin2 (x: extended): extended;
/ / Функция для вычисления квадрата синуса
 
Implementation
  Function Tg;
begin
  Result: = sin (x) / cos (x);
end;
  Function Ch.
  begin
    Result: = (exp (x)-exp (-x)) / 2;
  end;
 
  Function Sin2;
  begin
    Result: = sqr (sin (x));
  end;
end.
 
Текст дерзкой программы:
 
Unit Unit1;
Interface
Uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, MatFunc;
 
type
  TForm1 = class (TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    RadioGroup1: TRadioGroup;
 
    Procedure FormCreate (Sender: TObject);
    Procedure Button1Click (Sender: TObject);
    Procedure Button2Click (Sender: TObject);
  private
    (Private declarations)
  public
    (Public declarations)
  end;
 
type
  func = function (x: extended): extended;
var
  Form1: TForm1;
 
implementation
($ R *. DFM)
 
procedure TForm1.FormCreate (Sender: TObject);
begin
  Edit1.Text: = '0 ';
  Edit2.Text: = '2 ';
  Edit3.Text: = '0 .2 ';
  Memo1.Clear;
  RadioGroup1.ItemIndex: = 0;
end;
 
procedure Tabl (f: func; xn, xk, h: extended);
var
  x, y: extended;
begin
  x: = xn;
  Repeat
    y: = f (x);
    Form1.Memo1.Lines.Add ('x =' FloatToStrF (x, fffixed, 8,2)
                        'Y =' FloatToStrF (y, fffixed, 8,2));
    x: = x h;
  Until (x> xk.
end;
 
procedure TForm1.Button1Click (Sender: TObject);
var
  xn, xk, h: extended;
begin
  xn: = StrToFloat (Edit1.Text.
  xk: = StrToFloat (Edit2.Text.
  h: = StrToFloat (Edit3.Text.
 
  Case RadioGroup1.ItemIndex of
    0: Tabl (tg, xn, xk, h);
    1: Tabl (ch, xn, xk, h);
  end;
end;
 
procedure TForm1.Button2Click (Sender: TObject);
begin
  Halt
end;
 
end.
Задание:
Название: щ.png
Просмотров: 839

Размер: 3.4 Кб
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2010, 22:53
Ответы с готовыми решениями:

Конструирование программ для циклических вычислительных процессов
необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для х...

Помогите с решением задачи на тему Создание циклических программ
Всем привет. Помогите пожалст с задачей. На данный момент имеется следующее, но чёто не...

Подскажите среду для удобной отладки программ на Haskell
Работая с C++ хоть в Visual Studio хоть в Eclipse я не могу себе представить написание кода без...

Создание новых процессов, запуск внешних программ fork(), system
Задача запустить внешнее приложение и получить его ID, для того чтобы в дальнейшем отследить живо...

6
18 / 18 / 12
Регистрация: 03.12.2009
Сообщений: 151
22.05.2010, 00:36 2
У тя почти все сделано Прост ведь в исходник!()!
0
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 80
22.05.2010, 00:47  [ТС] 3
Вся проблема в том, что при вводе формулы в прогу получается всякий бред, ошибки выдает...
0
57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
22.05.2010, 01:00 4
Какие ошибки?
0
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 80
22.05.2010, 16:35  [ТС] 5
Да разный бред бывает... Вроде бы есть готовый образец, подставляю в него свои значения и формулу - и все равно никак((
0
57 / 57 / 10
Регистрация: 27.02.2010
Сообщений: 282
24.05.2010, 13:37 6
Не зная ошибки и когда она появляется остается заняться спиритизмом )))
Это все равно, что позвонить на СТ О и сказать -машина не работает а на вопрос как не работает ответить да всякий бред выдает...
0
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 80
29.05.2010, 16:04  [ТС] 7
На самом деле я в Delphi полный нуб( никак не пойму что к чему... Вот и ищу чью-то помощь... Может кто поможет мне с проблемой, по ходу может и разберусь...
0
29.05.2010, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2010, 16:04
Помогаю со студенческими работами здесь

Создание программ на Delphi
Мне очень нужна помощь программиста нужно сделать 6 программ уровень сложности очень легкий. Если...

Подпрограммы. Средства отладки Delphi.
Решить задачу, используя процедуру или функцию. Выбор обосновать. На примере полученной программы...

Подпрограммы. Средства отладки Delphi
Решить задачу, используя процедуру или функцию. Выбор обосновать. На примере полученной программы...

РАЗРАБОТКА циклических ПРОГРАММ
Написать программу решения задачи: Delphi Найти сумму положительных чисел, меньших N.

Литература по теме Отладки программ
Привет всем. Кто-нибуть встречал литературу на тему отладки. Типа как это реализуеться в больших...

Программ с использованием циклических алгоритмов
Здравствуйте. Пожалуйста, помогите с данной программой, буду благодарен: Задано действительные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru