Specyfikacja problemu algorytmicznego
Transkrypt
Specyfikacja problemu algorytmicznego
Obliczenie współrzędnych punktów zdjętych metodą domiarów prostokątnych Zasada pomiaru metodą domiarów prostokątnych Metoda domiarów prostokątnych zwana również metodą ortogonalną lub rzędnych i odciętych polega na tym, że położenie punktu szczegółu sytuacyjnego Pi określamy, mierząc długość rzutu prostokątnego punktu na linię pomiarową hi oraz długość di odcinka wzdłuż linii pomiarowej od jej początku A, aż do miejsca w którym rzut prostokątny przecina się z linią pomiarową. Algorytm Przyjmując, że domiary h na prawo są dodatnie a na lewo ujemne, można napisać wzory: X Pi X A di cos(AAB ) h i sin(A AB ) YPi YA di sin(A AB ) h i cos(AAB ) Po uwzględnieniu poprawki ze względu długość pomierzoną dp AB i przyjęciu oznaczeń: c = DXAB/dpAB s=DYAB/dpAB, gdzie współczynnik c odpowiada cosinusowi, a s sinusowi otrzymuje się wzory: XP=XA+d*c-h*s YP=YA+d*s+h*c Specyfikacja problemu algorytmicznego Problem algorytmiczny: Obliczenie współrzędnych zdjętych metodą domiarów prostokątnych Dane wejściowe: Dane: współrzędne 2 punktów linii pomiarowej: A, B oraz odcięte di i rzędne hi kolejnych punktów pomierzonych Pi Dane wyjściowe: współrzędne punktów pomierzonych Pi Zapis algorytmu w postaci listy kroków, pseudokod programu Pseudokod programu głównego 1. 2. 3. Wyświetl nagłówek programu i rysunek z oznaczeniami, otwórz plik wyników i zapisz nazwę programu i rysunek - funkcja start() Wprowadź dane linii pomiarowej i oblicz współczynniki c i s – funkcja dane() Wczytuj kolejno dane odciętej d i rzędnej h punktów na domiarach i oblicz współrzędne oraz wyświetl wyniki i zapisz do pliku SCHEMAT BLOKOWY START dane() oblicz() wydruk() koniec() KONIEC Funkcja główna main() start(); // start programu - rys pomocniczy, otwarcie pliku wyników dane(); // wprowadzenie danych linii pomiarowej i obliczenie współczynników c, s oblicz(); // wprowadzenie domiarów d i h kolejnych punktów i obliczenie współrzędnych wydruk(); // wydruk końcowy do pliku i zamkniecie pliku koniec(); // zakończenie programu - komunikat by nacisnąć Enter Funkcje dodatkowe: void start(); // start programu - rys pomocniczy, otwarcie pliku wynikow void dane(); // wprowadznie danych linii pomiarowej i obliczenie wspolcz. c, s void oblicz(); // wprowadzenie domiarow d i h kolejnych punktow i obl. wspolrz. void wydruk(); // wydruk koncowy do pliku i zamkniecie pliku void koniec(); // zakonczenie programu - komunikat by nacisnac Enter // Funkcje pomocnicze void czekaj(string komun); // Czeka na nacisniecie Enter po wypisaniu komunikatu kom double dlug(double dx, double dy); Przykład wyników Obliczenie współrzędnych z domiarów prostokątnych Szkic i oznaczenia ^X oB | / | d(i)/ | / h(i) | / o P(i) | / | Ao |---------------------> Y Domiary Współrzędne d h X Y -----------------------------------------------------100 100.030 0.000 0.000 0.000 1 0.000 0.000 0.000 0.000 2 5.000 -5.000 4.999 -4.999 3 100.000 0.000 99.970 0.000 101 100.030 0.000 100.000 0.000 Długość pomierzona AB = 100.030 Długość obliczona AB = 100.000 NrPkt Współczynniki c=dx(AB)/dpom(AB) i s = dy(AB)/dpom(AB) c = 0.999700 s=0.000000 Obliczył: …..