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

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

Enkla uppgifter. Uppgift 1. Uppgift 2

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

Belopp Belopp > procent

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

Arrays (indicerade variabler) Föreläsning 6

Arrays (indicerade variabler) Föreläsning 4

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

Indicerade variabler

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

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

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

Problemlösning (3/5) Lösningar

HI1024 Programmering, grundkurs TEN

översiktskurs (5DV031)

Föreläsning 9. Repetition och exempelproblem

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

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

UPPGIFT 1 V75 FIGUR 1.

Programmering Grundkurs (HI1900) Teoridel

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;

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

C++ Slumptalsfunktioner + switch-satsen

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

Programmering Grundkurs Laboration 1

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

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

Problemlösning Lösningar

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

Programmering i C, 7,5 hp

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

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.

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Föreläsning 6 pekare och pekare tillsammans med arrayer

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

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

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

Programmeringsolympiaden Kvalificering mars 2005 FIGUR 1.

15.1 Mer om betingad sannolikhet

HI1024 Programmering, grundkurs TEN

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

UPPGIFT 1 WILL ROGERS FENOMEN

samma sätt. Spara varje uppgift som separat Excelfil. För att starta Excel med Resampling-pluginet, välj Resampling Stats for Excel i Start-menyn.

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

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

HI1024 Programmering, grundkurs TEN

13.1 Matematisk statistik

19.1 Funktioner av stokastiska variabler

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

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

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

Programmeringsteknik för Ingenjörer VT06. Föreläsning 10

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

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

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

Sannolikheten att vinna ett spel med upprepade myntkast

Funktioner och programstruktur. Föreläsning 5

Programmeringsuppgifter 1

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

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

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

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

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

Problemlösning Lösningar

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

x 23 + y 160 = 1, 2 23 = ,

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

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

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

LÄRARHANDLEDNING. Eleverna kan två och två eller i större grupper på ett lekfullt sätt träna följande: Talinnehåll Addition Subtraktion Multiplikation

HI1024 Programmering, grundkurs TEN

Diskreta Linjära System och Skiftregister

TENTAMEN. HF1002, 6H3120, 6H3117 Diskret Matematik. Skrivtid 13:15-17:15. Måndag 19 december Tentamen består av 5 sidor.

Föreläsning 10. Pekare (Pointers)

Funktioner och programstruktur. Föreläsning 5

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

Kurs i programmering Java Uppgifter

FACIT. Kapitel 1. Version

TANA81: Simuleringar med Matlab

Sidor i boken Figur 1: Sträckor

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

HI1024 Programmering, grundkurs TEN

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Stokastisk geometri. Lennart Råde. Chalmers Tekniska Högskola och Göteborgs Universitet

JavaScript Block Editor:

Loopar och datatyper. Föreläsning 3

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

Kontrollera att följande punkter är uppfyllda innan rapporten lämnas in: Första sidan är ett försättsblad (laddas ned från kurshemsidan)

UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR

Uppgift 1 ( Betyg 3 uppgift )

Slumpförsök för åk 1-3

Extramaterial till Matematik Y

Högstadiets matematikorientering

Indexerade variabler

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Loopar och datatyper. Föreläsning 3

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Vidare får vi S 10 = 8, = 76, Och då är 76

Transkript:

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 i intervallet 100...200. och därefter tar reda på hur många tal som är lika på samma platser i de två vektorerna. Största gapet Skriv ett program som... fyller en array deklarerad int v[1000] med slumptal i intervallet[0... 499]. sorterar talen i arrayen i stigande ordning och därefter tar reda på den största luckan i den sorterade sekvensen. Till exempel i sekvensen...,345,347,350,352... är största luckan 350 347 = 3 Multiplikationstabell Skriv ett program som genererar en multiplikationstabell med följande utseende 2 3 4 5 6 7 8 9 10 2 4 6 8 10... 20 3 6 9 12... 30... 10 20 30... 100 För att få träning på matriser ska först alla multiplikationer utföras och lagras i en tvådimensionell matris. Därefter sker utskriften Håkan Strömberg 1 STH KTH

