9789140677099

Page 1

Programmering 1 Magnus Lilja Ulrik Nilsson & Bo Silborn

40677099_omslag.indd 1

C++

12-08-01 10.17.52


1

Introduktion till C++

6

C++ är numera ett gammalt språk, men ändå fortsätter det att vara populärt. Det är ett språk som kan ge programmeraren stor kontroll över datorns maskinvara. Prestandan hos program skrivna i C++ har varit bra, och de flesta spel genom åren har skrivits i C++. Flera andra språk har utvecklats ur C++, framför allt Java och C#, och likheten är så stor att om man lärt sig ett av dem är steget litet till att lära sig de andra. Trots det fortsätter C++ att utvecklas som ett eget språk med nya möjligheter för programmeraren att skapa ännu bättre och stabilare program.

40677099_inlaga.indd 6

12-08-01 09.55.53


1. Introduktion till C++

I början av sjuttiotalet arbetade Dennis Ritchie och Ken Thompson vid Bell Laboratories med att ta fram operativsystemet UNIX. Ritchie utgick då från ett av Thompson utvecklat programmeringsspråk vid namn B och skapade 1972 språket C. Språket hade många fördelar jämfört med redan befintliga språk. Det blev naturligt att arbeta med modulära program, d.v.s. att dela upp större program i ett antal mindre och begripliga moduler. Det blev lätt att överblicka stora program och att dela upp utvecklingsarbetet mellan deltagarna i projektet. Dessutom var det möjligt att optimera koden så att C-program utnyttjade den kapacitet som fanns hos snabba datorer. Programutvecklingen gav med tiden allt större och mer komplexa program. I början av åttiotalet började dansken Bjarne Stroustrup vid Bell Laboratories att arbeta med en utveckling av C. Han ansåg att det borde gå att effektivisera C genom att göra vissa tillägg, bl.a. av klasser. Dessa tillägg ledde så småningom fram till så stora förändringar, att språket gavs ett nytt namn, C++. Det blev tillgängligt för allmänheten 1985. Det som framför allt utmärker C++ och skiljer det från C är att det är ett objektorienterat språk. Objekt är sammansatta datatyper som kan lagra en mängd olika egenskaper och använda olika funktioner för att bearbeta dessa. Genom att införa objekt blev det lättare att överföra verkliga problem till dataprogram. C++ har under många år varit ett av våra populäraste programmeringsspråk och har använts för att skriva en mängd program världen över.

1.1  Programutveckling En dator kan endast förstå ettor och nollor och alla dataprogram består av en följd av dessa två tecken. Som programmerare i C++ arbetar man inte direkt med ettor och nollor utan man skriver sin kod enligt de regler som gäller för språket C++ och sedan låter man ett program översätta denna till ettor och nollor. Figuren nedan beskriver noggrannare de olika steg som måste utföras för att ett program skrivet i C++ ska kunna köras på en dator. exempel.cpp

ex1.obj Kompilering

ex1.exe Länkning

7

>> Med ett vanligt textredigeringsprogram eller speciella programutvecklingsprogram skrivs programkoden (källkoden) in och lagras i en fil. Innehållet i denna fil är programmet skrivet i C++. Filen får oftast suffixet cpp och exempel på ett filnamn kan vara exempel.cpp. >> Översättningen kallas kompilering och den görs av ett program som kallas för kompilator. Den kompilerade programkoden benämns maskinkod eller objektkod och även den lagras i en fil. Denna fil får oftast suffixet obj och innehållet är ettor och nollor. >> För att få en bättre struktur på lite större program delar man oftast upp källkoden i flera olika filer. Dessa filer kompileras sedan var för sig och det bildas en objektfil för varje källkodsfil. Länkaren sätter samman innehållet i objektfilerna och resultatet blir det körbara programmet. Denna fil kallas för exekveringsfil eller programkörningsfil och får suffixet exe.

40677099_inlaga.indd 7

12-08-01 09.55.54


1. Introduktion till C++

För att skriva egna program måste man alltså ha tillgång till en textredigerare, en kompilator och en länkare. Dagens programutvecklingsverktyg innehåller alla dessa funktioner och dessutom ofta flera andra som underlättar programutvecklingen, till exempel felsökning. Innan du kan börja skriva dina egna program måste du lära dig att använda ett programutvecklingssystem. De flesta är utformade på liknande sätt och oberoende av vilket utvecklingssystem du använder måste källkoden som skrivs i C++ kompileras och länkas för att skapa ett körbart program. I den första halvan av den här boken går det bra med vilket verktyg som helst, men i den andra krävs Visual Studio C++ Express. Det finns två sorters program, konsolprogram och fönsterprogram. Alla vanliga program som man oftast använder är fönsterprogram. Programmet körs i en ruta på skärmen med knappar man kan klicka på, textrutor man kan skriva i och så vidare. Fönstret kallas för ett grafiskt användargränssnitt, på engelska Graphical User Interface (GUI). Det krävs tyvärr en hel del kunskap och många rader kod för att skapa ett fönster. Programmeringsverktyg som Visual Studio Express underlättar arbetet väsentligt, och i andra halvan av boken får du lära dig hur det går till. Men till att börja med kommer vi att gå igenom grunderna i C++ med hjälp av konsolprogram. Konsolprogram är helt textbaserade. Numera körs de visserligen också i ett eget fönster, men fönstret kan bara visa text.

1.2  Visual C++ Visual C++ 2010 Express är ett program för att skapa andra program. Sådana program kallas IDE, vilket står för Integrated Development Environment, på svenska integrerad utvecklingsmiljö. Visual C++ 2010 Express är gratis och lätta att hitta och ladda ner på internet. Ladda ner och installera Visual C++, så att du kan följa med på din egen dator när vi går igenom programmets delar. När du först startar Visual C++ ser det ut så här.

8

40677099_inlaga.indd 8

12-08-01 09.55.54


Den avlånga panelen till vänster heter Solution Explorer och kommer att visa alla mappar och programfiler som du skapar. Varje program är ett eget projekt och sparas i en egen mapp i solutionmappen. Projektmappen innehåller alla programfiler och mappar som tillhör programmet. I panelens titelrad, där det står Solution Explorer, finns en liten ikon som heter Auto Hide och ser ut som ett häftstift. Genom att klicka på den kan man få panelen att kollapsa till en flik längs vänsterkanten. Det är bra om man har ont om skärmutrymme och inte behöver se filerna hela tiden. För att visa panelen igen klickar man på fliken.

1. Introduktion till C++

Som de flesta program har det en menyrad och ett verktygsfält överst. Den stora ytan i mitten kallas Start Page och visar lite information och snabblänkar till dina senaste projekt.

Skapa ett projekt Klicka på menyn File och välj New > Project. Ett fönster dyker upp som på bilden nedan. Markera Win32 Console Application enligt pilarna i bilden och ange ett namn i textrutan Name. Det här exemplet är det första exemplet i kapitel 1 så vi kallar det exempel01-01. Det är bäst att samla alla exempel och övningar från boken i samma solution, så ange ett namn på Solution Name också, och se till att kryssrutan Create directory för solution är ikryssad.

Markera

9 Namnge

40677099_inlaga.indd 9

12-08-01 09.55.55


1. Introduktion till C++

Klicka på OK. Ett nytt fönster dyker upp. Klicka på knappen Next. Markera kryssrutan Empty project och klicka på Finish.

Kryssa i

Projektet skapas och syns i panelen Solution Explorer. För tillfället består det av några tomma mappar med olika namn. Det är praktiskt att dela upp koden i större projekt olika mappar, men nu i början kommer våra program att bestå av en ensam fil. Högerklicka på mappen Source Files och välj Add > New Item. Ett fönster dyker upp där man väljer vilken sorts fil man vill skapa. Markera alternativet C++ File (.cpp) och ge den namnet main.cpp. Klicka på Add.

10

Markera

Skriv ”main”

40677099_inlaga.indd 10

12-08-01 09.55.55


1. Introduktion till C++

Filen main.cpp dyker upp i panelen till vänster, och öppnas i vyn till höger under fliken main.cpp. Det är här vi skriver koden för vårt program, och det är det vi ska göra i nästa avsnitt.

11

40677099_inlaga.indd 11

12-08-01 09.55.55


1. Introduktion till C++

1.3  Ett första exempel Vårt första exempel är väldigt kort och enkelt och gör inget mer än att visa texten “Mitt första program” på skärmen. Så här i början finns det ändå mycket att förklara, och du får veta betydelsen av ord som sats, syntax och programblock. Denna terminologi används sedan i resten av boken.

¡

Så fort ett viktigt begrepp förklaras för första gången står det i kursiv stil. Så håll utkik efter sådana ord och lägg på minnet vad de betyder. Texten nedan är källkoden till vårt program. Radnummerna till vänster är inte en del av koden utan är bara till för att underlätta beskrivningen av koden.

