Endnu mere om tilfældige tal
|
|
- Torben Fog
- 5 år siden
- Visninger:
Transkript
1 Denne guide er oprindeligt udgivet på Eksperten.dk Endnu mere om tilfældige tal Denne artikel bygger oven på de to forrige artikler om tilfældige tal. Den indeholder lidt matematik og anvendelse på PHP & ASP inspireret af diverse artikler og spørgsmål. Skrevet den 14. Feb 2010 af arne_v I kategorien Programmering / Generelt Historie: V1.0-15/04/ original V1.1-29/12/ tilføj links V1.2-12/02/ smårettelser Tidligere artikler Man får størst udbytte hvis man har læst artiklerne: * "Tilfældige tal" * "Mere om tilfældige tal" Hvad kan man forvente af genererede tilfældige tal? Man vil forvente at de er pænt fordelt men ikke perfekt fordelt. Lad os antage at vi genererer tilfældige tal og grupperer i 4 grupper som bør være lige store (enten 4 grupper med 1/4 af range hver eller 4 grupper udfra de 2 low bit). Den forventede fordeling af en god generator er: Men det er faktisk ikke sandsynligt at få præcis den. Sandsynligheden for det kan udregnes v.h.a. formlen for multinominal fordelingen: P(,,,) = 10000!/(!*!*!*!)*0.25^*0.25^*0.25^*0.25^ hvilket ifølge min lommeregner er ca. 1*10^-6 d.v.s. at man vil kun få den perfekte fordeling en gange ud af en million gange eller sagt på en anden måde det er særdeles usandsynligt at få den perfekte fordeling. Hvis man genererer merer end tal bliver sandsynligheden endnu mindre.
2 Hvis man kun kigger på fordelingen af 1 gruppe, så er den binominal fordelt og for så store N kan vi approximere med en normalfordeling: BIN(0.25,,10000) = N(0.25*10000,10000*0.25*(1-0.25) = N(,1875) hvilket giver en standardafvigelse på: SQRT(VAR) = 43.3 og dermed en fordeling som siger at der er 95% sandsynlighed for at antallet er i intervallet: E-1.96*s... E+1.96*s = PHP PHP kommer standard med 2 random generatorer: rand() og mt_rand(). rand() bruger den rand() funktion der er i C runtime library på systemet (d.v.s. at om det er en god eller dårlig generator afhænger af styre systemet og/eller C compileren på systemet!) mt_rand() bruger den såkaldte Mersenne Twister algoritme som: - er meget hurtig - har en meget lang cycle (2^ ) - rimeligt gode fordelings egenskaber Nu vil læseren af de tidligere artikler vide, at så skal man bruge mt_rand() fremfor rand(). PHP docs er dog også ret klar: Many random number generators of older libcs have dubious or unknown characteristics and are slow. By default, PHP uses the libc random number generator with the rand() function. The mt_rand() function is a drop-in replacement for this. It uses a random number generator with known characteristics using the Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides. Omend det ikke er hastigheden men derimod usikkerheden omkring egenskaberne der er den væsentligste grund til at undgå rand(). Lad os lave en test på Windows XP med PHP rand.php <?php srand( ); $high1 = array(0,0,0,0);
3 $high2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)); $low1 = array(0,0,0,0); $low2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)); $prev = rand(); for($i=0;$i<10000;$i++) { $curr = rand(); $high1[$curr*4/getrandmax()]++; $high2[$curr*4/getrandmax()][$prev*4/getrandmax()]++; $low1[$curr%4]++; $low2[$curr%4][$prev%4]++; $prev = $curr; echo "High bits:\n"; echo "<td>". $high1[$row]. "</td>\n"; for($col=0;$col<4;$col++) { echo "<td>". $high2[$row][$col]. "</td>\n"; echo "Low bits:\n"; echo "<td>". $low1[$row]. "</td>\n"; for($col=0;$col<4;$col++) { echo "<td>". $low2[$row][$col]. "</td>\n";?> resultat: High bits:
4 Low bits: Ikke godt i low bits! mtrand.php <?php mt_srand( ); $high1 = array(0,0,0,0); $high2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)); $low1 = array(0,0,0,0); $low2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)); $prev = mt_rand(); for($i=0;$i<10000;$i++) { $curr = mt_rand(); $high1[$curr*4/mt_getrandmax()]++; $high2[$curr*4/mt_getrandmax()][$prev*4/mt_getrandmax()]++; $low1[$curr%4]++; $low2[$curr%4][$prev%4]++; $prev = $curr; echo "High bits:\n"; echo "<td>". $high1[$row]. "</td>\n"; for($col=0;$col<4;$col++) { echo "<td>". $high2[$row][$col]. "</td>\n";
5 echo "Low bits:\n"; echo "<td>". $low1[$row]. "</td>\n"; for($col=0;$col<4;$col++) { echo "<td>". $low2[$row][$col]. "</td>\n";?> resultat: High bits: Low bits: Meget bedre i low bits. Konklusionen er klar: brug altid mt_rand() og aldrig rand() - specielt hvis du kan risikere at bruge low bits (modulus af potenser af 2 og lignende). ASP
6 VBS RND() returnerer en floating point værdi 0.0 <= x < 1.0 og er dermed anderledes end PHP rand() der returnerer en integer værdi. Ofte vil man imidlertid have behov for at omregne til en integer. Og gør man det skal man vide at VBS RND() baserer sig på en 24 bit LCG. Det betyder at: 1) man kan ikke skalerere den højere end 24 bit 2) hvis man skalerer højt kan low bits være dårligt fordelt Lad os prøve først med 12 bit. random12.asp <% Randomize( ) high1 = array(0,0,0,0) high2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)) low1 = array(0,0,0,0) low2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)) prev = Fix(Rnd() * 4096) For i = 1 To curr = Fix(Rnd() * 4096) high1(curr*4\4096) = high1(curr*4\4096) + 1 high2(curr*4\4096)(prev*4\4096) = high2(curr*4\4096)(prev*4\4096) + 1 low1(curr Mod 4) = low1(curr Mod 4) + 1 low2(curr Mod 4)(prev Mod 4) = low2(curr Mod 4)(prev Mod 4) + 1 prev = curr Response.Write "High bits:" & vbcrlf Response.Write "<td>" & high1(row) & "</td>" & vbcrlf Response.Write "<td>" & high2(row)(col) & "</td>" & vbcrlf Response.Write "Low bits:" & vbcrlf Response.Write "<td>" & low1(row) & "</td>" & vbcrlf
7 Response.Write "<td>" & low2(row)(col) & "</td>" & vbcrlf %> resultat: High bits: Low bits: Hvilket jo ser nydeligt ud. Så prøver vi med 16 bit. random16.asp <% Randomize( ) high1 = array(0,0,0,0) high2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)) low1 = array(0,0,0,0) low2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)) prev = Fix(Rnd() * 65536)
8 For i = 1 To curr = Fix(Rnd() * 65536) high1(curr*4\65536) = high1(curr*4\65536) + 1 high2(curr*4\65536)(prev*4\65536) = high2(curr*4\65536)(prev*4\65536) + 1 low1(curr Mod 4) = low1(curr Mod 4) + 1 low2(curr Mod 4)(prev Mod 4) = low2(curr Mod 4)(prev Mod 4) + 1 prev = curr Response.Write "High bits:" & vbcrlf Response.Write "<td>" & high1(row) & "</td>" & vbcrlf Response.Write "<td>" & high2(row)(col) & "</td>" & vbcrlf Response.Write "Low bits:" & vbcrlf Response.Write "<td>" & low1(row) & "</td>" & vbcrlf Response.Write "<td>" & low2(row)(col) & "</td>" & vbcrlf %> resultat: High bits:
9 Low bits: Og allerede her ser vi nogle afvigelser i low bits. Vi prøver nu de 24 bit om er teoretisk maksimum. random24.asp <% Randomize( ) high1 = array(0,0,0,0) high2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)) low1 = array(0,0,0,0) low2 = array(array(0,0,0,0),array(0,0,0,0),array(0,0,0,0),array(0,0,0,0)) prev = Fix(Rnd() * ) For i = 1 To curr = Fix(Rnd() * ) high1(curr*4\ ) = high1(curr*4\ ) + 1 high2(curr*4\ )(prev*4\ ) = high2(curr*4\ )(prev*4\ ) + 1 low1(curr Mod 4) = low1(curr Mod 4) + 1 low2(curr Mod 4)(prev Mod 4) = low2(curr Mod 4)(prev Mod 4) + 1 prev = curr Response.Write "High bits:" & vbcrlf Response.Write "<td>" & high1(row) & "</td>" & vbcrlf Response.Write "<td>" & high2(row)(col) & "</td>" & vbcrlf
10 Response.Write "Low bits:" & vbcrlf Response.Write "<td>" & low1(row) & "</td>" & vbcrlf Response.Write "<td>" & low2(row)(col) & "</td>" & vbcrlf %> resultat: High bits: Low bits: Et typisk dårligt low bit resultat for LCG. Konklusionen er at VBS RND() er acceptabel til at skalere til integer værdier 1-12 bit men at skalere til integer værdier med flere bits kræver stor varsomhed p.g.a. dårlig fordeling af low bits. Og man må naturligvis aldrig skalere til integer værdier med flere bits end 24.
11 ASP.NET og JSP ASP.NET og JSP bruger.net og Java random generatorer som er beskrevet i de første 2 artikler - og som har rimeligt gode egenskaber. Kommentar af ismand d. 25. Apr Fortrinlig teoretisk gennemgang. Jeg kunne godt tænke mig at se.net resultaterne. Kommentar af tommyb d. 27. Jan Viser kun fordelingen ved et linært udtræk af tilfældige tal, havde håbet på en gennemgang af dets påvirkning ved fx. kryptering, altså ikke hvordan talne fordeler sig, men im det kan forudsiges. Ellers ganske godt stykke arbejde. Kommentar af 7degreez d. 23. Apr Kommentar af tuxic d. 28. Apr Kommentar af henrik6666 d. 16. Apr Kommentar af datasource d. 23. Apr SUPER Kommentar af phpzer0 d. 25. Apr Kommentar af tha_painter d. 12. May
Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.
Denne guide er oprindeligt udgivet på Eksperten.dk Tilfældige tal Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge. Den forudsætter
Læs mereDenne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS.
Denne guide er oprindeligt udgivet på Eksperten.dk XML i ASP Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS. Den forudsætter
Læs mereDatabase design for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Database design for begyndere Denne artikel beskriver hvordan man kommer fra ide til database design. Den stopper inden normal former. Den forudsætter
Læs mereSom sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste
Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(klasser),
Læs mereArrays i PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 04. Feb 2009 af taskmgr I kategorien Programmering / PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Arrays i PHP De fleste som har skrevet omfattende scripts, er før eller siden stødt på problemet med at de bliver vanskelige at overskue hvis man bruger
Læs mereArkitektur for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle
Læs mereMySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.
Denne guide er oprindeligt udgivet på Eksperten.dk MySQL C API Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mereSESSION med PHP. En let begynderguide som kan føre dig ind i en verden af muligheder. Denne guide er oprindeligt udgivet på Eksperten.
Denne guide er oprindeligt udgivet på Eksperten.dk SESSION med PHP En let begynderguide som kan føre dig ind i en verden af muligheder Skrevet den 03. Feb 2009 af mccookie I kategorien Programmering /
Læs mereSingleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Læs mereRMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).
Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer
Læs mereForskellige Java versioner
Denne guide er oprindeligt udgivet på Eksperten.dk Forskellige Java versioner Denne artikel beskriver lidt om de forskellige Java versioner. Den forklarer J2SE/J2ME/J2EE, plugin/jre/sdk og Sun Java/Microsoft
Læs mereMed register_globals = On får du automatisk adgang til en række variabelnavne i dit script.
Denne guide er oprindeligt udgivet på Eksperten.dk Register Globals Off Lad os slå en ting fast med det samme - register_globals = Off er en god ting, i hvert fald set ud fra et sikkerhedsmæssigt synspunkt.
Læs mereSend fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.
Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt
Læs mereKontrol-strukturer i PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende
Læs mereListen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:
Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra
Læs mereHvilket sprog er hurtigst
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog er hurtigst Denne artikel forsøger at aflive forskellige myter om hvilke sprog der er hurtigst. Den forudsætter ikke noget særligt. Skrevet
Læs mereStart på javascript. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 03. Feb 2009 af webstuff I kategorien Programmering / JavaScript
Denne guide er oprindeligt udgivet på Eksperten.dk Start på javascript En begynder artikel til javascript som vil gennemgå: 1: Intro 2: Variabler 3: Arrays 4: Matematik 5: Betingelser 6: Løkker 7: Funktioner
Læs mereBits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Læs mereThreads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter
Læs mereI denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.
Denne guide er oprindeligt udgivet på Eksperten.dk Afrund til helt tal I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal. Skrevet den 03. Feb 2009 af tjomsen I kategorien
Læs mereAfsending af s vha. ASP
Denne guide er oprindeligt udgivet på Eksperten.dk Afsending af emails vha. ASP Det kan ofte være praktisk at afsende emails fra sin hjemmeside. Denne artikel tager udgangspunkt i komponenten JMail fra
Læs mereDen forudsætter kendskab til XML og C# men ikke til brug af XML i C#.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i C# Denne artikel vil vise lidt om hvordan man kan bruge XML i C#. Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.
Læs merePHP Pagination. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 01. May 2011 af dab93 I kategorien Programmering / Andre
Denne guide er oprindeligt udgivet på Eksperten.dk PHP Pagination I denne guide lærer du om at lave et pagination system med programmerings sproget PHP og MySQL database. Et pagination system er en "side-skiftende"
Læs mereUndtagelseshåndtering i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide
Læs mereAt klippe en streng over på det mest hensigtsmæssige sted
Denne guide er oprindeligt udgivet på Eksperten.dk At klippe en streng over på det mest hensigtsmæssige sted Formålet med denne artikel er at kaste lidt lys over, hvordan man klipper en streng over på
Læs mereAnvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
Læs mereIntroduktion til SQL queries
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i
Læs mereapplikation----x----odbc driver manager----foobar ODBC driver----foobar database
Denne guide er oprindeligt udgivet på Eksperten.dk ODBC i C/C++ Denne artikel beskriver hvordan man bruger ODBC i C/C++. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mere//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Læs mereUpload af billeder/filer for nybegyndere Del. 2
Denne guide er oprindeligt udgivet på Eksperten.dk Upload af billeder/filer for nybegyndere Del. 2 I denne Del vil jeg ikke gaa saa dybt i fil upload som i sidste. Jeg vil i stedet forklare om funktioner
Læs mereIntroduction til.net remoting i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab
Læs mereSingleton pattern i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i C# Denne artikel beskriver Singleton pattern og implementation i C#. Den forudsætter kendskab til C# men ikke til Singleton. Der er
Læs mereTagwall med Php & MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Tagwall med Php & MySQL Her laver vi en tagwall i Php & MySQL... jeg forklarer dog ikke så meget, men jeg håber du kan få det til at blive til en tagwall
Læs mereSimpel upload af filer
Denne guide er oprindeligt udgivet på Eksperten.dk Simpel upload af filer Jeg ser tit brugere spørge til hvordan man uploader en fil via php. Nu vil jeg prøve ganske kort at lave lidt kode og forklare
Læs mereTest med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.
Denne guide er oprindeligt udgivet på Eksperten.dk Test med JUnit 3 Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab
Læs mereHej alle sammen, nu fjerner vi lige mystikken om alle de "ulovlige tags" her på eksperten.dk
Denne guide er oprindeligt udgivet på Eksperten.dk Tags på Eksperten.dk Hej alle sammen, nu fjerner vi lige mystikken om alle de "ulovlige tags" her på eksperten.dk Skrevet den 30. okt 2009 af mbm2007
Læs mereDen forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af XML i VB.NET Denne artikel vil vise lidt om hvordan man kan bruge XML i VB.NET. Den forudsætter kendskab til XML og VB.NET men ikke til brug af
Læs mereLoginsystem (med MySQL)
Denne guide er oprindeligt udgivet på Eksperten.dk Loginsystem (med MySQL) Dette er en guide til, hvordan man kan lave et loginsystem med php og muligvis også med sessioner og MySQL Skrevet den 02. Feb
Læs mereC) Perspektiv jeres kommunes resultater vha. jeres svar på spørgsmål b1 og b2.
C) Perspektiv jeres kommunes resultater vha. jeres svar på spørgsmål b1 og b. 5.000 4.800 4.600 4.400 4.00 4.000 3.800 3.600 3.400 3.00 3.000 1.19% 14.9% 7.38% 40.48% 53.57% 66.67% 79.76% 9.86% 010 011
Læs mereIntroduction til.net remoting i VB.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter
Læs mereEkstra hastighed med array's i Excel-VBA
Denne guide er oprindeligt udgivet på Eksperten.dk Ekstra hastighed med array's i Excel-VBA Brugen af arrays til indlæsning af og skrivning til celler i Excel kan give betragtelige hastighedsforøgelser
Læs mereIT projekt person galleri
Denne guide er oprindeligt udgivet på Eksperten.dk IT projekt person galleri Denne artikel forsøger at forklare lidt om hvilke funktioner der ligger bag ved de forskellige titler som deltagerne i et IT
Læs mereSkrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til VB.NET og ADO.NET. Der findes en tilsvarende artikel
Læs mereParameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.
Denne guide er oprindeligt udgivet på Eksperten.dk Parameters Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET. Der findes en tilsvarende artikel med
Læs merePrepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.
Denne guide er oprindeligt udgivet på Eksperten.dk Prepared Statements Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC. Skrevet den 18. Feb 2010
Læs mereI denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.
Denne guide er oprindeligt udgivet på Eksperten.dk Grundlæggende PHP I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.
Læs mereProject Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words
Læs mereNye Java XML API'er
Denne guide er oprindeligt udgivet på Eksperten.dk Nye Java XML API'er Denne artikel beskriver nye XML features i Java 1.6 - StAX og JAXB, samt XStreams. Den forudsætter kendskab til Java og brug
Læs mereGør Administrator-brugeren til almindelig bruger
Denne guide er oprindeligt udgivet på Eksperten.dk Gør Administrator-brugeren til almindelig bruger Guide til at fjerne den indbyggede administrator fra administratorgruppen. Det kræver et rimeligt godt
Læs mere! "# $$ &'()*"* +*, & &"*0* & "# % %- %
!"! "# $$ & &'()*"* +*, &- & &"./+0 & &"*0* & & & 1 2 ()))))$$" "# - " # $!&!!" 34 3((5(4 6()))))5 3((5# 7())))) 4 3((58 43((58 3((5#9! 3((5#4 3((584 6 9 # '"!&()!" * " 49 9-3 :; & Private Sub Workbook_Open()
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereTest med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.
Denne guide er oprindeligt udgivet på Eksperten.dk Test med NUnit Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det. Den forudsætter kendskab
Læs mereSådan skriver du artikler til Eksperten!
Denne guide er oprindeligt udgivet på Eksperten.dk Sådan skriver du artikler til Eksperten! Når du skriver artikler handler det om at få den ud til de rigtige personer, og vise den frem så den er let forståelig.
Læs mereHvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Læs merePassword hashing og salt
Denne guide er oprindeligt udgivet på Eksperten.dk Password hashing og salt Denne artikel beskriver hvorfor hashing og salt er godt, når man skal gemme passwords. Den forudsætter et vist kendskab til programmering
Læs mereDatabase tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk
Denne guide er oprindeligt udgivet på Eksperten.dk Database tips Denne artikel vil give nogle forskellige små praktiske råd om ting man skal tænke på når man arbejder med databaser og applikationer som
Læs mereMozilla Firefox (tidligere Firebird): Fremhæve ord
Denne guide er oprindeligt udgivet på Eksperten.dk Mozilla Firefox (tidligere Firebird): Fremhæve ord Du kender sikkert Google Værktøjslinjen til Internet Explorer, ellers har du sikkert hørt om den. I
Læs mereI denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.
Denne guide er oprindeligt udgivet på Eksperten.dk Collections i.net Når du kigger i namespacet System.Collections finder du over 10 forskellige klasser. At vælge den rigtige til netop din applikations
Læs mereSkriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)
Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,
Læs mereDenne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)
Denne guide er oprindeligt udgivet på Eksperten.dk Batch genopfriskning Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-) Skrevet den 03.
Læs mereGenerelt om faget: (Eventuelle kommentarer til højre) - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum?
- Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum? Meget Godt Godt % 6 t 3% 2 Dårligt % Meget Dårligt % % 25% 5% 5% % - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum? it is
Læs mereDu trækker 2 gange, hvis begge spillere bekender begge gange, så er der kun 1 trumf tilbage, og du vil ALTID vinde.
Februar 2018. Spil 1. Løsning på quiz. Løsning på quiz fra januar 2018. 1. Spar es, hjerter 2, 3, 4, 5 og 6, ruder konge, dame og knægt. Begge dine modspillere har bekendt 1. udspil. 2. Spar es, klør 2,
Læs mereJava Klasse nedarvninger
Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering
Læs mereMere om tilfældige tal
Denne guide er oprindeligt udgivet på Eksperten.dk Mere om tilfældige tal Denne artikel bygger oven på den forrige artikel om tilfældige tal. Den forudsætter at man har læst den forrige artikel og har
Læs mereDen forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter
Læs mereProgrammering i C Intro og grundlæggende C 5. marts 2007
Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner
Læs mereHvilket sprog skal jeg lære?
Denne guide er oprindeligt udgivet på Eksperten.dk Hvilket sprog skal jeg lære? Denne artikel snakker lidt løst og fast om den kendte problem stilling med hvilket sprog man skal lære (generelle programmerings
Læs mereNotat om underleverandører af software til medicinsk udstyr Specielt med fokus på fortolkere, hvor nyt udstyr let kan genereres
December 2018 Notat om underleverandører af software til medicinsk udstyr Specielt med fokus på fortolkere, hvor nyt udstyr let kan genereres Af Carsten Jørgensen FORCE Technology Venlighedsvej 4 2970
Læs mereRMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.
Denne guide er oprindeligt udgivet på Eksperten.dk RMI avanceret Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer. Den forudsætter
Læs mereIntroduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
Læs mereGæstebog med validering opbygget med MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Gæstebog med validering opbygget med MySQL Dette er en simpel gæstebog, som kan hjælpe folk med at lave en velfungerende gæstebog uden alt for meget arbejde.
Læs mereSkriftlig Eksamen Algoritmer og Sandsynlighed (DM538)
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538) Institut for Matematik og Datalogi Syddansk Universitet, Odense Fredag den 25. januar 2013 kl. 1013 Alle hjælpemidler (computer, lærebøger, notater,
Læs mereq-værdien som skal sammenlignes med den kritiske Chi-i-Anden værdi p-værdien som skal sammenlignes med signifikansniveauet.
Introduktion: Chi-i-Anden test (Goodness of Fit) på computeren fungerer som en "black-boks"- kommando, hvor eleverne med udgangspunkt i en nulhypotese (H ) taster de forventede og de observerede talværdier
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs merePHP guide af Daniel Pedersen
PHP guide af Daniel Pedersen Side 1 af 12 Indholdsfortegnelse PHP guide af Daniel Pedersen Side 2 af 12 Indledning I dette hæfte finder du forklaringer til PHP funktioner, løkker, variabler samt en række
Læs mere2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.
Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.
Læs mereI denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen ud i en løkke
Denne guide er oprindeligt udgivet på Eksperten.dk MySQL for nybegynder I denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen
Læs mereRatingsystem i PHP og MySQL
Denne guide er oprindeligt udgivet på Eksperten.dk Ratingsystem i PHP og MySQL Lær at lave et system til at vise rating/bedømmelse på artikler og nyheder. Skrevet den 03. Feb 2009 af virtual1ty I kategorien
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDelphi og Databaser for begyndere
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi og Databaser for begyndere Denne artikel handler om hvordan man udnytter noget af det bedste i Delphi: Dets gode muligheder for integrering med
Læs mereSkriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)
Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler
Læs mereDelphi - CrackMe og Keygen
Denne guide er oprindeligt udgivet på Eksperten.dk Delphi - CrackMe og Keygen Dette er min første artikel! :) Men jeg synes nu den er blevet meget god! :D Jeg giver et et eksempel på hvordan man kan lave
Læs mereNormalfordelingen og Stikprøvefordelinger
Normalfordelingen og Stikprøvefordelinger Normalfordelingen Standard Normal Fordelingen Sandsynligheder for Normalfordelingen Transformation af Normalfordelte Stok.Var. Stikprøver og Stikprøvefordelinger
Læs mereJava web applikationer med Tomcat
Denne guide er oprindeligt udgivet på Eksperten.dk Java web applikationer med Tomcat Denne artikel beskriver hvordan man kan konfigurere container managed security og en database connection pool i Tomcat.
Læs mereBlack Jack --- Review. Spring 2012
Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict
Læs mereRegulære udtryk, 2. del
Denne guide er oprindeligt udgivet på Eksperten.dk Regulære udtryk, 2. del Artiklen uddyber mange af de begreber, som blev introduceret i den 1. artikel. Den burde dog kunne læses alene, hvis man allerede
Læs mere.NET 4.5 og C# 5.0. Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#.
Denne guide er oprindeligt udgivet på Eksperten.dk.NET 4.5 og C# 5.0 Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#. Skrevet den 11.
Læs mereDigitaliseringsstyrelsen
NemLog-in 29-05-2018 INTERNAL USE Indholdsfortegnelse 1 NEMLOG-IN-LØSNINGER GØRES SIKRERE... 3 1.1 TJENESTEUDBYDERE SKAL FORBEREDE DERES LØSNINGER... 3 1.2 HVIS LØSNINGEN IKKE FORBEREDES... 3 2 VEJLEDNING
Læs mereKoden i denne guide vil kun virke i Flash MX 2003 og MX ikke ældre versioner!
Denne guide er oprindeligt udgivet på Eksperten.dk Slideshow - Guide Denne guide gennemgår grundigt og forklarende hvordan man i Flash laver et slideshow med simpel fade-effekt med billeder hentet dynamisk.
Læs mereProjektopgave Observationer af stjerneskælv
Projektopgave Observationer af stjerneskælv Af: Mathias Brønd Christensen (20073504), Kristian Jerslev (20072494), Kristian Mads Egeris Nielsen (20072868) Indhold Formål...3 Teori...3 Hvorfor opstår der
Læs mereCHAPTER 8: USING OBJECTS
Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied
Læs mereIT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013
PHP-Projekt IT projekt uge 4 9 Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 4-3-2013 Indholdsfortegnelse Indledende afsnit... 2 Brainstorm... 2 User stories... 2 Problemformulering...
Læs mereDynamisk PHP design OPDATERET
Denne guide er oprindeligt udgivet på Eksperten.dk Dynamisk PHP design OPDATERET I har måske undret jer over "http://bla.dk/?side=kontakt", her beskriver jeg hvordan, og hvorfor Skrevet den 03. Feb 2009
Læs mereBrugerdefineret menuer i Access
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerdefineret menuer i Access Denne artikel henvender sig primært til let øvede brugere af Access, der ønsker at komme i gang med at tilpasse egne menuer
Læs merejquery - selectors, attributes, traversing og manipulation
Denne guide er oprindeligt udgivet på Eksperten.dk jquery - selectors, attributes, traversing og manipulation Jeg vil med denne første artikel fra mig om jquery komme kort ind på jquerys vidunderlige verden.
Læs mereCS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2
1 CS 4390/5387 SOFTWARE V&V LECTURE 5 BLACK-BOX TESTING - 2 Outline 2 HW Solution Exercise (Equivalence Class Testing) Exercise (Decision Table Testing) Pairwise Testing Exercise (Pairwise Testing) 1 Homework
Læs mereEksamensopgaver datalogi, dl/vf 2010 side 1/5. 1. Lodtrækningssystem
Eksamensopgaver datalogi, dl/vf 2010 side 1/5 1. Lodtrækningssystem Der skal fremstilles et program, som kan foretage en lodtrækning. Programmet skal kunne udtrække en eller flere personer (eller andet)
Læs mereI mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.
Denne guide er oprindeligt udgivet på Eksperten.dk Hvem er online? Online script, som tager højde for at der kan være flere personer, som har den samme IP-adresse. Scriptet viser hvor lang tid brugeren
Læs mereXML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.
Denne guide er oprindeligt udgivet på Eksperten.dk XML parsning i Java Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM. Den forudsætter kendskab til Java og XML.
Læs mere