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



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

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen 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,

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 tentauppgifterna sätts ut på kurssidan på nätet idag kl

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,

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

Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr,

ÖREBRO UNIVERSITET. Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 13.

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Lämna in ifylld kursvärdering tillsammans med tentamen! Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 13.

4 Sammansatta datatyper

Tentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013

Tentamen i Programmering grundkurs och Programmering C

Programmeringsteknik med C och Matlab

ÖREBRO UNIVERSITET. Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 19.

Tentamen i Programmeringsmetodik, 5p, Au2, D1 och E1,

Grundläggande programmering med C# 7,5 högskolepoäng

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

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

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

Namn:... Klass:... Pnr:... Omtentamen i Programmeringsmetodik, 5p, D1 och E1,

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

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

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Textsträngar från/till skärm eller fil

2 Pekare och dynamiska variabler.

Björn Abelli Programmeringens grunder med exempel i C#

Tentamen i Programmering grundkurs och Programmering C

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Föreläsning 4: Poster

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

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

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

Tentamen OOP

TAIU07 Matematiska beräkningar med Matlab

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

Tentamen i. Programmering i språket C

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

Tentamen i Programmering grundkurs och Programmering C

Programmering i C, 7,5 hp

Skizz till en enkel databas

Exempelsamling Assemblerprogrammering

Tentamen i Programmering grundkurs och Programmering C

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

Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet idag kl 13.

Tentamen i Programmering grundkurs och Programmering C

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.

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Föreläsning 1 & 2 INTRODUKTION

Tentamen i. Programmering i språket C

Introduktion till PHP

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

Tentamen ges för: Tentamensdatum: Tid:

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

Tentamen i Objektorienterad programmering

Objektorienterad programmering i Java

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

Tentamen i Programmering grundkurs och Programmering C

Enkla datatyper minne

Tecken & Strängar. Kapitel 7

Planering Programmering grundkurs HI1024 HT data

Planering Programmering grundkurs HI1024 HT 2014

Objektorienterad programmering D2

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

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

1 Modulär programutveckling.

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

En kort text om programmering i C.

Tentamen, EDAA20/EDA501 Programmering

Programmeringsuppgifter 1

Programmering för språkteknologer II, HT2014. Rum

Tentamen i Programmering grundkurs och Programmering C

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

TDDC74 Programmering, abstraktion och modellering DUGGA 2

Planering Programmering grundkurs HI1024 HT TIDAA

Pseudokod. Arbetets gång

Och!efter!ca!20!omgångar!hamnade!den!på!en!stabil!konfiguration!enligt!nedan! där!den!stannar!kvar.!

HI1024 Programmering, grundkurs TEN

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

TDIU01 - Programmering i C++, grundkurs

Loopar och datatyper. Föreläsning 3

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

Programmering Grundkurs (HI1900) Teoridel

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

Tentamen *:58/ID100V Programmering i C Exempel 3

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

7 Programmeringsteknik

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Länkade listor kan ingå som en del av språket, dock ej i C Länkade listor är ett alternativ till:

ÖREBRO UNIVERSITET. Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 13.

Loopar och datatyper. Föreläsning 3

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Chapter 3: Using Classes and Objects

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

Övningar Dag 2 En första klass

Tentamen Grundläggande programmering

Transkript:

1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum, T2221 mellan 13 och 15. Vid detta tillfälle har du också möjlighet att diskutera rättningen. Tentor som ej hämtats då, placeras på studentexpedition. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607. Hjälpmedel : Inga Tid : 08-13 Ansvarig lärare : Gunnar Joki 303317, 274825(hem) Svar till samtliga uppgifter 1-15 ska skrivas på utdelat extra papper. Använd ett papper till uppgifterna 1-5, två papper till uppgifterna 6-10 och ett papper per uppgift till uppgifterna 11-15 Skriv din tentamenskod på varje inlämnat extra papper. Den maximala poängen för respektive uppgift står angiven efter uppgiftens nummer. Totalt kan 40 poäng erhållas. För betyget 3 krävs ca 20, för betyget 4 ca 28 och för betyget 5 ca 34 poäng. Om inget speciellt anges gäller frågorna Borland C. Detta häfte ska du behålla. Lycka till!

