Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.12.2010, 18:26
71Кристиночка 71Кристиночка вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 7
Репутация: 10
По умолчанию Требуется изготовить цилиндрическую цистерну

Требуется изготовить цилиндрическую цистерну с заданным объемом V м3 из листового
материала методом сварки, причем цистерна должна иметь минимальную длину сварных швов,
т. е. минимальную величину:
L = (h + p)→min ,
где h, p – высота цистерны и периметр ее основания соответственно, которые в свою очередь,
рассчитываются по формулам:
h=V/πr; ρ = 2πr ,
где r - радиус основания.
Разработать программу расчета размеров цистерны r и h, соответствующих вышеуказанному
условию, при расчете должно изменяться от rmin до rmax с шагом Δr.
Контрольные варианты исходных данных:


Построить чертеж цистерн
Ответить с цитированием
  #2  
Старый 22.12.2010, 18:53
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

пишешь эти самые формулы в прогу, проходишь циклом и сохраняешь минимум. Чертеж - рисуешь прямоугольник и окружность заданными параметрами

Код:
var dr,rmin,r,rmax,v,l,lm,rm,hm: extended;
...
dr:=0.1;       //
rmin:=10;     // по-хорошему читаешь данные от пользователя
rmax:=20.5; //
v:=100;      //

r:=rmin;
lm:=999999999999; // или же lm:=V/(pi*r)+2*pi*r; rm:=r;
while r<rmax do
 begin
 l:=V/(pi*r)+2*pi*r;
 if l<lm then
  begin
   lm:=l;
   rm:=r;
  end;
 r:=r+dr; 
 end;
hm:=V/(pi*r);
После прохода цикла получаешь rm и hm, от них строишь соответственно чертеж прямоугольника и окружности (вид сбоку и сверху).

З.Ы. может все-таки высота рассчитывается не как h=V/πr а как h=V/πr^2?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 22.12.2010 в 19:01.
Ответить с цитированием
  #3  
Старый 22.12.2010, 20:00
71Кристиночка 71Кристиночка вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 7
Репутация: 10
По умолчанию

как h=V/πr^2( просто не знала как написать)
Ответить с цитированием
  #4  
Старый 22.12.2010, 20:04
71Кристиночка 71Кристиночка вне форума
Прохожий
 
Регистрация: 22.12.2010
Сообщения: 7
Репутация: 10
По умолчанию

спасиб за помощь
Ответить с цитированием
  #5  
Старый 22.12.2010, 20:34
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

в таком случае везде надо V/(pi*r) заменить на V/(pi*r*r)
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025