Wyrażenia Wyrażenie w Fortranie jest poprawną syntaktycznie kombinacją zmiennych, stałych, operatorów i funkcji. Wyrażenia są jednozdaniowymi przepisami.

Slides:



Advertisements
Podobne prezentacje
Funkcje matematyczne Microsoft Office 2003 Exel.
Advertisements

Tablice 1. Deklaracja tablicy
Język C/C++ Funkcje.
RYS HISTORYCZNY W latach 70tych na zlecenie National Science Fundation powstały pierwsze biblioteki fortranowskie do obliczeń numerycznych. Jeden z.
Wzorce.
UKŁADY ARYTMETYCZNE.
Dyrektywy preprocesora Jeżeli plik źródłowy posiada rozszerzenie.F lub.FOR, może on zawierać dyrektywy dla preprocesora. Na podstawie tych dyrektyw preprocesor.
Wprowadzenie do języka C/C++
typy całkowite (całkowitoliczbowe)
PROGRAMOWANIE STRUKTURALNE
WYKŁAD 2 SYSTEMY EKSPERTOWE cz.2.
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ć jako.
ZŁOŻONOŚĆ OBLICZENIOWA
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Ćwiczenie (1) Dostosuj poniższy program do wymogów programu zaliczeniowego #include typedef struct{ char imie[30]; char nazwisko[50]; int rokUrodzenia;
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Typy standardowe Typ Boolean Typ Integer Typ Float Typ Character Operacje wejścia-wyjścia.
Podstawy programowania
Wykład 2 struktura programu elementy języka typy zmienne
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.
Opcje kompilatora g77 g77 [opcje] pliki_źródłowe Opcje: -c tylko kompilacja bez linkowania -S kompilacja do kodu assemblera -E tylko pre-processing -o.
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
PASCAL Dr Anna Kwiatkowska.
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Wprowadzenie do programowania w języku Turbo Pascal
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN - wprowadzenie Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN 90/95 – cz II Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Matematyka wokół nas Równania i nierówności
Programowanie w języku Fortran 95
AWK Zastosowania Informatyki Wykład 1 Copyright, 2003 © Adam Czajka.
Podstawy programowania
Podstawy informatyki (4)
SQL – podstawowe funkcje
Jerzy F. Kotowski1 Informatyka I Wykład 9 TABLICE PREPROCESOR OPERATORY c.d. (nie tylko binarne)
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
Programowanie w języku Matlab
Programowanie strukturalne i obiektowe
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Wyrażenia w Turbo Pascalu.
Podstawy programowania
5 Etapów Pracy Kompilatora
Początek, koniec lub przerwanie algorytmu
Liczby całkowite dodatnie BCN
Przykładowy algorytm geometryczny (geometria płaska)
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Kurs języka C++ – wykład 9 ( )
Podstawy programowania
Podstawy języka Instrukcje - wprowadzenie
Podstawy programowania
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
Generowanie kodu pośredniego
Zmienne i typy danych w C#
Wybrane aspekty programowania w C++ (i nie tylko)
Zasady arytmetyki dwójkowej
Typy liczbowe, zmienne, operatory Zajęcia 4. Zmienne Zmienna – to w programowaniu element programu, który może mieć przypisaną pewną wartość (wartość.
Podstawy programowania
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Dokumentacja programu komputerowego i etapy tworzenia programów.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Wstęp do Informatyki - Wykład 6
Programowanie obiektowe – zastosowanie języka Java SE
Przykładowy algorytm geometryczny (geometria płaska)
Dane, zmienne, instrukcje
Zapis prezentacji:

Wyrażenia Wyrażenie w Fortranie jest poprawną syntaktycznie kombinacją zmiennych, stałych, operatorów i funkcji. Wyrażenia są jednozdaniowymi przepisami na obliczanie/tworzenie jakichś wartości. Typy wyrażeń: arytmetyczne logiczne łańcuchowe Przykłady wyrażeń: 2.0+sqrt(x**3)+log(x) ! Wyrażenie arytmetyczne A1.GT. A2.OR. DELTA.LT. 0 ! Wyrażenie logiczne 3HAla//1H //ma kota ! Wyrażenie łańcuchowe

Operatory działają na operandy Unarne (jeden operand) Binarne (dwa operandy) Arytmetyczne (4 działania ) Relacyjne (dla liczb lub dla łańcuchów) Logiczne Bitowe Łańcuchowe Operatory w Fortranie

Wynik operacji binarnej ma zawsze typ najwyższy z typów operandów np. operandy typów REAL*8 i INTEGER dają REAL*8 W przypadku typów liczbowych mamy hierarchię INTEGER<REAL<COMPLEX Hierarchia operandu tego samego typu jest tym wyższa im więcej bajtów zajmuje operand np. INTEGER*1 < INTEGER*2 < INTEGER*4)

Operatory arytmetyczne (operandy muszą być INTEGER, REAL lub COMPLEX) OperatorZnaczenie -azmiana znaku a+bdodawanie a-bodejmowanie a*bmnożenie a/b Dzielenie albo dzielenie całkowite jeżeli oba operandy są INTEGER a**bPodnoszenie a do potęgi b Priorytet: **>*>+/->zmiana znaku

