Programmeren in COBOL/Relatieve bestanden met hash: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Sephiroth (overleg | bijdragen)
kGeen bewerkingssamenvatting
Sephiroth (overleg | bijdragen)
Regel 212:
SELECT wikirel ASSIGN TO "wiki.uit"
ORGANIZATION RELATIVE
ACCESS DYNAMICRANDOM
RELATIVE KEY nummer.
 
Regel 223:
 
WORKING-STORAGE SECTION.
01 relstatusnummer PIC XX99.
88 eofrel VALUE '10'.
 
01 nummer pic 99.
01 wikinaam PIC X(11).
01 hulp PIC x(11).
Regel 249 ⟶ 246:
IF relnaam = wikinaam
THEN
DisplAYDISPLAY relomschr
MOVE 10 TO teller
ELSE
Regel 257 ⟶ 254:
 
HASH.
MOVE wikinaam toTO hulp
INSPECT hulp CONVERTING kleineletters to hoofdletters
INSPECT hulp CONVERTING hoofdletters TO cijfers
Regel 264 ⟶ 261:
ADD 1 TO nummer.
 
botsingBOTSING.
ADD 1 TO nummer.
IF nummer = 10
Regel 271 ⟶ 268:
</pre>
}}
De ''hash''-functie en ''botsing''zijn in dit programma nogsteeds hetzelfde, dus het enige waar je moet voor opletten is de ''hoofd'' en ''zoeken''.
{{code
|Taal= COBOL
|Titel=hoofd.
|Code=
<pre>
HOOFD.
OPEN INPUT wikirel
ACCEPT wikinaam NO BEEP
PERFORM zoeken
CLOSE wikirel
STOP RUN.
</pre>
}}
De ''hoofd'' is niet echt moeilijk. Je moet het relatief gewoon open als input en vervolgens lees je de naam van de wiki in waarvan je de omschrijving wilt hebben. Vervolgens voer je ''zoeken'' uit.
{{code
|Taal= COBOL
|Titel=hoofd.
|Code=
<pre>
ZOEKEN.
PERFORM hash
PERFORM varying teller FROM 1 BY 1 UNTIL teller > 9
READ wikirel END-READ
IF relnaam = wikinaam
THEN
DISPLAY relomschr
MOVE 10 TO teller
ELSE
PERFORM botsing
END-IF
END-PERFORM.
</pre>
}}
''Zoeken'' is het enige waar je misschien nog moet opletten. Eers voor je natuurlijk de ''hash''-functie uit en die geeft dan een sleutel. Vervolgens start je met een lus die maximaal het aantal records dat er in het bestand zit zal draaien. Je voert een READ uit met de sleutel die je hebt van de ''hash''-functie. Nu moeten we eerst controleren of het wel het juist record is. Dit doen we door de naam da we hebben gekregen van de gebruiker te verglijken met dat van de record. Als het juist is toont dit programma gewoon de omschrijving van de wiki. Als het fout is moet ''botsing'' worden uitgevoerd tot het record is gevonden.
 
[[Categorie:Programmeren in COBOL|Relatieve bestanden met hash]]
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.