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

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

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

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

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

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

översiktskurs (5DV031)

Enkla uppgifter. Uppgift 1. Uppgift 2

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

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

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

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

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

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

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

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

Belopp Belopp > procent

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

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

Programmering Grundkurs (HI1900) Teoridel

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

Föreläsning 9. Repetition och exempelproblem

Indicerade variabler

Uppgift 1 ( Betyg 3 uppgift )

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

Programmering i C, 7,5 hp

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

Funktioner och programstruktur. Föreläsning 5

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

Arrays (indicerade variabler) Föreläsning 6

OOP Tentamen

Funktioner och programstruktur. Föreläsning 5

Tecken & Strängar. Kapitel 7

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

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

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

*Pekarvärden *Pekarvariabler & *

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2

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

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;

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

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

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

Loopar och datatyper. Föreläsning 3

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Arrays (indicerade variabler) Föreläsning 4

Loopar och datatyper. Föreläsning 3

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 8:15-13:15. Måndagen 18 oktober Tentamen består av 8 sidor

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

C++ Slumptalsfunktioner + switch-satsen

Indexerade variabler

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

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

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

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

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

Frekvenstabell över tärningskast med C#

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

HI1024 Programmering, grundkurs TEN

struct egendefinierad typ struct LECTURE_TYPE { char teacher[99]; float lengthinminutes; char type; /* L = lecture, E = exercise */ };

Hantering av textsträngar och talsträngar. William Sandqvist

Inledande programmering med C# (1DV402) Tärningarna ska kastas

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

7 Programmeringsteknik

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