Över hundra Vid upprepade kast med en tärning summeras antalet ögon successivt. Så småningom når summan över 100. Skriv ett program som simulerar 30 000 sådana kastserier och bestämmer den procentuella fördelningen mellan olika slutsummor. Ett körningsexempel klarar ut begreppen: 101 Avslutade i 27.9% 102 Avslutade i 24.2% 103 Avslutade i 19.2% 104 Avslutade i 14.3% 105 Avslutade i 9.5% 106 Avslutade i 4.9% Programmet ska kunna ge olika resultat vid olika körningar. Tennisturnering I tennisklubben finns 10 spelare, rangordnade från Adam, nummer 1, som är bäst till Bertil, nummer 10, som är sämst. Adam utmanar nu Bertil och ber honom sätta ihop ett lag av spelare, bestående av Bertil och ytterligare två spelare. Varje spelare i det ena laget ska sedan möta varje spelare i det andra laget. Bertil väljer de två bästa, lediga spelarna och får ihop laget [10,2,3]. Adam, som känner sig överlägsen, väljer laget [1, 8, 9]. Hur går matchen, om varje högre rankad spelare alltid vinner över lägre rankad? Skriv ett program med följande dialog: Antal spelare i varje lag? 3 Spelare i Bertils lag? 10 2 3 Spelare i Adams lag? 1 8 9 Matchen slutar 4-5 Kör sedan programmet med utökade lag. Först Bertils[10,2,3,5] mot Adams[1,8,9,4] och sedan Bertils [10, 2, 3, 5, 7] mot Adams [1, 8, 9, 4, 6]. Resultatet är överraskande eftersom man får en känsla av att Adams lag blir starkare. Detta kallas för en paradox! Håkan Strömberg 2 STH KTH

Bästa tärningen Figur 1: De tre tärningarna Skriv ett program matchar tärningarna mot varandra. I var och en av de tre matcherna kastas varje tärning 100000 gånger. Högst talet vinner. Efter de 100000 kasten presenteras den vinstprocenten för varje tärning. Tärning 1 vinner i 44.53% Tärning 2 vinner i 55.47% Tärning 1 vinner i 55.75% Tärning 3 vinner i 44.25% Tärning 2 vinner i 44.33% Tärning 3 vinner i 55.67% Här har man alltså en idé till ett barspel där man alltid kommer att vinna i långa loppet om man låter motståndaren välja tärning först. Darttavlan 20 40 60 25 50 Figur 2: I figur 2 ser du en darttavla och hur många poäng man får då man träffar ett visst fält. Totalt finns det 62 fält. Adam har tre pilar, en blå, en röd och en gul, som han kastar mot tavlan. Antag att han träffar tavlan med alla tre pilarna. Skriv ett program som gör upp en frekvenstabell över de olika totalpoäng som är möjliga och hur många gånger dessa kan erhållas. Håkan Strömberg 3 STH KTH

Skiftregister Figur 3: Här visas första skiftningen I figuren ser Du ett skiftregister med sex bitar. En skiftning innebär att bitarna på platserna 1 och 2 adderas modulo 2 samtliga bitar i registret skiftas sedan ett steg till vänster (till lägre index) resultatet från additionen läggs på plats 6. Skriv ett program som frågar efter antalet skiftningar och som skriver ut innehållet i hela skiftregistret efter skiftningarna. Skiftregistrets startvärden lagras i programmets kod (hårdkodas), men ska enkelt kunna ändras för olika tester. Ett körningsexempel med startkonfigurationen enligt figuren: Antalet skiftningar: 5 Skiftregistret slutar i detta läge 011001 Håkan Strömberg 4 STH KTH

Lösningsförslag Arraymotion int a[50],i; for(i=0;i<50;i++) a[i]=2*i+1; for(i=49;i>=0;i--) printf("%d ",a[i]); Antal lika #include <stdlib.h> #include <time.h> int a[100],b[100],i,n=0; srand(time(0)); for(i=0;i<100;i++){ a[i]=rand()%101+100; b[i]=rand()%101+100; for(i=0;i<100;i++) if(a[i]==b[i]) n++; printf("antal lika %d\n",n); Håkan Strömberg 5 STH KTH

