Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting.

Størrelse: px
Starte visningen fra side:

Download "Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting."

Transkript

1 Denne guide er oprindeligt udgivet på Eksperten.dk C++ Historie og Programmering - Del 1 Denne guide er til dig der altid har undret dig over hvordan du får en computer til at udføre specifikke opgaver. C++ er et sprog, som man bruger til at fortælle computeren hvad den skal gøre. Skrevet den 26. Apr 2013 af mbm2007 I kategorien Programmering / C/C++ Sproget Jeg vil nu give dig som nybegynder, en god basis viden for programmering, samt give dig det teoretiske indblik i forskellige begreber indenfor C++. Disse grundlæggende begreber indenfor programmering indbefatter principper som løkker, logiske udtryk, variabler mm. Disse principper går igen i de fleste programmeringssprog, men jeg vil i denne artikelserie fokusere på implementeringen af disse begreber i sproget C++. Afslutningsvis vil jeg selvfølgelig fortælle dig hvordan, hvor og hvornår du kan bruge sproget C++, så du kan komme i gang med dit første program. Jeg betragter en nybegynder, som en der ikke kender computerens historie, men en der kan finde ud af at bruge computeren til at gå på internettet og eksempelvis sende mails. Samtidig skal nybegynderen også være i stand til at kende forskellen på skærm og computer Historien Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting. En elektronisk computer er bygget op af elektroniske komponenter, som Motherboardet der forbinder alle øvrige komponenter med hinanden, som RAM (Random Access Memory) hvor programmer kan gemme deres midlertidige hukommelse, som CPU'en (Central processing unit) der er selve computerens hjerne, som Harddisken der lagrer ens billeder, videoer og film, som grafik kortet, der sørger for at vise billeder på skærmen og meget mere. Inde i computerens RAM, er der millioner, billioner af transistorer, som tilsammen danner rigtig mange kredsløb som enten kan være tændt eller slukket. En transistor er ligesom en kontakt på væggen, som enten kan være tændt eller slukket. Computeren benytter sig af rigtig mange af disse kontakter til midlertidigt at huske hvad den skal gøre mv. Hermed kan computeren kun forstå tændt eller slukket. Man siger at tallet 1, indikerer tændt og 0 indikerer slukket. De første programmører var derfor nødt til at skrive nuller og ét taller til computeren, for at få den til at beregne forskellige regnestykker, hvilket man kalder for binære tal eller nærmere betegnet maskinkode. Der var altså ved computerens spæde start ikke rigtig noget decideret sprog som man kunne skrive til computeren for at få den til at udføre givne opgaver. En dag var der nogle kloge hoveder, som kom til at tænke over om de kunne gøre det nemmere for mennesker at få computeren til at gøre forskellige ting. Dertil opfandt de et programmeringssprog (Plankalkül). Denne opfindelse fik dannet en helt ny æra indenfor computer teknologier. Et programmeringssprog går ud på at et menneske kan skrive menneske læselige tegn, som senere kan laves om til nuller og ét taller som computeren kan forstå. Selve den proces at lave den menneske

2 læselige kode om til nuller og ét taller kalder man kompilation. Så når man oversætter fra menneske læselig kode til nuller og ét taller, kompilerer man koden. Imidlertid fik man nu brug for at computeren selv kunne oversætte den menneskelæselige kode, i dit tilfælde C++ til nuller og ét taller. Dette kunne gøres med en såkaldt Compiler (på dansk: en oversætter) som kompilerer din kode til maskinkode for dig. I 1979 opfandt danskeren Bjarne Stroustrup sproget C++, som du nu kommer til at lære. Dette sprog satte nye standarder for programmeringen i hele verden, og blev derfor også meget populært. På eksempelvis engelsk er der en bestemt måde hvorpå man skal sammensætte ord, man skal tage højde for hvordan de skal stå i forhold til hinanden og så videre. Han definerede også måden hvorpå C++ skulle skrives. Måden hvorpå koden skal skrives, for at den kan blive oversat til maskinkode(0 og 1 taller), kalder man for sprogets syntaks. Kode sætninger Når man vil have en computer til at gøre ting, kan man kun få den til at gøre én ting ad gangen (hvis man ser bort fra at de fleste computere har flere CPU-kerner(hjerner) i dag, både fysiske og/eller virtuelle). Hvad den skal gøre skriver man til den i sætninger som den læser og udfører, én for en. Disse sætninger kalder man for: kode-sætninger. Fuldstændigt ligesom man på dansk skriver sætninger bare med en anderledes syntaks, skriver man nu bare kode-sætninger som computeren forstår. Hvis du nu ville lave en simpel lommeregner på computeren, som kun er i stand til at addere, kunne du skrive følgende kode til Compileren: Spørg brugeren om et tal; Spørg brugeren om et andet tal; Regn summen af de to tal ud; Skriv summen på skærmen; Læg mærke til semikolonet (;), som står som afslutning bag hver kodesætning. På dansk og mange andre sprog afslutter man sin sætning med et punktum. I C++ afslutter man en sætning med semikolon (;). Læg ydermere mærke til at ovenstående kode ikke er C++, da den ikke følger syntaksen for rigtig kode. Den skal bare vise princippet bag hvad computeren skal gøre, hvorfor ovenstående kode kaldes pseudo kode. Compileren vil kigge på ovenstående kode og derefter udføre(eksekvere) hver kode-sætning i den rækkefølge de står. Men hvad nu hvis man har en række sætninger som man gerne vil gruppere, fordi formålet med de givne sætninger er én specifik ting? Kodesætninger indeni tuborgklammer (), hører og skal eksekveres sammen. Det vil altså sige at vi kan lægge ovenstående pseudo-kode eksempel ind i tuborgklammer, og hermed vil compileren betragte disse "omklamrede" sætninger som én del: Spørg brugeren om et tal; Spørg brugeren om et andet tal; Regn summen af de to tal ud; Skriv summen på skærmen; Når man sætter sætninger ind imellem tuborgklammer, kalder man for en blok. En samling af kodesætninger man lægger ind i en blok, kaldes for en kode-blok.

3 Variablen En anden ting man kunne få computeren til, kunne være at gemme brugerens navn, redigere i det så det står bagvendt og derefter skrive det ud på skærmen. Dette kan man gøre med variabler. Hvordan ville du gribe sådan et problem an? 1. Du kunne først spørge brugeren om hans/hendes navn 2. For at kunne redigere i hans/hendes navn skal du på en eller anden måde kunne huske det navn som brugeren indtaster, så det gør du ved hjælp af en variabel. 3. Derefter vender du hans/hendes navn om. 4. Til sidst skriver du det omvendte navn ud på skærmen. Når brugeren så lukker programmet igen vil navnet forsvinde fra hans/hendes skærm igen. Navnet har været midlertidigt husket i en såkaldt variabel, men når programmet lukker forsvinder denne også. Det er sådan en variabel fungerer. Den kan bruges som midlertidig lagringsplads så længe programmet kører, men slettes/frigives ligeså snart programmet slutter/lukker. Forestil dig at en variabel er en lille kasse. I den kasse kan man lægge en ting ned i(en værdi). Man kan sætte et lille mærkat på kassen, så man ved hvad der er nede i kassen(et variabelnavn). Samtidigt kan man være rigtig velorganiseret og definere hvilken type af ting man lægger ned i kassen(variabeltype). Grunden til at det hedder en variabel er, at man kan tage en ting ud af kassen og man kan lægge en anden ting derned. Det vil sige, at har man først lagt én ting derned, kan man sagtens tage den op igen og lægge en anden ting derned (det er variabelt hvad der kan være i en variabel). Dog kun så længe den nye ting er af samme type som den oprindelige ting man lagde ned, man vil jo gerne være velorganiseret. Syntaksen er heldigvis defineret, dvs. den måde man laver en sådan kasse/variabel på: Type Mærkat = Værdi; Læg mærke til "ligheds" tegnet. Dette tegn fungerer ligesom du husker det fra matematiktimerne, hvor man eksempelvis sagde (x=5). Dette tegn definerer altså at alt på højre side af lighedstegnet skal lægges ned i kassen(variablen). I dette tilfælde lægges tallet 5 ned i kassen med mærkatet "x". Husk dog også på, at da det er en kode-sætning til compileren, skal den afsluttes med et semikolon, og ikke med punktum. Ovenstående er selvfølgelig pseudo-kode. Nu har du fået en forståelse for syntaksen bag opstilling af en variabel, men nu vil der nok melde sig en række spørgsmål: Hvilke typer kan jeg benytte mig af? Hvilket mærkat skal jeg sætte på min kasse? Og hvad skal jeg lægge derned? Variablen - Typerne I C++ findes de såkaldte primitive typer. Grunden til at de bliver kaldt primitive typer er ganske enkelt bare at de er bygget ind i selve sproget, at de ikke er lavet af selve programmøren. Her er en oversigt over nogle af de primitive typer i C++: Type Hele ordet Dansk = Hvad kan det være? int Integer Heltal = 1,2,3,4,5,6,7...