2 (8) 1) (1p) Skriv den tilldelningssats i C som motsvarar formeln : 2 3 a = + 7d 3bc 2) (1p) Vilka värden har följande uttryck? a) 5 % 6 % 3 / 2 b) (6/7 > 7/6) 3 == 2 3) (1p) Datatypen struct villaenergi float energi; // Energi i kwh float pris; // Pris i kr per kwh ; avbildar elförbrukningen för en villa i form av energi i kwh och pris per kwh. Definiera en lämplig variabel av denna typ och initiera den med energiförbrukningen 10000 kwh och priset 0.35 kr per kwh. 4) (1p) Vad skrivs ut då nedanstående kod körs om a och b är heltal? for (a = 2, b = 10; a <= b; a++, b -= 2) if (a == b) a--; else b--; printf( a = %d och b = %d, a, b); 5) (1p) Antag att du har en sträng str. Skriv de satser som, om strängens första bokstav är liten byter ut denna mot motsvarande stor. Strängen kalle ska bli Kalle och strängen 08-1234567 ska vara oförändrad. Du kan anta att småbokstäverna ligger mellan a och z. 6) (2p) Skriv en funktion, is_normal som tar ett reellt mätvärde som parameter och som returnerar sant (1) om mätvärdet är normalt dvs. är större än -5.0 och mindre än 5.0 men ej lika med 0.0, annars falskt (0). 7) (2p) Skriv en funktion medel, som tar en reell vektor och antalet element i vektorn, som parametrar och som returnerar medelvärdet av elementen om antalet element är fler än 0. Är antalet element mindre än eller lika med 0 ska 0.0 returneras. Funktionshuvud enligt : float rvekmed(float rvek[], int nr);

3 (8) 8) ( 2p)Skriv en funktion som tar en struct enligt uppgift 3 ovan som parameter och som returnerar totala energipriset per år för en villa. 9) (2p) Skriv en funktion som tar tre heltal som parametrar och som returnerar det minsta av dessa. Funktionshuvud enligt: int min(int a, int b, int c); 10)(2p) Skriv en funktion, is_domarpoang, som tar en sträng som parameter och returnerar sant (1) om strängen är en tillåten domarpoäng i simhopp dvs. 0, 0.5, 1, 1.5, 2, 2.5 9, 9.5 eller 10, annars falskt (0). Inga färdiga funktioner får användas. 11)(5p)Skriv ett fullständigt program som upprepat läser in tre hela tal och skriver ut det minsta av dessa. Du ska anropa funktionen i uppgift 9 ovan. Programmet ska avslutas direkt utan att fråga efter de 2 övriga talen då 0 inmatas som första tal. Ett körexempel där du matar in det understrukna : Ge första talet : 23 Ge andra talet : 18 Ge tredje talet : 20 Minsta talet : 18 Ge första talet : 13 Ge andra talet : 28 Ge tredje talet : 20 Minsta talet : 13 Ge första talet : 0 12)(5p)Skriv ett fullständigt program som initierar en reell vektor med 5 valfria element och beräknar och skriver ut medelvärdet för vektorn. Programmet ska sedan läsa in ett index och ett nytt värde till vektorelementet som har detta index samt beräkna och skriva ut medelvärdet för den modifierade vektorn. För beräkning av medelvärdet ska funktionen i uppgift 7 anropas. 13)(5p)På fakturor brukar man ofta göra en öresutjämning dvs. en avrundning till närmaste hela kronor genom att man lägger till eller drar ifrån ett lämpligt belopp. Skriv ett fullständigt program som tillverkar en faktura enligt nedan, där fakturerat belopp läses in från tangentbordet och resterande beräkningar utförs och skrivs ut av programmet. Fakturerat belopp : 1224.56 kr Moms 25 % : 308.14 kr Totalt : 1532.70 kr Öresutjämning : 0.30 kr Att betala : 1533 kr

4 (8) 14)(5p) I textfilen Energi.txt finns statistik för ett antal villors energiförbrukning per år i kwh och priset per kwh radvis enligt: 12500 0.42 15000 0.26 13900 0.34........ Skriv ett fullständigt program som läser all statistik från filen Energi.txt och beräknar ett medelvärde för det årliga energipriset för dessa villor. Du ska anropa funktionen i uppgift 8 ovan för beräkning av det årliga energipriset. 15(5p)Skriv ett fullständigt program som läser in 7 st domarpoäng. Varje domarpoäng ska läsas in, som en sträng, säkert genom att läsningen upprepas tills korrekt värde enligt funktionen is_domarpoang, i uppgift 10 ovan har lästs in. Programmet ska avslutningsvis skriva ut summan av alla domarpoäng. Omvandlingen av strängen domarpoäng till motsvarande reella domarpoäng ska du göra med en egentillverkad funktion som du sedan anropar. Här får du inte använda någon färdig funktion som omvandlar strängar till reella tal. Ett körexempel där du matar in det understrukna: Ge domarpoäng 1 : 5.5 Ge domarpoäng 2 : 3.4 Fel domarpoäng! Ge domarpoäng 2 : 4.5... Summa domarpoäng = 32.5

