KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN 90/95 – cz II Adam FIC INSTYTUT TECHNIKI CIEPLEJ.

Slides:



Advertisements
Podobne prezentacje
27/09/ Języki programowania 1 Piotr Górczyński Operatory.
Advertisements

Systemy czasu rzeczywistego
Mgr inż.Marcin Borkowski Podstawy Java Część II
Architektura systemów komputerowych
Metody Analizy Programów Wykład 02
Elektrotechnika Test z laboratorium
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
Logiki (nie)klasyczne
OBJECT PASCAL Marzena Szałas.
ZŁOŻONOŚĆ OBLICZENIOWA
OPERATORY WYSZUKIWAWCZE
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.
Systemy czasu rzeczywistego Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Budowa komputera Wstęp do informatyki Wykład 15
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 2: Język bazy danych - SQL Proste zapytania.
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.
Układy logiczne kombinacyjne sekwencyjne
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.
Topologie wirtualne Topologia wirtualna: zadany schemat połączeń pomiędzy procesorami; inaczej mówiąc schemat ich wzajemnego sąsiedztwa. W MPI można określić.
PASCAL Dr Anna Kwiatkowska.
Google – sposoby wyszukiwania
Semafory.
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN 90/95 – c.d. Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN - wprowadzenie Adam FIC INSTYTUT TECHNIKI CIEPLEJ.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Metody Matematyczne w Inżynierii Chemicznej Wprowadzenie do laboratorium.
Język SQL (Structured Query Language) DDL (Data Definition Language)
Bibliografia Geologiczna Polski Baza danych
PROGRAMOWANIE STRUKTURALNE
Structured Query Language
Programowanie w języku Fortran 95
OPERACJA DZIELENIA W SQL
Strategia skutecznego szukania informacji w Internecie
Efektywność zdawania egzaminu zawodowego w ZSP w Bytowie w roku szkolnym 2008/2009.
MS ACCESS Kwerendy.
Podstawy programowania w języku C i C++
Funkcje logiczne i ich realizacja. Algebra Boole’a
Wyrażenia w Turbo Pascalu.
Podstawy programowania
Formuły i funkcje w excelu
wykresy, formatowanie warunkowe, analiza danych, Solver, komentarze
Programowanie strukturalne i obiektowe
C# Platforma .NET CZ.3 Kuba Ostrowski.
Instrukcja warunkowa i wyboru
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Wykład 10 typ zbiorowy rekurencja.
Wykład 3 przykłady operacje na tekstach wyrażenia logiczne
Nowe technologie w edukacji
Podstawy programowania
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Bramki logiczne i układy kombinatoryczne
URZĄDZENIA TECHNIKI KOMPUTEROWEJ
Generowanie kodu pośredniego
Przegląd konstrukcji języka OCL
Podstawy programowania (1)
PODSTAWY ADRESOWANIA IP W SIECIACH KOMPUTEROWYCH LEKCJA 2: Adresowanie bezklasowe Dariusz Chaładyniak.
PHP Instrukcja warunkowa if Damian Urbańczyk. Warunek? Instrukcję warunkową wykorzystujemy wtedy, gdy chcemy sprawdzić pewien fakt, który może być prawdziwy.
Podstawowe struktury danych. Typy danych.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy kombinacyjne.
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Instrukcje wyboru.
Dane, zmienne, instrukcje
Rekurencja Ponieważ w Haskellu nie mamy klasycznych pętli for czy while dlatego w wielu algorytmach musimy używać rekurencji.
Instrukcja warunkowa if
Matematyka i zajęcia komputerowe z elementami języka angielskiego
Zapis prezentacji:

KOMPUTEROWE WSPOMAGANIE PRAC BADAWCZYCH FORTRAN 90/95 – cz II Adam FIC INSTYTUT TECHNIKI CIEPLEJ

FORTRAN 90/95 Wyrażenia logiczne Operatory logiczne:.NOT..AND..OR..EQV. NEQV. Zapis wartości logicznych:.TRUE..FALSE.relacja Operatory relacji (w nawiasach obowiązujące w FORTRANie 77): (.GT.) >= (.GE.) == (.EQ.) /= (.NE.)

FORTRAN 90/95 Wyrażenia logiczne Przykład REAL a REAL *8 b INTEGER l,j LOGICAL a1, b1, c, p, q, z, y a = 2. b = 26. a1 =. FALSE. b1 =.FALSE. c =.TRUE. p =.FALSE. q =.TRUE. l = 0 j = 2 z = a == 3..AND. b <26 y = a1.OR. b1.OR. c.AND. (p.OR. q).AND. ( l <1.AND. j ==7)

FORTRAN 90/95 Wyrażenia tekstowe Operatory tekstowe: // Zapis wartości tekstowych: Przykład tekstu INTEGER i CHARACTER a, d CHARACTER*2 b CHARACTER*3 c CHARACTER*4 e a = k b = ot c = a // b d = CHAR(121) e = c // d i = ICHAR(a) d y c kot e koty i 107

FORTRAN 90/95 Instrukcje sterujące - instrukcje GO TO (skoku) 2. Wyliczana instrukcja skoku GO TO (1, 2, 4, 10, 21, 100), j ASSIGN 20 TO k GO TO k, (1, 3, 10, 20) GO TO (et1, et2, et3,......), wyr_całkowite ASSIGN et TO zm_integer GO TO zm_integer [,] (et1, et2, et3,.....) 3. Przypisana instrukcja skoku 1. Bezwarunkowe instrukcje skoku GO TO et Przykłady GO TO 20 GO TO zm_integer ASSIGN et TO zm_integerASSIGN 20 TO k GO TO k Instrukcje STOP [tekst lub liczba] RETURN CALL

FORTRAN 90/95 Instrukcje sterujące - instrukcje IF (jeśli) Postać 1 IF (wyr_logiczne) THEN instrukcje ELSE instrukcje ENDIF Postać 2 IF (wyr_logiczne) THEN instrukcje ENDIF T F T F Postać 3 IF (wyr_logiczne) instrukcja

FORTRAN 90/95 Instrukcje sterujące - instrukcje IF (jeśli) IF(delta < 0. ) THEN WRITE(*,*) 'Brak pierwiastkow rzeczywistych' ELSE x1=(-b-SQRT(delta))/2./a x2=(-b+SQRT(delta))/(2.*a) WRITE(*,*) 'Pierwiastki trojmianu wynosza' WRITE(*,*) 'x1=',x1 WRITE(*,*) 'x2=',x2 ENDIF STOP 1 IF(b*b-4*a*c) 1, 2, 2 2 x1=(-b-SQRT(delta))/2./a x2=(-b+SQRT(delta))/(2.*a) WRITE(*,*) 'Pierwiastki trojmianu wynosza' WRITE(*,*) 'x1=', x1 WRITE(*,*) 'x2=',x2 GO TO 3 1 WRITE(*,*) 'Brak pierwiastkow rzeczywistych' 3 STOP 4 IF(delta < 0. ) GO TO 1 x1=(-b-SQRT(delta))/2./a x2=(-b+SQRT(delta))/(2.*a) WRITE(*,*) 'Pierwiastki trojmianu wynosza' WRITE(*,*) 'x1=', x1 WRITE(*,*) 'x2=',x2 GO TO 2 ENDIF 1 WRITE(*,*) 'Brak pierwiastkow rzeczywistych' 2 STOP 3 IF(delta >= 0. ) THEN x1=(-b-SQRT(delta))/2./a x2=(-b+SQRT(delta))/(2.*a) WRITE(*,*) 'Pierwiastki trojmianu wynosza' WRITE(*,*) 'x1=', x1 WRITE(*,*) 'x2=',x2 STOP ENDIF WRITE(*,*) 'Brak pierwiastkow rzeczywistych' STOP 2

FORTRAN 90/95 Instrukcja sterująca - instrukcje CASE (wyboru) Postać [nazwa_instr:] SELECT CASE (zm) CASE(wart_zm1) blok instrukcji 1 CASE(wart_zm2) [nazwa_instr] blok instrukcji CASE DEFAULT blok instrukcji spoza wymienionych wart_zm END SELECT Przykład SELECT CASE (i) CASE(1) a=1 CASE(2) a=2 CASE DEFAULT a=0 END SELECT Uwaga! Zmienna zm musi być INTEGER CHARACTER lub LOGICAL

