Dreistein

 


* Startseite     * Über...     * Archiv     * Gästebuch     * Kontakt



* Themen
     Willkommen
     Allgemeines
     * Variablen
     * Function
     * Procedure
     * String
     * Array
     FormObjekte
     * Button
     * CheckBox
     * Editfeld
     * Label
     * Listbox
     * RadioButton
     * Timer
     * Turtle
     Sortieralgorithmen
     * Arraysort
     * Bubblesort
     * Selection Sort
     * Quicksort
     Schleifen
     * repeat-Schleife
     * while-Schleife
     * for-Schleife
     Rekursion
     * Ackermann
     * Binominalkoeffizent
     * Fibonacci Zahlen
     * Fakultät
     * GGT
     * Kochfunktion
     * Sierpinskifunktion
     Nützliches
     * Hintergrundbild
     * Massenanzeige
     * Massenbenutzung
     * Schreibtischtest






Anzahl Schritte

0,0---2
0,1---2
0,2---2
0,3---3
0,4---4

1,0---3
1,1---5
1,2---7
1,3---9
1,4---11

2,0---6
2,1---15
2,2---28
2,3---45
2,4---66

3,0---16
3,1---107
3,2---542
3,3---2433
3,4---10308

4,0---108
4,1--- Schafft mein Pc nicht mehr

Man sieht also, das die Funktion schon sehr schnell nicht mehr berechenbar ist
24.11.05 23:02


Ackermann (2,3) im Schreibtischtest

Einmal ausf?hrlich beschrieben, dabei wird immer das Ergebnis ausgegeben, allerdings nicht die Unterpunkte:

2,3
2,2
2,1
2,0
1,1
1,0
0,1
0,2
1,3
1,2
1,1
1,0
0,1
0,2
0,3
0,4
1,5
1,4
1,3
1,2
1,1
1,0
0,1
0,2
0,3
0,4
0,5
0,6
1,7
1,6
1,5
1,4
1,3
1,2
1,1
1,0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9

Damit ist der Ackermann von 2,3 = 9. Wie man sieht, sind ganz sch?n viel Schritte n?tig.
22.11.05 14:42


Quelltext

function ack(m, n: Integer): Longint;
begin
if m = 0 then
result := n+1
else
if n = 0 then
result := ack(m - 1, 1)
else
result := ack(m - 1, ack(m, n - 1))
end;
22.11.05 14:37


Rechtschreibung 1.1

Gerade kleinen Rechtschreibcheck gemacht und dabei tats?chlich kleine Fehler in den Quellcodes einiger Programme gefunden.
Aber alles halb so wild, jetzt ist alles clean, glaube ich. Und mir tut der R?cken weh.

Btw, mir ist ein sch?ner Liedtext aufgefallen, der ganz gut auf unsere Situation zutrifft:

You and me will all go down in history,
with a sad Statue of Liberty,
and a Generation that didn't agree.

(SoaD - Sad Statue)

Denkt Euch Euren Teil.
21.11.05 19:00


Was ist eine Procedure?

Eine Prozedur ist im Grunde wie eine Funktion (siehe unter Funktion). Nur, dass sie nichts zur?ck gibt.

Eine Prozedur wird so deklariert:
Procedure name(n:Integer);

Man sieht, dass die Prozedur nichts hinter den Klammern stehen hat.

Beispiel einer Prozedur:
Close; (zum schlie?en eines Fensters) ist eine Prozedur. Das Besondere an dieser Prozedur ist, dass sie keinen Wert ben?tigt.
Die Prozedur Add('abc') in einer Listbox ben?tigt einen String (hier ist es "abc"), den sie in die Listbox schreibt.

Eine Prozedur wird so aufgerufen:
Name(13);
Die Prozedur erh?lt einen oder mehrere Werte, wie in der Deklaration festgelegt, in den Klammern. Da die Prozedur keinen Wert zur?ckgibt wird sie auch keiner Variablen zugeweisen.
19.11.05 13:38


[erste Seite] [eine Seite zurück]  [eine Seite weiter]



Verantwortlich für die Inhalte ist der Autor. Dein kostenloses Blog bei myblog.de! Datenschutzerklärung
Werbung