Faça um programa que receba as dimensões de uma sala de aula (comprimento e largura) e as dimensões de uma carteira. Considerando que:
- Entre duas fileiras deve haver
de espaço;
- Entre duas cadeiras na mesma fileira deve haver 0,2
de espaço;
- Deve ser reservada ao professor um espaço de
de comprimento;
Calcule quantas carteiras cabem na sala de aula.
Passo 1
O enunciado pede que façamos um programa que, dadas as dimensões da sala de aula — comprimento
e largura
— e as dimensões de cada carteira — comprimento
e largura
— calcule o número máximo de carteiras que cabem, obedecendo a três requisitos:
. Reservar
m de comprimento para o professor;
. Deixar
m de espaço entre duas fileiras (frente-verso);
. Deixar
m de espaço entre duas carteiras na mesma fileira (lado-a-lado).
O conteúdo principal é um arranjo retangular com espaçamentos, usando divisões inteiras (função chão).
Passo 2
Calcule o comprimento útil da sala depois de reservar o espaço do professor:
Passo 3
Determine quantas fileiras cabem no comprimento útil. Se houver
fileiras, o espaço ocupado é
Rearranjando,
logo o número máximo de fileiras é
Passo 4
Determine quantas carteiras cabem em cada fileira ao longo da largura da sala. Se houver
carteiras por fileira, o espaço ocupado é
Rearranjando,
logo o número máximo de carteiras por fileira é
Passo 5
O total de carteiras que cabem é simplesmente
Resposta
Segue um exemplo de programa em Python que implementa essa lógica:
import math
def main():
L = float(input("Comprimento da sala (m): "))
W = float(input("Largura da sala (m): "))
l = float(input("Comprimento da carteira (m): "))
w = float(input("Largura da carteira (m): "))
# espaço útil em comprimento, já reservando \(1,5\) m para o professor
\(L_{util} =\) L - \(1.5\)
# número de fileiras no sentido do comprimento
\(n_{fileiras} =\) math.floor((\(L_{util} + 0.5\)) / (l + 0.5))
# número de carteiras por fileira no sentido da largura
\(n_{colunas} =\) math.floor((W + 0.2) / (w + 0.2))
total = \(n_{fileiras} \cdot n_{colunas}\)
print(total)
if __name__ == "__main__":
main()