1. Hausaufgabe c++ PDF

Title 1. Hausaufgabe c++
Course Einführung in die Informationstechnik für Ingenieure
Institution Technische Universität Berlin
Pages 8
File Size 361.8 KB
File Type PDF
Total Downloads 584
Total Views 939

Summary

Technische Universität Berlin - IWF Prof. Dr.-Ing Rainer Stark M. Maurice Preidel 1. Übungsblatt - Einführung in die Informationstechnik für Ingenieure Abgabe nur über ISIS. Abgabezeitpunkt auf ISIS beachten! Hinweise für alle Aufgaben:  Es muss (wo möglich und sinnvoll) mit Funktionen gearbeitet w...


Description

Technische Universität Berlin - IWF Prof. Dr.-Ing Rainer Stark M.Sc. Maurice Preidel

1. Übungsblatt - Einführung in die Informationstechnik für Ingenieure Abgabe nur über ISIS. Abgabezeitpunkt auf ISIS beachten!

Hinweise für alle Aufgaben:  Es muss (wo möglich und sinnvoll) mit Funktionen gearbeitet werden.  Achten Sie auch auf ausreichende Kommentierung und Formatierung.  Wenn explizit in der Aufgabenstellung angeben, müssen Fehler abgefangen werden. Ansonsten kann davon ausgegangen werden, dass der Nutzer nur gültige/erwartbare Werte eingibt.  Weiterhin sollen die Dinge angewandt werden, welche in den Übungen vermittelt wurden und keine fertigen Bibliotheken.  Für jede Aufgabe, bei der Programmcode abgegeben werden muss gilt: Als erste Ausgabe auf der Konsole muss folgender Text erscheinen (X, Y sowie Vor-, Nachname und Matrikel entsprechend mit Ihren Angaben ersetzen): o Hausaufgabe Nr. X, Gruppe Nr. Y, Gruppenmitglieder: Vorname Nachname (Matrikel), Vorname Nachname (Matrikel), Vorname Nachname (Matrikel) o Beispiel: Hausaufgabe Nr. 1, Gruppe 99, Gruppenmitglieder: Max Muster (123456), Maxi Beispiel (111111), Maximilian Beispielmuster (123123) o Fehlt diese erste Zeile oder ist sie fehlerhaft, muss nachgearbeitet werden 1.

Aufgabe (Kein Programmcode, Abgabe als PDF) a) Wandeln Sie die Dezimalzahl 1337 in eine Zahl zur Basis 2 um und die Zahl 4242 in Zahlen zur Basis 8 und 16 um. Hinweis: Der Rechenweg muss nachvollziehbar sein (Kein Taschenrechner). b)

Wandeln Sie die Dualzahl 110 1000 1101 1101 in eine Hexadezimalzahl um.

c)

Führen Sie die Berechnungen von (12-4) und (127+4) im Dualsystem mit Hilfe des Zweierkomplements durch. Der Zahlenbereich ist auf 1 Byte begrenzt. Hinweis: Achten Sie auf die Anzahl der Bits! überprüfen Sie die Richtigkeit des Ergebnisses durch Ausrechnen im Windows Taschenrechner im Programmiermodus. Geben Sie das Ergebnis als Dualzahl und Dezimalzahl an. Das Ergebnis von 127+4 ist unter den oben genannten Randbedingungen nicht 131.

_____________________________________________________________________________ _______________________ 1. Übungsblatt - Einführung in die Informationstechnik für Ingenieure Seite 1

2. Aufgabe Schreiben Sie ein Programm, welches ganze Zahlen zwischen 1 und 100 mit nicht mehr als 10 Fragen erraten kann. Das Programm soll Folgendes leisten: Nachdem sich der Benutzer eine Zahl zwischen 1 und 100 ausgedacht hat, fängt das Programm an systematisch Fragen zu stellen z.B.: „Ist die Zahl kleiner als ?“. Es dürfen nur Fragen gestellt werden, die eindeutig mit ja oder nein zu beantworten sind. Darauf soll der Benutzer mit „n“ für „nein“ und „j“ für „ja“ antworten können. Abhängig von der Nutzerantwort, stellt das Programm nun weiter Fragen, bis es sich sicher ist, um welche Zahl es sich handelt. Nun antwortet es z.B. mit: „Die gesuchte Zahl ist 1.“ Hinweis: Es kann davon ausgegangen werden, dass der Nutzer immer wahrheitsgemäß und mit „n“ für „nein“ und „j“ für „ja“ antwortet. Somit ist bei dieser Aufgabe ein Abfangen von Fehleingaben nicht erforderlich.

_____________________________________________________________________________ _______________________ 1. Übungsblatt - Einführung in die Informationstechnik für Ingenieure Seite 2

3.

Aufgabe Schreiben Sie ein Konsolenprogramm, zur Überprüfung einer vom Nutzer eingegebenen Strecke für die Routenplanung von Drohnen. Die Nutzereingaben müssen nur auf die in der Aufgabe beschriebene Weise geprüft werden. Für in der Aufgabe nicht beschriebene Eingaben, müssen keine Mechanismen zur Eingabeprüfung implementiert werden. Die Route der Drohne besteht aus drei Teilen: 1. 2. 3.

Weg nach oben in Kilometern (km) Weg parallel zur Erde in km Rückweg zum Startpunkt

