6 Zustandsorientierte Modellierung und imperative Programme
|
|
- Marcus Gerstle
- vor 8 Jahren
- Abrufe
Transkript
1 6 Zustandsorientierte Modellierung und imperative Programme 6.1 Problematik An dieser Stelle stoßen wir auf eine sehr problematische Stelle in unserem Unterrichtskonzept: 4 Einerseits sind Grundkenntnisse ber die Funktionsweise imperativer Programme ein unverzichtbarer Baustein zum Verst ndnis der Funktionsweise elektronischer Informationsund Kommunikationssysteme. Diese Grundkenntnisse k nnen nur erfolgreich vermittelt werden, wenn die Sch lerinnen und Sch ler tats chlich selbst Programme schreiben, bersetzen lassen und deren Ablauf verfolgen k nnen. 4 Andererseits geh ren spezielle Kenntnisse ber die Syntax der dabei verwendeten konkreten Programmiersprache zu Klasse 4 in Bezug auf ihre Allgemeing ltigkeit und damit NICHT zum Kanon allgemeinbildender Lerninhalte. Ein reiner Programmierkurs muß also vermieden werden. 6.2 L sungsansatz Zur L sung dieses Problems schlagen wir vor, die Programmierung im Unterricht auf die Implementierung von Zustands - bergangsdiagrammen zu beschr nken. Damit kann sichergestellt werden, 4 dass das geplante System vor der eigentlichen Codierung einigermaßen sauber modelliert wird, 4 dass die behandelten Probleme in einem begrenzten Komplexit tsbereich bleiben: Einfache Syntaxspielereien ergeben triviale, sehr komplexe Aufgabenstellungen zu komplizierte Diagramme. ber die Automatensicht als Meta-Ebene erh lt man eine klare Systematik und eine intuitiv verst ndliche Semantik der einzelnen Sprachelemente. Das Programm stellt sich dann lediglich als Simulation des Ablaufs eines Modells dar. Der pr fungsrelevante Lernstoff beschr nkt sich auf die Erstellung von Zustands- bergangsdiagrammen und Grundkonzepte ihrer Umsetzung in Programme (z. B. Variablenkonzept). Auf keinen Fall darf die Kenntnis spezieller Syntaxelemente einer Programmiersprache eine Note beeinflussen. Merke: Wir wollen den Sch lern grundlegende Kenntnisse ber Informations- und Kommunikationssysteme beibringen. Wir wollen sie dabei NICHT zu Programmierern ausbilden! Insgesamt arbeiten wir im folgenden auf vier Abstraktionsebenen: Automaten-, Algorithmus- Programm- und Prozessebene. Diese Ebenen m ssen den Sch lern stets klar vor Augen gef hrt werden. Zustands- bergangsdiagramm Algorithmus Programm Prozess Insbesondere sollen die Sch ler im folgenden erkennen, dass ein bestimmter Automat, ebenso wie ein Algorithmus oder ein Programm (abh ngig von den Eingaben) oft zahlreiche m gliche Abl ufe (Aktionsfolgen) aufweist. Ein Prozess repr sentiert dann einen realen Ablauf dieser abstrakten Konzepte. 6.3 Vorgeschichte Die Sch ler befinden sich etwa in der 10. JGSt. und haben einen berblick ber grundlegende Techniken der Repr sentation von Information hinter sich. Dabei haben sie einige wichtige Seite 1
2 Datenstrukturen und in umgangssprachlicher Form die Strukturelemente von Algorithmen (Sequenz, Auswahl, Wiederholung) kennengelernt. Bei der unmittelbar vorausgegangenen Behandlung der datenorientierten Modellierung haben wir uns die Sache etwas einfach gemacht und auf die Modellierung zeitlicher Abl ufe verzichtet. Bei der Betrachtung der Problematik von Transaktionen wurde dann offensichtlich, daß wir eine Methode ben tigen, um zeitliche Abl ufe exakt beschreiben zu k nnen. Dazu eignen sich Zustands- bergangsdiagramme besonders gut. 6.4 Zustands- bergangsdiagramme Diese Beschreibungstechnik abstrahiert reale, kontinuierliche zeitliche Abl ufe, indem sie einzelne Abschnitte ihres zeitlichen Verlaufs jeweils eine der beiden folgenden Kategorien einordnet: Relativ lang andauernde Zust nde (symbolisiert durch abgerundete Rechtecke), welche einen andauernden Vorgang und/oder einen konstanten Wert eines Attributs dargestellt werden und in verschwindend kurzen Zeitspannen ablaufende berg nge zwischen diesen Zust nden (symbolisiert durch Pfeile). Jeder Pfeil wird zumindest mit der Aktion, welche den jeweiligen bergang ausl st, markiert. Am Beispiel der Sperrung von Datens tzen oder Tabellen kann das in einfacher Weise veranschaulicht werden: Datensatz gesperrt Bearbeiter schließt Datensatz Bearbeiter ffnet Datensatz Alle Datens tze freigegeben Administratior startet Sortierverfahren Administratior beendet Sortierverfahren Tabelle gesperrt Abbildung 1: Datenbanksperren im Zustands- bergangsmodell Ger t bereit Abheben [keinfreizeichen] Auflegen [besetzt] Auflegen [Wartezeit zu lang] Auflegen App1: H rer abgehoben [Freizeichen] W hlbereit W hlen Phys. verbunden [frei] App2: Klingelt [App2 wird abgehoben] App2: H rer abgehoben Sprechbereit Zustand1 [Bedingung f r bergang] Ausl seaktion /ausgel ste Aktion/ Zustand2 Abbildung 2: Zustands- bergangsdiagramm einer Telefonverbindung Seite 2
3 Mit den bisher zur Verf gung stehenden Syntaxelementen k nnen wir allerdings nur endliche Automaten ohne Ausgabe modellieren. Um auch den Ablauf von Automaten mit Ausgabe, Kellerautomaten oder Turingmaschinen beschreiben zu k nnen, ben tigen wir zus tzlich weitere Notationsm glichkeiten. Am Beispiel des Aufbaus einer Telefonverbindung kann die Einf hrung bedingter berg nge (notiert durch die Bedingung in eckigen Klammern an der jeweiligen Transition) veranschaulicht werden (siehe Abbildung 2). Zus tzlich kann man als dritte Markierung (kursiv gesetzt) noch eine Aktion anbringen, welche durch den bergang ausgel st wird. 6.5 Beschreibung abstrakter Maschinen Als Hintergrundinformation f r Lehrkr fte soll hier kurz dargestellt werden, wie man den Ablauf diverser Typen abstrakter Maschinen mit Hilfe der oben eingef hrten Zustandsbergangsdiagramme beschreiben kann. Wir halten uns an die oben eingef hrte Notation (siehe Abbildung 1). Zustand Z 1 Zustand Z 2 / Abbildung 3: Notation der Zustands- bergangsdiagramme Auf dieser Grundlage stellen wir Argumente und Werte der Zustands- bergangsfunktion vom Zustand z 1 zum Zustand z 2 durch Tripel (A, B, G) dar. Die ausl sende Aktion ist in allen F llen die Eingabe eines Zeichens. Der Einfachheit halber schreiben wir kurz A = k statt A = "EINGABE = k". Mealy-Automat Der bergang von z 1 nach z 2 als Reaktion auf die Eingabe a mit gleichzeitiger Ausgabe b: (z 2, b) (z 1, a) (A, B, G) = (a, _, b) Kellerautomat Als (nicht dargestellte) Hilfsdatenstruktur stellen wir uns einen Keller mit unendlicher Kapazit t vor, der mit Zeichen aus dem Alphabet K bef llt werden kann. Ein Zeichen aus K dient als Kellerbegrenzer. Darauf sollen die Funktionen PUSH() und POP() in der blichen Weise definiert sein. Der bergang z 1 z 2 bei Eingabe von a und oberstem Kellersymbol k mit gleichzeitigem Ablegen der Zeichenfolge w auf dem Keller sieht dann so aus: (z 2, w) (z 1, a, k) (A, B, G) = (a, IF POP() = k, PUSH(w)) Turingmaschine Als Hilfsdatenstruktur verwenden wir ein unendlich langen Band mit linear angeordneten Zeichen aus einem Alphabet T vor. Eines dieser Zeichen wird als Leerzeichen verwendet. Die von der Eingabe a ausgel ste Transition mit Schreiben (WRITE) von b und anschließender Bewegung (MOVE) des Schreib-Lesekopfes in Richtung c {,, } schreibt sich als (z 2, b, c) (z 1, a) (A, B, G) = (a, _, WRITE b; MOVE c). Seite 3
4 Der Strichpunkt trennt dabei die Aktionen innerhalb von Aktionssequenzen. 6.6 Ein Veranschaulichungsbeispiel Nun sind wir in der Lage, einfache reale Automaten mit Hilfe von Zustandsbergangsdiagrammen zu beschreiben. Der Getr nkeautomat in der Aula der Schule k nnte etwa das Diagramm aus Abbildung 4 liefern. Initialisieren Aus Strom Einschalten Strom Ausschalten Initial Abbruchtaste /Geld zur ck Abbruchtaste /Geld zur ck 5DM,1DM,0.5DM Ausgabe /Getr nk ausgeben, Restgeld zur ck Getr nk gew hlt Limo, Cola [Eingabe >= 1.50 DM] Geld erhalten Limo, Cola 5DM,1DM,0.5DM Abbildung 4: Ein Getr nkeautomat Zielangabe: Nun wollen wir diesen Automaten mit Hilfe eines Rechners simulieren. Dazu m ssen wir uns vorher einige Grundkenntnisse ber imperative Programmierung aneignen. 6.7 Algorithmen und Programme Neben den Zustands- bergangsdiagrammen stellen Algorithmen eine alternative Methode zur Beschreibung zeitlicher Abl ufe dar. Ihre Grundelemente haben wir bereits fr her kennengelernt. Hier zur Erinnerung nochmals eine Definition des Begriffs (aus Broy 1992): Ein Algorithmus ist ein Verfahren mit einer pr zisen (d.h. ineiner genau festgelegten Sprache abgefaßten) endlichen Beschreibung unter Verwendung effektiver (d.h. tats chlich ausf hrbarer) Verarbeitungsschritte. Als Sprache kann dabei ein (pr zisierter) Ausschnitt der nat rlichen Sprache ebenso wie synthetische formale Sprachen verwendet werden. Unter letztere Kategorie fallen Programmiersprachen wie Pascal, C, C++, Java. Seite 4
5 Ein Programm ist nichts anderes als die (hoffentlich) exakte Formulierung eines Algorithmus in einer speziellen Sprache. Die einzelnen Verarbeitungsschritte werden (in imperativen Programmiersprachen) in Form von Anweisungen oder Befehlen formuliert. Mit Hilfe eines Programms k nnen wir den Ablauf eines Zustands- bergangsmodells auf einem Rechner simulieren. Ein Beispiel f r einen Algorithmus: Falls Nagel und Hammer vorhanden Stecke den Nagel mit der Hand senkrecht zur Oberfl che ins Holz Nimm den Hammer in die rechte Hand Wiederhole bis der Kopf des Nagels das Holz ber hrt Schlage mit dem Hammer parallel zur Nagelachse auf den Nagelkopf Falls der Nagel seitlich ausweicht Biege ihn wieder gerade Hier erkennt man bereits, daß die Forderung nach Pr zision nicht leicht zu erf llen ist. Auch die Frage, wann Ausf hrungsschritte elementar sind, ist nicht immer leicht zu beantworten. Es ist jedoch leicht zu erkennen, daß Algorithmen einige wenige grundlegende Strukturelemente aufweisen: Sequenzen (Folgen von Verarbeitungsschritten) Alternativen (Wenn, dann, Falls...) Wiederholungen (Wiederhole bis...) Man nennt diese Strukturelemente auch Kontrollstrukturen, da sie den Ablauf des Handlungsgeschehens kontrollieren. 6.8 Zust nde und Variable Wenn wir die Abl ufe, welche durch Zustands- bergangsdiagramme beschrieben werden, durch Programme simulieren wollen, ben tigen wir ein Hilfsmittel zur Simulation der Zust nde. Daf r verwendet man in der Programmiertechnik Variable. Das sind mit einem Namen versehene Container, die verschiedene Werte aus einem bestimmten Wertebereich (Sorte oder Typ) annehmen k nnen. Die Sch ler kennen bereits ein hnliches Konzept aus dem Datenbankbereich in Form der Attribute von Entit tsklassen. Ein Beispiel: Die Variable mit dem Namen Z hler soll als Container f r Sorte der nat rliche Zahlen dienen. Sie k nnte dann als Wert etwa die Zahl 12 enthalten. Der Name Variable kommt daher, daß dieser Wert ge ndert werden kann. 12 Z hler Andere Beispiele f r Variable: Name Wertebereich Inhalte z.b. Buchtitel Text (String) Fr ulein Smillas Gesp r f r Schnee, Faust Geburtsdatum Datum , Abteilung Zeichen (Character) 2, h, X, + Seite 5
6 Der Zusammenhang mit Zustands- bergangsdiagrammen wird hergestellt, indem man jedem Zustand wie in Abbildung 5 einen bestimmten Wert einer Variablen (oder sp ter eine Kombination von Werten mehrerer Variablen) zuordnet Erh hung von Z hler um 1 Z hler=1 Z hler=2 Z hler=3 Verminderung von Z hler um 1 Erh hung von Z hler um 1 Verminderung von Z hler um 1 Z hler:=1 Inhalt von Z hler nicht definiert Abbildung 5: Variablen und Zust nde berg nge werden durch Ver nderung des Wertes der jeweiligen Variable ausgel st: Der Variablen Z hler wird zum Beispiel der (ver nderte) Wert 1 zugewiesen. Wir schreiben daf r Z hler := 1. Eine solche Aktion heißt deswegen Zuweisung. Dieser Aktionstyp ist charakteristisch f r eine ganz bestimmte Art von Programmiersprachen, die sogenannten imperativen Programmiersprachen. Die Aktion Z hler := 1 muß streng von der Aussage Z hler = 1 unterschieden werden. Letztere sagt aus, dass die Variable Z hler gegenw rtig den Wert 1 hat. Diese Unterscheidung wird den Sch lern mit Hilfe der Zustands- bergangsdiagramme schnell klargemacht. 6.9 Imperative Programmierung Ein SQL-Abfrageprogramm f r eine relationale Datenbanken ist (im einfachsten Fall) eine Kombination von Kriterien, die beschreiben, welche Daten wir aus den betroffenen Tabellen extrahieren wollen. Im Gegensatz dazu besteht ein imperatives Programm aus einer Kombination von Befehlen oder Anweisungen, von jeder eine spezielle Aktion ausl st. Wir kennen bisher nur den Zuweisungsbefehl :=. Man kann imperative Programme als eine Folge von Zustandskombinationen der betroffenen Variablen ansehen. Der Zuweisungsbefehl sieht beispielsweise in Pascal folgendermaßen aus: Aktion Syntax Beispiel Wirkung Zuweisung <Variable> := <Term> Z hler := Z hler/3 Der Wert des Terms auf der rechten Seite des := wird berechnet und anschließend das Ergebnis der auf der linken Seite bezeichneten Variablen als Wert zugewiesen. Sequenzen von Befehlen Um eine Folge von Anweisungen hintereinander ausf hren zu k nnen, gibt es die M glichkeit, diese in Form einer Sequenz anzuordnen. In vielen Programmiersprachen werden an bestimmten Stellen, etwa innerhalb einer Auswahlanweisung (s.unten) nur einzelne Befehle zugelassen. In einem solchen Fall gibt es meist die M glichkeit, eine Sequenz von Befehlen mit Hilfe einer Sequenzklammer zu einem Befehl zusammenzufassen. In Pascal werden dazu die W rter begin und end verwendet. In C, C++ und Java verwendet man stattdessen die ge- Seite 6
7 schweiften Klammern { und }. Die einzelnen Befehle innerhalb der Sequenz werden oft (u.a. in Pascal) durch Strichpunkte voneinander getrennt. Ein m glicher Ablauf unseres Automaten aus Abbildung 5 w re dann etwa durch die folgende Pascal-Befehlsfolge festgelegt: z hler := 1; z hler := z hler+1; z hler := z hler+1; z hler := z hler-1; z hler := z hler-1; Hier ist allerdings Vorsicht geboten: diese Befehlsfolge repr sentiert NICHT den obigen Automaten, sondern nur einen seiner m glichen Abl ufe! Programme und Prozesse Nun erg nzen wir unsere Befehlssequenz zu einem vollst ndigen (wenn auch noch nicht sehr ergiebigen) Pascal-Programm: program Nummer1; var Z hler: Integer; begin z hler := 1; z hler := z hler+1; z hler := z hler+1; z hler := z hler-1; z hler := z hler-1; end. Programmdeklaration: Das Programm erh lt einen Namen Variablendeklaration: Die Container werden eingerichtet Beginn der Befehlsfolge Zuweisungsbefehl B1 Zuweisungsbefehl B2 Zuweisungsbefehl B3 Zuweisungsbefehl B4 Zuweisungsbefehl B5 Ende des Programms Der hier abgedruckte Text unseres ersten Programms Nummer 1 ist zun chst f r den Rechner nur ein Text wie jeder andere, etwa die Weihnachtsgr ße an Tante Emma. Um das Programm ausf hren zu k nnen, muß dieser erst durch ein speziell f r diesen Zweck konstruiertes anderes Programm (Compiler oder Interpreter) in eine Folge von ausf hrbaren Maschinenbefehlen (Maschinencode) bersetzt werden. Diese Befehle sind Kombinationen aus Nullen oder Einsen, z.b Sp ter werden wir mehr dar ber erfahren. Dieser Maschinencode wird dann im Hauptspeicher des Rechners oder als ausf hrbare Datei auf der Festplatte aufbewahrt, bis seine tats chliche Abarbeitung gestartet wird. Dann entsteht daraus ein aktiver Prozeß. Wir fassen die verwendeten Begriffe nochmals zusammen: Programm Formuleirung eines Algorithmus in einer bestimmten Programmiersprache, z.b. Pascal, Basic, C++, Java. Maschinencode Folge von Maschinenbefehlen, z.b , ,.. welche vom Rechner unmittelbar ausgef hrt werden k nnen. Prozeß Compiler Folge von Aktionen des Rechners bersetzungsprogramm, das vor dem Start des Prozesses den gesamten Programmtext in Maschinencode bersetzt Seite 7
8 Interpreter bersetzungsprogramm, die Befehle des Programmtextes einzeln bersetzt und sofort deren Ausf hrung startet. Der Ablauf eine Programm bersetzung durch einen Compiler l ßt sich wiederum mit einem Zustands- bergangsdiagramm (auf abstrakterer Ebene) beschreiben (siehe Abbildung 6). bersetzen/ Compilieren Programmtext Maschinencode Ausf hrung starten Prozeß Abbildung 6: Kompilierung uns Ausf hrung eines Programms 6.10 E/A-Automaten Ein System, das durch ein Zustands- bergangsdiagramm beschrieben werden kann, nennen wir Automat. Unser Automat aus Abbildung 5 hat gegenw rtig noch den unsch nen Nachteil, dass er nicht mit seiner Umgebung kommunizieren kann. In der Regel werden Automaten durch Eingaben, d.h. durch Signale aus ihrer Umgebung auf bestimmten Kan len, gesteuert. Aufgrund der Regeln des Zustands- bergangsdiagramms produzieren sie in Reaktion auf die Eingaben ganz bestimmte Ausgaben auf speziellen Ausgabekan len. Das Datenflußdiagramm eines Automaten in Abbildung 7 zeigt drei Eingabe- und zwei Ausgabekan le. Eingabekan le E/A Automat Ausgabekan le Abbildung 7: Kan le eines E/A-Automaten Es gibt in unserer Umgebung zahlreiche Maschinen, die auf diese Weise arbeiten, wie etwa Kaffee-, Getr nke oder Kaugummiautomaten. Ein Getr nkeautomat k nnte die folgenden Kan le aufweisen: Eingabekan le: Ausgabekan le: Netzschalter, Geldeinwurf, Getr nkewahltaste, R ckgabeknopf Netzsignall mpchen, Geldausgabe, Getr nkeausgabe In unserer imperativen Programmiersprache Pascal verwenden wird f r die Ein- und Ausgabe (u.a.) die folgenden Befehle: Aktion Syntax Beispiel Wirkung Eingabe readln(<variablenname>) readln(z hler); die Eingabe von der Tastatur bis zum Bet tigen der return-taste Seite 8
9 wird der genannten Variable als Wert zugewiesen. Ausgabe writeln(<term>) writeln(z hler+1) Der Wert des Terms wird am Bildschirm ausgegeben. Im Zustands- bergangsdiagramm von E/A-Automaten sind die Ausl seaktionen f r berg nge in der Regel Eingaben. Zur Vereinfachung notieren wir dann an den bergangspfeilen oft nur die Eingabewerte, nicht mehr die gesamte Aktion. Wir schreiben also nur noch Cola anstatt Auswahlknopf f r Cola bet tigt. Wir reichern unser obiges Programm 1 mit einem Eingabe- und einem Ausgabebefehl an... readln (z hler);.. writeln(z hler); 6.11 Variablenzust nde Bei Verwendung mehrerer Variablen beschreibt wird ein Ablauf eines Programms durch eine Spur im Zustandsraum beschrieben. Dieser Raum wird durch die Variablen aufgespannt, wobei jede Variable eine Dimension beitr gt. Wir betrachten ein kleines Programm2 mit zwei Variablen: begin Z hler :=3; Nenner :=2; Z hler := Z hler +1; Nenner := 2*Nenner; Z hler := Z hler/nenner; end. Zuweisungsbefehl B1 Zuweisungsbefehl B2 Zuweisungsbefehl B3 Zuweisungsbefehl B4 Zuweisungsbefehl B5 Das Zustands- bergangsdiagramm dieses Programms sieht dann folgendermaßen aus: Z hler=3 Nenner n. def B2: Nenner:=1 Z hler=3 B3: Z hler:=z hler+1 Nenner=2 Z hler=4 Nenner=2 B1: Z hler:=1 B4: Nenner:=2*Nenner Z hler n. def, Nenner n.def Z hler=1 Nenner=4 B5: Z hler:=z hler/nenner Z hler=4 Nenner=4 Abbildung 8: Programm 1 im Zustands- bergangsdiagarmm Der Ablauf des Programms Nr. 2 f hrt zur folgenden Spur im zweidimensionalen Zustandsraum: Seite 9
10 nenner n. def Z 0 Z 1 nenner = 1 nenner = 2 nenner = 3 nenner = 4 nenner = 5 Z 5 Z 2 Z 3 Z 4 Zustandsr ume von Programmen mit mehr als drei Variablen sind offensichtlich nicht mehr grafisch darstellbar Modellzust nde Unser Ziel ist es, mit Hilfe von Zustands- bergangsdiagrammen reale oder geplante Systeme zu modellieren und diese Modelle dann mit Hilfe einer Programmiersprache zu simulieren. Bei der Erstellung von zustandsorientierten Modellen f hrt die Auffassung von Zust nden als Punkte eines mehrdimensionalen Zustandsraumes meist zu einem un bersichtlichen Gewirr von Zust nden, in dem die wesentlichen Aspekte des Systems untergehen. Man faßt deshalb oft eine Menge von Punkten (einen Unterraume ) des eigentlichen (Variablen-)Zustandsraums zu einem (Modell-) Zustand zusammen. Wir werden im folgenden also zwischen Variablenund Modellzust nden unterscheiden m ssen. Dieses Vorgehen hat zur Konsequenz, dass man f r jeden Zustand eine signifikante Variable zu seiner Definition ben tigt. Bei unserem Getr nkeautomaten werden im Modellzustand Geld erhalten viele Variablenzust nde der Variablen Geldeingabe zusammengefaßt Bedingte berg nge Bisher haben wir nur den Ablauf von Automaten simuliert, deren Zust nde jeweils einem Punkt im Variablen-Zustandsraum entsprachen. In diesem Fall f hrt jede Zuweisung eines ver nderten Wertes an irgendeine Variable automatisch zur nderung des Zustandes. Bei Modellzust nden gilt das unter Umst nden nicht mehr, n mlich dann, wenn der Wert einer f r den Zustand irrelevanten Variablen ver ndert wird, etwa der Wert von Geldeingabe im Zustand Geld erhalten bei unserem Getr nkeautomaten. Wir ben tigen daher ein Sprachmittel, das uns bedingte berg nge erlaubt nach dem Schema: "Falls eine bestimmte Variable in bestimmter Weise ver ndert wird, gehe zu Zustand..". Eine solche Anwesiung heißt bedingte Bedingte Anweisung Ein Beispiel f r eine bedingte Anweisung (ohne Alternative) w re bei unserem Getr nkeautomaten die Steuerung des bergangs zwischen dem Zustand Aus und dem Zustand Ein durch Eingabe des Steuersignals Strom einschalten. Aus einschalten Initial Abbildung 9: Einfache Auswahl Seite 10
11 In Pascal: Aktion Syntax Beispiel Wirkung bedingte Anweisung If <Bedingung> then <Anweisung> if Eingabe = einschalten then Zustand := Ein Falls <Bedingung> wahr ist, wird die <Anweisung> ausgef hrt. Ansonsten wird zum n chsten Befehl nach der Auswahlanweisung bergegangen. Zur Veranschaulichung solcher Konstrollstrukturen kann man Ablaufpl ne (Kontrollflussdiagramme) einsetzen. Start <Bedingung> wahr Anweisung falsch Stop Abbildung 10: Ablaufplan f r eine bedingte Anweisung Bedingte Anweisung mit (Standard-)Alternative Eine typische Anwendung von Standardalternativen sind Reaktionen auf fehlerhafte Eingaben. Am Beispiel einer Division kann das veranschaulicht werden: Aktion Syntax Beispiel Wirkung einfache Auswahl mit Standardalternative If <Bedingung> then <Anweisung1> else <Anweisung1> if nenner <> 0 then bruch:=z hler/nenner else writeln( FEHLER! ) Das zugeh rige Zustands- bergangsdiagramm findet sich in Abbildung 11. Falls <Bedingung> wahr ist, wird die <Anweisung1> ausgef hrt, ansonsten <Anweisung2>. Seite 11
12 z hler = 5 bruch = 5/nenner z hler = 5 bruch n. def zahl eingeben [nenner <>0] /bruch := z hler/eingabe zahl eingeben [nenner = 0] /"FEHLER" ausgeben Fehlerzustand Abbildung 11: Einfache Auswahl mit Alternative Auch im Ablaufplan f r eine bedingte Anweisung kann man die Alternative eintragen: Start <Bedingung> falsch wahr <Anweisung1> <Anweisung2> Stop Abbildung 12: Ablaufplan f r bedingte Anweisung mit Alternative Fallunterscheidung Bei der Simulation von Automaten kommt man in den seltensten F llen ohne Fallunterscheidung aus, da es meist von einem Zustand aus mehrere Alternativen f r berg nge gibt. Wenn wir den Zustand Geld erhalten in unserem Getr nkeautomaten aus Abbildung 4 umsetzen wollen, haben wir folgende Alternativen f r berg nge von diesem Zustand aus: Eingabe Bedingung Endzustand Ausgabe M nze keine Geld erhalten keine Limo/Cola Eingabe >= 1.50 Getr nk gew hlt keine Abbruchtaste keine Initial Geld zur ck Leider kann in Pascal die Anweisung f r die mehrfache Auswahl nur mit Variablen eingesetzt werden, deren Wertemenge linear geordnet ist. Dazu geh ren Zeichen, ganze Zahlen, aber Seite 12
13 keine Gleitkommazahlen oder Texte (Strings). Deshalb m ssen wir die Eingaben durch einzelne Zeichen beschreiben: 5, 1 f r die M nzen 5DM, 1DM (50Pf lassen wir hier weg). l, c f r Limo und Cola a f r Abbruch. Damit kann man den bergang vom Zustand Geld erhalten aus in Pascal wie folgt beschreiben: program getraenke-teil; var zustand: String; eingabe: char; einnahme: Integer; begin.. case eingabe of 5 : einnahme:=einnahme+5; 1 : einnahme:=ennahme+1; l, c : if einnahme >= 2.5 then zustand:= Getr nk gew hlt a : begin zustand:= Initial ; ausgabe:=einnahme; else writeln / FEHLER! )... end. Die mehrfache Auswahl in Pascal sieht so aus: Aktion Syntax Wirkung mehrfahe Auswahl case <Ordinalvariable> of <Wert1>: <Anweisung1>; <Wert2>: <Anweisung2>;.. else <AnweisungAlt> Falls <Ordinalvariable> einen der aufgelisteten Werte annimmt, wird die dahinterstehende <Anweisung> ausgef hrt. Wird keiner der aufgelisteten Werte angenommen, kommt <AnweisungAlt> zur Ausf hrung. Die Standardalternative (else-zweig) kann weggelassen werden. Anstatt der Angabe von Werten k nnen auch Listen von Werten ( 5, 1, 0 ) oder Bereiche (2.. 8) angegeben werden. Seite 13
14 Start <Variable> = Wert 1 Wert 2 Wert 3 sonst <Anweisung1> <Anweisung2> <Anweisung3> <AnweisungAlt> Stop Abbildung 13: Fallunterscheidung 6.14 Wiederholungen Nun sind wir fast soweit, unsere Automaten simulieren zu k nnen. Unser einziges verbliebenes Problem besteht darin, daß der Automat wiederholt auf Eingaben reagieren sollte. Bisher k nnen wir nur einen einzigen bergang als Reaktion auf eine einzige Eingabe simulieren. Wir ben tigen also noch eine M glichkeit, Anweisungen zu wiederholen. Nat rlich muß diese Wiederholung abgebrochen werden k nnen, um Endlosschleifen zu vermeiden. Wir wollen solange wiederholen, als eine bestimmte Bedingung wahr ist. In Pascal gibt es zu diesem Zweck die while-anweisung: Aktion Syntax Beispiel Wirkung Wiederholung while <Bedingung> do <Anweisung> while zahl < 10 do begin writeln(zahl*zahl); zahl:=zahl+1; Solange die Bedingung wahr ist, wird die Anweisung ausgef hrt. Seite 14
15 Solange <Bedingung> wiederhole Anweisung Ende (des zu wiederholenden Blocks) Abbildung 14: Wiederholung Jetzt vef gen wir ber alle Hilfsmittel, un unseren Automaten aus Abbildung 4 simulieren zu k nnen. F r den ersten Versuch vereinfachen wir den Automaten noch ein wenig (siehe Abbildung 15 ): Strom aus stop (s) /Geld zur ck stop (s) stop (s) /Geld zur ck Initial (i) Abbruch /Geld zur ck Abbruch (a) /Geld zur ck Ausgabe (x) /Ware ausgeben, Restgeld zur ck 1,2,.5 bezahlt (b) [Eingabe >= Preis] 1,2,5 kassiert (k) [Eingabe< Preis] 1,2,5 Abbildung 15: Warenautomat Der Automat kann mit einem Netzschalter ein- und ausgeschaltet werden. Er akzeptiert Geldeinwurf, bis der festeingestellte Preis (z.b. 11DM) erreicht oder berschritten ist. Dann gibt er auf Befehl die Ware und das Wechselgeld aus Zus tzlich kann jeder Vorgang mit einem Abbruchknopf vorzeitig beendet werden. In diesem Fall wird die gesamte Einnahme wieder ausgegeben. Seite 15
16 Das folgende Pascal-Programm simuliert genau dieses Verhalten: program Automat; uses WinCrt; const preis = 11; var zustand: Char; eingabe: Char; einnahme: Integer; restgeld: Integer; power: String; begin zustand := i ;power := on ; while power = on do begin gotoxy(10,1);write( Eingabe: );eingabe:=readkey; Case zustand of i :begin einnahme := 0; Case eingabe of 1, 2, 5 :begin einnahme:= Ord(eingabe)-48;zustand := k ; s : power := off ; k :Case eingabe of 1, 2, 5 :begin einnahme:= einnahme+ord(eingabe)-48; if einnahme >= preis then zustand:= b ; a : begin restgeld := einnahme; zustand := i ; gotoxy(20,10);writeln( Restgeld:,restgeld); s : begin restgeld := einnahme; power := off ; gotoxy(20,10);writeln( Restgeld:,restgeld); b :Case eingabe of x : a : s : begin restgeld := einnahme-preis; zustand := i ; gotoxy(20,10);writeln( Restgeld:,restgeld); gotoxy(20,11);writeln( Warenausgabe:, KAUGUMMI! ); begin restgeld := einnahme;zustand := i ; gotoxy(20,10);writeln( Restgeld:,restgeld); begin restgeld := einnahme;power := off ; gotoxy(20,10);writeln( Restgeld:,restgeld); gotoxy(30,1);write( Einnahme:,einnahme); Seite 16
17 gotoxy(30,2);write( Zustand:,zustand); end. Wir erkennen darin sehr leicht die Struktur, die sich bei der Simulation von endlichen Automaten ergibt, n mlich eine Wiederholung, innerhalb derer sich eine Fallunterscheidung f r die Zust nde befindet, die wiederum in jeder Alternative je eine Fallunterscheidung f r die Eingaben enth lt. 1 A A A B 2 B B 3 Abbildung 16: Beispielautomat Solange weiter = WAHR 1 Zustand = 2 3 Eingabe = Eingabe = Eingabe = A B A B A B a; Zustand:=2 b; Zustand:=3 c; Zustand:=1 d; Zustand:=3 e; Zustand:=1 f; Zustand:=2 Abbildung 17: Simulation schematisch Seite 17
18 Wiederhole solange weiter = WAHR Falls Zustand = 1: Falls Eingabe = A: Aktion a; Zustand = 2 B: Aktion b; Zustand = 3 2: Falls Eingabe = A: Aktion c; Zustand = 1 B: Aktion d; Zustand = 3 3: Falls Eingabe = A: Aktion e; Zustand = 1 B: Aktion f; Zustand = Literatur Balzert H.: Lehrbuch der Software-Technik. Software-Entwicklung. Hedelberg, Berlin, Oxford. Spektrum, Akad. Verlag, 1996 Brauer W.: Automatentheorie. Teubner, Stuttgart, 1984) Broy M.: Informatik. Eine grundlegende Einf hrung, Teil I. Springer, Berlin Heidelberg, Horn C., Kerner I.O.(Hrsg.): Lehr- und bungsbuch Informatik. Band 1: Grundlagen und berblick, Band 3: Praktische Informatik. Fachbuchverlag Leipzig, Seite 18
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrRepetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrEinführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
MehrHandbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
MehrSkript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!
Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrModellbildungssysteme: Pädagogische und didaktische Ziele
Modellbildungssysteme: Pädagogische und didaktische Ziele Was hat Modellbildung mit der Schule zu tun? Der Bildungsplan 1994 formuliert: "Die schnelle Zunahme des Wissens, die hohe Differenzierung und
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
MehrInfo zum Zusammenhang von Auflösung und Genauigkeit
Da es oft Nachfragen und Verständnisprobleme mit den oben genannten Begriffen gibt, möchten wir hier versuchen etwas Licht ins Dunkel zu bringen. Nehmen wir mal an, Sie haben ein Stück Wasserrohr mit der
MehrGratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book
Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book Wir wollen wissen wieviel Umsatz Vertreter Müller im Juni gemacht hat? Dazu klicken wir irgendwo in ein Feld und geben ein: =SVERWEIS
MehrStammdatenanlage über den Einrichtungsassistenten
Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
MehrSummenbildung in Bauteiltabellen mit If Then Abfrage
Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrBerechnung der Erhöhung der Durchschnittsprämien
Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
Mehr4.1 Wie bediene ich das Webportal?
4.1 Wie bediene ich das Webportal? Die Bedienung ist durch ein Redaktionssystem sehr einfach möglich. Das Tutorial zeigt Ihnen wie Sie SMS-News und Top-News erstellen und veröffentlichen können. Schritt
MehrTipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".
Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden
MehrAnlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert
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
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
Mehr1.Unterschied: Die Übungen sind nicht von deinem Mathe-Lehrer...
mit den Spezialkursen so funktioniert es! Liebe Schülerinnen und Schüler, wenn ihr jetzt sagt: Mathe üben mit dem PC? Cool, wie funktioniert das denn? dann seid ihr hier im Mathe-Online-Center genau richtig.
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrAccess [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten
Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen
MehrGleichungen Lösen. Ein graphischer Blick auf Gleichungen
Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrR ist freie Software und kann von der Website. www.r-project.org
R R ist freie Software und kann von der Website heruntergeladen werden. www.r-project.org Nach dem Herunterladen und der Installation von R kann man R durch Doppelklicken auf das R-Symbol starten. R wird
MehrInformatik Kurs Simulation. Hilfe für den Consideo Modeler
Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke
MehrKreatives Gestalten mit Flash 5.0
Kreatives Gestalten mit Flash 5.0 Animationen, Effekte und Anwendungen für das WWW Bearbeitet von Isolde Kommer 1. Auflage 2000. Buch. 444 S. Hardcover ISBN 978 3 446 21463 7 Format (B x L): 20,1 x 23,6
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrBetragsgleichungen und die Methode der Fallunterscheidungen
mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: franz.embacher@univie.ac.at
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrFallbeispiel: Eintragen einer Behandlung
Fallbeispiel: Eintragen einer Behandlung Im ersten Beispiel gelernt, wie man einen Patienten aus der Datenbank aussucht oder falls er noch nicht in der Datenbank ist neu anlegt. Im dritten Beispiel haben
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrProfessionelle Seminare im Bereich MS-Office
Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrBeweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6
MehrLineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrL10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
MehrBeispiel(unten ist der Spielfeldrand):
Anleitung Side by Side ist ein Puzzle mit einfachen Regeln, das in einem 6x6 (oder größerem) Gitter gespielt wird. Ziel des Spieles ist es, die leeren Kästchen mit den Zahlen 1, 2, 3, 4 oder einem X zu
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrV 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,
Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen
MehrAnwendungsbeispiele Buchhaltung
Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen
MehrWie Sie mit Mastern arbeiten
Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint
MehrTrueCrypt Anleitung: Datenschutz durch Festplattenverschlüsselung
TrueCrypt Anleitung: Datenschutz durch Festplattenverschlüsselung 1. Installation Seite 2 2. Datenträger mittels Truecrypt verschlüsseln Seite 2 a) Container erstellen Seite 3 b) Normales Volumen Seite
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrInhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen
Beispielheft Inhalt Allgemeine Einführung Test Eins: Test Zwei: Test Drei: Test Vier: Test Fünf: Argumentationsvermögen Auffassungsvermögen Zahlenvermögen Sprachverständnis Räumliches Vorstellungsvermögen
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrSchnelleinstieg. Datenimport für die EXPOSÉ - Familie. Import von Adress / Objektdaten aus MS Excel. = Datenintegration aus anderen Lösungen
Schnelleinstieg Datenimport für die EXPOSÉ - Familie Import von Adress / Objektdaten aus MS Excel = Datenintegration aus anderen Lösungen node Systemlösungen e.k. Kantstr. 149 10623 Berlin Tel: +49 30
Mehr4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
MehrAnleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)
Seite 1/7 Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.) Hier sehen Sie eine Anleitung wie man einen Serienbrief erstellt. Die Anleitung
MehrAnwendungshinweise zur Anwendung der Soziometrie
Anwendungshinweise zur Anwendung der Soziometrie Einführung Die Soziometrie ist ein Verfahren, welches sich besonders gut dafür eignet, Beziehungen zwischen Mitgliedern einer Gruppe darzustellen. Das Verfahren
MehrBedienung des Web-Portales der Sportbergbetriebe
Bedienung des Web-Portales der Sportbergbetriebe Allgemein Über dieses Web-Portal, können sich Tourismusbetriebe via Internet präsentieren, wobei jeder Betrieb seine Daten zu 100% selbst warten kann. Anfragen
Mehr10 Erweiterung und Portierung
10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle
MehrWie halte ich Ordnung auf meiner Festplatte?
Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,
MehrVerwalten und Organisieren von Fotos,
Verwalten und Organisieren von Fotos, Datensicherung auf einen externen Datenträger durchführen, Datensicherung auf externe Datenträger - Datensicherheit Grundsätze 02 - Sicherungsmethode / FreeCommander
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrWelche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?
Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen können zwei Ebenen (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen? Wie heiÿt
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen
Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access
MehrHilfedatei der Oden$-Börse Stand Juni 2014
Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten
MehrAutoformat während der Eingabe
Vorbereitung der Arbeitsumgebung Herbert Utz Verlag Endlich! Der Text ist abgeschlossen und die letzten Korrekturen sind eingearbeitet. Herzlichen Glückwunsch. Jetzt bleibt nur noch die richtige Formatierung,
MehrEigene Dokumente, Fotos, Bilder etc. sichern
Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrÜber Arrays und verkettete Listen Listen in Delphi
Über Arrays und verkettete Listen Listen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete
MehrStarten Sie Eclipse: Hier tragen sie Ihr Arbeitsverzeichnis ein. Zu Hause z.b. c:\workspace.
Starten Sie Eclipse: Abgesehen vom Kommandozeilenfenster, auf welches wir später eingehen, öffnet sich ein Dialog (in der FH vermutlich nicht, überspringen Sie in diesem Fall): Hier tragen sie Ihr Arbeitsverzeichnis
MehrAnleitung Postfachsystem Inhalt
Anleitung Postfachsystem Inhalt 1 Allgemeines... 2 2 Einloggen... 2 3 Prüfen auf neue Nachrichten... 2 4 Lesen von neuen Nachrichten... 3 5 Antworten auf Nachrichten... 4 6 Löschen von Nachrichten... 4
MehrHilfe zur Urlaubsplanung und Zeiterfassung
Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,
MehrStundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten
Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe
MehrGleichungen und Ungleichungen
Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrMdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.
Programm Die Bedienung des Programms geht über das Hauptmenü. Datenbank Schnittstelle Die Datenbank wir über die Datenbank- Schnittstelle von Office angesprochen. Von Office 2000-2003 gab es die Datenbank
MehrLineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
MehrSEQUENZDIAGRAMM. Christoph Süsens
SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrOECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
MehrMicrosoft Access 2010 Navigationsformular (Musterlösung)
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2010 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2010) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...
MehrMächtigkeit von WHILE-Programmen
Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
Mehr104 WebUntis -Dokumentation
104 WebUntis -Dokumentation 4.1.9.2 Das elektronische Klassenbuch im Betrieb Lehrer Aufruf Melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort am System an. Unter den aktuellen Tagesmeldungen erscheint
MehrSerienbrieferstellung in Word mit Kunden-Datenimport aus Excel
Sehr vielen Mitarbeitern fällt es schwer, Serienbriefe an Kunden zu verschicken, wenn sie die Serienbrieffunktion von Word nicht beherrschen. Wenn die Kunden mit Excel verwaltet werden, genügen nur ein
MehrIst Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?
UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Mehr