Großübung 2 und 3: Struktogramme
|
|
- Frieder Boer
- vor 7 Jahren
- Abrufe
Transkript
1 Großübung 2 und 3: Struktogramme - Entwurf von Algorithmen mit Struktogrammen - Inhalt der 2 und 3. Großübung: Einführung in Struktogramme anhand von Folien (File dazu: Grossuebung_2_3_EidI_Struktogramme_Folien_WS1011.pdf) Zahlreiche Beispiele zu Struktogrammen (File dazu: Grossuebung_2_3_EidI_Struktogramme_Aufg_WS1011.pdf), wozu in den Poolübungen Python-Quelltexte geschrieben werden Siehe dazu auch: Vorlesungsmanuskript Informatik05-Algorithmen.pdf 1 1) - Etappen der Softwareentwicklung (sehr grob formuliert): Aufgabenstellung Entwurf eines Algorithmus (programmiersprachunabhängig!) Programmerstellung (= Codierung des Algorithmus in einer Programmiersprache) - Algorithmus: (Bezeichnung nach dem arabischen Mathematiker Al-Khwarizmi) eine endliche Folge von Regeln (Aktionen), bei deren Abarbeitung sich nach endlich vielen, eindeutig festgelegten Schritten die Lösung der Aufgabe ergibt; d.h. -- ein Algorithmus setzt sich aus Aktionen zusammen -- bei der Kodierung in einer Programmiersprache werden daraus Anweisungen 2
2 - Zwei wesentliche Modelle bei Algorithmenentwurf u. Programmierung -- Datenmodell: Was ist zu verarbeiten? (Daten mit Datentypen) -- Funktionsmodell (Steuerfluss): Wie ist zu verarbeiten? (Kontrollstrukturen: Sequenz, Selektion, Schleifen) Mit Struktogrammen: nur Entwurf des Funktionsmodells (wir weisen trotzdem meist auf das zugrunde liegende Datenmodell hin) Die grundlegenden Prinzipien des Steuerflusses sind in Programmiersprachen (wie C, C++, Pascal, Python, Java...) weitgehend ähnlich. Unsere Beispiele sind also wahlweise in C, C++, Pascal, Python, Java... programmierbar Bei Programmierung dann: unterschiedliche Syntax der Sprachen - Struktogramme (auch Nassi-Shneiderman-Diagramme genannt): -- Mittel der Softwaretechnologie zum graphischen Entwurf von Algorithmen -- erzwingen strukturierte Programmierung (keine undisziplinierten goto -Sprünge möglich) -- strukturierte Programmierung gibt Regeln für Programmieren im Kleinen, d.h. für die innere Gestaltung kleinerer und mittlerer Programme. 3 Symbolik der Struktogramme: in DIN festgelegt - Allgemein zur Symbolik (äußere Form) der Struktogramme: -- Aktionen der Algorithmen werden in Strukturblöcke (SB) eingeschrieben (in Vorlesung als A ( Anweisung(en) ) bzw. V ( Verarbeitung ) bezeichnet) -- Einheitliche geometrische Form der SB: Rechteck -- SB: genau ein Eingang (oben), genau ein Ausgang (unten) Abarbeitungsrichtung: von oben nach unten allgemein: SB Beispiel: x = y - Mit dem Programm struct.exe (das File MFCOLEUI.DLL sollte im selben Verzeichnis stehen) kann man Struktogramme komfortabel am PC eingeben (siehe unter Y:\Lehre). - Bemerkungen zur Symbolik, die wir in den Struktogrammen verwenden: -- gibt keine Normen für die Syntax in Struktogrammen; aber: eindeutige Schreibweisen notwendig -- wir verwenden Symbolik, die an die Programmiersprachen Python und C angelehnt ist. 4
3 - Begriff der Variablen: (hier: prozedurale Sicht!) Unter einer Variablen wird (beim von-neumannschen Rechnerkonzept) ein Speicherbereich verstanden, in dem jeweils genau ein Wert eines festgelegten Wertebereichs ( Typ ) abgelegt werden kann (d.h. Variable als Behälter für Werte ). Dieser Speicherbereich wird in höheren Programmiersprachen durch einen symbolischen Namen (=Variablenbezeichner) adressiert. - Gleichheitszeichen: Symbol dafür: = = (wie in Python, C); z.b. a = = c - Ungleichheitszeichen: Symbol dafür:! = (wie in Python, C); z.b. a! = c 5 - Zuweisung (eines Wertes) (in Programmierung auch: Ergibtanweisung) Form der Zuweisung: <variable> = <ausdruck> =... sprich: ergibt sich aus ( nicht mit Gleichheit verwechseln!! ) Hinweis: statt = (wie in Python, C usw.) verwendet z.b. PASCAL := <variable> und der Wert von <ausdruck> müssen den gleichen Wertebereich ( Typ ) besitzen bzw. typkompatibel sein Hinweis: Objektorientierte Sicht auf Variable und Zuweisung in Python Die o.g. Vorstellung von Variablen als Behälter für Werte trifft auf Python nicht exakt zu. In Python wird der Wert des Ausdrucks in einem Speicherbereich der Daten (Objekte) abgelegt, der Name der Variablen in einem Speicherbereich der Namen. Eine Zuweisung bindet über eine Referenz (Adresse) den Namen an den aktuellen Wert im Speicherbereich der Daten. siehe dazu Python-Teil der Vorlesung bzw. 3. Poolübung (Anhang A, Teil b). Abarbeitung der Zuweisung: 1) Erster Zeitschritt: Wert von <ausdruck> (rechte Seite!) bestimmen 2) Zweiter Zeitschritt: Diesen Wert der links stehenden Variablen zuweisen (d.h. in prozeduraler Programmierung: im Speicherbereich der Variablen abspeichern) Abarbeitung der Zuweisung von rechts nach links 6
4 Daraus folgt für die Zuweisung: 1) Beide Seiten einer Zuweisung sind nicht vertauschbar 2) Jeder Variablen, die in <ausdruck> vorkommt, muss vorher ein Wert zugewiesen werden Anfangswertzuweisung bzw. Initialisierung Zu: <ausdruck> Ein <ausdruck> kann bestehen aus: -- Operanden (Konstante, Variable, Funktionen) -- Operatoren (+ - * / % usw.) % Divisionsrest der ganzz. Div. -- sowie runden Klammern ( ) Beispiel 1: y = a + sin(x) Beispiel 2 (Typisches Beispiel für Zuweisung): Eine Zählgröße i habe den Wert 3. Durch: i = i + 1 wird ihr der neue ( aktuelle ) Wert 4 zugewiesen. Je nach dem Typ (Wertebereich) des Wertes des Ausdrucks unterscheiden wir: -- logische Ausdrücke ( Bedingungen ; mögliche Werte: wahr, falsch), -- arithmetische Ausdrücke, -- Zeichenkettenausdrücke usw. 7 Bemerkung zu logischen Ausdrücken ( Bedingungen ): Form einer Bedingung: <ausdruck> <vergleichsoperator> <ausdruck> mit: < vergleichsoperator>... = =,!=, <, <=, >, >=, and, or, not Abarbeitungsreihenfolge: 1.Schritt: Wert der beiden Ausdrücke bestimmen 2.Schritt: Vergleich der beiden Werte entsprechend Operator Ergebnis (Wert) der Bedingung: True oder False (!!!) Beispiel: 9+2 >= 5*6 Wert: False usw. - Eingabeaktion: Grob gesagt: Was der Mathematiker hinter Gegeben schreibt, muss in der Regel in einen Algorithmus bzw. später ins Programm eingelesen (eingegeben) werden. Form der Eingabeaktion: E (v1, v2,..., vn) Liste von Variablen v1, v2,..., vn (Trennzeichen: Komma) Wirkung der Eingabeaktion: N Werte werden in den Algorithmus eingelesen und der Reihe nach den Variablen der Eingabeliste als aktueller Wert zugewiesen. Beispiel: E( x, temp, awert ) ( in Vorlesung: Eingabe(...); hier kurz: E(...) ) 8
5 - Ausgabeaktion Grob gesagt: Was der Mathematiker hinter Gesucht schreibt, wird in der Regel beim Algorithmus bzw. später beim Programm ausgegeben. Form: A (Liste von N Ausdrücken bzw. speziell Variablen und / oder Text) dabei: Text : beliebige Zeichenkettenkonstante(n) Zeichenkettenkonstanten: eingeschlossen in doppelte Anführungszeichen "... " oder auch in einfache Anführungszeichen '... ' z.b. "Struktogramme sind KLASSE" oder 'Struktogramme sind KLASSE' in der Vorlesung: Ausgabe(...); hier kurz: A(...) Wirkung der Ausgabeaktion: Die aktuellen Werte der in der Ausgabeliste stehenden N Ausdrücke (hier wird zunächst der Wert berechnet) bzw. Variablen sowie der Text werden der Reihe nach ausgegeben Beispiel für Ausgabeaktion: A( "Resultat = ", result ) (Trennzeichen wie in Eingabeaktion: Komma) 9 2) Die 3 Grundelemente (Kontrollstrukturen) der Struktogramme 2.1) 1. Grundelement: Sequenz (Folge, Reihung) Aneinanderreihung von Aktionen, die in angegebener Reihenfolge zeitlich nacheinander (d.h. sequentiell) abzuarbeiten sind. Beispiel: Berechnung des Flächeninhalts eines Rechtecks ( f = a * b ) Abarbeitungsrichtung E(a,b) f = a * b A( "Flaeche = ", f ) (Sequenz aus drei Aktionen) 10
6 2.2) 2. Grundelement: Selektion (Alternative, Auswahl) Auswahl einer Fortsetzungsmöglichkeit unter zwei möglichen in Abhängigkeit vom Wert einer Bedingung ( Verzweigung in eine von zwei möglichen Richtungen) Graphische Form des Struktogrammelements: Bemerkungen: -- SB... kann z.b. eine oder mehrere Zuweisungen, aber auch etwa einen eingeschachtelten Selektionsblock enthalten -- Wenn True-Zweig und False-Zweig nichtleer: vollständige Selektion Wenn ein Zweig davon leer: unvollständige Selektion Abarbeitungsschritte (wichtig für Trockentest ): 1.Schritt: Bestimmung des Wertes der Bedingung (True / False) 2.Schritt: Abarbeitung des SB im - True-Zweig, falls Wert der Bedingung True - False-Zweig, falls Wert der Bedingung False 11 Erweiterung der Selektion: Fallauswahl (Switch-SB) (in der Vorlesung Mehrfache Alternative genannt) Erweiterung der Selektion auf mehr als 2 Verzweigungsmöglichkeiten Bei der Fallauswahl wird je nach Wert eines Ausdrucks eine bestimmte Fortsetzungsmöglichkeit ( Fall, engl.: case) gewählt. Bemerkung: Jede Fallauswahl kann durch geschachtelte Selektionen dargestellt werden, d.h. die Fallauswahl ist logisch nichts Neues. In einigen Sprachen gibt es aber zusätzlich zur Kontrollstruktur Selektion eine Kontrollstruktur Fallauswahl, die dann eine vereinfachte Darstellung der teilweise kompliziert geschachtelter Selektionsblöcke ermöglicht. In Python gibt es keine Anweisung für die Fallauswahl (deshalb: siehe Vorlesung) 12
7 2.3) 3. Grundelement der Struktogramme: Schleifen (auch Wiederholungen, Zyklen oder Iterationen genannt) Schleife... Folge von Aktionen, die wiederholt durchlaufen werden kann Es gibt zwei Arten von Schleifen: Abweisschleife (in der Vorlesung Bedingte Wiederholung (abweisend) genannt) Spezialfall davon: Zählschleife Nichtabweisschleife (in Vorlesung Bedingte Wiederholung (nicht abweisend) genannt) Jede Schleife besteht aus Schleifenkopf bzw. -fuß und Schleifenkörper. 13 a) Abweisschleife - Form des Struktogrammelements für Abweisschleife: (Abweis-)Schleifenkopf ( kopfgesteuert ) (Abweis-)Schleifenkörper - Abarbeitungsregel: Solange Bedingung wahr ist, wiederhole SB - Abarbeitungsschritte (wichtig für Trockentest): 1) Test der <bedingung>: Wert True Fortsetzung mit 2) Wert False Fortsetzung mit 3) 2) Abarbeitung des SB (Schleifenkörper). Danach Fortsetzung mit 1) 3) Fortsetzung nach Abweisschleife - Da der Test vor der Abarbeitung des SB erfolgt abweisend denn: Abweisschleifenkörper kann auch 0-mal durchlaufen werden! 14
8 (Weiter zu Abweisschleife:) Sonderfall der Abweisschleife: Zählschleife (In der Vorlesung verallgemeinert als Iteration über Sequenzen dargestellt) Zählschleife anwendbar, wenn a priori die Anzahl der Wiederholungen des Schleifenkörpers bekannt ist und sich somit eine Zählung der Wiederholungen anbietet ( Zählschleife ). Die Zählschleife wird hier erklärt, wie sie in fast allen Sprachen umgesetzt wird u. wie man sie mit der Abweisschleife nachbilden kann. In Python ist sie etwas anders implementiert (s. Vorlesung). - Form des Struktogrammelements für Zählschleife: (Zähl-)Schleifenkopf (Zähl-)Schleifenkörper i... Laufvariable (oder: Zählgröße; zum Mitzählen der Wiederholungen) Typ von i: z.b ganzzahlig oder reell a, e... Anfangswert bzw. Endwert der Zählung; vom selben Typ wie i s... Schrittweite der Zählung; vom selben Typ wie i 15 (Weiter zu Zählschleife:) - Abarbeitungsschritte bei Zählschleife (wichtig für Trockentest): 0) Anfangswertzuweisung (Initialisierung): i = a 1) - Test (der Abbruchbedingung): - Für s>= 0: i <= e? - Für s<0: i >= e? - wenn Bedingung: wahr 2) falsch 5) 2) Abarbeitung des Schleifenkörpers <SB> 3) Veränderung des Wertes der Laufvariablen:i = i + s 4) 1) 5) Fortsetzung nach Zählschleife Test vor Abarbeitung des Schleifenkörpers also abweisend Hinweis: Die konkrete Syntax der Zählschleife ist später stark von der gewählten Programmiersprache abhängig. In einigen Sprachen ist die Zählschleife kein Spezialfall der Abweisschleife, sondern eine andere Form der Abweisschleife mit gleicher Allgemeinheit. 16
9 b) Nichtabweisschleife - Form des Struktogrammelements für Nichtabweisschleife: (Nichtabweis-)Schleifenkörper (Nichtabweis-)Schleifenfuß ( fußgesteuert ) - Abarbeitungsregel: Wiederhole SB, solange Bedingung wahr ist - Abarbeitungsschritte (wichtig für Trockentest): 1) Abarbeitung des SB (Schleifenkörper) 2) Test der Abbruchbedingung: - Wert True Fortsetzung mit 1) - Wert False Fortsetzung mit 3) 3) Fortsetzung nach Nichtabweisschleife - Da Test nach Abarbeitung des SB SB wird mindestens einmal durchgeführt ( nichtabweisend ) Hinweis: Python besitzt keine Anweisung für die Nichtabweisscheife (aber andere Sprachen wie C, Pascal usw.). Man kann aber in Python die Nichtabweisschleife mit anderen Sprachmitteln nachbilden. 17 Anhang: Zusammenfassung zu den 3 Grundelementen der Struktogramme - Strukturtheorem von Boehm und Jacopini (1966) Jeder (sequentielle, d.h. nichtparallele) Algorithmus kann mit Sequenz, Selektion und Schleife (es genügt: Abweis- oder Nichtabweisschleife) beschrieben werden. Beweis: siehe mathematische Logik - Alle nach 1966 entwickelten prozeduralen Programmiersprachen (also z.b. der prozedurale Teil von Python, die Programmiersprachen C, Pascal, ) bauen mehr oder weniger darauf auf. 18
10 Zu: Zusammenfassung zu den 3 Grundelementen der Struktogramme - Schachtelungen der 3 Grundelemente sind dabei möglich (und in der Regel notwendig). Das heißt: Sequenz, Selektion und Schleife stellen ihrerseits Strukturblöcke dar und dürfen überall dort stehen, wo (weiter oben) der Begriff SB steht. Allgemeines Beispiel dafür: - Wichtig: Mit der Abarbeitung eines äußeren SB kann jeweils erst fortgesetzt werden, nachdem der innere (eingeschachtelte) SB vollständig ausgeführt worden ist. 19
Flussdiagramm / Programmablaufplan (PAP)
Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze
MehrBKTM - Programmieren leicht gemacht.
BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi
Mehreinseitige Selektion zweiseitige Selektion
einseitige Selektion / Die einseitige Selektion gestattet die Ausführung einer eisung (welche wiederum eine Sequenz sein kann), wenn die angegebene wahr () ist. 19 zweiseitige Selektion _1 _2 _1 _2 Die
MehrArbeitsblätter für Algorithmierung und Strukturierung C #
Prof. Dr.- Ing. Ch. Wahmkow Fachbereich Maschinenbau Fachhochschule Stralsund Arbeitsblätter für Algorithmierung und Strukturierung C # Inhalt : Struktogramme, Beispiele und Erläuterungen - Sequenz - vollständige
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrInstitut für Informatik
TU Bergakademie Freiberg Institut für Informatik Modul Einführung in die Informatik Poolübung 3. Pool-Übung zum Modul Einführung in die Informatik - Aufgaben - Thema: Programmieren in Python, Teil 1 (Selektion
Mehr(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)
Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden
MehrFACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung
C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen
MehrProgrammentwurf Prof. Metzler
Programmentwurf 13.05.2014 Prof. Metzler 1 Programmiersprachen Assembler problemorientierte Sprache C anwendungsorientierte Sprache Basic Kommandosprachen 13.05.2014 Prof. Metzler 2 Assemblersprache Die
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
Mehr2. Algorithmenbegriff
2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und
Mehr2 Teil 2: Nassi-Schneiderman
2 Teil 2: Nassi-Schneiderman Wie kann man Nassi-Schneiderman in einer objektorientierten Sprache verwenden? Jedes Objekt besitzt Methoden, welche die Attribute des Objektes verändern. Das Verhalten der
Mehr2. Die Darstellung von Algorithmen
2. Die Darstellung von Algorithmen Aus den Einführungsbeispielen und Übungsaufgaben ist erkennbar, dass zur Darstellung von Algorithmen Grundelemente notwendig sind. Neben der Notation einzelner elementarer
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung
MehrKonzepte der Informatik
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Konzepte der Informatik Vorkurs Informatik zum WS 2013/2014 16.09. - 27.09.2013 Dr. Werner Struckmann / Hendrik Freytag 1. April 2010
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
Mehr5. Strukturierte Programmierung
5. Strukturierte Programmierung 5.1 Ziele 5.2 Prinzipien 5.3 Basisstrukturen Folie 115 Apr-04 Ziele der strukturierten Programmierung Unterstützung einer methodischen Vorgehensweise beim Programmentwurf
MehrLabor Software-Entwicklung 1
Labor Software-Entwicklung 1 Übereinkunft zu Programmablaufplänen PAP - Grundlagen Wintersemester 2015/2016 Seite 1 von 9 Inhalt DIN 66 001: Sinnbilder für Programmablaufplan... 3 Grenzstelle... 3 Ablauflinie...
MehrC++ - Einführung in die Programmiersprache Schleifen
C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.
MehrKontrollstrukturen -- Schleifen und Wiederholungen
Kontrollstrukturen -- Schleifen und Wiederholungen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14
Mehr6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
Mehr4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
MehrSyntax der Sprache PASCAL
Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15
EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrNassi-Shneiderman-Diagramm - Wikipedia
Nassi-Shneiderman-Diagramm aus Wikipedia, der freien Enzyklopädie Ein Nassi-Shneiderman-Diagramm ist eine Entwurfsmethode für die strukturierte Programmierung, die 1972/73 von Dr. Isaac Nassi und Dr. Ben
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrWebbasierte Programmierung
Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 6: JavaScript Kontrollstrukturen Verzweigungen Einseitig, zweiseitig,
Mehr6. Iteration (Schleifenanweisungen)
Schwerpunkte While-: "abweisende" Schleife 6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java Do-while-: "nichtabweisende" Schleife For-: zählergesteuerte Schleife Klassifikation
Mehr3. Grundanweisungen in Java
3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen
Mehr5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
Mehr2.5 Programmstrukturen Entscheidung / Alternative
Entscheidung, ob der folgende Anweisungsblock ausgeführt wird oder ein alternativer Block Entscheidung ob die Bedingung wahr oder falsch (True / False) ist Syntax: 2.5 Programmstrukturen 2.5.1 Entscheidung
MehrOperatoren (1) Operatoren (2)
Operatoren (1) Binäre Operatoren + - * / % < = > & ^ > && Addition Subtraktion Multiplikation Division Divisionsrest Vergl. auf kleiner Vergl. auf kleiner oder gleich Vergl. auf gleich Vergl.
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem
MehrInformatik. Teil 1 - Sommersemester Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 - Sommersemester 2011 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 0. Rechner und Programmierung
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von
Mehr12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false
Die if-anweisung if (Bedingung 1) { Code 1 else { Code 2 ; Anm.1: Das ; kann entfallen, da innerhalb { ein sog. Codeblock geschrieben wird. Anm.2: Es gibt noch andere Schreibweisen, aber wir wollen uns
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrTag 3 Repetitorium Informatik (Java)
Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Typkonvertierung
MehrAlgorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 10 10 V Wirtschaftsinformatik für Wirtschaftwissenschaftler Algorithmen und ihre Programmierung -Teil 1 - Dr. Chris Bizer WS 007/008 Einführung Definition: Algorithmus Ein Algorithmus
MehrInformatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2017 1 und der Typ bool Typ bool Typ bool Vergleichsoperationen
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 25
Kapitel 9 Schleifen Seite 1 von 25 Schleifen - Schleifen werden zur wiederholten Ausführung von Anweisungen verwendet. - Es werden drei Arten von Schleifen unterschieden: o for -Schleife o while -Schleife
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
MehrInformatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik
Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -
MehrProgrammentwurf mittels strukturierter Programmierung. Programmentwurf. Nassi-Shneiderman-Diagramm [DIN ]
Programmentwurf Bevor man sich daran macht, den Quelltext eines Programmes zu schreiben, sollte man sich einen Plan der Struktur des zukünftigen Programmes machen. Diese Phase eines Softwarentwicklungsprojekts
MehrStruktogramme. Hinweise 1 Stand:
Struktogramme Hinweise 1 Stand: 09. 06. 2005 Dr. Reinhard Strangmeier Lehrstuhl für Wirtschaftsinformatik Prof. Dr. H. Gehring Fachbereich Wirtschaftswissenschaft FernUniversität in Hagen 1 Einleitung
MehrAlgorithmen und ihre Programmierung -Teil 2-
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung -Teil 2- Veronika Waue WS 07/08 Wiederholung: Algorithmen Variablen und Datentypen Variablen haben einen Namen, einen Datentypen und einen
Mehr1. Grundlegende Konzepte der Informatik
1. Grundlegende Konzepte der Informatik Inhalt Algorithmen Darstellung von Algorithmen mit Programmablaufplänen Beispiele für Algorithmen Aussagenlogik Zahlensysteme Kodierung Peter Sobe 1 Algorithmen
MehrName Klasse Datum. Kontrollstrukturen steuern die Ausführung von Anweisungen
Name Klasse Datum 1 Allgemeines In der Programmierung unterscheidet man prinzipiell zwischen: Einfachen Anweisungen (Zuweisungen); z.b. Radius = Durchmesser /2 Kontrollstrukturen Kontrollstrukturen steuern
MehrInstitut für Informatik
TU Bergakademie Freiberg Institut für Informatik Modul Einführung in die Informatik Poolübung 4. Pool-Übung zum Modul Einführung in die Informatik - Aufgaben - Thema: Programmieren in Python, Teil 2 (Funktionen,
MehrAufgabenkomplex: Programmieren in C (Teil 1 von 2) (Ein-/Ausgabe, Ausdrücke, Steueranweisungen)
Aufgabenkomplex: Programmieren in C (Teil 1 von 2) (Ein-/Ausgabe, Ausdrücke, Steueranweisungen) Hinweise: - Alle mit * gekennzeichneten Aufgaben sind zum zusätzlichen Üben gedacht. - Die Studentinnen und
MehrEinführung in die Programmierung mit BlueJ
Einführung in die Programmierung mit BlueJ Thema 4 Steuerstrukturen - Verzweigungen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Daten speichern: Datenfelder Instanzvariablen,
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Beispiele für Algorithmen Im folgenden Abschnitt sollen ausgewählte
MehrBei der Und-Verknüpfung müssen beide Ausdrücke wahr sein, dass der gesamte Ausdruck wahr wird. a=1; b=2; a=1; b=3; else. endif
1. Kontrollstrukturen in Octave 1.1 Logische Vergleichs- und Verknuepfungsoperatoren Es existieren die gleichen logischen Vergleichs- und Vernüpfungsoperatoren wie bei praktisch allen Programmiersprachen.
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while
MehrTag 3 Repetitorium Informatik (Java)
Tag 3 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!
Mehr4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C
Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige
MehrAlgorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
MehrInformatik I - Einstiegskurs
Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13
MehrEinführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax
Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
MehrKontrollstrukturen Blöcke / Schleifen / Bedingungen
Kontrollstrukturen Blöcke / Schleifen / Bedingungen 1 Einfache Anweisungen und Blöcke einfache Anweisung abgeschlossen mit Semikolon ; typische Fälle: o Deklaration, Zuweisung, Funktionsaufruf Sonderfall
MehrKapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 05: Weitere Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Weitere Kontrollstrukturen Wiederholungsstrukturen (Schleifen) While-,do-,for-Schleifen
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrKontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue
Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.
MehrC# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen
C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden
MehrKontrollstrukturen, Strukturierte Programmierung
, Strukturierte Programmierung Steuer- und Kontrollfluss Strukturierte Programmierung Arten von Strukturblöcken Sequenz Alternative Iteration C-Spezifisches Seite 1 Elementare Algorithmen SelectionSort
MehrAufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:
Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt
Mehr4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)
4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung 4-1 4.1 Anweisungen Ein Programm besteht
MehrPraktische Eine Einführung
Gregor Büchel Praktische Eine Einführung Lehr- und Arbeitsbuch mit Tafelbildern Mit 65 Abbildungen und Tabellen Springer Vorwort V 1 Was ist Informatik? 1 1.1 Datenflusspläne 2 1.1.1 Symbole eines 2 1.1.2
Mehr4.4 Imperative Algorithmen Prozeduren
4.4.2 Prozeduren Der Wert eines Ausdrucks u in Zustand z Z lässt sich damit auch leicht definieren (jetzt W Z statt W σ ) Dazu erweitern wir die rekursive Definition von Folie 57 (Wert eines Ausdrucks):
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrEinführung in die Programmierung mit BlueJ
Einführung in die Programmierung mit BlueJ Thema 7 Steuerstrukturen While-Schleifen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2009/10 Steuerstrukturen Steuerstrukturen Verzweigungen
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir
MehrProgrammiertechnik Kontrollstrukturen
Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Mehr5. Übung - Kanalkodierung/Programmierung
5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode
MehrDeutsche Telekom - FH Leipzig. Vorbereitungslehrgang Informatik
Deutsche Telekom - FH Leipzig Vorbereitungslehrgang Informatik ( Kurshandbuch ) Informatik - 1 - Vorbereitungslehrgang Informatik ( Kurshandbuch ) InhaItsverzeichnis / Themenübersicht 1 Zahlendarstellung
Mehr4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen
. Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
MehrAlgorithmen implementieren. Implementieren von Algorithmen
Algorithmen implementieren Implementieren von Algorithmen Um Algorithmen ablaufen zu lassen, muss man sie als Programm darstellen (d.h. implementieren) Wie stellt man die algorithmischen Strukturelemente
MehrArrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss
Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei
MehrKontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
MehrIdeen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn
Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger
MehrSprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
Mehr1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren
1 und der Informatik I: Einführung in die Programmierung 5., bedingte Ausführung und Albert-Ludwigs-Universität Freiburg Bernhard Nebel 27. Oktober 2015 27. Oktober 2015 B. Nebel Info I 3 / 21 Der Vergleichsoperatoren
Mehr