Hoofdstuk 9.2 Huub Verstralen cito, afd.POC December 7, 2010 0.1 Een technisch probleem en de oplossing In het hoofstuk over de lineaire transformatie vinden we de volgende tekst: ”Dan worden a en b als volgt berekend. 10 = as10 + b 5:5 = asv + b Trekken we de onderste vergelijking van de bovenste af dan krijgen we dat 4:5 a = a(s 10 ¡ sv ) =) 4:5 = s10 ¡ sv (1) en nu we a weten is b gemakkelijk te vinden met behulp van de eerste vergelijking b = 10 ¡ as10 (2) ” Deze lineaire transformaties worden uitgerekend met een computer. Als we dat op de normale manier doen dan onstaat er een probleem doordat getallen in een computer slechts een eindige precisie hebben. Tot welk probleem dat leidt kan gemakkelijk geillustreerd worden door de getallen 1 tot en met 10 door twee te delen en af te ronden. Noteren we het afronden van een getal x door r(x) te schrijven. In mijn computer verkrijg ik dan bijvoorbeeld r(3=2) = 2 en r(5=2) = 2: Als een breuk precies tussen twee gehele getallen ligt zoals 3=2 precies ligt tussen 1 en 2 dan willen we de leerling het voordeel van de twijfel geven. Bij r(3=2) = 2 gaat dat uitstekend, maar bij r(5=2) = 2 niet. Omdat 5/2 precies tussen de 2 en de 3 in ligt willen we dat r(5=2) tot 3 wordt afgerond en niet tot 2. De oplossing voor dit probleem is om uitsluitend met gehele getallen blijven rekenen. Gehele getallen zijn wel precies in een computer gerepresenteerd, daardoor kunnen we zelf kiezen hoe we willen afronden. Om te beginnen gebruiken 1 we de getallen 10 tot en met 100 i.p.v. 1.0 tot en met 10.0. We kunnen later altijd nog de punt tussen de laatste twee cijfers toevoegen. Bijvoorbeeld, van 55 maken we dan 5.5. Verder maken we gebruik van twee rekenkundige operaties op gehele getallen: de integer deling, genoteerd met n en de modulus genoteerd met mod. De integerdeling van anb geeft aan hoe vaak b in a past. Bijvoorbeeld 5n2 = 2 en 6n3 = 2 evenals 8n3 = 2: De modulus van a en b a mo d b is de rest van anb; dit is a ¡ b £ anb: Bijvoorbeeld 5 mo d 2 = 1; omdat 5n2 = 2; en de rest is dus 5 ¡ 2 £ 2 = 1: Evenzo is 6 mod 3 = 0 en 8 mod 3 = 2: Herhalen we de vergelijkingen van hierboven, maar nu met gehele getallen. Dat betekent dat we de breuk voor a in formules 1 en 2 niet uitrekenen maar bewaren als a1 en a2 met a1 = 45 a2 = s100 ¡ s55 hetzelfde voor b b1 b2 = 100a1 ¡ a1 s 100 = a2 Noteer d = a1 s + 100a2 ¡ a1 s100 Het cijfer cs bij een willekeurige score s wordt dan gegeven door cs = dna2 + v waarin v = 1 als d mod a2 ¸ a2 n2 en anders 0. Op deze manier weten we zeker dat we afronden naar boven als de rest van de deling precies gelijk is aan de helft van a2 : Meer algemeen verkrijgen we voor de lineaire transformatie van scores s1 tot s 2 naar de cijfers c1 tot c2 a1 = a2 = d = c1 ¡ c2 s1 ¡ s 2 a1 (s ¡ s1 ) + c1 a2 en cs = dna2 + v 2