GEANT4. Leszek Adamczyk. Przykład budowy aplikacji Interfejs użytkownika Wizualizacje
|
|
- Edward Grzelak
- 5 lat temu
- Przeglądów:
Transkrypt
1 GEANT4 Leszek Adamczyk Przykład budowy aplikacji Interfejs użytkownika Wizualizacje
2 Ćwiczenie 1 Proszę zalogować się na serwer fatcat ssh <user>@fatcat.ftj.agh.edu.pl Ustawić zmienne środowiskowe cd <g4work> ; source.g4work.env Skopiować zmodyfikowany przykład (N03) cp -r ~adamczyk/g4work/n03. Wyświetlić zawartość katalogu N03 cd N03; ls -R
3 .: GNUmakefile examplen03.cc include src./include: ExN03DetectorConstruction.hh ExN03EventAction.hh ExN03PhysicsList.hh ExN03PrimaryGeneratorMessenger.hh ExN03SteppingAction.hh Katalog deklaracji klas ExN03DetectorMessenger.hh ExN03EventActionMessenger.hh ExN03PrimaryGeneratorAction.hh ExN03RunAction.hh ExN03SteppingVerbose.hh./src: ExN03DetectorConstruction.cc ExN03EventAction.cc ExN03PhysicsList.cc ExN03PrimaryGeneratorMessenger.cc ExN03SteppingAction.cc Katalog definicji klas ExN03DetectorMessenger.cc ExN03EventActionMessenger.cc ExN03PrimaryGeneratorAction.cc ExN03RunAction.cc ExN03SteppingVerbose.cc Dobry zwyczaj: nazwy plików są jednocześnie nazwami klas które deklarują lub definiują a te zawierają nazwy klas bazowych poprzedzone wspólnym przedrostkiem charakterystycznym dla danego projektu.
4 GNUmakefile Plik reguł dla programu make, służącego do automatyzacji kompilacji programów name := examplen03 G4TARGET := $(name) G4EXLIB := true Nazwa pliku z programem głównym ifndef G4INSTALL G4INSTALL =../../.. endif.phony: all all: lib bin include $(G4INSTALL)/config/binmake.gmk visclean: rm -f g4*.prim g4*.eps g4*.wrl rm -f.dawn_* make visclean Usuwa pliki graficzne
5 examplen03.cc #include "G4RunManager.hh" #include "ExN03DetectorConstruction.hh" #include "ExN03PhysicsList.hh" #include "ExN03PrimaryGeneratorAction.hh" #include "ExN03RunAction.hh" #include "ExN03EventAction.hh" #include "ExN03SteppingAction.hh" int main() { // Construct the default run manager // G4RunManager * runmanager = new G4RunManager; Deklaracje klas używanych w programie głównym Utworzenie runmanagera wraz z wywołaniem jego konstruktora
6 // Set mandatory initialization classes // ExN03DetectorConstruction* detector = new ExN03DetectorConstruction; runmanager->setuserinitialization(detector); // G4VUserPhysicsList* physics = new ExN03PhysicsList; runmanager->setuserinitialization(physics); Utworzenie i zarejestrowanie do RunManagera klas użytkownika // Set user action classes // G4VUserPrimaryGeneratorAction* gen_action = new ExN03PrimaryGeneratorAction(detector); runmanager->setuseraction(gen_action); // ExN03RunAction* run_action = new ExN03RunAction; runmanager->setuseraction(run_action); // ExN03EventAction* event_action = new ExN03EventAction(run_action); runmanager->setuseraction(event_action); // G4UserSteppingAction* stepping_action = new ExN03SteppingAction(detector, event_action); runmanager->setuseraction(stepping_action);
7 // Initialize G4 kernel // runmanager->initialize(); Inicjalizacja jądra GEANT4 // Start a run G4int numberofevent=3; runmanager->beamon(numberofevent); Procesowanie 3 przypadków // Job termination // Free the store: user actions, physics_list and detector_description are // owned and deleted by the run manager, so they should not // be deleted in the main() program! delete runmanager; } return 0; Usunięcie runmanagera wraz z wywołaniem jego destruktora
8 Kompilacja i wykonanie programu Kompilacja make Wykonanie programu../bin/linux-g++/examplen03 Uwaga: Aby wykonać skompilowany program podczas następnej sesji należy ustawić zmienne środowiskowe w przeciwnym razie program może źle działać (source.g4work.env)
9 Interfejs użytkownika (UI) Jakakolwiek zmiana w poprzednim przykładzie wymaga ponownej kompilacji programu. Aby tego uniknąć sterowanie wykonaniem programu może być przekazane bezpośrednio użytkownikowi poprzez tzw. interfejs użytkownika Najprostszym interfejsem jest klasa G4UIterminal wyprowadzona z abstrakcyjnej klasy bazowej G4UIsession G4UIterminal zapewnia interakcyjny tekstowy sposób wydawania poleceń UI
10 Ćwiczenie 2 Proszę przekazać sterowanie programem z ćwiczenia 1 bezpośrednio do użytkownika W pliku examplen03.cc proszę dodać deklaracją klasy G4UIterminal (plik nagłówkowy) Zamiast polecenia runmanager->beamon() proszę przekazać sterowanie do UI G4UIsession * session = new G4UIterminal; session->sessionstart(); delete session; Następnie proszę skompilować i uruchomić program examplen03
11 Polecenia interfejsu użytkownika Polecenie składa się z: katologu polecenia /run/beamon 3 polecenia parametrów Parametr może być typu logicznego, liczbą całkowitą, rzeczywistą lub ''ciągiem znaków'' Parametry oddzielamy spacją Parametry można omijać (przyjmowana jest wtedy wartość domyślna) Używamy! gdy pierwszy parametr ma wartość domyślną a drugi zadaną np. /dir/command! 2
12 Katalogi poleceń Idle> ls Command directory path : / Sub-directories : /control/ UI control commands. /units/ Available units. /geometry/ Geometry control commands. /tracking/ TrackingManager and SteppingManager control commands. /event/ EventManager control commands. /cuts/ Commands for G4VUserPhysicsList. /run/ Run control commands. /random/ Random number status control commands. /particle/ Particle control commands. /process/ Process Table control commands. /N03/ UI commands of this example (można zdefiniować własne) /gun/ Particle Gun control commands. /material/ Commands for materials Commands : Idle>
13 Opis dostępnych poleceń Opis dostępnych poleceń można uzyskać: W formacie tekstowym (na standardowym wyjściu) /control/manual [directory] W formacie html (jeden plik na każdy podkatalog) /control/createhtml [directory] Lista w budowanych poleceń GEANT4 znajduje się w przewodniku dla twórców aplikacji (Rozdział 7.1)
14 Makra Makra są plikami tekstowymi zawierającymi polecenia interfejsu użytkownika Polecenia w makrze muszą posiadać pełną ścieżkę dostępu # oznacza komentarz Makra można wykonać na dwa sposoby z poziomu interfejsu użytkownika lub innego makra :Idle> /control/execute <nazwa_makra> z poziomu kodu c++ G4UImanager * UI = G4UImanager::GetUIpointer(); UI->ApplyCommand(''/control/execute <nazwa_makra>'');
15 Aby móc raz skompilowanym programem sterować interakcyjnie lub bez naszego udziału w zależności od aktualnej potrzeby można przekazać programowi głównemu parametr(y) np. nazwę makra do wykonania: int main(int argc, char** argv) { if(argc==1) { // tryb interakcyjny G4UIsession* session = new G4UIterminal; session->sessionstart(); delete session; } else { // tryb nieinterakcyjny G4UImanager* UI = G4UImanager::GetUIpointer(); G4String makro = argv[1]; G4String command= ''/control/execute '' + makro; UI->ApplyCommand(command); }
16 Ćwiczenie 3 Proszę wprowadzić modyfikacje z poprzedniej transparencji w programie głównym examplen03.cc Skompilować program Utworzyć makro np. run.mac zawierające polecenie /run/beamon 3 Proszę wykonać to makro z poziomu interfejsu użytkownika../bin/linux-g++/examplen03 Idle> /control/execute run.mac Idle> exit oraz w trybie nieinterakcyjnym../bin/linux-g++/examplen03 run.mac
17 Aliasy Aliasy definiujemy za pomocą polecenia /control/alias [nazwa] [wartość] np. Idle> /control/alias bo ''/run/beamon Wartość aliasu jest zawsze traktowana jak ciąg znaków Alias jest automatycznie definiowany podczas wywołania poleceń /control/loop i /control/foreach Alias może być używany jako składnik polecenia wywoływanego z poziomu interfejsu użytkownika lub wewnątrz makra. Do tego celu używamy nazwy aliasa w nawiasach pisanych np. Idle> {bo} 3
18 Pętle Polecenia /control/loop i /control/foreach wykonują makro więcej niż raz: /control/loop [makro] [alias] [pocz] [końc] [krok] [alias] alias którego wartość zmienia się przy każdym wywołaniu makra od [pocz] o [krok] Idle> /control/loop run.mac Ekin /control/foreach [makro] [alias] [lista] [alias] alias do kolejnych wartości z [lista] [lista] musi być ograniczona ( ) Idle> /control/foreach run.mac Ekin w makrze run.mac np.: /gun/energy {Ekin} GeV
19 Jeśli system operacyjny (Linux) zawiera C-shell lub TC-shell'a to można używać bardziej przyjaznego interfejsu użytkownika. G4UIsession*session=new G4UIterminal (new G4UItcsh); Kompilacją możemy sterować za pomocą zmiennych środowiskowych np. G4UI_USE_TCSH #include G4UIterminal.hh ; #if defined(g4ui_use_tcsh) #include G4UItcsh.hh ; #endif... #if defined(g4ui_use_tcsh) G4UIsession * session= new G4UIterminal(new G4UItcsh); #else G4UIsession * session= new G4UIterminal; #endif
20 Ćwiczenie 4 Proszę zmodyfikować program główny aby korzystał ze zmiennej środowiskowej G4UI_USE_TCSH w celu ewentualnego użycia terminala typu TC-shell oraz go skompilować Proszę zmodyfikować makro run.mac aby za pomocą polecenie Idle> /control/loop Ekin wykonać makro dla różnych energii cząstek pierwotnych np. w run.mac: /gen/energy {Ekin} GeV /run/beamon 3
21 G4UIterminal Tekstowy interfejs użytkownika posiada wbudowane polecenia charakterystyczne dla Unix'a: cd, pwd, ls history pokazuje poprzednio wykonane polecenia!historyid ponowne wykonanie polecenia Klawisze strzałek i backspace (tylko tcsh) help <polecenie> - opis i składnia polecenia exit zakończenie pracy Powyższe polecenia dostępne tylko interakcyjnie, nie mogą być wykonane z poziomu programu w c++ ani wewnątrz makra
22 Wizualizacje Wizualizacje umożliwiają: Produkowanie wysokiej jakości rysunków np. do publikacji Są narzędziem do wykrywania błędów w geometrii detektora (np. nakładanie się obszarów) Daje możliwość interaktywnego uzyskiwania informacji o wizualizowanych obiektach(pędy, depozyty) Daje możliwość uzyskiwania szybkich odpowiedzi podczas analizy: trajektorii, hitów, geometrii
23 Co można wizualizować? Dane symulacyjne: - części detektora - trajektorie cząstek - depozyty energii (hity) Inne obiekty zdefiniowane przez użytkownika: - linie proste/łamane np. osie współrzędnych - teksty (opisy/komentarze/nazwy...)
24 Programy do wizualizacji GEANT 4 posiada interfejsy obsługujące siedem zewnętrznych programów do wizualizacji: OpenGl OpenInventor HepRep DAWN VRML RayTracer ASCIITree Różne programy odpowiadają różnym potrzebom Lista poleceń wydawanych z poziomu GEANT4 jest taka sama dla wszystkich programów
25 Programy do wizualizacji Nie ma jednego programu spełniającego wszystkie nasze wymagania. Trzy będziemy używać podczas zajęć: OpenGl Daje możliwość uzyskiwania szybkich odpowiedzi podczas analizy: trajektorii, hitów, geometrii HepRep Jest narzędziem do wykrywania błędów w geometrii detektora (np. nakładanie się obszarów) Daje możliwość interaktywnego uzyskiwania informacji o wizualizowanych obiektach(pędy.,,,) DAWN Produkuje wysokiej jakości rysunki np. do publikacji
26 Programy do wizualizacji Pięć interfejsów niewymagających zewnętrznych bibliotek jest zawsze dostępnych w każdej instalacji GEANT'a HepRep Dawn VRML RayTracer ASCIITree Pozostałe wymagają instalacji bibliotek i ustawienia zmiennych środowiskowych podczas kompilacji jądra GEANT4
27 Sterowanie wizualizacją Niezależnie od interfejsu, kod źródłowy pozostaje w zasadzie taki sam Wizualizacje realizujemy albo za pomocą poleceń interfejsu użytkownika lub z poziomu kodu c++. Na zajęciach ograniczymy się do poleceń UI Niektóre interfejsy działają bezpośrednio w G4 OpenGL, OpenInventor, RayTracer i ASCIITree Przy pracy z innymi GEANT4 produkuje pliki umożliwiające wizualizacje za pomocą innych aplikacji : HepRep, DAWN, VRML Można korzystać z kilku interfejsów w tym samym czasie (np. OpenGL/DAWN)
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014 Sterowanie symulacja GEANT4 umożliwia sterowanie
Bardziej szczegółowoŚrodowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2015/2016 GEANT4: Symulacje przejścia czastek przez materię
Bardziej szczegółowoŚrodowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014 GEANT4: Symulacje przejścia czastek przez materię
Bardziej szczegółowoGEANT4. Leszek Adamczyk. Interfejs użytkownika -2 Geometria -2
GEANT4 Leszek Adamczyk Interfejs użytkownika -2 Geometria -2 Polecenia interfejsu użytkownika UI kurier (G4UIMessenger) Obiekt Polecenia (target class) G4UIManager polecenie (G4UICommand) parametr (G4UIparameter)
Bardziej szczegółowoKatedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
Bardziej szczegółowoGEANT4. Leszek Adamczyk. Geometria detektora
GEANT4 Leszek Adamczyk Geometria detektora Geometria detektora Trzy poziomy definicji geometrii: G4VSolid kształt, rozmiar G4LogicalVolume materiał, wizualizacja, G4VPhysicalVolume położenie, orientacja
Bardziej szczegółowoPracownia komputerowa. Dariusz wardecki, wyk II
Pracownia komputerowa Dariusz wardecki, wyk II Systemy operacyjne Desktopowe Mobilne Systemy operacyjne Systemy Unixowe Windows! Windows 8 Windows 7 Windows Vista Windows XP... Linux Mac OS X Mountain
Bardziej szczegółowoMentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Bardziej szczegółowoWprowadzenie. Programowanie Obiektowe Mateusz Cicheński
Wprowadzenie Programowanie Obiektowe Mateusz Cicheński Paradygmaty programowania C++ Krótki przykład Kompilacja i linkowanie Makefile Przydatne flagi kompilatora Zaliczenie przedmiotu Harmonogram roku
Bardziej szczegółowoPraca w środowisku Visual Studio 2008, Visual C
Praca w środowisku Visual Studio 2008, Visual C++ 2008 mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Tworzenie aplikacji konsolowych 2 3 Tworzenie nowego projektu aplikacji
Bardziej szczegółowoĆwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Bardziej szczegółowotworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.
Linux podobnie jak MacOS X są systemami opartymi na Unixie. Wiele programów linuxowych działa z poziomu terminala dlatego aby móc ich używać należy poznać podstawowe komendy systemu Unix. Nauczycie się
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoPracownia Komputerowa wykład III
Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowoZofia Kruczkiewicz, ETE8305_2 1
Wprowadzenie do programowania obiektowego w C++ 1. Główne zasady programowania obiektowego: hermetyzacja, dziedziczenie, polimorfizm 2. Pojęcie klasy: sposoby deklarowania i definiowania składowych klasy,
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoAdministracja sieciowymi systemami operacyjnymi III Klasa - Linux
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoPRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE
PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE Magda Mielczarek Pracownia Informatyczna 2015/2016 1 Podstawowe definicje Linux system operacyjny, które oferuje kompletne środowisko programistyczne
Bardziej szczegółowohttps://portal.clusterix.pl:8443 trainxx tramxx
Logowanie 1. Otworzyć w oknie przeglądarki adres: https://portal.clusterix.pl:8443 2. Zalogować się używając konta, użytkownik: trainxx, hasło: tramxx Delegacja certyfikatu proxy 1. Zalogować poprzez ssh
Bardziej szczegółowoProgramowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki
Bardziej szczegółowoPracownia Komputerowa wykład III
Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula dr Jan Suffczyński 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu unix! csh :
Bardziej szczegółowoTrochę o plikach wsadowych (Windows)
Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też
Bardziej szczegółowoWprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b
Systemy operacyjne i sieci komputerowe. Ćwiczenie 2. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Tryb konsolowy ćwiczenie 2 012b Źródło: http://www.microsoft.com/technet/prodtechnol/windowsserver2003/pl/library/serv
Bardziej szczegółowoWstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania
Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania Przemysław Kobylański Wprowadzenie Każdy program w C musi zawierać przynajmniej funkcję o nazwie main(): Aby możliwe
Bardziej szczegółowoLaboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym
Laboratorium 1 I. Zainstaluj program Eclipse (wersja C/C++ http://www.eclipse.org/downloads/) w odpowiednim systemie operacyjnym II. Zainstaluj narzędzia Windows CDT (w Eclipse jako software site dodajemy
Bardziej szczegółowoŚrodowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2015/2016 Analiza danych GEANT 4 nie ma rozbudowanego systemu
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoI - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Bardziej szczegółowoWstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej
Wstęp do systemów wielozadaniowych laboratorium 03 UNIX-owej Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2012-10-09 Co to jest konsola / terminal UNIX-owy? Odpowiednik
Bardziej szczegółowoPodstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch
INFORMATOR TECHNICZNY WONDERWARE Informator Techniczny nr 60 04-12-2002 Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch Wstęp PoniŜsza dokumentacja oparta na przykładach stworzonych
Bardziej szczegółowoWstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików
Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-10-08 Co to jest konsola / terminal UNIX-owy?
Bardziej szczegółowoPodział programu na moduły
Materiały Podział programu na moduły Informatyka Szczegółowe informacje dotyczące wymagań odnośnie podziału na moduły: http://www.cs.put.poznan.pl/wcomplak/bfiles/c_w_5.pdf Podział programu na moduły pozwala
Bardziej szczegółowoPowłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.
Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem
Bardziej szczegółowoBASH - LINIA POLECEŃ. Bioinformatyka 2018/2019
BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację
Bardziej szczegółowoPROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Bardziej szczegółowoTablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager
Tablet bezprzewodowy QIT30 Oprogramowanie Macro Key Manager Spis treści 1. Wprowadzenie... 3 2. Panel Sterowania - wprowadzenie... 4 3. Instalacja... 5 3.1 Jak stworzyć nowy profil... 5 3.2 Jak zmodyfikować
Bardziej szczegółowoWstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Bardziej szczegółowoZajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Bardziej szczegółowoSystem operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoBloki anonimowe w PL/SQL
Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
Akademia Rolnicza im. Augusta Cieszkowskiego w Poznaniu - Instytut Inżynierii Rolniczej - ALGORYTMY I STRUKTURY DANYCH Prowadzący: dr inż. Radosław J. Kozłowski email: rjk@au.poznan.pl www: http://www.au.poznan.pl/~rjk
Bardziej szczegółowoCo nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Bardziej szczegółowoCzęść XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.
Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja
Bardziej szczegółowoISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
Bardziej szczegółowoBash - wprowadzenie. Bash - wprowadzenie 1/39
Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:
Bardziej szczegółowoSieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix
Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu
Bardziej szczegółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoPodstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
Bardziej szczegółowoAplikacja po polsku. Bogdan Kreczmer. ZPCiR ICT PWr pokój 307 budynek C3.
Aplikacja po polsku Bogdan Kreczmer ZPCiR ICT PWr pokój 307 budynek C3 kreczmer@ict.pwr.wroc.pl Copyright c 2004 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat wizualizacji danych
Bardziej szczegółowoPowłoka bash. Kurs systemu Unix 1
Powłoka bash Kurs systemu Unix 1 Skrypty powłoki Skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: #!/usr/local/bin/bash # taki sobie skrypt lub podobną. Polecenie: sekwencja napisów, odzielonych
Bardziej szczegółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych
Bardziej szczegółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoWprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Bardziej szczegółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoĆwiczenia 2 IBM DB2 Data Studio
Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.
Bardziej szczegółowoProgramowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoAdam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie
Adam Wójs git --wprowadzenie Życie programisty A) Rozwój projektu B) Naprawianie błędów C) Refaktoryzacja kodu Ekstremalny przykład Wersja jądra Lb-a programistów Lb-a linii kodu
Bardziej szczegółowoSkrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoLaboratorium Informatyka (I) AiR Ćwiczenia z debugowania
Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania Krzysztof Kluza, Janusz Miller 1 Debugowanie Debugowanie, czy też po polsku odpluskiwanie, to proces polegający na kontrolowanym wykonaniu programu
Bardziej szczegółowoZakład Systemów Rozproszonych
Zakład Systemów Rozproszonych Politechnika Rzeszowska Moduł 1: Wprowadzenie do systemu UNIX Interpretator poleceń Interpreter poleceń użytkownika, czyli inaczej powłoka. Powłoka pośredniczy pomiędzy użytkownikiem
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoPobieranie argumentów wiersza polecenia
Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoSystem plików - wprowadzenie. Ścieżki dostępu. Informatyka ćw 1
Informatyka ćw 1 Linux - operacje systemu plików 1. Ściągnąć program PUTTY - (portal tbajorek.prz.rzeszow.pl - dostęp po zalogowaniu: użytkownik: student hasło: samoloty 2. Skonfigurować połączenie z adresem
Bardziej szczegółowoSystemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier
Systemy operacyjne Instrukcja laboratoryjna Ćwiczenie 1: Polecenia systemu UNIX/LINUX Opracował: dr inż. Piotr Szpryngier Olsztyn 2009 1 Wprowadzenie. Cel zajęć praktycznych. Wymagania stawiane studentom
Bardziej szczegółowoZad. 5: Sterowanie robotem mobilnym
Zad. 5: Sterowanie robotem mobilnym 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie
Bardziej szczegółowoMikrokontroler ATmega32. Język symboliczny
Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami
Bardziej szczegółowoZad. 6: Sterowanie robotem mobilnym
Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia
Bardziej szczegółowoTemat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.
Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego. Czas realizacji zajęć: 135 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zmienne śrowiskowe oraz ich eksportowanie, argumenty
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoInstrukcja korzystania z Virtual Box-a i SQLPLUS-a
Instrukcja korzystania z Virtual Box-a i SQLPLUS-a Wstęp W tej instrukcji zawarte są procedury dotyczące użytkowania VirtualBox-a i SQLPLUS-a w zakresie: 1. Virtual Box a. podłączanie zewnętrznych współdzielonych
Bardziej szczegółowoStosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku
Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku ls - sprawdzanie zawartości katalogu ls(nazwa Polecenia) -la(argumenty(-a
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoInstrukcja instalacji winbgim
Instrukcja instalacji winbgim 1. Przegląd instalacji Instalacja winbgim polega na przekopiowaniu w odpowiednie miejsca dwóch plików: pliku biblioteki, zawierającego m.in. skompilowane funkcje (libbgi.a),
Bardziej szczegółowoUruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias
7 październik 2008 Uruchomienie, monitorowanie procesu, potoki, aliasy S laj d 1 Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias 7 październik 2008 Uruchomienie, monitorowanie
Bardziej szczegółowoANALIZA DANYCH SHOWERA. Narzędzia na wiązkę dla Shower Operatora
ANALIZA DANYCH SHOWERA Narzędzia na wiązkę dla Shower Operatora POZIOMY DANYCH HShowerRaw Odczyt z ADC wraz z umiejscowieniem w detektorze HShowerCal Dane przekalibrowane HShowerHit Trafienia cząstek w
Bardziej szczegółowoĆwiczenie 9 Linux - operacje systemu plików
Systemy teleinformatyczne AiR Ćwiczenie 9 Linux - operacje systemu plików 1. Ściągnąć program PUTTY - (portal tbajorek.prz.rzeszow.pl lub www.prz.rzeszow.pl/~tbajorek - dostęp po zalogowaniu: użytkownik:
Bardziej szczegółowoWstęp do informatyki. stęp do informatyki Polecenia (cz.2)
Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać
Bardziej szczegółowoPodstawy Programowania.
Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png O mnie... dr inż. Łukasz Graczykowski Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej lgraczyk@if.pw.edu.pl www.if.pw.edu.pl/~lgraczyk/wiki
Bardziej szczegółowoW2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Bardziej szczegółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest
Bardziej szczegółowoArgumenty wywołania programu, operacje na plikach
Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują
Bardziej szczegółowoProjektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoAutomatyzacja kompilacji. Automatyzacja kompilacji 1/40
Automatyzacja kompilacji Automatyzacja kompilacji 1/40 Automatyzacja kompilacji 2/40 Wstęp Polecenia kompilacji gcc -Wall -c komunikat.c -o komunikat.o gcc -Wall -c main.c -o main.o gcc -Wall -c test.c
Bardziej szczegółowo