4 float Float Flydende = 1.0,1.1, double Double Dobbelt = 1.0,1.1, char Character Bogstav = A,B,C,D... string String Streng = "Al slags tekst" bool Bool Boolsk = true eller false Disse primitive typer kan bruges til at lave variabler i C++. Hvis du eksempelvis vil lave en variabel hvor du lægger kommatallet 12,4 ned, kunne du skrive: float minvariabel = 12.4; Læg her mærke til at komma i programmeringssprog er et punktum. Det er fordi man på engelsk bruger komma og punktum omvendt i forhold til hvad vi gør i Danmark. Komma i England er tusindtals separator, og punktum er decimalseparator. Læg ydermere mærke til at vi både kan bruge typerne float og double til at udtrykke et kommatal. Forskellen på disse er præcisionen hvorved de kan indeholde kommatal. Float er mindst "præcis", hvilket betyder at den ikke kan indeholde ligeså mange decimaler efter "kommaet" som double kan. Som det fremgår af tabellen kan du se en kolonne med navnet Type. Det er de forkortelser som man har givet typerne, og det er dem man benytter sig af når man skriver koden. Dvs. at når du skal lave en variabel med en type, skriver du ikke integer, men int i stedet for. Det gør det både lettere og hurtigere at skrive: integer minvariabel = 10; -> FORKERT! int minvariabel = 10; -> KORREKT! Kolonnen "Hele ordet" er der hvor du kan se hvad forkortelsen står for. F.eks. står forkortelsen int for Integer, som på dansk betyder heltal. Kolonnen "Dansk = Hvad kan det være?" Specificerer to ting. Det på venstre side af lighedstegnet er Det danske ord for forkortelsen, mens den højre side er de tal man kan lægge ned i variablen, adskilt med komma. Du tænker måske hvad man skal bruge heltal til når man bare kan bruge double til at tælle alle tal også komma tal: At repræsentere et tal som kommatal på en computer og at regne med disse tal er langsommere end at regne med heltal. Derfor skal man overveje om man kun har brug for at arbejde med heltal. Dertil er det en god huskeregel: "Hvis du undre dig om hvor meget? kan du bruge double", "Hvis du undre dig om hvor mange? kan du bruge int". Hvis du eksempelvis skal tælle hvor mange gange nået er sket, undrer du dig om "hvor mange?", derfor giver det ikke mening at have kommatal. Hvis du derimod skal måle på hvor stort noget er, undrer du dig om "hvor meget?", hvorfor det giver mening at benytte sig af float eller double. Jeg vil ikke komme ind på hvordan disse typer fungerer i forhold til hinanden, hvordan de lagres i computerens hukommelse, samt hvorfor det f.eks. hedder en double. Variablen - Mærkatet Nu da du har fået en forståelse for hvilke typer din variabel kan bestå af, er det på tide at snakke om hvilket mærkat/variabelnavn du kan sætte på kassen. I C++ kan dit mærkat være alle bogstaver fra A-Z, dvs. intet æ-ø-å: MånensTyngdeKraft = Forkert!!! MaanensTyngdeKraft = Rigtigt!!!

5 Det kan ikke starte med et tal, men ellers kan du selv bestemme hvor tallet skal være: 1MaanensTyngdeKraft = Forkert!!! MaanensTyngdeKraft1 = Rigtigt!!! Der må ikke være specielle tegn men der må godt være underscore (_) : -Maanens/Tyngde+Kraft = FOKERT!!! _MaanensTyngdeKraft = Rigtigt!!! Nu kender du typerne du kan gøre brug af og du ved hvordan du skal lave dine mærkater. Nu skal du bare vide hvad du skal lægge ned i dine variabler(kasser), hvilket er yderst simpelt. Det hele afhænger af typen. Hvis typen af din variabel er int, dvs. et heltal, kan værdien kun være heltal. Dvs. 1,2,3,4,5... mv. Hvis du bliver i tvivl, kan du blot benytte dig af ovenstående tabel for at se hvad du kan lægge i de forskellige typer af variabler. Lad os prøve at lave en variabel. Som du nok kan huske laver man en variabel sådan her: Type Mærkat = Værdi; Dette er igen pseudo-kode hvilket vi nu vil erstatte med kode som compileren kan forstå og oversætte til maskinkode. Vi vil gerne have en kasse hvori vi kan gemme min alder. Og vi vil gerne lave et mærkat som hedder Magnus_Alder. Jeg er 15 år gammel, og alder måles ikke med kommatal, derfor vælger jeg typen int (heltal) til min variabel. Værdien bliver blot min alder: Type Mærkat = Værdi; // Pseudo int Magnus_Alder = 15; // Den egentlige syntaks Herover har vi nu lavet en kasse med min alder. Hvis vi senere i programmet skal se hvad der er nede i kassen skriver vi blot variabelnavnet: Magnus_Alder Programmet vil så sørge for at erstatte Magnus_Alder med den egentlige værdi som ligger i kassen: 15 Det er princippet bag variabler: at man kan lægge en værdi ned i dem, og senere igen og igen hive værdien op og bruge den, eller ændre den. Husk at se bort fra de to skråstreger og teksten til højre for dem. De har intet med koden at gøre men forklarer bare hvad der står på linjen. Kommentarer - Gør livet lidt lettere Netop dette leder til det næste emne: Kommentarer. Nu er vi jo trods alt mennesker, og selvom programmeringskode i dag er meget menneske læseligt, er der stadig problemer selv for professionelle programmører med at gennemskue store mængder kode. Hvis man i sin kode skriver to skråstreger, så er al tekst bag disse ignoreret af compileren. Dvs. at compileren ikke prøver at oversætte dine kommentarer til maskinkode (0 1 taller). Der er to forskellige måder at skrive sine kommentarer på. Der er flere linjers kommentarer, og der er én linjes kommentarer. To skråstreger efterfulgt af noget tekst er én linjes kommentarer. Dvs. at du ikke kan gøre sådan her: // Her er min kommentar

