# Klausuraufgabe



## Student. (6. Jul 2009)

_Hallo Zusammen..

Bald ist die Klausur.
Wollte als übung eine aufgabe von der letzen klausur machen, doch :bahnhof:
.._

Bedingung f・ Terminierung ?
 Variablen: int i, a, b; float x, y;

1.	while (i!=0) { x+=2; i--}
2.	while (y>0.5f) { x+=y; y*=y}
3.	do {x = x*2; i = i/2} while (i!=0)
4.	while (true) [x = x+2; i++; if (i==a) break}​


----------



## objcler (6. Jul 2009)

Was hast du dir dazu schon überlegt?

Für 1. Die Schleife terminiert nie, falls i vor dem ersten Durchgang < 0 ist.


----------



## ARadauer (6. Jul 2009)

lustige aufgabenstellung... was ist da genau die Frage? Welche Bedinungen gegeben sein müssen, damit die Schleifen nicht endlos laufen?


----------



## objcler (6. Jul 2009)

ARadauer hat gesagt.:


> lustige aufgabenstellung... was ist da genau die Frage? Welche Bedinungen gegeben sein müssen, damit die Schleifen nicht endlos laufen?



So verstehe ich die knapp formulierte Aufgabenstellung.


----------



## Schandro (6. Jul 2009)

> Für 1. Die Schleife terminiert nie, falls i vor dem ersten Durchgang < 0 ist.


xD doch tut sie. Probiers mal selber aus. 

```
System.out.println(Integer.MIN_VALUE-1 == Integer.MAX_VALUE);
```
ergibt true. Liegt dadran, dass das MSB einfach überschrieben wird..

€dit:
1. terminiert auf jeden fall
2. terminiert wenn y < 1
3. terminiert auf jeden fall
4. terminiert auf jeden fall


----------



## Student. (6. Jul 2009)

Das wären meine lösungen:

1. i > 0
2. y < 1
3. terminiert nicht. i erreicht 0 nie
4. terminiert nicht. endlosschleife oder
4 terminiert wenn vor schleifeneintritt i < a


----------



## Schandro (6. Jul 2009)

Student. hat gesagt.:


> Das wären meine lösungen:
> 
> 1. i > 0
> 2. y < 1
> ...



1. Siehe meinen Post oben.
es terminiert immer.

3. i erreicht auf jedenfall 0. i und 2 sind int's.Bei int's wird beim dividieren abgerundet. 1/2==0
es terminiert immer.

4. Integer.MAX_VALUE+1 == Integer.MIN_VALUE
es terminiert immer.


----------



## Student. (6. Jul 2009)

Ok...

*VIELEN DANK...*


( darf die nächste Aufgabe kommen )


----------