if (n==null) { return null; } else { return new Node(n.data, copy(n.next));

Funktionspekare, inledning: funktionsanropsmekanismen. Anrop via pekare

Datorövning 1. Följ dessa instruktioner, och skapa och provkör det enkla C-programmet.

C++ Lektion Tecken och teckenfält

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

Tentamen *:58/ID100V Programmering i C Exempel 3

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs Verónica Gaspes. IDE-sektionen.

Laboration 12, Arrayer

Exempel ( )

Tentamen i Programmering grundkurs och Programmering C

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,

Abstrakta datastrukturer

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

Kapitel Datatypen char

Datorövningar. Grunderna i C/C++

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: 18:e augusti klockan

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

2 Pekare och dynamiska variabler.

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

Uttryck och villkor. Föreläsning 2

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

Föreläsning 4. Val, boolska värden, läsbarhet, osv

Datorövning 1. Får du ej fram någon startsida startar du den från huvudmenyn Help Show Start Page.

SOS HT Slumpvariabler Diskreta slumpvariabler Binomialfördelning. Sannolikhetsfunktion. Slumpförsök.

Tentamen i Programmering grundkurs och Programmering C

JavaScript Block Editor:

Tentamen Programmeringsteknik II Inledning. Anmälningskod:

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

TDIU01 - Datortenta (DAT2)

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

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

Problemlösning (3/5) Lösningar

Tentamen i Programmering grundkurs och Programmering C

Transkript:

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 ut en frekventabell över observationerna. (Layouten behöver inte se ut precis som i körexemplet nedan.) Hur många tärningskast vill du göra? 60 Värde Frekvens ---------------- 1 8 2 11 3 12 4 7 5 10 6 12 Hur har det gått för er? har ni löst problemet? De som inte har löst det, vilka svårigheter har ni stött på? De som har löst problemet vilka svårigheter har ni klarat av? Kan ni precisera hur ni har klarat av dessa svårigheter? De som inte har löst det, kan ni ta till er av hur man kan angripa problem i framtiden? Vi ser på ett lösningsförslag: Johnny Panrike, johnny.panrike@sth.kth.se Sidan 1 av 6

#include <stdio.h> #include <conio.h> #include <stdlib.h> /* Programmet simulerar n tärningskast, och skriver ut en frkevenstabell */ void main(void) const int sidor=6; int i, j, n, slumptal, frekv[sidor+1]; /* frekv[0] används ej. */ printf("hur många kast med en %d-sidig tärning vill du göra? ",sidor); scanf("%d",&n); /* Frekvenstabellen nollställs. */ for(i=1;i<=sidor;i++) frekv[i]=0; srand(time(0)); for(j=1;j<=n;j++) slumptal=(rand()%sidor)+1; (frekv[slumptal])++; /* Utskrift av frekvenstabell. */ printf("värde Frekvens \n"); printf("---------------- \n"); for(i=1;i<=sidor;i++) printf(" %3d %3d \n",i,frekv[i]); getch(); Johnny Panrike, johnny.panrike@sth.kth.se Sidan 2 av 6

Andra problemet: Lottorad Skriv ett program som slumpar fram en lottorad. En lottorad består av 7 olika heltal i intervallet [1,35]. (Det är inget krav att lottoraden skall skrivas ut sorterad, men det brukar bli resultatet av den enklaste lösningen på detta problem.) Lottoraden är 5 13 19 20 23 28 35 Hur har det gått för er? har ni löst problemet? De som inte har löst det, vilka svårigheter har ni stött på? De som har löst problemet vilka svårigheter har ni klarat av? Kan ni precisera hur ni har klarat av dessa svårigheter? De som inte har löst det, kan ni ta till er av hur man kan angripa problem i framtiden? Vi ser på ett lösningsförslag: Johnny Panrike, johnny.panrike@sth.kth.se Sidan 3 av 6

#include <stdio.h> #include <conio.h> #include <stdlib.h> void main(void) /* dragen[i] är TRUE om boll nr i redan dragits. (Index 0 används ej.) */ bool dragen[36]; int nr, i, antal=0; srand(time(0)); /* Från början är inga bollar dragna */ for(i=1;i<=35;i++) dragen[i]=false; /* Sju bollar skall dras */ do nr=(rand()%35)+1; /* Om bollen inte dragits tidigare är allt bra, i annat fall måste en ny boll dras. */ if(dragen[nr]==false) dragen[nr]=true; antal++; while(antal<7); /* Lottoraden skrivs ut, i storleksordning */ printf("veckans lottorad : "); for(i=1;i<=35;i++) if(dragen[i]==true) printf("%d ",i); getch(); Johnny Panrike, johnny.panrike@sth.kth.se Sidan 4 av 6

Tredje problemet: Sökning Skriv ett program som slumpar 10 heltal i intervallet [1,20] och därefter frågar användaren vilket tal som söks. Om talet finns med bland de slumpade, skall index till den första förekomsten av talet skrivas ut (det kan finnas dubletter). Om talet ej finns med bland de slumpade skall texten Talet finns ej! skrivas ut. Slumptalen : 3 10 7 12 4 7 18 13 1 4 Vilket tal söks? 7 Talet finns på index nr 2. Hur har det gått för er? Har ni löst problemet? De som inte har löst det, vilka svårigheter har ni stött på? De som har löst problemet vilka svårigheter har ni klarat av? Kan ni precisera hur ni har klarat av dessa svårigheter? De som inte har löst det, kan ni ta till er av hur man kan angripa problem i framtiden? Vi ser på ett lösningsförslag: Johnny Panrike, johnny.panrike@sth.kth.se Sidan 5 av 6

#include <stdio.h> #include <conio.h> #include <stdlib.h> /* Programmet slumpar tal i intervallet [0..20] och lagrar dessa i en array. Användaren söker ett tal; om talet finns returneras index till första förekomsten. */ void main(void) const int antal=5; int m[antal], sokt, i; bool found=false; srand(time(0)); /* Talen slumpas och skrivs ut */ for(i=0;i<antal;i++) m[i]=(rand()%20)+1; printf("%d ",m[i]); /* Sökningen genomförs */ printf("vilket tal eftersöks?"); scanf("%d",&sokt); i=0; /* Det finns två skäl att avbryta sökningen: 1) Vi har hittat det sökta talet. 2) Det finns inga fler tal att kontrollera. */ do if(m[i]==sokt) found=true; else i++; while(found==false && i<antal); if(found==true) printf("sökta talet finns på index %d",i); else printf("sökta talet finns ej!"); getch(); Johnny Panrike, johnny.panrike@sth.kth.se Sidan 6 av 6