Ich habe ein Programm geschrieben, das die Wahrscheinlichkeit, ein angegbenes Passwort zu erraten, berechnet. Das ganze habe ich in Pascal realisiert.
Quellcode[1]
Wie man wahrscheinlich leicht erkennen kann, bin ich noch recht unerfahren im Programmieren.
Das Problem bei der Sache ist, dass er beim Kompilieren den Fehler "Illegal Expression" ausgibt. Der Fehler soll (u.a.) in dieser Zeile 3 stecken (er gibt für jede Array-"Füllung" so einen Fehler aus!):
Aber ich habe leider keine Ahnung, wo da der Fehler liegt... ?(
Noch eine kleine Frage am Rande: Haltet Ihr das Programm für sinnvoll oder eher weniger?
[1]Kurze Erklärung zum Code
Zunächst ruft das Programm die Prozeduren fillnumbers und fillspecchar auf. Die beiden dienen eigentlich nur dem Zweck, zwei globale Arrays zu füllen, inde sie in das Array numers die Zahlen von 0 bis 9 als Character und in specchar die 44 Sonderzeichen auf der deutsch Tastatur schreiben.
Es folgt die Eingabe des Passwortes. Das Passwort wird an die Funktion checkpass übergeben, welche zunächst anhand von Vergleichen mit den eben gefüllten Arrays überprüft, ob in dem Passwort Sonderzeichen und/oder Zahlen enthalten sind.
Abhängig von den im Passwort vorhandenen Zeichen (Nur Buchstaben, mit/ohne Zahlen und mit/ohne Sonderzeichen) berechnet es wie folt die Wahrscheinlichkeit:
Nur Buchstaben: p=26^Länge
mit Zahlen: p=36^Länge
mit Sonderzeichen (44 an der Zahl): p=70^Länge
mit Zahlen und Sonderzeichen: p=80^Länge
Im Übrigen habe ich mangels Wissen von einer Exponentialfunktion in Pascal selbst eine geschrieben, das ist die expo(base,exponent).
Quellcode[1]
Wie man wahrscheinlich leicht erkennen kann, bin ich noch recht unerfahren im Programmieren.

Das Problem bei der Sache ist, dass er beim Kompilieren den Fehler "Illegal Expression" ausgibt. Der Fehler soll (u.a.) in dieser Zeile 3 stecken (er gibt für jede Array-"Füllung" so einen Fehler aus!):
Code:
procedure fillnumbers; { definition of numbers }
begin
numbers[0]='0';
[...]
end;
Aber ich habe leider keine Ahnung, wo da der Fehler liegt... ?(
Noch eine kleine Frage am Rande: Haltet Ihr das Programm für sinnvoll oder eher weniger?
[1]Kurze Erklärung zum Code
Zunächst ruft das Programm die Prozeduren fillnumbers und fillspecchar auf. Die beiden dienen eigentlich nur dem Zweck, zwei globale Arrays zu füllen, inde sie in das Array numers die Zahlen von 0 bis 9 als Character und in specchar die 44 Sonderzeichen auf der deutsch Tastatur schreiben.
Es folgt die Eingabe des Passwortes. Das Passwort wird an die Funktion checkpass übergeben, welche zunächst anhand von Vergleichen mit den eben gefüllten Arrays überprüft, ob in dem Passwort Sonderzeichen und/oder Zahlen enthalten sind.
Abhängig von den im Passwort vorhandenen Zeichen (Nur Buchstaben, mit/ohne Zahlen und mit/ohne Sonderzeichen) berechnet es wie folt die Wahrscheinlichkeit:
Nur Buchstaben: p=26^Länge
mit Zahlen: p=36^Länge
mit Sonderzeichen (44 an der Zahl): p=70^Länge
mit Zahlen und Sonderzeichen: p=80^Länge
Im Übrigen habe ich mangels Wissen von einer Exponentialfunktion in Pascal selbst eine geschrieben, das ist die expo(base,exponent).