Die Community PC-Techniker Portal IoT
Lehrbriefe für den Fernlehrgang PC-Techniker der Fernschule Weber => Lehrbrief 4 => Thema gestartet von: SeYeR am Oktober 30, 2009, 13:49:25
-
Hallo,
Kann mir einer von euch auf die Sprünge helfen?
Ich bekomme einfach keine Lösung zu der Frage, stehe geistlich wohl vor einer Wand...
Frage lautet:
Der Maschinencode einer Grafikfunktion ist 22 311 Bytes lang. Im Anwendungsprogramm
wird sie 38 mal verwendet. Wie viel Speicherplatz wird in der Anwendung für diese
Funktion insgesamt belegt, wenn sie folgendermaßen aufgerufen wird:
a) als Unterprogramm,
b) als Inline-Code (oder Makro).
Ein Unterprogrammaufruf soll jeweils acht Bytes belegen.
Währe toll wenn mir jemand helfen würde....
-
Hallo,
stimmt die Angabe "Lehrbrief 4,Aufgabe 4, Stand 2.3" wirklich?
Ich bin gerade bei LB 4, Thema, Aufgabe, Stand passen nicht.
Zur Aufgabe:
Überlege Dir mal, warum man den Unterprogrammaufruf erfunden hat,
obwohl er aufwendiger zu realisieren ist als ein Makro.
Stefan
-
Die Angaben stimmen. Hab den Lehrbrief vor mir liegen....
Also gehen die Lehrbriefe mit unterschiedlichem Stand raus????
Unterprogramme sollen verhindern dass man immer wieder das selbe Programmieren muss. Demnach sollte der Unterprogrammaufruf auch nur 22311 Bytes lang sein. Er kann ja immer wieder verwendet werden.
demnach: 38Aufrufe X 8 Bytes = 304 Bytes (zusätzlicher Codetext im Programm)
Und wie sieht das dann mit den Makros aus??
Da der Code immer wieder als Makro mit eingebunden wird, wächst das Programm doch um 38 x 22311 Bytes auf 847818 Bytes. Oder?
Jan
-
Hi SeYeR,
erstmal Herzlich Willkommen hier im Forum, viel Spaß und viel Erfolg beim Studium.
Du hast Ausgabestand 2.3 im LB4. Hast du den auch im LB5 und LB6?
Sind alle Hausaufgabenfragen im LB4 anders als die hier im Forum? Oder nur die Frage 4?
Ich hatte Ausgabestand 2.1, und da gibt es deine Frage nicht.
Hat Weber endlich mal den Ausgabestand erneuert.
Gruß Susanne
-
Die aktuellen Aufgaben kann man sich auf der Homepage von Weber nach Anmelden herunterladen. Einzelne Aufgaben wurden ausgetauscht. LB 4 bis 6 liegen nun auf dem Stand 2.3 vor.
Stefan
-
Jo hei bin auch bei der Aufgabe meine Idee
Unterprogramm=38Aufrufe X 8 Bytes = 304 Bytes
Inline-Code(oder Macro) 38Aufrufe X 8 Bytes = 304 Bytes
in der Anwendung 38 mal verwendet 38 X 22311 Bytes = 847818 Bytes
wir brauchen
=848426 Bytes =
an speicher
oder liege ich falsch
-
Die aktuellen Aufgaben kann man sich auf der Homepage von Weber nach Anmelden herunterladen..
Hi Stefan,
wenn man mit dem Studium fertig ist, kann man sich beim Weber-Campus nicht mehr einloggen. Schade eigentlich!
Gruß Susanne
-
Hi Susanne,
ja das ist wirklich schade :-(
Die Aufgaben kann ich aber auch durch direkte Eingabe der URL abrufen:
http://www.fernschule-weber.de/service/tserv/ts-pct/Aufgaben/PCT_LB01_V22.pdf
und analog
PCT_LB06_V23.pdf PCT_LB11_V21.pdf PCT_LB16_V21.pdf
PCT_LB02_V22.pdf PCT_LB07_V21.pdf PCT_LB12_V21.pdf PCT_LB17_V21.pdf
PCT_LB03_V22.pdf PCT_LB08_V21.pdf PCP_LB13_V21.pdf PCT_LB18_V21.pdf
PCT_LB04_V23.pdf PCT_LB09_V21.pdf PCT_LB14_V20.pdf
PCT_LB05_V23.pdf PCT_LB10_V21.pdf PCT_LB15_V20.pdf
Der Versionsstand ergibt sich aus der letzten Ziffer
Gruß Stefan
-
Hi Thorsten,
hast Du bemerkt, daß die Aufgabe 4 einen Teil a) und einen Teil b) hat
und für jeden Teil unterschiedliche Überlegungen anzustellen sind?
Stefan
-
Ja ist mir bekann, der zusatz heißt ja" Ein Unterprogramm soll jeweils ( betonung jeweils) acht Bytes belegen" des wegen dachte ich so bezogen auf a und b... oder liege ich falsch???? oder ist der line in-Code (oder Macro) kein Unterprogramm??? oh mann werde noch wansinnig bei der Frage
-
Also ich habe das mal so wie ich das geschrieben habe weggeschickt. Mal sehen wie es dann zurück kommt.
Habe das aber auch so verstanden mit:
38x 8 bytes und 38x das komplette Programm
gruß
-
Habe da was im Lehrbrief gefunden Seite 171 4.1 Assembler und Seite 172 bin aber jetzt auch nicht schlauer mehr dazu morgen hab nen kumpel der ist Programierer.
mal sehen was der sagt.
gruß
-
So bin da mal auf was gestoßen
Da der Maschinen Code 38 mal verwendet wird kommen wir da auf 847818 Bytes.
zu a) das Unterprogramm benutz 8 Bytes an Speicher
zu b) da die Grafikfunktion 38 mal verwendet wird, wirt der Inline Code auch 38 mal neu geschrieben das heißt 38x8= 304 Bytes also brauch wir
847818 + 8 + 304 = 848130 Bytes
an speicher
so werde ich es rausschicken...
-
Hallo,
a.)
wäre es nicht intelligent, wenn die 22 311 Bytes der Grafikfunktion nur
*einmal* im Anwendungsprogramm stehen müßten? Die könnten dann bei jedem
Aufruf wieder verwendet werden.
b.)
"Inline-Code" und "Makro" sind hier Begriffe aus der Programmierung.
Bei der Übersetzung des Quellprogrammes wird an jeder Stelle, an der
der Name des Makros (bzw. der Inline-Routine) steht, der volle Text
der Befehle eingefügt.
Schaut mal bei Wikipedia unter "Inline-Ersetzung".
Stefan
-
zu a)
Code Hauptprogramm
CALL Grafikfunktion
weiterer Code Hauptprogramm
CALL Grafikfunktion
weiterer Code Hauptprogramm
...
Code Grafikfunktion
Mann hat 38mal den Call der Grafikfunktion und braucht einmal den Code der Funktion
Benötigter Speicher = 38 * 8 + 22.311 = 22.615 Bytes
zu b)
Code Hauptprogramm
Inlinecode Grafikfunktion
weiterer Code Hauptprogramm
Inlinecode Grafikfunktion
weiterer Code Hauptprogramm
...
Benötigter Speicher: 38 * 22.311 = 847.818 Bytes
a) 22615 Bytes
b) 847.818 Bytes
= 870.433 Bytes
an speicher
denke mal so is richtig oder
-
... denke ich auch. Das hast Du gut auf den Pukt gebracht. :-)
-
Jo leuts meine letzte Berechnung ist richtig habe volle Punktzahl bekommen....somit diesen Threat schließen