6 den er meget flot Her vil compileren tro at den skal oversætte "den er meget flot" til maskinkode. Derfor er det også defineret at man skal kunne lave flerlinjes kommentarer, så man kan skrive hele romaner hvis man har lyst. Dette gør man lidt anderledes: /* Her er min kommentar den er meget flot og kan spænde over så mange linjer jeg vil så længe jeg slutter med: */ Læg mærke til at skråstreg efterfulgt af stjerne siger at her starter kommentaren, mens stjerne efterfulgt af skråstreg siger at her slutter kommentaren. Som sagt er kommentarer meget nyttige. Hvis du har lavet en kode for et halvt år siden kan du sikkert ikke huske hvad det var de forskellige kodesætninger gjorde. Derfor er det en god ide at skrive kommentarer, så når du og andre skal gennemgå koden igen, er det meget lettere. Logiske udtryk - Er jeg større end dig? I computerprogrammering får man i høj grad brug for at tjekke bruger input. "Bruger input"? Bruger input er simpelt nok, det som brugeren giver af oplysninger til programmet. Og nogle gange får man brug for at reagere forskelligt alt efter hvad brugeren giver af oplysninger. Den egentlige implementering, hvor man kan få fat i brugerens input, lader jeg være op til en senere artikel. Du kunne f.eks. spørge brugeren: Hvad er 5 + 5? Og derefter vil du tjekke om deres svar er rigtigt. Dette gør man med de såkaldte logiske udtryk. Hvordan man gør det i C++ vil jeg nu fortælle. Vi tager udgangspunkt i eksemplet ovenfor. Forestil dig for nu at du kan få fat i det brugeren skriver. Det brugeren har indtastet som svar lægger du så nu ned i variablen du kalder Bruger_Svar. Derefter vil du tjekke om dette er rigtigt: Bruger_Svar == 10 Dette er et logisk udtryk, da det enten kan være Rigtigt eller Forkert, (True eller False). Resultatet af ovenstående udtryk er altså af typen bool, da det kun kan være true eller false. Det skarpe øje vil nok undre sig over om det er en fejl, at jeg har sat to lighedstegn, hvilket det ikke er. Lad os igen kigge på syntaksen for at lave en variabel: Type Mærkat = Værdi; Her kan vi se at ét lighedstegn betyder at tildele variablen en værdi (det er en tildelingsoperator). Tildeling betyder at give noget en værdi, og det er jo hvad man gør når man giver an variabel en værdi. Det tildelingsoperatoren gør er at operere(at gøre noget) for en, deraf navnet operator. Og da ét ligheds tegn betyder tildelingsoperator for compileren, måtte man jo finde på noget andet som lighedsoperator, som tjekker om noget er ens. Derfor besluttede man at == tjekker om noget er lig med noget andet.

7 Der er også andre operatorer såsom større end (>), mindre end (<), ikke lig med (!=). Her er et eksempel: Du vil gerne tjekke om min alder er større end din, men samtidigt vil du også tjekke om min alder er mindre end din fars alder, og hvis alt dette er opfyldt vil du skrive "du er ældre end mig, men ikke min far". Hvordan vil du gøre det med den viden du lige har fået? Det kan du ikke fordi du ikke kender de logiske operatorer som er: && det betyder OG. det betyder ELLER. Så nu kan du sammensætte et udtryk som passer på eksemplet ovenfor: (Min_Alder > Din_Alder && Min_Alder < Din_Fars_Alder) <, && og > kalder man for operatorerne og alt ovenfor kalder man for et udtryk. Da det enten kan udtrykke rigtigt eller forkert. Hvad vil ovenstående udtryk blive hvis min alder er 15, og din fars 65? true eller false? Hvad nu hvis... Nu har du lært hvordan man kan sammenligne værdier, hvordan man tjekker om en værdi er større end en anden osv. Men du har ikke lært syntaksen for hvordan man gør dette i C++. I C++ er der noget der hedder en "if-sætning". Det er et sted hvori man kan tjekke om et udtryk er sandt eller falsk. Syntaksen er således: if(udtryk) Hvis Udtryk er sandt så gør det inde i denne blok; else Ellers gør det inde i denne blok. Læg mærke til at vi lægger udtrykket ind imellem parenteser, så compileren ved hvornår udtrykker starter og slutter. Hvis vi kigger på ovenstående kode kan vi sige: if (Hvis), udtrykket er korrekt, så gør det der står i første blok, else(ellers) gør det i anden blok. Denne "If sætning" er nok den vigtigste del af programmeringssproget C++ at kunne. Så vi tager lige et konkret eksempel: if(5 > 6) Så skriv: Det er sgu da mærkeligt; else Ellers skriv: Det regnede jeg også med;