Största gapet int v[1000],i,j,max=0,tmp; srand(time(0)); for(i=0;i<1000;i++) v[i]=rand()%500; for(i=0;i<999;i++) for(j=i+1;j<1000;j++) if(v[i]>v[j]){ tmp=v[i]; v[i]=v[j]; v[j]=tmp; for(i=0;i<999;i++) if(v[i+1]-v[i]>max) max=v[i+1]-v[i]; printf("största gapet %d\n",max); Multiplikationstabell int i,j,m[10][10]; for(i=0;i<10;i++) for(j=0;j<10;j++) m[i][j]=(i+1)*(j+1); for(i=0;i<10;i++){ for(j=0;j<10;j++) printf("%4d",m[i][j]); printf("\n"); Håkan Strömberg 6 STH KTH

Över hundra #include <stdlib.h> #include <time.h> int serie,summa,frekvens[6]={0,0,0,0,0,0,k; srand(time(0)); for(serie=1;serie<=30000;serie++){ summa=0; while(summa<=100) summa+=rand()%6+1; frekvens[summa-101]++; for(k=0;k<6;k++) printf("%d avslutade i %4.1f %%\n",k+101,frekvens[k]/300.0); Tennisturnering int lag1[5],lag2[5],vlag1=0,vlag2=0,i,j,n; lag1[0]=10; lag2[0]=1; printf("antal spelare i lagen (<=5)? "); scanf("%d",&n); printf("lag 1 : [10 "); for(i=1;i<n;i++) scanf("%d",&lag1[i]); printf("lag 2 : [1 "); for(i=1;i<n;i++) scanf("%d",&lag2[i]); for(i=0;i<n;i++) for(j=0;j<n;j++) if(lag1[i]<lag2[j]) vlag1++; else vlag2++; printf("lag 1 vann %d matcher\n",vlag1); printf("lag 2 vann %d matcher\n",vlag2); Håkan Strömberg 7 STH KTH

Bästa tärningen int t1[6]={2,9,2,9,4,4, t2[6]={3,7,3,7,5,5, t3[6]={1,8,1,8,6,6; int i,vt=0,vs=0,rt,rs; for(i=1;i<=100000;i++){ rt=t1[rand()%6]; rs=t2[rand()%6]; if(rt>rs) vt++; else vs++; printf("tärning 1 vinner i %.2f%%\n",vt/1000.0); printf("tärning 2 vinner i %.2f%%\n",vs/1000.0); vt=0; vs=0; for(i=1;i<=100000;i++){ rt=t1[rand()%6]; rs=t3[rand()%6]; if(rt>rs) vt++; else vs++; printf("tärning 1 vinner i %.2f%%\n",vt/1000.0); printf("tärning 3 vinner i %.2f%%\n",vs/1000.0); vt=0; vs=0; for(i=1;i<=100000;i++){ rt=t2[rand()%6]; rs=t3[rand()%6]; if(rt>rs) vt++; else vs++; printf("tärning 2 vinner i %.2f%%\n",vt/1000.0); printf("tärning 3 vinner i %.2f%%\n",vs/1000.0); Håkan Strömberg 8 STH KTH

Darttavlan int p[63],n=1,i,f[181],pil1,pil2,pil3,frekvens[181]={0; for(i=1;i<=20;i++){ p[n++]=i; p[n++]=2*i; p[n++]=3*i; p[n++]=25; p[n]=50; for(pil1=1;pil1<=n;pil1++) for(pil2=1;pil2<=n;pil2++) for(pil3=1;pil3<=n;pil3++) frekvens[p[pil1]+p[pil2]+p[pil3]]++; for(i=3;i<=180;i++) printf("resultat %3d har uppnåtts %4d gånger\n",i,frekvens[i]); Skiftregister int n,reg[6]={1,0,1,1,1,0,k,siffra,i; printf("antalet skiftningar: "); scanf("%d",&n); for(k=1;k<=n;k++){ siffra=(reg[0]+reg[1])%2; for(i=0;i<5;i++) reg[i]=reg[i+1]; reg[5]=siffra; printf("skiftregistret slutar i detta läge: "); for(i=0;i<=5;i++) printf("%d",reg[i]); printf("\n"); Håkan Strömberg 9 STH KTH