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ł: …..