Initial content commit
This commit is contained in:
BIN
java/Uebung/Uebung_3/Uebungsaufgaben_3.pdf
Normal file
BIN
java/Uebung/Uebung_3/Uebungsaufgaben_3.pdf
Normal file
Binary file not shown.
157
java/Uebung/Uebung_3/Uebungsaufgaben_3.tex
Normal file
157
java/Uebung/Uebung_3/Uebungsaufgaben_3.tex
Normal file
@ -0,0 +1,157 @@
|
||||
\documentclass[12pt,a4paper,ngerman]{scrartcl}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{amsfonts,amssymb,amsmath,listings,color}
|
||||
\pagestyle{plain}
|
||||
|
||||
\subject{\vspace{-3cm}The GAME}
|
||||
\title{Übungsaufgaben 3}
|
||||
\subtitle{Komplemente und Kontrollstrukturen}
|
||||
\date{}
|
||||
|
||||
\definecolor{pblue}{rgb}{0.13,0.13,1}
|
||||
\definecolor{pgreen}{rgb}{0,0.5,0}
|
||||
\definecolor{pred}{rgb}{0.9,0,0}
|
||||
\definecolor{pgrey}{rgb}{0.46,0.45,0.48}
|
||||
|
||||
\lstset{language=Java,
|
||||
showspaces=false,
|
||||
showtabs=false,
|
||||
breaklines=true,
|
||||
showstringspaces=false,
|
||||
breakatwhitespace=true,
|
||||
commentstyle=\color{pgreen},
|
||||
keywordstyle=\color{pblue},
|
||||
stringstyle=\color{pred},
|
||||
basicstyle=\ttfamily,
|
||||
tabsize=4,
|
||||
moredelim=[il][\textcolor{pgrey}]{$$},
|
||||
moredelim=[is][\textcolor{pgrey}]{\%\%}{\%\%}
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\paragraph{Aufgabe 1}\mbox{}\\
|
||||
Führe für folgende Binärzahlen die bitweise Negation durch:
|
||||
\begin{itemize}
|
||||
\item[a)] $0_2$
|
||||
\item[b)] $0000_2$
|
||||
\item[c)] $1111_2$
|
||||
\item[d)] $1010_2$
|
||||
\item[e)] $1100\ 0011\ 1001\ 1011\ 0111_2$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 2}\mbox{}\\
|
||||
Wie lautet das Einskomplement folgender Zahlen bei 8 Bit (Man gebe zudem die Dezimalzahlen der unten stehenden Binärzahlen und ihres Einskomplements an):
|
||||
\begin{itemize}
|
||||
\item[a)] $0000\ 0101_2$
|
||||
\item[b)] $0000\ 1111_2$
|
||||
\item[c)] $0010\ 0000_2$
|
||||
\item[d)] $0111\ 1111_2$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 3}\mbox{}\\
|
||||
Man gebe die Dezimalzahl zu den unten stehenden Einskomplementen an (8 Bit):
|
||||
\begin{itemize}
|
||||
\item[a)] $1000\ 0101_2$
|
||||
\item[b)] $1000\ 1111_2$
|
||||
\item[c)] $1010\ 0000_2$
|
||||
\item[d)] $1111\ 1111_2$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 4}\mbox{}\\
|
||||
Was stört bei der Einskomplement-Darstellung?
|
||||
|
||||
\paragraph{Aufgabe 5}\mbox{}\\
|
||||
Ermittelt zu folgenden Zahlen die Zweikomplement-Darstellung bei 8 Bit (Binärzahlen und Dezimalzahlen angeben).
|
||||
\begin{itemize}
|
||||
\item[a)] $5$
|
||||
\item[b)] $15$
|
||||
\item[c)] $32$
|
||||
\item[d)] $127$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 6}\mbox{}\\
|
||||
Rechnet folgende Ausdrücke aus. Die Zahlen sind dabei alle in der Zweikomplement-Darstellung gegeben (8 Bit).
|
||||
\begin{itemize}
|
||||
\item[a)] $5 + (-21)$
|
||||
\item[b)] $15 + (-5)$
|
||||
\item[c)] $32 + 4$
|
||||
\item[d)] $127 + (-127)$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 7}\mbox{}\\
|
||||
Rechnet folgende Ausdrücke aus. Die Zahlen sind dabei alle \emph{nicht} in der Zweikomplement-Darstellung gegeben, d.h. die Zahlen (die nach dem Minus) sind umzurechnen (8 Bit).
|
||||
\begin{itemize}
|
||||
\item[a)] $19 - 28$
|
||||
\item[b)] $56 - 9$
|
||||
\item[c)] $1 - 2$
|
||||
\item[d)] $3 - 127$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 8}\mbox{}\\
|
||||
Schreibe ein einfaches Java-Programm, welches einem Monat vom Benutzer einliest (mithilfe des „java.util.Scanner“).
|
||||
Verwende dafür die Zahlen 1 bis 12 (1 = Januar, 2 = Februar, ..., 12 = Dezember). Für jeden Monat soll nun die Anzahl der Tage ausgegeben werden.
|
||||
Nutze hierzu die \emph{einfache Verzweigung}.
|
||||
|
||||
\paragraph{Aufgabe 9}\mbox{}\\
|
||||
Schreibe ein einfaches Java-Programm, welches einem Monat vom Benutzer einliest (mithilfe des „java.util.Scanner“).
|
||||
Verwende dafür die Zahlen 1 bis 12 (1 = Januar, 2 = Februar, ..., 12 = Dezember). Für jeden Monat soll nun die Anzahl der Tage ausgegeben werden.
|
||||
Nutze hierzu die \emph{Mehrfachverzweigung}.
|
||||
|
||||
\paragraph{Aufgabe 10}\mbox{}\\
|
||||
Kann Aufgabe 8 mit 3 oder weniger If-Statements gelöst werden? Wenn ja wie? Wenn nein warum nicht?
|
||||
|
||||
\paragraph{Aufgabe 11}\mbox{}\\
|
||||
Wie oft wird die folgende Schleife ausgeführt und warum?
|
||||
\begin{lstlisting}
|
||||
int i = 10;
|
||||
do {
|
||||
i = i - 3;
|
||||
} while (i > 5);
|
||||
\end{lstlisting}
|
||||
|
||||
\paragraph{Aufgabe 12}\mbox{}\\
|
||||
Welche Zahlen werden bei diesen Schleifen ausgegeben? Und wie oft werden diese Ausgeführt?
|
||||
\\\\
|
||||
a) \begin{lstlisting}
|
||||
for( int i=1; i <= 10; i++ ){
|
||||
System.out.println( i );
|
||||
}
|
||||
\end{lstlisting}
|
||||
b) \begin{lstlisting}
|
||||
for( int i=1; i <= 10; i = i+2 ){
|
||||
System.out.println( i );
|
||||
}
|
||||
\end{lstlisting}
|
||||
c) \begin{lstlisting}
|
||||
for( int i=1; i <= 10; i = i*2 ){
|
||||
System.out.println( i );
|
||||
}
|
||||
\end{lstlisting}
|
||||
d) \begin{lstlisting}
|
||||
for( int i=1; i < 10; i = i+2 ){
|
||||
if (i >= 5) {
|
||||
System.out.println( i );
|
||||
i--;
|
||||
} else {
|
||||
System.out.println( i );
|
||||
}
|
||||
}
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
e) \begin{lstlisting}
|
||||
int i = 0;
|
||||
do {
|
||||
if (i < 4) {
|
||||
System.out.println( i );
|
||||
}
|
||||
if (i > 4) {
|
||||
System.out.println( i );
|
||||
} else {
|
||||
i--;
|
||||
}
|
||||
i = i+2;
|
||||
} while (i < 10);
|
||||
\end{lstlisting}
|
||||
\end{document}
|
BIN
java/Uebung/Uebung_3/Uebungsaufgaben_3_Loesung.pdf
Normal file
BIN
java/Uebung/Uebung_3/Uebungsaufgaben_3_Loesung.pdf
Normal file
Binary file not shown.
410
java/Uebung/Uebung_3/Uebungsaufgaben_3_Loesung.tex
Normal file
410
java/Uebung/Uebung_3/Uebungsaufgaben_3_Loesung.tex
Normal file
@ -0,0 +1,410 @@
|
||||
\documentclass[12pt,a4paper,ngerman]{scrartcl}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{amsfonts,amssymb,amsmath,listings,color}
|
||||
\pagestyle{plain}
|
||||
|
||||
\subject{\vspace{-3cm}The GAME}
|
||||
\title{Übungsaufgaben 3}
|
||||
\subtitle{Komplemente und Kontrollstrukturen - Lösung}
|
||||
\date{}
|
||||
|
||||
\definecolor{pblue}{rgb}{0.13,0.13,1}
|
||||
\definecolor{pgreen}{rgb}{0,0.5,0}
|
||||
\definecolor{pred}{rgb}{0.9,0,0}
|
||||
\definecolor{pgrey}{rgb}{0.46,0.45,0.48}
|
||||
|
||||
\lstset{language=Java,
|
||||
showspaces=false,
|
||||
showtabs=false,
|
||||
breaklines=true,
|
||||
showstringspaces=false,
|
||||
breakatwhitespace=true,
|
||||
commentstyle=\color{pgreen},
|
||||
keywordstyle=\color{pblue},
|
||||
stringstyle=\color{pred},
|
||||
basicstyle=\ttfamily,
|
||||
tabsize=4,
|
||||
moredelim=[il][\textcolor{pgrey}]{$$},
|
||||
moredelim=[is][\textcolor{pgrey}]{\%\%}{\%\%}
|
||||
}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
\paragraph{Aufgabe 1}\mbox{}\\
|
||||
Führe für folgende Binärzahlen die bitweise Negation durch:
|
||||
\begin{itemize}
|
||||
\item[a)] $0_2$
|
||||
\item[b)] $0000_2$
|
||||
\item[c)] $1111_2$
|
||||
\item[d)] $1010_2$
|
||||
\item[e)] $1100\ 0011\ 1001\ 1011\ 0111_2$
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $\sim 0_2 = 1_2$
|
||||
\item[b)] $\sim 0000_2 = 1111_2$
|
||||
\item[c)] $\sim 1111_2 = 0000_2$
|
||||
\item[d)] $\sim 1010_2 = 0101_2$
|
||||
\item[e)] $\sim 1100\ 0011\ 1001\ 1011\ 0111_2 = 0011\ 1100\ 0110\ 0100\ 1000_2$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 2}\mbox{}\\
|
||||
Wie lautet das Einskomplement folgender Zahlen bei 8 Bit (Man gebe zudem die Dezimalzahlen der unten stehenden Binärzahlen und ihres Einskomplements an):
|
||||
\begin{itemize}
|
||||
\item[a)] $0000\ 0101_2$
|
||||
\item[b)] $0000\ 1111_2$
|
||||
\item[c)] $0010\ 0000_2$
|
||||
\item[d)] $0111\ 1111_2$
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $\sim 5_{10} = \sim 0000\ 0101_2 = 1111\ 1010_2 = -5_{10}$
|
||||
\item[b)] $\sim 15_{10} = \sim 0000\ 1111_2 = 1111\ 0000_2 = -15_{10}$
|
||||
\item[c)] $\sim 32_{10} = \sim 0010\ 0000_2 = 1101\ 1111_2 = -32_{10}$
|
||||
\item[d)] $\sim 127_{10} = \sim 0111\ 1111_2 = 1000\ 0000_2 = -127_{10}$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 3}\mbox{}\\
|
||||
Man gebe die Dezimalzahl zu den unten stehenden Einskomplementen an (8 Bit):
|
||||
\begin{itemize}
|
||||
\item[a)] $1000\ 0101_2$
|
||||
\item[b)] $1000\ 1111_2$
|
||||
\item[c)] $1010\ 0000_2$
|
||||
\item[d)] $1111\ 1111_2$
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $1000\ 0101_2 = -122_{10}$
|
||||
\item[b)] $1000\ 1111_2 = -112_{10}$
|
||||
\item[c)] $1010\ 0000_2 = -95_{10}$
|
||||
\item[d)] $1111\ 1111_2 = -0_{10}$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 4}\mbox{}\\
|
||||
Was stört bei der Einskomplement-Darstellung?
|
||||
|
||||
\subparagraph{Lösung:} Für die $0$ gibt es eine doppelte Darstellung, nämlich $00 \dots 00_2 = +0_{10}$ und $11 \dots 11_2 = -0_{10}$. Außerdem ist der Wertebereich um eins verkleinert.
|
||||
|
||||
\paragraph{Aufgabe 5}\mbox{}\\
|
||||
Ermittelt zu folgenden Zahlen die Zweikomplement-Darstellung bei 8 Bit (Binärzahlen und Dezimalzahlen angeben).
|
||||
\begin{itemize}
|
||||
\item[a)] $5$
|
||||
\item[b)] $15$
|
||||
\item[c)] $32$
|
||||
\item[d)] $127$
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $5_{10} = 0000\ 0101_2\\
|
||||
\Rightarrow \sim 0000\ 0101_2 + 1_2 = 1111\ 1010_2 + 1_2 = 1111\ 1011_2 = -5_{10}$
|
||||
\item[b)] $15_{10} = 0000\ 1111_2\\
|
||||
\Rightarrow \sim 0000\ 1111_2 + 1_2 = 1111\ 0000_2 + 1_2 = 1111\ 0001_2 = -15_{10}$
|
||||
\item[c)] $32_{10} = 0010\ 0000_2\\
|
||||
\Rightarrow \sim 0010\ 0000_2 + 1_2 = 1101\ 1111_2 + 1_2 = 1110\ 0000_2 = -32_{10}$
|
||||
\item[d)] $127_{10} = 0111\ 1111_2\\
|
||||
\Rightarrow \sim 0111\ 1111_2 + 1_2 = 1000\ 0000_2 + 1_2 = 1000\ 0001_2 = -127_{10}$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 6}\mbox{}\\
|
||||
Rechnet folgende Ausdrücke aus. Die Zahlen sind dabei alle in der Zweikomplement-Darstellung gegeben (8 Bit).
|
||||
\begin{itemize}
|
||||
\item[a)] $5 + (-21)$
|
||||
\item[b)] $15 + (-5)$
|
||||
\item[c)] $32 + 4$
|
||||
\item[d)] $127 + -(127)$
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $5_{10} = 0000\ 0101_2,\ -21_{10} = 1110\ 1011_2\\
|
||||
\Rightarrow 0000\ 0101_2 + 1110\ 1011_2 = 1111\ 0000_2 = -16_{10}$
|
||||
\item[b)] $15_{10} = 0000\ 1111_2,\ -5_{10} = 1111\ 1011_2\\
|
||||
\Rightarrow 0000\ 1111_2 + 1111\ 1011_2 = 0000\ 1010_2 = 10_{10}$
|
||||
\item[c)] $32_{10} = 0010\ 0000_2,\ 4_{10} = 0000\ 0100_2\\
|
||||
\Rightarrow 0010\ 0000_2 + 0000\ 0100_2 = 0010\ 0100_2 = 36_{10}$
|
||||
\item[d)] $127_{10} = 0111\ 1111_2,\ -127_{10} = 1000\ 0001_2\\
|
||||
\Rightarrow 0111\ 1111_2 + 1000\ 0001_2 = 0000\ 0000_2 = 0_{10}$
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Aufgabe 7}\mbox{}\\
|
||||
Rechnet folgende Ausdrücke aus. Die Zahlen sind dabei alle \emph{nicht} in der Zweikomplement-Darstellung gegeben, d.h. die Zahlen (die nach dem Minus) sind umzurechnen (8 Bit).
|
||||
\begin{itemize}
|
||||
\item[a)] $19 - 28$
|
||||
\item[b)] $56 - 9$
|
||||
\item[c)] $1 - 2$
|
||||
\item[d)] $3 - 127$
|
||||
\end{itemize}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $19_{10} = 0001\ 0011_2,\ 28_{10} = 0001\ 1100_2\\
|
||||
\Rightarrow \sim 0001\ 1100_2 + 1_2 = 1110\ 0011_2 + 1_2 = 1110\ 0100_2 = -28_{10}\\
|
||||
\Rightarrow 19_{10} + (-28_{10}) = 0001\ 0011_2 + 1110\ 0100_2 = 1111\ 0111 = -9_{10}$
|
||||
\item[b)] $56_{10} = 0011\ 1000_2,\ 9_{10} = 0000\ 1001_2\\
|
||||
\Rightarrow \sim 0000\ 1001_2 + 1_2 = 1111\ 0110_2 + 1_2 = 1111\ 0111_2 = -9_{10}\\
|
||||
\Rightarrow 56_{10} + (-9_{10}) = 0011\ 1000_2 + 1111\ 0111_2 = 0010\ 1111_2 = 47_{10}$
|
||||
\item[c)] $1_{10} = 0000\ 0001_2,\ 2_{10} = 0000\ 0010_2\\
|
||||
\Rightarrow \sim 0000\ 0010_2 + 1_2 = 1111\ 1101_2 + 1_2 = 1111\ 1110_2 = -2_{10}\\
|
||||
\Rightarrow 1_{10} + (-2_{10}) = 0000\ 0001_2 + 1111\ 1110_2 = 1111\ 1111_2 = -1_{10}$
|
||||
\item[d)] $3_{10} = 0000\ 0011_2,\ 127_{10} = 01111\ 1111_2\\
|
||||
\Rightarrow \sim 0111\ 1111_2 + 1_2 = 1000\ 0000_2 + 1_2 = 1000\ 0001_2 = -127_{10}\\
|
||||
\Rightarrow 3_{10} + (-127_{10}) = 0000\ 0011_2 + 1000\ 0001_2 = 1000\ 0100_2 = -124_{10}$
|
||||
\end{itemize}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Aufgabe 8}\mbox{}\\
|
||||
Schreibe ein einfaches Java-Programm, welches einem Monat vom Benutzer einliest (mithilfe des „java.util.Scanner“).
|
||||
Verwende dafür die Zahlen 1 bis 12 (1 = Januar, 2 = Februar, ..., 12 = Dezember). Für jeden Monat soll nun die Anzahl der Tage ausgegeben werden.
|
||||
Nutze hierzu die \emph{einfache Verzweigung}.
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
Eine mögliche Lösung:
|
||||
\begin{lstlisting}
|
||||
import java.util.Scanner;
|
||||
public class Nr8
|
||||
{
|
||||
public static void main(String [] args)
|
||||
{
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
System.out.println("Enter a month (Number between 1 and 12) an I tell you the number of days");
|
||||
int month = scanner.nextInt();
|
||||
|
||||
if (month == 2)
|
||||
{
|
||||
System.out.println("28 Tage");
|
||||
}
|
||||
|
||||
if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 9) || (month == 11))
|
||||
{
|
||||
System.out.println("31 Tage");
|
||||
}
|
||||
|
||||
if ((month == 4) || (month == 6) || (month == 8) || (month == 10) || (month == 12))
|
||||
{
|
||||
System.out.println("30 Tage");
|
||||
}
|
||||
}
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Aufgabe 9}\mbox{}\\
|
||||
Schreibe ein einfaches Java-Programm, welches einem Monat vom Benutzer einliest (mithilfe des „java.util.Scanner“).
|
||||
Verwende dafür die Zahlen 1 bis 12 (1 = Januar, 2 = Februar, ..., 12 = Dezember). Für jeden Monat soll nun die Anzahl der Tage ausgegeben werden.
|
||||
Nutze hierzu die \emph{Mehrfachverzweigung}.
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
Eine mögliche Lösung:
|
||||
\begin{lstlisting}
|
||||
import java.util.Scanner;
|
||||
public class Nr9
|
||||
{
|
||||
public static void main(String [] args)
|
||||
{
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
System.out.println("Enter a month (Number between 1 and 12) an I tell you the number of days");
|
||||
int month = scanner.nextInt();
|
||||
|
||||
switch(month)
|
||||
{
|
||||
case 1:
|
||||
System.out.println("31 Tage");
|
||||
break;
|
||||
case 2:
|
||||
System.out.println("28 Tage");
|
||||
break;
|
||||
case 3:
|
||||
System.out.println("31 Tage");
|
||||
break;
|
||||
case 4:
|
||||
System.out.println("30 Tage");
|
||||
break;
|
||||
case 5:
|
||||
System.out.println("31 Tage");
|
||||
break;
|
||||
case 6:
|
||||
System.out.println("30 Tage");
|
||||
break;
|
||||
case 7:
|
||||
System.out.println("31 Tage");
|
||||
break;
|
||||
case 8:
|
||||
System.out.println("30 Tage");
|
||||
break;
|
||||
case 9:
|
||||
System.out.println("31 Tage");
|
||||
break;
|
||||
case 10:
|
||||
System.out.println("30 Tage");
|
||||
break;
|
||||
case 11:
|
||||
System.out.println("31 Tage");
|
||||
break;
|
||||
case 12:
|
||||
System.out.println("30 Tage");
|
||||
break;
|
||||
default:
|
||||
System.out.println("Please enter a viable number between 1 and 12 (Your number: " + month + ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Aufgabe 10}\mbox{}\\
|
||||
Kann Aufgabe 8 mit 3 oder weniger If-Statements gelöst werden? Wenn ja wie? Wenn nein warum nicht?
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
Ja.
|
||||
\begin{lstlisting}
|
||||
import java.util.Scanner;
|
||||
public class Nr10
|
||||
{
|
||||
public static void main(String [] args)
|
||||
{
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
System.out.println("Enter a month (Number between 1 and 12) an I tell you the number of days");
|
||||
int month = scanner.nextInt();
|
||||
|
||||
if(month == 2)
|
||||
{
|
||||
System.out.println("28 Tage");
|
||||
|
||||
if((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 9) || (month == 11))
|
||||
{
|
||||
System.out.println("31 Tage");
|
||||
}
|
||||
|
||||
if((month == 4) || (month == 6) || (month == 8) || (month == 10) || (month == 12))
|
||||
{
|
||||
System.out.println("30 Tage");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
\end{lstlisting}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Aufgabe 11}\mbox{}\\
|
||||
Wie oft wird die folgende Schleife ausgeführt und warum?
|
||||
\begin{lstlisting}
|
||||
int i = 10;
|
||||
do {
|
||||
i = i - 3;
|
||||
} while (i > 5);
|
||||
\end{lstlisting}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
Zwei mal, da danach die Bedingung am Ende des zweiten Durchlaufes "4 > 5" lautet und somit die Schleife beendet wird.
|
||||
|
||||
|
||||
\paragraph{Aufgabe 12}\mbox{}\\
|
||||
Welche Zahlen werden bei diesen Schleifen ausgegeben? Und wie oft werden diese Ausgeführt?
|
||||
\\\\
|
||||
a) \begin{lstlisting}
|
||||
for( int i=1; i <= 10; i++ ){
|
||||
System.out.println( i );
|
||||
}
|
||||
\end{lstlisting}
|
||||
b) \begin{lstlisting}
|
||||
for( int i=1; i <= 10; i = i+2 ){
|
||||
System.out.println( i );
|
||||
}
|
||||
\end{lstlisting}
|
||||
c) \begin{lstlisting}
|
||||
for( int i=1; i <= 10; i = i*2 ){
|
||||
System.out.println( i );
|
||||
}
|
||||
\end{lstlisting}
|
||||
d) \begin{lstlisting}
|
||||
for( int i=1; i < 10; i = i+2 ){
|
||||
if (i >= 5) {
|
||||
System.out.println( i );
|
||||
i--;
|
||||
} else {
|
||||
System.out.println( i );
|
||||
}
|
||||
}
|
||||
\end{lstlisting}
|
||||
\newpage
|
||||
e) \begin{lstlisting}
|
||||
int i = 0;
|
||||
do {
|
||||
if (i < 4) {
|
||||
System.out.println( i );
|
||||
}
|
||||
if (i > 4) {
|
||||
System.out.println( i );
|
||||
} else {
|
||||
i--;
|
||||
}
|
||||
i = i+2;
|
||||
} while (i < 10);
|
||||
\end{lstlisting}
|
||||
|
||||
\subparagraph{Lösung:}
|
||||
\begin{itemize}
|
||||
\item[a)] $\begin{array}{c|c}
|
||||
\text{Durchlauf} & \text{Ausgabe}\\
|
||||
\hline
|
||||
1 & 1\\
|
||||
2 & 2\\
|
||||
3 & 3\\
|
||||
4 & 4\\
|
||||
5 & 5\\
|
||||
6 & 6\\
|
||||
7 & 7\\
|
||||
8 & 8\\
|
||||
9 & 9\\
|
||||
10 & 10\\
|
||||
\end{array}$
|
||||
\item[b)] $\begin{array}{c|c}
|
||||
\text{Durchlauf} & \text{Ausgabe}\\
|
||||
\hline
|
||||
1 & 1\\
|
||||
2 & 3\\
|
||||
3 & 5\\
|
||||
4 & 7\\
|
||||
5 & 9
|
||||
\end{array}$
|
||||
\item[c)] $\begin{array}{c|c}
|
||||
\text{Durchlauf} & \text{Ausgabe}\\
|
||||
\hline
|
||||
1 & 1\\
|
||||
2 & 2\\
|
||||
3 & 4\\
|
||||
4 & 8
|
||||
\end{array}$
|
||||
\item[d)] $\begin{array}{c|c}
|
||||
\text{Durchlauf} & \text{Ausgabe}\\
|
||||
\hline
|
||||
1 & 1\\
|
||||
2 & 3\\
|
||||
3 & 5\\
|
||||
4 & 6\\
|
||||
5 & 7\\
|
||||
6 & 8\\
|
||||
7 & 9
|
||||
\end{array}$
|
||||
\item[e)] $\begin{array}{c|c}
|
||||
\text{Durchlauf} & \text{Ausgabe}\\
|
||||
\hline
|
||||
1 & 0\\
|
||||
2 & 1\\
|
||||
3 & 2\\
|
||||
4 & 3\\
|
||||
5 & 5\\
|
||||
6 & 7\\
|
||||
7 & 9
|
||||
\end{array}$
|
||||
\end{itemize}
|
||||
\end{document}
|
Reference in New Issue
Block a user