Programmering Grundkurs (HI1900) Teoridel

Relevanta dokument
Tentamen i Datakunskap NT

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

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

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

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

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

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

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

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

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

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;

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

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

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

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

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

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

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

HI1024 Programmering, grundkurs TEN

Enkla datatyper minne

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

En kort text om programmering i C.

Föreläsning 10. Pekare (Pointers)

Referensguide för streckkoder

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

HI1024 Programmering, grundkurs TEN

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

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

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

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

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,

Programmering i C, 7,5 hp

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

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

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

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,

HI1024 Programmering, grundkurs TEN

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 i Programmering grundkurs och Programmering C

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

HI1024 Programmering, grundkurs TEN

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik 2009/2010. Binär Kodning, lärobokens kap.2

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

HI1024 Programmering, grundkurs TEN

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

Programmeringsteknik med C och Matlab

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

Tentamen i Introduktion till programmering

Tentamen ges för: Tentamensdatum: Tid:

HI1024 Programmering, grundkurs TEN

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Belopp Belopp > procent

Digital- och datorteknik

Funktioner och programstruktur. Föreläsning 5

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

Loopar och datatyper. Föreläsning 3

GPT föreläsning 8. Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner

TENTAMEN OOP

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

Loopar och datatyper. Föreläsning 3

Planering Programmering grundkurs HI1024 HT 2014

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

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

TDIU01 - Programmering i C++, grundkurs

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

Arrays (indicerade variabler) Föreläsning 6

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Planering Programmering grundkurs HI1024 HT data

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

Tentamen i Programmering grundkurs och Programmering C

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,

Maskinorienterad programmering

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

*Pekarvärden *Pekarvariabler & *

Funktioner och programstruktur. Föreläsning 5

Klassdeklaration. Metoddeklaration. Parameteröverföring

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Tentamen i Programmering

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

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

2D1339 Programkonstruktion för F1, ht 2004

C-programmering, föreläsning 2 Jesper Wilhelmsson

Planering Programmering grundkurs HI1024 HT TIDAA

C++ Slumptalsfunktioner + switch-satsen

Java, klasser, objekt (Skansholm: Kapitel 2)

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Föreläsning 9. Repetition och exempelproblem

F4. programmeringsteknik och Matlab