8 Ovenfor kan du se at vi tjekker om 5 er større end 6, og hvis det er sandt bliver vi mærkelige i hovedet, ellers bliver "glade" for det var jo hvad vi regnede med. Løkken - Igen og igen... En dag vil man også gerne have computeren til at gøre en ting flere gange, eller bare uendeligt. Dette kan man gøre med en "løkke". En løkke er noget der bliver udført igen og igen. Som sagt kan man tage sine kodesætninger og lægge dem ind i tuborgklammer. Når man gjorde dette hed det en blok. I C++ definerer man først hvor mange gange computeren skal gøre en ting. Derefter skriver man den blok der skal udføres de specificerede gange. Der er tre måder hvorpå du i C++ kan lave en løkke. Jeg har valgt at fortælle de to. Det er "while" løkken og "for" løkken. While-løkken bruger man hvis man ikke ved det præcise antal gange noget skal udføres. Man bruger også while løkken når noget skal køre uendeligt. For-løkken bruger man når man kender det antal gange noget skal udføres. Og når man skal gennemgå en stor mængde defineret data. Her kommer der et While løkke eksempel: while(min_alder < 18) Så skriv: DU er ikke myndig endnu!; Denne ovenstående kode kan beskrives: så længe(while) min alder er mindre end 18. Så skriv at jeg ikke er myndig endnu. Læg mærke til at det er samme syntaks som da vi gennemgik "if sætningen", det eneste der er anderledes er at vi har byttet if ordet ud med while. Men en "For løkke" har ikke samme syntaks som en while løkke. "For løkkens" syntaks er som følgende: for(initialisering; Betingelse; In-dekremmentering) Blokken der bliver udført det bestemte antal gange; Her er der tre fancy ord. Initialisering = Det betyder at man giver en variabel en værdi før løkken starter. Betingelse = Det er at man skriver den betingelse der skal tjekkes for rigtigt eller forkert. Lige så længe betingelsen er rigtig, vil løkken køre. In-dekrementering = Det betyder her at man enten kan lægge noget oveni (inkrementering) eller trække noget fra "dekrementering". Det er her man in eller dekrementerer en tæller-variabel, hver gang løkken har kørt, simpelthen for at holde styr på hvor mange gange løkken har været udført.

9 Initialisering, Udtryk og In-dekremmentering er alle indeni en parentes og de er adskilt af semikolon. Et konkret eksempel ville være: for(int Min_Alder = 0; Min_Alder < 18; Min_Alder++) Jeg vokser!!!; I inkrementeringsdelen laver vi en variabel(kasse) hvori vi lægger værdien 0. I udtryksdelen tjekker vi om variablens værdi er mindre end 18. Dvs. at løkken vil køre så længe Min_Alder er mindre end 18. I inkrementeringsdelen lægger vi hele tiden 1 oveni Min_Alder for hver gang løkken har kørt. Nu ved du at variabler er der man gemmer ting i, og du ved hvordan deres syntaks er. Du ved at operatorer er dem som sammenligner og gør ting for dig. Du ved at ved at lave kommentarer i kode, gør du det nemmere for andre og dig selv at læse det på et senere tidspunkt. Nu sidder du nok tilbage med en flad fornemmelse af, at du for det første ikke ved hvor du skal bruge alt denne viden fra. For det andet ved du ikke hvad du skal bruge det til og for det tredje mangler du et konkret eksempel du bare kan copy paste og se det virke. Men du må vente lidt endnu. Hold ud! Fordi nu kender du basis syntaksen for C++. Og du kender forskellige begreber som Løkker, variabler osv. Men du mangler lige det sidste. Hvad skal jeg gøre? Når du skriver din kode, og skal lave store projekter engang. Får du brug for at dele din kode op i flere filer. Men compileren som skal oversætte din kode til nuller og et taller, bliver nødt til at kende disse filer før at den kan sætte dem sammen til ét helt program. Derfor har C++ compileren, en preprocessor indbygget. En preprocessor er et lille program som erstatter dette: #include <iostream> Med den aktuelle kode som compileren kan forstå. Så inden at compileren begynder at oversætte til maskinkode køre "pre" processoren, og erstatter preprocessor sætninger med den reelle kode. For at preprocessoren ved at sætningen er tilrettelagt til lige netop den, skriver man en firkant foran sætningen. Husk at preprocessoren ikke skal have et semikolon bagved sætningen. Vi tager udgangspunkt i denne sætning: #include <iostream> (#) definerer at det er preprocessoren og ikke compileren der skal kigge på sætningen.

