|
Вопрос # 2 238/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
пожалуйста,помогите разобраться,подпешите пожалуйста по шагово каждое действие этой программы.
ОЧень Надо!
Приложение: Переключить в обычный режим- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, Grids, Math;
-
- type
- TForm1 = class(TForm)
- StringGrid1: TStringGrid;
- Button1: TButton;
- Edit1: TEdit;
- Label1: TLabel;
- Label2: TLabel;
- StringGrid2: TStringGrid;
- Label3: TLabel;
- procedure Button1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.dfm}
-
- const n=5;
- var i:integer;
- type mas=array[1..n] of real;
-
- procedure TForm1.Button1Click(Sender: TObject);
-
- var i:integer;
- S:real;
- M:real;
- y,c:mas;
- begin
-
- for i:=1 to n do
- begin;
- y[i]:=strtofloat(stringgrid1.Cells[i,0]);
- if (y[i]<0) then stringgrid2.cells[i,0]:=floattostr(1)
- else stringgrid2.Cells[i,0]:=floattostr(0);
- end;
- S:=0;
- M:=0;
- for i:=1 to n do
- begin
- c[i]:=strtofloat(stringgrid2.Cells[i,0]);
- if c[i]=1 then S:=S+c[i] else
- begin
- if S>M then M:=S; S:=0;
- end;
- end;
- if S>M then M:=S;
- edit1.text:=floattostr(M);
-
- end;
- end.
-
 |
Вопрос задал: Якакутов Евгений Михайлович (статус: Посетитель)
Вопрос отправлен: 27 декабря 2008, 17:32
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
unit Unit1; // имя модуля
interface // интерфейсная часть
uses // ссылки на используемые модули
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Math;
type
// Форма
TForm1 = class(TForm)
StringGrid1: TStringGrid; // Таблица
Button1: TButton; // кнопка
Edit1: TEdit; // эдит
Label1: TLabel; // метка
Label2: TLabel; // метка
StringGrid2: TStringGrid; // ещё одна таблица
Label3: TLabel; // метка
procedure Button1Click(Sender: TObject); // обработчик события тыка на кнопку
private
{ Private declarations } // приватные декларации :))
public
{ Public declarations } // публичные декларации :))
end;
var
Form1: TForm1; // Указатель на экземпляр формы
implementation // исполнительная часть
{$R *.dfm} // прицеп - ресурс формы
const
n = 5; // Длина массива
var
i: integer; // неиспользуемая переменная
type
mas = array[1..n] of real; // тип нафиг никому ненужных массивов
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer; // индекс цикла
S: real; // сумма
M: real; // максимум
y, c: mas; // нафиг никому ненужные массивы
begin
// Перевод из строк в числа и забивка в массив значений, введённых в ячейки нулевого столбца stringgrid1
for i:=1 to n do
begin;
// Перевод значения из строки в число. Херовая, без отлова исключений try ... except
y[i]:= strtofloat(stringgrid1.Cells[i, 0]);
if (y[i] < 0) // при отрицательном значении числа в ячейке
then stringgrid2.cells[i, 0]:= floattostr(1) // в эту ячейку заносится 1
else stringgrid2.Cells[i, 0]:= floattostr(0);// иначе - 0
// Не понимаю, что за ламер это писал. Зачем тут массив?
// Он же дальше нигде не используется!
end;
S:= 0; // Инициализация
M:= 0; // каких-то переменных :) (суммы и максимума)
for i:= 1 to n do
begin
// Перевод из строк в числа и забивка в массив значений, введённых в ячейки нулевой строки stringgrid1
c[i]:= strtofloat(stringgrid2.Cells[i, 0]);
if c[i] = 1 // Если в ячейке "1" (херовое сравнение, числа-то вещественные!)
then S:= S + c[i] // то увеличение S (суммы?) на 1.0
else begin // иначе...
if S > M // если сумма S больше числа M
then M:= S; // то числу M присвается значение суммы S (поиск максимального значения количества
повторяющихся единиц)
S:= 0; // Сумма обнуляется, цикл продолжается
end;
// crtl+C / ctrl+V:
// Не понимаю, что за ламер это писал. Зачем тут массив?
// Он же дальше нигде не используется!
end;
if S > M // Просмотр последнего значения S
then M:= S; // crtl+C / ctrl+V
edit1.text:= floattostr(M); // Развязка детектива: ВЫВОД максимума в EDIT!
// Жуть какая!!! (это я ЗДЕСЬ так написал. Знали бы вы, что я вслух сказал!)
end;
end. // конец мегамодуля :)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 27 декабря 2008, 19:00
Оценка за ответ: 5
Комментарий к оценке: Огромнейшее спасибо!
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 27 декабря 2008, 19:55; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 27 декабря 2008, 19:21 [#1]:
Откуда взялся такой безбашенный исходник?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 27 декабря 2008, 19:52 [#3]:
Дай ему денег, пусть купит книжку по программированию для чайников.
С моими комментами ты видишь, какую хрень он наваял?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 27 декабря 2008, 19:53 [#4]:
Я бы за такое форматирование кода расстреливал голыми руками без суда и следствия!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|