Tentamen i. Programmering i språket C

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

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

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Instuderingsfrågor, del D

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

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

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Transkript:

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: Inga Rätt besvarad uppgift ger 1 poäng. Observera att uppgifterna inte nödvändigtvis återges i stigande svårighetsgrad. I allmänhet ska endast delar av program skrivas, så kallade rutiner. Om inte speciellt erfordras kan man anta att deklarationer gjorts tidigare i programmet. Lycka till! Poäng Betyg 13-14 Fx 15-17 E 18-20 D 21-23 C 24-26 B 27-30 A Johnny Panrike, Håkan Strömberg Fråga 1. För vilka kombinationer av heltalsvärden på a och b skrivs ordet Fungerar ut? if(a>2 && a<5) if(b==2 b==4) printf("fungerar"); Fråga 2. Man önskar utskriften 13 16 19 22. Fyll i punkterna nedan: k=...; do { k=...; printf("%d ",k); while(...); Fråga 3. Varför ger den här rutinen utskriften 7 och inte 4? a=2; switch(a){ case 1: b=3; case 2: b=4; case 3: b=7; printf("%d\n",b); Fråga 4. Fyll i formatsträngen i printf-satsen, så att utskriften blir korrekt. int a=1; float b=2; char c= 3,d[10]="4"; printf("...",a,b,c,d); Fråga 5. Vad är det som inte står rätt till i följande rutin? int main(void) { char adress[10],namn[5]; strcpy(namn,"håkan"); strcpy(adress,"kth"); printf("%s %s",namn,adress); Fråga 6. Vad ska det stå på punkternas plats för att rutinen ska ge slumptal i intervallet [ 5...4] for(i=1;i<=100;i++){ s=rand()%...-...; printf("%d ",s);

Tentamen Programmering Grundkurs, 11 januari 2010, STH KTH, Håkan Strömberg 2 Fråga 7. Vilka värden får de fyra variablerna i följande rutin? int a,c; float b,d; a=52/10; b=52/10; c=52.0/10; d=52.0/10; Fråga 8. Vad skriver programmet ut? int f1(int a,int b){ if(a>b) return 2*b; else return 2*a; int f2(int a, int b){ if(a*b<0) return -a*b; int main(void) { int s; s=f2(f1(1,-2),f1(3,8)); printf("%d",s); Fråga 9. Vilket värde har t efter följande rutin? t=0; for(i=1;i<=4;i++) for(j=-2;j<=2;j++) for(k=5;k>0;k--) t++; Fråga 10. Följande program är tänkt att ta emot ett antal längder och summera dem till en totallängd. Programmet innehåller dock tre nybörjarfel vilka? Skriv i svaret om de tre felaktiga raderna. (Du måste ha alla rätt för poäng) int antal,i; float langd, totlangd; printf("hur många? "); scanf("%d",antal); for(i=1;i<=antal;i++){ printf("längd? "); scanf("%d",&langd); totlangd=totlangd+langd; printf("%.2f",totlangd); Fråga 11. Med hjälp av formeln V = 4πr3 3 bestämmer man volymen hos ett klot. Skriv en funktion volym, som då den anropas genom v=volym(10); för radien 10, ger v värdet 4188.79. Fråga 12. Vilket värde returnerar funktionen efter anropet f(7654)? int f(int tal){ int s=0; while(tal>0){ s=s+tal%10; tal=tal/10; return s; Fråga 13. Då vi försöker kompilera och köra detta program i Code::Blocks får vi felmeddelandet: sqrt was not declared in this scope float x,y; printf("x? "); scanf("%f",&x); y=sqrt(x); printf("%f\n",y); Rätta till programmet. Fråga 14. Om strlen(s) returnerar 7 vad kan man då säga om s[7]? Fråga 15. Givet: struct data{ char a[20]; int b,c; ; Vilket värde ger sizeof(struct data) för den miljö vi använder i kursen? Fråga 16. I strängen str finns enbart små bokstäver, a... z. Skriv en rutin som översätter dem till stora bokstäver. Fråga 17. Vilket tillägg måste man göra i sista satsen för att styckepris ska få värdet 12.5? int pris=25,antal=2; float styckepris; styckepris=pris/antal;

Tentamen Programmering Grundkurs, 11 januari 2010, STH KTH, Håkan Strömberg 3 Fråga 18. Vad skriver rutinen ut? int a[5]={0,3,2,0,4; int b[5]={1,5,2,4,3; int s=0,i; for(i=0;i<5;i++) s=s+b[a[i]]; printf("%d",s); Fråga 19. Skriv en fullständig funktion produkt som multiplicerar samtliga heltal i intervallet [f, t], f t. Ett typiskt anrop produkt(4,6,&p); ska ge variabeln p värdet 120 Fråga 20. Vad ska det stå på punkternas plats för att utskriften ska bli 7 1 2 8 4 0 5? char s[]="7128405"; int t[7],i; for(i=0;i<7;i++) t[i]=... for(i=0;i<7;i++) printf("%d ",t[i]); Fråga 21. Vad innebär följande funktionsanrop? fseek(infil,0,seek_end); Fråga 22. Vad skriver programmet ut? (Hela svaret måste vara korrekt för att ge poäng) void f2(int *a, int *b){ printf("f2 %d %d\n",*a,*b); (*a)++; (*b)++; printf("f2 %d %d\n",*a,*b); void f1(int *a, int b){ printf("f1 %d %d\n",*a,b); (*a)++; b++; f2(a,&b); printf("f1 %d %d\n",*a,b); och där dessutom 7 är en delare till (går jämnt upp i) i. Fråga 25. Deklarera en struct kallad lagertyp som skall innehålla antal (med namnet antal) (heltal) och pris (med namnet pris) (flyttal). Deklarera sedan en variabel lager av typen lagertyp, tilldela sedan vilka värden du vill till de två fälten i lager och skriv kod för att beräkna det totala värdet som tilldelas variabeln totpris. Fråga 26. Matrisen deklarerad int mat[100][100] ingår i ett program. Skriv en rutin som bestämmer antalet element i matrisen med värdet 0. Lagra resultatet i variabeln noll. Fråga 27. Skriv en sats som kan ta emot strängen undrar om det fungerar och lagrar i char undring[100]; Fråga 28. Skriv en rutin som bygger upp en sträng str liknande +---+---+---+-, det vill säga den startar med ett plustecken följt av fyra minustecken och så vidare. Strängens längd bestäms av variabeln s < 100, s = 17 i exemplet. Strängen ska gå att skriva ut korrekt med hjälp av printf. Fråga 29. Skriv en fullständig funktion ut, som för första anropet i rutinen nedan skriver ut 6 4 9 6 och för det andra 1 4 2. int tab[8]={1,4,2,6,4,9,6,0; ut(tab,3,4); ut(tab,0,3); Fråga 30. En tidpunkt lagras i två variabler, aktuell timme i tim och aktuell minut i min. Skriv ett villkor som är sant då tidpunkten är senare än kl 10 : 26, men inom samma dygn. int a=1,b=2; printf("m %d %d\n",a,b); f1(&a,b); printf("m %d %d\n",a,b); Fråga 23. Skriv ett fullständigt program som summerar de 10 heltalen som finns på textfilen tal.txt, separerade med ett mellanslag. Fråga 24. Skriv ett villkor som är sant då heltalsvariabeln i tillhör intervallet [20... 70], (inklusive gränser)

Tentamen Programmering Grundkurs, 20 dec 2002, KTH Syd Haninge, Niclas Hjelm, Håkan Strömberg 4 ASCII American Standard Code for Information Interchange 0 1 2 3 4 5 6 7 8 9 0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT 1 NL VT FF CR SO SI DLE DC1 DC2 DC3 2 DC4 NAK SYN ETB CAN EM SUB ESC FS GS 3 RS US SP! " # $ % & 4 ( ) * +, -. / 0 1 5 2 3 4 5 6 7 8 9 : ; 6 < = >? @ A B C D E 7 F G H I J K L M N O 8 P Q R S T U V W X Y 9 Z [ \ ] ^ _ a b c 10 d e f g h i j k l m 11 n o p q r s t u v w 12 x y z { ~ DEL

Tentamen Programmering Grundkurs, 11 januari 2010, STH KTH, Håkan Strömberg 1 Fråga 1. (3,2), (3,4), (4,2,), (4,4) Fråga 2. k=10; do { k=k+3; printf("%d ",k); while(k<=21); Fråga 3. För att få utskriften 4 måste koden ersättas med case 2: b=4; break; Fråga 4. printf("%d %f %c %s\n",a,b,c,d); Fråga 5. Ska deklareras namn[6], eller ett tal > 6 Fråga 6. s=rand()%10-5; Fråga 7. a=5 b=5.0 c=5 d=5.2 Fråga 8. 24 Fråga 9. 100 Fråga 10. float langd, totlangd=0.0; scanf("%d",&antal); scanf("%f",&langd); Fråga 11. float volym(int r){ return 4*M_PI*r*r*r/3; Fråga 12. 22 Fråga 13. Lägg till raden #include <math.h> Fråga 14. s[7] innehåller \0 Fråga 15. 28 Fråga 16. for(i=0;i<strlen(str);i++) str[i]=str[i]-32; Fråga 17. styckepris=(float)pris/antal; styckepris=1.0*pris/antal; Fråga 18. 11 Fråga 19. void produkt(int f, int t,int *p){ int i; *p=1; for(i=f;i<=t;i++) *p=*p*i; Fråga 20. s[i]- 0 ; Fråga 21. Filpekaren flyttas till slutet av filen Fråga 22. M 1 2 F1 1 2 F2 2 3 F2 3 4 F1 3 4 M 3 2 Fråga 23. FILE *fil; int i,sum=0,t; fil=fopen("tal.txt","rt"); for(i=1;i<=10;i++){ fscanf(fil,"%d",&t); sum=sum+t; printf("%d",sum); Fråga 24. i>=20 && i<=70 && i%7==0 Fråga 25. struct lagertyp{ int antal; float pris; ; struct lagertyp lager; lager.antal=10; lager.pris=2.75; totpris=lager.antal*lager.pris; Fråga 26. noll=0; for(i=0;i<100;i++) for(j=0;j<100;j++) if(mat[i][j]==0) noll++; Fråga 27. gets(undring); Fråga 28. for(i=0;i<s;i++) if(i%5==0) str[i]= + ; else str[i]= - ; str[s]= \0 ; Fråga 29. void ut(int tab[],int s,int t){ int i; for(i=s;i<s+t;i++) printf("%d ",tab[i]); printf("\n"); Fråga 30. tim>10 tim==10 && min>26