Lazarus/Computer-Mathematik und BlueJ: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
< Lazarus(Unterschied zwischen Seiten)
main>Peterdauscher
Keine Bearbeitungszusammenfassung
 
main>Ugh
(→‎Siehe auch: Beispiel Onlinebank als Einstieg in Java)
 
Zeile 1: Zeile 1:
"Computer" heißt wörtlich übersetzt "Rechner" und deshalb wäre es ja jetzt auch Zeit, ein Programm auch einmal etwas ausrechnen zu lassen.  
{{Babel-2|Software|Links}}
{{Zitat wpde|'''BlueJ''' ist eine interaktive [[Integrierte Entwicklungsumgebung]] für [[Java]], mit der Anfängern die Zusammenhänge der [[Objektorientierte Programmierung|objektorientierten Programmierung]] vermittelt werden sollen. Dem Benutzer stehen zur Programmierung ein Fenster mit einem [[UML]]-[[Klassendiagramm]] und ein Texteditor mit [[Syntaxhervorhebung]] zur Verfügung. Im Klassendiagramm kann der Benutzer [[Klasse (Informatik)|Klassen]] erstellen und Assoziationen zwischen diesen schaffen. Änderungen am Diagramm wirken sich sofort auf den Quellcode aus und umgekehrt.|BlueJ|22.10.05}}


