controle algoritme

Pagina: 1
Acties:
  • 90 views sinds 30-01-2008

  • Voxie2
  • Registratie: December 2001
  • Laatst online: 09-03 15:29

Voxie2

//\\RoCkS//\\

Topicstarter
Ok ik heb een interessante vraag voor alle programmeurs onder u:

Ik wil voor mijn werk een script schrijven (PL/SQL) waarbij een binnenkomend gironummer (banknummer kan met 11-proef) wordt gecontroleerd met het bestaande banknummer. Als het veel afwijkt is het dus anders en wordt het gewijzigd, maar als het niet alteveel anders is moet er een foutmelding gegeven worden omdat er mogelijk een tikfout is gemaakt. Wat is de beste benadering hiervoor? Hoe zou dit algoritme er (functioneel gezien, jullie hoeven geen code voor me te gaan schrijven...) uit moeten zien??

[ Voor 3% gewijzigd door Voxie2 op 05-03-2004 15:28 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Het lijkt me dat je een tikfout kan achterhalen dmv de zogenoemde 11-proef. Zo niet, dan is het een 'bewuste' fout.

[ Voor 22% gewijzigd door gorgi_19 op 05-03-2004 15:27 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Voxie2
  • Registratie: December 2001
  • Laatst online: 09-03 15:29

Voxie2

//\\RoCkS//\\

Topicstarter
Ja maar het gironummer dan?? :)

  • Juup
  • Registratie: Februari 2000
  • Niet online
Ik wil een script schrijven waarbij een binnenkomend gironummer wordt gecontroleerd met het bestaande banknummer.
Huh? Wat wil je nou eigenlijk? Wat bedoel je met "het bestaande banknummer"?

Een gironummer kun je alleen controleren in combinatie met naam/adres.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • lordsnow
  • Registratie: Maart 2000
  • Laatst online: 23:53

lordsnow

I know nothing

Domme vraag, mischien. Maar, wat is de "11-proef" ?

  • Voxie2
  • Registratie: December 2001
  • Laatst online: 09-03 15:29

Voxie2

//\\RoCkS//\\

Topicstarter
Nee, vergeet bank/giro. Ik wil twee getallen met elkaar vergelijken. Als er één teveel afwijkt wordt deze gewijzigd. Als ze teveel op elkaar lijken wordt er een foutmelding gegeven.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

lordsnow schreef op 05 maart 2004 @ 15:37:
Domme vraag, mischien. Maar, wat is de "11-proef" ?
Skinny schreef op 09 januari 2002 @ 16:42:
1. Nederlands systeem
Is 115037969 een geldig (Nederlands) codenummer van een bankkaart of -rekening?

Om vergissingen bij het intikken van dergelijke codes te voorkomen, ontwikkelde de Nederlandse wiskundige en schaakgrootmeester Max Euwe de zg. 'elftest'. Volgens deze test is bovenstaand nummer in orde, want het bestaat uit 9 cijfers en bovendien:

1*9 = 9
1*8 = 8
5*7 = 35
0*6 = 0
3*5 = 15
7*4 = 28
9*3 = 27
6*2 = 12
9*1 = 1
en bedraagt de som van alle produkten 143, een getal dat
een geheel veelvoud is van 11.

BRON : http://www.ping.be/groenvoer/school/hypercard_oefeningen.htm

[ Voor 18% gewijzigd door gorgi_19 op 05-03-2004 15:40 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Voxie2
  • Registratie: December 2001
  • Laatst online: 09-03 15:29

Voxie2

//\\RoCkS//\\

Topicstarter
Even ontopic blijven aub...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Voxie2 schreef op 05 maart 2004 @ 15:39:
Nee, vergeet bank/giro. Ik wil twee getallen met elkaar vergelijken. Als er één teveel afwijkt wordt deze gewijzigd. Als ze teveel op elkaar lijken wordt er een foutmelding gegeven.
Giro kan je vergeten; 1000 of 10000 zijn 2 compleet verschillende rekeningen; kan een tikfout zijn, hoeft niet.

En bankrekeningen, tsja.. Lengte moet 9 zijn, anders tikfout, verder per getal controleren c.q. nalopen.
Voxie2 schreef op 05 maart 2004 @ 15:40:
Even ontopic blijven aub...
Wees dan zelf ook duidelijk wat je wilt.. :/

[ Voor 15% gewijzigd door gorgi_19 op 05-03-2004 15:49 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Juup
  • Registratie: Februari 2000
  • Niet online
Voxie2 schreef op 05 maart 2004 @ 15:39:
Nee, vergeet bank/giro. Ik wil twee getallen met elkaar vergelijken. Als er één teveel afwijkt wordt deze gewijzigd. Als ze teveel op elkaar lijken wordt er een foutmelding gegeven.
Grrr... *telt tot 10*
Okee Voxie2. Leg nou eens even rustig uit

1. Wat de stuatie is.
2. Wat je wilt doen.
3. Welk probleem je daarbij bent tegengekomen of wat je niet snapt.

Geef eventueel een code voorbeeld. Als je wilt dat wij je helpen is het wel zo netjes om even duidelijk en rustig je probleem uit te leggen.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • Crysania
  • Registratie: September 2000
  • Laatst online: 27-05 15:27
ik snap je vraag volgens mij niet helemaal.

wat wil je nu precies?
je wilt een binnekomend bankrekeningnummer vergelijken met een nummer dat je hebt?

als je het bankrekeningnummer dat binnenkomt controleerd met de 11 proef lijkt het me sterk dat er een incorrect nummer binnenkomt die aan de 11 proef voldoet, het is dan bijna zeker geen typefout.

Verwijderd

Het wordt een controle getal toegevoegd, een girorekening heeft 7 cijfers, een bankrekening heeft 9 cijfers (inclusief controle??) aan dit nummer kan nog controle getal worden toegevoed

functie controleer banknummer
{ controleer banknummer of het geldig is, voeg 2 nullen toe begin voor giro
bereken 11 code
vergelijk de 2 nummbers

if

{compare if equal
{OK}
ELSE
{vergelijk cijfer voor cijfer
als >= 7 cijfers gelijk zijn tikfout ?
anders ander bankrekening nummer, geef fout code return
}

BTW : Ik ben geen programmeur maar een software tester
lordsnow schreef op 05 maart 2004 @ 15:37:
Domme vraag, mischien. Maar, wat is de "11-proef" ?

[ Voor 7% gewijzigd door Verwijderd op 05-03-2004 15:53 ]


Verwijderd

Ik kan ook wel wat SQL.

declare @bankrekening nVARchar(9)
declare @nummer1 int
select @bankrekening = 123456733

met de functie SUBSTRING(variable, start positie, hoeveel characters) kun je een enkele of meerdere waarden selecten
select @number1 = SUBSTRING (@bankrekening, 1,1) -- geeft @number 1 een waarde van 1

select @number9 = select SUBSTRING (@bankrekening, 9,1) heeft @number9 een waarde van 3

zie ook www.sqlserverperformance.com
of www.sqlservercentral.com
of MS help

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Dit gaat totaal nergens meer over.... Voxie2: lees P&W FAQ - De "quickstart" even door over hoe je een helder duidelijk ondubbelzinnig topic maakt en we je zo goed mogelijk kunnen helpen, en probeer het maar opnieuw.

En lees *!*!* Over topictitels in P&W - Updated 25 feb 04 *!*!* tussendoor ook, die sticky heeft niet zo'n opvallende titel dus kun je overheen gelezen hebben.

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.