FORTRAN 90/95 Instrukcje sterujące - instrukcje pętli (DO) Postać 1 [nazwa:] DO zm=wp, wk[, wsk] instrukcje [CYCLE nazwa pętli zewnętrznej] END DO [nazwa:] Postać 2 [nazwa:] DO instrukcje [CYCLE nazwa pętli zewnętrznej] IF(wyr_logiczne) EXIT END DO [nazwa:] Przykłady s=0. DO i=1,n s=s+x(i) ENDDO i=0 s=0. DO i=i+1 s=s+x(i) IF(i==n) EXIT ENDDO

FORTRAN 90/95 Instrukcje sterujące - instrukcja wywołania podprogramu (CALL) CALL nazwa_procedury [(par_akt1, par_akt2, )] [deklaracje] instrukcje [RETURN] SUBROUTINE nazwa_procedury [(par_form1, par_form2, )]nagłówek END [SUBROUTINE nazwa_procedury]koniec

FORTRAN 90/95 Instrukcje sterujące - instrukcja wywołania podprogramu (CALL) Przykłady PROGRAM pierw IMPLICIT NONE REAL a,b,c,delta,x1,x2 WRITE(*,*) 'Wczytaj wspolczynniki trojmianu READ(*,*) a,b,c delta=b*b-4.*a*c IF(delta<0.) THEN WRITE(*,*) 'Brak pierwiastkow rzeczywistych' ELSE x1=(-b-SQRT(delta))/2./a x2=(-b+SQRT(delta))/(2.*a) WRITE(*,*) 'Pierwiastki trojmianu wynosza' WRITE(*,*) 'x1=',x1 WRITE(*,*) 'x2=',x2 ENDIF STOP END PROGRAM pierw IMPLICIT NONE INTEGER k REAL a1,a2,a3,delta,t1,t2 WRITE(*,*) 'Wczytaj wspolczynniki trojmianu' READ(*,*) a1, a2, a3 CALL pierw_tr (a1, a2, a3, t1, t1, k) IF(k == 0) THEN WRITE(*,*) 'Brak pierwiastkow rzeczywistych' ELSE WRITE(*,*) 'Pierwiastki trojmianu wynosza' WRITE(*,*) 't1=',t1 WRITE(*,*) 't2=',t2 ENDIF STOP END SUBROUTINE pierw_tr (a, b, c, x1, x2, k) INTEGER k REAL a,b,c,delta,x1,x2 delta=b*b-4.*a*c IF(delta < 0.) THEN k=0 ELSE x1=(-b-SQRT(delta))/2./a x2=(-b+SQRT(delta))/(2.*a) k=1 ENDIF END

FORTRAN 90/95 Definicja i wywołanie segmentów FUNCTION [deklaracje] instrukcje nazwa_funkcji = wyrażenie [RETURN] [dekl_typu] FUNCTION nazwa_funkcji [(par_form1, par_form2, )]nagłówek END [FUNCTION nazwa_funkcji]koniec zm = wyr_pr op nazwa_funkcji [(par_akt1, par_akt2, )] Podprogramy lokalne: CONTAINS Definicja podprogramu (ów) Wersja 1 Łączniki: INTERFACE Nagłówek segmentu 1 Deklaracje Zakończenie segmentu END INTEFACE

FORTRAN 90/95 Definicja i wywołanie segmentów FUNCTION [deklaracje] instrukcje w = wyrażenie [RETURN] [dekl_typu] FUNCTION nazwa_funkcji [(par_form1, par_form2,..)] RESULT (w)nagłówek END [FUNCTION nazwa_funkcji] koniec zm = wyr_pr op nazwa_funkcji [(par_akt1, par_akt2,..)] Wersja 2

FORTRAN 90/95 Segmenty FUNCTION - przykład PrzykładObliczyć y = 1. * silnia(n+k) / silnia(k+2) z = f(y) ! f –zdefiniowana funkcja CONTAINS FUNCTION f(x) REAL f,x f = SQRT(x) + x END FUNCTION END INTEGER FUNCTION silnia (m) INTEGER m,i,ns ns = 1 DO i = 1, m ns = ns * i END DO silnia = ns END