Показать сообщение отдельно
  #5  
Старый 13.10.2009, 00:48
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тебе же написали - надо вводить в массив.
На самом деле все очень просто.

Первая задача:
Код:
function SimplePerCent(ASum, APerCent : Extendent; AMonths : Integer) : Extendent;
begin
  Result := ASum * (1 + APerCent * AMonths / 12);
end;

function ComplexPerCent(ASum, APerCent : Extendent; AMonths : Integer) : Extendent;
var
  I : Integer;
begin
  Result := ASum;
  For I := 1 To AMonths Do
    Result := SimplePerCent(Result,APerCent,1);
end;

где:
- ASum - начальная сумма
- PerCent - ставка в годовых %%, деленная на 100% (т.е. 1% = 0.01)
- AMonths - срок в месяцах.
Функции вычисляют сумму для простого и сложного %% соответсвенно.

Вторая задача.
Фактически нужны 2 функции - ввод данных и вывод результата. Пусть тоже будет консольное приложение:
Код:
program Temps;

{$APPTYPE CONSOLE}

uses
  Windows, SysUtils, Classes;

var
  T : Array [1..6] Of Extended;

procedure InputData;
var
  I : Integer;
begin
  WriteLn('Введите значения температур:');
  For I := 1 To 6 Do
    Begin
       Write('Замер ' + IntToStr(I) + ': ');
       ReadLn(T[i]);
    End;
end;

procedure ProcessData;
var
  I : Integer;
  tMin, tMax, tAvg : Extendent;
begin
  tMin := 100;
  tMax := -1;
  tAvg := 0;
  For I := 1 To 6 Do
    Begin
      If tMin > T[i] Then tMin := T[i];
      If tMax < T[i] Then tMax := T[i];
      tAvg := tAvg + T[i];
    End;
  tAvg := tAvg / 6;

  WriteLn('Минимальная температура: ' + FloatToStr(tMin));
  WriteLn('Максимальная температура: ' + FloatToStr(tMax));
  WriteLn('Средняя температура: ' + FloatToStr(tAvg));

  WriteLn;
  Write('Press Enter to close...');
  ReadLn;
end;

begin
  InputData;
  ProcessData;
end.
Ответить с цитированием