Seminární práce do školy – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Seminární práce do školy – Pascal – Fórum – Programujte.comSeminární práce do školy – Pascal – Fórum – Programujte.com

 

Peter
~ Anonymní uživatel
4014 příspěvků
16. 12. 2008   #1
-
0
-

Ahoj.Prosím Vás můžete mi někdo pomoct se seminární prací do školy z programování Pascal.Já prostě vůbec nevím jak na to.Moc děkuju tomu kdo mi pomůže.Tady je zadání mé práce:
Sestavte program, který si vyžádá zadání tří číselných hodnot - velikostí stran trojúhelníka.
Poté program vyhodnotí, zda je možné ze stran zadaných velikostí sestrojit trojúhelník, y výsledek oznámí.
V případě, že trojúhelník sestrojit lze, program ověří, zda je pravoúhlý a výsledek rovněž oznámí.

Nahlásit jako SPAM
IP: 213.168.179.–
KIIV
~ Moderátor
+43
God of flame
16. 12. 2008   #2
-
0
-

co je na tom tezkyho?
nactes 3 hodnoty, zjistis nejvetsi z nich, a podminku sestrojitelnosti trojuhelnika urcite znas ...

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

To KIIV : To se ti říká, kdyý jsem zařátečník...Zkus mi to teda napsat a uvidíme, jak je to jednoduchý..

Nahlásit jako SPAM
IP: 213.168.179.–
o-lox0
Super člen
16. 12. 2008   #4
-
0
-

Ono to opravdu je jednoduchy
staci umet zakladni stavebni konstrukce
If
If neco_splneneho then Ukon
For
for i:=1 to 3 do begin end;
pole:array[1..3]of integer;


3*read(pole[i]); {cyklem s promenou}

C jako nejvetsi strana:

If (pole[1]>pole[2])and(pole[1]>pole[3]) then
begin c:=pole[1]; b:=pole[2]; a:=pole[3]; end else
If (pole[2]>pole[3])and(pole[2]>pole[1]) then
begin c:=pole[2]; a:=pole[1]; b:=pole[3]; end else
begin c:=pole[3]; a:=pole[1]; b:=pole[2]; end;

podminka sestrojitelnosti: c<a+b

Zaroven kdyz C na druhou = A na druhou + B na druhou je pravouhly
A,B jsou 2 zjistena nejmensi cisla

Nahlásit jako SPAM
IP: 85.71.152.–
16. 12. 2008   #5
-
0
-

To ze z neceho mate seminaku znamena, ze jste to nejakym zpusobem probirali. A to ze jste to probirali znamena

1) Nedavals pozor
2) Vubecs tam nechodil
3) Jses tak blbej ze nechapes pascal i kdyz se snazis (coz povazuju za velmi nepravdepodobne)

Ani jedno z toho neni omluva.

Nahlásit jako SPAM
IP: 78.102.164.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Black
~ Anonymní uživatel
4 příspěvky
16. 12. 2008   #6
-
0
-

To CommanderZ : Já jsem prostě dlouho chyběl a tak to nevím, jestli ti to stačí.

Nahlásit jako SPAM
IP: 213.168.179.–
Santas0
Věrný člen
16. 12. 2008   #7
-
0
-

namiesto toho, ze tu cakas, kym ti to niekto naprogramuje, uz si sa ho mohol zacat ucit a vypracovavat tvoje zadanie
ak sa ti nechce, zaplat niekomu a urcite ti to nakodi za par minut ;)

EDIT: juchuuu, uz som tu naspamoval 400 prispevkov :D
EDIT2: ak mas zaujem sa to ucit, postupne zacni a v pripade, ze nebudes nieco chapat/vediet a nenajdes odpoved na googli, napis sem

Nahlásit jako SPAM
IP: 195.91.79.–
http://psandtner.sk/blog
Mircosoft+1
Věrný člen
18. 12. 2008   #8
-
0
-

Petře, nejsi sám :-). Tohle mi přišlo na mail, prý proč to nefunguje:


>
>Uses crt;
>var a, b, c, i: real;
>begin
>for i:=1 to 3 do begin end;
>pole:array[1..3]of integer;
>
>3*read(pole[i]);
>If (pole[1]>pole[2])and(pole[1]>pole[3]) then
>begin
>c:=pole[1]; b:=pole[2]; a:=pole[3];
>end
>else
>If (pole[2]>pole[3])and(pole[2]>pole[1]) then
>begin c:=pole[2]; a:=pole[1]; b:=pole[3];
>end
>else
>begin c:=pole[3]; a:=pole[1]; b:=pole[2];
>end;
>end.
>



Vypadá to, že drobné náznaky stačit nebudou...
A když už jsem se rozepsal v mailu, tak hodím kopii i sem, snad se nikdo nebude zlobit.


Teorie, aneb co vlastně počítáme:
1) Ze tří stran jde sestrojit trojúhelník, pokud je součet délek libovolných dvou vždy větší než délka té třetí (nebo jinak: pokud je součet dvou kratších stran větší než ta nejdelší - to se líp programuje).
2) Trojúhelník je pravoúhlý, pokud platí a*a+b*b=c*c, kde c je nejdelší strana.

Jak na to:
1) Nechat si zadat tři čísla a zapamatovat si je.
2) Najít mezi nimi to největší.
3) Porovnat součet dvou menších s tím největším. Pokud je větší, trojúhelník jde sestrojit.
4) Sdělit výsledek uživateli.
5) Sečíst druhé mocniny dvou menších a výsledek porovnat s tou největší. Pokud se to rovná, trojúhelník je pravoúhlý.
6) Sdělit výsledek uživateli.


K tvému programu:

>Uses crt;
- Zbytečné, žádné funkce z této jednotky nebudeme potřebovat.

>var a, b, c, i: real;
>begin
- OK

>for i:=1 to 3 do begin end;
- Tohle je příkaz, který třikrát za sebou neudělá nic. Čili k ničemu. A navíc i je reálné číslo, které jako řídicí proměnná for-cyklu použít nejde.

>pole:array[1..3]of integer;
- No fuj, deklarace proměnné musí být před výkonnou částí programu (tj. před prvním begin)!!!

>3*read(pole[i]);
- Autor tímhle řádkem chtěl říct, že máš načíst tři čísla. V Pascalu to takhle nejde - * je na násobení, ne na opakování (na to je for).

>If (pole[1]>pole[2])and(pole[1]>pole[3]) then
>begin
>c:=pole[1]; b:=pole[2]; a:=pole[3];
>end
>else
>If (pole[2]>pole[3])and(pole[2]>pole[1]) then
>begin c:=pole[2]; a:=pole[1]; b:=pole[3];
>end
>else
>begin c:=pole[3]; a:=pole[1]; b:=pole[2];
>end;
- Řazení podle velikosti? Uděláme to jednodušeji.

>end.
- OK.


Takže jinak:

Proměnné a,b,c,i necháme.

Načítání:
readln(a); readln(b); atd.
Samozřejmě je dobré před každým readln ještě pomocí write nebo writeln uživateli říct, co má zadat.

Přeházíme čísla tak, aby největší z nich bylo v proměnné c:
if a>c then {prohoď c s a};
if b>c then {prohoď b s c};
To prohození uděláš pomocí pomocné proměnné (i) ve třech krocích: první číslo ulož do pomocné proměnné, druhé číslo ulož do prvního čísla a nakonec pomocnou proměnnou do druhého čísla. Implementaci nechám na tobě, jsou to tři jednoduché přiřazovací příkazy (:=). Nezapomeň je uzavřít mezi begin a end.

Teď tedy máme v c největší ze zadaných čísel, na pořadí dvou menších nám nezáleží.

Kontrola sestrojitelnosti trojúhelníka:
if a+b>c then {je sestrojitelný} else {není sestrojitelný};
Místo těch komentářů si doplň nějakou vhodnou hlášku pro uživatele (writeln('Ano') apod.).

Kontrola pravoúhlosti:
Tahle kontrola má smysl jenom pokud je trojúhelník sestrojitelný, takže ji umísti před else v minulém příkazu (opět budeš muset použít begin a end, aby mezi then a else šlo dát víc příkazů než jeden).
if a*a+b*b=c*c then {je pravoúhlý} else {není pravoúhlý};
Opět vypiš nějakou vhodnou hlášku.

A na závěr počkání na stisk Enteru, aby si uživatel stihl přečíst výsledky:
readln;
Taky je dobré předtím napsat "stiskni enter" nebo tak něco, aby bylo jasné, jak z toho ven.

Nahlásit jako SPAM
IP: 147.32.161.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Jamp
~ Anonymní uživatel
5 příspěvků
18. 12. 2008   #9
-
0
-

Nema byt i integer? real moze byt pocitadlo?

Nahlásit jako SPAM
IP: 91.127.74.–
KIIV
~ Moderátor
+43
God of flame
18. 12. 2008   #10
-
0
-

To Jamp : jasne ze nemuze... musi to byt ordinalni datovy typ... tj aby slo presne urcit predchudce a nasledovnika

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 9 hostů

Podobná vlákna

Seminární práce — založil marwe.k

Práce do školy — založil Malirka

Práce do školy — založil Black

Moderátoři diskuze

 

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