10 (include) fortæller preprocessoren at den skal inkludere en anden fil i denne fil. Alt mellem < og > er den fil som preprocessoren skal lede efter. Altså den fil som den skal inkludere. (iostream) Står for "In and Out stream". Det er en standard fil, hvori der er defineret metoder til at få tekst fra brugeren (In), skrive tekst på skærmen (Out), og dette sker i en bestemt rækkefølge (stream) Et spørgsmål der nu kommer op er hvor starter mit program, og hvordan ved compileren hvor det starter? I næsten alle programmeringssprog er der en bestemt kodeblok der køres når programmet startes, denne blok kaldes for main og skrives typisk sådan her: int main() // Al kode herinde vil blive kørt når programmet starter Den måde at isolere kode-stykker på i funktioner, vil jeg komme ind på i en senere artikel. Så er vi der næsten... Det du lige nu har brug for er en compiler, den som oversætter din kode til maskin kode. Du kan downloade den jeg bruger her: Når du har downloadet setup-filen kan du prøve at kigge på denne YouTube video som vil vise dig hvordan du installerer og opretter et nyt projekt i CodeBlocks programmet: Indsæt denne kode og kompiler på F9 knappen og du er "Good to go": #include <iostream> using namespace std; int main() cout << "Hello world!" << endl; return 0; Nu kan du selv eksperimentere med koden og ændre Hello World teksten til noget andet. DU kan prøve at lave løkker så den skriver det flere gange: #include <iostream> using namespace std; int main() for(int i = 0;i<5;i++)

11 cout << "Hello world!" << endl; return 0; Du kan lave variabler og udskrive dem: #include <iostream> using namespace std; int main() string hej = "Hej med dig"; cout << hej << endl; return 0; Ovenstående kode-eksempler vil blive forklaret i en senere artikel. Prøv dig frem! Held og lykke. Kommentar af thegenuine d. 04. Aug Godt stykke arbejde. Jeg har kun lige skimtet det igennem, men det er lige sådan noget, jeg har ledt efter. Programmeringssprog for dummies ;) - jeg ser frem til, det næste afsnit kommer. Kommentar af Jackount d. 07. Aug Hvor fanden blev min kommentar af???java script: void(0); Kommentar af hrc d. 15. Sep Hvis man vil starte med at programmere, så er der alternativer til C++ som tillader lidt færre unoder. Et godt programmeringssprog skal være opdragende og det er C++ ikke! Kommentar af hrc d. 15. Sep C++ is like teenage sex * It's on everyone's mind all the time. * Everyone talks about it all the time. * Everyone thinks everyone else is doing it. * Almost no one is really doing it. * The few who are doing it are: * doing it poorly. * sure it will be better next time. * not practicing it safely. * Everyone's bragging about their successes all the time, although very few have actually had any. Kommentar af Mr6Pack d. 11. Nov Super indlæg. Har hjulpet utrolig meget og er allerede igang med at lave andre små projekter

12 Tak Kommentar af olebole d. 03. Apr Glæd dig, til dine voksenår! Selvom du tydeligvis er frustreret nu, kan jeg trøste dig med, det bliver meget lettere med alderen *o) /mvh </bole> Kommentar af olebole d. 26. Apr 2013 Lidt korrekturlæsning ville gøre underværker. Og så tror jeg, du mener 'Betingelse', når du skriver 'Udtryk' =) Hils i øvrigt Bjarne, når du ser ham næste gang. Det er en ære at læse en guide, skrevet af en af hans gamle kammerater *D Kommentar af mbm2007 d. 26. Apr Tak for :) Det er taget til efterretning. Kommentar af olebole d. 27. Apr Læsere ville måske have mere gavn af en rettelse *o) Kommentar af mbm2007 d. 24. Jul #9 - Når jeg benytter ordet "efterretning" i forbindelse med en bøjning af "at tage", kan det sagtens betyde, at jeg gør noget ved det: "modtage en besked og rette sig efter den" - sproget.dk

Programmering for begyndere Lektion 2. Opsamling mm

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

Læs mere

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.

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. 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 mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//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 mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

Kapitel 3 Betinget logik i C#

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

Læs mere

Kapitel 4 Løkker i C#

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

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

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

Læs mere

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 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

Læs mere

#AlleKanKode. Lektion 3 - Operatorer

#AlleKanKode. Lektion 3 - Operatorer #AlleKanKode Lektion 3 - Operatorer Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre vil

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

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

Læs mere

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

Læs mere

Start på Arduino og programmering

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

Læs mere

Greenfoot En kort introduktion til Programmering og Objekt-Orientering

Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot er et computer-program, som kan benyttes til at skrive andre computer-programmer, i et programmeringssprog kaldet Java.

Læs mere

Lær Python dag 1 - modul 1

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

Læs mere

Undtagelseshåndtering i C#

Undtagelseshå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 mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