Exempel 1.1 1 2 3 4 5 6 7 8 9

// Ett första exempel #include <iostream> using namespace std; int main() { cout << "Mitt första program "; return 0; }

// Här börjar programmet köra. // Här skrivs en text till skärmen. // Här avslutas programmet.

När det här programmet körs ser det ut så här i konsolfönstret. Det kan hända att å, ä och ö ser konstiga ut, men vi bryr oss inte om det för tillfället. Mitt första program

Rad 1 För att göra koden i ett program tydligare brukar man kommentera den. En kommentar inleds med två snedstreck. Allt som står på samma rad och bakom // hoppas över av kompilatorn. Här kan då förklaringar och andra upplysningar skrivas. Kommentarer färgmarkeras med grön färg i Visual Studio. De kompileras inte till maskinkod. Ett annat sätt att kommentera kod är att omsluta kommentaren med teckenkombinationen /* och */. Det kan vara användbart om kommentaren sträcker sig över flera rader.

Rad 2 Att visa en text på skärmen kräver egentligen en hel mängd operationer. Datorn måste veta exakt vilka pixlar som ska tändas var. För att man ska slippa en massa detaljarbete finns det färdigskriven programkod för att visa text på skärmen. Färdig kod finns i en samling filer som kallas för bibliotek. Filerna har olika namn, och innehåller funktioner som också har sina egna namn.

12

Funktionen för att skriva ut text heter cout och finns i den del av biblioteket som heter iostream. För att kunna skriva ut text måste man inkludera iostream i sitt eget program. #include instruerar datorn att klistra in nödvändig kod när programmet kompileras. #include är ett reserverat ord i C++, och alla sådana ord färgmarkeras med blå färg i Visual Studio.

40677099_inlaga.indd 12

Rad 3 C++ bibliotek är ganska stort och innehåller massor av funktioner med olika namn. Det är dock viktigt att varje namn är unikt, för om två funktioner heter likadant kan

12-08-01 09.55.55


I vårt program finns det dock ingen risk att std::cout ska blandas ihop med något annat cout. För att slippa skriva std:: talar vi istället om för datorn en gång för alla att alltid använda namnrymden std genom att skriva using namespace std på rad 3. Då kan vi skriva cout istället för std::cout på rad 7.

Rad 4 Den här raden är tom. En tom rad är inte en del av koden. Man kan ha hur många tomma rader man vill mellan kodraderna, eller inga alls. Koden blir emellertid mer lättläst om det finns lite luft här och var mellan kodraderna. Tänk dig att det inte fanns en enda tom rad i den här boken. Den skulle fortfarande gå att läsa, men den skulle vara kompakt och svårtillgänglig.

Rad 5 Här börjar själva programmet. Alla program startar på den rad där det står main. Det är programmets ingångspunkt. int är en förkortning för integer (heltal på engelska) och förklaras i senare kapitel. Den tomma parentesen är viktig, den talar om att main är namnet på en typ av kodblock som kallas för funktion.

1. Introduktion till C++

datorn inte skilja på dem. För att underlätta namngivning delas biblioteket in i olika namnrymder (namespaces). Det får inte finnas två likadana namn i samma namnrymd. Ett fullständigt namn består av namnrymden, två kolontecken och funktionens namn. cout finns i namnrymden std (som är en förkortning av standard), och dess fulla namn är std::cout.

När man startar ett program på sin dator talar man om för operativsystemet att leta upp programmets main-funktion och starta den. Rad 6 och 9 Ett kodblock är ett antal satser som står emellan två klammerparenteser, så här: { satser }

En vanlig bok är indelad i kapitel, avsnitt och stycken. Det ger boken struktur och gör den lättare att läsa och leta i. Av samma anledning delas kod in i block. Kodblocket på raderna 6 till 9 hör till funktionen main(), som är programblockets huvud. Huvudet är som en rubrik, blocket är som texten under rubriken. Satserna i blocket är som meningarna i texten.

Rad 7 Här skickas texten ”Mitt första program” till cout, som i sin tur tänder rätt pixlar på skärmen.

Rad 8 Här avslutas main-funktionen. return 0 betyder skicka tillbaka värdet 0 till koden som startade funktionen. Eftersom det är operativsystemet som startar main är det operativsystemet som tar emot nollan. Värdet noll talar om för operativsystemet att programmet avslutades korrekt och utan att något gick fel.

13

Raderna 7 och 8 är egentligen de enda rader som får något att hända. De kallas för satser och ska avslutas med semikolon, precis som en mening i svenskan ska avslutas med punkt.

