Übung Informatik I - Programmierung - Blatt 2

Ähnliche Dokumente
Übung Informatik I - Programmierung - Blatt 3

Übungen zu Algorithmen

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Ein erstes Java-Programm

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Übung Programmierung WS 2007/08 - Blatt 6

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

Übung Programmierung WS 2007/08 - Blatt 5

Java - Programmierung - Prozedurale Programmierung 1

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Übung Informatik I - Programmierung - Blatt 8

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Übung Informatik I - Programmierung - Blatt 8

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

public class SternchenRechteckGefuellt {

Übung Informatik I - Programmierung - Blatt 6

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Primitive Datentypen

Übungsstunde 3. Einführung in die Programmierung

Kontrollstrukturen: Wiederholungsanweisungen

Java Ablaufsteuerung (Beispiele)

System.out.println("TEXT");

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben. Alle Aufgaben beziehen sich auf Java.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Einstieg in die Informatik mit Java

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben. Aufgabe 1.1. Alle Aufgaben beziehen sich auf Java.

Einstieg in die Informatik mit Java

2 Programmieren in Java I noch ohne Nachbearbeitung

II.3.1 Rekursive Algorithmen - 1 -

Anweisungen zur Ablaufsteuerung

Java: Eine kurze Einführung an Beispielen

Intensivübung zu Algorithmen und Datenstrukturen

JAVA - Methoden

Einstieg in die Informatik mit Java

II.1.1. Erste Schritte - 1 -

Einstieg in die Informatik mit Java

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben

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

Thomas Gewering Benjamin Koch Dominik Lüke. (geschachtelte Schleifen)

Javakurs für Anfänger

PR1-MB, SS10 Seite 1 Hauptklausur, geschrieben am Di

Programmiertechnik Klassen

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einstieg in die Informatik mit Java

Tutoraufgabe 1 (Typcasting):

Welche Informatik-Kenntnisse bringen Sie mit?

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

3. Anweisungen und Kontrollstrukturen

Java I Vorlesung Imperatives Programmieren

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassen

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Übung Informatik I - Programmierung - Blatt 3

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.

Programmierung

Einstieg in die Informatik mit Java

Vorkurs Informatik WiSe 16/17

Technische Universität München WiSe 2018/19 Fakultät für Informatik Übungsblatt 6 Dr. Ch. Herzog 26. November 2018

II.1.1. Erste Schritte - 1 -

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Einstieg in die Informatik mit Java

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:

Kontrollstrukturen: Wiederholungsanweisungen

Einführung in C. EDV1-04C-Einführung 1

Grundlagen der Programmierung

Einstieg in die Informatik mit Java

Programmierpraktikum

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17

Programmieren in Java

Vorkurs Informatik Wintersemester 2017/2018. Programmtexte

Grundlagen der Modellierung und Programmierung, Übung

Programmiertechnik Übungen zu Klassen & -methoden

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16

Prüfung Softwareentwicklung I (IB)

Übung Grundlagen der Programmierung WS 2008/09. Übung 04: Methoden. Abgabetermin: Prosabeschreibung Java-Programm.

Prüfung Softwareentwicklung I (IB)

Angewandte Mathematik und Programmierung

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke

Wenn... dann... if (condition) statement. if (kontostand < 0) System.out.println("Oops..."); false. condition. true. statement

Kontrollstrukturen: Wiederholungsanweisungen

Einführung in die Programmierung

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Javakurs für Anfänger

Aufgabe 1 (12 Punkte)

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2016/17. Vorbereitende Aufgaben

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

Erste Java-Programme (Scopes und Rekursion)

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

3. Java - Sprachkonstrukte I

Vorkurs Informatik WiSe 17/18

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)

Nino Simunic M.A. Computerlinguistik, Campus DU

Transkript:

RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof. Dr. Jürgen Giesl Peter Schneider-Kamp, René Thiemann, Thomas Weiler Übung Informatik I - Programmierung - Blatt 2 (Lösungsvorschlag) Aufgabe 1 a) Bestimmen Sie, falls möglich, den Typ und das Ergebnis der folgenden Java Ausdrücke. Dabei seien die Variable x, y und z wie folgt deklariert: int x = 1; int y = 2; int z = 3. 1. Ausdruck nicht typkorrekt. x < y vom Typ boolean kann nicht mit z vom Typ int verglichen werden. 2. Typ: int Ergebnis: 42 3. Typ: boolean Ergebnis: true 4. Typ: float Ergebnis: 6.0 5. Typ: float Ergebnis: 6.333333333333333 6. Typ: String Ergebnis: "x23" b) In welcher Reihenfolge werden die folgenden Ausdrücke jeweils ausgewertet? Geben sie eine vollständige Klammerung der Ausdrücke an. 1. (x + (y * z)) 2. ((x <= y) (((x + y) >= z) && (y!= z)))

