Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1 Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1
1-20 Aufgaben und Lösungen Der Programmtext lautet: //************************************************************************ // Berechnung der Wurzel einer Zahl mithilfe des Newton-Verfahrens. // Der Startwert muss vorgegeben werden. // Iterationsformel: y =(y0+x/y0)/2 #include #include #include #include #define ESC 27 //------------------------------------------------------------------------ // Hauptprogramm //------------------------------------------------------------------------ int main() { float s=0.0001, d, x, y, y0; int i, go=1; printf("\nWurzelberechnung mithilfe des Newton-Verfahrens"); for(;;) { // Arbeitsschleife printf("\n\nRadikand = ? "); scanf("%f",&x); printf("Startwert = ? "); scanf("%f",&y0); d=2*s; i=0; printf("\nIter Naeherung"); while(d>s) { // Newton-Iteration y=(y0+x/y0)/2.0; d=fabs(y-y0); y0=y; printf("\n %d %f", ++i, y); getch(); // nächster Schritt } printf("\n\nBeenden mit ... "); // fertig? if(getch()==ESC) break; } return 0; }
Aufgaben und Lösungen 1-21 Aufgabe 1.4.11 (L1) Berechnen Sie (a b) c für a=10111011, b=01101010 und c=10101011. Zeigen Sie an diesem Beispiel, dass (a b) c=(a c) ( b c) gilt. Lösung Berechnung von (a b) c: a: 10111011 b: 01101010 b: 10010101 a b: 10010001 c: 10101011 (a b) c: 10111011 Berechnung von a c: Berechnung von b c: a: 10111011 b: 01101010 c: 10101011 b: 10010101 a c: 10111011 c: 10101011 b c: 10111111 Berechnung von (a c) ( b c): a c: 10111011 b c: 10111111 (a c) ( b c): 10111011 Der Vergleich der beiden Ergebnisse zeigt, dass tatsächlich (a b) c=(a c) ( b c) gilt. Aufgabe 1.4.12 (L1) Bestimmen Sie für 10110bin und 10011011bin jeweils das Ergebnis einer logischen und einer arithmetischen Verschiebung zunächst um eine und dann um zwei Stellen nach rechts und nach links. Gehen Sie dabei von einem 8-Bit-Register mit Übertragsbit aus. Lösung Bei der arithmetischen Verschiebung nach rechts bleibt das MSB erhalten, damit sich im Falle arithmetischer Operationen das Vorzeichen nicht ändert. Bei der Logischen Verschiebung spielt das MSB keine Sonderrolle. Die logische und arithmetische Verschiebung nach links unterscheiden sich nicht. Ausgangssituation: Register Register Carry 0 0 0 1 0 1 1 0 Carry 1 0 0 1 1 0 1 0 1 Logische und arithmetische Verschiebung um eine Stelle nach links: 0 0 1 0 1 1 0 0 0 0 1 1 0 1 1 0 0 0 1
- Seite 1 und 2: Grundkurs Informatik Aufgabensammlu
- Seite 3 und 4: Aufgaben und Lösungen 1-3 Aufgabe
- Seite 5 und 6: Aufgaben und Lösungen 1-5 Aufgabe
- Seite 7 und 8: Aufgaben und Lösungen 1-7 3. Weite
- Seite 9 und 10: Aufgaben und Lösungen 1-9 1.3 Prin
- Seite 11 und 12: Aufgaben und Lösungen 1-11 1.4 Zah
- Seite 13 und 14: Aufgaben und Lösungen 1-13 Aufgabe
- Seite 15 und 16: Aufgaben und Lösungen 1-15 Eine ge
- Seite 17 und 18: Aufgaben und Lösungen 1-17 Aufgabe
- Seite 19: Aufgaben und Lösungen 1-19 Aufgabe
- Seite 23 und 24: Aufgaben und Lösungen 1-23 2 Nachr
- Seite 25 und 26: Aufgaben und Lösungen 1-25 2.2 Bio
- Seite 27 und 28: Aufgaben und Lösungen 1-27 Aufgabe
- Seite 29 und 30: Aufgaben und Lösungen 1-29 Bei Ver
- Seite 31 und 32: Aufgaben und Lösungen 1-31 Aufgabe
- Seite 33 und 34: Aufgaben und Lösungen 1-33 Aufgabe
- Seite 35 und 36: Aufgaben und Lösungen 1-35 Lösung
- Seite 37 und 38: Aufgaben und Lösungen 1-37 Fragen
- Seite 39 und 40: Aufgaben und Lösungen 1-39 } if(h[
- Seite 41 und 42: Aufgaben und Lösungen 1-41 3 Codie
- Seite 43 und 44: Aufgaben und Lösungen 1-43 3.2 Cod
- Seite 45 und 46: Aufgaben und Lösungen 1-45 x i w i
- Seite 47 und 48: Aufgaben und Lösungen 1-47 Aufgabe
- Seite 49 und 50: Aufgaben und Lösungen 1-49 Aufgabe
- Seite 51 und 52: Aufgaben und Lösungen 1-51 Modifik
- Seite 53 und 54: Aufgaben und Lösungen 1-53 Auftrit
- Seite 55 und 56: Aufgaben und Lösungen 1-55 Dieses
- Seite 57 und 58: Aufgaben und Lösungen 1-57 N 2/21
- Seite 59 und 60: Aufgaben und Lösungen 1-59 Der Cod
- Seite 61 und 62: Aufgaben und Lösungen 1-61 Aufgabe
- Seite 63 und 64: Aufgaben und Lösungen 1-63 2 2 8 2
- Seite 65 und 66: Aufgaben und Lösungen 1-65 //*****
- Seite 67 und 68: Aufgaben und Lösungen 1-67 } d=x[i
- Seite 69 und 70: Aufgaben und Lösungen 1-69 return
Aufgaben und <strong>Lösungen</strong> 1-21<br />
Aufgabe 1.4.11 (L1)<br />
Berechnen Sie (a b) c für a=10111011, b=01101010 und c=10101011. Zeigen Sie an diesem<br />
Beispiel, dass (a b) c=(a c) ( b c) gilt.<br />
Lösung<br />
Berechnung von (a b) c:<br />
a: 10111011<br />
b: 01101010<br />
b: 10010101<br />
a b: 10010001<br />
c: 10101011<br />
(a b) c: 10111011<br />
Berechnung von a c: Berechnung von b c:<br />
a: 10111011 b: 01101010<br />
c: 10101011 b: 10010101<br />
a c: 10111011 c: 10101011<br />
b c: 10111111<br />
Berechnung von (a c) ( b c):<br />
a c: 10111011<br />
b c: 10111111<br />
(a c) ( b c): 10111011<br />
Der Vergleich der beiden Ergebnisse zeigt, dass tatsächlich (a b) c=(a c) ( b c) gilt.<br />
Aufgabe 1.4.12 (L1)<br />
Bestimmen Sie für 10110bin und 10011011bin jeweils das Ergebnis einer logischen und einer<br />
arithmetischen Verschiebung zunächst um eine und dann um zwei Stellen nach rechts und<br />
nach links. Gehen Sie dabei von einem 8-Bit-Register <strong>mit</strong> Übertragsbit aus.<br />
Lösung<br />
Bei der arithmetischen Verschiebung nach rechts bleibt das MSB erhalten, da<strong>mit</strong> sich im<br />
Falle arithmetischer Operationen das Vorzeichen nicht ändert. Bei der Logischen Verschiebung<br />
spielt das MSB keine Sonderrolle. Die logische und arithmetische Verschiebung nach<br />
links unterscheiden sich nicht.<br />
Ausgangssituation:<br />
Register<br />
Register<br />
Carry 0 0 0 1 0 1 1 0<br />
Carry 1 0 0 1 1 0 1<br />
0<br />
1<br />
Logische und arithmetische Verschiebung um eine Stelle nach links:<br />
0 0 1 0 1 1 0 0<br />
0 0 1 1 0 1 1<br />
0<br />
0<br />
0<br />
1