Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 324

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!Прошу помочь перевести паскалевский год на дельфи, что то запарился совсем, перевести нужно с использованием stringgrid.

Приложение:
  1. Program xx;
  2. const
  3. nmax=100;
  4. var
  5. a:array[1..nmax] of real;
  6. n,i,j,k:byte;
  7. mx,mn:real;
  8. begin
  9. randomize;
  10. repeat
  11.  
  12. readln(n);
  13. until (n in [2..nmax]) and (n mod 2=0);
  14. for i:=1to n do
  15. a[i]:=10*random-4;
  16.  
  17. writeln('X');
  18. i:=1;
  19. while i<n do
  20. begin
  21. write(a[i]:6:2);
  22. i:=i+2;
  23. end;
  24. writeln;
  25. writeln('Y');
  26. i:=2;
  27. while i<=n do
  28. begin
  29. write(a[i]:6:2);
  30. i:=i+2;
  31. end;
  32. writeln;
  33. writeln;
  34. writeln;
  35. mx:=sqrt(sqr(a[1])+sqr(a[2]));
  36. mn:=sqrt(sqr(a[1])+sqr(a[2]));
  37. i:=1;
  38. while i<n do
  39. begin
  40. if sqrt(sqr(a[i])+sqr(a[i+1]))<mn then
  41. mn:=sqrt(sqr(a[i])+sqr(a[i+1]))
  42. else
  43. if sqrt(sqr(a[i])+sqr(a[i+1]))>mx then
  44. mx:=sqrt(sqr(a[i])+sqr(a[i+1]));
  45. i:=i+2;
  46. end;
  47.  
  48. readln;
  49. end.
  50.  


Силиванов Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Силиванов (статус: Посетитель)
Вопрос отправлен: 26 мая 2011, 20:35
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: DNK

Здравствуйте, Силиванов!
Код и форма в приложении.

Приложение:
  1. Unit1.pas:
  2.  
  3. unit Unit1;
  4.  
  5. interface
  6.  
  7. uses
  8. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  9. Dialogs, StdCtrls, Grids;
  10.  
  11. type
  12. TForm1 = class(TForm)
  13. StringGrid1: TStringGrid;
  14. Label1: TLabel;
  15. Label2: TLabel;
  16. procedure FormCreate(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. end;
  22.  
  23. var
  24. Form1: TForm1;
  25.  
  26. implementation
  27.  
  28. uses Math;
  29.  
  30. {$R *.dfm}
  31.  
  32. procedure TForm1.FormCreate(Sender: TObject);
  33. var i, j: byte;
  34. mx, mn, r: real;
  35. a: array [1..2] of real;
  36. begin
  37. StringGrid1.Cells[1, 0] := 'X';
  38. StringGrid1.Cells[2, 0] := 'Y';
  39. Randomize;
  40. for i := 1 to 50 do begin
  41. StringGrid1.Cells[0, i] := IntToStr(i);
  42. for j := 1 to 2 do begin
  43. a[j] := 10*random-4;
  44. StringGrid1.Cells[j, i] := FloatToStrF(a[j], ffFixed, 2, 3);
  45. end;
  46. r := sqrt(sqr(a[1])+sqr(a[2]));
  47. if i = 1 then begin
  48. mx := r;
  49. mn := r;
  50. end else begin
  51. mx := Max(mx, r);
  52. mn := Min(mn, r);
  53. end;
  54. end;
  55. Label1.Caption := Label1.Caption + FloatToStrF(mn, ffFixed, 2, 3);
  56. Label2.Caption := Label2.Caption + FloatToStrF(mx, ffFixed, 2, 3);
  57. end;
  58.  
  59. end.
  60.  
  61. Unit1.dfm:
  62.  
  63. object Form1: TForm1
  64. Left = 206
  65. Top = 143
  66. Width = 539
  67. Height = 500
  68. Caption = 'Form1'
  69. Color = clBtnFace
  70. Font.Charset = DEFAULT_CHARSET
  71. Font.Color = clWindowText
  72. Font.Height = -11
  73. Font.Name = 'MS Sans Serif'
  74. Font.Style = []
  75. OldCreateOrder = False
  76. OnCreate = FormCreate
  77. DesignSize = (
  78. 531
  79. 466)
  80. PixelsPerInch = 96
  81. TextHeight = 13
  82. object Label1: TLabel
  83. Left = 352
  84. Top = 16
  85. Width = 103
  86. Height = 13
  87.  
  88. end
  89. object Label2: TLabel
  90. Left = 352
  91. Top = 40
  92. Width = 89
  93. Height = 13
  94.  
  95. end
  96. object StringGrid1: TStringGrid
  97. Left = 8
  98. Top = 8
  99. Width = 333
  100. Height = 449
  101. Anchors = [akLeft, akTop, akRight, akBottom]
  102. ColCount = 3
  103. DefaultColWidth = 100
  104. RowCount = 51
  105. Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSelect]
  106. TabOrder = 0
  107. end
  108. end


Ответ отправил: DNK (статус: Студент)
Время отправки: 27 мая 2011, 22:10


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 27 мая 2011, 22:13; участников в обсуждении: 3.
min@y™

min@y™ (статус: Доктор наук), 26 мая 2011, 22:28 [#1]:

А чо делает этот код?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 26 мая 2011, 22:46 [#2]:

похоже ищет радиусы вписанной и описанной окружностей, между которыми помещаются все точки. Только не совсем понятно - при чем тут StringGrid
DNK

DNK (статус: Студент), 27 мая 2011, 22:13 [#3]:

2Админы: Вопрос в лабы.
"Digital Networked Knight"

28 мая 2011, 00:02: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Лабораторный практикум » Delphi модератором Вадим К Причина: по просьбе

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 30 мая 2023, 00:35
Выполнено за 0.02 сек.
Рейтинг@Mail.ru