Софтуерно Инженерство
Loading...
JulianK avatar JulianK 2 Точки

Задача 16.*Рожден Ден

литрите, които реално ще трябват : 299.625*(1-0.17) = 248.68875 литра

Защо изваждаме 1 и процента?

Каква е разликата между форматиране до x знак след десетичната запетая и Math.Round?

 

0.* Рожден ден

Първа задача от изпита на 17 септември 2017. Тествайте решението си тук.

За рождения си ден Любомир получил аквариум с формата на паралелепипед. Първоначално прочитаме от конзолата на отделни редове размерите му – дължина, широчина и височина в сантиметри. Трябва да се пресметне колко литра вода ще събира аквариума, ако се знае, че определен процент от вместимостта му е заета от пясък, растения, нагревател и помпа.

Един литър вода се равнява на един кубичен дециметър/ 1л=1 дм3/.

Да се напише програма, която изчислява литрите вода, която са необходими за напълването на аквариума.

Вход

От конзолата се четат 4 реда:

  1. Дължина в см – цяло число в интервала [10 … 500];
  2. Широчина в см – цяло число в интервала [10 … 300];
  3. Височина в см – цяло число в интервала [10… 200];
  4. Процент  – реално число в интервала [0.000 … 100.000];

Изход

Да се отпечата на конзолата едно число:

  • литрите вода, които ще  събира аквариума, форматирани до третия знак след десетичната запетая.

Примерен вход и изход

Вход

Изход

Обяснения

85

75

47

17

248.689

Изчисляваме обем на аквариум:

обем на аквариум= 85*75*47=299625 см3

общо литри, които ще събере: 299625 * 0.001=299.625 литра

процент: 17*0.01=0.17

литрите, които реално ще трябват : 299.625*(1-0.17) = 248.68875 литра

Вход

Изход

 

105

77

89

18.5

586.445

 

 

Моето решение 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Birthday
{
    class Program
    {
        static void Main(string[] args)
        {
            var l = int.Parse(Console.ReadLine());
            var w = int.Parse(Console.ReadLine());
            var h = int.Parse(Console.ReadLine());
            var percent = double.Parse(Console.ReadLine());

            var TotalVolume = l * w * h;
            var RealLitres = TotalVolume * 0.001;
            var procent = percent * 0.01;
            Console.WriteLine($"{RealLitres * (1 - procent):f3}");


        }

    }
}
 

Тагове:
veronikaaa86 avatar veronikaaa86 351 Точки
Best Answer

Здравей,

1 - 0,17 НЕ е в резултат на превръщането на куб. дециметър в литър.

1 - 0,17 е еквивалент на (100 - 17) * 0,01, където 100 е общия процент литри на аквариума минус 17% заети от пясък и т.н.

И сега има два варианта на изчисление на това колко литра са тези оставащи 83% от всичките литри на аквариума:

1 вариант: Всичките литри * 0,83 (което е резултат от (100 - 17) * 0,01)

2 вариант: Всиките литри / 100 * 83 (процентите, които остават незаети от пясък и др.)

:)

0