TentamensTräning. Läsanvisningar

Storlek: px
Starta visningen från sidan:

Download "TentamensTräning. Läsanvisningar"

Transkript

1 TentamensTräning Här följer råd och information för dig som ska tentera i kursen Grundläggande programmering speciellt LabTentamen. Vi delar här in kursen i åtta delar. I varje del får Du förutom läsanvisningar, tre stycken programmeringsuppgifter. De första två är grundläggande (lite för enkla för att göra anspråk på att finnas på en tentamen) men den tredje uppgiften skulle mycket väl kunnat vara en (enkel) tentamensuppgift. Glöm inte bort att tentamen i hög grad är en praktisk utmaning. Det räcker inte att ha teoretiska kunskaper om programspråket C. Har Du inte erfarenhet av hur det i praktiken går till att utveckla program vid datorn, kan uppgiften bli allt för svår. Du måste träna vid datorn! Läsanvisningar Del 1 Filhantering Läs kapitel 7 (sid ) Det är alldeles nödvändigt att kunna skriva program som kan läsa data från textfiler i stället för tangentbordet. Problem 1 På filen uppg1.dat finns ett antal heltal, första talet i filen anger hur många. Skriv ett program som beräknar summan av dessa tal. Filen uppg1.dat hittar du i filer.zip. Svar: Summan av talen på filen är Självklart ska programmet fungera även då uppg1.dat får ett annat innehåll! Problem 2 Skriv ett program som skriver ut det största respektive det näst största talen på filen uppg2.dat. Filen inleds som i föregående uppgift med ett tal som anger antalet tal i filen. Svar: Det största talet är 882 och det näst största är 861. Vi antar att det inte kan finna fler än 100 tal på filen. Problem 3 På filen uppg3.dat finns 100 tärningskast, tal i intervallet 1 till 6. Anta att man varje gång kastar 5 tärningar. Beräkna vid vilket av de 20 kasten av de fem tärningarna som summan är störst. Svar: Den högsta summan, 25, erhölls vid det 18:e kastet. Del 2 Arrayer Att kunna hantera arrayer, indicerade variabler är ett måste för den som vill skriva lite mer avancerade program. Ibland, som här hanterar cellerna heltal, men de kan också innehålla tecken och då kallar vi dem för strängar som vi återkommer till längre ner. Läs kapitel 6 (sid ) Problem 4 Skriv ett program som först frågar om hur många tal som ska läsas in, sedan tar emot dessa tal och till sist skriver ut dem i omvänd ordning det sist inmatade talet skrivs ut först Håkan Strömberg 1 KTH STH

2 Problem 5 På filen uppg5.dat finns resultaten från senaste tentamen. För varje student (en rad på filen) anges studentkod, ett tresiffrigt heltal och resultat ett annat heltal. Filen inleds med ett tal som anger hur många studenter som ingår. Skriv ett program skriver ut studentkoden för de studenter vars resultat är medelvärdet av alla resultat. Svar: Studenterna 721, 334, 725, 317, 397 Problem 6 Programmet uppg6a.cpp läser in 20 tal från filen uppg6.dat och placerar i arrayen lista. Bygg nu ut detta program så att det bestämmer den största summan man kan få genom att addera tre på varandra följande tal i listan. Svar: Den största summa som kan erhållas är 202, som bildas med det fjärde, femte och sjätte talet. Del 3 Slumptal Läs kapitel 4 (sid ). Problem 7 Med tärningens hjälp ska du förflytta en pjäs från ruta 1 förbi ruta På varje ruta vars nummer slutar på 0 står en motståndarpjäs, som du kommer att peta ut ur spelet om du hamnar på den rutan. Skriv ett program som uppskattar hur många pjäser du kommer att peta, på din färd mot målet. Kör programmet flera gånger och använd srand(). Svar: Ungefär 30 pjäser bör bli petade. Problem 8 Skriv ett program som tar reda på hur ofta man får en kåk när man kastar fem tärningar. En kåk uppkommer då tre av tärningarna visar samma antal ögon och de två andra också är lika, men skilda ifrån de första tre. Låt programmet kasta de fem tärningarna gånger. Svar: Cirka 388 gånger av får man kåk. Problem 9 Givet en tipsrad: "1XX2X2X111X12". Skriv ett program som slumpar fram nya rader och som tar reda på hur många det behövs innan en tagits fram, som har minst 10 tecken som överensstämmer med raden ovan. Svar: Resultatet bör ligga mellan 575 och 600, men har man tur kan raden komma betydligt tidigare. Del 4 Strängar Läs kapitel 7 (sid ) Problem 10 Skriv ett program som tar emot en sekvens av bokstäver, ( 80) och skriver ut den på skärmen. Om indatasträngen innehåller parenteser ska dessa tillsammans med inneslutna texten inte återfinnas i utskriften. Till exempel från AB(CD)EFGH(IJK)L ska utskriften bli ABEFGHL. Indata kan bara innehålla korrekt använda parenteser. Problem 11 För korsordslösaren skriver vi detta program. På filen uppg11.dat finns en mängd ord, ett på varje rad och alla med fem bokstäver. Första raden i filen anger antalet ord. Skriv ett program som tar emot en söksträng och söker igenom filen och skriver ut ord, som matchar söksträngen. En söksträng kan innehålla förutom små bokstäver (gemener) också asterisker (*). Håkan Strömberg 2 KTH STH

3 En asterisk står för en godtycklig bokstav. Om programmet till exempel ges söksträngen s*ns* ska utskriften med vår ordfil bli: synsk och sansa Problem 12 På filen uppg12.dat finns 19 rader. På varje rad står ett pojknamn. Alla namn utom ett förekommer två gånger. Skriv ett program som tar reda på vilket program som bara förekommer en gång. Inget namn är längre än 10 tecken. Svar: Jompa. Del 5 Funktioner Läs kapitel 8,10 och 11. Problem 13 Till detta program ska du skriva inte mindre än fyra funktioner. Var och en av dem ska ta emot en vektor a innehållande framslumpade tärningskast, i övrigt gäller följande: Funktionen frekvens tar förutom vektorn emot ett tal t ur mängden [1... 6] och returnerar antalet förekomster av t i a Funktionen par har samma parametrar som frekvens och returnerar hur många gånger talet t förekommer i par. I sekvensen bildar 5 två par. Funktionen langsta med samma parametrar som funktionerna ovan ska ta reda på den längsta sekvensen där enbart talet t förekommer. Funktionen sekvens ska räkna och returnera antalet gånger sekvensen förekommer i a. Svar: När jag körde programmet fick jag följande resultat: Antal 5:or är Antal par av 3:or är 2823 Längsta sekvensen av 4:or är 7 Antal är 3 Problem 14 Skriv en funktion antal, som tar emot två heltalsvektorer a och b. a innehåller 10 olika tal och b olika 4 tal. Funktionen ska nu ta reda på och returnera hur många tal i b som återfinns i a. Problem 15 Skriv ett funktion rensa, som tar emot en sträng med tecken och som plockar bort alla tecken som inte är siffror. Inledningen till programmet ges i uppg15a.c. Del 6 Optimering och sökning Problem 16 Skriv ett program som tar reda på vilka positiva heltal (< 3000) som är sådana att de ger resten 1 vid division med 2, 3, 4, 5 och 6 men resten 0 vid division med 7. Programmet ska skriva ut samtliga sådana tal. Svar: Det finns sju sådana tal: 301, 721, 1141, 1561, 1981, 2401, 2821 Håkan Strömberg 3 KTH STH

