Föreläsning 9. Repetition och exempelproblem

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

Loopar och datatyper. Föreläsning 3

Arrays (indicerade variabler) Föreläsning 6

Funktioner och programstruktur. Föreläsning 5

Arrays (indicerade variabler) Föreläsning 4

Funktioner och programstruktur. Föreläsning 5

Uttryck och villkor. Föreläsning 2

Loopar och datatyper. Föreläsning 3

Uttryck och villkor. Föreläsning 2

Indexerade variabler

Indicerade variabler

HI1024 Programmering, grundkurs TEN

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

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

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

Lösningsförslag till övningsuppgifter till föreläsning 6 Funktioner

Att komma igång. Föreläsning 1

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

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

översiktskurs (5DV031)

Programmering i C, 7,5 hp

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

Föreläsning 11. Strängar

Lösningsförslag till övningsuppgifter till föreläsning 6 Funktioner

Funk%oner. Vad är det och hur definierar vi en Top- down- programmering lokala globala variabler void och flera inparametrar

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

En kort text om programmering i C.

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

HI1024 Programmering, grundkurs TEN

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

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

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

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

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

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

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

Enkla uppgifter. Uppgift 1. Uppgift 2

Programmering Grundkurs (HI1900) Teoridel

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

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

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

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,

7 Programmeringsteknik

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

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

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

PROGRAMMERING-JAVA TENTAMINA

HI1024 Programmering, grundkurs TEN

Att komma igång. Föreläsning 1

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

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

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

Planering Programmering grundkurs HI1024 HT TIDAA

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

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Belopp Belopp > procent

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

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

Vad är det och hur definierar vi en Biblioteksfunktioner (math) Top-down-programmering lokala globala variabler Arrays som in-parametrar

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

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

Tentamen i Programmering grundkurs och Programmering C

Tecken & Strängar. Kapitel 7

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

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

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öreläsning 4. Val, boolska värden, läsbarhet, osv

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

Repetition C-programmering

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

4 Sammansatta datatyper

Föreläsning 10. Pekare (Pointers)

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

Vad har vi lärt oss så här långt Vad är en sträng? Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar.

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde.

Data, typ, selektion, iteration

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

Introduktion C-programmering

C++ Slumptalsfunktioner + switch-satsen

4 Sammansatta datatyper

Att komma igång. Föreläsning 1

Ulf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment:

Programmeringsuppgifter 1

Tentamen , Introduktion till Java, dtaa98, dtea53

[] Arrayer = Indexerad variabel

HI1024 Programmering, grundkurs TEN

Föreläsning 9. struct

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,

FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I

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

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

JAVAUTVECKLING LEKTION 3

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Planering Programmering grundkurs HI1024 HT data

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

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;

Transkript:

Föreläsning 9 Repetition och exempelproblem

/* Calculation of distance when travelling at speed 25 m/s */ #include <stdio.h> int distance,speed,time; speed = 25; printf("hur lang tid? "); scanf("%d", &time); distance = speed * time; printf("med 25 m/s kommer du %d m.\n",distance); printf("lycka till pa farden\n");

//Beräknar priset av cd-skiver med ev. rabatt #include <stdio.h> int nrofrecords; float price; printf("valkommen!\nhur manga skivor vill du kopa?"); scanf("%d",&nrofrecords); if(nrofrecords<11) price=nrofrecords*9.9; else if(nrofrecords<51) price=nrofrecords*9.9*0.95; else price=nrofrecords*9.9*0.9; printf("priset blir: %.0f",price);

//Summera heltal #include <stdio.h> printf("summera heltal\n"); printf("skriv in heltal, avsluta med 0\n"); int n=1, sum=0; while(n!= 0) scanf("%d",&n); sum = sum + n; printf("summa:%d \n", sum);

#include <stdio.h> #include <limits.h> int max,min,k,number; min=int_max; max=int_min; for(k=1;k<=5;k++) printf("tal nr %d: ",k); scanf("%d",&number); if (number<min) min=number; if (number>max) max=number; printf("%d %d\n",max,min);

char ch; scanf("%c",&ch); if('a' <= ch && ch <= 'z') ch = ch - 'a' + 'A'; printf("%c",ch); Kom ihåg att scanf läser enterslag om sådana finns!

#include <stdio.h> #define SIZE 7 float temp[size]; float sum=0; printf("temperatur per veckodag?\n"); for(int i=0;i<size;i++) scanf("%f",&temp[i]); for(int i=0;i<size;i++) sum=sum+temp[i]; printf("medeltemp:%.2f\n",sum/size);

#include <stdio.h> #include <stdlib.h> #include <time.h> srand(time(null)); //Anropas EN gång för att sätta frö int dice1 = rand()%6+1; //blir slumptal 1-6 int dice2 = rand()%6+1; printf("du fick %d och %d",dice1, dice2);

#include <stdio.h> #include <stdbool.h> bool flag; flag = true;//eller false if(flag) printf("sant!");

for(i=0;i<length-1;i++) for(j=0;j<length-1-i;j++) if(v[j]>v[j+1]) tmp=v[j]; v[j]=v[j+1]; v[j+1]=tmp;

