Форум: "Прочее";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизПомогите решить задачу по делфи. Никак не получается Найти похожие ветки
← →
Gollandec (2005-12-24 16:43) [0]Народ кто разбирается в делфи помогите решить задачу
Блок схема и сама программа нужна... или как там это называется.
Разработать программу с единственным циклом для обработки
одномерных массивов. При заданных R1, R2,...,Rn и H1,H2,...,Hn найти сумарный объем горючего, хранящегося в шарообразных резервуарах, если RK-внутренний радиус K-ого резервуара, а Hn определяет уровень наполнения по отношению к низшей точке дна.
Указание: объем соответствующего шарового сегмента равен:
ПHK(2)(RK-HK/3)
з.ы.ПНК(2) - это в квадрате типо :)
← →
VirEx © (2005-12-24 17:53) [1]вырази всё в формулах тогда и помогу
← →
Набережных С. © (2005-12-24 20:34) [2]
> Народ кто разбирается в делфи помогите решить задачу
Здесь таких нету. Иде себе дальше, божий человек.
← →
The Only © (2005-12-24 20:39) [3]Чтобы решить эту задачу, безусловно, необходимо глубочайшее знание delphi.
← →
Кефир87 © (2005-12-25 21:01) [4]Удалено модератором
← →
MasterPaleva © (2005-12-27 04:56) [5]При чем тут Делфи? Ты на бумаге для начала хотя бы реши, распиши все в формулах. Если надо, могу шариковую ручку на мыл послать и кусок бумаги.
А вообще есть один хитрый способ, чтобы тебе сделали все нахаляву. Пятничные задачки... Только представь все в таком виде, что эта задача мега сложна и решить ее могут только гении. Тут сразу человек 10 бросятся ее решать. И еще будут соревноваться между собой, кто более оптимальный способ решения задачи придумает.
← →
Gero © (2005-12-27 10:07) [6]Что вы флудите, человеку код нужен, а не ваши непонятные советы.
← →
Gollandec (2006-01-03 16:26) [7]MasterPaleva
А че это за пятничные задачки такие? =)
← →
SergP © (2006-01-03 20:05) [8]
> Gollandec (03.01.06 16:26) [7]
> MasterPaleva
> А че это за пятничные задачки такие? =)
Это когда здесь задачки на халяву решают... Согласно традициям - только по пятницам. :-)
← →
Gollandec (2006-01-03 21:51) [9]SergP,
ясно. А где таких решателей искать?
← →
GEN++ © (2006-01-04 00:54) [10]>Gollandec
>.... А где таких решателей искать?
Самое оптимальное - в зеркале.
Но если там такового не окажется то см. ниже
Примем для конкретики следующие соглашения:
1. PC на котром будет решаться задача является сервером
на который от удаленных терминалов клиентов поступают данные
о текущих уровнях горючего снятого операторами.
2. Конфигурация резервуаров нефтебазы №1
хранится в файле Base_1.cfg по адресу "C:\Bases\Base_1\"
формат файла - текстовый:
Res<N>;<Rad_N>
где <N> - номер резервуара
<Rad_N> - радус резервуара (метры) с номером N
и создадим его для конкретики в WORDEPAD:
Res1;2,87
Res2;3,12
Res3;4,62
Res4;1,49
Res5;3,49
Res6;8,60
3. Данные о текущих уровнях поступают с клиентского PC
расположенного на нефтебазе 1 через сеть или через интернет
в виде файла Base_1.lev расположенный по адресу "C:\Bases\Base_1\"
Формат файла- текстовый:
Res<N>;<Lev_N>
где <N> - номер резервуара
<Lev_N> - уровень горюченго в резервуаре (метры) с номером N
и создадим его для конкретики в WORDEPAD:
Res1;0,75
Res2;0,5
Res3;0,25
Res4;1,00
Res5;0,8
Res6;1,35
Программным интерфейсом приложентия является форм
с расположенными на ней следующим элементами:
TEdit - окно для отображения результатов вычислений
name: edResult, режим редактирования: read only=true
TLabel - заголовок окна TEdit
caption: "Запас горючего (куб. м) на нефтебазе 1"
TButton - кнопка для запуска оператором вычислений
caption: "Выполнить"
name: btnResult
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
edResult: TEdit;
btnResult: TButton;
procedure btnResultClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
R:array of real;
H:array of real;
implementation
{$R *.DFM}
procedure TForm1.btnResultClick(Sender: TObject);
var
bufWork:TStringList;//буфер для чтения файлов
n,k,i,p:word;//рабочие переменные
sumV:real;//суммарный обем в куб м
S:string;
begin
{загрузка исходных данных}
try
bufWork:=TStringList.Create;
bufWork.LoadFromFile("C:\Bases\Base_1\Base_1.cfg");
n:=bufWork.Count;//число резервуаров
setLength(R,n);
setLength(H,n);
for i :=0 to n-1 do
begin
S:=bufWork.Strings[i];
p:=pos(";",S);
k:=strToInt(copy(S,4,p-4))-1;//номер резервуара
delete(S,1,p);
R[k]:=strToFloat(S); //
end;
bufWork.LoadFromFile("C:\Bases\Base_1\Base_1.cfg");
for i :=0 to n-1 do
begin
S:=bufWork.Strings[i];
p:=pos(";",S);
k:=strToInt(copy(S,4,p-4))-1;//
delete(S,1,p);
H[k]:=strToFloat(S); //уровень в резервуаре k
end;
{вычисление суммарного объема}
SumV:=0;
for k:=0 to n-1 do
begin
SumV:=SumV+pi*R[k]*R[k]*(R[k]-H[k]/3);
end;
edResult.Text:=FloatTostr(SumV);
{освобождаем память}
except
bufWork.Free;
setLength(R,0);
setLength(H,0);
end;
end;
end.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.044 c