pomierzonych metodą ortogonalną

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Programowanie w języku Visual Basic
PASCAL (3) dr Anna Kwiatkowska.
Podstawy programowania w VBA
Funkcje c.d. Strukturalność. Algorytmy. Ćwiczenia przed kolokwium.
typy całkowite (całkowitoliczbowe)
Programowanie w języku Visual Basic
PROGRAMOWANIE STRUKTURALNE
Jan Aleksander Wierzbicki
27/09/ Języki programowania 1 Piotr Górczyński Zmienne.
20/09/ Języki programowania 1 Piotr Górczyński Wstęp.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Kurs Pascala – spis treści
Obliczanie miar ortogonalnych.
Obliczanie miar biegunowych.
Kartowanie pikiet pomierzonych metodą biegunową.
Czytanie numerów puktów i ich współrzędnych z mapy.
Zastosowania geodezyjne
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Procedury systemowe w systemie DOS
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Ogólne jednostki programowe 1
Wykład 2 struktura programu elementy języka typy zmienne
Java – programowanie obiektowe
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN - wprowadzenie Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Podprogramy.
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Schemat Hornera Mgr inż. Michał Szucki.
Słowa kluczowe oraz nazwy obiektów i klas rozpoczynaj od dużej litery np. Loop, Dim, FileStream Rozpoczynaj nazwę zmiennej od małej litery stosując styl.
Podstawy programowania
Język PASCAL – podstawy Turbo Pascal: procedury, funkcje
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
A ctive S erver P ages Technologia dostępu do danych.
Pierwsze programy.
Wyrażenia w Turbo Pascalu.
Procedury i funkcje.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Programy różne w C++
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
ASP BAZY DANYCH. 2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika.
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Visual Basic Scritpts.
Microsoft Visual Basic.NET Michał Kuciapski Uniwersytet Gdański część 1.
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Zagadnienia AI wykład 6.
Podstawy programowania (4)
Pliki tekstowe – odczyt i zapis Zajęcia 11. Zapis do pliku tekstowego Prosty program pokazujący sposób zapisu do pliku tekstowego: // writing on a text.
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Pętle – instrukcje powtórzeń
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Visual Basic przygotował Michał Miłek Visual Basic – język programowania wysokiego poziomu i narzędzie programistyczne firmy Microsoft. Składnia jest oparta.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Podstawy Python.
Visual Basic for Applications
Visual Basic w programie Microsoft Excel
Zapis prezentacji:

pomierzonych metodą ortogonalną Kartowanie pikiet pomierzonych metodą ortogonalną

Dane zapisujemy do plików tekstowych: osnxy.txt 1001 1000.00 1000.00 1002 1040.00 1000.00 pomort.txt (numer pikiety odcięta rzędna – z minusem w lewo, z plusem w prawo)   1 1.98 9.02 2 3.04 5.96 3 5.99 6.98 4 7.02 4.01 5 9.97 5.03

linie.txt (linie do narysowania od punktu do punktu):   1 2 2 3 3 4 4 5 itd.

Program powinien mieć postać strukturalną – powinien składać się z wielu procedur – im krótsza procedura tym lepiej. Główna część programu MAIN może właściwie w każdym programie wyglądać tak jak niżej: '*********************** MAIN ******************* sub Main dane przetwarzanie wyniki end sub

Na początku programu umieszcza się zmienne Public, które są dostępne w całym programie – zmienne globalne. W procedurach definiuje się zmienne lokalne, które dostępne są wyłącznie w tych procedurach, w których zostały zdefiniowane. Public nro() as integer, xo() as double, yo() as double Public nrp() as integer, xp() as double, yp() as double Public odc() as double, rze() as double Public odp() as integer, dop() as integer Public ios as integer, ipik as integer, ilin as integer

Numery i współrzędne punktów osnowy: nro() as integer, xo() as double, yo() as double Numery i współrzędne pikiet: nrp() as integer, xp() as double, yp() as double Odcięte i rzędne pikiet: odc() as double, rze() as double Numery punktów do połączenia: odp() as integer, dop() as integer Liczba punktów osnowy, pikiet i linii do narysowania: ios as integer, ipik as integer, ilin as integer

Procedury i funkcje w programie muszą być zapisane w takiej kolejności, aby każda procedura lub funkcja była zdefiniowana przed jej pierwszym wywołaniem.

'*********************** DANE***************** sub dane osnowa pikiety linie end sub '*********************** MAIN ******************* sub Main dane przetwarzanie wyniki end sub

'*********************** OSNOWA ************************* sub osnowa dim plik_osn as string dim i as integer plik_osn = MbeInputBox("Podaj nazwę pliku z danymi osnowy", "D:\osnxy.txt", "WCZYTYWANIE DANYCH OSNOWY ") open plik_osn for input as #1 ios=0 while not eof(1) ios=ios+1 redim preserve nro(ios) redim preserve xo(ios) redim preserve yo(ios) input #1, nro(ios), xo(ios), yo(ios) wend close #1 end sub

'*********************** PIKIETY ************************* sub pikiety dim plik_pik as string dim i as integer plik_pik = MbeInputBox("Podaj nazwę pliku z wynikami pomiarów", "D:\pomort.txt", "WCZYTYWANIE WYNIKÓW POMIARÓW ") open plik_pik for input as #1 ipik=0 while not eof(1) ipik=ipik+1 redim preserve nrp(ipik) redim preserve odc(ipik) redim preserve rze(ipik) input #1, nrp(ipik),odc(ipik),rze(ipik) wend close #1 end sub