#include <stdio.h> #include <math.h> float cirkelarea(float radius); printf("en cirkel med radien 2 har arean: %.2f\n",cirkelArea(2)); float r=4; printf("en cirkel med radien %.2f har arean: %.2f",r,cirkelArea(r)); float cirkelarea(float radius) float area; area = radius*radius*m_pi; return area;

#include <stdio.h> int max(int v[],int n) int i,max=v[0]; for(i=1;i<n;i++) if(max<v[i]) max = v[i]; return max; int a[] = 1,3,6,2,8,1; printf("storsta vardet ar %d",max(a,6));

#include <stdio.h> void fillzeros(int v[],int n) int i; for(i=0;i<n;i++) v[i]=0; return; void printa(int v[], int n) int i; for(i=0;i<n;i++) printf("%d, ",v[i]); printf("\n"); return; int a[20]; fillzeros (a,20); printa(a,20); När en array skickas till en funktion görs ingen kopia! Funktionen får tillgång till samma array och kan därmed ändra arrayen.

Tentauppgifter på det vi hitintills lärt oss BMI (Body Mass Index) 4p Skriv ett program som ger användaren möjlighet att beräkna BMI värden. Programmet ska fråga användaren efter dennes vikt i kg och sedan efter dennes längd i cm och sedan presentera BMI. Därefter får användaren välja om denne vill göra en ny beräkning eller avsluta. Resultatet ska presenteras med en decimals noggrannhet. En körning ska kunna se ut så här: Hur mycket vager du (kg)? 83 Hur lang ar du (cm)? 182 Da har du BMI: 25.1 kg/m2 Vill du gora en berakning till (1-ja 0-nej)?0 Tack och valkommen ater! BMI = (vikt i kg) / (längd i m) 2

a) Slumpa ordningsföljd av tal (4p) I denna uppgift får användaren välja det högsta heltal som ordningen skall slumpas fram för. Väljer användaren 10 ska programmet slumpa fram en ordning för talen 1 till och med 10. Om användaren anger ett heltal mindre än 1 eller större än 10000 ska denne få instruktionen att man valt fel och en ny chans att göra en inmatning. Programmet skall använda arrayer och funktioner på ett bra sätt men inga globala variabler. Försök att få programmets utskrift att efterlikna nedanstående (fetstil är inmatningar). Vilket ar det hogsta heltal du vill ha med? (1-10000) 12000 Du maste valja mellan 1 och 10000! Vilket ar det hogsta heltal du vill ha med? (1-10000) 7 3, 5, 2, 7, 1, 4, 6, b) Längsta ordningsföljden (2p) Lägg nu till att programmet beräknar den längsta följden av tal som ligger i rätt ordning. Det vill säga att talen kommer i stigande ordning. I ordningsföljden 11, 7, 3, 8, 9, 15, 5, 13, 10, 1, 12, 2, 6, 14, 4 är svaret 4 eftersom 3, 8, 9, 15 är i korrekt ordningsföljd. Vilket ar det hogsta heltal du vill ha med? (1-10000) 15 11, 7, 3, 8, 9, 15, 5, 13, 10, 1, 12, 2, 6, 14, 4, Langsta foljden ar 4

Åldersstatistik 4p Skriv ett program som slumpar fram X personers ålder där X bestäms av användaren under körning (0<X<10000). Åldern skall för varje person slumpas fram så att alla åldrar från 20 år till och med 40 år är lika sannolika (åldern anges endast som hela år). Programmet ska sedan presentera medelvärde med en decimals noggranhet och typvärde. Programmet skall använda en array för att lagra åldrarna och skall använda funktioner på ett bra sätt. En körning ska kunna se ut så här: Hur manga personer vill du gora statistik pa? 100 Medelvardet blev 32.6 ar Typvardet blev 38 ar. Typvärdet är det vanligaste värdet. Om flera värden delar förstaplatsen är de alla typvärden men det duger om ditt program anger ett av dem. Använd inga globala variabler.

I denna lite mera kreativa uppgift ska du konstruera ett program som låter användaren spela sänka skepp mot programmet. Programmet slumpar fram positionen för en båt i ett 5*5 koordinatsystem. Alla giltiga positioner ska vara lika sannolika. Båten tar upp tre rutor vågrätt. Användaren får sedan välja koordinater att bomba. Om denne träffar båten svarar programmet träff annars miss. Om den träffar en tidigare träffad ruta ska programmet svara miss. Om alla tre rutor av båten träffas svarar programmet träff och sänkt och programmet avslutar. Om användaren inte sänkt båten efter 6 försök avslutas programmet och meddelar användaren att denne misslyckats. I en körning där programmet slumpat fram båten enligt: 1 2 3 4 5 skulle en körning kunna se ut så här: Vilken position vill du beskjuta? 2 3 MISS Vilken position vill du beskjuta? 4 4 TRAFF Vilken position vill du beskjuta? 4 3 TRAFF Vilken position vill du beskjuta? 4 2 TRAFF och SANKT Den första siffran anger rad och den andra kolumn. För full poäng krävs förutom ett fungerande program att programmet är välstrukturerat och har bra variabelnamn. 4p 1 2 3 4 5