#AlleKanKode. Lektion 2 - Konstanter og Variabler

#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

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Noter til C# Programmering Iteration

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

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

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; 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);

Læs mere

JavaScript. nedarvning.

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

Læs mere

Kontrol-strukturer i PHP

Kontrol-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 mere

2) 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.

2) 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 mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

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 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

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form

Læs mere

Mircobit Kursus Lektion 1

Mircobit Kursus Lektion 1 Mircobit Kursus Lektion 1 I denne lektie skal vi se nærmere på den lille mini computer kaldt microbit. Egentlig kræver det at man har en fysisk microbit men man kan også næsten lave det samme med den simulator

Læs mere

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Som 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 mere

Kursusarbejde 2 Grundlæggende Programmering

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...................................................

Læs mere

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE COMPUTER ANATOMI 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE 1 Indholdsfortegnelse Kapitel 1: Opbygning s.2 Kapitel 2: CPU s.3 Kapitel 3: Motherboard s.4 Kapitel 4: Ram s.6 Kapitel 5: Grafikkort s.7 Kapitel

Læs mere

Anvendelse af metoder - Programmering

Anvendelse 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 mere

Tagwall med Php & MySQL

Tagwall 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 mere

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale Programmering i C Lektion 1 16. september 2008 Målgruppe Indhold Form Materiale Kursusintroduktion 1 Målgruppe 2 Indhold 3 Form 4 Materiale 2 / 21 Målgruppe Indhold Form Materiale Folk der har styr på

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering 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 mere

Begrynder til at lave log ind system

Begrynder til at lave log ind system Denne guide er oprindeligt udgivet på Eksperten.dk Begrynder til at lave log ind system Hej Vil jeg gerne lave en lille programmering forklare til hvordan du laver din helt egen lille start på at log ind

Læs mere

Python programmering. Per Tøfting. MacFest

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

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Den forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.

Den 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 mere

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

I 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 mere

De rigtige reelle tal

De rigtige reelle tal De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Start på javascript. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 03. Feb 2009 af webstuff I kategorien Programmering / JavaScript

Start 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 mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

PHP Snippets. De små korte. Skrevet af Daniel Pedersen PHP Snippets De små korte Skrevet af Daniel Pedersen Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk

Læs mere

Andengradsligninger. Frank Nasser. 11. juli 2011

Andengradsligninger. Frank Nasser. 11. juli 2011 Andengradsligninger Frank Nasser 11. juli 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion 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 mere

Hvad er Objekter - Programmering

Hvad 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 mere

Doros nemme guide til: Sms-beskeder. En begynderguide til at skrive, sende og læse sms-beskeder

Doros nemme guide til: Sms-beskeder. En begynderguide til at skrive, sende og læse sms-beskeder Doros nemme guide til: Sms-beskeder En begynderguide til at skrive, sende og læse sms-beskeder Introduktion Velkommen til Doros nemme guide til at skrive sms-beskeder. Det er en let basisguide til dig,

Læs mere

Upload af billeder/filer for nybegyndere Del. 2

Upload 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 mere

Kom igang med Scroll:bit

Kom igang med Scroll:bit Kom igang med Scroll:bit 1. Forbind scroll:bit til din micro:bit Indsæt micro:bit i edge-connectoren på din scroll:bit. Displayet på micro:bit og scroll:bit skal vende samme vej. Se billede nedenfor. Det

Læs mere

Andengradsligninger. Frank Nasser. 12. april 2011

Andengradsligninger. Frank Nasser. 12. april 2011 Andengradsligninger Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette

Læs mere

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk

Læs mere

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0. Kursus 02199: Programmering afsnit 3.1-3.5 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

Læs mere

Delphi - CrackMe og Keygen

Delphi - 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 mere

Boolsk algebra For IT studerende

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

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen

Læs mere

Boolsk algebra For IT studerende

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

Læs mere

Delphi og Databaser for begyndere

Delphi 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 mere

Oprettelse og brug af E-mail i Jubii

Oprettelse og brug af E-mail i Jubii Side 1 af 11 Få din egen mailadresse Start Internettet. Skriv denne adresse i Adressefeltet: www.jubii.dk og tyk på Enterknappen. Du har nu forbindelse med søgemaskinen: Jubii Klik på punktet: E-mail Oprettelse

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

Med 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 mere

Opslagsbog om computer. Af Erik Veidorf og Mike T. Krogh.

Opslagsbog om computer. Af Erik Veidorf og Mike T. Krogh. Opslagsbog om computer Af Erik Veidorf og Mike T. Krogh. Indhold: Side 1-------------------------------------------------------------------------------------------------------------CD-Rom/disk drev/ Side

Læs mere

Bits, bit operationer, integers og floating point

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

Læs mere

Indholdsfortegnelse... 2. Projektplan... 3. Vores research... 4 HCI... 5. Formidlingsmetode og teori... 6. Valg af Målgruppe... 8. Layout flyer...