'*********************** LINIE ************************* sub linie dim plik_lin as string dim i as integer plik_lin = MbeInputBox("Podaj nazwę pliku połączeń", "D:\linie.txt", "WCZYTYWANIE PLIKU POŁĄCZEŃ ") open plik_lin for input as #1 ilin=0 while not eof(1) ilin=ilin+1 redim preserve odp(ilin) redim preserve dop(ilin) input #1, odp(ilin),dop(ilin) wend close #1 end sub

'*********************** PRZETWARZANIE ********************* sub przetwarzanie xy_pikiet kartowanie linie end sub

B a hi li P A

'***************************AZYMUT ********************************************** Function Azymut(xa as double, ya as double, xb as double, yb as double) as double Dim dx as double, dy as double, az as double dx=xb-xa: dy=yb-ya if dx=0 then if dy<0 then az=300 if dy>0 then az=100 else az=atn(dy/dx)*200/pi end if if dx<0 then az=az+200 if az<0 then az=az+400 azymut=az end function

'***************************** XY_PIKIET **************************************** sub xy_pikiet Dim xa as double, ya as double, l as double, s as double,cs as double, sn as double Dim az as double Redim xp(ipik): Redim yp(ipik) xa=xo(1):ya=yo(1) az= azymut(xo(1),yo(1),xo(2),yo(2)) for i=1 to ipik l=odc(i):h=rze(i) sn=sin(az/200*pi) cs=cos(az/200*pi) xp(i)=xa+l*cs-h*sn yp(i)=ya+l*sn+h*cs next i end sub

'*********************** KARTOWANIE *********************** sub kartowanie kart_osnowy kart_pikiet end sub

'*********************** KARTOWANIE OSNOWY *********************************** sub kart_osnowy Dim point As MbePoint Dim i as integer for i= 1 to ios MbeSendCommand "PLACE CIRCLE ICON " MbeSendCommand "IGEN CONSTRAIN RADIUS 0.3" point.x = yo(i) point.y = xo(i) MbeSendDataPoint point, 1% MbeSendReset MbeSendCommand "PLACE TEXT" MbeSendCommand cstr(nro(i)) next i end sub

'*********************** KARTOWANIE PIKIET ************************************ sub kart_pikiet Dim point As MbePoint Dim i as integer for i= 1 to ipik MbeSendCommand "PLACE CIRCLE ICON " MbeSendCommand "IGEN CONSTRAIN RADIUS 0.1" point.x = yp(i) point.y = xp(i) MbeSendDataPoint point, 1% MbeSendReset MbeSendCommand "PLACE TEXT" MbeSendCommand cstr(nrp(i)) next i end sub

'********************************** RYSOWANIE LINII***************************** sub rys_linie Dim point As MbePoint Dim i1 as integer, i2 as integer for i= 1 to ilin i1=odp(i): i2=dop(i) MbeSendCommand "PLACE SMARTLINE „ point.x = yp(i1) point.y = xp(i1) MbeSendDataPoint point, 1% point.x = yp(i2) point.y = xp(i2) MbeSendReset next i end sub

'************************ WYNIKI - RAPORT **************** sub wyniki raport_plik raport_osnowa raport_pomiary raport_xy close #1 end sub

'*************** RAPORT NAZWA PLIKU ****************************** sub raport_plik() Dim plikr as string ' Pytanie o nazwę pliku raportu plikr=MbeInputBox("Podaj nazwę pliku raportu","D:\raport1.txt","PLIK RAPORTU") Open plikr for Output as #1 end sub

'*************** RAPORT OSNOWA ****************************** sub raport_osnowa() Dim i as integer Print #1, "Dane punkty osnowy" Print #1, "Nr X Y" for i=1 to ios print #1,nro(i), format$(xo(i),"0.00"), format$(yo(i),"0.00") next i Print #1," " end sub

'*************** RAPORT POMIARY ****************************** sub raport_pomiary() Dim i as integer Print #1, "Miary ortogonalne" Print #1, "Nr Odcieta Rzedna" for i=1 to ipik print #1,nrp(i), format$(odc(i),"0.00"), format$(rze(i),"0.00") next i Print #1," " end sub

'*************** RAPORT WSPÓŁRZĘDNE PIKIET ************************* sub raport_xy() Dim i as integer Print #1, "Obliczone współrzędne pikiet" Print #1, "Nr X Y" for i=1 to ipik print #1,nrp(i), format$(xp(i),"0.00"), format$(yp(i),"0.00") next i Print #1," " end sub

Dane punkty osnowy Nr X Y 1001 1000.00 1000.00 1002 1040.00 1040.00 Miary ortogonalne Nr Odcieta Rzedna 1 1.98 9.02 2 3.04 5.96 3 5.99 6.98 4 7.02 4.01 5 9.97 5.03 6 11.03 -5.98 7 11.03 -13.02 8 12.04 8.97 9 13.98 11.95 10 13.98 -5.95 11 13.98 -9.97 12 16.01 12.03 13 16.97 -10.02 14 16.97 -13.01

Obliczone współrzędne pikiet Nr X Y 1 995.04 1007.76 2 997.91 1006.39 3 999.29 1009.19 4 1002.14 1007.79 5 1003.51 1010.59 6 1012.04 1003.56 7 1016.99 998.61 8 1002.15 1014.88 9 1001.40 1018.37 10 1014.13 1005.64 11 1016.96 1002.81 12 1002.84 1019.81 13 1019.07 1004.93 14 1021.19 1002.81 15 1014.16 1014.16 16 1015.52 1015.52 17 1011.33 1021.23 18 1016.95 1019.78