Pseudo-Programmiersprache

Ähnliche Dokumente
L1 Programmiersprachen

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

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

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Die Programmiersprache C

Projekt 3 Variablen und Operatoren

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

1.8.5 Wiederholungen. Beispiele Unendliche Schleife: 1.8 Kontrollstrukturen 75. ( Bedingung ) AnweisungOderBlock. ja Anweisung. Bedingung erfüllt?

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

Ein- und Ausgabe (I/O)

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C/C++ und MATLAB

Grundlagen der Programmentwicklung

Grundlagen der Informatik 2. Typen

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Funktionales C++ zum Ersten

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

Grundlagen der Informatik 5. Kontrollstrukturen II

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

5. Elementare Befehle und Struktogramme

Kapitel 3: Variablen

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Unterlagen. CPP-Uebungen-08/

Klausur in Programmieren

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente

Klausur in Programmieren

Java I Vorlesung Imperatives Programmieren

Einführung in die C-Programmierung

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Einführung in die Programmierung

Ein kleiner Blick auf die generische Programmierung

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

Einführung in die Programmierung Wintersemester 2016/17

Hochschule Darmstadt Informatik-Praktikum WS 2016/2017 WIng Bachelor 4. Aufgabenblatt Modularisierung, Funktionen, Unterprogramme

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Grundlagen von C# - 1

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2

Grundlagen der Informatik 4. Kontrollstrukturen I

C++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16

Einführung in die Programmierung

Hochschule Darmstadt Informatik-Praktikum SS 2017 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe

Programmieren in C / C++ Grundlagen C 2

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

BKTM - Programmieren leicht gemacht.

Einführung in die Programmierung Wintersemester 2011/12

Intensivübung zu Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Algorithmen zur Datenanalyse in C++

Programmieren in C/C++ und MATLAB

Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Angewandte Mathematik und Programmierung

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen.

Programmieren - C++ Templates

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

FB Informatik. Fehler. Testplan

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Kontrollstrukturen -- Schleifen und Wiederholungen

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Informationsverarbeitung im Bauwesen

Arbeiten mit JavaKara

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Einführung in die Programmierung

1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

2. Programmierung in C

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Grundlagen der Informatik 6. Arrays I

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Hydroinformatik I: Hello World

Grundlagen der Informatik - 6. Praktikum

Klausur Informatik WS 2012/13

Programmieren in C/C++ und MATLAB

Informatik I - Übung 2 Programmieren in Eclipse

CEN1112 Labor Software-Entwicklung

Übungen zu C++ Kapitel 1

Gestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen

Grundlagen der C++ - Programmierung für das MiniBoard von qfix 1

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

Wissenschaftliches Rechnen

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Klausur in Programmieren

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23

Elementare Datentypen in C++

Klausur Programmieren 1 SS 2017

Transkript:

1 Erste Schritte in C++ 4 Beschreibungsmöglichkeiten für Algorithmen Struktogramm Das gezeigte Struktogramm enthält die elementaren Grundstrukturen Folge, Auswahl und Schleife. Diese werden in einem der nächsten Abschnitte genauer erläutert. Pseudo-Programmiersprache Als Pseudo-Programmiersprache wird eine Sprache bezeichnet, die sich an eine bestehende Programmiersprache anlehnt. Bei der Formulierung des Algorithmus werden aber nicht so strenge Richtlinien angelegt wie bei der konkreten Programmiersprache. Beispiel: ALGORITHMUS Klassensprecherwahl-Stimmauszaehlung SOLANGE Stimmzettel in der Wahlurne TUE BEGINN Stimmzettel entnehmen Stimmzettel lesen WENN Name = A-Mann DANN Strich bei A-Mann SONST Strich bei B-Frau ENDE Striche zaehlen WENN Anzahl der Striche A-Mann = Anzahl der Striche B-Frau DANN Losentscheid SONST WENN Anzahl Striche A-Mann > Anzahl Striche B-Frau DANN A-Mann gewaehlt SONST B-Frau gewaehlt datadidact 2016 11

