Klasse 11 - Informatikunterricht

Direkt zum Seiteninhalt
[6. Woche] Differenzenquotient
Diesmal ist eine Näherung für den Differenzenquotienten zu bestimmen.
Dazu ist für eine gegebene Funktion ein Intervall {a;b] festzulegen und in n gleiche Teile zu teilen. Damit entstehen an den Teilintervallen n+1 Argumente, für die die Funktionswerte in ein Array werte[] eingetragen werden.
Nun werden für jedes Teilintervall die Differenzenqoutienten (f(x_{n+1})-f(xn)) / ((b-a) / n) berechnet. Davon gibt es n Exemplare. Sie werden in das Array diffquot[] eingetragen.
Im Bild ist f(x)=x², das Intervall geht etwa von -1,3 bis 2,3. Die Funktionswerte sind schwarz dargestellt, die Differenzenquotienten in gelber Farbe.

Die beiden Arrays sind auszugeben. Wer NetBeans verwendet, kann die Werte gleich grafisch ausgeben, die Codiva-User können hilfsweise die Tabellenkalkulation nutzen, um ein Diagramm zu erstellen. Wenn man fein genug einteilt, kommen erstaunlich gute Ergebnisse heraus, die die 1. Ableitung numerisch gut annähern. Nimm als Funktionen die gleichen wie in der Integralaufgabe.
differenzenquotient.java
[4. Woche] Programmierübung: Bestimmtes Integral
Nach den hoffentlich erholsamen Osterferien wollen wir uns wieder dem Programmieren mit Java zuwenden, um unsere Übung darin nicht zu verlieren.
Schreibt ein Java-Programm, welches das bestimmte Integral einer Funktion mittels verschiedener Verfahren annähert. Im Bild seht Ihr den Graphen der Funktion y = cos x, der im Intervall [0; pi/2] mit einer Fläche unter der Kurve markiert ist. Diese Fläche gilt es also anzunähern.

Informiert Euch über die Verfahren Rechteckregel, Trapezregel und Simpsonregel in dem Papier Numerische Integration.
Die Funktion könnt Ihr in Euer Programm als Methode der Form
static double f(double x){ //static nur bei Konsolenprogrammen
 return Math.cos(x); //hier den jeweiligen Term einsetzen
}
einbauen und bei Bedarf aufrufen.
Eingaben des Programms:
  • Auswahl der Funktion:   y = cos x oder y = x² und mindestens einer weiteren, die Ihr selbst wählt
  • untere und obere Grenze a, b
  • Anzahl der Intervalle, mit denen die Näherung berechnet wird (2, 10, 1000 und freie Auswahl)
  • Auswahl des Verfahrens (oder alle 3 auf einmal)
Ausgaben des Programms
Der Näherungswert
Form des Programms
Es kann ein Konsolenprogramm (achtet hier auf den Qualifizierer static bei den Methoden) oder eine GUI-Anwendung erstellt werden. Projektname: integral
Kontrollergebnisse (Werte der bestimmten Integrale)
y = cos x im Intervall [0; pi/2]: 1
 y = x² im Intervall [0; 1]: 1/3
Oh Schreck, ich hab gerade kein Java
Lies die Installationsanleitung auf der 9.-Klasse-Seite
Zeitaufwand: 3x45min (bitte schreibt mir, wie lange Ihr gebraucht habt)
[1.-3. Woche] Technische Informatik
Verwende das Tool LogicSim, um die Aufgaben zu bearbeiten. Downloadadresse:


Den oberen Link verwenden und das Zip-Archiv auspacken (im Windows-Explorer: rechte Maustaste, alle extrahieren). Den Ordner zum Arbeiten verwenden, vor allem den Ordner circuits für die eigenen Schaltungen und den Ordner modules für die eigenen integrierten Schaltungen

Aufgaben:
  1. Erstelle einen Halbaddierer aus einem AND-Gatter (für das Übertragsbit) und einem XOR-Gatter (für das Summenbit). Probiere die Schaltung aus.
  2. Baue den Halbaddierer nun nur aus NAND-Gattern (wie im Schaltkreis 4011) auf. Für das AND benötigst du 2 NAND-Gatter, für XOR dagegen vier.

[2. Woche}
Modul Halbaddierer
Baue nun den Halbaddierer als Modul auf. So geht's:
Neues Modul, benennen und beschriften
Ein- und Ausgänge werden sichtbar.  
Fange mit den Anschlüssen von oben an. Oberer Ausgang = Summe, zweiter = Übertrag (Carry, C)
Speichere das Modul, Ordner ist automatisch modules
Das Modul taucht in der Palette auf und zeigt nur die benutzten Anschlüsse
Teste mit Schaltern und LEDs: 1+1=10
Informiere Dich nun über den Volladdierer auf dieser Seite. (In der Wikipedia sind auch gute Artikel) Der Volladdierer ist schon im LogicSim als Modul enthalten (siehe vorletztes Bild). Seine Eingänge sind a_n, b_n und c_{n-1} (Übertrag der vorangegangenen Rechnung).
Aufgaben:
  1. Baue ein Addierwerk auf, das zwei 5-Bit-Zahlen addieren kann. Die möglichen 6 Stellen des Ergebnisses sollen durch LEDs angezeigt werden. Für die letzte Stelle genügt der HA, die übrigen brauchen natürlich einen Volladdierer. Implementiere die Schaltung als lsim und als Modul 5BitAddierer.
  2. Informiere Dich über Subtrahierer auf dieser Seite (sieh Dir auch die Addiersysteme dort an). Baue ein Subtrahierwerk für 5-Bit-Zahlen auf (5BitSubtrahierer.lsim / mod). Ein kombiniertes Addier-und Subtrahierwerk ist auch möglich.
  3. Bei sehr vielen Bits wird die Weitergabe des Carry-Bits zum Problem: Jeder Addierer wartet auf den vorigen Übertrag. Das dauert ein wenig bei 64 Bit. Informiere Dich daher über Strategien wie den Carry-Look-Ahead-Addierer. Baue einen solchen für 4 Bit auf (CLA.lsim)
Schicke die Lösungen an die angegebene E-Mail-Adresse. Arbeitsaufwand: 3x45min
Einsendeschluss ist Freitag, der 27. März um 15 Uhr. Es kann maximal eine 15 erzielt werden.
Nachzügler ohne triftigen Grund können bis Sonnabend 28. März um 15 Uhr einsenden und können maximal eine 9 erreichen. Danach geht nichts mehr.
Du kannst jederzeit Fragen zu den Aufgaben stellen, ohne Abwertung natürlich.
Bitte notiert, wie lange Ihr gebraucht habt. Die 3 Pflichtaufgaben sollten in 3x45min geschafft sein.

Bildnachweis
Alle Grafiken wurden von mir selbst erstellt.



Bei Fragen
stehe ich zur Verfügung, schicke einfach eine E-Mail an e204info@gmail.com

Aenean massa.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.
venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.

Carl-Zeiss-Gymnasium
Mirko König
07743 Jena




e204info@gmail.com

e204info@gmail.com
Created with WebSite X5
Zurück zum Seiteninhalt