Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » algoks » A1
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
pruefungen:bachelor:algoks:loesungss13 [18.07.2016 11:48] – Yannik | pruefungen:bachelor:algoks:loesungss13 [03.01.2017 17:46] – MCD | ||
---|---|---|---|
Zeile 53: | Zeile 53: | ||
**c)** | **c)** | ||
- | Forenloesung erklaert es imo. ganz gut | + | Forenloesung erklaert es imo. ganz gut (aber wsh schwer auffindbar) \\ |
+ | a0 = 0 \\ | ||
+ | a1 = -1 \\ | ||
+ | a2 = -0.5 \\ | ||
+ | a3 = 5/8 \\ | ||
+ | |||
+ | a(x) = -x - 0.5*x*(x-1) + 5/8 *x*(x-1)*(x-2) = (5/8)x^3 - (7/4)x^2 - (13/8)x + 3/4 \\ | ||
**d)** | **d)** | ||
Zeile 69: | Zeile 75: | ||
**c)** | **c)** | ||
(2, 2) = (1/2, 1/6, 1/3) | (2, 2) = (1/2, 1/6, 1/3) | ||
+ | |||
+ | **d)** | ||
+ | - Gerade tau = 1 geht durch T und liegt parallel zur Gerade RS \\ | ||
+ | - die Menge liegt über Gerade RT und links und rechts von der Gerade ST (links eingeschränkt durch Gerade tau = 1!) | ||
**e)** | **e)** | ||
Zeile 74: | Zeile 84: | ||
Q: w00 = 2/5, w10 = 4/15, w01 = 1/5, w11 = 2/15 | Q: w00 = 2/5, w10 = 4/15, w01 = 1/5, w11 = 2/15 | ||
+ | ====== A7 ====== | ||
+ | |||
+ | |||
+ | **d)** | ||
+ | if(kp.size()==1) | ||
+ | return kp; | ||
+ | std:: | ||
+ | for(int i = 0; i < kp.size() - 1; i++){ | ||
+ | vec3 tmp = (1.0-u)*kp[i] + u*kp[i+1]; | ||
+ | n.pushBack(tmp); | ||
+ | } | ||
+ | return deCasteljau(n, | ||
====== A7 ====== | ====== A7 ====== | ||
Zeile 105: | Zeile 127: | ||
====== A9 ====== | ====== A9 ====== | ||
- | **c)** | + | **b)**\\ |
- | *Vorschlag, kann gerne verbessert werden* | + | float xold = 0; |
+ | do{ | ||
+ | xold=x0; | ||
+ | x0 = (float)f(xold)/ | ||
+ | maxIterations--; | ||
+ | }while(maxIterations> | ||
+ | return x0; | ||
+ | |||
+ | **c)** \\ | ||
int count = 0; | int count = 0; | ||
int[] erg = new int[maxIterations + 2]; | int[] erg = new int[maxIterations + 2]; | ||
Zeile 114: | Zeile 144: | ||
long zahler = erg[count]*f(erg[count+1]) + erg[count+1] * f(erg[count]) | long zahler = erg[count]*f(erg[count+1]) + erg[count+1] * f(erg[count]) | ||
long nenner = f(erg[count+1]) - f(erg[count]) | long nenner = f(erg[count+1]) - f(erg[count]) | ||
- | erg[count + 2] = zahler/ | + | erg[count + 2] = (float)zahler/ |
- | }while(count < maxIterations && | + | }while(count < maxIterations && |
return count+2; | return count+2; | ||
- |