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

19. *Ремонт на плочки - Задача

Здравейте, колеги,

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

Задача :

На площадката пред жилищен блок трябва да се поставят плочки. Площадката е с форма на квадрат със страна N метра. Плочките са широки „W“ метра и дълги „L“ метра. На площадката има една пейка с ширина M метра и дължина O метра. Под нея не е нужно да се слагат плочки. Всяка плочка се поставя за 0.2 минути.

Напишете програма, която чете от конзолата размерите на площадката, плочките и пейката и пресмята колко плочки са необходими да се покрие площадката и пресмята времето за поставяне на всички плочки.

Пример: площадка с размер 20м. има площ 400кв.м. Пейка широка 1м. и дълга 2м., заема площ 2кв.м. Една плочка е широка 5м. и дълга 4м. има площ = 20кв.м. Площта която трябва да се покрие е 400 – 2 = 398 кв.м. Необходими са 398 / 20 = 19.90 плочки. Необходимото време е 19.90 * 0.2 = 3.98 минути.

Вход

От конзолата се четат 5 числа:

  • N – дължината на страна от площадката в интервала [1...100]
  • W – широчината на една плочка в интервала [0.1...10.00]
  • L – дължината на една плочка в интервала [0.1...10.00]
  • М – широчината на пейката в интервала [0...10]
  • О – дължината на пейката в интервала [0...10]

            //Обща площ = 20 * 20 = 400; площ на пейката = 1 * 2 = 2
            //Площ за покриване = 400 – 2 = 398
            // Площ на плочки = 5 * 4 = 20
            //Необходими плочки = 398 / 20 = 19.9
            //Необходимо време = 19.9 * 0.2 = 3.98
            //Да се отпечата на конзолата две числа: броят плочки необходи за ремонта и времето за поставяне, всяко на нов ред.

class Program
    {
        static void Main(string[] args)
        {
           double i =double.Parse(Console.ReadLine()); // strana ploshtadka
           double a =double.Parse(Console.ReadLine()); //shirina plochki
           double b =double.Parse(Console.ReadLine()); //duljina plochki
           double c =double.Parse(Console.ReadLine()); //shirina peika
           double x =double.Parse(Console.ReadLine()); //duljina peika
            
     
            double ploshtadka = i * i;
            double ploshtpeika = c * x;
            double ploshtzapokrivane = ploshtadka - ploshtpeika;
            double ploshtplochki = a * b;
            double plochki = (ploshtadka / ploshtplochki);
            double vreme = plochki * 0.2;
         
         
            Console.WriteLine("Plochki = {0} ", + plochki);
            Console.WriteLine("Vreme za slagane = {0} ", vreme);
 
          

        }
    }      
           
}          

Моля за пояснения :D

Благодаря!
 

Тагове:
0
Programming Fundamentals
ivanov_bg3333 avatar ivanov_bg3333 1 Точки

Здравейте! Това е моят отговор на задачата:

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

namespace RemontNaPlochki
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine()); // дължината на страна от площадката в интервала
            var w = double.Parse(Console.ReadLine()); // широчината на една плочка в интервала
            var k = double.Parse(Console.ReadLine()); // дължината на една плочка в интервала
            var m = int.Parse(Console.ReadLine()); // широчината на пейката в интервала
            var o = int.Parse(Console.ReadLine()); // дължината на пейката в интервала
            double broiPlochki = ((n * n) - (m * o)) / (w * k);
            double VremeZaPostaviane = broiPlochki * 0.2;
            Console.WriteLine(broiPlochki);
            Console.WriteLine(VremeZaPostaviane);

            
        }
    }
}

0
18/01/2019 23:23:41