Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Automat - Stringvergleich (https://www.delphipraxis.net/148435-automat-stringvergleich.html)

Wannebee 1. Mär 2010 21:50


Automat - Stringvergleich
 
Hallo,

wir sollen in Informatik ein Programm schreiben, welches zwei IP-Adressen miteinander vergleicht, allerdings soll dies ein Automat übernehmen. Vorher sollen wir die IP-Adresse in die duale Darstellung konvertieren. Bei einem ersten ausprobieren habe ich versucht, jedes ASCII-Zeichen in einen 8-Bit-Wert umzuwandeln. Bei der IP-Maske von XXX.XXX.XXX.XXX ergibt das 15 Zeichen * 8 Bit = 120 Bit bzw. wir sollen ja Nullen und Einsen als ASCII-nullen und -einsen darstellen, was heißt, dass es 120 Zeichen gibt. Dann müsste es ja im Automat auch 120 Zustände geben. Und man müsste zwei 120*120=14400 Tabellen/Matrizen aufstellen. Hässlich :)
Irgendwann konnte er (der Infolehrer) das nicht mehr mit ansehen und hat uns gesagt, dass wir die Zahlen XXX umwandeln sollen. Also von "192" als String in einen Integer und diesen dann in einen binärwert. Damit hat man dann "nur" 24 Bit zu vergleichen (wir sollen nur die Subnetmaske 255.255.255.0 vergleichen...). Allerdings kann ich mir nicht vorstellen, dass er davon ausgeht, dass wir 24*24 Zustände auswerten sollen.
Was kann man da noch vereinfachen? Er hat auch irgendwas von "00" "01" "10" "11" als Eingabe gesagt, aber das hatte ich gar nicht verstanden...

Ich hoffe, dass ihr mir helfen könnt! Ich möchte keinen Quelltext, sondern nur eine Erklärung, wie ich dahin komme!

Ich bedanke mich schonmal
Wannebee

Christian Seehase 1. Mär 2010 22:44

Re: Automat - Stringvergleich
 
Moin Wannabee,

wenn ich mir Deine Beschreibung so anschaue, stellt sich mir erst einmal die Frage:
Auf was soll verglichen werden?

Die genaue Aufgabenstellung könnte hier hilfreich sein.

Sir Rufo 2. Mär 2010 00:04

Re: Automat - Stringvergleich
 
Vielleicht hilft ja mal ein Blick in die Wikipedia (soll ja angeblich lehrreich sein)

http://de.wikipedia.org/wiki/IP-Adresse#IPv4

Dann sollte da etwas mehr Licht ins Dunkel kommen

Tyrael Y. 2. Mär 2010 07:19

Re: Automat - Stringvergleich
 
Ich versteh dein Gewusel der Zahlen in deiner Beschreibung nicht und habe das Gefühl du auch nicht.
Zitat:

11111111.11111111.11111111.11111111 = 255.255.255.255
Das ist die maximal mögliche Adresse.

Zitat:

Zitat von Wannebee
Er hat auch irgendwas von "00" "01" "10" "11" als Eingabe gesagt, aber das hatte ich gar nicht verstanden...

Das hört sich nach folgendem Vergleich an.

Beispiel:
Zitat:

11000000.11000011.10100111.00000101
AND
11000000.11000011.10100111.00000011
=
11000000.11000011.10100111.00000001
Die Binärwerte werden verglichen indem mit "UND" kombiniert wird.

Könnte sein was du willst.

fatalerror 2. Mär 2010 08:45

Re: Automat - Stringvergleich
 
hier ein interessanter Link für den 1. Schritt deiner Aufgabe (Umwandlung der IP-Adresse)

Wannebee 3. Mär 2010 21:22

Re: Automat - Stringvergleich
 
Hallo,

die Umwandlung in die binäre Darstellung hab ich ja schon. Mir ist allerdings aufgefallen, dass im ganzen Stress da mit den Zahlen was falsch gelaufen ist. Die Tabellen vom Automaten werden ja doch nicht so riesig, wie ich dachte. Es wäre ja ungefähr so:

Delphi-Quellcode:

   EINGABE
  | 0 | 1 |
===========
Z |nZ | nZ|
U |nZ | ..|
S ..
T.....
A....
N...
D...
...
V...
O....
R...
H...
E..
R
Also quasi 24*2 Matrix. Ich hoffe, ihr versteht was ich meine. Auf jeden Fall hat sich mein Problem damit erledigt. :) Ich bedanke mich für eure Antworten!

lg
Wannebee

P.S.: Aufgabe war übrigens rauszufinden, ob eine einkommende IP zum eingenen Netzwerk gehört, also z.B: 192.168.0.XXX und dafür einen Automaten schreiben...

lg


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz