PMG/Profil nawi 9 1011/kleine mathematische Beispiele
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
== Addition zweier Zahlen ==
Wir probieren eine '''einfache Addition zweier ganzer Zahlen''' zu "programmieren".
Dazu müssen wir die Werte eingeben, verarbeiten lassen und ausgeben (EVA-Prinzip!).
<br>
:Prinzipiell geht dies ganz einfach, indem im Argument für ''write'' oder ''writeln'' (Unterschied testen) die Rechenoperation angegeben wird.
:Beachte die Datentypen und deren Konvertierung.
<eval id="4c8f0a6c4d820">
begin
writeln(inttostr(5+12));
end.
</eval>
<br>
Allerdings wird so nicht programmiert!
* nicht allgemeingültig
* keine variable Zuweisung der zu summierenden Zahlen möglich
* keine erneute Verwendung der programmierten Programmteile möglich
Daher werden (kleine) '''Unterprogramme''' (Bausteine, Module genannt) erzeugt, die mit einem Namen versehen werden und über diesen aufgerufen werden können.
<br>
Beispiel für ein Unterprogramm (eine Funktion) in einer imperativen Programmierumgebung
[[Bild:Function_3.JPG]]
''hier ein Beispiel für die Syntax im PWIKI''
<code id="4c8f0ebe804ad">
function addition(a,b:integer):integer;
begin
result:=a+b;
end;
</code>
<eval id="4c8f0ebe806f4">
begin
writeln(inttostr(addition(3,4)));
end.
</eval>
<br>
== Addition dreier Zahlen ==
Ergänze die ähnliche Funktion addition3 zur Bildung der Summe dreier reeller Zahlen!
<code id="4c8f0ebe805de">
function addition3
</code>
<eval id="4c8f0ebe807f5">
begin
writeln(floattostr(addition3(3,4,5)));
end.
</eval>
<check>
result := ((addition3(3,4,5) = 12.0) and (addition3(8,4,15) = 27.0));
</check>
<br>
== Addition einfacher Terme ==
Schreibe eine Funktion zur Berechnung der Summe von Produkt und Quotient zweier Zahlen.
<code id="4c874c6877f67">
function sumPQ
</code>
<eval id="4c874c687a5a4"></eval>
<check>
result := ((sumPQ(3,6) = 18.5) and (sumPQ(8,4) = 34));
</check>
== Berechnung einer Quadratzahl ==
Schreibe eine Funktion zur Berechnung der Quadratzahlen.
<code id="4c99c0f2790a6">
</code>
<eval id="4c99c0f2791e4">
</eval>
<check>
result := ((qua(3) = 9) and (qua(8) = 64));
</check>
== Berechnung mehrerer Quadratzahlen ==
Ergänze Dein Programm so, dass die ersten 5 (10, 20, ...) Quadratzahlen berechnet und ausgegeben werden.
<code id="4c99c30c3a2f7">
</code>
<eval id="4c99c30c3a430">
</eval>
== Berechnung beliebiger Anzahl von Quadratzahlen ==
Verändere Dein Programm nun so, dass die ersten <math>n</math> Quadratzahlen berechnet und ausgegeben werden, also <math>n</math> beliebig gewählt werden kann.
{| border="0"
|-
| <code id="4ca2f8a3b3b11"> </code> || || [[Bild:N_QZ.jpg|right|thumb|100px|Struktogramm]]
|-
| <eval id="4ca2f8a3b3c61"></eval> || ||
|}
== Berechnung beliebiger Anzahl ausgewählter Quadratzahlen ==
Verändere Dein Programm nun so, dass die Quadratzahlen von <math>n</math> bis <math>m</math> berechnet und ausgegeben werden.
<code id="4ca31dd7e6532">
</code>
<eval id="4ca31dd7e6689">
</eval>
zurück zu [[Profil 9]]