Aufgabe 2 /* Dieses Programm potenziert eine ganze Zahl mit einer * natürlichen Zahl. Dabei wird zur Effizienzsteigerung * das Verfahren des wiederholten Quadrierens angendet. * Autor: Peter Schneider-Kamp * Erstellt: 22.10.2003 * Letzte Änderung: 28.10.2003, 19:12 */ public class Potenz { public static void main(string[] argv) { System.out.print("Bitte Basis eingeben: "); int basis = IO.readInt(); System.out.print("Bitte Exponent eingeben: "); int exponent = IO.readInt(); // fange ungültige Eingaben ab if (exponent < 0) { System.out.println("Exponent muß >= 0 sein!"); // Basisfall exponent = 0 int ergebnis = 1; while (exponent > 0) { // Niedrigstes Bit von exponent gesetzt? if (exponent % 2 == 1) { ergebnis = ergebnis * basis; basis = basis * basis; exponent = exponent / 2; System.out.println(ergebnis);

Aufgabe 3 /* Dieses Programm zeigt Weihnachtsbäume einer * gewünschten Höhe an. * Autor: Peter Schneider-Kamp * Erstellt: 22.10.2003 * Letzte Änderung: 28.10.2003, 19:19 */ public class Christbaum { public static void main(string[] argv) { System.out.print("Bitte Höhe eingeben: "); int hoehe = IO.readInt(); if (hoehe < 3) { System.out.println("Höhe muss mindestens 3 betragen!"); else if (hoehe % 3!= 0) { System.out.println("Höhe muss ein Vielfaches von 3 sein!"); // berechne Breite der untersten Christbaumzeile int maxbreite = hoehe / 3 * 4 + 3; for (int zeile = 0; zeile < hoehe; zeile++) { // berechne Breite in aktueller Zeile int breite = zeile / 3 * 4; switch (zeile % 3) { case 0: breite += 1; case 1: breite += 3; case 2: breite += 7;

// berechne Anzahl der Leerstellen int leer = maxbreite / 2 - breite / 2; for (int j = 0; j < leer; j++) { System.out.print(" "); // gib aktuelle Zeile aus for (int j = 0; j < breite; j++) { if (j % 2 == 0) { if (zeile % 3 == 2 && (j == 0 j == breite-1)) { System.out.print("i"); System.out.print("X"); System.out.print("o"); System.out.println(); // gib Stamm aus for (int j = 0; j < maxbreite / 2; j++) { System.out.print(" "); System.out.println("M"); Aufgabe 4 a) Geben Sie alle Darstellungen der folgenden ganzen Zahlen im 8-Bit-Einerkomplement sowie im 8-Bit-Zweierkomplement an:

Zahl 8-Bit-Einerkomplement 8-Bit-Zweierkomplement 0 00000000 und 11111111 00000000 1 00000001 00000001-1 11111110 11111111 16 00010000 00010000-16 11101111 11110000 128 es gibt keine es gibt keine -128 es gibt keine 10000000 b) /* Dieses Programm wandelt eine Darstellung im * n-bit-zweierkomplement in die entsprechende * ganze Zahl um. * Autor: Peter Schneider-Kamp * Erstellt: 23.10.2003 * Letzte Änderung: 28.10.2003, 19:17 */ public class Bin2Int { public static void main(string[] argv) { System.out.print("Bitte Zahl im Zweierkomplement "+ "einschließlich führender Nullen eingeben: "); String komplement = IO.readLine(); // bestimme Anzahl der Bits aus Länge der Eingabe int numbits = komplement.length(); // ist die Zahl negativ? boolean negativ = komplement.charat(0) == 1 ; // wandle Rest in natürliche Zahl um int ergebnis = 0; int stellenwert = 1; boolean eingabeok = true; for (int i = numbits-1; i > 0; i--) { char zeichen_i = komplement.charat(i); if ((zeichen_i!= 0 ) && (zeichen_i!= 1 )) { System.out.println("Eingabe darf kein \""+ zeichen_i+"\" enthalten!");

eingabeok = false; boolean bit_i = zeichen_i == 1 ; // berücksichtige bitweise Negation bei negativen Zahlen if (negativ!= bit_i) { ergebnis = ergebnis + stellenwert; stellenwert = stellenwert * 2; if (eingabeok) { if (negativ) { ergebnis = -1 - ergebnis; System.out.println(ergebnis);