Einführung in die Programmierung



Ähnliche Dokumente
Erwin Grüner

Datentypen. Agenda für heute, 4. März, Pascal ist eine streng typisierte Programmiersprache

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Diana Lange. Generative Gestaltung Operatoren

Einführung in die C++ Programmierung für Ingenieure

Entwurf von Algorithmen - Kontrollstrukturen

Java-Programmierung mit NetBeans

Kontrollstrukturen, Strukturierte Programmierung

Kontrollstrukturen - Universität Köln

Dr. Monika Meiler. Inhalt

Einführung in die Programmierung (EPR)

Einführung in das Arbeiten mit MS Excel. 1. Bearbeitungs

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

I.1 Die Parrot Assemblersprache

Programmierung in C. Grundlagen. Stefan Kallerhoff

Prinzipien der Softwareentwicklung S. Strahringer

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Kontrollstrukturen und Funktionen in C

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Lua Grundlagen Einführung in die Lua Programmiersprache

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Programmierkurs Java

Programmieren mit PERL eine Einführung

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Graphic Coding. Klausur. 9. Februar Kurs A

Einführung in die Programmierung

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

Übungen Programmieren 1 Felix Rohrer. Übungen

1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester

1 Vom Problem zum Programm

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany

P r o g r a m m a b l a u f s t e u e r u n g

E-PRIME TUTORIUM Die Programmiersprache BASIC

Einführung in PHP. (mit Aufgaben)

Datenbanken Microsoft Access 2010

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Fallunterscheidung: if-statement

Grundlagen der Programmiersprache C++

Angewandte Mathematik und Programmierung

Mediator 9 - Lernprogramm

Übungen zu C++ Kapitel 1

Dokumentation IBIS Monitor

25 kann ohne Rest durch 5 geteilt werden! ist wahr

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Modul 122 VBA Scribt.docx

Dr. Monika Meiler. Inhalt

Einführung zum Arbeiten mit Microsoft Visual C Express Edition

VBA-Programmierung: Zusammenfassung

Prüfung Computation, Programming

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Institut für Programmierung und Reaktive Systeme 26. April Programmieren II. 10. Übungsblatt

Grundlagen der Theoretischen Informatik, SoSe 2008

Klausur in Programmieren

Grundlagen von C. Ausarbeitung von Jonas Gresens

Schritt 1. Schritt 1. Schritt 3. - Analysieren des Problems und Spezifizierung einer Lösung.

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Modellierung und Programmierung 1

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) stoyan@informatik.uni-erlangen.

Algorithmen mit Python

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

7 Rechnen mit Polynomen

Einführung in die Programmierung

Whitebox-Tests: Allgemeines

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

6.2 Scan-Konvertierung (Scan Conversion)

Auswahlabfragen mit ACCESS

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

IT-Basics 2. DI Gerhard Fließ

Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe

Multimedia im Netz Wintersemester 2011/12

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Die Programmiersprache C

Informatik Repetitorium SS Volker Jaedicke

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

C/C++ Programmierung

Übung 8: VB-Programmierung: Aufgabe

SOFiSTiK AG Installationsanleitung

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Anleitung zur Installation und Freischaltung der Signaturlösung S-Trust für Mitglieder der Rechtsanwaltskammer des Landes Brandenburg

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

MuPAD in Vorlesung und Übungen (12. Woche)

Transkript:

Einführung in die Programmierung Basiert auf dem Bioinformatik-Vorlesung der TU-Braunschweig Institute für Genetik, Mikrobiologie und Software U. Scholz & M. Lange Folie #9-1

Gliederung Rechneraufbau Algorithmen Programmiersprachen Programmiersprache Perl Operatoren Variablen/Funktionen U. Scholz & M. Lange Folie #9-2

Vorwort Ziel: - Verständnis des Funktionsprinzips von Software - Ausführen von Perl-Programmen - Lesen, Verstehen von Perl-Programmen - Umsetzung einfacher Perl-Programme Literatur: - James D. Tisdall: Einführung in Perl für Bioinformatik - Tom Christiansen, Nathan Torkington: Perl Kochbuch U. Scholz & M. Lange Folie #9-3

Rechneraufbau U. Scholz & M. Lange Folie #9-4

Quelle: Oliver Haase Uni Konstanz U. Scholz & M. Lange Folie #9-5

Quelle: Oliver Haase Uni Konstanz U. Scholz & M. Lange Folie #9-6

Quelle: Oliver Haase Uni Konstanz U. Scholz & M. Lange Folie #9-7

Quelle: Oliver Haase Uni Konstanz U. Scholz & M. Lange Folie #9-8

Steuerung eines Rechners Software: nichtphysische Funktionsbestandteile - Systemsoftware: Ablaufsteuerung der Hardware z. B. Betriebssysteme, Treiber, Interpreter - Anwendungssoftware: Lösung von Problemen, die nicht ursächlich mit Rechnern zu tun haben z. B. Textverarbeitungsprogramme, Datenbanken, Web-Browser, Bioinformatiksoftware - Softwarewerkzeuge: Erstellung von System- und Anwendungsprogrammen - Daten - z. B. Textdatei, Bild, AA-Sequenz U. Scholz & M. Lange Folie #9-9

Algorithmen U. Scholz & M. Lange Folie #9-10

Algorithmen Ein Algorithmus ist eine Berechnungsvorschrift Die Berechnungen sind aus elementaren Operationen aufgebaut und besitzen Aus- und evtl. Eingabewerte Algorithmen sollen in der Regel terminieren - Ausnahmen: z. B. Betriebssysteme oder sogenannte reaktive Systeme. Determiniert: bei gleichen Eingabedaten stets gleichen Ausgabedaten U. Scholz & M. Lange Folie #9-11

Beispiel Algorithmus Kochrezept Plätzchen (Eingabe/Ausgabe) Eingabedaten - 200g Mehl - 100g Butter - 100g Zucker - 1 Priese Salz - 1 Ei Ausgabe - Plätzchen U. Scholz & M. Lange Folie #9-12

Beispiel Algorithmus Kochrezept Plätzchen (Ausführungsvorschrift) 1. Mehl auf Arbeitsplatte sieben 2. Magarine in Flöckchen auf dem Rand verteilen 3. Zucker und Salz darauf steuen 4. Verrühertes Ei in Vertiefung giessen 5. Verkneten 6. 30 min kalt stellen 7. Ausrollen, Ausstechen 8. 20 min Backen U. Scholz & M. Lange Folie #9-13

Programm Formulierung eines Algorithmus und seiner Datenbereiche in einer Programmiersprache Eine Programmiersprache erlaubt es, Algorithmen präzise zu beschreiben Festlegung elementarer Operationen Die grundlegenden Aspekte der Algorithmenentwicklung sind: - Lösbarkeit: Gibt es zu meinem Problem einen Algorithmus? - Korrektheit: Löst mein Algorithmus mein Problem? - Komplexität: Welcher Aufwand (z. B. Rechenzeit, Speicherplatz) U. Scholz & M. Lange Folie #9-14

Programmiersprachen U. Scholz & M. Lange Folie #9-15

Programmiersprachen Einteilung u.a. nach Abstraktion von der Hardware Maschinensprache: - Satz von Zahlencodes (Operation Codes, kurz OpCodes), für CPU-Typen Assemblersprachen: - Darstellung der Zahlencodes der Maschinensprache durch Buchstabenfolgen. - Besser lesbar, aber für die CPU nicht mehr verständlich. - Der Quellcode eines in einer Assemblersprache geschriebenen Programms muss von einem Assembler in die jeweilige Maschinensprache übersetzt werden. U. Scholz & M. Lange Folie #9-16

Höhere Programmiersprachen Starke Abstraktion von Hardware/Hardwareunabhängigkeit Übersetzung vor Ausführung in Maschinencode: - Das Übersetzer-Programm heißt hier Compiler - Ausführbare/Übersetzte Programme (binaries) nicht plattformunabhängig - Beispiele: C, JAVA Übersetzung während Ausführung: - Spezielles Programm (Interpreter) übersetzt während der Programmausführung (zur Laufzeit) Schritt für Schritt - etwas langsamere Ausführung - Programme sind plattformunabhängig, - Beispiele: Basic, Perl, UNIX/Windows-Shell-Scripte U. Scholz & M. Lange Folie #9-17

Virtuelle Maschinen Mischformen: - Erst übersetzt ein Compiler - den Quellcode in einen kompakteren, Plattform unabhängigen Maschinencode - Ausführung durch plattformspezischen Interpreter Beispiele: Java, Perl,... U. Scholz & M. Lange Folie #9-18