Indholdsfortegnelse... 2. Projektplan... 3. Vores research... 4 HCI... 5. Formidlingsmetode og teori... 6. Valg af Målgruppe... 8. Layout flyer... Indholdsfortegnelse Indholdsfortegnelse... 2 Projektplan... 3 Vores research... 4 HCI... 5 Formidlingsmetode og teori... 6 Valg af Målgruppe... 8 Layout flyer... 9 Vores flyer... 10 Kildefortegnelse...

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

Tal i det danske sprog, analyse og kritik

Tal i det danske sprog, analyse og kritik Tal i det danske sprog, analyse og kritik 0 Indledning Denne artikel handler om det danske sprog og dets talsystem. I første afsnit diskuterer jeg den metodologi jeg vil anvende. I andet afsnit vil jeg

Læs mere

DM536. Rapport og debug

DM536. Rapport og debug DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf

Læs mere

Simpel upload af filer

Simpel 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 mere

Ratingsystem i PHP og MySQL

Ratingsystem 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 mere

Programmeringskursus Kursusaften 3. Programmering for begyndere Brug af Arduino. Display. Kursusaften 3 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Programmeringskursus Kursusaften 3. Programmering for begyndere Brug af Arduino. Display. Kursusaften 3 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Display EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Sidste gang havde vi

Læs mere

Elementær Matematik. Mængder og udsagn

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

Læs mere

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)

Denne 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 mere

Overbelastning af processor i Windows XP og i Ubuntu

Overbelastning af processor i Windows XP og i Ubuntu Overbelastning af processor i Windows XP og i Ubuntu Af Thomas Daugaard kl. 3.4 HTX Roskilde Jeg er i programmering og IT i gang med at teste min computer under belastning af CPUen. Ved at programmere

Læs mere

i tredje brøkstreg efter lukket tiendedele primtal time

i tredje brøkstreg efter lukket tiendedele primtal time ægte 1 i tredje 3 i anden rumfang år 12 måle kalender lagt sammen resultat streg adskille led adskilt udtrk minus (-) overslag afrunde præcis skøn efter bagved foran placering kvart fjerdedel lagkage rationale

Læs mere

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Virtuel PC Fordele/ulemper Fordele: Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Ulemper: Reserverer RAM (Windows 7) Problemer med at ureglementeret lukke ned Mister

Læs mere

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

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

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

Afsending af s vha. ASP

Afsending 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 mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

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.............................................

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/3 2015. Planlægning af kommunikationsvalg og medieprodukt.

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/3 2015. Planlægning af kommunikationsvalg og medieprodukt. Computerens Anatomi Planlægning af kommunikationsvalg og medieprodukt. Vi startede med at snakke om modtager, afsender og budskab og blev enige om at det skulle være simpelt for at få modtagernes interesse.

Læs mere

KROPPENS UDVIKLING. Hej. Jeg en dreng på 12. Har allerede fået hår under armene. Det er mega tidligt og det irriterer mig mega.

KROPPENS UDVIKLING. Hej. Jeg en dreng på 12. Har allerede fået hår under armene. Det er mega tidligt og det irriterer mig mega. Hej. u er bestemt ikke en særling! er er altid nogen, der skal være den første til noget, og du er så den første i din klasse. Jeg synes ikke, du skal bruge din energi på at tænke på det. et ændrer jo

Læs mere

Computerens Anatomi. Rikke & Cecilie Kommunikation IT 1.2 11/2-2015

Computerens Anatomi. Rikke & Cecilie Kommunikation IT 1.2 11/2-2015 Rikke & Cecilie Kommunikation IT 1.2 11/2-2015 Computerens Anatomi I kom/it fik vi til opgave at opstille en case omkring computerens anatomi og ud fra dette udarbejde en kommunikationsplan. Vi har diskuteret

Læs mere

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.

Parameters. 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 mere

At klippe en streng over på det mest hensigtsmæssige sted

At 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 mere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007 JSP, Tomcat Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 10.october 2007 Hvad er JSP(Java Server Pages): Det er en teknik som er bygget ovenover Servlets teknikken, men fidusen er at det skal

Læs mere

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket. Vistemmernu Et webbaseret værktøj udviklet af Programdatateket i Skive E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.dk Kolofon HVAL-vejledning Vistemmernu på HVAL.DK Forfatter: Susanne

Læs mere

Omskrivningsregler. Frank Nasser. 10. december 2011

Omskrivningsregler. Frank Nasser. 10. december 2011 Omskrivningsregler Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

Læs mere

Database design for begyndere

Database 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 mere

Visual Basic for begyndere

Visual Basic for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Visual Basic for begyndere I denne artikel vil jeg gennemgå Visual Basic (IKKE.NET / Visual Basic 2005 Express Edition) på et begynder-niveau. fed kursiv

Læs mere