Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
PROG-material-public
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Yue Wu
PROG-material-public
Commits
cd7b4021
Commit
cd7b4021
authored
1 year ago
by
dali662d
Browse files
Options
Downloads
Patches
Plain Diff
Upload New File
parent
2ff4e0d4
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Sonderuebung/WiSe23-24/01_DO_loops_overview.f95
+112
-0
112 additions, 0 deletions
Sonderuebung/WiSe23-24/01_DO_loops_overview.f95
with
112 additions
and
0 deletions
Sonderuebung/WiSe23-24/01_DO_loops_overview.f95
0 → 100644
+
112
−
0
View file @
cd7b4021
! 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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment