Java/Array und Benutzer:PascalHänle/Grundvorstellungen zum Ableitungsbegriff: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
< Java(Unterschied zwischen Seiten)
K (27 Versionen importiert)
 
Markierung: 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
==Zur Konzeption==
=Grundvorstellungen zum Ableitungsbegriff=
{{Idee|
* Es wird anhand von elementaren Methoden zum Umgang mit dem Array der Array erklärt. Man kann sich dabei auf Mathematik beziehen: x1, x2, x3.. xn als indizierte Variable sollte den Schülern bekannt sein.
* Ein netter Vergleich für Neulinge ist ein "Schubladenschrank" mit nummerierten Schubladen.
* Die Beispiele sind auf den Umgang mit BlueJ hin konzipiert und enthalten daher keine main Methode.
* Es können Parallelen zum Alltag hergestellt werden: Wo nutzen Schüler privat so etwas wie einen Array (z.B. Karteikasten, Buch, Kalender, Handyadressbuch...).}}


==Einstieg ins Thema==
<br />
* [http://informatik.zum.de/pieper/blog/index.php?entry=entry070110-165509 Hier] findet sich ein Bildschirmfilm zum Thema Einstieg in Arrays in [[Java]] mit [[BlueJ]].
{{Box|Lernpfad|Liebe Schülerinnen und Schüler, liebe Lehrkräfte,


== Datenstrukturen ==
Im folgenden Lernpfad werden Sie verschiedene Grundvorstellungen für die Ableitung kennen lernen. Ein Repertoire an verschiedenen Grundvorstellungen, oder auch Deutungsmöglichkeiten für die Ableitung, helfen Ihnen die Ableitung flexibel auf unbekannte Sachaufgaben anzuwenden. Sie werden
{{Zitat wpde|In der Informatik ist eine '''Datenstruktur''' eine bestimmte Art, Daten zu verwalten und miteinander zu verknüpfen, um in geeigneter Weise auf diese zugreifen und diese manipulieren zu können. Datenstrukturen sind immer mit bestimmten Operationen verknüpft, um eben diesen Zugriff und diese Manipulation zu ermöglichen.
* die Ableitung als lokale Änderungsrate,
Das '''Array''' ist die einfachste verwendete Datenstruktur. Es werden hierbei mehrere Variablen vom selben Basisdatentyp gespeichert. Ein Zugriff auf die einzelnen Elemente wird über einen Index möglich. (...)
* die Ableitung als Steigung der Tangente,
Im eindimensionalen Fall wird das Array häufig als Vektor und im zweidimensionalen Fall als Tabelle oder Matrix bezeichnet. Arrays sind aber keinesfalls nur auf zwei Dimensionen beschränkt, sondern werden beliebig mehrdimensional verwendet.  
* die Ableitung als lokale Approximation und  
Wegen ihrer Einfachheit und grundlegenden Bedeutung bieten die allermeisten Programmiersprachen eine konkrete Umsetzung dieser Datenstruktur als zusammengesetzten Datentyp Array im Grundsprachumfang an.
* die Ableitung als Verstärkungsfaktor kennen lernen.
|Datenstruktur|18.05.2006}}
Da die verschiedenen Grundvorstellungen nicht aufeinander aufbauen, können die Abschnitte in beliebiger Reihenfolge bearbeitet werden.
Im Lernpfad enthalten ist neben den Entdeckungsmöglichkeiten für die Erarbeitung der Grundvorstellungen ebenso
* eine Zusammenfassung der Grundvorstellungen
* eine Zusammenfassung des benötigten Vorwissens
* eine Handreichung für Lehrkräfte.  


== Ein erstes Beispiel ==
Zum späteren Lernen und Reflektieren Ihres Lernprozesses sollten Sie die Bearbeitung der Aufgaben, sowie eigene Anmerkungen und die Definitionen schriftlich festhalten.
<source lang="java">
public class ArrayTest1
{
  private double[] zahlenFeld;
  public ArrayTest1()
  {
    zahlenFeld = new double[10]; 
  }
 
  public void setZahlInFeld(int index, double wert)
  {
    zahlenFeld[index]=wert;
  }
 
  public double getZahlInFeld(int index)
  {
    return zahlenFeld[index];
  } 
}
</source>


Die Eigenschaft zahlenfeld wird als Array mit double-Elementen deklariert:
|Lernpfad
::private double[] zahlenFeld;
}}
Das Kennzeichen hierfür sind die eckigen Klammern.
Im Konstruktor wird dann ein neues Array mit 10 Elementen angelegt:
::zahlenFeld = new double[10]; 
Auf die einzelnen Elemente kann man mit Angabe des Index zugreifen:
::zahlenFeld[5]=27.3;
setzt beispielsweise zahlenFeld mit dem Index 5 auf den Wert 27.3
So erklärt sich die get- und die set-Methode im obigen Beispiel. Natürlich muss bei einem Array noch der Index genannt werden, weshalb sich der Übergabeparameter index ergibt.


{{Kasten gelb|Hinweis:
{{Vorlage:Lernpfad-Navigation|
Die Zählung eines Arrays beginnt bei 0, daher hat ein Array mit 10 Elementen den höchsten Index 9.}}
[[/Vorwissen|Vorwissen]]<br/>
 
[[/Die Ableitung als lokale Änderungsrate|Die Ableitung als lokale Änderungsrate]] <br/>
Greift man auf einen Index außerhalb des festgelegten Bereichs zu, so erhält man eine Fehlermeldung. Bei dem obigen Beispiel reicht es, den Index 10 zu wählen.
[[Benutzer:PascalHänle/Grundvorstellungen zum Ableitungsbegriff/Die Ableitung als Steigung der Tangente|Die Ableitung als Steigung der Tangente]]<br/>
 
[[Benutzer:PascalHänle/Grundvorstellungen zum Ableitungsbegriff/Die Ableitung als lokale lineare Approximation|Die Ableitung als lokale lineare Approximation]]<br/>
==length==
[[/Zusammenfassung Grundvorstellungen zum Ableitungsbegriff|Zusammenfassung Grundvorstellungen zum Ableitungsbegriff]]<br/>
Jeder Array hat die Eigenschaft length, mit der die Länge des Feldes festgestellt werden kann.
[[/Infos für Lehrkräfte|Infos für Lehrkräfte]]}}<br />
 
<source lang="java">
  public int getLaenge()
  {
    return zahlenFeld.length;
  }
</source>
 
==Ausgabe aller Werte==
Die Ausgabe aller Werte eines Arrays lässt sich einfach mit Hilfe einer einfachen Schleife realisieren, die abbricht, wenn eine Zählvariable (in diesem Fall i) die Länge des Feldes erreicht hat.
Denken Sie daran, dass i zunächst auf 0 und nicht auf 1 gesetzt werden muss.
 
<source lang="java">
  public void gibAus ()
  {
      int i=0;
      while(i<zahlenFeld.length){
        System.out.println("Index:"+i+" hat den Wert "+zahlenFeld[i]);
        i++;
      }
  }
</source>
 
==Zufallszahlenfeld==
<source lang="java">
  public void macheZufallsfeld (int maximum)
  {
      int i=0;
      while(i<zahlenFeld.length){
        zahlenFeld[i]=(int)(maximum*(Math.random()))+1;
        i++;
      }
  }
</source>
Die oben abgebildete Methode weist dem Feld Zufallszahlen (ohne Nachkommastellen) zu. Das ist sehr praktisch, wenn man das Feld nicht von Hand befüllen möchte. maximum gibt obere Grenze an. Die Zufallszahlen liegen also zwischen 1 und (einschließlich) maximum.
 
 
== Was ist die größte Zahl im Feld ==
<source lang="java">
  public double getGroessteZahl ()
  {
      double maximum=zahlenFeld[0];
      int i=1;
      while(i<zahlenFeld.length){
        if (zahlenFeld[i]>maximum) {
            maximum=zahlenFeld[i];   
        }
        i++;
      }
      return maximum;
  } 
</source>
 
Eine typische Aufgabe im Zusammenhang mit Arrays ist, die größte Zahl zu suchen (z.B. Maximaltemperatur bei einer Temperaturzeitreihe).
Dabei geht man wie folgt vor:
* Eine Hilfsvariable maximum bekommt den ersten Wert des Feldes zugewiesen.
* Danach werden alle anderen Werte des Feldes durchlaufen und mit maximum verglichen.
* Jedesmal, wenn ein größerer Wert gefunden wurde, wird maximum überschrieben.
 
Die folgenden Übungen sind alle ähnlich: Sie benötigen eine Schleife, Hilfsvariablen und zumindest bei 1 und 2 eine if-Abfrage.
 
{{Übung|# Lassen Sie in einer neuen Methode die kleinste Zahl im Feld suchen.
# Lassen Sie in einer neuen Methode den Index und nicht den Wert des größten Elementes zurückgeben.
# Lassen Sie in einer neuen Methode die Summe aller Zahlen im Feld zurückgeben.
# Lassen Sie in einer neuen Methode den Benutzer eine Zahl übergeben. Wenn die Zahl im Feld vorkommt, soll true zurückgegeben werden, wenn nicht false.}}
 
==Linkliste==
 
 
 
Einführungsbeispiel zu ARRAYs in Java: Prüfung eines EAN-Codes:
{{Pdf|eanCode.pdf|Der EAN-Code}}
 
 
[[Kategorie:Java]]
[[Kategorie:Unterrichtsidee]]
[[Kategorie:Informatik]]

Version vom 20. August 2019, 04:42 Uhr

Grundvorstellungen zum Ableitungsbegriff


Lernpfad

Liebe Schülerinnen und Schüler, liebe Lehrkräfte,

Im folgenden Lernpfad werden Sie verschiedene Grundvorstellungen für die Ableitung kennen lernen. Ein Repertoire an verschiedenen Grundvorstellungen, oder auch Deutungsmöglichkeiten für die Ableitung, helfen Ihnen die Ableitung flexibel auf unbekannte Sachaufgaben anzuwenden. Sie werden

  • die Ableitung als lokale Änderungsrate,
  • die Ableitung als Steigung der Tangente,
  • die Ableitung als lokale Approximation und
  • die Ableitung als Verstärkungsfaktor kennen lernen.

Da die verschiedenen Grundvorstellungen nicht aufeinander aufbauen, können die Abschnitte in beliebiger Reihenfolge bearbeitet werden. Im Lernpfad enthalten ist neben den Entdeckungsmöglichkeiten für die Erarbeitung der Grundvorstellungen ebenso

  • eine Zusammenfassung der Grundvorstellungen
  • eine Zusammenfassung des benötigten Vorwissens
  • eine Handreichung für Lehrkräfte.

Zum späteren Lernen und Reflektieren Ihres Lernprozesses sollten Sie die Bearbeitung der Aufgaben, sowie eigene Anmerkungen und die Definitionen schriftlich festhalten.