2 1 Aufbau einer Programmierung mit C++ 2 Kommentare und Datentypen Im folgenden Kapitel lernen Sie - wie ein C++-Programm aufgebaut ist - Kommentare im Programmcode zu schreiben - Datentypen nach Einsatzmöglichkeit und Speicherbedarf zu unterscheiden - Variablen, Konstanten, Anweisungen und Wertzuweisungen zu formulieren - implizite und explizite Typkonvertierungen sowie Inkrement- und Dekrementoperatoren kennen. 2.1 Aufbau einer Programmierung mit C++ Vom Quelltext zum lauffähigen Programm Dieses Buch arbeitet mit der integrierten Entwicklungsumgebung von Borland C++ unter Windows. Weltweit existieren ca. 10 Entwicklungssysteme für C++. Seit dem Jahr 1998 ist die Sprache nach ISO standardisiert, so dass alle Programmbeispiele mit jedem C++-System ausgeführt werden können. Im Entwicklungssystem werden die dem Menschen verständlichen C++-Quelltexte editiert (verändert), zudem werden die jeweiligen Programme compiliert (übersetzt) und gelinkt (verknüpft, verbunden mit Bibliotheken). Bei größeren Programmierprojekten arbeitet man immer mit mehreren CPP-Dateien ihre Anzahl kann sehr groß werden, wenn viele Programmierer an dem Projekt beteiligt sind. Der erzeugt aus den Quelltexten *.cpp und *.h sogenannte Objektdateien (*.obj). Der Linker bindet diese Objektdateien mit Bibliotheksdateien (*.lib) zu einem ablauffähigen EXE-Programm. Bibliotheksdateien enthalten vorgefertigte Sammlungen von Programmmodulen. ERSTPROG.CPP main() IOSTREAM.H X.CPP Y.H usw.... ERSTPROG.OBJ X.OBJ *.OBJ *.LIB Linker ERSTPROG.EXE 12 datadidact 2016

1 Erste Schritte in C++ 4 Beschreibungsmöglichkeiten für Algorithmen Programmaufbau Das hier dargestellte Beispielprogramm in C++ hat die Struktur der Sequenz. Diese Struktur wird weiter unten erläutert. Auch das EVA-Prinzip ist gut zu erkennen. // Programm Erstprog.cpp // Einbinden einer Header-Datei // iostream ist notwendig, um Ein-/Ausgabe nutzen zu koennen #includ <iostream> using namespace std; /* Definitionsteil */ // main() enthaelt das Hauptprogramm zwischen den geschweiften Klammern {} void main() { float a,b,c; // Deklaration der Variablen /* Anweisungsteil */ cout << "Programm zum Addieren von zwei Zahlen." << endl; // Startmeldung cout << "Geben Sie die erste Zahl ein: "; // Eingabeaufforderungen cin >> a; cout << "Geben Sie die zweite Zahl ein: "; cin >> b; c=a+b; /* Berechnung der Summe, Ergebnis in c ablegen */ cout << "Die Summe von " << a << " und " << b << " ist " << c << "."; // Ergebnis ausgeben cout << endl; } An diesem Beispiel soll der Aufbau eines Programms in C++ erläutert werden. Ein Programm in C++ besteht zunächst aus 2 Teilen. I. Einbinden evtl. benötigter Headerdateien (Vorspanndateien). Durch diese werden neue Befehle in C++ zugänglich. Es gibt eine Reihe von Standard-Headerdateien, die bei jeder C++- Implementierung mitgeliefert werden. Eine davon ist die Datei iostream, durch die Befehle zur Eingabe und Ausgabe verfügbar werden. II. Im Definitionsteil werden benötigte Variablen und Funktionen definiert. Im hier dargestellten einfachsten Fall wird nur die Funktion main() definiert, die das Hauptprogramm enthält. Funktionen und damit auch das Hauptprogramm main bestehen wiederum aus zwei Teilen. A. Im Variablendeklarationsteil werden die benötigten Variablen und Konstanten eingeführt (deklariert). B. Im Anweisungsteil wird der eigentliche Algorithmus in der Sprache C++ formuliert. datadidact 2016 13

