Illustrierende Aufgaben zum LehrplanPLUS. Realschule, Informationstechnologie, Lernbereich 2: Modul Bruchrechner. Stand:

Ähnliche Dokumente
Illustrierende Aufgaben zum LehrplanPLUS. Realschule, Informationstechnologie, Lernbereich 1: Modul 1.6. Sparziel Kleinwagen. Stand:

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 5 1. Semester ARBEITSBLATT 5 RECHNEN MIT BRÜCHEN. 1. Arten von Brüchen und Definition

Einführung in die Java- Programmierung

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1

R. Brinkmann Seite

Einführung in die Bruchrechnung

Skript Bruchrechnung. Erstellt: 2014/15 Von:

Grundwissen Mathematik

Bruchrechnen. 2.1 Teilbarkeit von Zahlen. Die Primfaktorzerlegung ist die Zerlegung einer natürlichen Zahl in ein Produkt von Primzahlen.

Objektorientierte Modellierung (1)

Bruchrechnen in Kurzform

Teilbarkeit von natürlichen Zahlen

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

Bedienung von BlueJ. Klassenanzeige

b) Notieren Sie hier die Brüche aus der Tabelle, die sich noch kürzen lassen und kürzen Sie diese soweit als möglich: 1 2

Variablen und Datentypen

1F Wintersemester 2012/2013 Unterlagen: LehrerInnenteam GFB

1 3 Z 1. x 3. x a b b. a weil a 0 0. a 1 a weil a 1. a ist nicht erlaubt! 5.1 Einführung Die Gleichung 3 x 9 hat die Lösung 3.

NT Informationsdarstellung mit Grafik-, Textund Multimediadokumenten

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 2. Semester ARBEITSBLATT 3 RECHNEN MIT BRUCHTERMEN. 1. Kürzen von Bruchtermen

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Rationale Zahlen. Vergleichen und Ordnen rationaler Zahlen

C1: Tabellenkalkulation Daten und Relationen (14)

3. Diskrete Mathematik

Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen Fallbeispiel Baukredit

perfekt für Klassenarbeiten Videos zu jeder Übungsaufgabe alle Themen sehr übersichtlich alle Anforderungsbereiche StrandMathe GbR

Mit den Rechenfunktionen werden zwei digitale Werte addiert oder subtrahiert.

Algorithmen und ihre Programmierung

Technische Dokumentation IPCalculator

Gib die richtigen Fachbegriffe an. Welche Information gibt der Nenner eines Bruches an?

Übung 1: Object Inspector

= * 281 = : 25 = oder 7x (also 7*x) oder (2x + 3) *9 oder 2a + 7b (also 2*a+ 7*b)

Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11

Grundlagen Algebra Aufgaben und Lösungen

public class <<Name der Klasse>>{ << Allgemeine (Globale) Definitionen >> public static void Main(string[] args){

4.Grundsätzliche Programmentwicklungsmethoden

3. Stegreifaufgabe aus der Mathematik Lösungshinweise

CEN1112 Labor Software-Entwicklung

Speicherkonzepte von Pixel- und Vektorgrafik

Problemlösen. Modellieren

Kapitel 1: ADDITION UND SUBTRAKTION VON BRÜCHEN

Lernmodul Bruchrechnen. Brüche vollständig kürzen (ggt) Brüche gleichnahmig machen (kgv) Brüche addieren. Brüche subtrahieren. Brüche multiplizieren

Anhang 6. Eingangstest II. 1. Berechnen Sie den Durchschnitt von 6 + 3,9 + 12, 0 = 2. Berechnen Sie: : = 3. Berechnen Sie: = 3 und 6

Repetitorium Informatik (Java)

I Die rekursive Datenstruktur Liste

1 Zahlentheorie. 1.1 Kongruenzen

UML (Unified Modelling Language) von Christian Bartl

Abfolge in 5 Prozessbezogene Kompetenzen Inhaltsbezogene Kompetenzen

7. Serienbriefe erstellen Das Prinzip des Seriendrucks MICROSOFT WORD Elemente des Seriendrucks

Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Einführung in die Informatik I

Umstellen und Lösen von Gleichungen

Dezimal. Dezimal. 6 Dezimalzahlen multiplizieren 7 8 Periodische Dezimalzahlen 9. Addition. Multiplikation. Algebra

Grundwissen. 6. Jahrgangsstufe. Mathematik

5 Codierung nach RSA (Lösung)

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt : Grundlagen des Cyclic redundancy code (CRC)

Fertige Unterrichtsstunde zum Thema rationale Zahlen

Kapitel 7: Gleichungen

Kapitel 2. Kapitel 2 Natürliche und ganze Zahlen

= (Kürzen mit 4) Gleichnamige Brüche werden addiert (subtrahiert), indem man die Zähler addiert (subtrahiert) und den Nenner beibehält.

Energieformen beim Trampolinspringen

VERWENDUNG DES FRAGEBOGENBAUKASTENS

Zahlenrechnung. Division

Rechnen mit Potenzen und Termen

Brainfuck Interpreter für ZX81

Inhaltsverzeichnis Mathematik

Kapitel 3 Mathematik. Kapitel 3.3. Algebra Gleichungen

Repetitionsaufgaben Negative Zahlen/Brüche/Prozentrechnen

Amtsblatt des Ministeriums für Kultus, Jugend und Sport Baden-Württemberg

[Beziehungen, Ereignisse und Aktionen: Benutzer hinzufügen und anmelden] Schritt 1: Java-Editor öffnen

Wir arbeiten mit Zufallszahlen

Fehlerbehandlung in Excel -Tabellen - Grundüberlegungen

Grundrechnungsarten mit Dezimalzahlen

Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg

1 Rechnen. Addition rationaler Zahlen gleicher Vorzeichen Summand + Summand = Summe

So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage

Cls. Der Aufbau der Schaltung geschieht mit dem HWPRAK-Altera-Board, das in diesem Versuch nun aus den folgenden Komponenten besteht:

Grundlagen der Mathematik von Ansgar Schiffler - Seite 1 von 7 -

Russische Bauern- Multiplikation

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Sachkompetenz Zahlen. Zahlen lesen und schreiben. zählen, Zahlen ordnen. Zahlen erfassen. Zahlen als Operatoren verwenden

Ministerium für Kultus, Jugend und Sport Baden-Württemberg

Algorithmen für Kettenbrüche Ac

Zahlen und Mengen 1.xx 1.xx

Grundwissen JS 5 Algebra

Verbindendes Vorhaben in IT 10 I: CAD und Modellieren

Systemanalyse I Software-Entwicklung. Die Phase Design.? Prof. Dr. Susann Kowalski

Inhalt: Die vorliegenden Folienvorlagen enthalten folgende Elemente:

Sprachsensible Unterrichtsbeispiele

Programmieren I. Kapitel 5. Kontrollfluss

Javakurs für Anfänger

1 Grundwissen 6 2 Dezimalbrüche (Dezimalzahlen) 9 3 Brüche 11 4 Rationale Zahlen 16 5 Potenzen und Wurzeln 20 6 Größen und Schätzen 24

Vorbereitung auf die 1. Schularbeit: MATHEMATIK KL.: M3/I. - S.1 L E R N Z I E L H I L F E N

BRUCHRECHNEN. Erweitern und Kürzen:

Übungspaket 19 Programmieren eigener Funktionen

3 Berechnungen und Variablen

VBA-Programmierung: Zusammenfassung

Corinne Schenka Vorkurs Mathematik WiSe 2012/13

Transkript:

Bruchrechner Stand: 10.05.2017 Jahrgangsstufen Lernbereich 2: Modul 2.6.2 Fach/Fächer Übergreifende Bildungsund Erziehungsziele Zeitrahmen Benötigtes Material Informationstechnologie Technische Bildung 4-5 Doppelstunden SEMIOOS (freie Software) Kompetenzerwartungen Die Schülerinnen und Schüler analysieren Aufgabenstellungen (z. B. Programm für das Rechnen mit Brüchen) und erstellen hierfür objektorientierte Modelle unter Verwendung standardisierter Notationsformen. entwickeln Lösungsansätze mithilfe von Algorithmen (z. B. für eine Methode zur Addition zweier Brüche). implementieren objektorientierte Programme mit einem geeigneten Programmierwerkzeug testen und optimieren ihre objektorientierten Programme. Aufgabe Entwickle eine Softwareanwendung für das Rechnen mit Brüchen. Beachte dabei folgende Vorgaben: Das Programm soll... eine grafische Oberfläche besitzen. zwei Brüche auf Knopfdruck addieren, subtrahieren, multiplizieren oder dividieren können. das Ergebnis wiederrum als gekürzten Bruch ausgeben. CC0, https://www.iconfinder.com/icons/107 230/app_window_icon (Stand: 01.06.2016) Seite 1 von 12

Hilfestellung (gestufte Hilfestellungen im Sinne der inneren Differenzierung) Stufe 1: Keine vorgegebene Hilfestellung Die Schülerinnen und Schüler entwickeln den Bruchrechner gemäß den Phasen der Softwareentwicklung, z. B. dem Wasserfallmodell mit Analyse, Entwurf, Implementierung und Test/Wartung. Dabei strukturieren und planen sie das Vorgehen weitgehend selbst. Stufe 2: Mittlere Hilfestellung Hier eine Checkliste für den Entwurf des Bruchrechners: Grafische Programmoberfläche Klassenkarte BRUCH (Welche Attribute sind relevant? Welche Methoden braucht man?) Wie funktioniert das Rechnen mit Brüchen (addieren, subtrahieren, multiplizieren, dividieren, kürzen)? Algorithmen für die Methoden entwickeln und notieren Wichtiger Hinweis: Entwickle deine Methoden möglichst modular, um unnötige Programmierarbeit zu vermeiden und effizient zu arbeiten. Stufe 3: Umfangreiche Hilfestellung Die Schülerinnen und Schüler bekommen folgende Vorgaben: So soll die grafische Oberfläche des Bruchrechners aussehen: Hier eine Checkliste für den Entwurf des Bruchrechners: Grafische Programmoberfläche gemäß Vorlage erstellen (Oberflächenklasse) Klasse Bruch (Klassenkarte mit relevanten Attributen, Methoden) Wie funktioniert... Seite 2 von 12

o das Kürzen von Brüchen? o das Addieren bzw. Subtrahieren zweier Brüche? o das Multiplizieren zweier Brüche? o das Dividieren zweier Brüche? o das Einlesen der Eingaben über die Programmoberfläche o die Ausgabe der Ergebnisse? Was ist bzgl. der Eingabe von Zähler und Nenner zu beachten? Algorithmus für Hilfsmethode kuerzen( ) Algorithmus für Hilfsmethode kgv(zahl_1: Ganzzahl, zahl_2: Ganzzahl) Algorithmus für Hilfsmethode ggt(zahl_1: Ganzzahl, zahl_2: Ganzzahl) Algorithmus für Methode addieren(bruch_2: BRUCH) Algorithmus für Methode subtrahieren(bruch_2: BRUCH) Algorithmus für Methode multiplizieren(bruch_2: BRUCH) Methode dividieren(bruch_2: BRUCH) Wichtiger Hinweis: Entwickle Deine Methoden möglichst modular, um unnötige Programmierarbeit zu vermeiden und effizient zu arbeiten. Hinweise zum Unterricht Vorausgesetzte Inhalte Grundlagen im Umgang mit der Software SEMIOOS: Die Schülerinnen und Schüler sollten bereits in der Lage sein, kleine Softwareanwendungen mit SEMIOOS möglichst selbstständig umzusetzen (z. B. Berechnung des BMI nach Eingabe von Größe und Gewicht). Phasen der Softwareentwicklung Standardisierte Notationsformen, z. B. Klassenkarte, Klassendiagramm, Struktogramm Prinzipien der Programmierung Vorgehensweise bei Programmtest und optimierung Videoanleitungen zu SEMIOOS In der Mediathek von https://www.mebis.bayern.de finden Sie unter dem Suchbegriff semioos Videoanleitungen zur Bedienung der Programmierumgebung. Sozialform Es bietet sich an, die Analyse und den Entwurf in Partnerarbeit oder Kleingruppen zu machen und die anschließende Implementierung und Testarbeit in Einzelarbeit umzusetzen. Seite 3 von 12

Lösungshinweise Illustrierende Aufgaben zum LehrplanPLUS Die Aufgabenlösung wird hier exemplarisch anhand der Entwicklungsumgebung SEMIOOS vorgestellt. Anhand der abgebildeten Struktogramme sollte die Implementierung aber auch in anderen Programmiersprachen bzw. Entwicklungsumgebungen gut möglich sein. Hinweise zum Ablauf der Aufgabenbearbeitung Es wird empfohlen, die Aufgabe gemäß den üblichen Phasen der Softwareentwicklung (z. B. wie hier nach dem sog. Wasserfallmodell) zu bearbeiten (siehe Abb. 1: Phasen der Softwareentwicklung). Abbildung 1: Phasen der Softwareentwicklung 1. Die Analyse Bei der Analyse ist das Vorgehen nach dem EVA-Prinzip (Eingabe - Verarbeitung - Ausgabe) eine mögliche Strategie: Was wird eingegeben? Zwei Brüche, jeweils durch Eingabe eines ganzzahligen Zählers und Nenners Was geschieht bei der Verarbeitung? Durch Drücken entsprechender Schaltflächen sollen die eingegebenen Brüche addiert, subtrahiert, multipliziert oder dividiert werden. Was wird ausgegeben? Der Ergebnis-Bruch in Form eines ganzzahligen Zählers und Nenners, in gekürzter Form Was ist sonst noch zu beachten? Die Division durch Null muss abgefangen werden, d. h. Eingabe von 0 für einen Nenner ist unzulässig! Seite 4 von 12

2. Der Entwurf 2.1 Die grafische Oberfläche Abbildung 2: Beispiel für eine mögliche Programmoberfläche des Bruchrechners Man beginnt mit der grafischen Oberfläche (GUI) des Bruchrechners. Diese kann man z. B. als Objektdiagramm (Objektbaum, siehe Abb. 3) darstellen. Viele Schüler werden diese Notationsform vielleicht schon aus Modul 1.2 (vgl. Object Draw) kennen. Der Objektbaum zeigt die Objekte, die in einer Instanz der Oberflächenklasse BRUCHRECHNER vorkommen. Alternativ könnte man auch ein UML-Klassendiagramm (siehe Abb. 4) verwenden, das die Teil-Ganzes-Beziehungen zwischen den einzelnen Klassen veranschaulicht. Abbildung 3: Objektdiagramm GUI Bruchrechner Seite 5 von 12

Abbildung 4: Klassendiagramm GUI Bruchrechner Für die Benennung der Objekte sollten zugunsten der Übersichtlichkeit gängige Konventionen eingehalten werden, wie z. B. das Präfix lbl_ für Beschriftungsfelder (Label), tf_ für Textfelder und btn_ für Befehlsschaltflächen (Button). Der Grobentwurf der Programmoberfläche kann auch mit Bleistift und Papier erfolgen. 2.2.2 Die Klasse Bruch Definition der Klasse BRUCH Relevante Attribute identifizieren und geeignete Datentypen festlegen Notwendige Methoden der Klasse BRUCH bestimmen und deren Übergabeparameter und Rückgabewerte festlegen o addieren(bruch2:bruch) o subtrahieren(bruch2:bruch) o multiplizieren(bruch2: BRUCH) o dividieren(bruch2:bruch) o kuerzen() Notwendige Hilfsmethoden o ggt(zahl1: GANZEZAHL, zahl2:ganzezahl) o KgV(zahl1: GANZEZAHL, zahl2:ganzezahl) Abbildung 5: Klassenkarte für die Klasse BRUCH Seite 6 von 12

Abbildung 6: Struktogramm für die Methode addieren(...) Abbildung 7: Struktogramm für die Methode subtrahieren(...) Abbildung 8: Struktogramm für die Methode multiplizieren(...) Seite 7 von 12

Abbildung 9: Struktogramm für die Methode dividieren(...) Abbildung 10: Struktogramm für die Methode kuerzen() Abbildung 11: Struktogramm für die Hilfsmethode ggt(...) Seite 8 von 12

Abbildung 12: Struktogramm für die Hilfsmethode kgv(...) Für die Schüler sollte erläutert werden, wieso die Methoden addieren(...) und subtrahieren(...) als Übergabeparameter nur eine Instanz der Klasse BRUCH benötigen. Grund hierfür ist, dass z. B. bei der Addition der 1. Summand der Bruch selbst ist, der die Methode aufruft. Der Übergabeparameter ist dann der 2. Summand. Für die Erstellung der Struktogramme kann man den Schülern die Algorithmen beispielsweise in Form von Pseudocode oder Funktionsformeln bereitstellen. Größter gemeinsamer Teiler (ggt): Algorithmus von Euklid (Klassische Form) Die Parameter a und b stehen für die zwei Zahlen, deren ggt berechnet werden soll. wenn a = 0 dann return b sonst solange b 0 wenn a > b dann a = a - b sonst b = b - a return a Kleinstes gemeinsames Vielfaches (kgv): Formel mit ggt Die Parameter a und b stehen für die zwei Zahlen, deren kgv berechnet werden soll kgv a, b = a b ggt(a, b) 2.2.3 Die Oberflächenklasse Bruchrechner Die Oberflächenklasse BRUCHRECHNER ist in erster Linie für das zuständig, was man von dem Programm sieht. Für jede Befehlsschaltfläche muss eine Methode definiert werden, in unserem Fall Seite 9 von 12

also für die vier Rechenoperationen. Da wir die Methoden bereits in der Klasse BRUCH definiert haben, müssen wir diese beim Klicken nur noch mit Werten versorgen und aufrufen. Abbildung 13: Die Oberflächenklasse BRUCHRECHNER Die Oberflächenklasse BRUCHRECHNER (siehe Abb. 13) ist eine Unterklasse der Klasse HAUPTFENSTER(JFrame), was aber für die Schüler eigentlich weniger von Belang und eher etwas für besonders Wissbegierige ist. Wichtig ist, dass hier alle Oberflächenelemente als Attribute vertreten sind und für die Klick-Ereignisse der Buttons jeweils eine Methode definiert ist. Die Aufgabe der Methode inputcheck() ist, die Eingaben auf Vollständigkeit und Gültigkeit (Nenner 0) zu überprüfen und ggf. eine Meldung auszugeben. Abbildung 14: Struktogramm für die Methode inputcheck() Seite 10 von 12

Abbildung 15: Struktogramm für die Methode btn_addierenklick(), die durch Klick auf die Befehlsschaltfläche "addieren" ausgeführt wird. Die anderen Methoden zum Addieren, Multiplizieren und Dividieren können analog dazu erstellt werden. 2.3 Implementierung Die Implementierung erfolgt hier exemplarisch komplett in der Programmierumgebung SEMIOOS. Die Struktogramme können 1:1 in SEMIOOS eingegeben werden. Alternativ kann man Entwurfsphase und Implementierungsphase durch die Möglichkeiten von SEMIOOS verschmelzen und die Struktogramme gleich in SEMIOOS erstellen, was gleichzeitig die Programmierung der Methoden darstellt. Nicht zu vergessen ist die Definition der Startanweisung für den Appletaufruf eine häufige Fehlerund Frustrationsquelle (siehe Abb. 16). Abbildung 16: Staranweisung definieren nicht vergessen! Um unseren Bruchrechner in SEMIOOS zu starten und zu testen, haben wir zwei Möglichkeiten: 1. Ausführen der.jar-datei Seite 11 von 12

2. Java-Applet (eingebunden in ein HTML-Gerüst) erzeugen ACHTUNG: Es kann sein, dass aufgrund eines Bugs bei der Erstellung von Java- Applet-Archiv und HTML-Gerüst folgender Fehler auftaucht: Manchmal wird bei der Erzeugung der.jar Datei ein Leerzeichen hinten an den Dateinamen angehängt (anstatt xy.jar heißt die Datei dann xy.jar ). Das Applet bzw. die HTML-Seite funktioniert dann nicht. Man kann das Problem lösen, indem man die Datei umbenennt und das Leerzeichen hinter xy.jar durch Umbenennen entfernt. Anregung zum weiteren Lernen Es bietet sich an, die Aufgabe mithilfe einer anderen Programmierumgebung wie z. B. Processing oder einer anderen Programmiersprache wie z. B. Python umzusetzen. Seite 12 von 12