Niektóre użyteczne funkcje arytmetyczne ABS(X)|X| MAX(X1,X2,…)Największa spośród X1,X2,… MIN(X1,X2,…) MOD(X1,X2)Reszta z dzielenia całkowitego SIGN(X1,X2)Przeniesienie znaku z X2 na X1: |X1|*sign(X2) SQRT(X) SIN(X)sin(X) COS(X)cos(X) TAN(X)tg(X) ASIN(X)arcsin(X) ACOS(X)arccos(X) ATAN(X)arctan(X) ATAN2(X,Y)arctan(X/Y) LOG(X)ln(X) LOG10(X)log 10 (X)

Użycie nazw funkcji podanych w tabelce jest na ogół bezpieczne ponieważ typ funkcji dostosowuje się do najwyższego typu argumentu; np. SIN(1.0d0) automatycznie zostanie obliczony dla argumentu podwójnen precyzji. Dla przejrzystości i przenaszalności warto jednak uwzględniać typ funkcji: 1.Obowiązuje reguła pierwszej litery, czyli MIN jest typu INTEGER a SIN REAL. 2.Jeżeli funkcja o nazwie zaczynającej się na [I-N] ma być REAL to dodajemy na początku A, np. AMIN. Podobnie, dodanie I na początku nazwy nie zaczynającej się na [I-N] implikuje typ INTEGER (np. IABS zamiast ABS). 3.Jeżeli funkcja ma być podwójnej precyzji, dodajemy D, np. DSQRT. 4.Dla COMPLEX lub DOUBLE COMPLEX dodajemy odpowiednio C lub CD, np. CSQRT lub CDSQRT.

Przepełnienia, niedomiary, nieokreśloności WyjątekWynik Nadmiar np. 1.0D+100*1.0D+300 Inf lub –Inf (Infinity) Niedomiar np. 1.0D-100*1.0D Niedozwolone działanie np. SQRT(-1.0d0) NaN (Not a Number)

Operatory relacyjne X.GT.Y lub X>YWiększe niż X.LT.Y lub X<YMniejsze niż X.EQ.Y lub X==YRówne X.GE.Y lub X>=YWiększe lub równe X.LE.Y lub X<=YMniejsze lub równe X.NE.Y lub X/=YRóżne Operandy muszą być typów REAL lub INTEGER. Wynik działania operatora relacyjnego jest typu LOGICAL

Operatory logiczne.NOT.APrzeczenie A.AND.BKoniunkcja A.OR.BAlternatywa A.EQV.BRównoważność A.NEQV.BNierównoważność Operandy muszą być typu LOGICAL. Priorytet:.NOT. >.AND. > OR. >.EQV. =.NEQV.

Operatory łańcuchowe S1//S2Konkatenacja (łączenie) łańcuchów S1 i S2 S(n:) S(:n) S(n1:n2) Tworzenie podłańcucha S od pozycji n do końca Tworzenie podłańcucha S od pozycji 1 do n. Tworzenie podłańcucha S od pozycji n1 do n2.

Instrukcja podstawienia (przypisania) zmienna=wyrażenie Typ zmiennej musi być zgodny z typem wyrażenia, którego wartość jest przypisywana do tej zmiennej. Jeżeli zmienna jest typu niższego, niż wartość wyrażenia następuje konwersja to typu niższego; w przeciwnym wypadku do typu wyższego, np: I=SQRT(2.0) wynik: 1 X=2*3wynik: 6.0 X=(1.0,2.0)wynik: 1.0 Należy unikać pułapek, np.: X=2/3wynik: 0.0 (bo dzielenie liczb całkowitych jest dzieleniem całkowitym)

Kompilacja programu przy użyciu g77 (Gnu Fortran) f77 [opcje] [-o plik_wynikowy] pliki_wejściowe g77 [opcje] [-o plik_wynikowy] pliki_wejściowe Pliki wejściowe: Pliki źródłowe w Fortranie 77 (rozszerzenie.f lub.for) Pliki źródłowe w Fortranie 77 zawierające metakomendy dla kompilatora (rozszerzenie.F) Pliki w języku c lub C++ (rozszerzenia.c lub.C) Pliki w języku asemblera (rozszerzenie.s) Pliki zawierające moduły relokowalne w kodzie maszynowym Pliki wejściowe wymienia się jednym ciągiem po odstępach.

Typy plików wynikowych: Bez opcji: moduł wykonywalny (z atrybutem x); jeżeli nie podamy jego nazwy po –o nazywa się a.out Przykład:f77 –o hello hello.f Z opcją –c: moduł relokowalny; domyślnie nazywa się plik.o jeżeli plik źródłowy nazywał się plik.f Przykład:f77 –c hello.f Z opcją –s: tłumaczenie na język asemblera; domyślnie nazywa się plik.s jeżeli plik źródłowy nazywał się plik.f Przykład: f77 –S hello.f

Użyteczne opcje: -g wstawiana jest informacja ułatwiająca odrobaczenie programu -fbounds-checksprawdzanie indeksów tablic -ctylko kompilacja i asemblowanie -stylko kompilacja do języka asemblera -Etylko implementacja dyrektyw dla preprocesora --helpwydruk krótkiego samouczka