Dafür muss das Programm drei Dinge tun:  
==Aktuell==
* [http://www.bluej.org/tutorial/blueJ-tutorial-deutsch.pdf BlueJ Tutorial] auf deutsch
* [http://edu.netbeans.org/bluej/index.html The NetBeans IDE 5.0 BlueJ Edition], die offizielle Version hat den Beta-Status verlassen, 29.07.2006


*Die Zahlen, die verrechnet werden müssen, müssen von der Benutzeroberfläche eingelesen werden.
== Kurzvorstellung BlueJ ==
*Die Zahlen müssen zu einem Ergebnis verrechnet werden.
* Einstieg mit Screenshots: [http://www.hs-niederrhein.de/~gstwolf/inf11/bluej/bluej_info.html Einstieg in Java mit BlueJ] (Hermann Josef Fels)
*Das Ergebnis der Verrechnung muss auf der Benutzeroberfläche ausgegeben werden.
* Übersicht: [http://zim.informatik.uni-bremen.de/index.php/Main/BlueJ Kurzvorstellung BlueJ]


== Arbeiten von Integer-Variablen ==
== Unterrichtsmaterial==
=== Einlesen von Integer-Variablen ===
* [http://www.zitadelle.juel.nw.schule.de/if/java/java.html Informatik mit Java] - Turtlegrafik für BlueJ
* [http://www-is.informatik.uni-oldenburg.de/~dibo/hamster/ Hamstern mit BlueJ] - "BlueJ ist eine Entwicklungsumgebung für objektorientierte Java-Programme, die speziell für Programmieranfänger entworfen wurde. BlueJ richtet sich also an dieselbe Zielgruppe wie das Java-Hamster-Modell. Mit der Entwicklungsumgebung einher geht eine didaktische Methode zur Einführung in die objektorientierte Programmierung." - siehe auch [http://www-is.informatik.uni-oldenburg.de/~dibo/hamster/download/v22/HamsternMitBlueJ.pdf HamsternMitBlueJ.pdf]
* [http://informatik.zum.de/pieper/blog/index.php?d=24&m=07&y=06&category=2 Reader zum Einstieg in Java mit BlueJ] auf dem [[Blog]] von Uli Pieper
* [http://www.u-helmich.de/inf/BlueJ/ Progammieren mit Java] - Ein Lehrgang von Ulrich Helmich


Gibt ein Benutzer eine Zahl ein, steht sie in der Eigenschaft <tt>Text</tt>. Jedenfalls stehen die einzelnen Ziffern als Zeichenkette in der Eigenschaft <tt>Text</tt>. Aus der Zeichenkette z.B. in <tt>Edit1.Text</tt> muss jetzt eine "richtige" Zahl (z.B. vom Typ <tt>integer</tt>) werden.
==Problemquellen bei der Arbeit mit BlueJ==
Folgende Probleme wurden festgestellt:
* Verschiedene Versionen von Windows XP und Java und BlueJ vertragen sich nicht. Lösung: Installation anderer Versionen.
* Probleme mit Firewalls
* Erst Java installieren, dann BlueJ


Das besorgt der Befehl <tt>StrToInt</tt>:
==Diskussion==
<source lang="pascal">
* [http://is11009.inf.tu-dresden.de/downloads/folien/42.pdf BlueJ im Anfangsunterricht - Himmelblau vs. Himmelgrau? - T. Heußer (Karlsruhe)]
a:=StrToInt(Edit1.Text);
</source>


Diese Zeile sorgt dafür, dass der Integer-Variablen <tt>a</tt> die Wert zugewiesen wird, die der Benutzer in das Edit-Feld <tt>Edit1</tt> geschrieben hat.
== Weblinks ==
* [http://www.bluej.org Offizielle BlueJ-Seite]
* [http://www.bluej.org/mrt/ BlueJ Blog]


Bevor man jedoch der Variable <tt>a</tt> einen Wert zuweisen kann, muss der Computer wissen, dass es überhaupt eine Integer-Variable mit Namen <tt>a</tt> gibt.
== Siehe auch ==
* [[Java]]
* [[Java-Software]]
* [[Beispiel Onlinebank als Einstieg in Java (Informatik)]]
* [[Programmiersprachen]]
* [[IDE]]


Dies geschieht mit Hilfe einer so genannten Variablendeklaration:
[[Kategorie:Informatik]]
<source lang="pascal">
[[Kategorie:Programmiersprache]]
var a : integer;
</source>
 
Wichtig: Dieser Befehl steht noch vor dem <tt>Begin</tt>.
 
=== Rechnen mit Integer-Variablen ===
Nehmen wir an, wir hätten drei Integer-Variablen, <tt>a</tt>,<tt>b</tt> und <tt>c</tt>. Das Programm soll nun die Summe der Werte in <tt>a</tt> und <tt>b</tt> ausrechnen; das Ergebnis soll in der Variablen <tt>c</tt> gespeichert werden.
 
Dies erreicht man wieder mit einem Zuweisungsbefehl mit dem stilisierten Pfeil nach links:
<source lang="pascal">
c := a+b;
</source>
 
Natürlich gibt es neben der Addition von Integer-Zahlen auch andere Rechenoperationen:
 
{| class ="wikitable toptextcells"
! Rechenoperation
! Rechenzeichen <br />in der Sprache Pascal
! Beispiel
|-
| Addition || <nowiki>+</nowiki> || c:=a+b;
|-
| Subtraktion || <nowiki>-</nowiki> || c:=a-b;
|-
| Multiplikation || <nowiki>*</nowiki> || c:=a*b;
|-
| (ganzzahlige) Division|| <nowiki>div</nowiki> || c:=a div b;
|-
| Rest der (ganzzahligen) Division|| <nowiki>mod</nowiki> || c:=a mod b;
|}
 
Die ganzzahlige Division ist die Division, die die meisten von uns aus der Grundschule kennen:
 
<math>34 : 5 = 6 \text{ Rest } 4</math>
 
Den Wert "6" würde dann die Rechenoperation <tt>34 div 5</tt> liefern, den Wert "4" die Operation <tt>34 mod 5</tt>.
 
=== Ausgabe von Integer-Variablen ===
 
Bisher steht das Ergebnis nur in der Variable <tt>c</tt>. Der Benutzer des Programms sieht davon gar nichts. Der Wert muss noch irgendwie auf der Oberfläche erscheinen. Eine Möglichkeit dazu wäre, die Zahl in ein weiteres Edit-Feld zu schreiben:
 
<source lang="pascal">
Edit3.Text:=IntToStr(c);
</source>
 
=== Das ganze Programm zum Rechnen mit Integer-Zahlen ===
Das folgende Programm funktioniert, wenn es auf der Oberfläche die Komponenten <tt>Edit1</tt>, <tt>Edit2</tt> und <tt>Button1</tt> gibt.
{{kasten_blau|<source  line highlight="33-44" lang="pascal">
unit zahlen_main;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
var a : integer;  // wir erfinden eine Zahlen-Variable a
    b : integer;  // wir erfinden eine Zahlen-Variable b
    c : integer;  // wir erfinden eine Zahlen-Variable c
 
begin
a:=StrToInt(Edit1.Text);  // belege die Variablen
b:=StrToInt(Edit2.Text);  // mit den Inhalten der Edit-Felder
 
c:=a+b; // Addiere a und b und weise den Wert der Variable c zu
Edit3.Text:=IntToStr(c);
end;
 
initialization
  {$I zahlen_main.lrs}
 
end.
</source>}}
 
==Arbeiten mit Reellen Zahlen==
Das Arbeiten mit reellen Zahlen vom Typ <tt>real</tt> oder <tt>double</tt> funktioniert sehr ähnlich, mit ein paar kleinen Unterschieden:
 
Statt <tt>IntToStr</tt> und <tt>StrToInt</tt> werden hier die Befehle <tt>FloatToStr</tt> und sinnvollerweise <tt>format</tt> verwendet.
 
Die Zeile
<source lang="pascal">
Edit3.Text:=format('%5.2f',[c]);
</source>
sorgt dafür, dass die double-Variable <tt>c</tt> in das Edit-Feld geschrieben wird, dass sie insgesamt 5 Stellen und 2 Nachkommastellen hat.
 
{{kasten_blau|<source  line highlight="33-44" lang="pascal">
unit rzahlen_main;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
var a : double;  // wir erfinden eine Zahlen-Variable a
    b : double;  // wir erfinden eine Zahlen-Variable b
    c : double;  // wir erfinden eine Zahlen-Variable c
 
begin
a:=StrToFloat(Edit1.Text);  // belege die Variablen
b:=StrToFloat(Edit2.Text);  // mit den Inhalten der Edit-Felder
 
c:=a+b; // Addiere a und b und weise den Wert der Variable c zu
 
Edit3.Text:=format('%5.2f',[c]);
 
end;</source>
}}

Version vom 27. August 2006, 09:19 Uhr

Vorlage:Babel-2

BlueJ ist eine interaktive Integrierte Entwicklungsumgebung für Java, mit der Anfängern die Zusammenhänge der objektorientierten Programmierung vermittelt werden sollen. Dem Benutzer stehen zur Programmierung ein Fenster mit einem UML-Klassendiagramm und ein Texteditor mit Syntaxhervorhebung zur Verfügung. Im Klassendiagramm kann der Benutzer Klassen erstellen und Assoziationen zwischen diesen schaffen. Änderungen am Diagramm wirken sich sofort auf den Quellcode aus und umgekehrt.

Wikipedia-logo.png BlueJ, Wikipedia – Die freie Enzyklopädie, 22.10.05 - Der Text ist unter der Lizenz „Creative Commons Attribution/Share Alike“ verfügbar; zusätzliche Bedingungen können anwendbar sein. Siehe die Nutzungsbedingungen für Einzelheiten. In der Wikipedia ist eine Liste der Autoren verfügbar.



Aktuell

Kurzvorstellung BlueJ

Unterrichtsmaterial

Problemquellen bei der Arbeit mit BlueJ

Folgende Probleme wurden festgestellt:

  • Verschiedene Versionen von Windows XP und Java und BlueJ vertragen sich nicht. Lösung: Installation anderer Versionen.
  • Probleme mit Firewalls
  • Erst Java installieren, dann BlueJ

Diskussion

Weblinks

Siehe auch