Innehåll. Förord 1. Kapitel Så kommer du igång Övningsuppgifter Lösningsförslag Eftersnack...
|
|
- Maj Åkesson
- för 8 år sedan
- Visningar:
Transkript
1 Innehåll Förord 1 Kapitel Så kommer du igång Övningsuppgifter Lösningsförslag Eftersnack
2 Innehåll ii
3 Förord Konsten att programmera är en färdighet, precis som konsten att läsa, skriva och räkna. För att förvärva en färdighet krävs övning övning ger färdighet Denna bok ger dig, genom sina drygt 150 lösta och väl kommenterade program, just möjligheten till övning. Innehållet, uppdelat på 14 kapitel eller föreläsningar, utgör en grundkurs i programmering. Tyngdpunkten ligger på problemlösning och programmering snarare än vid ett visst programspråk. Boken gör därför inte anspråk på att vara en fullständig genomgång av programspråket C. Du kommer snart att inse att du behöver lära dig använda datorsystemets hjälpfiler eller manualer som du enkelt finner på internet. För att översätta en lösning (en algoritm) du funnit till en som datorn kan exekvera, krävs ett programspråk. C är ett lämpligt första språk för den som tänker sig vidare till C++, Java eller C#. Så här använder du boken: Starta med att läsa igenom kapitlets teori och sätt dig in i tillhörande exempel. Gå sedan över till att lösa kapitlets övningsuppgifter. Det är bara om du tycker att ett problem är enkelt, som du har rätt att hoppa
4 Förord över det. Säkerheten (och glädjen) infinner sig när du löst cirka 100 av bokens uppgifter. Läs igenom texten, tills du säkert förstår vad uppgiften går ut på. Det finns en viss egennytta i att snabbt kunna sätta sig in i ett problem. Se varje uppgift som ett litet uppdrag och texten som en kravspecifikation. Skissa, gärna med penna och papper, hur du tänker dig lösningen. Gör klart för dig vad som är indata och vad som är utdata och hur beräkningarna ska utföras. Översätt din skiss till ett program i C, genom att skriva in det på datorn. Kompilera och testkör. Övertyga dig om att programmet verkligen är korrekt genom att testa det med olika indata. Om du stöter på svårigheter går du till lösningen och läser vad som står under rubriken diskussion. Ändra eventuellt din plan och gör nya försök. Om dessa tips inte ledde dig fram till ett fungerande program går du åter till lösningen och studerar nu koden till lösningsförslaget och läser kommentarerna. I den här situationen kommer du säkert att hamna då och då. Tänk då på att den vanligaste inlärningsmetoden är att just studera vad andra har gjort. Observera att det inte finns någon entydig lösning på en programmeringsuppgift. Det finns kanske lika många lösningar, som det finns programmerare. Detta betyder att ditt förslag till lösning kan skilja sig mycket från bokens, men likväl vara helt korrekt eller nära att fungera. Ge därför inte upp, om du intuitivt känner på dig att du är nära ett fungerande program. Förhoppningsvis kommer materialet i denna bok att ge dig grunderna i konsten att programmera. Även för den som inte tänker sig ett arbete inom IT och programmering, kommer konsten att lösa problem och att strukturera sina lösningar att vara en viktig förmåga i det framtida yrkeslivet. Till boken hör en hemsida där du återfinner alla bokens program och datafiler på elektronisk form. Dessutom finns här en del viktig information av teknisk karaktär. Håkan Strömberg Tyresö 2
5 Kapitel Så kommer du igång Innan du kastar dig in i programmeringens underbara värld och innan Du kan få ditt första C-program att fungera behöver du skaffa dig och hjälpligt lära dig hantera en utvecklingsmiljö för C-program. Bäst för en nybörjare är troligtvis en integrerad miljö. Helt enkelt ett enda program från vilket hela programmeringsarbetet utförs. Det finns många alternativ att välja bland, både kommersiella produkter och freeware. Att lösa ett problem i denna bok, innebär för dig att följa detta schema: Sätta dig in i problemet. Det är förstås nödvändigt att förstå vad uppdraget går ut på. Kanske blir du tvungen att läsa texten flera gånger. Finna en plan för hur programmet ska konstrueras. Det är alldeles nödvändigt att du, på ditt modersmål, för dig själv kan beskriva hur programmet ska fungera. Kan du inte det är chansen obefintlig att du kan uttrycka det i det konstgjorda språket C. Skriva in programmet. I editorn skapar du nu källkoden sats för sats, rad för rad. I början kommer du att behöva koncentrera dig på att få syntaxen korrekt. C innehåller en mängd speciella tecken
6 Kapitel 1 som alla måste finnas med. Så småningom, när du blir mer van, kommer dessa tecken mer eller mindre automatiskt att hamna på rätt plats. Kompilera. Den C-kompilator du använder översätter nu den kod du skrivit in, till instruktioner som datorn kan utföra (exekvera). Visar det sig att din kod inte är korrekt utifrån den syntax som gäller för C, kommer du nu att få meddelande om detta. Dessa fel måste rättas för att komma vidare genom en ny kompilering. Länka. I de flesta integrerade system sker länkning omärkligt, bakom kulisserna. Om den kan genomföras utan fel skapas en exekverbar fil slutprodukten. Att länka innebär just att bygga den exekverbara filen med hjälp av ditt program och byggstenar från standardbibliotek. Testköra. Att ett program klarat sig igenom den syntaktiska kontrollen är ingen garanti för att det kommer att fungera som det är tänkt. Det finns ofta många möjliger till logiska fel. Om man finner ett fel här tvingas man korrigera koden, vilket leder till en ny kompilering och en ny exekverbar fil, som också måste testas... Utvecklingsarbetets gång visas i form av ett flödesschema i figur 1.1. För att konkretisera det hela har vi valt att exemplifiera detta med hjälp av Code::Blocks, freeware, som kan laddas ned gratis. Det är knappast troligt, om du valt att arbeta i en annan miljö, att den exakt motsvarar beskrivningen nedan och du måste därför själv söka upp de kommandon och menyval som gäller i din miljö. För att skapa en fil i vilken du kan lagra källkoden till ditt program väljer du från menyn File - New - Emptyfile. I fönstret som öppnar sig kan du nu skriva in texten, källkoden, till ditt program. Börja med att spara filen med lämpligt namn och med filtillägget.c. Det är viktigt att du redan från början skapar ordning och reda bland dina program. Skapa en biblioteksstruktur där du snabbt hittar dina program. Ett program en mapp kan vara ett sätt. Men lämpligare är kanske här en mapp för varje kapitel. Under Settings - Editor kan Du ställa in färger, fonter med mera, som sedan kommer att sparas tills du ändrar dem. Experimentera gärna, tills du fått en layout du trivs med. 4
7 1.1 Så kommer du igång När programmet är inskrivet är det dags att kompilera. Observera att programmet automatiskt sparas på hårddisken innan kompileringen startar. Detta kommando utför du genom att klicka på symbolen med en grön pil och ett kugghjul. Datorn synar nu din inskrivna kod och om fel upptäcks kommer detta att rapporteras i ett speciellt fönster längst ned på skärmen, under fliken Build log. Anmärkningarna i detta fönster är av två slag: varningar och fel. Felen måste åtgärdas för att komma vidare, men varningarna kan man hoppa över, när man väl förstått vad de vill förmedla. Då du dubbelklickar på ett felmeddelande eller varning får du upplysning om var i källkoden felet återfinns. När du korrigerat dina fel är det dags att kompilera på nytt. Då kompilering sker utan fel skapas en EXE-fil (exekverbar fil) på hårddisken. Programmet kan nu köras genom att klicka på den gröna pilen. Efter att till exempel ha utvecklat programmet test finns följande filer på hårddisken. test.c. Den viktigaste filen, som innehåller din källkod den text du skrivit in. Filtillägget för dina program bör vara.c. Tillägget.cpp skulle kunna vara ett alternativ, men det betyder då att det handlar om ett C++ program. Det är ju C vi ska studera här och inte C++. test.exe Slutprodukten, själva programmet som kan köras även utanför utvecklingsmiljön. Denna fil kan du ta bort eftersom den enkelt kan återskapas så länge test.c finns kvar. Ett (mycket) enkelt program Detta enkla program får bli det första C-program du möter: Exempel 1. Ett (mycket) enkelt program 1 #include <stdio.h> 2 int main(void){ 3 printf("jag älskar programmering - C Puss Puss"); 4 } 5
8 Kapitel 1 Figur 1.1: Arbetsgången vid enkel programutveckling Så här kan det förklaras: 1 Den första raden, include, knyter ett så kallat funktionsbibliotek till programmet. Vi behöver det för att klara av utskriften (standard in- och utmatning). Vi kommer att lära oss mer om detta och andra bibliotek senare och accepterar nu denna rad, rakt upp och ned. 2 Raden int main(void) finns i alla C-program i den här boken och inleder huvudfunktionen. Raden avslutas med en vänsterklammer ({), som har sin avslutning på sista raden (}). När du jämför bokens program med andra program, i andra böcker, kanske du upptäcker att det finns alternativ till texten på denna rad: int main() eller bara main(). 3 Mellan dessa klamrar finns själva programmet. Programmet här består av en sats, ett anrop till funktionen printf. Om vi glömt den första raden i detta program, include-raden, hade systemet inte känt igen printf, som förstås är till för att skriva ut något på skärmen. Detta något är denna gång en text Jag älskar programmering - C puss puss. 6
9 1.1 Så kommer du igång Observera att alla tecken, som finns i detta program, är nödvändiga för en korrekt syntax, semikolon (;), citationstecken (") och parenteser. Dessa små till synes obetydliga tecken kommer Du att få slåss med under hela kursen! För övrigt kan sägas att detta program är fullständigt meningslöst. Ett program, som levererar samma resultat varje gång det körs, har förstås en kort livslängd. För att ett program ska vara intressant måste det på något sätt kunna läsa in data, som efter bearbetning leder till nya, tidigare okända, resultat. Ett program till Detta program är också väl enkelt, men ändå betydligt mer komplicerat än det förra. Programmet tar emot två heltal, summerar dem och skriver ut summan. Fantastiskt! Exempel 2. Ett program till 1 #include <stdio.h> 2 #include <conio.h> 3 int main(void){ 4 int a,b,c; 5 printf("skriv in ett tal: "); 6 scanf("%d",&a); 7 printf("ett till: "); 8 scanf("%d",&b); 9 c=a+b; 10 printf("summan blir = %d",c); 11 getch(); 12 } Programlistningarna i denna bok innehåller en kolumn med tal längst till vänster. Denna radnumrering ingår inte i koden utan används här för att i efterföljande text kunna referera till önskad rad. 7
10 Kapitel 1 Förklaring: 1-3 Programmet inleds precis som det tidigare med include och int main(void), och så ska alla program inledas i övningarna till detta kapitel, som du senare ska göra. Dessutom finns i rad 2 texten #include <conio.h>, som inkluderar biblioteket conio.h. Förklaring kommer längre ner. 4 int a,b,c; är en så kallad deklaration. Man talar här om att man ska använda tre variabler, som alla ska vara av heltalstyp, int,. Det betyder att de kan anta värden (... 2, 1,0,1,2...). Det här med variabler är viktigt. Program utan variabler är meningslösa. En metafor för begreppet variabel: En variabel kan liknas vid en låda. På lådan står ett namn, variabelns namn (här a, b eller c). I lådan förvaras variabelns värde. Lådan är av en viss typ, i detta fall heltalstyp. Lådan har en adress. Med hjälp av namnet kan man ta reda på var i minnet lådan finns, även om det oftast är ointressant. Frågan vilket värde har b? är liksom kommandot ge variabeln a värdet 7 meningsfulla. 5 printf skickar ut texten Skriv in ett tal: till skärmen. 6 Med scanf får man datorn att läsa in data från tangentbordet. %d betyder att datorn förväntar sig ett heltal (int) och det är ju just det vi tänkt oss mata in. Talet lagras nu i variabeln a. Varför det ska stå ett &-tecken framför återkommer vi till många gånger. Troligtvis kommer du i början ofta att glömma detta &-tecken, vilket leder till en bug. 7-8 De två följande satserna är i stort en upprepning av de två tidigare, men nu är det variabeln b, som får ett värde. 9 I nästa sats sker den stora beräkningen, c=a+b. Denna sats kallas tilldelningssats. För att den ska vara möjlig, måste alla variabler till höger om likhetstecknet tidigare fått ett värde (och de har de ju här). Resultatet då satsen utförs blir att variabeln c tilldelas det värde som erhålles då a s och b s värden adderas. På det sättet får alltså nu också c ett värde. Vilket värde c får bestäms förstås av de värden a och b fått vid inmatningen. Ingenting programmeraren vet något om. Det är operatören, den som kör programmet, som bestämmer detta. 8
11 1.1 Så kommer du igång 10 Programmets näst sista sats meddelar resultatet. Uttrycket Summan blir =%d ska tolkas som att texten, fram till %-tecknet, skrivs ut. %d meddelar att här ska ett heltalsvärde skrivas ut vilket anges sist i printf-satsen. Det är alltså värdet för c som ska skrivas ut. 11 Följande kommentar beror på vilken utvecklingsmiljö du valt. När du exekverar programmet inifrån en integrerad miljö öppnas ett svart fönster, konsol, där din dialog med programmet kommer att visas. Om du provade det första programmet ovan, så upptäckte du att den konsolen, bara blinkade till och att du inte hann läsa texten. När programmet har exekverat klart stängs konsolfönstret, vilket är logiskt. Detta kan botas genom att lägga till satsen getch() sist i programmet. Vilket betyder att programmet väntar tills en tangent tryckts ned innan exekveringen avslutas och konsolfönstret stängs. För att kunna använda getch() krävs att conio.h är inkluderad. Observera att detta kladd inte är nödvändigt om du kör ditt program från ett redan öppet konsolfönster. conio.h och getch() hör heller inte till ANSI C och kanske har du valt en utvecklingsmiljö där denna teknik inte är möjlig. Fortsättningsvis utelämnar vi detta i våra programlistningar. Att programmera I denna programmeringskurs står du inför två stora uppgifter. Delas att lära dig ett programmeringsspråk (C) och dels att lära dig programmera. Att lära sig C innebär att lära sig syntax (satslära) och semantik (betydelselära) för ett språk, som någon annan har skapat och som gjorts möjlig för datorer att förstå. Att lära sig programmera innebär att lösa problem. Att läsa, tolka och förstå en text, som innehåller ett uppdrag, som någon vill ha utfört. Är uppdraget enkelt eller programmeraren duktig kanske lösningen kan kodas direkt vid datorn, men troligare är att programmeraren måste upprätta en plan innan arbete vid datorn kommer i fråga. Verkliga uppdrag är oftast så stora, att flera personer ingår i arbetsgruppen. Kravet på en plan blir då ännu större. Att lära sig programmera är egentligen oavhängigt programspråk, men vill man genomföra alla stegen, från idé till färdig produkt, måste man ha ett språk att uttrycka sig i. I vårt fall C. En parallell: Ett språk är 9
12 Kapitel 1 nödvändigt för en författare, men det är inte tillräckligt för att bli en bra författare. Detta gäller också för en programmerare. Därför sätter vi i denna kurs stor vikt vid problemlösandet det som kan göra dig till en bra programmerare. Programspråket C kan delas in i ett antal olika delar. Varje del har ett betydande djup det finns mycket att lära inom varje del. Men i stället för att gå på djupet inom en del i taget, väljer vi här att portionera ut lite i taget från flera områden på en gång. Vi tar en skiva av C-osten Ett tredje exempel Även om problemet är enkelt och du genast kan skriva ned koden, ska vi här genomföra framtagandet av en plan för hur programmet ska fungera. Uppgift: Skriv ett program som tar emot data om resistansen hos två motstånd R 1 och R 2 och beräknar ersättningsresistansen R 3 för R 1 och R 2 parallellkopplade. Indata: Resistansen hos R 1 och R 2. Utdata: Ersättningsresistansen R 3 Lösning: Vi startar med att läsa in värden på R 1 och R 2. Ersättningsresistansen R 3 bestäms sedan med hjälp av formeln 1 R 3 = 1 R R 2 Om vi uttrycker R 3 explicit får vi formeln R 3 = R 1 R 2 R 1 +R 2 Programmet avslutas med utskrift av R 3. 10
13 1.1 Så kommer du igång Körningsexempel: Resistans hos R1 (ohm) : 100 Resistans hos R2 (ohm) : 50 R3 beräknas till ohm Exempel 3. Ett tredje exempel 1 #include <stdio.h> 2 int main(void){ 3 float r1,r2,r3; 4 printf("resistans hos R1 (ohm) : "); 5 scanf("%f",&r1); 6 printf("resistans hos R2 (ohm) : "); 7 scanf("%f",&r2); 8 r3=r1 r2/(r1+r2); 9 printf("r3 beräknas till %6.3f ohm\n",r3); 10 } Förklaringar till programmet 1-2 Inledningen har vi börjat vänja oss vid nu. Så kommer den att se ut ett tag framåt i kursen och kanske kan det vara arbetsbesparande att skriva en skelett -fil som innehåller just dessa inledande rader tillsammans med den avslutande. För att slippa skriva samma sak gång på gång... 3 De variabler vi tidigare använt har varit av heltalstyp (int). Här använder vi tre variabler som deklarerats float, flyttal. Detta innebär förstås att de är tillåtna att tilldelas reella värden utöver heltal, som till exempel 2.34 och Observera dock att man i denna värld använder decimalpunkt till skillnad från det i vardagsbruk i Sverige vanligare decimalkommat. 5,7 I stället för koden %d i tidigare scanf-satser, där vi läste in heltal, använder vi här %f, som anger att det är fråga om flyttal. 8 Programmets nyckelsats, där resultatet beräknas. Observera att man måste ha parenteser i nämnaren. Vi återkommer till aritmetiska uttryck längre fram, men du är säkert van vid detta skrivsätt från räknedosan. 9 När vi nu ska skriva ut resultatet, skriver vi först en text i vilken vi med %-tecken markerar platsen för det numeriska värdet. Hos 11
14 Kapitel 1 %6.3f står f för att det handlar om ett flyttal, 6 för att hela talet ska ta upp sex positioner på raden och 3 för att vi önskar tre decimaler. r3, nästan sist på raden, anger att det är denna variabels värde som ska skrivas ut på %-tecknets plats i texten. 1.2 Övningsuppgifter Övning och åter övning, är det säkraste sättet att nå framgång i detta ämne. Vi sätter därför igång direkt. Även om du inte kommer att lyckas lösa dessa problem, kan det vara idé att skriva in dem direkt från facit. Du behöver praktiska övningar på att skriva in kod, kompilera, ändra, spara och köra program. Var inte rädd för att experimentera: Vad händer om jag skriver så här istället? Uppgifterna här leder i allmänhet till program av den raka typen, det vill säga varje sats i programmet utförs precis en gång. Normalt inleds programmen med ett antal printf- och scanf-satser, där indata ges, följt av en eller flera tilldelningssatser. Programmet avslutas så med printfsatser som skriver ut resultatet. För att klara dessa uppgifter ska du... känna till hur ett enkelt C-program ser ut kunna starta den utvecklingsmiljö du valt. Till exempel DevCpp. kunna skriva in, kompilera, rätta och spara ett program kunna köra ett program veta hur man deklarerar variabler av typerna heltal och decimaltal med hjälp av scanf kunna läsa in heltal och decimaltal från tangentbordet kunna skapa en tilldelningssats där uttrycket till höger om liketstecknet använder de fyra räknesätten kunna skriva ut resultatet på bildskärmen med hjälp av printf kunna städa upp i biblioteket som använts, så att endast källkodsfilerna (med filtillägget C) återstår. Det är ju dessa filer som du själv skapat och som därför är viktigast. 12
15 1.2 Övningsuppgifter Uppgift 1-1. Ohms lag Skriv ett litet enkelt program som frågar efter ström (givet i ampere, A) och spänning (givet i volt, V) och som med hjälp av dessa värden och Ohm s lag bestämmer resistansen (i ohm). En körning av programmet ska ge följande dialog: Ström (A)...: 10 Spänning (V)...: 200 Ger resistansen 20 Ohm Här antar vi att ström och spänning ska kunna anges som decimaltal, det vill säga man ska kunna ange strömmen till 10.5 (observera att man använder decimalpunkt). För att kunna lagra ett sådant tal i en variabel måste variabeln vara av typen float. I scanf-satsen talar vi om att det är ett flyttal vi förväntar oss genom %f Du kommer väl ihåg Ohms lag? Tecknet för division (divisionsoperatorn) är /. När man ska skriva ut resultat av en division kanske man bara vill ha två decimaler. Det ordnar man genom att skriva %.2f i formatet (uttrycket mellan citationstecknen) i printf-satsen. Uppgift 1-2. Bensintanken Man känner till mätarställningen hos en bil (given i mil) före resan och man läser av mätaren efter. Eftersom bensintanken var full vid resans början kan man med hjälp av den volym bensin, som gick att fylla på efter resan, bestämma bensinförbrukningen i liter/mil. Skriv ett program som utför beräkningarna och i övrigt fungerar som körningsexemplet nedan. Mätarställning före resan (mil): Mätarställning efter resan (mil): Tanken rymmer efter resan (liter): 20 Bensinförbrukningen liter/mil 13
16 Kapitel 1 Figur 1.2: Uppgift 1-3. Balken Figur 1.2 ovan är symmetrisk (i y-led). Skriv ett program som tar emot uppgifter om de fyra längderna och härur beräknar figurens area. Ett körningsexempel: A: 20 B: 5 C: 18 D: 10 Figurens area är 260 Uppgift 1-4. Ett antal sekunder Skriv ett program, som räknar om ett givet antal sekunder i timmar, minuter och sekunder. Dialogen ska se ut som nedan Antal sekunder: sekunder = 2 tim 2 min och 36 s Alla variabler i programmet ska vara av heltalstyp. När man i C utför en division likt 125/60 blir resultatet exakt 2, vilket betyder att då två heltal divideras blir resultatet alltid ett heltal decimalerna kastas. Av detta följer att 99/100 blir lika med 0. Denna egenskap passar oss alldeles utmärkt här. 14
17 1.2 Övningsuppgifter Uppgift 1-5. Herons formel Med hjälp av Herons formel kan man bestämma arean (T) till en triangel då man känner längden hos de tre sidorna, a, b, c. Herons formel ser ut så här: T = s(s a)(s b)(s c)) där s = a+b+c 2 Ge programmet följande dialog: Sidan a: 12 Sidan b: 15 Sidan c: 17 Triangelns area är För att beräkna kvadratroten ur ett tal n använder man funktionen sqrt() och skriver sqrt(n). För att systemet ska finna denna funktion måste vi inkludera matematikbiblioteket med #include <math.h>. Vad händer när du kör ditt program för sidlängderna 9, 5 och 3? Varför blir resultatet som det blir och hur skulle programmet kunna garderas mot detta? Uppgift 1-6. Cylindern Skriv ett program som beräknar massan hos en cylinder då dess höjd (h), radie (r) och densitet, (ρ) är givet. Följande formler är till glädje. Först för att beräkna cylinderns volym V c och sedan för att beräkna densiteten ρ: V c = π r 2 h ρ = m v 15
18 Kapitel 1 Dialogen bör se ut som nedan: Cylinderns höjd (m)...: 0.5 Cylinderns radie (m)...: 0.3 Cylinderns densitet (kg/dm3).: 3 Cylinderns massa är kg Uppgift 1-7. Bromssträckan Med hjälp av formeln s = v 4 + v2 125 kan man bestämma, approximativt, bromssträckan s (i meter) hos en bil, som färdas med farten v (km/tim) på torrt underlag. a Skriv ett program som frågar efter hastigheten och bestämmer bromssträckan. b Skriv ett program som frågar efter bromssträckan och bestämmer hastigheten. c Utveckla programmet i a, så att det även tar hänsyn till förarens reaktionstid. Det tar alltid lite tid för föraren att reagera och flytta foten till bromspedalen. Dialogen för c bör se ut som nedan: Hastighet (km/tim)..: 100 Reaktionstid (s)...: 0.2 Stoppsträckan blir m 16
19 1.3 Lösningsförslag 1.3 Lösningsförslag Uppgift 1-1. Ohms lag 1 #include <stdio.h> 2 int main(void){ 3 float i,u,r; 4 printf("ström (A) "); 5 scanf("%f",&i); 6 printf("spänning (V) "); 7 scanf("%f",&u); 8 r=u/i; 9 printf("ger resistansen %6.2f Ohm\n",r); 10 } Kommentarer: H Programmet har stora likheter med 1.1 Ett tredje exempel. 8 Formeln som ska användas är förstås R = U I 9 Resultatet skrivs sedan ut med 2 decimaler. Uppgift 1-2. Bensintanken Diskussion: Tre uppgifter bildar indata, mätarställningen före resan, fore, mätarställningen efter resan, efter och hur mycket bensin tanken rymmer efter resan, bensin. Utdata, förbrukningen per mil, permil, beräknas med formeln permil = bensin efter fore 17
20 Kapitel 1 1 #include <stdio.h> 2 int main(void){ 3 float fore,efter,bensin,permil; 4 printf("mätarställning före resan (mil) :"); 5 scanf("%f",&fore); 6 printf("mätarställning efter resan (mil) :"); 7 scanf("%f",&efter); 8 printf("tanken rymmer efter resan (liter):"); 9 scanf("%f",&bensin); 10 permil=bensin/(efter fore); 11 printf("bensinförbrukning %.3f l/mil",permil); 12 } Uppgift 1-3. Balken Diskussion: Formeln för arean med de beteckningar som användes i figuren Area = ac 2bd 1 #include <stdio.h> 2 int main(void){ 3 int a,b,c,d,area; 4 printf("a:"); 5 scanf("%d",&a); 6 printf("b:"); 7 scanf("%d",&b); 8 printf("c:"); 9 scanf("%d",&c); 10 printf("d:"); 11 scanf("%d",&d); 12 area=a c 2 b d; 13 printf("figurens area är %d",area); 14 } 18
21 1.3 Lösningsförslag Uppgift 1-4. Ett antal sekunder 1 #include <stdio.h> 2 int main(void){ 3 int sekunder,t,m,s; 4 printf("antal sekunder: "); 5 scanf("%d",&sekunder); 6 t=sekunder/3600; 7 m=(sekunder 3600 t)/60; 8 s=sekunder 3600 t 60 m; 9 printf("%d sekunder = %d tim, %d min och %d s\n", 10 sekunder,t,m,s); 11 } Kommentarer: H Den här uppgiften ställer lite krav på problemlösaren. Det är inte alldeles givet hur man får fram antalet minuter och sekunder. 6 Genom tipset i texten förstår vi att t kommer att innehålla antalet hela timmar efter att sekunder dividerats med Nu vet vi hur många sekunder som gått åt för timmarna och kan räkna fram hur många som återstår. Detta antal dividerar vi sedan med 60 för att få fram antalet minuter m. 8 Återstår att ta reda på hur många sekunder, s, som blir över En lång sats kan i C brytas ned till två eller flera rader. Detta görs oftare i boken än du kommer att behöva göra i praktiken. 19
22 Kapitel 1 Uppgift 1-5. Herons formel 1 #include <stdio.h> 2 #include <math.h> 3 int main(void){ 4 float a,b,c,s,d; 5 printf("sidan a: "); scanf("%f",&a); 6 printf("sidan b: "); scanf("%f",&b); 7 printf("sidan c: "); scanf("%f",&c); 8 s=(a+b+c)/2; 9 d=s (s a) (s b) (s c); 10 if (d<=0) 11 printf("ingen triangel\n"); 12 else 13 printf("triangelns area är %f\n",sqrt(d)); 14 } Kommentarer: 5-7 Hittills har vi i våra program skrivit en sats per rad. Här har vi nu två satser per rad och det fungerar lika bra. Det kan kännas logiskt att ha dessa två satser tillsammans. Vi kommer att diskutera formatering av program längre fram. 8-9 Vi startar med att bestämma värdet av s. Detta värde använder vi sedan på inte mindre än fyra ställen i rad 9. Du glömde väl inte parenteserna i rad 8? För att klara av den lilla extrafrågan måste vi skjuta in en if-sats, just nu överkurs. Om diskriminanten, d < 0, kan ingen triangel bildas. Om en sida är 9, så kan de andra två, 3 och 5, inte nå fram till varandra. 20
23 1.3 Lösningsförslag Uppgift 1-6. Cylindern 1 #include <stdio.h> 2 int main(void){ 3 float h,r,d,v,m; 4 printf("cylinderns höjd (m) : "); 5 scanf("%f",&h); 6 printf("cylinderns radie (m) : "); 7 scanf("%f",&r); 8 printf("cylinderns densitet (kg/dm3).. : "); 9 scanf("%f",&d); 10 v= r r h; 11 m=d v 1000; 12 printf("cylinderns massa är %.2f kg\n",m); 13 } Kommentarer: 10 Först beräknar vi volymen v. Till det behöver vi π, där vi här nöjer oss med att skriva in konstanten med så många decimaler vi minns. r 2 skriver vi som r*r. Det finns ingen direkt operator för beräkna potenser i C. Det gör det däremot i Basic och Fortran, två andra, vanliga programspråk. 11 Återstår två smärre svårigheter. Först måste vi lösa ut m ur den givna formeln för densiteten och sedan multiplicera med 1000 för att få svaret i kg. 12 När vi inte anger antalet önskade decimaler i printf-satsen får vi leva med ett överdrivet stort antal. 21
24 Kapitel 1 Uppgift 1-7a. Bromssträckan 1 #include <stdio.h> 2 int main(void){ 3 float s,v; 4 printf("bilens hastighet (km/tim) "); 5 scanf("%f",&v); 6 s=v/4+v v/125; 7 printf("bromssträckan blir %.2f meter\n",s); 8 } Kommentarer: H Kommentarer överflödiga, om du inte råkar deklarera v som int förstås. Är du nyfiken på vad som händer, så ändrar du programmet och testkör. Kan du förklara det felaktiga resultatet? Uppgift 1-7b. Bromssträckan 1 #include <stdio.h> 2 #include <math.h> 3 int main(void){ 4 float s,v,k; 5 printf("bromssträckan (m) "); 6 scanf("%f",&s); 7 k=125.0/8.0; 8 v=sqrt(k k+125 s) k; 9 printf("bilens hastighet är %.2f km/tim\n",v); 10 } Kommentarer: H För att kunna beräkna v, så måste vi ha v explicit uttryckt och för att nå dit måste vi lösa andragradsekvationen med avseende på v s = v 4 + v
25 1.3 Lösningsförslag En andragradsekvation har som bekant två rötter v 1,2 = 5( 25± s ) Om dessa rötter kommer fram genom handräkning eller med hjälp av Mathematica bryr sig inte uppdragsgivaren om. Vi väljer förstås den positiva roten. Då roten är funnen är programmet lätt att skriva. Detta är därför ett exempel på en uppgift där det största arbetet ligger utanför själva programskrivandet. 8 Uppgift 1-7c. Bromssträckan 1 #include <stdio.h> 2 int main(void){ 3 float s,v,extra,t; 4 printf("bilens hastighet (km/tim) "); 5 scanf("%f",&v); 6 printf("reaktionstid (s) "); 7 scanf("%f",&t); 8 extra=1000.0/ v t; 9 s=v/4+v v/125; 10 printf("stoppsträckan = %.2f meter\n",s+extra); 11 } Kommentarer: 4-7 Detta program behöver två indata. Reaktionstiden ges i sekunder. 8 Här beräknas hur långt bilen hinner förflytta sig under reaktionstiden. 9 Bromssträckan beräknas som i 1 7a 10 Den totala stoppsträckan skrivs ut som summan av extra och s. 23
26 Kapitel Eftersnack En del kapitel avslutas med rubriken Eftersnack, där vi kommer att ställa en del kontrollfrågor, ta upp en del mer eller mindre viktig teori och besvara vanliga studentfrågor: Fråga 1. Hur gammalt är programspråket C? Svar 1. Cirka 35 år. Dennis Ritchie började utvecklingen omkring Bland annat med idéer från programspråket B, utvecklat av Ken Thompson kom Brian Kernighan och Dennis Ritchie ut med boken The C Programming Language, som man ofta refererar till som K&R. Denna bok kom att bilda en första sorts standard, idag kallad Traditionell C. Det riktiga standardiseringsarbetet kom igång i mitten på 80-talet och 1989 lades ANSI C (C89) fram. Denna standard har sedan uppdateras 1995 (C95) och 1999 (C99). I början av 90-talet började C få konkurrens av sin storebror C++. C är nästan, men inte helt en delmängd av C++. Vilken dialekt av C du använder spelar mindre roll i denna kurs. Fråga 2. Är C ett lämpligt nybörjarspråk? Svar 2. På den tiden då Basic och Pascal var vanliga nybörjarspråk nådde programmeringen ut till en bredare publik. Fler lärde sig lite om programmering i början av 80-talet än idag, trots att det då inte var lika gott om datorer. Eftersom C++ och Java är naturliga efterföljare till C, kan man säga att C är ett lämpligt språk att starta med. Fråga 3. Varför ingår det kurser i programmering även i utbildningar, där det inte är tänkt att man efter examen ska arbeta med datorer och programutveckling? Svar 3. Det är inget godtagbart svar på frågan, men denna typ av kurser har funnits i 40 år, insprängda i de flesta tekniska och naturvetenskapliga utbildningar. Den färdighet som en väl genomförd programmeringskurs erbjuder är inte fel att ha, vad man än kommer att syssla med i sitt yrkesliv. I dessa kurser får du möjlighet att strukturera och lösa problem där det finns många olika vägar fram till målet. Du utvecklar din kreativitet och fantasi, 24
27 1.4 Eftersnack men måste samtidigt lära dig bygga stabila och korrekta program som exakt följer de regler som datormiljön ställer upp. Fråga 4. Jag har sett i andra böcker olika inledningar av main. Till exempel void main(void) och enbart main(). Kan denna rad se ut lite hur som helst? Svar 4. I tidigare versioner av C har det varit tillåtet att utelämna int här, men sedan Standard C (1999) måste main förgås av int. Dina två förslag leder dock, för de flesta kompilatorer, endast till en varning, som man inte behöver bry sig om. Vi återkommer senare till vilken funktion int har här, i samband med funktioner. 25
28 Kapitel 1 26
29 Sakregister adress, 8 conio.h, 8, 9 deklaration, 8 filer, 5 funktionsbibliotek, 6 getch, 9 heltalstyp, 8 int, 8 kompilering, 5 källkod, 4 main, 6 printf, 8 raka program, 12 scanf, 8 tilldelningssats, 8 variabel, 8
Övningsuppgifter till föreläsning 2 Variabler och uttryck
Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merBoken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf
Föreläsning1 Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf scanf Ni behöver läsa boken både för att
Läs mer2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2
Föreläsning 2 2.1 Variabler Vi studerar exempel 1 från boken: int main(void) int a,b,c=7; float antal,pris=3.70,laengd; a=34; b=32767; antal=-123.978; pris=89.00; laengd=56; c=-38; laengd=laengd+1; Sex
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta
Läs merLaboration 1. "kompilera"-ikonen "exekvera"-ikonen
Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva
Läs merProgrammering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:
Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merOperatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera
Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar
Läs merLaboration 1 Introduktion till Visual Basic 6.0
Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.
Läs merAlla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php
Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är
Läs merUttryck och villkor. Föreläsning 2
Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);
Läs merFöreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
Läs merMathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x
Mathematica Första kapitlet kommer att handla om Mathematica det matematiska verktyg, som vi ska lära oss hantera under denna kurs. Indata När du arbetar med Mathematica ger du indata i form av kommandon
Läs merInledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio
Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så
Läs merLaboration 1. "kompilera"-ikonen "exekvera"-ikonen
Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i
Läs merAtt komma igång. Föreläsning 1
Att komma igång Föreläsning 1 Att komma igång Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf
Läs merOBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.
Värmdö Gymnasium Programmering A 110123 Lektion C1 Grunder Att programmera handlar mycket om att lära sig att analysera det problem eller den funktion man vill att programmet ska ha, och översätta det
Läs merLabb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
Läs merIntroduktion till programmering D0009E. Föreläsning 1: Programmets väg
Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra
Läs merAtt komma igång. Föreläsning 1
Att komma igång Föreläsning 1 Att komma igång Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merFöreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
Läs merEn kort text om programmering i C.
En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,
Läs merProgrammering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,
Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman
Läs merHI1024 Programmering, grundkurs TEN2 2014-03-13
HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merUttryck och villkor. Föreläsning 2
Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);
Läs merFöreläsning 3. Programmering, C och programmeringsmiljö
Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merCode-Lite tutorial ( /RoJ)
Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler
Läs merProgrammering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg
Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1 Idag Kursupplägg Satser
Läs merObjektorienterad programmering Föreläsning 2
Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade
Läs merIntroduktion till Matlab
Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar
Läs merFråga 11. Vad skrivs ut? Fråga 12. Vad skrivs ut? Fråga 13. Vad skrivs ut? x=x+y; y=x-y; x=x-y;
Håkan Strömberg KTH STH 1 Fråga 1. Vilka värden har c, e och f efter att de tre tilldelningssatserna har exekverats? int a=3, b=10; float c,d=2.0,e,f; c=b/a; e=b/a+d; f=d*b/a; Fråga 2. Skriv ett logiskt
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få
Läs merAlla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.
Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis
Läs merJohan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen
Tentamen för teknisk kemi, 10p, moment 1 29 november 1999 Skrivtid 9-15 Hjälpmedel: av följande böcker. - U. Bilting och J. Skansholm: Vägen till C - A. Kelley & I. Pohl: A Book on C Maxpoäng: Gräns för
Läs merNetBeans 5.5. Avsikt. Projektfönster
NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merDatorövning 1 Calc i OpenOffice 1
Datorövning 1 Calc i OpenOffice 1 1 OpenOffice Calc Till förmån för de som följer kursen Fysikexperiment för lärare skall vi här gå igenom några få exempel på hur OO Calc (motsvarar MS Excel) kan användas
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merStatistik över heltal
Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande
Läs merFunktioner och programstruktur. Föreläsning 5
Funktioner och programstruktur Föreläsning 5 Dagens kluring int v[10]=1,2,3,4,5,6,7,8,9,10; int i; for(i=0;i
Läs merProgrammering i C, 7,5 hp
Programmering i C, 7,5 hp Föreläsning 4 VÄLKOMNA! 31 switch-satsen Antag att vi har en heltalsvariabel a som skall styra programflödet Antag vidare att a kan anta tex 5 olika värden 1,2,3,4,5 printf( Mata
Läs merIntroduktion till programmering, hösten 2011
Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter
Läs merIntroduktion till Matlab
Introduktion till Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht10 1 Inledning Ni kommer använda Matlab i nästan alla kurser i utbildningen. I matematikkurserna kommer vi ha studio-övningar nästan
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merObjektorienterad programmering i Java I
Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram
Läs merNetBeans 7. Avsikt. Projektfönster
NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till
Läs merInledande programmering med C# (1DV402) Introduktion till programmering
Introduktion till programmering Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merIntroduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1
Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens
Läs merLär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
Läs merGamla tentemensuppgifter
Inte heller idag någon ny teori! Gamla tentemensuppgifter 1 Bestäm det andragradspolynom vars kurva skär x-axeln i x = 3 och x = 1 och y-axeln i y = 3 f(x) = (x 3)(x + 1) = x x 3 är en bra start, men vi
Läs merTentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
Läs mer*Pekarvärden *Pekarvariabler & *
*Pekarvärden *Pekarvariabler & * Motivering Pekare är ett fundamentalt koncept i C (och C++) Multipla returvärden från funktioner. Arrayer hanteras via pekare Dynamiskt minne (kommer i slutet av kursen)
Läs merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
Läs merInledande programmering med C# (1DV402) Introduktion till C#
Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i
Läs merDatorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta
Läs mera = a a a a a a ± ± ± ±500
4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att
Läs merLaboration 1. Objektorienterad programmering, Z1. Syfte
Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i
Läs mer1 Datorer och program
1 Datorer och program Idag är datorn ett av de viktigaste och vanligaste verktygen i vårt samhälle. På de flesta arbetsplatser finns det idag datorer. Vad använder man datorerna till? Vad gör en dator?
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merFöreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merFrekvenstabell över tärningskast med C#
Instruktion Frekvenstabell över tärningskast med C# Introduktionsuppgift Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Innehåll Du ska följa steg för steg -instruktionen i
Läs merProgrammeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
Läs merFunktioner och programstruktur. Föreläsning 5
Funktioner och programstruktur Föreläsning 5 Dagens kluring int v[10]=1,2,3,4,5,6,7,8,9,10; int i; for(i=0;i
Läs merGrundkurs i programmering - intro
Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå
Läs mer1 Språket C Valet av språket C++ för kompendiet. 1.2 Språket. 1.3 Att programmera. 1.4 Hello World Börja programmera
1 Språket C++ 1.1 Valet av språket C++ för kompendiet Språket C++ är ett språk som utvecklats för storskalig objektorienterad utveckling av sofistikerade och komplexa system. Det ligger då i sakens natur
Läs merInledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter
Inledande matematik för I1 MVE011 läsperiod 1 010 Matlab vecka övningsuppgifter Linjära ekvationssystem Matlab har många kraftfulla redskap för att hantera matriser och därmed också linjära ekvationssystem.
Läs merLabora&on 1 Variabler och beräkningar övningar/uppgi9er
Labora&on 1 Variabler och beräkningar övningar/uppgi9er 1M322 Webbteknik 2, 7,5hp Medieteknik 2015 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merTalmängder. Målet med första föreläsningen:
Moment 1..1, 1.., 1..4, 1..5, 1.. 1..5, 1..6 Viktiga exempel 1.7, 1.8, 1.8,1.19,1. Handräkning 1.7, 1.9, 1.19, 1.4, 1.9 b,e 1.0 a,b Datorräkning 1.6-1.1 Målet med första föreläsningen: 1 En första kontakt
Läs merProgrammering Grundkurs Laboration 1
Programmering Grundkurs Laboration 1 Till kursen Programmering Grundkurs hör fyra obligatoriska laborationer. Detta är Laboration 1 given i period 1, HT 2010 vid KTH STH. Mål: I början av en programmeringskurs
Läs merFöreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merSå här skriver du ditt första program i C++
Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433
Läs merInnehållsförteckning. 9 Större projekt Övningsuppgifter...32
PROGRAMMERING JAVA Innehållsförteckning 1 Allmänt om Java...5 I detta kapitel... 5 Historia... 5 Hur fungerar det att programmera?... 6 Inspiration... 9 Styrkan i Java...10 Övningsuppgifter... 11 2 Utvecklingsverktyget...12
Läs merFöreläsning 3. Programmering, C och programmeringsmiljö
Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator
Läs merRepetition C-programmering
Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition
Läs merInledning till OpenOffice Calculator Datorlära 2 FK2005
Inledning till OpenOffice Calculator Datorlära 2 FK2005 Mål Lära sig att skapa och använda ett räkneblad med OpenOffice Calculator Beräkna medelvärde och standardavvikelsen med räknebladet Producera en
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merEditering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Läs merLathund Excel 2010. Nytt utseende. Skapa Nytt. Flikar
Lathund Excel 2010 Nytt utseende Programfönstret i Office 2010 har ett nytt utseende. Likt Office 2003 är Arkiv tillbaka. Under Arkiv hittar du de aktiviteter som i 2007 s version finns under Offic knappen
Läs merTENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merKTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012
KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny Panrike och
Läs merProgrammering. Scratch - grundövningar
Programmering Scratch - grundövningar Lär känna programmet: Menyer för att växla mellan att arbeta med script, utseende/bakgrund och ljud. Scenen där allting utspelar sig. Här klickar du på bakgrunden
Läs merLinjär algebra med tillämpningar, lab 1
Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merHI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,
KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, 8.15-13.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs mer