h>
#include
Iseseisev töö nr 6. Kinnise teodoliitkäigu tasandamine programmiga Adjust. Andke hinnang tasandustulemustele üldiselt kaaluühiku standardhälbe S0 ja χ2-testi abil, esitage tundmatute punktide tasandatud koordinaadid koos täpsushinnangutega ning tasandatud mõõtmistulemused koos hälvete ja standardhälvetega. Teodoliitkäigu tasandamiseks kasutame programmi Adjust võimalust Least Squares Adjustment of Plane Surveys. Selle jaoks peame esmalt looma lähteandmetest sisendfaili. Faili esimesele reale tuleb kirjutada selgitav tekst (nt töö pealkiri), järgnevale reale tuleb kirjutada joonte, nurkade, direktsiooninurkade, lähtepunktide ning kõigi jaamade arv. Kolmandast reast alates lähtepunktide koordinaadid. Read 5-6 on tundmatud punktid koos ligikaudsete koordinaatidega. Järgnevalt mõõdetud kaugused ja mõõdetud nurgad koos standardhälvetega. Fail on toodud järgnevalt. IT6 34024 X 454.206864 628.921272 A 598.712544 337.456272 B 850.989408 681.173136
pöördväärtused. Tabel 6. Kaalumaatriks W 0.04 0 0 0 0 0.0277 0 78 0 0 0 0.062 0 0 5 0 0 0 0 0 15625 0 20408. 0 0 0 0 16 Tundmatute parandite dx ja dy leidmiseks kasutame programmi Matrix. Sisendfaili tuleb kirjutada kaalumaatriks W, parandite kordajate maatriks J ning maatriks K. Kasutame arvutamiseks kaalutud vähimruutude meetodit ning saame tulemuseks maatriksi X (Tabel 7), mis sisaldab parandeid dx ja dy. Parandid liites esialgsetele punkti B koordinaatidele, siis saame uuteks koorinaatideks B: X=1132,10 ja Y= 1281,32. Tabel 7. Parandite maatriks X -0.0439 - 0.0203 3 Teeme uue lähenduse. Selleks viime kõik arvutused excelis uuele lehele ning asendame
Andke hinnang tasandustulemusele tervikuna (χ²-test), tasandatud kõrguste ja kõrguskasvude täpsusele ning usaldusväärsusele. Vajadusel eemaldage jämedad vead või skaleerige kaalud ümber ja teostage tasandus uuesti. Võrrelge, mis on muutunud enne ja pärast tehtud tasandamise aruannetes. Joonis 1. Nivelleerimisvõrgu mõõtmisandmed (kõrguskasvud (m), jaamade arvud n, (m) ja sektsioonide pikkused L (km) koos lähtepunktide (A, B, C, D) kõrgustega. Esmalt valmistame ette sisendfaili. Esimesel real ülesande kirjeldus, teisel real lähtepunktide-, mõõtmiste- ja kogu punktide arv. Kolmandast reast alates on lähtepunktide kõrgused ja peale neid mõõdetud kõrguskasvud ning sektsioonide pikkused L (km). Sisendfail on toodud järgnevalt. Example Level Adjustment 4 10 8 BMA 138.744 BMB 158.732 BMC 140.648 BMD 162.168 BMA N1 13.019 13.6 N1 BMB 6.929 9.7 N1 N3 2.180 11.1 N3 BMD 8.238 11.5 N3 BMB 4.791 15.5 N2 N1 3.092 5.9 N2 N3 5.255 8.8 BMC N4 0.730 4.1 N4 N2 7.273 10.7
for (int i = 1; i < n; i++) /* kontrollin kõiki jadaliikmeid */ if (jada[i] > max) /* kas vaadeldav väärtus on eelmistest suurem */ max = jada[i]; /* kui, on siis jätan meelde */ printf("Jada suurim väärtus on %d", max); return 0; } /* P r o g r a m m i l õ p p */ Näide 2. Ü l e s a n n e: Kirjutada programm, mis teisendab etteantud tekstifailis olevad väikesed ladina tähed suurteks ladina tähtedeks. Lahenduse idee on lugeda sisendfaili sümbolhaaval ning kui vaadeldav sümbol on väiketäht, siis teisendada ta suurtäheks. Kirjutan selle programmi keeles Pascal : { P r o g r a m m i a l g u s } Program vaiketahed_suurtahtedeks; var c : char; { töödeldav sümbol } sNimi : string; { sisendfaili nimi } vNimi : string; { väljundfaili nimi } sf : text; { sisendfail } vf : text; { väljundfail } begin write('Sisesta sisendfaili nimi : ');readln(sNimi);
moodustavad kettale salvestatuna igaüks mingi faili. Faili iseloomustavad nimi, laiend e. tunnus, suurus e. maht (baitides) ja loomise aeg. Pascali kontekstis räägitakse failide puhul enamasti andmefailidest. Andmefail on mingi programmeerimisülesande puhul kas sisend- või väljund- andmete hoiukoht. Näiteks võib Pascal-programm lugeda andmeid peale klaviatuuri (tavaline readln-lause) ka failist või väljastada saadud tulemused peale kuvari ka mingisse faili. Sisendfaili kasutamine võimaldab käivitada üht programmi samade andmetega palju kordi (ei pea uuesti sises- tama - näiteks tabeli puhul suur ajavõit). Väljundfail garanteerib saadud tulemuste säilimise. Failist sisestamiseks (lugemiseks) ja faili väljastamiseks (kirjutamiseks) kasutatakse samu lauseid, mida tavaliseks sisestuseks ja väljastuseks. Lisandub vaid faili nimi: read( < faili nimi >, muutuja ); write( < faili nimi >, muutuja );