155GIT1 / 4. cvičení / Příklady: Porovnání verzí
m →Úhly 1 |
mBez shrnutí editace |
||
Řádek 48: | Řádek 48: | ||
== Úhly 1 == | == Úhly 1 == | ||
Zadán je textový soubor [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/uhly1.txt uhly1.txt] obsahující hodnoty úhlů v následujícím formátu: | Zadán je textový soubor [ftp://athena.fsv.cvut.cz/ZFG/GIT1/uhly1.txt uhly1.txt] <!--[http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/uhly1.txt uhly1.txt]--> obsahující hodnoty úhlů v následujícím formátu: | ||
cislo_uhlu hodnota_uhlu[°] | cislo_uhlu hodnota_uhlu[°] | ||
Data ze souboru načtěte a proveďte následující úpravy: | Data ze souboru načtěte a proveďte následující úpravy: | ||
Řádek 60: | Řádek 60: | ||
Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny ve stupních na 4 desetinná místa. | Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny ve stupních na 4 desetinná místa. | ||
== Úhly 2 == | == Úhly 2 == | ||
Zadán je textový soubor [http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/uhly2.txt uhly2.txt] obsahující hodnoty úhlů ve formátu: | Zadán je textový soubor [ftp://athena.fsv.cvut.cz/ZFG/GIT1/uhly2.txt uhly2.txt] <!--[http://geo102.fsv.cvut.cz/vyuka/155GIT1/data/uhly2.txt uhly2.txt]--> obsahující hodnoty úhlů ve formátu: | ||
cislo_uhlu hodnota_uhlu[° nebo gon] kod_jednotek | cislo_uhlu hodnota_uhlu[° nebo gon] kod_jednotek | ||
kde kód jednotek má následující význam: | kde kód jednotek má následující význam: | ||
Řádek 76: | Řádek 77: | ||
Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny v příslušných jednotkách na 3 desetinná místa. | Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny v příslušných jednotkách na 3 desetinná místa. | ||
== Souřadnice == | |||
(bude doplněno) | |||
Verze z 20. 3. 2020, 08:14
Výpočet směrníku
K dispozici je textový soubor seznamu souřadnic body.txt ve formátu:
cislo_bodu Y X
Vypočítejte směrníky všech bodů ze stanoviska o souřadnicích (730288.89, 1054582.63). Směrníky udejte v grádové míře. Postup výpočtu zapište do souboru smernik.m.
- Směrníky převeďte do intervalu <0; 400> gon.
- Do výstupního souboru body_vystup.txt zapište na každý řádek:
cislo_bodu Y X smernik
Hvězdy 1
K dispozici je textový soubor stars1.txt ve formátu:
cislo_jevu zenitova_vzdalenost[gon] cas_jevu[hod min]
Soubor obsahuje v řádcích zenitové vzdálenosti poloh hvězd a časy, kdy tyto pozice hvězd v daný den nastanou (např. se může jednat o polohu, kdy je hvězda v daný den nejvýše nad obzorem apod.). Data ze souboru načtěte a určete:
- které z jevů nastanou v noci;
- které z jevů nastanou ve dne;
- které z jevů budou pozorovatelné (pozorovatelné jevy hvězd jsou takové, které jsou nad obzorem a nastanou v noci).
Uvažujte, že den začíná v 6 hodin a končí v 18 hodin.
Jevy, které vyhovují zadané podmínce, vždy vypište na standardní výstup (Command Window).
Hvězdy 2
K dispozici je textový soubor stars2.txt ve formátu:
cislo_jevu zenitova_vzdalenost[gon] cas_jevu[hod min] zacatek_dne[hod min] konec_dne[hod min]
Soubor obsahuje v řádcích zenitové vzdálenosti poloh hvězd, časy, kdy tyto pozice hvězd v daný den nastanou (např. se může jednat o polohu, kdy je hvězda v daný den nejvýše nad obzorem apod.) a časy začátku dne [hod min] a konce dne [hod min] pro datum příslušného jevu. Data ze souboru načtěte a určete:
- které z jevů nastanou v noci;
- které z jevů nastanou ve dne;
- které z jevů budou pozorovatelné (pozorovatelné jevy hvězd jsou takové, které jsou nad obzorem a nastanou v noci).
Jevy, které vyhovují zadané podmínce, vždy vypište na standardní výstup (Command Window). Ukázka formátu výstupu:
jevy v noci: 2 4 (atd.) jevy ve dne: 1 3 (atd.) pozorovatelne jevy: 4 5 (atd.)
Pozn.: Každý jev je uvažován pro jiné datum, proto jsou v datech ke každému jevu uvedeny jiné začátky a konce dne pro příslušné datum.
Úhly 1
Zadán je textový soubor uhly1.txt obsahující hodnoty úhlů v následujícím formátu:
cislo_uhlu hodnota_uhlu[°]
Data ze souboru načtěte a proveďte následující úpravy:
- Převeďte všechny hodnoty úhlů do základního intervalu <0°,360°). Uvažte, že tento proces je někdy nutno opakovat i vícekrát.
- Zjistěte, o kolik period se původní hodnota daného úhlu lišila od základního intervalu (tj. kolikrát bylo potřeba úhel periodicky do základního intervalu převést). Počet period určete v následujícím smyslu:
- byl-li původní úhel již v základním intervalu, počet period je roven 0;
- byl-li původní úhel větší, než je rozsah základního intervalu, počet period bude kladné číslo;
- byl-li původní úhel menší, než je rozsah základního intervalu, počet period bude záporné číslo.
- Do výstupního souboru zakladniperioda1.txt zapište výsledky ve formátu:
cislo_uhlu prevedena_hodnota_uhlu[°] pocet_period
Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny ve stupních na 4 desetinná místa.
Úhly 2
Zadán je textový soubor uhly2.txt obsahující hodnoty úhlů ve formátu:
cislo_uhlu hodnota_uhlu[° nebo gon] kod_jednotek
kde kód jednotek má následující význam:
- kod_jednotek = 1 pro úhel ve stupních;
- kod_jednotek = 2 pro úhel v grádech.
Data ze souboru načtěte a proveďte následující úpravy:
- Převeďte všechny hodnoty úhlů do základního intervalu <0°,360°) nebo <0,400) gon podle toho, ve které úhlové míře je daný úhel vyjádřen. Uvažte, že tento proces je někdy nutno opakovat i vícekrát.
- Ke každému úhlu zjistěte, ve kterém je kvadrantu (1, 2, 3 nebo 4).
- Do výstupního souboru zakladniperioda2.txt vypište setříděně nejprve všechny úhly, které byly zadány ve stupňové míře, následně zbylé úhly, které byly zadány v grádech; výsledky uveďte ve formátu:
cislo_uhlu prevedena_hodnota_uhlu[° nebo gon] kod_jednotek kvadrant
Vypsané hodnoty budou zarovnány do sloupců, úhly budou uvedeny v příslušných jednotkách na 3 desetinná místa.
Souřadnice
(bude doplněno)
Výpočet výměr
K dispozici je textový soubor seznamu souřadnic body.txt ve formátu:
cislo_bodu y x
Vypočítejte výměru parcely ohraničené body seznamu. Postup výpočtu zapište do souboru vymera.m.
Pozn.: Pro výpočet lze použít L´Huillierovy vzorce, viz Výpočet plochy pomocí L´Huillierových vzorců
nebo:
kde je počet vrcholů plochy (pro je a pro je ; analogicky pro ).
Pozn.: Pro výpočet výměry musejí být lomové body parcely seřazeny za sebou po obvodu parcely (jinak vyjde výměra špatně), a to správným směrem (jinak vyjde výměra záporně). V podkladových souborech body.txt a body2.txt jsou body seřazeny správně.

Dále proveďte:
- Vypočtenou výměru ve skriptu zaokrouhlete na celé metry čtvereční a vypište na obrazovku.
- Ověřte správnost postupu výpočtu výměr - vytvořte nový datový soubor s několika málo body, které budou ohraničovat oblast, jejíž výměra je evidentní (např. čtverec: 0 0, 0 1, 1 1, 1 0).
- Doplňte do skriptu test na nedostatečný počet vstupních bodů (pokud počet bodů bude menší než 3, skript vypíše příslušné upozornění a skončí).
Jako rozšíření úlohy lze volitelně provést další výpočet (postup uložte do souboru vymery.m).
K dispozici je textový soubor body2.txt, který obsahuje parcelní čísla a souřadnice lomových bodů několika parcel.
Formát souboru je následující:
čp1 % parcelní číslo čb1 y1 x1 % číslo bodu, souřadnice y, x 1.bodu čb2 y2 x2 ... čbN yN xN prázdný řádek další parcela, nebo konec souboru
Pro představu je k dispozici náčrt (ve formátu pdf, orientace os S-JTSK).
Vypočítejte výměry všech parcel a zapište je do textového souboru vymery.txt ve formátu:
čp1 výměra1 čp2 výměra2 ... celková výměra
Pozn.: Výměry zapište do souboru zaokrouhlené na celé metry čtvereční.
Pro kontrolu výpočtu je k dispozici protokol o hromadném výpočtu výměr vytvořený v programu Kokeš: vymeryKokes.txt.