Programmieren 1 C++ Aufgaben / Übungen.

Slides:



Advertisements
Ähnliche Präsentationen
Programme in C++.
Advertisements

Funktionen.
Forschungszentrum caesar
Einführung in die Programmierung Ausführbare Klassen
Programmieren in Logik
Imperative Programmierung -Entwicklungswerkzeuge
Parser generieren Yet Another Compiler – Compiler YACC.
Übung 6.1Turing-Maschine 1.Machen Sie sich mit der Funktionsweise des Busy Beaver-Programms vertraut Vollziehen sie die 11 Schritte der ersten Turing-Tabelle.
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
SWITCH - Anweisung.
SWITCH - Anweisung.
Klassenvariable (auch Klassendaten bzw. statische Attribute genannt) und statische Methoden.
Dateien. Eine Datei wird in C++ als ein Stream, also als ein Objekt einer bestimmten Klasse dargestellt.
ARRAY oder FELD oder VEKTOR
Polymorphie (Vielgestaltigkeit)
FOR Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
= Zahl: 5 2. Zahl: 5 3. Zahl: 5 4. Zahl: 5 Prüfe auf: 1.Gleichheit aller Zahlen 2.Gleichheit mind. 2er Zahlen 3.Ungleichheit.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 4 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
Zusammenfassung Vorwoche
Das erste Programm (Folie 16)
Einführung in C++ und das objektorientierte Programmieren (OOP)
DVG Ablaufsteuerung
Der C-Präprozessor 08-CPräprozessor.
Planung einfache Dateibehandlung (externe Dateien, Öffnen, Lesen/Schreiben, Schließen). Diskussion des Problems, die Wörter in einem gegebenen Text.
Statistikprogramm Projektleiter: Zimmermann Christoph
Wichtige Fachausdrücke in C
Einführung in die Programmiersprache C 1
Java programmieren mit JavaKara
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
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.
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Auswahlanweisungen, Iterationsanweisungen, Blöcke, Sprunganweisungen
Programmierung 1. Einführung Seite 1
Informatik II Grundlagen der Programmierung Programmieren in C Benutzerinteraktion / Ein- und Ausgabe Hochschule Fulda – FB ET Sommersemester
3. Lineare Befehle 3.1 Die Ausgabefunktion
PHP: Operatoren und Kontrollstrukturen
Beispiel 8 aus den Vorlesungsbeispielen (2) Struktogrammentwurf schrittweise.
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
A) Erklären Sie den Datentyp char. b) Erklären Sie den Datentyp Struct c) Erklären Sie die Wirkungsweise des Operators & bei Anwendung im Zusammenhang.
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
(Syntax, Strings/Zahlen, Variablen, Arrays)
Erweiterte Zuweisungskompatibilität. Wie kann man Objekte verschiedener Klassen einer Klassenhierarchie einander zuweisen ?
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Verzweigung oder bedingte Anweisung. Aufgabe: Ein Autofahrer tankt sein Auto voll und schreibt den Kilometerstand auf (drei- stelliger Tageszähler).Wenn.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
 Präsentation transkript:

Programmieren 1 C++ Aufgaben / Übungen

Algorithmus Beschreiben Sie einen Algorithmus für folgenden Sachverhalt als Flussdiagramm: Für einen einzulesenden beliebigen ganzzahligen Geldbetrag ist zu bestimmen, wie oft ein ebenfalls einzugebender Teilbetrag daraus entrichtet werden kann ? (vgl. ein Konto, von dem regelmäßige Abbuchungen geschehen sollen) Falls der Teilbetrag größer als der Gesamtbetrag ist, soll eine entsprechende Ausgabe erzeugt werden. Das Ergebnis ist auszugeben. Bei der Berechnung ist auf die Division zu verzichten, also eine Schleife mit fortgesetzter Subtraktion einzusetzen. In einer Tabelle seien Artikelpreise verzeichnet. Schreiben Sie einen Algorithmus, der den Durchschnittspreis bestimmt. Schreiben Sie einen Algorithmus, der den kleinsten / größten Preis in der Tabelle bestimmt. Schreiben Sie einen Algorithmus, der die beiden Aufgaben miteinander kombiniert und den Preis bestimmt, der die betragsmäßig kleinste / größte Abweichung vom Durchschnittspreis hat. Geben Sie bei allen Aufgabenvarianten die Tabelle der Preise ein, geben sie die Ergebnisse aus.

Lösungsvorschlag Flussdiagramm Start 2 Anweisungen im Kasten; sinnvolle Namen; lies Gesamtbetrag Gbetrag, lies Teilbetrag Tbetrag Gbetrag >= Tbetrag ? ja nein Zähler=0 Meldung: "Gesamtbetrag zu klein" Gbetrag >= Tbetrag ? Kopfschleife subtr. Gbetrag=Gbetrag-Tbetrag erhöhe Zähler um 1 Zusammenführung Meld.: Teilbetrag kann "Zähler" mal gezahlt werden. Ende

