Pomoc s domácím úkolem – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Pomoc s domácím úkolem – Pascal – Fórum – Programujte.comPomoc s domácím úkolem – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Malirka
~ Anonymní uživatel
34 příspěvků
16. 12. 2008   #1
-
0
-

Potřebovala bych pomoct s tímto domácím úkolem.Vůbec si s tím nevím rady...Mám jenom část..
Mám sestavit program, který určí výslednou teplotu vody, při smíšení dvou různých množství vody o různých teplotách (použití kalorimetrické rovnice).
Vstup: - hmotnost a teplota prvního vzorku vody
- hmotnost a teplota druhého vzorku vody
Výstup: Výsledná teplota po smíchání
Program po zobrazení výsledné teploty nabídne možnost řešit další úlohu nebo skončit.
--
--
--
Vím, že ta kalorimetrická rovnice má vzorec:--- m1 * c * (t-t1) + C * (t-t1) = m2 * c * (t2-t) ---
a zatám mám z programu toto:
--
Uses crt;
const c = 4200;
var t1,t2,m1,m2,c:real;
begin
writeln('Hmotnost 1 [kg]: ');
readln(t1);
writeln('Teplota 1 [K]: ');
readln(m1);
writeln('Hmotnost 2 [kg]: ');
readln(t2);
writeln('Teplota 2 [K]: ');
readln(m2);
m1*c*(t-t1)+D*(t-t1)= m2*c*(t2-t)
writeln;
writeln('Celkova teplota po smichani:');
end.

Nahlásit jako SPAM
IP: 213.168.179.–
Reklama
Reklama
Wimby
~ Anonymní uživatel
50 příspěvků
16. 12. 2008   #2
-
0
-

Podle mne je zbytečné zpočítávat do rovnice i původní teplo C * (t - t1) - nebo co to je, opravte mě, jestli se mýlím :-)... čili rovnice by vypadala asi nějak: c1 * m1 * (t1 − t) = c2 * m2 * (t − t2) a jestli-že se jedná o tutéž vodu, pak c1 = c2 a jde krátit, čili výsledná rovnice by byla pouze: m1 * (t1 − t) = m2 * (t − t2)

Co se týče programu, tak nemůžeš mít stejný identifikátor pro dvě a víc symblů - máš tam "c" jako konstantu i proměnnou.
Používání knihovny CRT, když z ní žádnou funkci nebereš je také zbytečné (kompiler by to měl sice odstranit sám, ale proč si přidělávat práci :-) )
No a co se týče tý nabídky OPAKOVÁNÍ nebo skončení, tak to musíš buď celé uzavřít do cyklu, nebo tam definovat návěstí (návěstí se učiteli předpokládám nebude líbit - není-li tak zvrhlý jako já ;-) )

čili to vidím asi takhle:

var

m1,t1,t,m2,t2 : real; {vsechny promenne z rovnice budou zde}
ukonci : char; {pomocna promenna, ktera uchova hodnotu jestli chci pokracovat nebo ukoncit}
begin
ukonci := 'n'; {jaka koliv hodnota, krome 'a', coz znamena ukonceni programu}
while ukonci <> 'a' do
begin
write('Zadej hmotnost 1 [kg]: ');
readln(m1);
write('Zadej teplotu 1 [K]: ');
readln(t1);
write('Zadej hmotnost 2 [kg]: ');
readln(m2);
write('Zadej teplotu 2 [K]: ');
readln(t2); {az sem je to jasny, ted se ale rovnice musi predelat do tvaru t = xxx, nebo pouzit dalsi pomocnou promennou}
t := (m1 * t1 + m2 * t2) / (m1 + m2); {m1 + m2 se nesmi rovnat nule}
writeln('Celkova teplota je: ',t);
writeln('Chcete-li ukoncit program napiste 'a': ');
readln(ukonci);
end;
end.


Nabídka ukončování nebo pokračování se dá udělat mnohlem lépe, ale tohle by mělo stačit

Nahlásit jako SPAM
IP: 83.208.196.–
Malirka
~ Anonymní uživatel
34 příspěvků
16. 12. 2008   #3
-
0
-

To Wimby :moc ti děkuju..Jenom mi to hlásí chybu u ---writeln('Chcete-li ukoncit program napiste 'a': ');--- u toho 'a'.

Nahlásit jako SPAM
IP: 213.168.179.–
Malirka
~ Anonymní uživatel
34 příspěvků
16. 12. 2008   #4
-
0
-

To Malirka : Tak v pořádku už mi to jde..Musela jsem tam totiž dát--Writeln('Chcete-li ukoncit program "a": ');--

Nahlásit jako SPAM
IP: 213.168.179.–
KIIV+42
God of flame
16. 12. 2008   #5
-
0
-

tak ono se da dat v retezci ' ... akorat se pise jako tusim '''' proste 4x ' nebo nejak podobne hodnekrat

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Wimby
~ Anonymní uživatel
50 příspěvků
16. 12. 2008   #6
-
0
-

Jo, to je fakt, za to se omlouvám

Nahlásit jako SPAM
IP: 83.208.196.–
Mircosoft+1
Věrný člen
16. 12. 2008   #7
-
0
-

To KIIV : Přesně dvakrát.

Nahlásit jako SPAM
IP: 86.49.83.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 12 hostů

Podobná vlákna

Pomoc s úkolem v C — založil Thill

Pomoc s úkolem — založil Honza

Pomoc s úkolem — založil Malirka

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý