Programowanie w języku Fortran 90/95 - Program własny rozwiązywania równania falowego
|
|
- Marcin Czajka
- 8 lat temu
- Przeglądów:
Transkrypt
1 PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W CHEŁMIE Instytut Matematyki i Informatyki Kierunek: Matematyka Specjalność: Matematyka z Informatyką Arkadiusz Gadecki Nr albumu 2887 Programowanie w języku Fortran 90/95 - Program własny rozwiązywania równania falowego Praca dyplomowa napisana pod kierunkiem prof. dr hab. Krzysztofa Murawskiego CHEŁM 2008
2 1 Oświadczenie o autorstwie pracy Oświadczam, że niniejszą pracę przygotowałem samodzielnie. Wszystkie dane, definicje, wzory i sformułowania pochodzące z literatury są opatrzone odpowiednimi odsyłaczami. Praca przedłożona do oceny nie była dotychczas publikowana w żadnej formie. Imię i nazwisko autora pracy... (data i podpis autora pracy)
3 2 Spis treści 1 Wstęp 3 2 Cel i zakres pracy 4 3 PODSTAWY JĘZYKA FORTRAN 90/ Struktura programu Typy zmiennych Podstawowe elementy języka Parametry zmiennej Instrukcja IF Instrukcja CASE Instrukcja DO Postawowe instrukcje wejścia i wyjścia Zmienne indeksowane TABLICE Deklaracja tablicy Dynamiczne tworzenie tablic Konstruktor tablicy Zmiana kształtu tablicy PODPROGRAMY (SEGMENT SUBROUTINE) Podprogramy wewnętrzne Podprogramy zewnętrzne Funkcje Moduły Podprogram rekurencja (RECURSIVE) Podprogram naturalny (PURE) Struktury Wskaźniki Intrukcje wejścia i wyjścia NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO Równanie falowe - postać numeryczna Program rozwiązujący równanie falowe Podsumowanie i wnioski 32 6 Literatura 33
4 WSTĘP 3 1 Wstęp W połowie lat 50-tych grupa naukowców z firmy IBM, prowadzona przez Johna Buckusa( ojca języka Fortran ), opracowała nowy język, który rewolucyjnie uprościł programowanie komputerów, przede wszystkim przez intuicyjny sposób kodowaia formuł matematycznych. Nazwa języka Fortran powstała jako akronim słów Formula Translation. Język ten szybko został zaakcteptowany przez użytkowników i od momentu powstania ulegał ciągłym modyfikacjom. Pierwsza standaryzacja nastapiła w 1960 roku, gdy American Standards Association (ASA) opublikowała krótki dokument określajacy podstawowy zestaw własności, jakim implementacja języka powinny się charakteryzować. Tak powstał Fortran IV. Następna standaryzacja znana była pod nazwą Fortran 66, ponieważ jej standaryzacja nastąpiła w 1966 roku. Wzorzec ten był jednak na potrzeby użytkowników zbyt ubogi i tworzone w tym czasie implementacje zawierały wiele rozszerzeń. W latach siedemdziesiątych nastąpiła bardzo ważna stadaryzacja języka Fortran znana jako Fortran 77, niedługo potem była standaryzacją światową. W tym czasie dokonywał się rozwój takich języków jak: C, C++ cz Ada. Następcą Fortranu 77 zosał Fortran 90 o możliwościach porównywalnych do tych wyżej wymienionych języków. Standard ten jest standardem światowym (ISO/IEC 1539:1991). Aktualnie obowiązującym standardem jest Fortran 95, który już nieznacznie różni się od swojego poprzednika. Fortran dysponuje wielką liczbą bibliotek, które pozwalają rozwiązać praktycznie każde zadanie numeryczne. Najważniejsze przyczyny, z powodu których Fortran jest wykorzystywany i rozwijany do dziś, to: szybkość obliczeń oraz wysoka wydajność kodu generowanego przez kompilatory Fortrana, wynikająca m.in. z jego długiej obecności na rynku programistycznym, znakomita skalowalność i przenośność oprogramowania (pomiędzy różnymi platformami sprzętowymi i systemami operacyjnymi), a także dostępność bibliotek dla programowania wieloprocesorowego i równoległego.
5 CEL I ZAKRES PRACY 4 2 Cel i zakres pracy Mój wybór na temat pracy padł na Fortran 90/95 ponieważ bardzo interesują mnie ogólnie języki programowania i staram się poznać ich jak najwięcej. Moja praca będzie poświęcona przedstawieniu języka Fortran 90/95 jako użytecznego narzędzia do obliczeń wszelkiego rodzaju równań matematycznych jedakże ja skupię się na problemie obliczania równania falowego. Oczywiście chcąc rozwinąć temat opisze sam język programowania. Praca ta więc jest skierowana do grona ludzi interesujących sie zarówno programowaniem jak również samą matematyką. W I rodziale mojej pracy opisałem najbardziejuzyteczne komendy, funkcje, wyrażenia które przydadzą się aby mile zacząć programowanie z Fortranem 90/95. Wszystkie te procedury będą opisane w podpunkatch w celu łatwiejszego zrozumienia i przyswojenia. Dzięki tak opisanym komendom, funkcjom, i wyrażeniom będziemy mogli w łatwy sposób powrócić do nich w celach przypomnienia sobie czegoś co pomineliśmy lub wyleciało nam z głowy. W II rodziale natomiast przejdziemy do zastosowań owych komend, fukcji czy wyrażeń w konkretnych przykładach programów dotyczących właśnie tytułowgo równania falowego. Zobaczymy jak bardzo są one użyteczne zarówno w opisanych przeze mnie programach, jak również dobrze je można wykorzystać w inncyh podobnych programach obliczeniowych tego typu.
6 PODSTAWY JĘZYKA FORTRAN 90/ PODSTAWY JĘZYKA FORTRAN 90/ Struktura programu Każdy program pisany w języku Fortran powinien zaczynać się słowamem kluczowym: Program [name] i kończyć. End Program [name] W [name] wpisujemy oczywiście własną nazwę programu. Między tymi dwoma elmentami będzie się zawierał cały program główny. Oczywiście dochodzą do tego jeszcze inne elementy takie jak modouły czy funkcje ale o nich później. 3.2 Typy zmiennych Jak w każdym języku programowania wyróżniamy różne typy zmiennych dla Fortrana są to: INTEGER - typ całkowity - dla liczb całkowitych, REAL - typ rzezeczywity - dla liczb rzeczywistych, COMPLEX - typ zespolony - dla liczb zespolonych, LOGICAL - typ logiczny - dla danych logicznych (o wartościach.true.- prawda i.false. - fałsz), CHARACTER - typ tekstowy - dla danych tekstowych. Nazwy dla każdego z typów muszą spełniać określone zasady 1 : długość nazwy do 31 znaków pierwszy znak musi być literą tylko litery, podkreślenia i cyfry sa dopuszczalne wielkie i małe litery nie są rozróżniane nazwy mogą być identyczne ze słowami kluczowymi nazwy moga byc takie same jak nazwy funkcji wewnęrznych 1 D.Chrobak, FORTRAN Praktyka Programowania, Wydawnictwo MIKOM, Warszawa 2003
7 PODSTAWY JĘZYKA FORTRAN 90/ Podstawowe elementy języka Program pisany w języku Frotran składa się z kolejnych linii, w których zapisywane są instrukcje. Tworząc taki program możemy używać nastepujących symboli 2 : a) liter alfabetu łacińskiego b) cyfr - A B C D E F G H I J K L M N O P R S T U V W X Y Z - a b c d e f g h i j k l m n o p r s t u v w x y z c) znaków specjalnych + - plus - - minus / - dzielenie - mnożenie. - kropka, - przecinek = - równość - odstęp ( - nawias lewy ) - nawias prawy - cudzysłów : - dwukropek! - wykrzyknik % - procent ; - średnik < - znak mniejszości > - znak większości? - znak zapytania $ - dolar - podkreślenie 2 J. R. Piechna, Programowanie w języku Fortran 90 i 95 Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2000
8 PODSTAWY JĘZYKA FORTRAN 90/ Parametry zmiennej Nadanie parametru zmiennej, a nastęnie nadanie jej nazwy odbywa się za pomocą schematu: Typ danej [(KIND=liczba zarezerwowanych bajtów)] :: nazwa zmiennej Każdy z typów ma dodatkowy paramter (KIND), który określa liczbę zarezerwowanych bajówy w pamięci komputera. W tabeli 1 3 przedstawione są wszystkie typy zmiennych z pełnymi opisami. Tabela 1: Tablica typów dla danego parametru Typ Wartość Specyfikacja zmiennej parametru INTEGER 1 Zakres: -127 do 127 INTEGER 2 Zakres: do INTEGER 4 Zakres: do REAL 4 Zakres: do Dokładnośc: 7-8 miejsc znaczących REAL 8 Zakres: do Dokładnośc: miejsc znaczących COMPLEX 4 Zakres: do Dokładnośc: 7-8 miejsc znaczącyc COMPLEX 8 Zakres: do Dokładnośc: miejsc znaczących LOGICAL 1 Wartość:.TRUE. i.false. LOGICAL 4 Wartość:.TRUE. i.false. CHARACTER 1 Zestaw znaków ASCII 3.5 Instrukcja IF W instrukcji tej wyróżniamy dwie postaci: a) IF (wyrażenie logiczne) instrukcja uwarunkowana Jej działanie jest następujące: Jeśli wyrażenie logiczne ma wartosć.true., realizowana jest instrukja 3 J. R. Piechna, Programowanie w języku Fortran 90 i 95 Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2000
9 PODSTAWY JĘZYKA FORTRAN 90/95 8 będąca kontynuacją linii, a nazywana instrukją uwawarunkowaną. Gdy wyrażenie logiczne ma wartość.false., instrukcja uwarunkowana jest pomijana i wykonywana jest następna linia programu. b) Postać druga (zwana blokową - bardziej odpowiadająca naturalnemu sposobowi forułowania warunków): [nazwa konstrukcji] IF (wyrażenie logiczne)then Grupa instukcji wykonywalnych, gdy wyrażenie logiczne ma wartość.true. ELSE Grupa instukcji wykonywalnych, gdy wyrażenie logiczne ma wartość.false. END IF [nazwa konstrukcji] Jesli wartość wyrażenia logicznego jest prawdą, należy wykonać zestaw kolejnych instrukcji do słowa kluczowego ELSE w przeciwnym wypadku należy wykonać zestaw kolejnych instrukcji od słowa kluczowego ELSE do słowa kluczowego END IF. 3.6 Instrukcja CASE Ta instrukcja służy do możliwości wyboru, jest ona strukturą sterującą. Ogólna jej postać jest następująca: [nazwa konstrukcji] SELECT CASE (określenie przypadku) CASE (lista przypadków)[nazwa konstrukcji] blok instrukcji do wykonania CASE (lista przypadków)[nazwa konstrukcji] blok instrukcji do wykonania. CASE DEFAULT [nazwa konstrukcji] blok instrukcji do wykonania END SELECT [nazwa konstrukcji] Jeśli nie pojawi się żaden z przypadków, możemy wykonać odpowiednie instrukcje, korzystając z opcji CASE DEFAULT.
10 PODSTAWY JĘZYKA FORTRAN 90/ Instrukcja DO Oto jej postać: [nazwa konstrukcji] DO [,] zmienna = wartość poczatkowa zmiennej, wartość końcowa zmiennej, [przyrost zmiennej w każdym cyklu] [blok instrukcji do wykonania] END DO[nazwa konstrukcji] Instrukcja ta wykonuje się wielokrotnie zwiększając bądź zmniejszając się o zmienną kontrolowaną(np. i) w każdym cyklu aż do uzyskania warotści końcowej zmiennej. 3.8 Postawowe instrukcje wejścia i wyjścia Instrukcjami pozwalającymi na wczytanie przez program danych i ich wyprowadzenie na zewnątrz są instrucje READ i WRITE 4 : READ (numer strumienia danych, postać danych) lista zmiennych do wczytania WRITE (numer strumienia danych, postać danych) lista zmiennych do wysłania gdzie: numer strumienia danych jest liczbą całkowitą, która określa skąd dane będą przesyłane postać danych może zawierać przepis na postać danych (format) Symbol gwiazdki (*) zamiast numeru strumienia danych i postaci danych nazywa się formatem swobodnym. Przykład: WRITE (*,*) Podaj wartość x: READ (*,*) x Instrukcja WRITE wyśle na ekran monitora podpowiedź do użytkownika programu o nadaniu wartości zmiennej x. Następnie w isnstrukcji READ nadajemy jej wartość, którą wpisujemy z klawiatury. Kolejną ciekawą instrukją I/O(czyli input/output) jest instrukcja OPEN, która kojarzy nazwę zbioru na dysku z symbolicznym numerem strumienia danych: OPEN (UNIT = numer strumienia danych, FILE = nazwa zbioru STATUS = status zbioru) 5 4 E. B. James, F. O Brien, P. Whitehead, Fortran kurs programowania, WNT
11 PODSTAWY JĘZYKA FORTRAN 90/95 10 gdzie: numer strumienia danych jest liczbą całkowitą nazwa zbioru zawiera informacje o nazwie zbioru, jaki kojarzymy z numerem strumiena danych status zbioru przyjmuje postać stałej tekstowej o treści OLD (gdy oczekujemy że zbiór istnieje na dysku) lub NEW (gdy oczekujemy że zbiór nie istnieje na dysku). Przykład: OPEN(UNIT=1, FILE= Dane.dat, STATUS= OLD ) Następuje tutaj skojarzenie strumiena danych o numerze 1 ze zbiorem o nazwie Dane.dat. Jeżeli w instrukcji READ lub WRITE pojawi się numer strumienia 1, będzie to znaczyło, iż informacje bedą czytane ze zbioru Dane.dat lub do niego zapisywane. 3.9 Zmienne indeksowane TABLICE Tablice zawsze pełniły ważną rolę w Fortranie. Najczęściej się je stosuje tak skonstruowane, by każdy element lub grupa elementów odpowiadały węzłowi siatki obliczeniowej 6. Tablica jest charakteryzowana przez liczbę wymiarów i rozmiar, który określa dopuszczany zakres indeksów w każdym wymiarze Deklaracja tablicy Ogólna postać: Typ zmiennej, DIMENSION (wymiar,rozmiar):: [nazwa] Przykład: REAL, DIMENSION (0:1, 5:7) :: a Tablica ta składa się z dwóch wierszy (0 i 1) oraz trzech kolumn (5,6,7) jest ona dwuwywmiarowa o rozpiętości w poziomie 3 i pionie 2. Tabela 2 przestawia taką tablice. Tabela 2: Przykładowa tablica a(0,5) a(0,6) a(0,7) a(1,5) a(1,6) a(1,7) 6 D.Chrobak, FORTRAN Praktyka Programowania, Wydawnictwo MIKOM, Warszawa 2003
12 PODSTAWY JĘZYKA FORTRAN 90/95 11 Deklarując tablice należy mieć na uwadze, że: wartość dolnej granicy zmienności indeksu od wartość górnej granicy oddzielamy dwukropkiem jeżeli wartość dolnej granicy zmienności indeksu nie została określona to domyślnie przyjmuje wartość 1 podanie wartość górnej granicy zmienności indeksu jest obowiązkowe wartość górnej granicy zmienności indeksu musi być większa lub równa wartości dolnej granicy jeżeli dla dowolnego indeksu wartości górnej granicy zmienności indeksu jest mniejsza od dolnej to macierz zostanie utworzona, ale jej rozmiar będzie równy 0 wartość granicy zakresu może być liczbą rzeczywistą, przy czym brana pod uwagę będzie jedynie jej część całkowita Operowanie tablicami odbywa się w taki sam sposób jak zmiennymi prostymi. Przykład:... tablica a(1,1)=1 tablica a(1,2)=2 tablica a(2,1)=3 tablica a(2,2)=4 tablica b=tablica a Najpierw przypisujemy konkretnym komórkom tablicy a wartości, a następnie zwiększamy każdą z tych wartości o 1.0 przypisujemy je tablicy b Dynamiczne tworzenie tablic W Fortanie 90 pojawiała się bardzo ciekawa możliwość nadawania wymiaru tablicy, co było nie spotykane we wcześniejszych wersajch języka. Dynamiczne tworzenie tablic daje możliwość użytkownikowi określenie wymiaru tablicy w momencie jej tworzenia co jest bardzo wygodne. Służą do tego słowa kluczowe takie jak: ALLOCATABLE, ALLOCATE i DEALLOCATE. 7 J. R. Piechna, Programowanie w języku Fortran 90 i 95 Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2000
13 PODSTAWY JĘZYKA FORTRAN 90/ Konstruktor tablicy Jeśli tablica jest jednowymiarowa, to istnieje mechanizm umożliwiający bezpośrednie nadanie wartości elementom tablicy w czasie jej deklarowania. Mechanizm ten nazywany jest konstruktorem tablicy. Zaraz po nadaniu nazwy tablicy możemy wpisać wartość kolejnych elementów, które muszą się zawierać między ogranicznikami (/ /). Przykład:... INTEGER, DIMENSION (3) :: a=(/ 1, 2, 3 /) Zmiana kształtu tablicy Funkcja RESHAPE powoduje skopiowanie zawartości tablicy o danym kształcie do tablicy o innym kształcie. Umożliwia ona utworzenie tablicy o zadeklarowanym kształcie z elementów tablicy wskazanej jako źródło danych. Przykład:... REAL, DIMENSION (2,3):: a=reshape((/1, 2, 3, 4, 5, 6/),(2,3)) REAL, DIMENSION (3,2):: b=reshape(a,(3,2)) W powyższym fragmencie programu użyty został konstruktor tablicy jednowymiarowej do nadania wartości elementom tablicy dwuwymiarowej przez wykorzystanie funkcji RESHAPE PODPROGRAMY (SEGMENT SUBROUTINE) Niektóre fragmenty programy mogą się powtarzać lub być wykorzystane przez innych programistów. Możliwe jest zatem wyodrębnienie ich i przedstawienie w postaci podprogramu. W Fortranie 90 występują 3 kategorie podprogramów 8 : A) Wewnętrzne B) Zewnątrzne C) W modułach 8 adam/fortran/
14 PODSTAWY JĘZYKA FORTRAN 90/95 13 Deklaracja podoprgramu wygląda tak: SUBROUTTINE nazwa (lista parametrów formalnych)... deklaracja... treść procedury... RETURN END SUBROUTINE nazwa Aby skorzystać w programie głównym z podprogramu należy użyć instrukcji: CALLnazwa(lista prametrów formalnych) Jak widać program główny z podprogramem wymienia informacje za pomocą listy prametrów formalnych, tak więc zadeklarowane zmienne muszą być tego samego typu, aby program mógł się wykonać Podprogramy wewnętrzne Treść takiego programu, jak nazwa wskazuje znajduje się wewnątrz prgramu głównego. Oddzielony jest od instrukcji segmentu instrukją CONTAINS, która sygnalizuje obecność podprogramu 9. Zmienne i deklaracaje segmentu programu głównego są dostępne dla podprogramu wewnętrznego, natomiast odwrotnie nie, czyli zmienne i deklaracaje podprogramu nie są dostępne dla programu głównego. PROGRAM [nazwa] IMPLICIT NONE... treść segmentu głownego... CALL nazwa() STOP CONTAINS SUBROUTTINE nazwa (lista parametrów formalnych) IMPLICIT NONE... deklaracja RETURN END SUBROUTINE nazwa END PROGRAM [nazwa] Podprogramy zewnętrzne Podprogramy zewnętrzne znajdują sie poza segmentem głównym programu. 9 Oliveira, Writing Scientific Software, Wydawnictwo Cambridge University Press, 2006
15 PODSTAWY JĘZYKA FORTRAN 90/95 14 Występujące w procedurze zmiennne nazywane są zmiennymi lokalnymi, gdyż występują tylko w obszarze procedury. Łącznik czyli prototyp kodu umieszczony we fragmencie kodu znajduje się między słowami kluczowywmi INTERFACE, a END INTERFACE, które umieszczone są w segmencie programu głównego. W łączniku tym znajdują się lista parametrów formalnych, czyli ustalona lista niezbędnych danych jakie powinny być przekazane z programu głownego i jako procedury przekazane z powrotem do programu głównego. Stosujemy w tym celu atrybut INTENT() o wartości IN dla dla zmiennych przekazywanych przez segment główny do podprogramu, o wartości OUT dla zmiennych przekazywanych w przeciwnym kierunku oraz IN OUT dla zmiennych przekazywanych w obu kierunkach. SUBROUTTINE nazwa (lista parametrów formalnych) IMPLICIT NONE... deklaracja... treść procedury... RETURN END SUBROUTINE nazwa PROGRAM [nazwa] IMPLICIT NONE INTERFACE SUBROUTTINEnazwa(lista parametrów formalnych) IMPLICIT NONE... deklaracja RETURN END SUBROUTINEnazwa END INTERFACE... treść segmentu głównego... STOP END PROGRAM[nazwa] Funkcje Tego typu podprogramy wykorzystujemy, gdy wynikiem działania programu jest wartość tylko jednej zmiennej.wywołanie funkcji odbywa się przez napisanie jej nazwy z listą paraemtrów aktualnych.
16 PODSTAWY JĘZYKA FORTRAN 90/95 15 Ogólna postać to: FUNCTION nazwa (lista parametrów formalnych)... deklaracje... treść procedury... nazwa=wyrażenie (arytmetyczne, logiczne) RETURN END FUNCTIONnazwa Wewnątrz podprogramu o tej postaci musi występować podstawienie wyniku działania procedury pod nazwą funkcji lub musi być użyta opcja RESULT(), zawierająca nazwę zmiennej, która jest rezultatem działania funkcji. Zastosowanie funkcji w programie(metoda podprogramu wewnętrzengo): PROGRAM [nazwa] IMPLICIT NONE... treść segmentu głównego... CALL nazwa() STOP CONTAINS FUNCTION nazwa (lista parametrów formalnych) IMPLICIT NONE... deklaracja... treść... RETURN END FUNCION nazwa END PROGRAM [nazwa] Można też za pomocą podprogramu zewnętrzengo. Różnica funkcji od procedury plega na tym, że funkcja przekazuje jedną zmienna procedura więcej niż jedna. Opcja RESULT Zamiast podstawienia pod nazwę funkcji rezulatu działania można wskazać zmienna będacą rezultatem działania. Do tego typu zastosowań wykorzystuje się opcję ze słowem kluczowym RESULT 10 : 10 J. R. Piechna, Programowanie w języku Fortran 90 i 95 Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2000
17 PODSTAWY JĘZYKA FORTRAN 90/95 16 FUNCTION nazwa (lista parametrów formalnych) RESULT (zwracana wartość) IMPLICIT NONE... deklaracja... treść... RETURN END FUNCION nazwa Funkcje standardowe W tabeli 3 podane są najczęściej używane funkcje opisane w bibliotece procedur języka fortran: Tabela 3: Funkcje występujące w fortranie Wartość bezwzględna a ABS(a) Funkcja wykładnicza e a Logarytm naturalny a Lograytm dziesiętny Funkcja sinus a(argument w radianch) Funkcja arcus sinus a Funkcja cosinus a(argument w radianch) Funkcja arcus cosinus a Funkcja tanges a(argument w radianch) Funkcja arcus tanges a Pierwiastek kwadratowy Suma elementów tablicy, wzdłuż wymiaru dim, spełniajacych warunek zawarty w maska Iloczyn elementów tablicy, wzdłuż wymiaru dim, spełniajacych warunek zawarty w maska Iloczyn macierzy A i B Generator liczb losowych Inicjalizacja generatora liczb losowych EXP(a) ALOG(a) ALOG10(a) SIN(a) ASIN(a) COS(a) ACOS(a) TAN(a) ATAN(a) SQRT(a) SUM(a,dim,maska) PRODUCT(a,dim,maska) MATMUL(a,b) RANDOM NUMER(r) RANDOM SEED() Moduły Jest on jednostką programów o różnym przenaczeniu. Inne programy odwołuja się do modułu uzyskując dostęp do stałych danych badź definicji. W module specyfikacje
18 PODSTAWY JĘZYKA FORTRAN 90/95 17 są globalne dla wszystkich segmentów, w których zostały użyte. Dostęp do modułu uzyskuje się za pomocą instrukcji USE i nazwa modułu 11. Podprogramy modułu podobnie jak podprogramy innych segmentów programu, mogą zostać zorganizowane w grupy przez nadanie im wspólnej nazwy. Wymaga to zdefiniowania jawnego interfejsu dla tych podprogramów. Postać: MODULE nazwa... deklaracje... END MODULE nazwa Idee wyokysania modułu ilustruje schemat (Tabela 4): Tabela 4: Schemat modułu Moduł A Segment główny USE moduł A Segment pomocniczy SUBROUTINE h() USE moduł A Oba te segmenty główny i pomocniczy mają dostęp do stałych i definicji zamieszczonych w module. Moduły wykorzytuję się głównie do: definicji typów danych, deklaracji globalnych(w skali całego programu) obiektów danych, definicji nowych operatorów lub referncji istniejących operatorów wewnętrznych, tworzenie bibliotek podprogramów, w tym interfejsów do podprogramwów zewnętrznych, Podprogramy umieszczone w modułach mają szersze zastosowanie od podprogramów wewnętrzynych i zewnętrznych. 11 D.Chrobak, FORTRAN Praktyka Programowania, Wydawnictwo MIKOM, Warszawa 2003
19 PODSTAWY JĘZYKA FORTRAN 90/95 18 Cechy główne modułu: * mogą wywołać wszystkie segmenty korzystające z tego modułu, * ma on bezpośredni dostęp do zmiennych zawartych w module między instrukcją MODULE, a porzedzającym jego opis, * wszystkie zmienne delaklarowane w podprogramie są zminnymi lokalnymi niedostępnymi na zewnątrz, Podprogram rekurencja (RECURSIVE) Program rekurencyjny charakteryzuje się tym, że może wywołać sam siebie. Nagłówek programu musi zawierać słowo RECURSIVE, jeżeli jest to funkcja to musi również zawierać słowo kluczowe RESULT. Jedna z postaci: RECURSIVE FUNCTION nazwa (lista parametrów formalnych) RESULT (zwracana wartość)... deklaracje warunków formalnych treść... END FUNCTION Podprogram naturalny (PURE) Nagłówek tego podprogramu musi zawierać słowo kluczowe PURE. Tego typu programy charakteryzują się następujcymi cechami: nie jest możliwe odwołanie się to zmiennych globalnych argumenty muszą być deklarowane z atrubutem INTENT dla funkcji dopuszczany jest atrybut INTENT (IN) instrukcje WRITE i READ mogą pojawić się tylko wtedy, gdy operacje, które wykonują, odnoszą się do tak zwanych plików wewnętrznych podprogram podprogramu zewnętrzego PURE musi być tego samego rodzaju Jedna z postaci: PURE SUBROUTINE nazwa (lista parametrów formalnych)... deklaracje warunków formalnych treść... END SUBROUTINE
20 PODSTAWY JĘZYKA FORTRAN 90/ Struktury Służą one przede wszystkim tworzeniu własnych typów danych, mogą zawierać informacje typu tekstowego i numerycznego. Fortran zapewnia możliwość tworzenia takich typów nazwanych w odróżnieniu od typów własnych typami pochodnymi 12. Aby utworzyć taką zmienną trzeba zadeklarować jej typ. W deklaracji zawarte są opisy szczegółowe elementów składowych tworzonego typu. Dostęp do elementów struktury możliwy jest przez podanie nazwy zmiennej, następnie separatora w postaci znaku (%) i dalej nazwy elementu składowego typu. Deklaracja typu pochodnych odbywa się w segmencie programu głównego: PROGRAM [nazwa] IMPLICIT NONE TYPE::nazwa... deklaracje... END TYPE nazwa TYPE (nazwa) :: nazwa zmiennej nazwa zmiennej%dkelaracje z TYPE = warości STOP END PROGRAM [nazwa] Wygląd struktury(tabela 5): Tabela 5: Przykład struktury tab a Różnica pomiędzy strukturą a tablicą STRUKTURA TABLICA elementy moga być danymi różnych typów elementy mogą zawierać dane tylko tego samego typu (np. REAL) indeksami jest opowiedni tekst poprzedzony indeksami sa liczby typu całkowitego znakiem % pisane w nawiasach dostęp do elementu odbywa się porzez dostęp do elementu odbywa się podanie nazwy przypisyanej do typu i porzez podanie nazwy tablicy i nazwy po separatorze (%) numeru indeksu (np. tab a(3)) (np. student%imię (struktura obywatel) ) 12 J. R. Piechna, Programowanie w języku Fortran 90 i 95 Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2000
21 PODSTAWY JĘZYKA FORTRAN 90/ Wskaźniki Wskaźniki są wykorzystywane w różnych językach programowania i również w Fortranie znalazły swoje miejsce. Różnica pomiędzy zmienną, a wskaźnikiem polega na tym, że zmienna zawiera dane, a wskaznik określa miejsce gdzie przechowywane są te dane. Wskaźniki zostały wprowadzone w celu usprawnienia dostępu do złożonych typów zmiennych takich jak tablice czy struktury 13. Wskaźnik jak nazwa wskazuje musi coś wskazywać, musi zawierać informacje o własnościach tego obiektu, konieczne jest jego deklarowanie za pomocą atrybutu POITNER wraz z dokładnym opisem własności wskazanego obiektu, może on wkazywać tylko te obiekty, które zostały zadeklarowane do wskazania przez słowo kluczowe TARGET. Wskaźnik wiążemy ze wskazanym obiektem za pomocą instrukcji =>. Pzykłdowa postać: PROGRAM[nazwa] IMPLICIC NONE... Deklaracja wzkaźnika obiektu POITNER :: nazwa wskaźnika TARGET :: nazwa co ma wskazywać... nazwa wskaznika => nazwa co ma wskazywać STOP END PROGRAM [nazwa] Za pomocą wskaźnika możemy doprowadzić do stworzenia dynamicznej tablicy przez słowo kluczowe ALLOCATE (), które wcześniej nie były deklarowane. Daje się zauważyć różnice pomiędzy zmianną, która na stałe związana jest tym samym obszarem pamięci, a wskaźnikiem który w czasie działania programu może wskazywać na różne obszary pamięci. Samo zadeklarowanie wskaźnika nie powoduje powiązania go z jakim kolwiek obiektem, dopiero zancznik (=>) wskazuje na obiekt i tworzy takie powiązanie. Wskaźnik może znajdować się w dwóch stanach: * powiązanym (gdy wskazuje na jakiś obiekt) * nie określony (gdy nie jest przypisany do żadnego obiektu) Za pomocą funkcji ASSOCIATED(nazwa wskaźnika), która zwraca wartości logiczne.true.- gdy jest powiązany oraz.false.- gdy jest nie określony programista ma 13 D.Chrobak, FORTRAN Praktyka Programowania, Wydawnictwo MIKOM, Warszawa 2003
22 PODSTAWY JĘZYKA FORTRAN 90/95 21 możliwość kontroli statusu wskaźnika. Do wymuszenia zerwania powiązania, a zatem do osiągnięcia statusu wskaźnika nie określonego, stosowana jest funkcja NULLIFY(nazwa wskaźnika) Intrukcje wejścia i wyjścia Nie rzadko zdarza się, że w przypadku bardzo skoplikowanych obliczeń konieczne jest zapisanie na dysk dużej ilości danych potrzebnych do późniejszych obliczeń (np za pomocą innego programu). Omawiana wcześniej instrukcja OPEN zawiera bogatą listę parametrów, umożliwiajacą między innymi zadeklarowanie postaci zapisu danych na dysk. W różnych dziedzinach nauki spotykamy się z koniecznościa rozwiązania dużych ukłdów równiań liniowych. Rozwiązania takie skłdaja się zazwyczaj z dwóch etapów: eliminacji wprost uzyskania ostatecznego rozwiązania wstecz
23 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 22 4 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 4.1 Równanie falowe - postać numeryczna Postać numeryczna równania falowego 14 : Warunki brzegowe: u tt (x, t) = c 2 u xx (x, t) dla 0 < x < a i 0 < t < b (1) Dokonujemy dyskretyzacji po czasie: oraz u(0, t) = 0 i u(a, t) = 0 dla 0 t b, (2) u tt (x, t) = u(x, 0) = f(x) dla 0 x a, (3) u t (x, 0) = q(x) dla 0 < x < a. (4) u(x, t + k) 2u(x, t) + u(x, t k) k 2 + O(k 2 ) (5) u(x + h, t) 2u(x, t) + u(x h, t) u xx (x, t) = + O(h 2 ) (6) h 2 Następnie rozwiązujemy równość 15 : u i,j+1 2u i,j + u i,j 1 k 2 Podstawiająć do równania (7) r = ck h = c 2 u i+1,j 2u i,j + u i 1,j h 2 (7) otrzymujemy: Ostatecznie otrzymujemy: u i,j+1 2u i,j + u i,j 1 = r 2 (u i+1,j 2u i,j + u i 1,j ) (8) u i,j+1 = (2 2r 2 )u i,j + r 2 (u i+1,j + u i 1,j ) u i,j 1 (9) Z wykorzystaniem tych pomocnych równań stworzyłem program do równania falowego napisany w języku Fortran, który znajduje się w następnym podrodziale. 14 J. H. Mathews and K. D. Fink, Numerical MethodsUsing MATLAB (3rd Edition), Prentice Hall M.Motyka, Symulacje komputerowe w fizyce, Wydawnictwo Helion, Warszawa 2002
24 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 23 Kompilator jaki wykorzystałem do napisania mojego programu równania falowego nosi nazwę Silverfrost FTN95. Jest ona program konsolowym przeznaczonym głownie do programowania w języku Fortran 90/95, ale można w nim pisać również programy w C++ czy Javie. Kompilator Silverfrost FTN95, który uwalnia nas od czarno-białego okienka MS-DOSa. Co daje nam ten kompilator? Otóż proszę państwa daje nam Plato3 IDE!(rys. 1) IDE to Zintegrowane środowisko programistyczne, a to znaczy że mamy do czynienia z zespołem aplikacji, wspomagających programowanie tak, a żeby stało się ono proste i przyjemne. Plato posiada to co każde szanujące się IDE powinno posiadać, czyli np. kolorowanie składni, wbudowany kompilator czy niekończące się cofnij. Rysunek 1: Wygląd kompilatora
25 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO Program rozwiązujący równanie falowe Program rf implicit none interface function Fi(i,H) result(y) implicit none integer,intent(in):: i real,intent(in) :: H real :: arg real :: y end function Fi function Gi(i,H) result(y) implicit none integer,intent(in):: i real,intent(in) :: H real :: arg real :: y end function Gi end interface integer :: i,j real :: X, T real:: C integer :: N, M real :: K, R, H, R2, R22, S1, S2 real,dimension(1000,1000)::u! Liczniki dla pętli! maximum x i maximum t! Stała rówania falowego! Wymiar siatki! Pomocnicze równania! Siatka-Amplitudy write(*,*) Skończona-różnica rozwiązania równania falowego - write(*,*)!proces wprowadzania danych przez użytkownika write(*,*) Podaj X (Przedział graniczny dla x) write(*,*) write(*,*) Dla przykładu : 1 write(*,*) read(*,*)x write(*,*) Podaj T (Przedział graniczny dla t) write(*,*)
26 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 25 write(*,*) Dla przykładu : 0.5 write(*,*) read(*,*)t write(*,*) Wprowadziłes X =,X, T =, T write(*,*) write(*,*) write(*,*) Proszę wprowadzić wymiar siatki dla x-kierunek : write(*,*) write(*,*) Dla przykładu : 20 write(*,*) read(*,*)n write(*,*) Proszę wprowadzić wymiar siatki dla y-kierunek : write(*,*) write(*,*) Dla przykładu : 30 write(*,*) read(*,*)m write(*,*) Wprowadziłeś N =,N, M =,M write(*,*) write(*,*) Proszę wprowadzić stała równania falowego : write(*,*) write(*,*) Dla przykładu : 2 write(*,*) read(*,*)c write(*,*) Wprowadziłeś C =,C write(*,*)!stałe stworzone H = X / ( N - 1 );!delta x K = T / ( M - 1 );!delta t R = C * K / H; R2 = R * R; R22 = R * R / 2.0; S1 = R * R; S2 = * R * R;
27 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 26!Otoczenie graniczne do j=1,m,1 U(1,j)=0!ustalone U(N,j)=0!ustalone end do!rozwiązania dla t=t 0 i t=t 1 do i=2,n-1,1 U(i,1)=Fi(i,H) U(i,2)=S1 * Fi(i,H) + K * Gi(i,H) + R22 * ( Fi(i+1,H) + Fi(i-1,H) ) end do!iteracje w czasie petla1: do j=3,m,1 petla2: do i=2,n-1,1 U(i,j) = S2 * U(i,j-1) + R2 * ( U(i-1,j-1) + U(i+1,j-1) )- U(i,j-2) end do petla2 end do petla1!wynik rozwiązania na ekran petla1: do j=1,m,1 write(*,*)(k * (j - 1)) petla2: do i=1,n,1 write(*,*) krok,i, ==,U(i,j) end do petla2 end do petla1 open(unit=2,file= wyniki.txt,status= new )!Wynik rozwiazania do pliku petla1: do j=1,m,1 write(2,*)(k * (j - 1)) petla2: do i=1,n,1 write(2,*)u(i,j) end do petla2 end do petla1 End Program rf
28 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 27!Siatka funkcji dla amplitudy function Fi(i,H) result(y) implicit none integer :: i real :: x i real :: y,h arg = H * (i - 1) if( (x i >= 0).and. (x i <= 1.0) ) then y=sin ( * x i) else write (*,*) Fi() :Argument poza zasięgiem! Wyjście! write (*,*) x i :, x i end if return end function Fi!Funckja siatki dla szybkości function Gi(i,H) result(y) implicit none integer :: i real :: x i real :: y,h arg = H * (i - 1) if( (x i >= 0).and. (x i <= 1.0) ) then y=0 else write (*,*) Gi() :Argument poza zasięgiem! Wyjście! write (*,*) x i :, x i end if return end function Gi Program [równanie falowe] jest podzielony na kilka części, a ja postaram się jak najbardziej przybliżyć te części. Mianowicie pierwsza cześć programu to jest program główny, gdzie zawarte są najważniejsze elementy programu. Druga nie mniej ważna to funkcji (funkcja Fi i Gi )zdefiniowane poza programem głównym. Pierwsza z funkcji czyli Fi odpowiada za wielkość siatki kartezjańskiej dla amplitudy, natomiast druga z funkcji Gi odpowiada za szybkość rozchodzenia się fali. Obie funkcje pobierają licznik
29 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 28 pierwszej pętli (i) oraz zmienną pomocniczą (H) oraz zwracają y. Zarówno w funkcji Fi i Gi obliczana jest wartość x i i sprawdzane czy mieści się w przedziale <0,1>, jeżeli tak to wykonywane są określone działania. W pierwszej części programu głównego są zdefiniowane prototypy funkcji jakie zostały opisane poza nim, aby program mógł z nich skorzystać w celu poprawnego działania. Dalej są zdefiniowane potrzebne zmienne do działania programu m.in. maximum x i t czy stała równani falowego. Kolejna cześć programu jest już typowo wizualna ponieważ jej zadanie jest wyświetlenie na ekranie tego czego będzie potrzebował program do obliczenia równania falowego. W dalszej części są stworzone zmienne pomocnicze służące do prostszego zapisu programu i nie pogubienia się w nim podczas tworzenia. Po tej części mamy serce programu, w którym wyróżnione są dwie pętle po j i po i oraz trzecia najważniejsza pętla podwójna w której będzie dokonywało się sedno obliczeń i tworzenie fal. Ostatnia część programu to przestawienie wyników na ekran i zapis do pliku tych że wyników. Program ten jak już wyżej wspomniałem jast napisany przy wykorzystaniu równań z podroziału(4.1), bez których ciężko by mi było go napisać. Chciałbym przedstawić opis programu, który działa w ten sposób, że wpierw trzeba wprowadzić kolejne zmienne: 1. warunków brzegowych (A,B) (Rysunek 2) 2. wielkość siatki (N,M) (Rysunek 3) 3. prędkość z jaką fala ma się poruszać(c) (Rysunek 3) Rysunek 2: Wprowadzenie zmiennych A i B
30 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 29 Rysunek 3: Wprowadzenie zmiennych N, M, C Ostatecznie mamy wynik programu po wprowadzonych danych(rysunek 4) Rysunek 4: Wynik programu
31 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 30 Na podstawie powyższych rysunków przestawiających działanie mojego programu można jednoznacznie stwierdzić czy program działa poprawnie czy też nie. Jednakże chcąc obalić wszelkiego rodzaju spekulacje na ten temat posłużę się dodatkowym programem do zwizualizowania moich danych, a mianowicie programem gnuplot. Gnuplot 16 - program do tworzenia wykresów w 2 i 3 wymiarach. Praca z programem odbywa się w wierszu poleceń lub trybie wsadowym. Domyślnie ustawiony jest terminal x11 (rys. 5). Rysunek 5: Gnuplot terminal Dzięki temu, że program [równanie falowe] zapisuje swoje wyniki działania do pliku tekstowego (wyniki.txt), można w bardzo łatwy sposób przenieść te wyniki do programu gnuplot. Wystarczy tylko za pomocą opcji open wyznaczyć ścieżkę bezwzględną do pliku wyniki.txt tam, gdzie został on zapisany (rys. 6). 16
32 NUMERYCZNE ROZWIĄZANIE RÓWNANIA FALOWEGO 31 Rysunek 6: Wyznaczanie ścieżki do pliku wyniki.txt Ostatecznie otrzymujemy wykres na podstawie pliku wyniki.txt.(rys. 7) Rysunek 7: Rozwiazanie dla czasu t=0.5
33 PODSUMOWANIE I WNIOSKI 32 5 Podsumowanie i wnioski Program do obliczania równania falowego tylko potwierdza fakt, że język programowania jakim jest Fortran 90/95 jaki samo programowanie w tym języku jest przeznaczone dla osób dosyć dobrze znających się na matematyce, fizyce czy innych naukach ścisłych. Tylko po to, aby w pełni wykorzystać możliwości jakie drzemią w tym języku. Fortran jest używany od blisko pięćdziesięciu lat i jest on powszechnie stosowany przy prowadzeni przede wszystkim obliczeń numerycznych, co nikogo nie dziwi. Obliczenia aerodynamiczne samolotów, wytrzymałości ich struktur czy obliczenia cieplne, prowadzone są wyłącznie w tym języku. Podczas pisania programu dostrzegłem wiele zalet tego języka, a mianowicie: prostota zapisu, szybkość obliczeń oraz bezpieczeństwo. Co rozumiem przez bezpieczeństwo? Jeżeli chodzi o język Fortran to kompilator w jakim pracowałem bardzo rygorystycznie kontrolował poprawność użycia typów zmiennych, przekroczenia zakresów tablic czy przenoszenia informacji między programem głównym a procedurami. Z jednej strony może trochę ogranicza to możliwość języka, ale z drugiej strony chroni to przed niekiedy poważnymi konsekwencjami pomyłek. W przypadku złożonych struktur, do których możemy zaliczyć równanie falowe, jest to ogromną zaletą. Kończąc nasuwa się prosty wniosek, jeżeli ktoś nauczy się programować w języku Fortran poprzez, chociażby napisanie takiego złożonego programu jak równanie falowe na pewno mu się to przyda. Poszerzy swoją wiedzą o język programowania, który może wykorzystać niezliczonych ilościach zastosowań.
34 LITERATURA 33 6 Literatura [1] D.Chrobak, FORTRAN Praktyka Programowania, Wydawnictwo MIKOM, Warszawa 2003 [2] J. R. Piechna, Programowanie w języku Fortran 90 i 95 Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 2000 [3] J. H. Mathews and K. D. Fink, Numerical Methods Using MATLAB (3rd Edition), Prentice Hall 1999 [4] E. B. James, F. O Brien, P. Whitehead, Fortran kurs programowania, Wydawnictwo WNT, 1974 [5] Oliveira, Writing Scientific Software, Wydawnictwo Cambridge University Press, 2006 [6] M.Motyka, Symulacje komputerowe w fizyce, Wydawnictwo Helion, Warszawa 2002 [7] [8] adam/fortran/ [9] aniat/fortran90/ [10] [11] [12]
1 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ółowoProgramowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
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ół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ółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoWykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
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ółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoPodstawy programowania w C++
Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują
Bardziej szczegółowoJęzyki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Bardziej szczegółowoPascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoProgramowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
Bardziej szczegółowoCw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Bardziej szczegółowoElementy języków programowania
Elementy języków programowania Olsztyn 2007-2012 Wojciech Sobieski Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone
Bardziej szczegółowoNiezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.
Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą
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ół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ółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowo1 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki
Bardziej szczegółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoPodstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest
Bardziej szczegółowoProgramowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
Bardziej szczegółowoMathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
Bardziej szczegółowoFortran 90/95 wykład 1
Fortran 90/95 wykład 1 Janusz Andrzejewski 05/03/13 PLAN Historia Co złego w FORTRANie 77 Co nowego w Fortranie 90/95 Nowy styl Typy danych, deklaracja zmiennych i stałych Struktury danych Przekazywanie
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoPodstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji
Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw
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ółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoAKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk
Bardziej szczegółowoTABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.
Złożone typy danych - TABLICE TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych. * Może przechowywać dowolny typ danych, typ
Bardziej szczegółowofor (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Bardziej szczegółowoJęzyki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Bardziej szczegółowoWidoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
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ółowoDefinicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Bardziej szczegółowoPodstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Bardziej szczegółowoMatlab Składnia + podstawy programowania
Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe
Bardziej szczegółowoWprowadzenie do programu Mathcad 15 cz. 1
Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie
Bardziej szczegółowoJAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
Bardziej szczegółowoProgramowanie w języku C++ Grażyna Koba
Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad
Bardziej szczegółowoWykresy i interfejsy użytkownika
Wrocław, 07.11.2017 Wstęp do informatyki i programowania: Wykresy i interfejsy użytkownika Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Instrukcje sterujące Biblioteka
Bardziej szczegółowo2. Zmienne i stałe. Przykłady Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117).
2. Zmienne i stałe Przykłady 2.1. Napisz program, który wypisze na ekran wynik dzielenia 281 i 117 w postaci liczby mieszanej (tj. 2 47/117). 5 int a = 281; int b = 117; 7 8 cout
Bardziej szczegółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowofor (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Bardziej szczegółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowo1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Bardziej szczegółowoWydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 1 Programowanie 1 Program wykładu Struktura programu Instrukcja przypisania Wprowadzanie danych Wyprowadzanie wyników Instrukcja
Bardziej szczegółowoInstrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.
Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania
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ółowoInstytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoLogarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.
Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne. Definicja. Niech a i b będą dodatnimi liczbami rzeczywistymi i niech a. Logarytmem liczby b przy podstawie
Bardziej szczegółowoInstrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:
Instrukcje sterujące wer. 11 z drobnymi modyfikacjami! Wojciech Myszka 2017-07-05 10:53:09 +0200 Ala ma kota Część I Prosty przykład Problem 1. Zadanie polega na tym, żeby opracować algorytm który dla
Bardziej szczegółowoJęzyki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Bardziej szczegółowoObliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
Bardziej szczegółowoInformatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski
Informatyka- wykład Podstawy programowania w Pythonie dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 23 listopada 2015 r. JĘZYK PYTHON Język Python jest
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoJęzyki Programowania. Elementy języków programowania. Wojciech Sobieski
Języki Programowania Elementy języków programowania Wojciech Sobieski Olsztyn, 2001-2016 Definicja Elementy języków programowania cechy i funkcjonalności charakterystyczne dla różnych (tu: arytmetycznych)
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoPoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Bardziej szczegółowoTablice. Jones Stygar na tropie zmiennych
Tablice Jones Stygar na tropie zmiennych Czym jest tablica? Obecnie praktycznie wszystkie języki programowania obsługują tablice. W matematyce odpowiednikiem tablicy jednowymiarowej jest ciąg (lub wektor),
Bardziej szczegółowoInformatyka I: Instrukcja 4.2
Informatyka I: Instrukcja 4.2 1 Wskaźniki i referencje - bezboleśnie Nauczyliśmy się do tej pory, że funkcje w języku C mogą zwracać wartość. Co jednak, gdybyśmy chcieli napisać funkcję, która rozwiąże
Bardziej szczegółowoTechnologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Bardziej szczegółowoPolitechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium cyfrowej techniki pomiarowej Ćwiczenie 4 Zapis danych do pliku w programie LabVIEW 1. Zapis i odczyt sygnałów pomiarowych Do zapisu
Bardziej szczegółowoLaboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoPodstawy Programowania Algorytmy i programowanie
Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoElementy metod numerycznych - zajęcia 9
Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie
Bardziej szczegółowoLibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Bardziej szczegółowoPętle. Dodał Administrator niedziela, 14 marzec :27
Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać
Bardziej szczegółowoZapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
Bardziej szczegółowoWprowadzenie do Mathcada 1
Wprowadzenie do Mathcada Ćwiczenie. - Badanie zmienności funkcji kwadratowej Ćwiczenie. pokazuje krok po kroku tworzenie prostego dokumentu w Mathcadzie. Dokument ten składa się z następujących elementów:.
Bardziej szczegółowoSUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 3. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,
SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Wykład 3 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania Przykład Bingo 2 Treść przykładu Jak wygląda karta do
Bardziej szczegółowoPython wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
Bardziej szczegółowoPodstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk
Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał
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ół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ółowoWprowadzenie do programowania w języku FORTRAN
Wprowadzenie do programowania w języku FORTRAN Wprowadzenie Fortran jest językiem programowania zorientowanym głównie na zagadnienia matematyczne i zastosowania inżynierskie. Nazwa jest akronimem słów
Bardziej szczegółowoC++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Bardziej szczegółowoLaboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Bardziej szczegółowoProgramowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
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ółowoJęzyki formalne i techniki translacji
Języki formalne i techniki translacji Laboratorium - Projekt Termin oddania: ostatnie zajęcia przed 17 stycznia 2016 Wysłanie do wykładowcy: przed 23:59 28 stycznia 2016 Używając BISON-a i FLEX-a napisz
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoPrzykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!
Scilab jest środowiskiem programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym do MATLABa oraz jego darmowego
Bardziej szczegółowoInformatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki
Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu
Bardziej szczegółowoINFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Bardziej szczegółowoLiczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
Bardziej szczegółowoWykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2
Temat wykładu: Wykorzystanie programów komputerowych do obliczeń matematycznych, cz. 2/2 Kody kolorów: żółty nowe pojęcie pomarańczowy uwaga kursywa komentarz * materiał nadobowiązkowy 1 Przykłady: Programy
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoJAVAScript w dokumentach HTML (1)
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript
Bardziej szczegółowo