Övning 1.1 Skriv in programkoden ovan i main.cpp i projektet Exempel01-01 som du skapade i förra avsnittet. Kompilera sedan med Debug > Build Solution (F7) och kör programmet. Det bildas då ett antal filer med olika suffix. Var ligger källkodsfilen (main. cpp) och den exekverbara filen (exempel01-01.exe) på din hårddisk? Du råkar förmodligen ut för problemet att konsolfönstret försvinner innan du hinner se vad som händer i det. Kör det i så fall med tangentbordskombinationen CTRL + F5 från Visual C++.

40677099_inlaga.indd 13

12-08-01 09.55.55


1. Introduktion till C++

Olika typer av fel Det är endast i undantagsfall som ett lite större program fungerar första gången det körs. Du kommer att upptäcka att du får ägna en hel del tid åt att leta efter fel i dina program. När man rättar till felaktigheter i ett program säger man att man felsöker det (debug på engelska). Det kan förekomma tre olika typer av fel i ett program: >> kompileringsfel >> exekveringsfel >> logiska fel Kompileringsfel är fel som beror på att man inte har följt de språkregler som gäller i C++. Exempel på sådana fel är stavfel (t.ex. cut istället för cout) och glömda semikolon eller parenteser. De kallas kompileringsfel då de upptäcks vid kompileringen och denna typ av fel är relativt enkla att korrigera då kompilatorn skriver ut felmeddelanden. Tyvärr är felmeddelandena inte alltid helt enkla att tolka och ett annat problem är att ett fel på en rad kan få kompilatorn att upptäcka ”felaktigheter” i efterliggande satser trots att de är korrekta. Börja därför med att rätta ett eller ett par fel du enkelt kan hitta och kompilera sedan om programmet. En korrigerad felaktighet kan nämligen minska antalet felmeddelanden ordentligt. Som programmerare kommer du att få många kompileringsfel och det är bra att bli bekant med felmeddelandena tidigt. Lägg därför in några fel i exempel 1.1 och se om du kan tolka felmeddelandena. Pröva t.ex. först med att utelämna semikolonet på rad 7 och därefter med att utelämna vänsterparentesen på rad 5 (skriv int main)). Felmeddelandet nedan talar om att ett semikolon saknas. error C2143: syntax error : missing ';' before 'return'

Exekveringsfel är fel som gör att programmet kraschar och ett vanligt fel är division med noll. Jämför med en beräkning med miniräknare, du kan slå in 5/0, men beräkningen avbryts och du får ett felmeddelande. Dessa fel upptäcks alltså vid programkörningen och en metod att hitta dem är att lägga in utskriftssatser i koden. Om du skriver ut A i mitten av koden och att programmet avbryts innan utskriften sker vet du att felet ligger i den första halvan. Du kan då fortsätta på motsvarande sätt och skriva ut B i mitten av den första halvan av koden o.s.v.

14

Logiska fel gör att programmet kan köras men inte ger det förväntade resultatet. Om du vill beräkna summan av två tal men av misstag skriver tal1 – tal2 så har du ett logiskt fel.

Programmeringsstil Det är viktigt att de program du skriver är tydliga och lättlästa. Med en bra struktur kommer bl. a. felsökningen av programmet att underlättas avsevärt. Studera därför bokens exempel noggrant och lägg speciellt märke till hur vi använder oss av blanktecken, tomma rader och indenteringar (indrag av text). Kompilatorn bryr sig inte om dessa tecken och de kan därför användas för att göra programmen mer lättlästa. I exempel 1.1 syns det tydligt var main-funktionen börjar och slutar, då det är en tom rad innan main och genom att cout- och return-satserna har indenterats.

40677099_inlaga.indd 14

12-08-01 09.55.56


En text är uppbyggd av meningar som delas in i avsnitt med olika rubriker, som i den vänstra spalten nedan. På samma sätt är programkod uppbyggd av satser och programblock, som i den högra spalten. Koden här är inte riktig kod, utan en sorts halvkod som bara visar strukturen. Precis som man avslutar en mening med punkt måste man avsluta en sats med semikolon (;). Vanlig text

Programkod

Rubrik 1

Programblock 1 { Sats 1; Sats 2; Sats 3; }

Mening 1. Mening 2. Mening 3. Rubrik 2 Mening 4. Mening 5.

1. Introduktion till C++

1.4  Programstruktur

Programblock 2 { Sats 4; Sats 5; }

Lägg märke till att programblocket består av en rubrik som kallas för programblockets huvud, följt av en klammerparentes { } som innehåller programblockets satser. Mellan satserna kan man ha hur många mellanslag, tabbar eller tomma rader man vill. Mellanslag, tabbar och tomma rader gör det lättare att läsa koden, men de kompileras inte till maskinkod. Kompilatorn bestämmer vad som tillhör programblocket bara med hjälp av klammerparenteserna.

Eftersom kod är svårare att läsa än vanlig text brukar man göra blockstrukturen lättare att se genom att bara skriva en sats per rad, och dessutom indentera satserna med en tab eller några mellanslag. Då kan det se ut så här: Variant 1 har klammerparentesen på samma rad som blockhuvudet. Variant 2 har klammerparentesen på egen rad. Vilket man föredrar är en smaksak.

Fördelen med indentering blir särskilt tydlig när man har programblock inuti varandra:

Programblock 1 { Sats 1; Sats 2; Sats 3; }

Variant 1

Programblock 2 { Sats 4; Sats 5; }

Variant 2

15

Programblock 3 { Sats 1; Sats 2; Programblock 3A { Sats 3; Sats 4; } }

40677099_inlaga.indd 15

12-08-01 09.55.56


1. Introduktion till C++

Alla satser i ett programblock utförs i den ordning de står, men programblocken behöver inte köras i ordning. Ett programblock kanske körs när användaren trycker på tangenten A. Ett annat programblock körs när användaren trycker på tangenten B. Då är det användaren som bestämmer vilken ordning blocken körs i. Därför är det väldigt viktigt att använda indentering så att man lätt ser vilka satser som utförs tillsammans. Programmet i exempel 1.1 skulle ha kunnat skrivas på följande sätt, men det är inte att rekommendera, då programmets uppbyggnad inte framträder lika tydligt. #include <iostream>using namespace std; int main(){cout << "Mitt första program";return 0;}

Ett program med utskrift på flera rader Det första programmet gav en utskrift på en rad. Vi ska nu skriva ett program som ger utskrift på flera rader.

Exempel 1.2 1 2 3 4 5 6 7 8 9 10 11 12 13

// utskrift på flera rader #include <iostream> using namespace std; int main() { cout << "Kod på två rader "; cout << "men utskrift på en rad" << endl; cout << endl; cout << "En rad kod," << endl << "utskrift på två"; cout << endl; return 0; }

16 Kod på två rader men utskrift på en rad En rad kod, utskrift på två

För att åstadkomma en ny rad vid utskrift måste man använda endl (endline). Utskrifterna från två satser på rad 7 och 8 skrivs därför på samma rad. Rad 8 avslutas med endl, vilket får till följd att nästa utskrift börjar på en ny rad. Genom att skriva cout << endl på rad 9 åstadkommer vi ytterligare en radbrytning. Det får till följd att det blir en blankrad innan nästa utskrift kommer. I satsen på rad 10 placerar vi endl mellan två utskrifter. Det kräver då att utskriftsoperatorn << upprepas efter endl. På det sättet åstadkommer vi en radbrytning innan de sista tre orden. Detta skrivsätt rekommenderas dock inte i fortsättningen eftersom det blir tydligare om satsen på rad 10 delas upp i två satser.

40677099_inlaga.indd 16

12-08-01 09.55.56


Skriv ett program som ger utskriften: Programmeringspråk C++ Java Visual Basic

1. Introduktion till C++

Övning 1.2

¡

När du lägger till fler projekt (program) i Visual C++ är det bara ett av dem som kan vara aktivt åt gången. Filer från flera projekt kan vara öppna samtidigt, men det är bara det aktiva projektet som går att köra. Det aktiva projektet anges med fetstil i panelen Solution Explorer. När du är klar med övning 1.2 måste du högerklicka på det och välja Set as StartUp Project innan du kör det. Annars startar något annat program.

17

40677099_inlaga.indd 17

12-08-01 09.55.56


1. Introduktion till C++

Ett program med reserverade tecken I C++ är citationstecknet reserverat för att ange var en textsträng börjar och slutar, som exempel 1.1 och 1.2 visade. Om du vill att ett citationstecken ska skrivas ut på skärmen måste det föregås av ett bakåtvänt snedstreck, \. Det bakåtvända snedstrecket inleder något som kallas en flyktsekvens. cout << "Ett citationstecken: \".";

Koden ger utskriften Ett citationstecken: ".

På motsvarande sätt måste ett bakåtvänt snedstreck föregås av ett annat bakåtvänt snedstreck för att kunna skrivas ut på skärmen.

Exempel 1.3 1 2 3 4 5 6 7 8 9 10 11

// Reserverade tecken #include <iostream> using namespace std; int main() { cout << "Ett \\-tecken i en sträng föregås av ett " << "\\ i koden." << endl; cout << "Textsträngar omges av \"-tecknet." << endl; return 0; }

Ett \-tecken i en sträng föregås av ett \ i koden.

18

Textsträngar omges av "-tecknet.

Som körexemplet visar ger teckensekvenserna \\ på rad 7 och \” på rad 9 utskrifterna \ och ”. Eftersom hela texten på rad 7 inte fick plats i samma programrad delade vi upp texten i två strängar. Då måste utskriftsoperatorn << upprepas.

Övning 1.3 Skriv ett program som ger utskriften inklusive citationstecknen "To be or not to be, that is the question"

40677099_inlaga.indd 18

12-08-01 09.55.56


Det är relativt enkelt att få konsolfönstret att visa svenska tecken. Funktionen set­locale på rad 7 nedan gör att texter med å, ä och ö visas rätt. Man kan skriva s­ et­ locale( LC_ALL, "swedish" ) för att ställa in svenska som språk, eller setlocale( LC_ ALL, "" ) för att sätta språket till samma som operativsystemets. För att spara utrymme tar vi inte med den här satsen i våra övriga exempel, men lägg gärna till den i din egen kod.

1. Introduktion till C++

Visa svenska tecken

Exempel 1.4 1 2 3 4 5 6 7 8 9 10 11

// Reserverade tecken #include <iostream> using namespace std; int main() { setlocale( LC_ALL, "" ); cout << "Visa å, ä och ö"; return 0; }

19

40677099_inlaga.indd 19

12-08-01 09.55.56


1. Introduktion till C++

Sammanfattning Syntax

Beskrivning

int main(){ satser; return 0;}

Programmets main-funktion. Den första satsen i main-funktionen är programmets ingångspunkt.

#include <iostream>

Lägger bland annat till objektet std::cout

using namespace std;

Använder namnrymden std, så man kan skriva cout istället för std::cout

cout << "Textsträng";

Visar Textsträng i konsolfönstret.

cout << endl;

Radbrytning, ungefär som när man trycker enter i Word för att komma till en ny rad.

\" och \\

\ ändrar betydelsen av ” i en text från slut på texten till visa ” \ ändrar betydelsen av \ från inled flyktsekvens till visa \

20

40677099_inlaga.indd 20

12-08-01 09.55.56


rf 1.1 Vilka fel finns i programmet nedan?

include <iostream> using namespace std; int Main() { cout << 'Det finns tre fel'; return 0; }

1. Introduktion till C++

Repetitionsfrågor

rf 1.2 Vilka tre olika typer av fel kan uppstå då man konstruerar ett program? rf 1.3 Hur ser utskriften från nedanstående kod ut?

cout << "kompilera, ";cout << "länka";cout << endl << "och exekvera";

Uppgifter

1.1 Skriv ett program som skriver ut ditt namn och din adress på tre rader på skärmen.

1.2 Förändra programmet från uppgift 1.1 så att en blankrad skiljer namn och adress.

1.3 Skriv ett program som ger utskriften CCCCC C

+

+

C

+++++

+++++

C

+

+

CCCCC

1.4 Skriv ett program som ger utskriften

21

" " " \ \

/ / O

O U

___

40677099_inlaga.indd 21

12-08-01 09.55.56


Programmering 1 C++ Den här boken handlar om programmering motsvarande gymnasiekursen Programmering 1 och innehållet följer skolverkets beskrivning av kursen. Den är avsedd för nybörjaren och kräver inga förkunskaper, annat än vanlig datorvana. Programvaran som behövs för att arbeta med boken är gratis och finns att ladda ner på internet. Boken är skriven så att den underlättar självstudier med många exempel och övningar med facit, och kan användas av den som vill lära sig programmering på egen hand. För lärare i kursen finns material på en lärarwebb med projektfiler till alla exempel, övningar och uppgifter, samt provförslag och några större projektuppgifter. Både bok och webbmaterial är avsedda att underlätta för lärare med många elever, och elever som går framåt i olika takt.

Författare till Programmering 1 C++ är Magnus Lilja, Ulrik Nilsson och Bo Silborn. Alla tre har mång­årig erfarenhet av att undervisa i programmering.

40677099_omslag.indd 4

12-08-01 10.17.52


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.