Here there are some examples of how something simple can be made in several ways. Namely we want to know Area, Perimeter and Centroid (refered to the bottom-left corner) of a rectangle, given his base and height.
requires following values:
  • b: base of rectangle
  • h: height of rectangle
    result:
  • a system containing: centroid, perimeter, area

Passo 1

O enunciado pede uma rotina que, dados a base b e a altura h de um retângulo, retorne três valores: a área A, o perímetro P e o centróide C (referido ao canto inferior esquerdo). O conteúdo principal é aplicação de fórmulas básicas de geometria e checagem de pré-condição b>0 e h>0.

Passo 2

Verificamos primeiro a condição de validade das entradas: se b<=0 ou h<=0, não faz sentido calcular propriedades geométricas. Nesse caso, marcamos as saídas como indefinidas (ou lançamos erro).
Para a área usamos a fórmula clássica de retângulo: A = b cdot h

Passo 3

Para o perímetro aplicamos P = 2,(b + h), somando todos os lados.
O centróide de um retângulo localizado com um vértice na origem e lados paralelos aos eixos está exatamente no ponto médio de suas diagonais. Logo, sei:
C = CxCy = tfracb2[6pt]tfrach2

Passo 4

Finalmente, retornamos o triplo C, P, A conforme a especificação.

Resposta

Procedure RectangleProperties_1(b,h)
if (b>0) and (h>0) then
A := b cdot h
P := 2 cdot (b + h)
C :=
[
tfracb2
tfrach2
]
else
A := – // indefinido
P := – // indefinido
C := – // indefinido
end if
return C, P, A
End Procedure

Exercícios relacionados