Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit if (indkomst > ) topskat = (indkomst ) * 0.
|
|
|
- Erling Møller
- 10 år siden
- Visninger:
Transkript
1 Kursus 02199: Programmering afsnit Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske udtryk (afsnit 3.2, 3.4) 5. Flere operatorer (læs selv afsnit 3.5) IMM/DTU Programmering, efterår 2001 Side 3-1 Kontrol af programudførn Med mindre andet angives, udføres et program lineært: Java udfører sætningerne i main metoden en efter en Udførn kan styres v.h.a. to specielle sætningstyper: betingede sætninger (valg mellem en eller flere sætninger): if- og switch. løkker (gentag af sætninger): while, do og for. styringen foregår v.h.a. logiske (Boolske) udtryk: ved betingr angiver udtrykket hvilken gren, der skal udføres. ved løkker angives slutbetingn. IMM/DTU Programmering, efterår 2001 Side 3-2 if-sætninger if-sætninger er god i situationer, hvor man kan sige: hvis... så... double topskat = 0.0; if (indkomst > ) topskat = (indkomst ) * 0.15; IMM/DTU Programmering, efterår 2001 Side 3-3 if--sætninger if--sætninger er god i situationer, hvor man kan sige: hvis... så... ellers... double topskat; if (indkomst > ) topskat = (indkomst ) * 0.15; topskat = 0.0; IMM/DTU Programmering, efterår 2001 Side 3-4
2 if--sætninger Generelt format: if (udtryk) sætning1 sætning2 Virkning: (1) beregn værdien af udtryk (2) hvis true så udfør sætning1, ellers udfør sætning2 IMM/DTU Programmering, efterår 2001 Side 3-5 Blokke En række sætninger kan grupperes til én sætning, en såkaldt blok, med... : En blok kan forekomme hvor som helst en sætning kan forekomme. Blokke er nyttige, når flere ting skal udføres på baggrund af et valg. if (indkomst > ) topskat = (indkomst ) * 0.15; topskat = 0.0; System.out.println("Bedre held ved " + "næste lønforhandling"); IMM/DTU Programmering, efterår 2001 Side 3-6 Blokke og if- Problem: binder til sidste uafsluttede if. if (x==3) if (y < 10) System.out.println("gren A"); System.out.println("gren B"); Løsning: if (x==3) if (y < 10) System.out.println("gren A"); System.out.println("gren B"); Ved brug af if / if- inden i en anden if- bør man bruge tuborg-klammer til at fremhæve sammenhængen. Hellere for mange tuborg-klammer end logiske fejl! IMM/DTU Programmering, efterår 2001 Side 3-7 International karaktergivning Internationalt er man blevet enig om følgende karakterskala: Score i % Karakter A A B B B D F Opgave: Lav et program der omregner en procentscore til en karakter. IMM/DTU Programmering, efterår 2001 Side 3-8
3 Karaktergivning med nestet if- int score; // String grade; // A, A-,..., D-, F if (score >= 95) grade = "A"; if (score >= 90) grade = "A-"; if (score >= 87) grade = "B+"; // o.s.v.... IMM/DTU Programmering, efterår 2001 Side 3-9 switch-sætningen switch er god, når der ønskes mere end to grene. IMM/DTU Programmering, efterår 2001 Side 3-10 Karaktergivning med switch int score; // String grade; // A, A-,..., D-, F switch (score) case 100: case 99: case 98: case 97: case 96: case 95: grade = "A"; break; case 94: case 93: case 92: case 91: case 90: grade = "A-"; break; // o.s.v. default: // 0-59 grade = "F"; IMM/DTU Programmering, efterår 2001 Side 3-11 Logiske udtryk Vi har tidligere set eksempler på udtryk der angiver numeriske værdier (af type int, double,...) tegnstrenge (af typen String) Logiske udtryk angiver sandhedsværdier (af typen boolean). Logiske udtryk kan bl.a. være: true og false sammenligningsoperatorer påtrykt udtryk af samme type (f.eks. indkomst > ) logiske operatorer påtrykt logiske udtryk (f.eks.!fundet && (x < 10) ) IMM/DTU Programmering, efterår 2001 Side 3-12
4 Sammenligningsoperatorer og deres præcedens Operator Betydning Eksempel < Mindre end x < 60 <= Mindre end eller lig med x <= 60 > Større end x > 60 >= Større end eller lig med x >= 60 == Lig med x == 60!= Forskellig fra x!= 60 Resultattypen er boolean, dvs. resultatet er true eller false. De aritmetiske operatorer *, /, %, +, - binder alle stærkere end <, <=, >, >=. Sammenligningsoperatorerne <, <=, >, >= binder alle stærkere end == og!=. IMM/DTU Programmering, efterår 2001 Side 3-13 Hvad er resultatet af følgende logiske udtryk? Lad x = 2 og y = 4. Logisk udtryk Resultatværdi false true true == false x!= y x < 3 + y y < x + 3 (x + y > 3) == false false!= x < 3 x == y == false IMM/DTU Programmering, efterår 2001 Side 3-14 Sammenligning af tegn To tegn kan som tal sammenlignes: char ch1= æ, ch2 = ø ; if (ch1 < ch2) System.out.println(ch1 + " er mindre end " + ch2); System.out.println(ch1 + " er større end " + ch2); med følgende resultat ved kørsel: æ er mindre end ø IMM/DTU Programmering, efterår 2001 Side 3-15 Sammenligning af strenge Strenge skal sammelignes v.h.a. metoderne equals og compareto: String str1="første", str2="anden"; System.out.println("Er str1 og str2 ens? " + str1.equals(str2)); if (str2.compareto(str1) < 0) System.out.println("str1 kommer efter str2"); if (str2.compareto(str1) > 0) System.out.println("str2 kommer efter str1"); giver Er str1 og str2 ens? false str1 kommer efter str2 IMM/DTU Programmering, efterår 2001 Side 3-16
5 Sammenligning af kommatal To kommatal i en datamat er kun ens, hvis alle bits i deres interne repræsentation er ens. Ofte er man i situationer, hvor tallene bare skal være tilstrækkeligt tæt på hinanden: double x= , y= ; double v=3.02, w=3.01; final double TOLERANCE = 1E-3; if (Math.abs(x-y) < TOLERANCE) System.out.println("x og y er næsten ens"); if (Math.abs(v-w) > TOLERANCE) System.out.println("men det er v og w ikke!"); giver x og y er næsten ens men det er v og w ikke! IMM/DTU Programmering, efterår 2001 Side 3-17 Logiske operatorer og deres præcedens Operator Betydning Eksempel! Ikke (Negation)!(x == 60) && Og (Konjunktion) 0 <= x && x < 60 Eller (Disjunktion) x < 0 x >= 60 Argumenttyperne er boolean og resultattypen er boolean. Operatoren! binder stærkere end && som binder stærkere end.! binder også stærkere end sammenligningsoperatorerne og de aritmetiske operatorer. && og binder svagere end sammenligningsoperatorerne og de aritmetiske operatorer. IMM/DTU Programmering, efterår 2001 Side 3-18 Sandhedstabeller for de logiske operatorer: a! a false true true false a b a && b a b false false false false false true false true true false false true true true true true Udtrykket udregnes fra venstre mod højre. Operatorerne && og udregner ikke mere end højst nødvendigt: Hvis udtryk1 er falsk i udtryk1 && udtryk2 så udregnes udtryk2 ikke. Hvis udtryk1 er sand i udtryk1 udtryk2 så udregnes udtryk2 ikke. IMM/DTU Programmering, efterår 2001 Side 3-19 Hvad er resultatet af følgende logiske udtryk? Lad x = 2 og y = 4. Logisk udtryk Resultatværdi! false! true! true == false! (true == false) true && false false true x + y > 3 && x < y x + y == 3 x < 4 x < y && (3*4 == 2*6-1*2+2) ==!(3<x) IMM/DTU Programmering, efterår 2001 Side 3-20
6 Flere operatorer Givet int count = 0; count ++; svarer til count = count + 1; Læs selv mere om dette i afsnit 3.5. Råd: øg læsbarheden skriv det fulde udtryk! IMM/DTU Programmering, efterår 2001 Side 3-21 Husk til næste tirsdag (25/9) Læs afsnit Forbered opgaverne. Afhent cd, hvis du har bestilt en. IMM/DTU Programmering, efterår 2001 Side 3-22
Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. "10") til heltal (10). if (udtryk) else
Programmering 1999 Forelæsning 2, fredag 3. september 1999 Betingede ordrer: if-, if Indlejrede betingede ordrer Løkker med begrænset iteration: for Løkker med ubegrænset iteration: while Betingede ordrer,
Udsagnslogik. Anker Mørk Thomsen. 6. december 2013
Udsagnslogik Anker Mørk Thomsen 6. december 2013 Logiske Udsagn Sætningstyper Spørgende (interrogative): Hvor længe bliver du i byen? Befalinger (imperative): Gå tilvenstre efter næste sving? Ønsker (optative):
Noter til C# Programmering Selektion
Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,
Programmering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Forelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Programmering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
BOSK F2011, 1. del: Udsagnslogik
( p q) p q February 1, 2011 Sandhedsværdier og udsagnsvariable I dag handler det om logiske udsagn. Mere præcist om de logiske udsagn vi kan bygge ud fra sandhedsværdier, udsagnsvariable og logiske konnektiver.
Kapitel 3 Betinget logik i C#
Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret
Noter til C# Programmering Iteration
Noter til C# Programmering Iteration Programflow Programmer udfører det meste af deres arbejde vha. forgrening og løkker. Løkker Mange programmeringsproblemer kan løses ved at gentage en handling på de
Baggrundsnote om logiske operatorer
Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse 1 Indledning...2 2 Logiske kredsløb...3 Eksempel:...3 Operatorer...4 NOT operatoren...4 AND operatoren...5 OR operatoren...6 XOR operatoren...7
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse Indledning...3 Logiske kredsløb...4 Eksempel:...4 Operatorer...4 NOT operatoren...5 AND operatoren...5 OR operatoren...6 XOR operatoren...7
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
5. Kontrolstrukturer - Motivation og Oversigt
5. Kontrolstrukturer - Motivation og Oversigt I dette og de følgende afsnit vil vi - vigtigst af alt - møde forgreninger og løkker. Sådanne kaldes kontrolstrukturer, fordi vi med disse kan kontrollere
Python programmering. Per Tøfting. MacFest
Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
BOSK F2012, 1. del: Prædikatslogik
ε > 0. δ > 0. x. x a < δ f (x) L < ε February 8, 2012 Prædikater Vi skal lære om prædikatslogik lad os starte med prædikater. Et prædikat er et orakel der svarer ja eller nej. Eller mere præcist: Prædikater
Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til [email protected]. Besvarelsen skal
Kursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Ugeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Elementær Matematik. Mængder og udsagn
Elementær Matematik Mængder og udsagn Ole Witt-Hansen 2011 Indhold 1. Mængder...1 1.1 Intervaller...4 2. Matematisk Logik. Udsagnslogik...5 3. Åbne udsagn...9 Mængder og Udsagn 1 1. Mængder En mængde er
Bits, 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
Kursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger
Velkommen til Kursus 02199: Programmering ved Anne Haxthausen IMM, DTU 4. september, 2001 1. Praktisk information 2. Introduktion til faget (a) kursusmål og motivation (b) hvad er en datamaskine, et program,
Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer
Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter
#AlleKanKode. Lektion 2 - Konstanter og Variabler
#AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger
//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
Start på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Klasse 1.4 Michael Jokil 03-05-2010
HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk
Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner
Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6
Fundamentale sprogbegreber
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,
Listen 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
Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft
Kurserne Kurset: programmering i sproget Java Programmering og Udvidet Programmering Lærerne: Morten Larsen og Peter Sestoft Kursusmål: I skal lære at skrive interessante programmer i Java Forudsætninger:
DANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
JavaScript. nedarvning.
JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man
Kapitel 4 Løkker i C#
Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave
Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber
Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,
Virkefeltsregler i Java
Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten
Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)
Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne
Spil Master Mind. Indledning.
side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de
Kursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Programmering i C. Kurt Nørmark 2005 Institut for Datalogi, Aalborg Universitet. Sammendrag
Programmering i C Kurt Nørmark 2005 Institut for Datalogi, Aalborg Universitet Sammendrag Dette er et undervisningsmateriale om introducerende programmering i et imperativt sprog. Mere konkret er det et
Tree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract
Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget
Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations
Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University
Induktive og rekursive definitioner
Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal
Hashing og hashtabeller
Datastrukturer & Algoritmer, Datalogi C Forelæsning 12/11-2002 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt
Lær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Undervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Skoleåret 2015/16 Institution Hansenberg Gymnasium Uddannelse Fag og niveau Lærer Hold htx Programmering,
Løsningsforslag Skriftlig eksamen 3. januar 2013
Løsningsforslag Skriftlig eksamen 3. januar 2013 Version 1, 2013-01-03 Spørgsmål 1 Spørgsmål 1.1 L1: od2 := FALSE L2: SLEEP 100 IF (cd2 < 14) GOTO L2 od2 := TRUE Ovenstående løser opgaven fordi digital
Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning
Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]
Databaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