Die Drohne fliegt diesen Weg nach folgendem Muster ab: 1. 2. 3.

Die Drohne startet senkrecht, ohne seitliche Bewegung Die seitliche Bewegung, parallel zur Erde wird ausgeführt, sobald die Drohne auf der vorgegebenen Höhe angekommen ist. Die Drohne kehrt auf dem kürzesten Weg zum Startpunkt zurück (Annahme: keine Hindernisse vorhade, Drohe hat direkte „Sihtkotakt“ zu Startpukt), ladet ud shaltet sih a.

Die Drohne kann insgesamt höchstens 20km mit einer Batterieladung fliegen. Das Programm soll aus Nutzersicht folgendes leisten: 1. 2. 3.

Eingabe des Weges nach oben Eingabe des Weges parallel zur Erde Prüfung ob der Nutzer für beide Wege eine Zahl größer oder gleich Null eingegeben hat. Wenn der Weg nach oben oder parallel zur Erde kleiner als Null ist, soll folgendes passieren: a. Ausgabe auf der Konsole: Sowohl die parallel zur Erde geflogene Strecke, als auch die Höhe müssen größer oder gleich 0 sein.

4.

b. Warten, dass der Nutzer eine Taste drückt c. Programm beenden und -1 zurückgeben Ausgabe der Gesamtstrecke, die die Drohne von Start bis Landung zurücklegen würde, wenn die Route wie vom Nutzer gewünscht nach oben beschriebenen Muster abgeflogen wird. Dazu soll folgende Ausgabe auf der Konsole erscheinen (X und Y sind vom Programm zu berechnen): Die gesamte Strecke ist X km lang. Davon legt die Drohne Y km auf dem Rückweg zurück.

5.

6. 7.

Basierend auf der zurückgelegten Gesamtstrecke, soll folgende Ausgabe auf der Konsole erscheinen: a. Gesamtstrecke ist größer als 20km: Leider würde die Drohne auf dieser Route abstürzen, da ihr der Strom ausgeht. b. Gesamtstrecke ist gleich 20km: Noch ein Millimeter mehr und der Drohne wäre der Strom ausgegangen! c. Gesamtstrecke ist kleiner als 20km: Die Batterie der Drohne ist für diese Route groß genug. Guten Flug! Warten, dass der Nutzer eine Taste drückt Programm beenden und 0 zurückgeben

_____________________________________________________________________________ _______________________ 1. Übungsblatt - Einführung in die Informationstechnik für Ingenieure Seite 3

Hausaufgabe Nr. 1, Gruppe 11, Gruppenmitglieder: Sebastian Seidel (394185), Sami Alexander Abusaman (385297), Ronan Erwan Peter Demarbiax (376879) Einführung in die Informationstechnik 1.Aufgabe a) ZahlBasis 133710:2= 66810:2= 33410:2= 16710:2= 8310:2= 4110:2= 2010:2= 1010:2= 510:2= 210:2= 110:2=

Ergebnis 668 334 167 83 41 20 10 5 2 1 0

Rest 1 0 0 1 1 1 0 0 1 0 1

Ableserichtung

ZahlBasis 424210:8= 53010:8= 6610:8= 810:8= 110:8=

Ergebnis 530 66 8 1 0

Rest 2 2 2 0 1

Ableserichtung

ZahlBasis 424210:16= 26510:16= 1610:16= 110:16=

Ergebnis 265 16 1 0

Rest 2 9 0 1

Ableserichtung

Damit folgt aus der Zahl 1337 zur Basis 10 die Zahl 10100111001 zur Basis 2.

Damit folgt aus der Zahl 4242 zur Basis 10 die Zahl 10222 zur Basis 8.

Damit folgt aus der Zahl 4242 zur Basis 10 die Zahl 1092 zur Basis 16.

b) Dualzahl 1101000110111012 in Hexadezimal umwandeln (von hinten 4er Gruppen bilden). 0110

1000

1101

1101

68DD16

8+4+0+1=13 ➔ D

Ableserichtung

8+4+0+1=13 ➔D 8+0+0+0=8 ➔ 8 0+4+2+0=6 ➔ 6

1

Hausaufgabe Nr. 1

, Gruppenmitglieder:

c) Berechnen von (12-4) und (127+4) im Dualsystem mit Hilfe Zweierkomplement (begrenzt auf 1 Byte). (12-4) ➔ (12 + (-4)) umwandeln der einzelnen Zahlen ins Dualsystem 0000 1100 = 12 0000 0100 = 4 // Bits kippen 1111 1011 // 1 dazu addieren +0000 0001

0000 1100 + 1111 1100 1111 1 Übertrag 10000 1000 = 8 1 fällt weg wegen Begrenzung auf 8 Bit.

1111 1100 = -4 = K2(4) (127+4) umwandeln der einzelnen Zahlen ins Dualsystem 0111 1111 = 127 +0000 0100 = 4 1111 1 Übertrag 1000 0011 =-12510=K2(125) da die Zahl höher wäre als 127 und das Zweierkomplement hier auf 8 Bit (1 Byte) begrenzt ist entsteht ein Überlauf

-128

0 Überlauf

127 128

Zweierkomplement für 1 Byte

2

#include using namespace std; int main() { int ObereGrenze = 100; int UntereGrenze = 0; char antwort; int raten; cout...


Similar Free PDFs