Enkla uppgifter. Uppgift 1. Uppgift 2

Relevanta dokument
Belopp Belopp > procent

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

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

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

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

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

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

översiktskurs (5DV031)

Programmering i C, 7,5 hp

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

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

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 13. Skriv en loop som fyller arrayen int v[100] med talen

a = a a a a a a ± ± ± ±500

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Nu till dagens ämne: Vi rekapitulerar det första problemet ur ProblemI:

Indicerade variabler

UPPGIFT 1 V75 FIGUR 1.

C++ Slumptalsfunktioner + switch-satsen

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

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

Arrays (indicerade variabler) Föreläsning 6

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

Föreläsning 9. Repetition och exempelproblem

Pseudokod. Arbetets gång

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

Loopar och datatyper. Föreläsning 3

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

Loopar och datatyper. Föreläsning 3

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

52 = Vi kan nu teckna hur mycket pengar han har, just när han har satt in sina 280 kr den tredje måndagen

Arrays (indicerade variabler) Föreläsning 4

3, 6, 9, 12, 15, 18. 1, 2, 4, 8, 16, 32 Nu är stunden inne, då vill vill summera talen i en talföljd

Problemlösning Lösningar

15.1 Mer om betingad sannolikhet

Problemlösning (3/5) Lösningar

Data, typ, selektion, iteration

3.3 for-satsen. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 3

Programmering Grundkurs (HI1900) Teoridel

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

TANA17 Matematiska beräkningar med Matlab

Sidor i boken Figur 1: Sträckor

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

kvoten mellan två på varandra följande tal i en talföljd är konstant alltid lika stor.

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

Programmering Grundkurs Laboration 1

Problemlösning Lösningar

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: 9p av totalt 20p Hjälpmedel: MATLAB

Antal ögon Vinst (kr) Detta leder till följande uttryck E(x) = x x p X(x) x f X(x)dx

ÖVNINGSTENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 10:15-13:15. Torsdagen 20 maj Tentamen består av 4 sidor.

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

TAIU07 Matematiska beräkningar med Matlab

Blandat. Föreläsning 5

Moment 1.15, 2.1, 2.4 Viktiga exempel 2.2, 2.3, 2.4 Övningsuppgifter Ö2.2ab, Ö2.3. Polynomekvationer. p 2 (x) = x 7 +1.

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

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

Problemlösning Lösningar

17.1 Kontinuerliga fördelningar

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

Föreläsning 6. Slumptal Testa slumptal Slumptal för olika fördelningar Grafer Datastrukturen graf

Linjära ekvationssystem

Några småsaker. switch break, continue, goto Kommentarer

1 Sifferkryss 21,15,9,22,15,8. i vårt exempel. Programmet ska i en tabell skriva ut de 9 talen, som för vårt exempel ger. Håkan Strömberg 1 KTH STH

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

Övningsuppgifter till föreläsning 2 Variabler och uttryck

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

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 8:15-13:15. Onsdagen 10 juni Tentamen består av 8 sidor

Sidor i boken f(x) = a x 2 +b x+c

Enkla datatyper minne

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

f (a) sin

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

Övningstenta 6. d b = 389. c d a b = 1319 b a

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

f(t 2 ) f(t 1 ) = y 2 y 1 Figur 1:

Tentamen i Programmering

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

DD1361 Programmeringsparadigm. Carina Edlund

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Onsdagen 21 maj Tentamen består av 6 sidor.

Sidor i boken

Polynomekvationer. p 2 (x) = x x 3 +2x 10 = 0

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I

Datorteknik 2 (AVR 2)

TENTAMEN. Rättande lärare: Sara Sebelius & Håkan Strömberg Examinator: Niclas Hjelm Datum:

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

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-18:15. Torsdagen 7 juni Tentamen består av 5 sidor.

Låt eleverna lösa uppgifterna med huvudräkning och sedan jämföra med resultatet av ett program, t.ex. print(6 + 4 * 3)

Programmeringsuppgifter 1

Lösningar och kommentarer till uppgifter i 1.1

Uttryck och villkor. Föreläsning 2

UPPGIFT 1 EURO. Utdata: Två rader, som för indata ovan, ser ut som följer: Före resan: bank 1 Efter resan: bank 3

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 8:15-13:15. Måndag 8 juni Tentamen består av 4 sidor.

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

x+2y+3z = 14 x 3y+z = 2 3x+2y 4z = 5

Ekvationslösning genom substitution, rotekvationer

Dagens tema är exponentialfunktioner. Egentligen inga nyheter, snarare repetition. Vi vet att alla exponentialfunktioner.

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

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

Transkript:

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 enkla. I vissa uppgifter erhålles data genom slumptal. Uppgift 1 Skriv ett program som följer följande dialog Hur mycket pengar har du nu? 1000 Hur mycket vill du handla för? 326 Hur mycket vill du handla för? 410 Hur mycket vill du handla för? 350 *** Så mycket har du inte Hur mycket vill du handla för? 200 Hur mycket vill du handla för? 0 Du har 64 kronor kvar. Handlandet avslutas med 0. Uppgift 2 Skriv ett program som följer följande dialog: Från antal? 10 Till Antal? 13 Pris? 7 Antal Pris ----- ---- 10 70 11 77 12 84 13 91 Programmet tar emot indata och producerar en tabell Håkan Strömberg 1 KTH STH

Uppgift 3 Adam spelar följande hasardspel 100. Han satsar 1 kr och kastar två tärningar. Vid vinst får an tillbaka satsad krona plus följande: Summa Vinst 2 eller 12 5 kr 3 eller 11 3 kr Simulera detta spel och uppskatta Adams resultat. Adams resultat blev -41 kr Uppgift 4 Vi har en blå vanlig tärning och en röd. Simulera följande spel 1000 gånger och bestäm medelresultatet per spel med en decimal med hjälp av följande tabell Blå visar Röd visar Resultat > 3 < 2 +2 > 5 = 3 1 4 5 1 2 = 4 +2 I medeltal får spelaren 0.2 poäng/spel Uppgift 5 Skriv ett program som beräknar den totala lönen för att antal dagar. Där antalet timmar över 8, under en dag, ger 50% övertidsersättning. Lön kr/tim? 156 Antal dagar? 3 Timmar dag 1? 10 Timmar dag 2? 5 Timmar dag 3? 8 Den totala lönen blir 3744 kr Håkan Strömberg 2 KTH STH

Uppgift 6 Adam (1), Bertil (2) och Curt (3) startar en pokerkväll, alla med 1000 kr. De vinner och förlorar enligt följande: Vem vann? 1 Vem förlorade? 3 Belopp? 150 Vem vann? 2 Vem förlorade? 1 Belopp? 85 Vem vann? 3 Vem förlorade? 1 Belopp? 40 Vem van? 0 Adam 1025 kr Bertil 1085 kr Curt 890 kr Skriv ett program som ger denna dialog, som normalt blir mycket längre. Uppgift 7 Skriv ett program som frågar efter ett tal n och som sedan summerar talen s = 1+2+3+4+5+6+... tills dess summa s n. Programmet ska då skriva ut s och det sista talet som adderades. Vilken summa ska uppnås? 10000 Summan är 10011 Sista termen är 141 Håkan Strömberg 3 KTH STH

Uppgift 8 k 1 x 3 +k 2 x 2 +k 3 x+k 4 = 0 Att lösa en tredjegradsekvation är i allmänt en svår uppgift. En tredjegradsekvation har tre rötter. I denna uppgift är alla rötter heltal i intervallet [ 10, 10]. Vetskapen om detta gör det enkelt att finna rötterna med hjälp av en for-loop. Skriv ett program som tar emot de fyra koefficienterna k 1,k 2,k 3,k 4 (alla är heltal) som bestämmer ekvationen om som sedan söker reda på och skriver ut de tre rötterna. k1? 1 k2? 0 k3? -13 k4? -12 x=-3 x=-1 x=4 Här några ekvationer att testa programmet med k 1 k 2 k 3 k 4 x 1 x 2 x 3 1-3 -40 0-5 0 8 1-6 11-6 1 2 3 1-5 -100 500-10 5 10 Uppgift 9 I brädspelet Monopol finns det 40 rutor runt brädet. Den som hamnar på ruta nummer 31 får Gå direkt till fängelse, som finns på ruta 11. En spelare startar från ruta 1 och gör under spelets gång 100 varv. Varje gång han hamnar på ruta 31 får han alltså flytta till fängelset, ruta 11. Ett kast innebär att spelaren kastar två vanliga tärningar och flyttar det antal rutor som dessa tärningar visar tillsammans. Simulera spelet och ta reda på, ungefär, hur många kast han kommer att behöva för att göra för de 100 varven. Meddela dessutom hur många gånger han hamnade på ruta 31. Antal kast? 619 Antal gånger på ruta 31? 16 Håkan Strömberg 4 KTH STH

Uppgift 10 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9... Ser du mönstret i följden av produkter ovan? Skriv ett program som frågar efter antalet faktorer och beräknar produkten för detta antal. Håkan Strömberg 5 KTH STH

Lösningar Uppgift 1 3 int belopp,handlafor; 4 5 printf("hur mycket pengar har du nu? "); 6 scanf("%d",&belopp); 7 do{ 8 printf("hur mycket vill du handla för? "); 9 scanf("%d",&handlafor); 10 if (belopp-handlafor>=0) 11 belopp=belopp-handlafor; 12 else 13 printf("*** Så mycket har du inte\n"); 14 }while (handlafor!=0); 15 printf("du har %d kronor kvar\n",belopp); 16 } Uppgift 2 2 3 int main(void){ 4 int fran,till,pris,antal; 5 printf("från antal? "); 6 scanf("%d",&fran); 7 printf("till antal? "); 8 scanf("%d",&till); 9 printf("pris/styck? "); 10 scanf("%d",&pris); 11 printf("antal Pris\n"); 12 printf("----- ----\n"); 13 for(antal=fran;antal<=till;antal++) 14 printf("%5d %4d\n",antal,antal*pris); 15 } Håkan Strömberg 6 KTH STH

Uppgift 3 2 #include <stdlib.h> 3 #include <time.h> 4 5 int main(void){ 6 int spel,belopp=0,kast; 7 srand(time(0)); 8 for (spel=1;spel<=100;spel++){ 9 belopp--; 10 kast=rand()%6+1+rand()%6+1; 11 if (kast==2 kast==12) 12 belopp=belopp+5; 13 if (kast==3 kast==11) 14 belopp=belopp+3; 15 } 16 printf("adams resultat blev %d kr\n",belopp); 17 } Uppgift 4 2 #include <stdlib.h> 3 #include <time.h> 4 5 int main(void){ 6 int spel,rod,bla,resultat=0; 7 srand(time(0)); 8 for (spel=1;spel<=1000;spel++){ 9 bla=rand()%6+1; 10 rod=rand()%6+1; 11 if (bla>3 && rod<2) resultat+=2; 12 if (bla>5 && rod==3) resultat-=1; 13 if (bla<=4 && rod>=5) resultat-=1; 14 if (bla!=2 && rod==4) resultat+=2; 15 } 16 printf("i medeltal får spelaren %.1f poäng/spel\n",resultat/1000.0); 17 } Håkan Strömberg 7 KTH STH

Uppgift 5 3 int timlon,antaldagar,dag,timmar; 4 float totlon=0; 5 printf("lön kr/tim? "); 6 scanf("%d",&timlon); 7 printf("antal dagar? "); 8 scanf("%d",&antaldagar); 9 for (dag=1;dag<=antaldagar;dag++){ 10 printf("timmar dag %d? ",dag); 11 scanf("%d",&timmar); 12 totlon=totlon+timmar*timlon; 13 if (timmar>8) 14 totlon=(float)totlon+(timmar-8)*timlon/2; 15 } 16 printf("den totala lönen blir %.2f kr\n",totlon); 17 } Uppgift 6 3 int adam=1000,bertil=1000,curt=1000; 4 int vinnare=1,forlorare,belopp; 5 while (vinnare!=0){ 6 printf("vem vann? "); 7 scanf("%d",&vinnare); 8 if (vinnare>0){ 9 printf("vem förlorade? "); 10 scanf("%d",&forlorare); 11 printf("belopp? "); 12 scanf("%d",&belopp); 13 if (vinnare==1) adam=adam+belopp; 14 if (vinnare==2) bertil=bertil+belopp; 15 if (vinnare==3) curt=curt+belopp; 16 if (forlorare==1) adam=adam-belopp; 17 if (forlorare==2) bertil=bertil-belopp; 18 if (forlorare==3) curt=curt-belopp; 19 } 20 } 21 printf("adam %d\n",adam); 22 printf("bertil %d\n",bertil); 23 printf("curt %d\n",curt); 24 } Håkan Strömberg 8 KTH STH

Uppgift 7 3 int summa=0,tal=0,onskadsumma; 4 printf("vilken summa ska uppnås? "); 5 scanf("%d",&onskadsumma); 6 while (summa<onskadsumma){ 7 tal++; 8 summa=summa+tal; 9 } 10 printf("summan är %d\n",summa); 11 printf("sista termen är %d\n",tal); 12 } Uppgift 8 3 int k1,k2,k3,k4,x,y; 4 printf("k1? "); 5 scanf("%d",&k1); 6 printf("k2? "); 7 scanf("%d",&k2); 8 printf("k3? "); 9 scanf("%d",&k3); 10 printf("k4? "); 11 scanf("%d",&k4); 12 for (x=-10;x<=10;x++){ 13 y=k1*x*x*x+k2*x*x+k3*x+k4; 14 if (y==0) 15 printf("x=%d\n",x); 16 } 17 } Håkan Strömberg 9 KTH STH

Uppgift 9 2 #include <stdlib.h> 3 #include <time.h> 4 5 int main(void){ 6 int plats=1,kast,varv=0,ruta31=0; 7 int antalkast=0; 8 9 srand(time(0)); 10 while (varv<100){ 11 kast=rand()%6+1+rand()%6+1; 12 antalkast++; 13 plats=plats+kast; 14 if (plats>40){ 15 plats=plats-40; 16 varv++; 17 } 18 if (plats==31){ 19 ruta31++; 20 plats=11; 21 } 22 } 23 printf("antal kast: %d\n",antalkast); 24 printf("antal gånger på ruta 31: %d\n",ruta31); 25 } Uppgift 10 3 int t=0,n=1,antalfakt,faktor; 4 double p=1.0; 5 printf("antal faktorer? "); 6 scanf("%d",&antalfakt); 7 for (faktor=1;faktor<=antalfakt;faktor++){ 8 if (faktor%2==1) 9 t=t+2; 10 else 11 n=n+2; 12 p=p*(double)t/n; 13 } 14 printf("produkten blir %.3f\n",p); 15 } Håkan Strömberg 10 KTH STH