SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Samostatná domácí práce
Předmět: Algoritmizace
Název: Vlastnosti trojúhelníka
Vypracoval: Alexandr Slabý Třída: 2E
Datum odevzdání: 31.12.2005
Zadání:
Sestavit algoritmus, který ze tří zadaných čísel urči:
Zda je možné sestrojit trojúhelník se stranami zadaných délek
Pokud ano, určí dále, zda trojúhelník bude
rovnoramenný
rovnostranný
pravoúhlý
obecný
včetně možných kombinací.
Algoritmus vyjádřit vývojovým diagramem a programem v DELPHI.
Teoretický rozbor:
Trojúhelník je možné sestrojit, pokud součet délek kterýchkoliv dvou stran je je větší, než
strana třetí.
Trojúhelník je rovnostranný, pokud jsou délky všech tří stran trojúhelníka stejné.
Trojúhelník je rovnoramenný, pokud kterékoliv dvě strany jsou stejné a současně jiné než
strana třetí.
Trojúhelník je pravoúhlý, pokud pro něj platí pythagorova věta, tj. součet mocnin délek dvou
stran je stejný jako mocnina délky třetí strany.
Trojúhelník je obecný, pokud jej lze sestrojit a není ani rovnostranný, ani rovnoramenný, ani
pravoúhlý.
Mohou existovat následující možnosti, kombinace:
• Nelze sestrojit
• Rovnostranný
• Rovnoramenný a nepravoúhlý, tj. jenom rovnoramenný
• Rovnoramenný a pravoúhlý
• Pravoúhlý a nerovnostranný, tj. jenom pravoúhlý
• Obecný tj. lze sestrojit a není ani rovnostranný, ani rovnoramenný, ani pravoúhlý.
Postup řešení:
Algoritmus po zadání tří vstupních hodnot bude testovat možnosti v následujícím pořadí:
1. Sestrojitelnost
2. Rovnostrannost
3. Rovnoramennost
4. Pravoúhlost
Pokud trojúhelník nebude možno sestrojit, nebude testovat nic dalšího. Pokud trojúhelník
bude možno sestrojit, bude testovat rovnostrannost. Pokud trojúhelník bude rovnostranný,
nebude testovat nic dalšího. Pokud trojúhelník nebude rovnostranný, bude testovat
rovnoramennost. Pokud trojúhelník bude rovnoramenný, bude testovat pravoúhlost.
Vývojový diagram:
Úvodní výpisy
Zadání vstupů a,b,c
Možno
sestrojit?
–
m
+
Nelze sestrojit Rovno
stranný?
–
m
+
Rovnostranný
Rovnora
menný?
–
m
+
Pravo
úhlý?
–
m
+ Pravo
úhlý?
–
m
+
Obecn
ý
Pravoúhlý,
nerovnostr
Rovnoramenný
, nepravoúhlý
Rovnoramenný
a pravoúhlý
Kone
c
Kone
c
Kone
c
program R3U;
{$APPTYPE CONSOLE}
{Rozbor trojúhelníka
Program ze tri zadanych cisel urci:
Zda je mozne sestrojit trojuhelnik se stranami zadanych delek.
Pokud ano, urci dale, zda trojuhelnik bude
rovnoramenny
rovnostranny
pravouhly
obecny
vcetne moznych kombinaci}
uses
SysUtils;
var a,b,c:real; {Strany trojuhelnika - zadava uzivatel}
begin
{ TODO -oUser -cConsole Main : Insert code here }
writeln('Program pro rozbor trojuhelnika');
writeln; {Pro prehlednost}
write('Zadej delku prvni strany: ');
readln(a);
write('Zadej delku druhe strany: ');
readln(b);
write('Zadej delku treti strany: ');
readln(c);
If (a>(b+c)) or (b>(a+c)) or (c>(a+b)) then {Test sestrojitelnosti}
writeln('Ze zadanych delek stran nelze sestrojit trojuhelnik')
else
If (a=b) and (b=c) then {Test rovnostrannosti}
writeln('Trojuhelnik sestrojeny ze zadanych delek stran je rovnostranny')
else
If (a=b) or (b=c) or (a=c) then {Test rovnoramennosti}
if ((a*a) = (b*b)+(c*c)) or ((c*c) = (b*b)+(a*a)) or ((b*b) = (a*a)+(c*c)) then
{Test pravouhlosti}
writeln('Trojuhelnik sestrojeny ze zadanych delek stran je rovnoramenny a pravouhly')
else
writeln('Trojuhelnik sestrojeny ze zadanych delek stran je rovnoramenny')
else
if ((a*a) = (b*b)+(c*c)) or ((c*c) = (b*b)+(a*a)) or ((b*b) = (a*a)+(c*c)) then
{Test pravouhlosti}
writeln('Trojuhelnik sestrojeny ze zadanych delek stran je pravouhly')
else
writeln('Trojuhelnik sestrojeny ze zadanych delek stran je obecny');
writeln; {Pro prehlednost}
writeln('Konec programu. Po precteni stisknete ENTER pro ukonceni');
readln;
end.
Závěr:
Algoritmus splňuje všechny body zadání. Vývojový diagram by bylo možné nakreslit lépe,
pokud by se kreslil v programu k tomu více určenému, než je WORD. Program by se dal
vylepšit například kvalitnějším grafickým rozhraním. To však v konzolové aplikaci, která
pracuje jen v textovém režimu nejde.
Závěr:
Algoritmus splňuje všechny body zadání. Vývojový diagram by bylo možné nakreslit lépe,
pokud by se kreslil v programu k tomu více určenému, než je WORD. Program by se dal
vylepšit například kvalitnějším grafickým rozhraním. To však v konzolové aplikaci, která
pracuje jen v textovém režimu nejde.

Weitere ähnliche Inhalte

Andere mochten auch

Digital Signage Presentation For Via Satellite
Digital Signage Presentation For Via SatelliteDigital Signage Presentation For Via Satellite
Digital Signage Presentation For Via SatelliteDavid Drain
 
Implementace bezpecnostni politiky v organizaci
Implementace bezpecnostni politiky v organizaciImplementace bezpecnostni politiky v organizaci
Implementace bezpecnostni politiky v organizaciDCIT, a.s.
 
Automatizované obchodování pro mediální domy
Automatizované obchodování pro mediální domyAutomatizované obchodování pro mediální domy
Automatizované obchodování pro mediální domyMatěj Novák
 
Blest™ Company presentation.
Blest™ Company presentation.Blest™ Company presentation.
Blest™ Company presentation.Iryna Isakina
 
Případová studie M&A, E15 - SAMAK
Případová studie M&A, E15 - SAMAKPřípadová studie M&A, E15 - SAMAK
Případová studie M&A, E15 - SAMAKSAMAK
 
Hubnuti zasady-zdrave-vyzivy
Hubnuti zasady-zdrave-vyzivyHubnuti zasady-zdrave-vyzivy
Hubnuti zasady-zdrave-vyzivyalisadvorak361
 
MP_BiologickaLiecba_2611
MP_BiologickaLiecba_2611MP_BiologickaLiecba_2611
MP_BiologickaLiecba_2611Zuzana Bollov
 
Bahan ajar tik
Bahan ajar tikBahan ajar tik
Bahan ajar tikzaviro
 
Av technika 8
Av technika 8Av technika 8
Av technika 8olc_user
 
ČEZ City Cross Run Prague 2015
ČEZ City Cross Run Prague 2015ČEZ City Cross Run Prague 2015
ČEZ City Cross Run Prague 2015Miroslav Jiřík
 
Banners broker cz prezentace česky
Banners broker cz prezentace českyBanners broker cz prezentace česky
Banners broker cz prezentace českyMartin Jilek
 

Andere mochten auch (17)

Digital Signage Presentation For Via Satellite
Digital Signage Presentation For Via SatelliteDigital Signage Presentation For Via Satellite
Digital Signage Presentation For Via Satellite
 
Diplomová práce
Diplomová práceDiplomová práce
Diplomová práce
 
Implementace bezpecnostni politiky v organizaci
Implementace bezpecnostni politiky v organizaciImplementace bezpecnostni politiky v organizaci
Implementace bezpecnostni politiky v organizaci
 
B banky
B bankyB banky
B banky
 
evolucijska
evolucijskaevolucijska
evolucijska
 
Automatizované obchodování pro mediální domy
Automatizované obchodování pro mediální domyAutomatizované obchodování pro mediální domy
Automatizované obchodování pro mediální domy
 
Blest™ Company presentation.
Blest™ Company presentation.Blest™ Company presentation.
Blest™ Company presentation.
 
VESMIRNY KOLOTOC
VESMIRNY  KOLOTOCVESMIRNY  KOLOTOC
VESMIRNY KOLOTOC
 
Případová studie M&A, E15 - SAMAK
Případová studie M&A, E15 - SAMAKPřípadová studie M&A, E15 - SAMAK
Případová studie M&A, E15 - SAMAK
 
Hubnuti zasady-zdrave-vyzivy
Hubnuti zasady-zdrave-vyzivyHubnuti zasady-zdrave-vyzivy
Hubnuti zasady-zdrave-vyzivy
 
MP_BiologickaLiecba_2611
MP_BiologickaLiecba_2611MP_BiologickaLiecba_2611
MP_BiologickaLiecba_2611
 
Bahan ajar tik
Bahan ajar tikBahan ajar tik
Bahan ajar tik
 
Av technika 8
Av technika 8Av technika 8
Av technika 8
 
Davidova_Alzbeta_CV
Davidova_Alzbeta_CVDavidova_Alzbeta_CV
Davidova_Alzbeta_CV
 
ČEZ City Cross Run Prague 2015
ČEZ City Cross Run Prague 2015ČEZ City Cross Run Prague 2015
ČEZ City Cross Run Prague 2015
 
Powerpoint for blog
Powerpoint for blog Powerpoint for blog
Powerpoint for blog
 
Banners broker cz prezentace česky
Banners broker cz prezentace českyBanners broker cz prezentace česky
Banners broker cz prezentace česky
 

Samostatná DomáCí PráCe Vzor

  • 1. Samostatná domácí práce Předmět: Algoritmizace Název: Vlastnosti trojúhelníka Vypracoval: Alexandr Slabý Třída: 2E Datum odevzdání: 31.12.2005
  • 2. Zadání: Sestavit algoritmus, který ze tří zadaných čísel urči: Zda je možné sestrojit trojúhelník se stranami zadaných délek Pokud ano, určí dále, zda trojúhelník bude rovnoramenný rovnostranný pravoúhlý obecný včetně možných kombinací. Algoritmus vyjádřit vývojovým diagramem a programem v DELPHI. Teoretický rozbor: Trojúhelník je možné sestrojit, pokud součet délek kterýchkoliv dvou stran je je větší, než strana třetí. Trojúhelník je rovnostranný, pokud jsou délky všech tří stran trojúhelníka stejné. Trojúhelník je rovnoramenný, pokud kterékoliv dvě strany jsou stejné a současně jiné než strana třetí. Trojúhelník je pravoúhlý, pokud pro něj platí pythagorova věta, tj. součet mocnin délek dvou stran je stejný jako mocnina délky třetí strany. Trojúhelník je obecný, pokud jej lze sestrojit a není ani rovnostranný, ani rovnoramenný, ani pravoúhlý. Mohou existovat následující možnosti, kombinace: • Nelze sestrojit • Rovnostranný • Rovnoramenný a nepravoúhlý, tj. jenom rovnoramenný • Rovnoramenný a pravoúhlý • Pravoúhlý a nerovnostranný, tj. jenom pravoúhlý • Obecný tj. lze sestrojit a není ani rovnostranný, ani rovnoramenný, ani pravoúhlý. Postup řešení: Algoritmus po zadání tří vstupních hodnot bude testovat možnosti v následujícím pořadí: 1. Sestrojitelnost 2. Rovnostrannost 3. Rovnoramennost 4. Pravoúhlost Pokud trojúhelník nebude možno sestrojit, nebude testovat nic dalšího. Pokud trojúhelník bude možno sestrojit, bude testovat rovnostrannost. Pokud trojúhelník bude rovnostranný, nebude testovat nic dalšího. Pokud trojúhelník nebude rovnostranný, bude testovat rovnoramennost. Pokud trojúhelník bude rovnoramenný, bude testovat pravoúhlost.
  • 3. Vývojový diagram: Úvodní výpisy Zadání vstupů a,b,c Možno sestrojit? – m + Nelze sestrojit Rovno stranný? – m + Rovnostranný Rovnora menný? – m + Pravo úhlý? – m + Pravo úhlý? – m + Obecn ý Pravoúhlý, nerovnostr Rovnoramenný , nepravoúhlý Rovnoramenný a pravoúhlý Kone c Kone c Kone c
  • 4. program R3U; {$APPTYPE CONSOLE} {Rozbor trojúhelníka Program ze tri zadanych cisel urci: Zda je mozne sestrojit trojuhelnik se stranami zadanych delek. Pokud ano, urci dale, zda trojuhelnik bude rovnoramenny rovnostranny pravouhly obecny vcetne moznych kombinaci} uses SysUtils; var a,b,c:real; {Strany trojuhelnika - zadava uzivatel} begin { TODO -oUser -cConsole Main : Insert code here } writeln('Program pro rozbor trojuhelnika'); writeln; {Pro prehlednost} write('Zadej delku prvni strany: '); readln(a); write('Zadej delku druhe strany: '); readln(b); write('Zadej delku treti strany: '); readln(c); If (a>(b+c)) or (b>(a+c)) or (c>(a+b)) then {Test sestrojitelnosti} writeln('Ze zadanych delek stran nelze sestrojit trojuhelnik') else If (a=b) and (b=c) then {Test rovnostrannosti} writeln('Trojuhelnik sestrojeny ze zadanych delek stran je rovnostranny') else If (a=b) or (b=c) or (a=c) then {Test rovnoramennosti} if ((a*a) = (b*b)+(c*c)) or ((c*c) = (b*b)+(a*a)) or ((b*b) = (a*a)+(c*c)) then {Test pravouhlosti} writeln('Trojuhelnik sestrojeny ze zadanych delek stran je rovnoramenny a pravouhly') else writeln('Trojuhelnik sestrojeny ze zadanych delek stran je rovnoramenny') else if ((a*a) = (b*b)+(c*c)) or ((c*c) = (b*b)+(a*a)) or ((b*b) = (a*a)+(c*c)) then {Test pravouhlosti} writeln('Trojuhelnik sestrojeny ze zadanych delek stran je pravouhly') else writeln('Trojuhelnik sestrojeny ze zadanych delek stran je obecny'); writeln; {Pro prehlednost} writeln('Konec programu. Po precteni stisknete ENTER pro ukonceni'); readln; end.
  • 5. Závěr: Algoritmus splňuje všechny body zadání. Vývojový diagram by bylo možné nakreslit lépe, pokud by se kreslil v programu k tomu více určenému, než je WORD. Program by se dal vylepšit například kvalitnějším grafickým rozhraním. To však v konzolové aplikaci, která pracuje jen v textovém režimu nejde.
  • 6. Závěr: Algoritmus splňuje všechny body zadání. Vývojový diagram by bylo možné nakreslit lépe, pokud by se kreslil v programu k tomu více určenému, než je WORD. Program by se dal vylepšit například kvalitnějším grafickým rozhraním. To však v konzolové aplikaci, která pracuje jen v textovém režimu nejde.