Programmiersprache Perl U. Scholz & M. Lange Folie #9-19

Der Programminterpreter Perl Perl (Practical Extraction and Report Language) 1987 von Larry Wall Weite Verbreitung in der Bioinformatik: - Frei verfügbar und läuft auf allen Betriebssystemen - Mächtige Textanalyse- und Manipulationsfähigkeiten direkt eingebaut; - gut geeignet zum Extrahieren und Aufbereiten von Informationen aus strukturierten Textdateien (siehe Vorlesungsteil Datenbanken in der Bioinformatik) - praktisch alle Bioinformatikdaten (Sequenzen, Strukturen, Expressionsprofile, biomolekulare Netzwerke...) in Form von Textdateien - Zahlreiche Bibliotheken mit vorprogrammiertem Perl- Code (z. B. BioPerl) U. Scholz & M. Lange Folie #9-20

U. Scholz & M. Lange Folie #9-21

Perl-Einführungsbeispiel Einführungsbeispiel print "Hello World!\n"; print "How are you\n"; print "I am fine!\n" Ausführung: perl hello.pl Ausgabe: Hello World! How are you U. Scholz & M. Lange Folie #9-22

Literale Datentyp Literale: Basisdatentypen Stehen für verschiedene Arten von Daten stehen können: - 2-2.7 - -10 - "A " - "ACGGGAGGACGGGAAAATTACTACGGCAATTAGC - "2.7" Numerische Daten (Zahlenwerte): Angabe von Ziffern Einzelne Zeichen und Zeichenketten (Strings): in Anführungszeichen gesetzt Ausgabe am Bildschirm über die print-anweisung am Bildschirm ausgegeben werden: - print 2.7; print: auch mehrere durch Kommata getrennte Elemente auszugeben: print Kreiskonstante PI: ", 3.141, "\n"; U. Scholz & M. Lange Folie #9-23

Operatoren U. Scholz & M. Lange Folie #9-24

Operatoren Auf den Literalen definierte Funktionen Numerische Operatoren: - print 3 + 2, "\n"; # Addition - print 3-2, "\n"; # Subtraktion - print 3 * 2, "\n"; # Multiplikation - print 3 / 2, "\n"; # Division - print 3 ** 2, "\n"; # Potenzierung - print 16 % 7, "\n" # Ganzzahliger Rest Ausgabe: - 5-1 - 6-1.5-9 - 2 U. Scholz & M. Lange Folie #9-25

Zeichenketten Operatoren Verkettung von Strings mittels Punkt-Operator: - print "Hell". "o world!". "\n"; Ausgabe: - Hello world! Kombination von Operatoren: - Addition und Konkatenation - print "17" + "4", "\n"; - print "17". "4", "\n"; Ausgabe: - 21-174 String-Operator ix: hintereinander hängen von Strings: - print "Bioinformatik", " Hurra" x 2, "\n"; Ausgabe: - Bioinformatik Hurra Hurra U. Scholz & M. Lange Folie #9-26

Variablen/Funktionen U. Scholz & M. Lange Folie #9-27

Variablen Wiederverwendung und Speicherung von Daten Veränderlicher Platzhalter für Literale Beispiel DNA speichern und ausgeben: - $DNA = "ACGGGAGGACGGGAAAATTACTACGGCATT"; print $DNA; Reserviert Platz im Arbeitsspeicher um: - mit Daten zu füllen - später wieder auszulesen Variablen werden durch $ gefolgt von eindeutige Namen identifiziert Literalzuweisungs-Operators = - $Variablenname = 3.141; Kombination mit Operatoren: - $x = $x + 1 U. Scholz & M. Lange Folie #9-28

Funktionen Rechenvorschrift, die einem oder mehreren Literalen ein Ergebnisliteral zuordnenunter Numerische Funktionen am Beispiel: - print "Die Wurzel aus 64 ist ", sqrt (8**2), ".\n"; - print "Der Kosinus von 0 Grad ist ", cos(0), ".\n"; - print "Der ganzzahlige Wert von 3.141 ist ", int( 3.141), - ".\n"; Ausgabe: - Die Wurzel aus 64 ist 8. - Der Kosinus von 0 Grad ist 1. - Der ganzzahlige Wert von 3.1415926 ist 3. U. Scholz & M. Lange Folie #9-29

Zeichenkettenfunktionen Gross- und Kleinbuchstaben - print uc ("Dies ist gross geschrieben.\n"); Ausgabe: - DIES IST GROSS GESCHRIEBEN. Länge einer Zeichenkette ermitteln, z. B.: - print length("abcdefghijklmnopqrstuvwxyz"), "\n"; Ausgabe: - 26 Teilstringextraktion: - $alphabet = "abcdefghijklmnopqrstuvwxyz"; - print substr ($alphabet, 0, 3)."\n"; Ausgabe: - abc Veränderung eines Teile einer Zeichenkette - $text = "Hamoglobin"; - substr($text, 1, 1) = "ae"; Ergebnis: - $text zu Haemoglobin ändern. U. Scholz & M. Lange Folie #9-30

Benutzereingaben Interaktion mit dem Programm Operator <> zur Eingabe externer Daten Tastatur: <STDIN> - print "Bitte eine Zeichenkette eingeben: "; - $string1 = <STDIN>; - print $string1; Datei: - open (SEQUENZ, "data/ecoli.seq"); - $zeile=<sequenz>; - print $zeile; - close(sequenz); U. Scholz & M. Lange Folie #9-31

Einführung in die Programmierung - Teil II Basiert auf dem Bioinformatik-Vorlesung der TU-Braunschweig Institute für Genetik, Mikrobiologie und Software U. Scholz & M. Lange Folie #9-32

Gliederung Programmfluss Konditionalanweisung Schleifen Praxis U. Scholz & M. Lange Folie #9-33

Programmfluss U. Scholz & M. Lange Folie #9-34

Flusskontrolle Programm: feste Abarbeitungsreihenfolge von Anweisungen Beispiel: Auswertung einer Nutzereingabe - $x = 1; - print $x, ist gerade\n - $x = <STDIN>; - print $x, ist gerade\n ; - print $x, ist ungerade\n ; Problem: keine dynamische Auswahl der auszuführenden Anweisung möglich Beispiel: Berechnung des Logarithmus von 256 zur Basis 2 - $x = 256; - $x = $x/2; - print 1. Division:, $x; - $x = $x/2; - print \n2. Division:, $x; -... - $x = $x/2; - print \n8. Division:, $x; Problem: Keine dynamische Anzahl von Wiederholung gleicher Anweisungen U. Scholz & M. Lange Folie #9-35

Flusskontrolle Möglichkeiten zur Steuerung - Konditionalanweisung (Bedingungsanweisung, Conditions Statements) - Schleifen (loops) Konditionalanweisung: Bedingte Ausführung von Anweisungen Schleife: Wiederholung einer Gruppe von Anweisungen bis Bedingung fehlschlägt U. Scholz & M. Lange Folie #9-36

Konditionalanweisung Beispiel benötigte Konditionalanweisung: - print Bitte 1. Zahl eingeben ; - $x = <STDIN>; - print Bitte 2. Zahl eingeben ; - $z = <STDIN>; - Print x dividiert durch z ergibt;, x/y; Falls Divisor 0 Warnmeldung Je nach Benutzereingabe verschiedene Programmanweisungen nötig Bedingte Ausführung verschiedene Programmabschnitte: - bedingten Verzweigungen im Kontrollfluss U. Scholz & M. Lange Folie #9-37

Bedingungsprüfung mit IF-Anweisung Wichtigste Eigenschaft von Konditionalanweisungen: - Testen einer Bedingung Überprüfung der Bedingung ergibt: - entweder Wahr (true) oder - Falsch (false) Wert Bedingung erfüllt (Wahr): - nachfolgende Anweisungen werden ausgeführt Beispiel: Getestete Bedingung ist wahr - $x=1; - if($x==1) { - print "x ist gleich 1\n"; - } U. Scholz & M. Lange Folie #9-38

Bedingungsprüfung mit IF-Anweisung Beispiel: Getestete Bedingung ist falsch - $x=1; - if($x==0) { - print "x ist gleich 0\n"; - } Der Test lautet 1 == 0 oder Ist 1 gleich 0? Nicht wahr: Anweisungen werden nicht ausgeführt U. Scholz & M. Lange Folie #9-39

Vergleichsoperationen Numerische Vergleiche: - == ist gleich - < kleiner als - > größer als - <= kleiner oder gleich - >= größer oder gleich -!= ungleich U. Scholz & M. Lange Folie #9-40

Vergleichsoperationen Vergleiche von Zeichenketten - ($string1 eq $string2) Gleichheit (equal) - ($string1 ne $string2) Ungleichheit (not equal) - ($string1 gt $string2) grösser (greater than) - ($string1 ge $string2) grösser oder gleich (greater or equal) - ($string1 lt $string2) kleiner als (less than) - ($string1 le $string2) kleiner oder gleich (less or equal) - lexikalische Ordnung: "drei gt "zwölf" ist erfüllt U. Scholz & M. Lange Folie #9-41

IF-ELSE Anweisung else-anweisung: - Ausführung bei nicht erfolgreicher Bedingungsprüfung Beispiel: if-else ist wahr - $x=1; - if ($x==1) { - print "x ist gleich 1\n"; - }else { - print "x ist nicht gleich 1\n"; - } Beispiel: if-else ist falsch - $x=7; - if ($x==0) { - print "x ist gleich 0\n"; - }else { - print "x ist nicht gleich 0\n"; - } U. Scholz & M. Lange Folie #9-42

unless Anweisung unless-anweisung ( nur wenn nicht ) verneinte if-anweisung: - if (not <Bedingung>) - unless (<Bedingung>) Beispiel: unless - $x=1; - unless ($x==0) { - print "x ist nicht gleich 0\n"; - } U. Scholz & M. Lange Folie #9-43

Verschachtelte IF-Aneisung verschachtelte if-anweisung - $x=3; - if ($x>1) { - print "x ist größer als 1\n"; - if ($x<10) print "x ist kleiner als 10\n"; - }else { - print "x ist kleiner als 1\n"; - } Schwierige Lesbarkeit: - Welcher Anweisungsblock bzw. Welche else- Anweisung gehört zu welchem if-anweisung - Lösung: gute Perl Programmierumgebung U. Scholz & M. Lange Folie #9-44

Schleifen Lösung zahlreiche Problemstellungen durch einen iterativen Algorithmus: - Annährung an die Lösung durch schrittweise Wiederholung - Jeder neue Berechnung nutzt Ergebnis der vorherigen Berechnung Beispiele: - Zählen von Zeichen in einer Zeichenkette: $anzahl = $anzahl +1 - Aufsummieren: $summe=$summe+$wert - Potenzieren: $potenz=$potenz*$basis Beispiel 2 3 : - $basis=2; - $potenz = basis; 2 - $potenz = $potenz*$basis; 4 - $potenz = $potenz*$basis; 8 U. Scholz & M. Lange Folie #9-45

Schleifen Schleife: wiederholte Ausführung eines Anweisungsblocks Begrenzt durch geschweiften Klammern: - { - Anweisung1; - Anweisung2; - } Programmiererer muss nicht wissen, wie oft der Anweissungsblock durchgeführt werden muss Perl kennt verschiedene Arten von Schleifen: - while, - until-, - for-, - foreach - und noch mehr U. Scholz & M. Lange Folie #9-46

while-schleife Anweisung while: - Wiederhole solange Bedingung erfüllt Beispiel: while-schleife - $sequence = "GGGCGGCTTCGAGTGTCGTCGAAGTGA"; - $position=0; - while( substr($sequence,$position,1) ne "A") { - $position=$position+1; - } - print "Erstes A an Position ",$position+1,"\n"; Ausgabe : - Erstes A an Position 12 U. Scholz & M. Lange Folie #9-47

for-schleife Komplexe Anweisung for: - Zählvariable, Abbruchbedingung, Zählanweisung Beispiel: for-schleife - for ($i=0; $i<100; $i = $i +1){ - print "\n $i"; - } Ausgabe : - 0 - - 99 Weitere Anweisungen zur Kontrolle einer Schleife - last: Abbruch der Schleife - next: Abbruch des aktuellen Schleifendurchlaufs U. Scholz & M. Lange Folie #9-48

PRAXIS - Installation, Ausführung, Beispiele (Übung!) U. Scholz & M. Lange Folie #9-49

U. Scholz & M. Lange Folie #9-50

U. Scholz & M. Lange Folie #9-51

U. Scholz & M. Lange Folie #9-52

U. Scholz & M. Lange Folie #9-53

U. Scholz & M. Lange Folie #9-54