U
U
uliana002017-10-18 19:20:22
Delphi
uliana00, 2017-10-18 19:20:22

How to write code to determine the total volume of nested balls?

Determine the total volume (in liters) of 12 nested balls with walls of 5 mm. The inner diameter of the inner ball is 10 cm. Consider that the balls are inserted into each other without gaps. What to add to make it work?
part of the code: (I entered the variables d-ball diameter, Pi-pi number, V-volume, i-walls of balls 5 mm.)

var
d, V, z, Pi, i : real;
k : integer;
begin
  i := 0.5;
  d := 10;
  Pi := 3.14;
  for k := 1 to 12 do
  begin
    d := d + i;
  end
  V := Pi * ((d * d * d) / 6);
end

Answer the question

In order to leave comments, you need to log in

3 answer(s)
T
tsarevfs, 2017-10-18
@tsarevfs

Do you mean wall volume? Then, if we invest without gaps, we get a large ball with a wall of 12 * 5 mm and a door like a small one - 10 cm.
We get an outer diameter of 22cm (10 holes + 2 * 6 walls).
Volume = whole volume - hole volume.
Well, do not forget that a liter \u003d 1 dm ^ 3. Units of measurement must be given accurately.

R
Rsa97, 2017-10-18
@Rsa97

const
  PI = 3.1415926;
var
  D, V: real;
  k: integer;
begin
D := 10;
V := 0;
for k := 1 to 12 do begin
  V := V + PI * D * D * D / 6;
  D := D + 1;
end
V := V / 1000;

S
Sly_tom_cat ., 2017-10-19
@Sly_tom_cat

There is no need for such non-optimal algorithms.
Those. You don't have to count the volume every time.
You have no gaps between the walls of all 12 balls. those. can be considered as a total volume. We have:
inside a spherical cavity with a diameter of 10 and 12 layers with 5 cm walls, i.e. each new layer increases the diameter by 10.
Thus . you have an outer diameter = 10 + 10 * 12 = 130
Next, we calculate the volume by the outer diameter and subtract the volume of the cavity (the same formula but by the inner diameter)
No cycles - no need.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question