5 (8) Lösningar till tentamen i Programmering, 040607 1) a = 2/(3*b*c) + 7*pow(d, 3); 2) a) 1 b) 0 3) struct villaenergi ve = 10000, 0.35; 4) a = 4 och b = 2 5) if (str[0] >= a && str[0] <= z ) str[0] -= 32; 6) int is_normal(float mes) return (mes > -5.0 && mes!= 0.0 && mes < 5.0); 7) Se uppgift 12 8) Se uppgift 14 9) Se uppgift 11 10) Se uppgift 15 11) int min(int a, int b, int c) if (a < b && a < c) return a; else if (b < c) return b; else return c; int forsta, andra, tredje; printf( Ge första talet (avslut 0) : ); scanf( %d, &forsta); while (forsta!= 0) printf( Ge andra talet : ); scanf( %d, &andra); printf( Ge tredje talet : ); scanf( %d, &tredje); printf( Minsta talet = %d\n, min(forsta, andra, tredje)); printf( Ge första talet (avslut 0) : ); scanf( %d, &forsta);

6 (8) 12) float rvekmed(float rvek[], int nr) int i; float sum = 0.0; for (i = 0; i < nr; i++) sum += rvek[i]; if (nr > 0) return sum / nr; return 0.0; #include <conio.h> float vek[5] = 3.4, 4.5, 2.3, 5.6, 4.6; int index; printf( Medel = %.2f\n, rvekmed(vek, 5)); printf( Vilket index vill du läsa ett nytt värde till? ); scanf( %d, &index); printf( Ge nytt värde till element med index %d :, index); scanf( %f, &vek[index]); printf( Medel = %.2f\n, rvekmed(vek, 5)); getch(); 13) #include <conio.h> float belopp, momskr, totalt, oresutjamn; const float moms = 25.0; printf( Ge fakturerat belopp : ); scanf( %f, &belopp); printf( Fakturerat belopp : %10.2f kr\n, belopp); momskr = belopp * moms/100); printf( Moms 25% : %10.2f kr\n, momskr); totalt = belopp + momskr; printf( Totalbelopp : %10.2f kr\n, totalt); oresutjamn = totalt (int)totalt; if (oresutjamn <= 0.50) oresutjamn = -oresutjamn; else oresutjamn = 1 oresutjamn; printf( Öresutjämning : %10.2f kr\n, oresutjamn); printf( Belopp att betala: %10.2f kr\n, totalt + oresutjamn); getch();

7 (8) 14) struct villaenergi float energi; float pris; ; // Energi i kwh // Pris i kr per kwh float pris(struct villaenergi v) return v.energi * v.pris; #include <conio.h> FILE *tsin; struct villaenergi v; int nr = 0; float sum = 0.0; tsin = fopen( Energi.txt, rt ); while (fscanf(tsin, %f %f, &v.energi, &v.pris)!= EOF) sum += pris(v); nr++; printf( Medelpris = %.2f kr per år\n, sum / nr); fclose(tsin); getch(); 15) int is_dompoang(char *dpstr) if (!(dpstr[0] >= '0' && dpstr[0] <= '9')) return 0; if (!(dpstr[1] == '.' dpstr[1] == '\0' dpstr[1] == '0')) return 0; if (dpstr[1] == '.' && dpstr[2]!= '5') return 0; if (dpstr[1] == '0' && dpstr[0]!= '1') return 0; return 1; float dompoang(char *domstr) int i = 0; float poang = 0.0; while (domstr[i]!= '.' && domstr[i]!= '\0') poang = poang * 10 + (domstr[i] - '0'); i++; if(domstr[i]!= '\0') poang = poang + 0.1 * (domstr[i+1] - '0');

8 (8) return poang; #include <conio.h> char domstrang[20]; int domare; float sumpoang = 0.0; for (domare = 1; domare <= 7; domare++) printf("domarpoäng %d : ", domare); gets(domstrang); while (!is_dompoang(domstrang)) printf("fel domarpoäng!\n"); printf("domarpoäng %d : ", domare); gets(domstrang); sumpoang += dompoang(domstrang); printf("summa domarpoäng = %.1f", sumpoang); getch();