4 Problem 17 Matematikern Richard Hamming har gjort en del arbeten inom området felkorrigerande kod. Han introducerade bland annat Hammingavstånd som förklaras här: Två vektorer v 1 = { } och v 2 = { } har avståndet 8, eftersom v 1 och v 2 skiljer sig åt på 8 platser. På filen uppg17.txt finns 20 vektorer, en på varje rad. Vektorerna innehåller endast 0:or och 1:or. Alla vektorer är lika långa och < 80 tecken. Längden kan alltså variera från test till test. Skriv ett program som bestämmer på vilka rader de två vektorerna, som har det största avståndet, befinner sig i filen. Resultatet med testfilen ger: Största avståndet är 14, mellan rad 3 och 8 Problem 18 Skriv ett program som avgör om givna punkter ligger inuti en, två eller ingen av två givna rektanglar. På filen uppg18.dat finns beskrivning av två rektanglar genom (x 1,y 1 ) det övre vänstra hörnet och (x 2,y 2 ), det nedre högra två rader med fyra tal i nämnd ordning. Den första raden beskriver rektangeln A och den andra B. Därefter följer en rad med ett tal, som anger för hur många punkter, n, testen ska göras. Filen avslutas sedan med n rader. Varje rad innehåller x- och y-koordinat för en punkt. Programmet ska producera en lista med punkternas koordinater, samt passande text: Ligger i båda Ligger endast i A Ligger endast i B Ligger inte i någon Alla tal i denna uppgift är heltal. En punkt som ligger på periferin (på linjen) till en rektangel betraktas som den ligger i rektangeln. Testfilen ska ge följande utskrift: 2 1 Ligger inte i någon 9 2 Ligger endast i A 8 7 Ligger i båda 5 8 Ligger i båda 12 8 Ligger endast i B Del 7 Heltal Problem 19 I gruppen finns n personer. För att ta reda på sannolikheten p för att ingen i gruppen har samma födelsedag använder man sig av följande formel: p = n För en grupp med 40 medlemmar n = 40 är sannolikheten p = eller ungefär 11% att ingen är född samma dag på året som någon annan i Håkan Strömberg 4 KTH STH

5 gruppen. Skriv ett program som beräknar sannolikheten för ett givet värde på n. Använd sedan programmet för att ta reda på för vilketnsom sannolikheten p är så nära 0.5 som möjligt. Svar: För n = 23 är den sökta sannolikheten p = Problem 20 Här efterlyser vi ett program som ska testa boolska uttryck och skriva ut för vilka värden på de fyra ingående boolska variablerna, a,b,c och d uttrycket är sant. (a&&!b&&c b&&!c&&d a&&d&&b) är uttrycket du ska testa. Variablerna a,b,c och d kan alltså endast anta värdena sant eller falskt. Svar: Uttrycket är sant då a b c d falskt sant falskt sant sant falskt sant falskt sant falskt sant sant sant sant falskt sant sant sant sant sant Problem 21 Skriv ett program som tar emot ett heltal t,0 t < och som utifrån det skapar ett nytt tal där siffrorna i t är sorterade i fallande ordning. Till exempel ska det inmatade talet ge utskriften Del 8 Binärfiler Läs kapitel 12 (sid ) Problem 22 Vid en underökning frågade man 100 par om deras årsinkomst. Uppgifterna registrerades på binärfilen uppg22.dat med följande postbeskrivning: struct lon{ int manlon; int kvinlon; }; Skriv ett program som tar reda i hur många familjer mannen har högre lön kvinnan. Svar: 61 män har högre lön än kvinnan. Problem 23 Filen uppg23.dat är en binärfil där följande struct har använts struct persontyp{ char namn[20]; int antal; int typ; }; Håkan Strömberg 5 KTH STH

6 En post innehåller ett herrnamn, damnnamn eller efternamn. De i Sverige vanligaste i varje kategori. Tillsammans med namn finns också antal, som anger hur många invånare som bär detta namn. Fältet typ antar tre olika värden enligt följande tabell 1 Efternamn 2 Herrnamn 3 Damnamn Skriv ett program som tar reda på och skriver ut, den troligtvis vanligaste namnkombinationen för ett älskande par i Sverige! Det vill säga en mening: <vanligaste damnamnet> och <vanligaste herrnamnet> <vanligaste efternamnet>. Svar: Maria och Erik Johansson. Problem 24 På binärfilen uppg24.dat finns ett antal poster enligt följande postbeskrivning: struct paket { char adressat[40]; int bredd, hojd, langd; }; Vissa av paketen levereras direkt till adressaten, medan andra anses vara för skrymmande för att delas ut. Dessa paket måste därför hämtas på posten. Skriv ett program som skriver ut adressaten hos de paket, som är för stora, har en volym > cm 3 och alltså måste ta sig till posten i julbrådskan. Alla mått i filen är givna i cm. För testfilen får vi denna dialog Ange filnamn: uppg24.dat Följande personer har paket att hämta: Maria Karlsson Kristina Svensson Hans Bergström Arne Fredriksson Leif Björk Emanuel Bergqvist Berit Josefsson Fredrik Lund Det finns 8 för stora paket Håkan Strömberg 6 KTH STH

7 Lösningsförslag Problem 1 2 int main(void){ 3 FILE *infil; 4 int summa=0,tal,antal,i; 5 infil=fopen("uppg1.dat","rt"); 6 fscanf(infil,"%d",&antal); 7 for (i=1;i<=antal;i++){ 8 fscanf(infil,"%d",&tal); 9 summa=summa+tal; 10 } 11 printf("summan av talen är %d\n",summa); 12 fclose(infil); 13 } I samband med textfiler finns i allmänhet, inledningsvis, ett tal som anger hur många poster som följer i filen. Eftersom feof är en ganska klumpig funktion i C. Vill du trots det kunna hantera feof hänvisas till boken, sidan 457. Håkan Strömberg 7 KTH STH

8 Problem 2 2 int main(void){ 3 FILE *fil; 4 int lista[100]; 5 int n,i,j,tmp; 6 fil=fopen("uppg2.dat","rt"); 7 fscanf(fil,"%d",&n); 8 for (i=0;i<n;i++) 9 fscanf(fil,"%d",&lista[i]); 10 fclose(fil); 11 for (i=0;i<n-1;i++) 12 for (j=i+1;j<n;j++) 13 if (lista[i]<lista[j]){ 14 tmp=lista[i]; 15 lista[i]=lista[j]; 16 lista[j]=tmp; 17 } 18 printf("störst är %d\n",lista[0]); 19 printf("näst störst är %d\n",lista[1]); 20 } Här har vi låtit sortera talen för att finna det näst största. Detta kan betraktas som overkill eftersom det finns metoder som kräver mindre datorresurser. Se till att du kan sortera en vektor med tal. Håkan Strömberg 8 KTH STH

9 Problem 3 2 int main(void){ 3 FILE *fil; 4 int s,t,m=0,nr,i,j; 5 fil=fopen("uppg3.dat","rt"); 6 for (i=1;i<=20;i++){ 7 s=0; 8 for (j=1;j<=5;j++){ 9 fscanf(fil,"%d",&t); 10 s=s+t; 11 } 12 if (s>=m){ 13 m=s; 14 nr=i; 15 } 16 } 17 printf("högsta summan %d, erhölls i omgång %d\n",m,nr); 18 } Här ska du förstå att det handlar om två loopar, en för antalet kast och en för de fem tärningarna i varje kast Vi söker ett maximivärde och samtidigt sparar vi undan numret på det kast då maximivärdet inträffade. Håkan Strömberg 9 KTH STH

10 Problem 4 2 int main(void){ 3 int i,a[100],n; 4 printf("hur många tal: "); 5 scanf("%d",&n); 6 for (i=0;i<n;i++){ 7 printf("? "); 8 scanf("%d",&a[i]); 9 } 10 for (i=n-1;i>=0;i--) 11 printf("%d ",a[i]); 12 printf("\n"); 13 } Håkan Strömberg 10 KTH STH

11 Problem 5 2 int main(void){ 3 FILE *fil; 4 int elev[50][2]; 5 int sum=0,n,i; 6 fil=fopen("uppg5.dat","rt"); 7 fscanf(fil,"%d",&n); 8 for (i=0;i<n;i++){ 9 fscanf(fil,"%d %d",&elev[i][0],&elev[i][1]); 10 sum=sum+elev[i][1]; 11 } 12 fclose(fil); 13 for (i=0;i<n;i++) 14 if (elev[i][1]>=(float)sum/n) 15 printf("%d\n",elev[i][0]); 16 } Här ska du förstå att det handlar om två genomgångar av data. Först läser vi in data och placerar i en matris, samtidigt summerar vi resultatet för varje student. I andra genomgången jämför vi studenternas resultat med medelvärdet. Det är bättre att, före loopen, räkna ut medelvärdet en gång för alla och lagra resultatet i en variabel medel, istället som här, för var varje student. Håkan Strömberg 11 KTH STH

12 Problem 6 2 int main(void){ 3 FILE *fil; 4 int i,sum,j,lista[20],max=0; 5 fil=fopen("uppg6.dat","rt"); 6 for (i=0;i<20;i++) 7 fscanf(fil,"%d",&lista[i]); 8 fclose(fil); 9 for (i=0;i<=17;i++){ 10 sum=0; 11 for (j=0;j<3;j++) 12 sum=sum+lista[i+j]; 13 if (sum>max) 14 max=sum; 15 } 16 printf("den största summan är %d\n",max); 17 } Det finns 18 starter för de tre talen, index För varje tal ska vi summera tre tal. Vi tar till en loop (kanske inte nödvändigt eftersom det endast är tre tal som ska summeras) som summerar de tre talen. Du måste först vad lista[i+j] står för! Vi kollar om det är ett nytt rekord Håkan Strömberg 12 KTH STH

13 Problem 7 2 #include <time.h> 3 #include <stdlib.h> 4 int main(void){ 5 int s=1,n=0,j; 6 srand(time(0)); 7 do{ 8 s+=rand()%6+1; 9 if (s%10==0) 10 n++; 11 }while(s<1000); 12 printf("antal petatde pjäser %d\n",n); 13 } Här är det lämpligt med en do- eller while-loop eftersom vi inte vet hur många kast vi måste göra för att nå målet Här kontollerar vi om vi hamnat på en ruta vars nummer slutar på 0. Om så är fallet har vi petat en päs. Håkan Strömberg 13 KTH STH

14 Problem 8 2 #include <time.h> 3 #include <stdlib.h> 4 int main(void){ 5 int t[6],i,j,k,n=0,tmp; 6 srand(time(0)); 7 for (i=1;i<=10000;i++){ 8 for (j=0;j<5;j++) 9 t[j]=rand()%6+1; 10 for (j=0;j<=3;j++) 11 for (k=j+1;k<=4;k++) 12 if (t[j]<t[k]){ 13 tmp=t[j]; 14 t[j]=t[k]; 15 t[k]=tmp; 16 } 17 if (t[0]==t[2] && t[3]==t[4] && t[2]!=t[3] 18 t[0]==t[1] && t[2]==t[4] && t[1]!=t[2]) 19 n++; 20 } 21 printf("10000 kast gav kåk %d gånger\n",n); 22 } Du ska känna till att funktionen rand nås genom stdlib.h. När man skriver simuleringsprogram är det viktigt att programmet ges möjlighet att variera resultatet. Detta görs genom srand(time(0)), time får man tillgång till genom att inkludera time.h. Det är genom att utföra ett försök flera gånger som man kan få en uppskattning om sannolikheten för en viss händelse,som vi får genom att dividera antalet i n med (och eventuellt multiplicera med 100 för att få resultatet i procent) Om vi sorterar resultatet hos de fem tärningarna blir det enklare att avgöra om vi fått en kåk Se till att du förstår det här villkoret! Håkan Strömberg 14 KTH STH

15 Problem 9 2 #include <time.h> 3 #include <stdlib.h> 4 int main(void){ 5 int i,n,r,j=0; 6 char rad[14]="1xx2x2x111x12"; 7 srand(time(0)); 8 do{ 9 j++; 10 n=0; 11 for (i=0;i<13;i++){ 12 r=rand()%3+1; 13 if (r==1 && rad[i]== 1 ) 14 n++; 15 if (r==2 && rad[i]== 2 ) 16 n++; 17 if (r==3 && rad[i]== X ) 18 n++; 19 } 20 }while(n<10); 21 printf("det behövdes %d rader\n",j); 22 } I denna loop slumpar vi fram 13 tipstecken och jämför med den rätta raden. Målet är att få minst 10 rätt. Genom do-loopen upprepas försöket tills målet är nått. j är en varvräknare som håller reda på hur många försök som utförts. Håkan Strömberg 15 KTH STH

16 Problem 10 2 int main(void){ 3 char text[81]; 4 int i,n=0; 5 printf("texten: "); 6 scanf("%s",text); 7 for (i=0;text[i]!= \0 ;i++) 8 if (text[i]== ( ) 9 n=1; 10 else 11 if (text[i]== ) ) 12 n=0; 13 else 14 if (n==0) 15 printf("%c",text[i]); 16 printf("\n"); 17 } Loppen stegar igenom strängen och avbryts då \0 påträffas. Här använder vi en flagga, n. Varje gång vi träffar på en vänsterparentes sätts flaggan till 1 och utskriften i rad 15 stängs av. Så fort en högerparentes påträffas sätts flaggan n till 0 och utskriften görs möjlig. Programmet fungerar inte då det finns parentespar inuti andra parentespar förvissa dig om det! Håkan Strömberg 16 KTH STH

17 Problem 11 2 int main(void){ 3 FILE *fil; 4 int i,j,n,antal; 5 char ord[6],strang[6]; 6 fil=fopen("uppg11.dat","rt"); 7 fscanf(fil,"%d",&antal); 8 printf("söksträng: "); 9 scanf("%s",strang); 10 for (i=1;i<=antal;i++){ 11 fscanf(fil,"%s",ord); 12 n=1; 13 for (j=0;j<=4;j++) 14 if (strang[j]!= * && strang[j]!=ord[j]) 15 n=0; 16 if (n==1) 17 printf("%s\n",ord); 18 } 19 } Den yttre loopen går igenom alla orden på filen. För varje ord stegar vi igenom samtliga tecken, Om det finns en asterisk i söksträngen, får det finnas vad som helst i det inlästa ordet. Vi använder en flagga n som får värdet 1 före den inre loopen. Om villkoret i rad 14 är sant slår flaggan om till 0 (här skulle man också kunna ha break, eftersom ordet nu inte kan komma ifråga). Om värdet 1 har överlevt under den inre loopen, är ordet godkänt och kan skrivas ut. Du måste förstå villkoret på rad 14 Håkan Strömberg 17 KTH STH

18 Problem 12 2 #include <string.h> 3 int main(void){ 4 char tab[19][11],tmp[11]; 5 int i,j; 6 FILE *fil; 7 8 fil=fopen("uppg12.dat","rt"); 9 for (i=0;i<19;i++) 10 fscanf(fil,"%s",tab[i]); 11 fclose(fil); 12 for (i=0;i<18;i++) 13 for (j=i+1;j<19;j++) 14 if (strcmp(tab[i],tab[j])<0){ 15 strcpy(tmp,tab[i]); 16 strcpy(tab[i],tab[j]); 17 strcpy(tab[j],tmp); 18 } 19 i=0; 20 while (strcmp(tab[i],tab[i+1])==0) 21 i=i+2; 22 printf("%s",tab[i]); 23 } 4 Vi gör plats för 19 ord (namn), som kan vara maximalt 10 tecken långa. Vi gör plats för 11 tecken, även för strängavslutningen \0. Det är viktigt att du kan deklarera en datastruktur som kan innehålla flera strängar! Namnen läses in till tab. Lägg märke till hur man läser in en hel rad i taget till tab. Det är endast strängar av char som kan läsas in på detta sätt i C Så här sorterar man en array med strängar. Du måste veta hur man jämför två strängar, med strcmp. Inget annat (enkelt) fungerar!. På samma sätt måste du kunna använda strcpy för att flytta strängar mellan rader i tab. Inget annat (enkelt) fungerar Efter sorteringen har dubbletterna hamnat intill varandra, utom på ett ställe. Se till att du förstår denna while-loop. Håkan Strömberg 18 KTH STH

19 Problem 13 2 #include <stdlib.h> 3 #include <time.h> 4 int frekvens(int a[],int t){ 5 int i,n=0; 6 for(i=0;i<100000;i++) 7 if(a[i]==t) n++; 8 return n; 9 } int par(int a[],int t){ 12 int i,n=0; 13 for(i=0;i<99999;i++) 14 if(a[i]==t && a[i+1]==t) n++; 15 return n; 16 } int langsta(int a[],int t){ 19 int i,n=0,f=0,m=0; 20 for(i=0;i<100000;i++){ 21 if(a[i]==t && f==1) 22 n++; 23 if(a[i]!=t && f==1){ 24 f=0; 25 if(n>m) m=n; 26 } 27 if(a[i]==t && f==0){ 28 f=1; 29 n=1; 30 } 31 } 32 if(f==1 && n>m) 33 m=n; 34 return m; 35 } Håkan Strömberg 19 KTH STH

20 1 2 int sekvens(int a[]){ 3 int i,j,n,m=0; 4 for(i=0;i<99995;i++){ 5 n=0; 6 for(j=0;j<=5;j++) 7 if(a[i+j]==j+1) 8 n++; 9 if(n==6) m++; 10 } 11 return m; 12 } int main(void){ 15 int a[100000],i; 16 srand(time(0)); 17 for(i=0;i<100000;i++) 18 a[i]=rand()%6+1; 19 printf("antal %d:or är %d\n",5,frekvens(a,5)); 20 printf("antal par av %d:or är %d\n",3,par(a,3)); 21 printf("längsta sekvensen av %d:or är %d\n",4,langsta(a,4)); 22 printf("antal är %d\n",sekvens(a)); 23 } Det viktigaste med detta program är hur man använder sig av arrayer som parametrar och hur man returnerar värden från en funktion till main. Det skadar inte att sätta sig in i hur de olika delproblemen är lösta i de olika funktionerna. Håkan Strömberg 20 KTH STH

21 Problem 14 2 int antal(int a[],int b[]){ 3 int i,j,m=0,n; 4 for (i=0;i<4;i++){ 5 n=0; 6 for (j=0;j<10;j++) 7 if (a[j]==b[i]) 8 n=1; 9 if (n==1) 10 m++; 11 } 12 return m; 13 } 14 int main(void){ 15 int x[10]={5,7,8,10,12,5,6,1,5,14}; 16 int y[4]={5,3,4,14}; 17 printf("antal förkomster %d\n",antal(x,y)); 18 } Här har vi hårdkodat innehållet i x och y. Bra att kunna. Ska man hårkoda en sträng skriver man char s[]="hejsanhejsan". Man behöver inte ange strängens längd. Det fixar kompilatorn! I den här uppgiften är längderna 4 och 10 också hårdkodade. Om så inte varit fallet måste funktionen antal också få reda på hur många element som ingår i x och y genom till exempel int antal(int a[],int b[],int na,int nb) Håkan Strömberg 21 KTH STH

22 Problem 15 2 #include <string.h> 3 void rensa(char s[]){ 4 int i,j=0; 5 char t[80]; 6 for(i=0;s[i]!= \0 ;i++) 7 if(s[i]>= 0 && s[i]<= 9 ){ 8 t[j]=s[i]; 9 j++; 10 } 11 t[j]= \0 ; 12 strcpy(s,t); 13 } int main(void){ 16 char a[]="12kr"; 17 char b[]="tel: "; 18 rensa(a); 19 rensa(b); 20 printf("%s\n",a); 21 printf("%s\n",b); 22 } Funktionen rensa tar emot en sträng. Dess längd kan bestämmas genom strlen eller genom att hålla utkik efter \0. Funktionen stegar igenom indatasträngen. Varje gång ett godkänt tecken påträffas flyttas detta över till en temporär sträng t. Tänk på att man måste hålla reda på var i t tecknet ska placeras. Här genom j. När den nya t strängen är konstruerad lägger man till \0 sist och kopierar t till s. När man så återkommer till man så finns det rensade resultatet i s. Håkan Strömberg 22 KTH STH

23 Problem 16 2 int main(void){ 3 int tal,k,n; 4 for (tal=1;tal<=3000;tal++){ 5 n=0; 6 for (k=2;k<=6;k++) 7 if (tal%k==1) 8 n++; 9 if (n==5 && tal%7==0) 10 printf("%8d",tal); 11 } 12 printf("\n"); 13 } Du måste känna till hur %-operatorn fungerar! Håkan Strömberg 23 KTH STH

24 Problem 17 2 int main(void){ 3 FILE *fil; 4 int i,j,k,n,r1,r2,max=0; 5 char rad[20][80]; 6 fil=fopen("uppg17.dat","rt"); 7 for (i=0;i<20;i++) 8 fscanf(fil,"%s",rad[i]); 9 fclose(fil); 10 for (i=0;i<=18;i++){ 11 for (j=i+1;j<=19;j++){ 12 n=0; 13 for (k=0;rad[i][k]!= \0 ;k++) 14 if (rad[i][k]!=rad[j][k]) 15 n++; 16 if (n>=max){ 17 r1=i; 18 r2=j; 19 max=n; 20 } 21 } 22 } 23 fclose(fil); 24 printf("största avståndet %d mellan %d och %d\n",max,r1+1,r2+1); 25 } Nu vet du väl hur man deklarera och läser in strängar till en array och char? För att kunna jämföra samtliga par av strängar behövs en dubbelloop. Du måste förstå villkoret rad[i][k]!=rad[j][k]. Håkan Strömberg 24 KTH STH

25 Problem 18 2 int main(void){ 3 FILE *infil; 4 int horn[8],antal,k,f1,f2,x,y; 5 infil=fopen("uppg18.dat","rt"); 6 for (k=0;k<8;k++) 7 fscanf(infil,"%d",&horn[k]); 8 fscanf(infil,"%d",&antal); 9 for (k=1;k<=antal;k++){ 10 fscanf(infil,"%d %d",&x,&y); 11 f1=0; 12 f2=0; 13 f1=x>=horn[0] && x<=horn[2] && y>=horn[3] && y<=horn[1]; 14 f2=x>=horn[4] && x<=horn[6] && y>=horn[7] && y<=horn[5]; 15 printf("%2d %2d ",x,y); 16 if (f1 && f2) 17 printf("ligger i båda\n"); 18 if (f1 &&!f2) 19 printf("ligger endast i A\n"); 20 if (!f1 && f2) 21 printf("ligger endast i B\n"); 22 if (!f1 &&!f2) 23 printf("ligger inte i någon\n"); 24 } 25 fclose(infil); 26 } Håkan Strömberg 25 KTH STH

26 Problem 19 2 int main(void){ 3 int n,i; 4 float p; 5 printf("gruppen storlek: "); 6 scanf("%d",&n); 7 p=1.0; 8 for (i=0;i<n;i++) 9 p=p*(365.0-i)/365.0; 10 printf("sannolikheten är %.4f\n",p); 11 } Den här uppgiften vill bara göra dig observant på skillnaden mellan heltalsoch flyttalsdivision. Håkan Strömberg 26 KTH STH

27 Problem 20 2 int main(void){ 3 int a,b,c,d; 4 for (a=0;a<=1;a++) 5 for (b=0;b<=1;b++) 6 for (c=0;c<=1;c++) 7 for (d=0;d<=1;d++) 8 if (a&&!b&&c b&&!c&&d a&&d&&b) 9 printf("sant då a=%d b=%d c=%d d=%d\n",a,b,c,d); 10 } Talet 0 används för att beteckna falskt (FALSE). Alla andra värden betraktas som sant (TRUE). Då speciellt värdet 1. Håkan Strömberg 27 KTH STH

28 Problem 21 2 int main(void){ 3 int t,i=0,n,j,k,a[10],tmp; 4 printf("talet: "); 5 scanf("%d",&t); 6 while (t>0){ 7 a[i]=t%10; 8 t=t/10; 9 i++; 10 } 11 n=i-1; 12 for (j=0;j<=n-1;j++) 13 for (k=j+1;k<=n;k++) 14 if (a[j]<a[k]){ 15 tmp=a[j]; 16 a[j]=a[k]; 17 a[k]=tmp; 18 } 19 t=0; 20 for (i=0;i<=n;i++) 21 t=10*t+a[i]; 22 printf("nya talet: %d\n",t); 23 } Viktigast i detta problem är hur man packar upp siffrorna i ett tal. Se till att du förstår raderna Raderna visar hur man bygger upp ett tal från givna siffror. Även det viktig kunskap! Håkan Strömberg 28 KTH STH

29 Problem 22 2 #include <stdlib.h> 3 #include <time.h> 4 5 struct lon{ 6 int manlon; 7 int kvinlon; 8 }; 9 10 int main(void){ 11 FILE *fil; 12 struct lon familj; 13 int i,antal=0; fil=fopen("uppg22.dat","rb"); 16 for (i=1;i<=100;i++){ 17 fread(&familj,sizeof(struct lon),1,fil); 18 if (familj.manlon>familj.kvinlon) 19 antal++; 20 } 21 fclose(fil); 22 printf("%d män har högre lön\n",antal); 23 } När det gäller binära filer (i denna kurs) är det alltid kopplat en struct till den. Du måste förstå vad rad 12 innebär. Vi deklarerar en variabel av datatypen struct lon. Rad 15 visar hur man öppnar en binär fil för läsning. Ofta har textfiler filtillägget.txt och binärfiler.dat. Detta är ingen lag! Vilka filtillägg som helst är tillåtna (även om en del är olämpliga). Rad 17 är viktig för den som ska läsa från en binärfil. Läs mer i boken om du är osäker. sizeof är här en viktig funktion för att ta reda på hur många byte en variabel av datattypen struct lon tar upp i minnet. Håkan Strömberg 29 KTH STH

30 Problem 23 2 #include <stdlib.h> 3 4 struct persontyp{ 5 char namn[20]; 6 int antal; 7 int typ; 8 }; 9 10 int main(void){ 11 FILE *in; 12 struct persontyp person,max[4]; 13 int k,antal,t; in=fopen("uppg23.dat","rb"); fseek(in,0,seek_end); 18 antal=ftell(in)/sizeof(struct persontyp); 19 printf("%d\n",ftell(in)); 20 printf("%d\n",sizeof(struct persontyp)); 21 printf("det finns %d namnposter\n",antal); 22 fseek(in,0,seek_set); for (k=1;k<=3;k++) 25 max[k].antal=0; for (k=1;k<=antal;k++){ 28 fread(&person,sizeof(struct persontyp),1,in); 29 t=person.typ; 30 if (max[t].antal<person.antal) 31 max[t]=person; 32 } printf("%s och %s %s\n",max[3].namn,max[2].namn,max[1].namn); 35 fclose(in); 36 } De gånger man inte får reda på hur många poster filen innehåller kan man ta reda på det genom följande rader. Rad 17 flyttar filpekaren till slutet av filen. Med hjälp av ftell() får man reda på hur långt ifrån början (i byte räknat) filpekaren står. Eftersom pekaren står sist i filen vet man genom ftell hur stor filen är. Dividerar vi detta tal med sizeof(struct persontyp) har vi direkt antalet poster. Med seek i rad 22 flyttar vi så tillbaka filpekaren till början av filen. Raderna behövs förstås inte. Håkan Strömberg 30 KTH STH

31 Problem 24 2 struct klapptyp{ 3 char namn[40]; 4 int bredd,hojd,langd; 5 }; 6 int main(void){ 7 FILE *infil; 8 struct klapptyp klapp; 9 int i,n,antal=0; 10 infil=fopen("uppg24.dat","rb"); 11 fseek(infil,0,seek_end); 12 n=ftell(infil)/sizeof(klapptyp); 13 rewind(infil); 14 for (i=1;i<=n;i++){ 15 fread(&klapp,sizeof(klapptyp),1,infil); 16 if (klapp.bredd*klapp.hojd*klapp.langd>25000){ 17 antal++; 18 printf("%-40s\n",klapp.namn); 19 } 20 } 21 printf("det finns %d för stora paket\n",antal); 22 fclose(infil); 23 } 13 Ett alternativt sätt att flytta filpekaren till början av filen. Håkan Strömberg 31 KTH STH

Fråga 13. Skriv en loop som fyller arrayen int v[100] med talen

Fråga 13. Skriv en loop som fyller arrayen int v[100] med talen Håkan Strömberg KTH STH 1 Fråga 1. Vilken är den största respektive minsta värde variabeln SUM kan erhålla genom följande rutin? srand(time(0)); for(k=1;k

Läs mer

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

HI1024, 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 mer

Enkla uppgifter. Uppgift 1. Uppgift 2

Enkla uppgifter. Uppgift 1. Uppgift 2 Enkla uppgifter Dessa 10 ganska enkla uppgifter är till för dig som känner att du ännu inte kommit igång med kursen. I samtliga uppgifter behövs en enkel loop, for eller while. Beräkningarna är i allmänhet

Läs mer

Dagens problem. Tal på fil. Förvandla heltal till sträng. Dialog

Dagens problem. Tal på fil. Förvandla heltal till sträng. Dialog Dagens problem Tal på fil På filen tal.txt finns ett antal tal. Man vill nu veta hur många av talen som är större än 100. Filen inleds med ett tal som anger hur många tal filen innehåller. Eftersom filen

Läs mer

1,3,5,7,9,...,99. Skriv ett program som genererar en multiplikationstabell med följande utseende

1,3,5,7,9,...,99. Skriv ett program som genererar en multiplikationstabell med följande utseende Arraymotion Skriv ett program som fyller en array med talen 1,3,5,7,9,...,99 och därefter skriver ut dem början på 99. Antal lika Skriv ett program som fyller två vektorer (arrayer) a och b med 100 slumptal

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Tentamen i Programmering C, Fri, Kväll, 041211.

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Tentamen i Programmering C, Fri, Kväll, 041211. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Denna tenta kommer att vara färdigrättad Ti 14/12 och kan då hämtas på mitt tjänsterum,

Läs mer

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Fredagen 14 januari Tentamen består av 8 sidor

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Fredagen 14 januari Tentamen består av 8 sidor TENTAMEN Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15 Fredagen 14 januari 2011 Tentamen består av 8 sidor Hjälpmedel Förutom dator med installerad Code::Blocks, Utforskaren, Acrobat reader och

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Detta är andra problemlösningsföreläsningen, vi diskuterar problemen ur Problem II.

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Detta är andra problemlösningsföreläsningen, vi diskuterar problemen ur Problem II. Detta är andra problemlösningsföreläsningen, vi diskuterar problemen ur Problem II. Första problemet: Frekvenstabell Skriv ett program som slumpar ett tärningskast n gånger. Programmet skall därefter skriva

Läs mer

Arrays (indicerade variabler) Föreläsning 6

Arrays (indicerade variabler) Föreläsning 6 Arrays (indicerade variabler) Föreläsning 6 Dagens kluring int i; scanf("%d", &i); switch(i) case 1: printf("1"); case 2: printf("2"); case 3: printf("3"); break; case 4: printf("4"); break; case 5: printf("5");

Läs mer

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag HI1024 TEN2 2013-10-28 Betygsgränser: Fx-8, E-9, D-11, C-12, B-14, A-16 (MAX-18) Generella rättningsnormer: Mycket dåliga variabelnamn ger -1p totalt på provet vid andra tillfället Inga eller dåliga kommentarer

Läs mer

Programmering Grundkurs (HI1900) Teoridel

Programmering Grundkurs (HI1900) Teoridel Tentamen Programmering Grundkurs, 11 januari 2010, STH KTH, Håkan Strömberg 1 Programmering Grundkurs (HI1900) Teoridel Skrivtid: 8:15-12:15 Datum: Onsdagen 2010-10-20 Tentamen består av 4 sidor Hjälpmedel:

Läs mer

Indicerade variabler

Indicerade variabler Indicerade variabler ARRAYER kan vara VEKTORARRAYER eller MATRISARRAYER Deklaration och användning av array (=vektorarray) Array och for-loop Slumptal Arrayer i två dimensioner (= matrisarray, matris)

Läs mer

Arrays (indicerade variabler) Föreläsning 4

Arrays (indicerade variabler) Föreläsning 4 Arrays (indicerade variabler) Föreläsning 4 Dagens kluring Hitta felet (ska skriva ut 10,9,8,7,6,5,4,3,2,1): int n; for(n=10;n0;n--) for(m=0;m

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108.

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Denna tenta kommer att vara färdigrättad Fr 14/1 och kan då hämtas på mitt tjänsterum,

Läs mer

Programmering, 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, 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 mer

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001) Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001) Skrivtid: 8:15-13:15 Datum: Torsdagen 2003-08-21 Tentamen består av 4 sidor Hjälpmedel: Förutom dator med installerad Borland C++ 5.02

Läs mer

Frå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;

Frå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 mer

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

C++ Slumptalsfunktioner + switch-satsen

C++ 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 mer

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor TENTAMEN Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15 Tisdagen 26 april 2011 Tentamen består av 8 sidor Hjälpmedel Förutom dator med installerad Code::Blocks, Utforskaren, Acrobat reader och Notepad

Läs mer

Belopp Belopp > procent

Belopp Belopp > procent Dagens problem Försäljarprovision Lönen för en försäljare är helt grundad på provision, direkt kopplad till den omsättning han lyckas skapa under en månad. Tabellen nedan anger procentsatser för olika

Läs mer

Uppgifter till praktiska tentan, del A. (7 / 27)

Uppgifter till praktiska tentan, del A. (7 / 27) Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att

Läs mer

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 1(10) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad Må 22/3 och kan då hämtas på mitt

Läs mer

Switch, Array (fält) switch break, continue, goto (scary) Sammansatta tilldelningar Kommentarer Array Sortering

Switch, Array (fält) switch break, continue, goto (scary) Sammansatta tilldelningar Kommentarer Array Sortering Switch, Array (fält) switch break, continue, goto (scary) Sammansatta tilldelningar Kommentarer Array Sortering switch int weekday; printf("mata in veckodagnummer 1-7: "); scanf("%d", &weekday); switch(weekday)

Läs mer

översiktskurs (5DV031)

översiktskurs (5DV031) Programmeringsteknisk översiktskurs (5DV031) Föreläsning 5 Innehåll Indexerade variabler Arrayer, sortering Läsanvisningar: Kapitel 6.1-6.3 Ett problem Hur sparas data T.ex. när man vill spara resultaten

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga, 051119

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga, 051119 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Denna tenta kommer att vara färdigrättad On 23/11 och kan då hämtas

Läs mer

Uppgifter att lösa 1,1,2,3,5,8,13,21...

Uppgifter att lösa 1,1,2,3,5,8,13,21... Detta arbetspass innehåller loopar, for, while och do. Du kan läsa mer om det på sidorna 61 69 och 102 105 Läs också avsnitt 4.7 på sidan 106 och 4.10 på sidan 109 Uppgifter att lösa Uppgift 1. Fibonacci

Läs mer

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT TIDAA Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Planering Programmering grundkurs HI1024 HT 2014

Planering Programmering grundkurs HI1024 HT 2014 Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att

Läs mer

Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori.

Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori. Problem Nivå 1 Följande, ur problemsynpunkt enkla uppgifter, är till för att nöta in dagens teori. Problem 1 Skriv ett program som tar reda på hur många termer man måste ta med i serien för att summa ska

Läs mer

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad. 5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng

Läs mer

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN1 - Teoretisk tentamen Tid: Torsdagen den 20 oktober 2011,

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN1 - Teoretisk tentamen Tid: Torsdagen den 20 oktober 2011, KTH STH TENTAMEN HI1024:TEN1 - Teoretisk tentamen Tid: Torsdagen den 20 oktober 2011, 8.15-12.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

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

Programmering i C, 7,5 hp

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

4 Sammansatta datatyper

4 Sammansatta datatyper 4 Sammansatta datatyper De enkla datatyper som vi hittills använt är otillräckliga när man ska hantera stora datamängder. Vill man exempelvis läsa in 100 reella mätvärden, som man tillfälligt vill spara

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början

Läs mer

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt

Läs mer

Planering Programmering grundkurs HI1024 HT 2015 - data

Planering Programmering grundkurs HI1024 HT 2015 - data Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Enkla datatyper minne

Enkla 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

Övning från förra gången: readword

Övning från förra gången: readword (9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver

Läs mer

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor

Läs mer

Föreläsning 9. Repetition och exempelproblem

Föreläsning 9. Repetition och exempelproblem Föreläsning 9 Repetition och exempelproblem /* Calculation of distance when travelling at speed 25 m/s */ #include int distance,speed,time; speed = 25; printf("hur lang tid? "); scanf("%d", &time);

Läs mer

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

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

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607.

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607. 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum,

Läs mer

HI1024 Programmering, grundkurs TEN

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

Funktioner och programstruktur. Föreläsning 5

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

En kort text om programmering i C.

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

*Pekarvärden *Pekarvariabler & *

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

Fråga 15. Följande deklarationer är givna

Fråga 15. Följande deklarationer är givna Håkan Strömberg KTH STH 1 Fråga 1. Följande kod är given: char namn[][7]= {"Adam","Bertil","Cesar","David" int alder[]={23,19,27,20 int skonr[]={40,42,43,46 int a,s; leta(namn,alder,skonr,4,"cesar",&a,&s);

Läs mer

2 Pekare och dynamiska variabler.

2 Pekare och dynamiska variabler. 2 Pekare och dynamiska variabler. När man definierar en variabel reserverar man samtidigt minne för variabelns värde. Detta minnesutrymme kommer man sedan åt med hjälp av variabelns namn. Definierar man

Läs mer

Tentamen ges för: Tentamensdatum: Tid:

Tentamen ges för: Tentamensdatum: Tid: Programmering E 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen TE081B El2 Tentamensdatum: 2012-04-13 Tid: 900 1300 Hjälpmedel: Kursbok Kelley, Pohl: A Book on C, Fourth Edition Tillåtet

Läs mer

Fråga 5. Vad krävs av funktionen undersok(a) för att b ska ökas med 1 respektive minskas med 1?

Fråga 5. Vad krävs av funktionen undersok(a) för att b ska ökas med 1 respektive minskas med 1? Håkan Strömberg KTH STH 1 Fråga 1. Följande två funktioner finns deklarerade i ett större program int F1(int A,int B){ if(a>b) return 2*A; return 2*B; int F2(int A,int B){ return abs(a-b); Vad får A för

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.

Läs mer

[] Arrayer = Indexerad variabel

[] Arrayer = Indexerad variabel [] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas

Läs mer

Programmeringsteknik med C och Matlab

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

Funktioner och programstruktur. Föreläsning 5

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 14-18, 14:e Mars, 2017 Provkod: TEN1 Hjälpmedel:

Läs mer

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH UMEÅ UNIVERSITET Datavetenskap Marie Nordström 071207 TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH DATORSYSTEM/GRÄNSSNITT, 7.5HP. (5DV074/5DV075) Datum : 071207 Tid : 3 timmar Hjälpmedel : Allt.

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011, Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1 Tisdagen den 7 juni 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 inom C programmering.

Läs mer

Pekare. Pekare. Varför använder vi pekare? Vad är en pekare? Pekare. Deklaration/initiering av pekare

Pekare. Pekare. Varför använder vi pekare? Vad är en pekare? Pekare. Deklaration/initiering av pekare Vad är en pekare? Varför använder vi pekare? Hur används pekare? Hur deklarerar vi pekare i C? Hur kommer vi åt pekarvärdet? DAVA07/08 JE,MG,MG,PS 2 DAVA07/08 JE,MG,MG,PS Vad är en pekare? En pekare är

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri, 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Denna tenta kommer att vara färdigrättad Må 13/6 och kan då hämtas på mitt tjänsterum,

Läs mer

Indexerade variabler

Indexerade variabler Indexerade variabler Vad har vi lärt oss så här långt Den första sammansatta (compound) datatypen: matris. Att arbeta med 1-dimensionella matriser. Att arbeta med flerdimensionella matriser. Matriser med

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser

Läs mer

TDIU01 - Programmering i C++, grundkurs

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

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010 Föreläsning 6 Kapitel 5 5.1 switch-satsen Vi ser på ett par exempel ur boken: int a; srand(time(0)); a=rand()%6+1; if(a==1) printf("hej Du glade\n"); else if(a==2) printf("god dag\n"); else if(a==3) printf("är

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Programmera 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?? 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 mer

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011 1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Uttryck och villkor. Föreläsning 2

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

Programmering, grundkurs, 8.0 hp HI1024, extra tentamen, TEN1, för TIDAA1. Fredagen den 11 mars 2011,

Programmering, grundkurs, 8.0 hp HI1024, extra tentamen, TEN1, för TIDAA1. Fredagen den 11 mars 2011, Programmering, grundkurs, 8.0 hp HI1024, extra tentamen, TEN1, för TIDAA1 Fredagen den 11 mars 2011, 13.15 17.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.

Läs mer

HI1024 Programmering, grundkurs TEN

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

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten

Läs mer

Föreläsning 11. Strängar

Föreläsning 11. Strängar Föreläsning 11 Strängar Dagens kluring void findmax(int v[], int length, int *pmax) int i;??=v[0]; for(i=1;i< length;i++) if(v[i]>??)??=v[i]; int main() int a[]=1,2,3,4,2; int max; hittamax(a,5,???); printf(

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012 Programmering, grundkurs, 8.0 hp HI1024, TEN1 Fredagen den 2 mars 2012 Tentamen består av två delar, del A och del B. Del A innehåller 4 kryssfrågor på olika teman inom C programmering. Varje fråga är

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Användarhandledning Version 1.2

Anvä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 mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Data, typ, selektion, iteration

Data, typ, selektion, iteration Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Lämna in en ifylld kursvärdering tillsammans med tentan! Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl

Lämna in en ifylld kursvärdering tillsammans med tentan! Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lämna in en ifylld kursvärdering tillsammans med tentan! Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Denna tenta kommer att

Läs mer

Loopar och datatyper. Föreläsning 3

Loopar och datatyper. Föreläsning 3 Loopar och datatyper Föreläsning 3 Dagens kluringar int x; printf("ange x:"); scanf("%d",&x); if(/*fyll i kod*/) printf("du angav x mellan 7 och 14"); int i=0; if(i++) i++; printf("%d",i++); //vad skrivs

Läs mer

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011 1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Loopar och datatyper. Föreläsning 3

Loopar och datatyper. Föreläsning 3 Loopar och datatyper Föreläsning 3 Dagens kluringar int x; printf("ange x:"); scanf("%d",&x); if(/*fyll i kod*/) printf("du angav x mellan 7 och 14"); int i=0; if(i++) i++; printf("%d",i++); //vad skrivs

Läs mer

Lösningsförslag: Instuderingsfrågor, del D

Lösningsförslag: Instuderingsfrågor, del D Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del D a) Inget fält behövs. Man kan läsa in ett tal i taget och addera dessa till summan. b) Här behövs ett fält. c) Här

Läs mer

BINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X

BINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X Algoritmer och Datastrukturer Kary FRÄMLING/Göran PULKKIS (v23) Kap. 7, Sid 1 BINÄRA TRÄD Träd används för att representera olika slags hierarkier som ordnats på något sätt. Den mest använda trädstrukturen

Läs mer

UPPGIFT 1 V75 FIGUR 1.

UPPGIFT 1 V75 FIGUR 1. UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp

Läs mer

Fö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 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 mer

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv Datorlära 6 Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv 1 Arbeta med Strängar Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str=

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

#include <stdio.h> #include <string.h>

#include <stdio.h> #include <string.h> #include #include void fun(char s[]) int i=-1; while(s[++i]!=0) if('a'

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Föreläsning REPETITION & EXTENTA

Föreläsning REPETITION & EXTENTA Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer