Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1 Grundkurs Informatik Aufgabensammlung mit Lösungen Teil 1

www2.fh.rosenheim.de
von www2.fh.rosenheim.de Mehr von diesem Publisher
30.11.2012 Aufrufe

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

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!