Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2014, 14:28   #1
elenasul
Новичок
Джуниор
 
Регистрация: 06.03.2014
Сообщений: 1
По умолчанию применение пользовательских процедур(delphi)

Нужно написать код для задачи:
Для каждого из массивов А(8),В(9) определить количество чисел,попавший в интервал [C,D].
Повторяющуюся часть алгоритма реализовать с помощью подпрограммы-процедуры.
Код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,StdCtrls;


type MAS=ARRAY[1..12] of Real;
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    edt1: TEdit;
    edt2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure CMAX(C:MAS;N:INTEGER;var NC:WORD);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var A,B:MAS;
  K:Integer;
BEGIN
RANDOMIZE;
for K:=1 TO 8 DO
begin
  A[K]:=Random(10);
  Memo1.Lines.ADD('A='+FLOATTOSTR(A[K]));
end;
for K:=1 TO 9 DO
begin
  B[K]:=Random(10);
  Memo1.Lines.ADD('B='+FLOATTOSTR(B[K]));
end;


CMAX(A,8,NA);
CMAX(B,9,NB);

end;
procedure TFORM1.CMAX;
var E,D:INTEGER;
  E:=STRTOFLOAT(EDT1.TEXT);
  D:=STRTOFLOAT(EDT2.TEXT);
I:WORD;
begin
   NC:=0;
   for I:=1 TO N do
   if ((I>=E) AND (I<=D)) THEN
   NC:=I+1;
Memo1.Lines.ADD('КОЛИЧЕСТВО'+FLOATTOSTR(NA));
Memo1.Lines.ADD('КОЛИЧЕСТВО'+FLOATTOSTR(NB));

end;




end.

Последний раз редактировалось Stilet; 06.03.2014 в 15:17.
elenasul вне форума Ответить с цитированием
Старый 06.03.2014, 16:05   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Код:
procedure Tform1.СMAX(C:MAS;N:INTEGER;var NC:WORD);
да скобки можно по правилам Pascal(Delphi) можно не писать, но вам же легче будет ориентироваться какие идентификаторы(параметры процедуры) вы можете и ДОЛЖНЫ использовать.
Код:
var E,D:INTEGER;
  E:=STRTOFLOAT(EDT1.TEXT);
  D:=STRTOFLOAT(EDT2.TEXT);
что за код в блоке объявлений? 
I:WORD;
begin
   NC:=0;
   for I:=1 TO N do
   if ((I>=E) AND (I<=D)) THEN мы ДОЛЖНЫ сравнивать индексы или все-таки числа лежащие в массиве в элементе с индексом
   NC:=I+1;
Memo1.Lines.ADD('КОЛИЧЕСТВО'+FLOATTOSTR(NA));
Memo1.Lines.ADD('КОЛИЧЕСТВО'+FLOATTOSTR(NB));
можно конечно, НО лучше это делать ВНЕ процедуры (процедура для счета, но не вывода)
end;
а выводить вне процедуры, после выполнения
Код:
CMAX(A,8,NA);
Memo1.Lines.ADD('КОЛИЧЕСТВО'+FLOATTOSTR(NA));
CMAX(B,9,NB);
Memo1.Lines.ADD('КОЛИЧЕСТВО'+FLOATTOSTR(NB));
Цитата:
'КОЛИЧЕСТВО'+FLOATTOSTR(NB)
а что количество может быть =1.4 (один и четыре десятых!)
Код:
[QUOTE]   procedure CMAX(C:MAS;N:INTEGER;var NC:WORD);/QUOTE]
а теперь думаем каких таких параметров нам не хватает?
Цитата:
Для каждого из массивов А(8),В(9) определить количество чисел,попавший в интервал [C,D].
массив ? какой? сколько?
количество попавших ?
интервал ? начало? конец ?
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 06.03.2014 в 16:09.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Oracle+Delphi хранение процедур на Update xxbesoxx БД в Delphi 16 20.09.2013 17:17
оптимизация процедур поиска(delphi) jandr Помощь студентам 1 23.12.2012 00:00
Текст стандартных функций и процедур для работы со строками в Delphi Pixma Помощь студентам 3 17.11.2010 13:25
статья - Применение изометрических координат в Delphi Pblog Обсуждение статей 0 23.06.2010 05:13
Использование процедур(функций) при обработке экономической информации (delphi) Shadow_rus Помощь студентам 2 12.12.2009 18:11