Programm /* Programm Abbuchung Eingabe eines Kontostands, Eingabe eines Abbuchungsbetrags Ergebnis: Anzahl der möglichen Abbuchungen, bis Kontostand kleiner als Abbuchungsbetrag (ohne Überziehen des Kontos) */ #include<iostream> // Funktionen für die Ein-/Ausgabe using namespace std; // Namensbereich void main (void) // die Funktion des Hauptprogramms { // aktiviert alle weiteren Operationen und Funktionen double gbetrag, tbetrag, gaufheben; // Variablenvereinbarungen Gleitkomma int zaehler; // Ganzzahl cout <<"Bitte Kontostand eingeben :"<<endl; // Schieben Ausgabe cin >> gbetrag; // Schieben Eingabe gaufheben=gbetrag; // Wertzuweisung cout <<"Bitte Teilbetrag fuer Abbuchung eingeben :"<<endl; cin >> tbetrag; if (gbetrag>=tbetrag) // Verzweigung / Bedingung { // Anweisung für erste Alternative (dann/then-Zweig) zaehler=0; while(gbetrag>=tbetrag) // Kopfschleife .. solange... { gbetrag=gbetrag-tbetrag; // Subtraktion u. Wertzuweisung zaehler=zaehler+1; // Addition } cout<<"Teilbetrag "<<tbetrag<<" kann "; // Textkonstante u. Inhalt einer Variablen ausgeben cout<<zaehler<<" mal vom Kontostand "<<gaufheben<<" abgebucht werden"<<endl; else // Anweisung für zweite Alternative (sonst/else-Zweig) cout<<"Gesamtbetrag zu klein, keine Abb. des Teilbetrags!"<<endl; } // Ende der Hauptprogramm-Funktion = Programmende

Algorithmus Beobachtungen / Erfahrungen / Anleitung Aufgabentext genau lesen Einzelne Anforderungen identifizieren (Was soll das Programm tun ?) und sammeln Objekte der Verarbeitung erkennen – welche Dinge werden bearbeitet, verwaltet, verknüpft, umgewandelt, gespeichert Anforderungen in eine logische Beziehung bringen; Reihenfolge, Abhängigkeiten herausarbeiten Anweisungen zur Erfüllung der Anforderungen entwickeln Anweisungen in die logisch richtige Reihenfolge bringen, dabei die Abhängigkeiten aus den Anforderungen beachten Komplexe Anweisungen weiter verfeinern bis zum Niveau der Programmanweisungen

Strukturierte Programmierung Schreiben Sie ein Programm, das die Eingabe einer ganzen Zahl zwischen 1 und 100 erwartet. Diese soll überprüft werden. Gegebenenfalls ist eine Fehlermeldung auszugeben. Die Zahl soll als Altersangabe interpretiert werden ( z.B.:sehr jung, jung, Teenie, Twen, mittel alt, alt, gruftig, scheint...). Veranlassen Sie Ihr Programm, zu jeder Zahl den entsprechenden Kommentar in Worten abzugeben (Ausgabe ist der Text, der das Alter beschreibt). Ihr Altersprogramm (oben) soll so verändert werden, dass es im Fall einer Fehleingabe nicht abbrecht, sondern mit erneuter Eingabeaufforderung reagiert, solange, bis endlich eine richtige Eingabe erfolgt. Schreiben Sie eine Funktion / ein Programm zur Berechnung der Hypotenuse eines rechtwinkligen Dreiecks. Eingaben: Katheten ; Ausgabe Hypotenuse. Ändern Sie Ihr Programm zur Berechnung der Hypotenuse so ab, dass es nach jeder Berechnung fragt, ob noch eine Berechnung auszuführen ist. Erst, wenn diese Frage verneint wird, soll das Programm enden. Varianten des Hypotenusenprogramms: ein Hauptprogramm, das eine Funktion zur Berechnung der Hyp. aufruft. Schreiben Sie eine Funktion / ein Programm, das vom Bediener die Eingabe einer beliebigen Anzahl von Gleitpunktzahlen erwartet, diese Zahlen im Verlauf der Eingabe zu einer Gesamtsumme addiert und anschließend den Durchschnitt berechnet. Ausgaben: Gesamtsumme, Anzahl der Eingaben und Durchschnitt.

Strukturierte Programmierung (Zeichen und Zeichen-Codes) Schreiben Sie ein Programm, das vom Bediener die Eingabe einer Reihe von Zeichen erwartet. Für jedes eingegebene Zeichen ist der zugehörige Zeichencode als Ganzzahl auf dem Bildschirm anzuzeigen. Jedes Zeichen ist durch ein Leerzeichen vom folgenden Zeichen zu trennen. Der Vorgang soll abbrechen, wenn als Trennzeichen <return> eingegeben wird. Schreiben Sie ein Programm, das beliebig viele Gleitpunktzahlen vom Bediengerät einliest und fortlaufend die aktuelle Anzahl, das Minimum, das Maximum, den aktuellen Durchschnitt berechnet und nach jeder Eingabe ausgibt. Das Programm soll bei der Eingabe eines Zahlenwerts in einer Umgebung von +/- 10^-9 um 0 enden.