4. naloga

Analiza enot

Pogosto se zgodi, da dijak pri pouku fizike na tablo napiše napačno formulo, npr. za hitrost: v = s · t. Nato profesor prav tako pogosto vzklikne: ››Pa, saj to se že od daleč vidi, da je narobe. Na levi strani so enote metri na sekundo, na desni pa imaš metre krat sekunde, seveda je narobe, saj se enote ne ujemajo!‹‹ Napiši program ali podprogram (kar ti je lažje), ki prebere fizikalno formulo in preveri, ali se enote na obeh straneh enačaja ujemajo.

Formula je dana kot enakost dveh ulomkov, na primer

a b c d / x y z = h / i j k

kar ustreza formuli \( \frac{abcd}{xyz} = \frac{h}{ijk} \). Pri tem male črke angleške abecede (od a do z) predstavljajo fizikalne količine. Imenovalci ulomkov niso nujno prisotni, če pa so, je na vsaki strani znaka / gotovo vsaj ena količina.

Poleg tega imaš na začetku podane tudi enote za vsako fizikalno količino, ki v formuli nastopa. Enote so podane v obliki ulomka, za katerega veljajo enaka pravila kot za ulomke v formuli. Na primer:

a : m / s s

Vse fizikalne količine bodo označene z malimi črkami angleške abecede, prav tako pa tudi njihove enote. Enote in količine imajo lahko enake črke. Tvoj program lahko bere podatke s standardnega vhoda ali pa iz datoteke enote.txt (kar ti je lažje). V prvi vrstici je število količin n, ki bodo uporabljene v enačbi. V naslednjih n vrsticah sledijo izražave teh količin v osnovnih enotah. Nato sledi enačba v obliki, kot je opisana zgoraj. Posamezni znaki v formulah in opisih količin so ločeni s po enim presledkom. Tvoj program naj izpiše samo ››Formula je pravilna.‹‹ ali ››Formula ni pravilna.‹‹, odvisno od tega, ali se enote ujemajo ali ne.


Primer vhoda:

3
h : m
g : m / s s
v : m / s
h = v v / g

Pripadajoči izhod:

Formula je pravilna.

Še en primer:

4
f : g m / s s
m : g
t : s
s : m
f / m = s / t

Pripadajoči izhod:

Formula ni pravilna.