┌loha Φ. 1


Nßzev ·lohy: Barel vody
Datum: 20.10.1997
Obtφ₧nost: Z
P°edpoklßdanΘ znalosti: p°φkaz p°i°azenφ, zßkl. operace nad reßln²mi Φφsly, procedury pro V/V operace, p°φkaz cyklu repeat


Zadßnφ
V²prava odvß₧n²ch cestovatel∙ se vydala nap°φΦ Saharou. Utßbo°ili se v pouÜti, kde majφ k dispozici barel s vodou. Je zadßna doba, po kterou musφ voda vystaΦit, poΦet Φlen∙ v²pravy a jejich dennφ spot°eba. Dßle uva₧ujme, ₧e ka₧d² z v²pravy mß svΘho kon∞, kter² mß dennφ spot°ebu prßv∞ dvojnßsobnou, ne₧ jeden Φlen v²pravy.
Nech¥ program pro zadanΘ hodnoty vypφÜe, jak² pr∙m∞r musφ mφt zßsobovacφ barel, vφme-li, ₧e lze zaplnit pouze do v²Üky 1,25 metru.

Bli₧Üφ popis

  1. doba bude vyjßd°ena poΦtem dnφ
  2. dennφ spot°eba bude zadßna v litrech
  3. maximßlnφ poΦet Φlen∙ v²pravy je 50 (podmφnka)
  4. nech¥ je v²sledek pr∙m∞ru vypsßn v centimetrech

Diskuse k °eÜenφ
  1. OznaΦme: dobu .... d, poΦet Φlen∙ .... p, objem pot°ebnΘ vody .... V, pr∙m∞r vßlce .... dv, objem barelu .... Vb a dennφ spot°ebu .... ds.
    konstanta h=1,25 .... v²Üka vody v barelu
  2. Na zaΦßtku programu musφme zajistit vstup hodnot d, p a ds. Vstup hodnot provedeme standardnφm p°φkazem vstupu readln. Za zmφnku snad stojφ, jak zajistit, aby prom∞nnß p byla v po₧adovanΘm intervalu <1;50>. Na to lze pou₧φt cyklus repeat.
  3. Dßle musφme spoΦφtat celkov² objem vody, kterou budou ΦlenovΘ v²pravy pot°ebovat. Ten zφskßme tak, ₧e: poΦet Φlen∙ v²pravy vynßsobφme trojnßsobkem dennφ spot°eby (1 ds - cestovatel, 2 ds - jeho k∙≥) a to celΘ jeÜt∞ vynßsobφme poΦtem dnφ. Tedy:
    V=p.3.ds.d [l]
  4. Vztah pro v²poΦet objemu vßlce je Vb=Pi.r2.h [m3], konstanta Pi je v TP p°eddefinovanß, h=1,25 (viz zadßnφ). Abychom zφskali Vb takΘ v litrech, je t°eba jej vynßsobit tisφcem.
  5. Shrnu-li body 3, 4, dostaneme, ₧e p.3.ds.d = Pi.r2.h.1000 vyjßd°φme dv: (dv=2r)
    dv=2.p.3.ds.dPi.h.1000
  6. VypoΦten² dv je v metrech, do v²sledku ji₧ staΦφ dv pod∞lit stem, abychom zφskali v²sledek v centimetrech.

╪eÜenφ
program Barel_vody;
const MaxOsob=50;
var d, p, ds: integer;
      dv: real;
BEGIN
write(' Zadejte dobu a dennφ spot°ebu: ');
readln(d,ds);

repeat
     write(' Zadejte poΦet Φlen∙ v²pravy: max.',MaxOsob);
     readln(p);
until (1<=p) and (p<=MaxOsob);
dv:=2*(sqrt((p*3*ds*d)/(Pi*h*1000)));
writeln('Barel musφ mφt pr∙m∞r: ',dv/100:5:2,' cm');
END.



[Archφv] [Zm∞na k≤dovßnφ]