Skip to content
Snippets Groups Projects
Commit cd7b4021 authored by dali662d's avatar dali662d
Browse files

Upload New File

parent 2ff4e0d4
No related branches found
No related tags found
No related merge requests found
! Eine kurze Übersicht über die Arten von Schleifen in Fortran
program do_loops
implicit none
INTEGER :: i, j ! Zählvariabelen
INTEGER :: start = 0, end = 10, step = 2
!!! Zählschleifen !!!
! Allgemeine Struktur :
! DO zählvariable = start, end, step
! content
! END DO
! i wird im ersten Durchlauf auf start gesetzt
! und erhöht sich in jedem Duchlauf um step
! step ist Standartmäßig 1
! Schleife läuft bis i >= end
!! Zählvariable darf in der Schleife nicht geändert werden
DO i = 1, 4 ! gibt die ganzen Zahlen 1 bis 4 aus
WRITE(*,*) i
END DO
WRITE(*,*) ! Leerzeile in Ausgabe
DO i = 0, 10, 2 ! gibt alle geraden Zahlen von 0 bis 10 aus
WRITE(*,*) i
END DO
WRITE(*,*) ! Leerzeile in Ausgabe
DO i = start, end, step ! Start, End und Step können auch Variablen sein
WRITE(*,*) i
END DO
WRITE(*,*) ! Leerzeile in Ausgabe
DO i = 5, 1, -1 ! gibt alle ganzen Zahlen von 5 bis 1 aus
WRITE(*,*) i
END DO
WRITE(*,*) "press enter to continue"
READ(*,*)
!!! DO WHILE !!!
! Allgemeine Struktur :
! DO WHILE (austrittsbedingung)
! content
! END DO
! Schleife läuft solange die Austrittsbedingung wahr ist
! Prüft die Austrittsbedingung immer am Anfang der Schleife
!! Falls Austrittsbedingung nie falsch wird hat man unendliche Schleife
!! Dringend Vermeiden !!
i = 1
DO WHILE (i <= 5) ! Gibt die Zahlen 1 bis 5 aus
WRITE(*,*) i
i = i + 1
END DO
WRITE(*,*) ! Leerzeile in Ausgabe
i = 1
DO WHILE (i <= 2**4) ! Gibt die ersten 5 Zweierpotenzen aus
WRITE(*,*) i
i = i * 2
END DO
!!! folgendes immer vermeiden :
!i = 1
!DO WHILE (i /= 0) ! Unendliche Schleife, i wird niemals 0
! i = i + 1
!END DO
WRITE(*,*) ! Leerzeile in Ausgabe
!!! DO mit IF-EXIT Austrittsbedingung !!!
! mit EXIT kann man aus einer Schleife austreten
! Diese kann iA überall in der Schleife stehen
!! Immer zusammen mit IF verwenden
i = 1
DO ! Zählt von 1 bis 5
i = i + 1
IF (i > 5) EXIT
WRITE (*,*) i
END DO
WRITE(*,*) ! Leerzeile in Ausgabe
!!! Nisten
! Die innere Schleife muss komplett innerhalt der äußeren Schleife stehen
! Bei Zählschleifen müssen unterschiedliche Zählvariablen genutzt werden
DO i = 1, 3
DO j = 1, 2
WRITE(*,*) i, j
END DO
END DO
end program do_loops
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment