Przykładowy algorytm geometryczny (geometria płaska)

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

C++ wykład 9 ( ) Szablony.
Język C/C++ Funkcje.
Grażyna Mirkowska PJWSTK, 10 stycznia 2001
Wzorce.
Algorytmy – zapis struktur programowania
Języki programowania C++
Informatyka Stosowana
formatowanie kodu źródłowego
OBJECT PASCAL Marzena Szałas.
ZŁOŻONOŚĆ OBLICZENIOWA
ALGORYTMY GEOMETRYCZNE.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Podstawy programowania PP – LAB5 Wojciech Pieprzyca.
Wykład 2 struktura programu elementy języka typy zmienne
Wyrażenia Wyrażenie w Fortranie jest poprawną syntaktycznie kombinacją zmiennych, stałych, operatorów i funkcji. Wyrażenia są jednozdaniowymi przepisami.
Instrukcja skoku GO TO etykieta Np. GO TO 100 ….. 100WRITE (*,*) Przeskok do instrukcji 100 Uwaga! NIE WOLNO skakać do wnętrzna złożonych instrukcji warunkowych.
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Podstawy programowania
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
Programowanie w języku Matlab
TABLICE C++.
Programowanie Windows na przykładzie C# część 1
Programowanie strukturalne i obiektowe
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
STEROWANIE Ale nie tylko
Andrzej Repak Nr albumu
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Elżbieta Fiedziukiewicz
Podstawy informatyki 2013/2014
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Przykładowy algorytm geometryczny (geometria płaska)
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Kurs języka C++ – wykład 9 ( )
Podstawy języka Instrukcje - wprowadzenie
Podstawy programowania
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
1 Uzupełnienie dot. przekazywania argumentów #include struct nowa { int f; char line[20000]; int k; } reprezentant; int main() { void funkcja7( struct.
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Wykład 4 Klasa Vec, której konstruktory alokują pamięć dla obiektów 1.Przykład definicji klasy Vec 2.Definicje konstruktorów i destruktora 3.Definicja.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wykład 2 Klasa Zesp i jej hermetyzacja 1.Przykład definicji klasy Zesp 2.Zmiana definicji klasy 3.Zmienne i funkcje statyczne PO2-1 / 28.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
1 Czy procesor musi się grzać? Np. dodawanie 2 liczb 1-bitowych. Możliwych stanów początkowych: cztery Możliwych stanów końcowych: dwa to można opisać.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Figury płaskie Układ współrzędnych.
Figury płaskie.
Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C
Sposoby zapisu algorytmu
Zespół Szkół Zawodowych im. Króla Jana III Sobieskiego w Przeworsku
Czy procesor musi się grzać?
Opisy funkcji Adres strony WWW :
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
ALGORYTMY I STRUKTURY DANYCH
Dane, zmienne, instrukcje
Założenia projektowe Javy
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Przykładowy algorytm geometryczny (geometria płaska) Czy odcinki AB oraz CD mają punkt wspólny, czyli czy przecinają się? A(x1,y1) B(x2,y2) C(x3,y3) D(x4,y4) następujące cztery KONIECZNE warunki muszą być spełnione 17w60.ppt

Przykładowy algorytm geometryczny (geometria płaska) Dodatkowo z1 i z2 muszą być przeciwnego znaku, lub jedno z nich musi być równe zeru; znaki z1 i z2 określają, czy (x3,y3) i (x4,y4) są na prawo, czy na lewo od wektora AB. Należy wyobrazić sobie wektor AB jako wskazówkę obracającą się wokół punktu A; obrót zgodny ze wskazówkami zegara jest dodatni. z1=(x3-x1)(y2-y1) – (y3-y1)(x2-x1) z2=(x4-x1)(y2-y1) – (y4-y1)(x2-x1)

Inny algorytm geometryczny: ”march of Jarvis” Algorytm ten (po polsku pochód czy obrys Jarvisa) służy do znalezienia obrysu wypukłego danego zbioru punktów na płaszczyźnie, czyli do znalezienia najmniejszego wielokąta wypukłego zawierającego wszystkie punkty zbioru. Najistotniejszą częścią algorytmu jest rozpoznawanie, czy dany punkt znajduje się na prawo, czy na lewo od danego wektora (w takim samym znaczeniu jak w poprzednim algorytmie) (można poszukać w Internecie hasła ”Jarvis march” ) http://edu.pjwstk.edu.pl/wyklady/asd/scb/asd13/main13_p5.html http://www.cs.unc.edu/~snoeyink/demos/ch/Jarvis.html http://personal.kent.edu/~rmuhamma/Compgeometry/MyCG/ConvexHull/jarvisMarch.htm

Inny algorytm geometryczny: ”march of Jarvis” W algorytmie tym wylicza się czy dany punkt Pn(Xn,Yn) znajduje się na lewo czy na prawo od wektora [P0,Pc] ; początek i koniec wektora mają współrzędne P0(X0,Y0) oraz Pc(Xc,Yc) . Obracamy wektor wokół punktu P0. Wyliczamy z; jeśli z jest dodatnie to Pn jest na prawo, jeśli ujemne to na lewo. z = (Xn-X0)*(Yc-Y0) – (Yn-Y0)*(Xc-X0) Pc . Pn P0

Możliwość „mieszania” języków programowania W przypadku „rodziny” kompilatorów GNU taka możliwość „mieszania” jest przygotowana. Można np. z wnętrza programu napisanego w języku Fortran wywołać funkcję napisaną w języku C. Załączony przykład składa się z dwóch plików źródłowych: przekaz1.f przekaz2.c (uwaga – kompilator Fortranu np. f77 albo f90 albo gfortran) Kompilacja: gcc przekaz2.c –c Kompilacja: f77 przekaz1.f –c Linker: f77 przekaz1.o przekaz2.o –o przekaz.exe Wykonanie: przekaz.exe

Możliwość „mieszania” języków programowania Kolejny przykład: program w C woła procedurę napisaną w Fortranie. fnot1.c fnot2.f (uwaga – kompilator Fortranu np. f77 albo f90 albo gfortran) Kompilacja: gcc fnot1.c –c Kompilacja: f77 fnot2.f –c Linker: gcc fnot1.o fnot2.o –o fnot.exe Wykonanie: fnot.exe

Zagadnienia na egzamin

Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów Instrukcje warunkowe (if, ?: , switch) Pętle (for, while, do-while, instrukcje break i continue) Macierze i łańcuchy znakowe (także macierze wielowymiarowe)

Język C podsumowanie /* Alokuje pamiec na macierz n*n */ double **matrixalloc(int n) { int i; double ** bufor; bufor = malloc(n*sizeof(double *)); for(i=0; i<n; i++) bufor[i] = malloc(n*sizeof(double)); return bufor; } /* koniec */ .... double **alfa; alfa = matrixalloc(10);

Język C podsumowanie Funkcje, prototypy funkcji Struktury, unie Rzutowanie na typ Klasy pamięci zmiennych i funkcji Zasięg zmiennej, zasięg funkcji Wskaźniki, macierze, funkcje Dynamiczna alokacja pamięci (malloc,calloc, sizeof, free) Argumenty wiersza wywołania programu Operatory arytmetyczne, logiczne Operatory bitowe, pola bitowe

Język C podsumowanie Preprocesor języka C (makra) Funkcje wejścia/wyjścia(buforowane, niebuforowane, formatowane, bezformatowe) Typ enum Instrukcja typedef Kwalifikatory const, volatile Czytanie deklaracji obiektów w języku C

Język C podsumowanie ....tego nie było,nie będzie na egzaminie... biblioteka ncurses libncurses.a web.cs.mun.ca/~rod/ncurses/ncurses.html

Koniec zagadnień na egzamin