4. Operatoren, Ausdrücke und einfache Anweisungen
|
|
- Anton Bachmeier
- vor 7 Jahren
- Abrufe
Transkript
1 4. Operatoren, Ausdrücke und einfache Anweisungen Ein Programm besteht aus einer Folge von Anweisungen, die festlegen, welche Aktionen der Rechner auszuführen hat. Einfache Anweisungen sind entsprechen im Wesentlichen den Aufbau eines Maschinenbefehls: Grobe Einteilung: 1. Den nächsten Maschinenbefehl aus dem Arbeitsspeicher holen. 2. Die im Maschinenbefehl zu verarbeitenden Operanden WOMIT aus dem Arbeitsspeicher holen und im Rechenwerk bereitstellen. 3. Das Rechenwerk zur Ausführung der Operation WAS starten. 4. Das Ergebnis der Operation in den Arbeitsspeicher WOHIN schreiben. Durch die Einführung von Variablen und der Folge von Anweisungen kommt man im Programm selber ohne die umständlichen Maschinenbefehle aus. 1
2 Eine einfache Anweisung mit den Variablen a, b, c der Form a = b + c entspräche dann folgender Abfolge: 1. Hole den Drei-Adress-Befehl Addiere b und c und lege Ergebnis in a ab 2. Hole den Inhalt von b ins Rechenwerk 3. Hole den Operator + (den der Drei-Adress-Befehl angibt) 4. Hole den Inhalt von c und verknüpfe ihn gemäß des bereitgestellten Operators mit dem Inhalt im Rechenwerk (also den von b) 5. Lege das Ergebnis unter a ab. Einfache Anweisungen mit arithmetischen Operatoren Die Grundrechenarten +, -, *, / und die Modulus-Operation % (Rest bei Integerdivision) sind sog. binäre Operationen, d. h. sie verknüpfen zwei Operanden mittels besagter Grundrechenoperation. Grundsätzlich gilt: die Zu- bzw. Anweisung wird über das Gleichheitszeichen realisiert. Es hat die Funktion weise etwas zu. Links vom Gleichheitszeichen steht die Variable, der etwas zugewiesen wird, rechts die Operation in Form eines Ausdrucks, deren Ergebnis der Variablen zugewiesen wird. Der Aufbau ist also folgender: Variable = einfacher Ausdruck. Ein einfacher Ausdruck ist entweder eine Konstante oder Variable oder besteht aus der der Reihenfolge Variable2/Konstante2 Operator Variable3/Konstante3. Links vom Gleichheitszeichen darf nur eine Variable stehen, NIE eine Anweisung! Eine Zuweisung (die wir schon von der Initialisierung der Variablen her kennen) ist ein Spezialfall einer einfachen Anweisung und hat das Aussehen: Variable1 = Konstante oder Variable1 = Variable2. Der einfache Ausdruck (also der Teil rechts vom Gleichheitszeichen) besteht also nur aus einer Konstanten oder einer Variablen. Dabei sollten Variable1, 2 und die Konstante denselben Datentyp haben. Es gibt zwar Abweichungen, doch sicherer (und fehlerunabhängiger) ist die Zusicherung der Variablenzuweisungen gleichen Typs. Der zweite Fall einer Zuweisung durch Inhalt einer 2
3 Variablen ist auch (bei gleichem Typ) immer möglich, doch hat der Programmierer sicherzustellen, daß Variable2 bereits über einen definierten Wert verfügt. Eine einfache Anweisung, die keine Zuweisung ist, hat das Aussehen: Variable1 = Variable2 Operator Variable3 Anstelle der Variablen 1 und 2 können auch Konstanten treten. Auch hier gilt zunächst zu beachten, daß alle beteiligten Variablen/Konstanten vom selben Datentyp sind. Variable 2 muß nicht unbedingt von Variable 3 verschieden sein die Anweisung kreisinhalt = 3.14 * radius * radius macht durchaus Sinn - es muß nicht einmal die Variable1 sich von den anderen beiden unterscheiden: die Anweisung i = i + 1 erfüllt in C den Zweck, daß der alte Inhalt von i um 1 erhöht und dann wieder i zugewiesen wird. Anmerkung: Die Operation i = i + 1; kommt insbesondere bei Schleifendurchläufen zur Erhöhung der Indexzahl sehr häufig vor. Es hat sich dafür eine Abkürzung eingebürgert: i++; Zusammengesetzte Anweisungen Eine zusammengesetzte Anweisung ist im Prinzip eine Kombination mehrerer einfacher Ausdrücke mittels (arithmetischer) Operatoren. Sie hat im Prinzip das Aussehen Variable = zusammengesetzter Ausdruck. Dabei gilt: zusammengesetzter Ausdruck = einfacher Ausdruck oder zusammengesetzter Ausdruck = zusammengesetzter Ausdruck Operator einfacher Ausdruck. Im Klartext: Man kann auf der rechten Seite des Gleichheitszeichens beliebig komplexe Ausdrücke verwenden. Wieder gilt: links vom Gleichheitszeichen darf nur der Variablenname stehen! 3
4 Operatoren in C sind: () Klammerung * Multiplikation / Division + Addition - Subtraktion Die Reihenfolge entspricht auch der Priorität der Abarbeitung. Es gilt Punkt- vor Strichrechnung und die üblichen Klammerregeln. Bei Rechenoperationen gleicher Priorität wird von links nach rechts abgearbeitet, doch sollte man sich nicht unbedingt darauf verlassen und die Eindeutigkeit durch geeignete Klammerung sicherstellen. Einige Beispiele mögen erhellend(?) wirken. /* Beisiele einfacher Anweisungen */ #include <stdio.h> void main() { float a = 2.0; float b = 30.0; float h = 10.0; float erg; /* Ergebnis */ } /* erste Anweisung: Punkt vor Strichrechnung */ erg = a + b / * h + 5; printf("\n%g + %g / * %g + 5 = %g\n", a, b, h, erg); /* zweite Anweisung: Klammerung */ erg = ((a + b) / ) * (h + 5); printf("\n((%g + %g) / 2-2.5) * (%g + 5) = %g\n", a,b,h,erg); getchar(); Das Ergebnis erg der ersten Anweisung ist korrekt -3: / 2 2,5 * = = -3. Man sieht deutlich die Ausführung der Operationen: Punkt- vor Strichrechnung, d. h. Multiplikation und Division als Rechenoperationen höherer Priorität werden zuerst ausgeführt. Das Ergebnis erg der zweiten Anweisung ist 202,5: zunächst werden die Klammern ausgewertet, da diese oberste Priorität besitzen. Es ist (a+b)/2 = 16, 4
5 (16-2,5) = 13,5 (h+5) = 15; 13,5*15 = 202,5. Der Vollständigkeit wegen sei noch der letzte Operator % vorgestellt, der sogenannten Restdivision. Man versteht darunter den Rest, der bei ganzzahliger Division zweier ganzer Zahlen verbleibt. Beispielsweise ist bei Division der Zahl 10 durch 4 bekanntlich neben dem ganzzahligen Quotienten 2 der Rest 2 (anstatt das gebrochen rationale Ergebnis 2½). Für diese Rechenoperation im mathematischen Sinne die Modulo-Operation steht der Operator % bereit. Seine Anwendung möge folgendes Beispiel verdeutlichen: /* Restdivision */ #include <stdio.h> void main() { int a = 10; int b = 4; int ergint; /* Integer-Ergebnis */ /* Rest-Division Mod */ ergint = a % b; printf("\n%i MOD %i = %i\n", a,b,ergint); getchar(); } Das Ergebnis ergint ist 2. Tatsächlich ist ja 10 geteilt durch 4: 2 Rest 2, denn 2*4 + 2 = (bzw. 10 mod 4 = 2). Typkonvertierung In all diesen Beispielen sind die Variablen in einer Anweisung alle vom gleichen Typ float bzw. int. Was geschieht, wenn dies nicht der Fall ist? In groben Fällen (char und float zusammengerührt) gibt bereits der Compiler eine Fehlermeldung heraus. Andererseits wissen wir, daß grundsätzlich einer char-variablen ein Integerwert zugewiesen werden kann sofern dieser zwischen 0 und 255 liegt. Dann wird das zugehörige ASCII-Zeichen genommen. 5
6 Eigentlich dürften Anweisungen der Form 2*3,5 auch nicht das Problem darstellen, obwohl 2.0 * 3.5 die sicherere Variante ist. In der Tat sind gewisse Typkonvertierungen möglich, d. h. daß kurzfristig der Typ des Wertes der Variablen (also nicht ihr Datentyp allgemein!) sich ändert. Ein Beispiel: /* Typkonvertierung bei Nichtübereinstimmung */ /* der Datentypen der linken und rechten */ /* Seite einer Anweisung */ #include <stdio.h> void main() { int a = 10; int b = 4; int ergint; /* Integer-Ergebnis */ float ergfloat; /* Real-Ergebnis */ ergint = a / b; ergfloat = a / b; printf("\ninteger-division: %i / %i = %i", a,b,ergint); printf("\nreal-division: %i / % i = %f", a,b,ergfloat); } getchar(); Die Ergebnisse sind für ergint = 2, ergfloat = 2,0000 Das heißt, um eine Real- als Integerzahl darzustellen, wird der Nachkommaanteil abgeschnitten. Doch warum ist das Ergebnis für ergfloat nicht 2,5 da schließlich als float-variable deklariert? Weil a und b ganze Zahlen sind. Die Division ganzer Zahlen liefert immer ein ganzzahliges Ergebnis, in diesem Fall 2. Da allerdings ergfloat vom Typ float ist, wird anschließend das Ergebnis in eine Real-Zahl gewandelt, eben 2,0. Also: Wenn die Datentypen der rechten Seite mit dem der linken Seite nicht übereinstimmen, erfolgt Typkonvertierung zum Typ der linken Seite. 6
7 Wie kann man nun den obigen Konflikt vermeiden? Sicherlich durch Einführung neuer Variablen vom Typ float. Es geht auch anders: man kann Typkonvertierung explizit verlangen. /* Typkonvertierung bei Nichtübereinstimmung */ /* der Datentypen der linken und rechten */ /* Seite einer Anweisung */ #include <stdio.h> void main() { int a = 10; int b = 4; int ergint; /* Integer-Ergebnis */ float ergfloat; /* Real-Ergebnis */ } ergint = a / b; ergfloat = (float) a / b; printf("\ninteger-division: %i / %i = %i", a,b,ergint); printf("\nreal-division: %i / % i = %g", a,b,ergfloat); getchar(); Mit Hilfe der expliziten Typumwandlung, cast-operator genannt, kann der Datentyp für einzelne Operationen angepaßt werden, ohne daß die Typdeklaration davon betroffen wäre. (float) macht aus dem Wert von a eine Real-Zahl, d.h. aus 10 wird Die Division a/b liefert damit ein Real-Ergebnis, das ergfloat zugewiesen wird. Die Umkehrung von float zu int ist auch möglich. Doch dazu reicht eine einfache Zuweisung aus, in der links vom Gleichheitszeichen eine Integer-Variable und rechts eine Operation mit reellem Ergebnis steht. Wichtiger ist der Fall der Datenkonvertierung von float nach double: Aus der float-variablen wird durch den Cast (double) ein Wert vom Typ double. Es gilt zu bedenken, daß Typumwandlungen, implizit oder explizit durch Anweisung, Rechenzeit kosten. Deshalb sollte der Programmierer für reinrassige Ausdrücke sorgen. 7
8 Mathematische Funktionen Mit Fließkommazahlen sind eine Vielzahl von mathematischen Operationen möglich. Viele bekannte Funktionen wie Wurzel-, Logarithmus- und trigonometrische Funktionen stehen auch in C zur Verfügung und können daher gnadenlos in Ausdrücke eingebaut werden. Anweisungen der Form y = sin 2 x sind damit möglich. Gibt man sie allerdings direkt als Anweisung ein, wird der Compiler Protest erheben. sin will er einfach nicht erkennen. Der Grund ist derselbe, als der Compiler zu Beginn die printf-funktion nicht kennen wollte. Erst als man ihm über die #include-anweisung die sogenannte Header-Datei Include/stdio.h vermittelte, war er zufrieden. Er fand dort die Funktionsprototypen der Funktion printf. Hingegen ist der von sin nicht in Include/stdio.h. enthalten. Diese muß in math.h gesucht werden. Daher ist der Header um die weitere Datei Include/math.h über eine weitere #include-anweisung zu erweitern. Das nachfolgende Beispielprogramm veranschaulicht dies: /* Winkelberechnung am rechtwinkligen Dreieck */ #include <stdio.h> #include <math.h> #define M_PI 4.0 * atan(1.0) void main() { float katha, kathb; /* Katheten a und b des Dreiecks */ float hyp; /* Hypothenuse des Dreiecks */ float alpha, beta; /* Winkel zwischen Kathete u. Hypothenuse */ /* Eingabe */ printf("\nbitte die Längen der Katheten a und b eingeben.\n"); printf("a = "); scanf("%g", &katha); fflush(stdin); printf("b = "); scanf("%g", &kathb); fflush(stdin); /* Verarbeitung */ hyp = sqrt(katha*katha + kathb* kathb); alpha = asin(katha/hyp); beta = asin(kathb/hyp); /* Umrechnung der Winkel von Bogen- in Gradmaß */ alpha = (180/M_PI) * alpha; beta = (180/M_PI) * beta; /* Ausgabe */ printf("\nkathete a = %g", katha); printf("\nkathete b = %g", kathb); 8
9 printf("\nhypothenuse c = %g", hyp); printf("\nwinkel Alpha = %5.2f Grad", alpha); printf("\nwinkel Beta = %5.2f Grad\n", beta); getchar(); } Im Kopf ist als weitere Datei math.h über eine #include-anweisung eingeschlossen. Sie liefert die Funktionen sqrt ( sqrt - Quadratwurzel) und asin (arcus sinus). Ärgerlicherweise ist in der Entwicklungsumgebung von Visual C++ nicht die Konstante π abgelegt, weswegen wir sie über eine define-definition als Konstante deklarierten. In der Borland - Entwicklungsumgebung ist sie hingegen in math.h abgelegt. Man findet sie unter der Abkürzung M_PI. Die verfügbaren Funktionen lauten: Exponentialfunktionen/Wurzelfunktion: c = a b c = e b c = pow(a,b); c = exp(b) c = a c = sqrt(a) Logarithmus-Funktion: c = ln(a) c = log(a) mit a > 0. trigonometrische Funktionen: das Argument ist im Bogenmaß einzugeben. y = sin(x) y = cos(x) y = tan(x) Arcus-Funktionen: der Funktionswert steht im Bogenmaß y = asin(x) arcus sinus y = acos(x) arcus cosinus y = atan(x) arcus tangens z = atan2(y,x) liefert auch den Arcustangens von (y/x). Um den richtigen Quadranten zu erhalten, müssen y und y vorzeichengerecht eingegeben werden. 9
10 Hyperbolische Funktionen: y = sinh(x) y = cosh(x) y = tanh(x) Betragsfunktionen: j = abs(i) i und j int y = fabs(x) x und y double Auf- und Abrunden y = ceil(x) aufrunden auf nächsthöheren ganzen Zahlenbereich y = floor(x) abrunden auf nächstniedrige ganze Zahl; x und y sind double 10
Einstieg in die Informatik mit Java
1 / 21 Einstieg in die Informatik mit Java Einfache Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick 2 Arithmetische Operatoren 3 Inkrement und Dekrementoperatoren
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrOperatoren und Ausdrücke
Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
MehrAlgorithmen & Programmierung. Reelle Zahlen in C (2) Rechnen mit Gleitkommazahlen
Algorithmen & Programmierung Reelle Zahlen in C (2) Rechnen mit Gleitkommazahlen Norm für Gleitkommazahlen Die Darstellung von Gleitkommazahlen ist genormt (IEEE 754). Inhalte der Norm Es gibt zwei Grundformate
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrVariablen und Konstanten (1) Allgemeines
Variablen und Konstanten (1) Allgemeines Name: Variablen und Konstanten werden über einen eindeutigen Namen identifiziert Ort: Variablen müssen gespeichert werden und haben somit einen Ort, der dem Programmierer
MehrC- Kurs 03 Ausdrücke und Operatoren
C- Kurs 03 Ausdrücke und Operatoren Dipl.- Inf. Jörn Hoffmann jhoffmann@informadk.uni- leipzig.de Universität Leipzig InsDtut für InformaDk Technische InformaDk Ausdrücke Institut für Informatik Ausdrücke
MehrGrundstruktur eines C-Programms
Grundstruktur eines C-Programms // Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet /* Oder durch Slash Stern Stern Slash eingeschlossen */ #include // Präprozessor-Anweisungen
MehrKapitel 5. Datentypen und Operatoren
Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen
MehrEinheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen
Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik
MehrC-Programmierung: Ausdrücke und Operatoren#Division.2F
C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF
MehrDie einfachsten Anweisungen
2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser
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)
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
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrEin String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.
Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";
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
MehrFH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz
FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
MehrÜbersicht. Informatik 1 Teil 4: Programmwiederholungen (Schleifen), Entwurf, Mathematikfunktionen
Übersicht 4.1 Inkrementieren und Dekrementieren 4.2 Die for-schleife (Zählschleife) 4.3 Die for-schleife (Beispiel) 4.4 Bemerkungen zur for-schleife 4.5 Die while-schleife 4.6 Die while-schleife - Beispiel
MehrVariablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15
Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen
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
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
Mehr8 Typwandlungen. 8.1 Automatische Typkonvertierungen
8 Typwandlungen Hier geben wir Ihnen weitere Informationen zu Goto Java 2, die Sie ergänzend zu Hausaufgabe 3 lesen sollten. Sie sollten für die weiteren Ausführungen zunächst in Go To Java Kapitel 4.6
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
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.
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrGrundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke
Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii
MehrSchleifenanweisungen
Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung
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
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an
MehrÜbersicht über die C/C++ Bibliotheksfunktionen
Übersicht über die C/C++ Bibliotheksfunktionen Datei: c:\c_texte\c_lib.txt Datum: 7. März 2003 1. Übersicht über die Bibliotheken errno.h limits.h float.h stddef.h assert.h ctype.h locale.h math.h setjmp.h
MehrTrigonometrie. In der Abbildung: der Winkel 120 (Gradenmaß) ist 2π = 2π (Bogenmaß).
Trigonometrie. Winkel: Gradmaß oder Bogenmaß In der Schule lernt man, dass Winkel im Gradmass, also als Zahlen zwischen 0 und 60 Grad angegeben werden. In der Mathematik arbeitet man lieber mit dem Bogenmaß,
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
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
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
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
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf
MehrÜbungspaket 9 Logische Ausdrücke
Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester
MehrVorlesung 6: Operatoren, Logische Ausdrücke
Vorlesung 6: Operatoren, Logische Ausdrücke Inhalt Organisatorisches Offene Übungen Operatoren Logische Ausdrücke Dr. J. Raimann 1 Offene Übungen (durch Tutoren betreut) montags 1. und 2. Block (8.15 Uhr
MehrKomplexe Zahlen. Berechnung von n-ten Wurzeln. Als Beispiel behandeln wir die Bestimmung der 3-ten Wurzeln von z = i
Komplexe Zahlen Berechnung von n-ten Wurzeln Als Beispiel behandeln wir die Bestimmung der -ten Wurzeln von z = + i z:= + *I + i Nach diese Eingabe "weiss" das System, dass z die komplexe Zahl + i ist.
MehrVerwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
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
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
MehrMicrosoft Rechner. Kurzanleitung ohne Maus
Microsoft Rechner Kurzanleitung ohne Maus Förderzentrum für die integrative Beschulung blinder und hochgradig sehbehinderter Schülerinnen und Schüler (FIBS) Astrid Leutbecher Korrekturhinweise, Anmerkungen,
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
Mehr2. Ganze Zahlen int unsigned int
99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrÜbungspaket 13 Der Datentyp double
Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java
Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
MehrEinstieg in die Informatik mit Java
Vorlesung vom 5.11.07, Weitere Ausdrücke Übersicht 1 Vergleichsoperatoren 2 Kombinierte Zuweisungsoperatoren 3 Logische Operatoren 4 Weitere Operatoren 5 Klassifizierung von Operatoren 6 Typumwandlungen
MehrJavaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden
Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter
MehrDatentypen und Operatoren
Programmiervorkurs SS 2013 Datentypen und Operatoren Termin 2 Wiederholung: Einfache Datentypen Welche Datentypen kennt Ihr bereits? Einfache Datentypen Zeichen public class MyCharTest { char c1 = 'a';
MehrKapitel 6. Funktionen
Kapitel 6 Funktionen 1 Gliederung Kapitel 6 Funktionen 6.1 Einleitung 6.2 Übergabeparameter beim Funktionsaufruf 6.3 Aufbau einer Funktion 6.4 Einfache Beispiele 6.5 Beispiel: Taschenrechner 6.6 Standardfunktionen
Mehr2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int
74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable
1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem
MehrEinführung in die Informatik. Processing Numbers. Motivation. Primitive Datentypen. Operatoren versus Methoden
Motivation Einführung in die Informatik Processing Numbers Wolfram Burgard Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
MehrEinführung in die Informatik. Processing Numbers
Einführung in die Informatik Processing Numbers Wolfram Burgard 5/1 Motivation Computer bzw. Rechenmaschinen wurden ursprünglich gebaut, um schnell und zuverlässig mit Zahlen zu rechnen. Erste Anwendungen
MehrInformatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen
Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung
MehrTrigonometrische Funktionen
Abbildungsverzeichnis Inhaltsverzeichnis Trigonometrische Funktionen Die hier behandelten trigonometrischen Funktionen sind sin, cos, tan, cot. Es zeigt sich, dass die Umkehrfunktionen der trigonometrischen
Mehrfloat: Fließkommazahl nach IEEE 754 Standard mit 32 bit
Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen
MehrÜbungspaket 14 Eindimensionale Arrays
Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrMathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16
Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16 21. Januar 2016 Definition 8.1 Eine Menge R zusammen mit zwei binären Operationen
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:
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
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei
MehrKapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
Mehr2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
MehrL6. Operatoren und Ausdrücke
L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32
1. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 1 Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrArduino in C/C++ programmieren
1 Arduino in C/C++ programmieren Tutor: Dipl.-Ing. Jens Grätzer www1.hft-leipzig.de/graetzer/ graetzer@hft-leipzig.de 2 C/C++ auf dem Arduino Warum Arduino? Warum C/C++? Praxis Live 3 Warum Arduino? Mikrocontroller
MehrKapitel 4. Programmierkurs. Arten von Datentypen. Datentypen
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln WS 07/08 Datentypen und Operatoren Einschub Binärdarstellung Ganzzahlige Numerische Datentypen Logischer Datentyp Typumwandlung
MehrDefinitions- und Formelübersicht Mathematik
Definitions- Formelübersicht Mathematik Definitions- Formelübersicht Mathematik Mengen Intervalle Eine Menge ist eine Zusammenfassung von wohlunterschiedenen Elementen zu einem Ganzen. Dabei muss entscheidbar
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
MehrEinführung in die Praktische Informatik. Übungsblatt 3. PD Dr. U. Köthe Heidelberg, 7. November Aufgabe 3.1 Gaußsche Osterregel [6 Punkte]
Einführung in die Praktische Informatik PD Dr. U. Köthe Heidelberg, 7. November 2016 Übungsblatt 3 Aufgabe 3.1 Gaußsche Osterregel [6 Punkte] Erstellen Sie ein Programm, das mit dem Algorithmus von Gauß
MehrÜbungspaket 12 Der Datentyp char
Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrProgrammieren in C / C++ Grundlagen C 2
Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen
MehrEinführung in die Informatik I
Einführung in die Informatik I Kapitel I.2: Variablen und arithmetische Ausdrücke Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik
MehrGRUNDLAGEN MATHEMATIK
Mathematik und Naturwissenschaften Fachrichtung Mathematik, Institut für Numerische Mathematik GRUNDLAGEN MATHEMATIK 6. Komplexe Zahlen Prof. Dr. Gunar Matthies Wintersemester 2015/16 G. Matthies Grundlagen
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
MehrEinstieg in die Informatik mit Java
1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren
Mehr