2 1 Aufbau einer Programmierung mit C++ 2 Kommentare und Datentypen Grobanalyse des Beispielprogramms Erstprog.cpp Im Deklarationsteil werden drei Variablen mit den Namen a, b und c deklariert. Diese können bestimmte Datentypen ( Datentypen siehe einen der nächsten Abschnitte) speichern, hier float, also Fließkommazahlen. Im Anweisungsteil werden verschiedene Anweisungen zur Ausgabe (cout <<) und Eingabe (cin >>) verwendet. Auch eine Berechnungsvorschrift (c=a+b) ist zu finden. 2.2 Kommentare und Datentypen Um den Überblick über ein größeres Programm zu behalten ist es wichtig, Programmteile optisch voneinander trennen zu können und bestimmte Anmerkungen anbringen zu können. Dies geschieht durch Kommentare, die vom restlichen Text auf zwei Arten abgetrennt werden können. Durch // wird ein Kommentar eingeleitet, der bis zum Ende der Zeile geht. Kommentare können aber auch in /*... */ eingeschlossen werden. Der Text in Kommentarklammern unterliegt keinen Einschränkungen und ist absolut beliebig. C++ kennt verschiedene Datentypen, die jeweils einen bestimmten Platzbedarf und verschiedene Wertebereiche haben. Diese hängen von der Architektur eines Computers ab. Folgende Angaben beziehen sich auf einen handelsüblichen Laptop: Typname Bereich Platzbedarf in Bytes bool true, false 1 char -128 bis 127 bzw. Zeichen nach ASCII-Tabelle, z.b. A oder @ 1 unsigned char 0 bis 255 bzw. Zeichen nach ASCII-Tabelle, z.b. A oder @ 1 int -32768 bis +32767 4 long -2 147 483 648 bis +2 147 483 647 4 unsigned int 0 bis 65535 4 unsigned long 0 bis 4.294.967.295 4 float ±3,4*10-38 bis ±3,4*10 +38 4 double ±1,7*10-308 bis ±1,7*10 +308 8 long double ±3,4*10-4932 bis ±1,1*10 +4932 10 // Deklaration von Variablen float a,a2; // reelle Zahlen char b; // Zeichen unsigned long l; // lange vorzeichenlose Ganzzahl long double x; // sehr genaue relle Zahl mit großem Zahlenbereich Darüber hinaus können bei Bedarf weitere Typen definiert werden, z.b. Aufzählungstypen oder Verbunde. datadidact 2016 14

4 Modul (Unterprogramm, Funktion) 5 Funktionen mit Rückgabetyp 6 Verschachtelter Funktionsaufruf PotFunk.cpp Schreiben Sie ein Programm mit einer C++-Funktion, die die folgende mathematische Funktion berechnet, wobei das Funktionsergebnis vom Typ float ist. Der Wert von x soll als Parameter an die Funktion übergeben werden. Eine Zahl eingeben: 1 Das Funktionsergebnis lautet -13 Noch eine Zahl eingeben: 2 Das Funktionsergebnis lautet 16 f(x) = 3x 3 + x 2 + 5x - 22 Euklid2.cpp Schreiben Sie das Programm Euklid1.cpp so um, dass der ggt von zwei Zahlen mit Hilfe einer Funktion namens ggt(...) berechnet wird. AddBruch.cpp Der Computer soll zwei Brüche addieren, die in Form von Zähler und Nenner eingegeben werden. Die Summe soll gekürzt ausgegeben werden. Erstellen Sie ein Struktogramm und schreiben Sie das Programm unter Verwendung der Funktionen int kuerze(zahl,zaehler,nenner) und int ggt(...) (ggt = größter gemeinsamer Teiler). Addition zweier Brueche Geben Sie den Zaehler des 1. Bruchs ein: 4 Geben Sie den Nenner des 1. Bruchs ein: 6 Geben Sie den Zaehler des 2. Bruchs ein: 2 Geben Sie den Nenner des 2. Bruchs ein: 3 ggt ist: 6 ggt ist: 6 Ergebnis: 4 / 3 Kapitel.cpp Mit Hilfe der Funktionen Potenz(float basis, long exponent) und Kapital(float anfangskapital, float zinssatz, long jahre) soll ein Hauptprogramm bei einzugebendem Anfangskapital, Zinssatz und Laufzeit die Zinsen berechnen. MittelwertF.cpp Schreiben Sie eine Funktion double Mittelwert(double a), die bei jedem Aufruf den Mittelwert aus allen bisher beim Aufruf übergebenen Werten von a und dem aktuellen Wert von a berechnet und als Ergebnis zurückgibt. Dazu verwenden Sie innerhalb von Mittelwert statische Variablen für Summe und Anzahl der erfolgten Funktionsaufrufe. datadidact 2016 67