Tentamen i Programmering grundkurs och Programmering C



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

Tentamen i Programmering grundkurs och Programmering C

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

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

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

Tentamen i Programmering grundkurs och Programmering C

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

Tentamen i. Programmering i språket C

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Tentamen i. Programmering i språket C

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C

Databasteknik för D1, SDU1 m fl

ELEV- HANDLEDNING (Ansökan via webben)

Databasteknik för D1, SDU1 m fl

Från min. klass INGER BJÖRNELOO

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

DOP-matematik Copyright Tord Persson. Bråktal Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr

Snabbslumpade uppgifter från flera moment.

Lathund, procent med bråk, åk 8

Föreläsning 5: Rekursion

729G04 - Hemuppgift, Diskret matematik

Menys webbaserade kurser manual för kursdeltagare. Utbildningsplattform: Fronter

( ostream ) << ( annan datatyp ) : ostream

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

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,

4-3 Vinklar Namn: Inledning. Vad är en vinkel?

Utveckla arbetsmiljö och verksamhet genom samverkan

ANVÄNDARHANDLEDNING FÖR

Statsbidrag för läxhjälp till huvudmän 2016

Webb-bidrag. Sök bidrag på webben Gäller från

Tillämpad UNIX. Laborations-PM Christian von Schultz, Programpaket och processhantering

För unga vuxna Vuxenutbildning. Den svenska skolan för nyanlända

Vi skall skriva uppsats

För alla uppgifter på tentan gäller: Man får använda både standard-c++ (som till exempel har pekare som anges med * och objekt som skapas med new) och

Programmera en NXT Robot

Varför är det så viktigt hur vi bedömer?! Christian Lundahl!

Skriva B gammalt nationellt prov

Får nyanlända samma chans i den svenska skolan?

DATASAMORDNING NYHETERNA I CHAOS Utbildning Chaos/Handledning - Nyheterna i Chaos 3/

Brister i kunskap vid gymnasieval

Tentamensdeltagare från Dataekonomutbildningen, Textilekonomutbildningen och Affärsinformatikutbildningen.

Thomas Padron-Mccarthy Datateknik A, Programmering grundkurs, 7.5 hp (DT ) Antal svarande = 7. Svarsfrekvens i procent = 17.

ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD

Distribuerade Informationssystem VT-04

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel

Programmeringsteknik med C och Matlab

PDA-applikationer med.net

För dig som är valutaväxlare. Så här följer du reglerna om penningtvätt i din dagliga verksamhet INFORMATION FRÅN FINANSINSPEKTIONEN

Denna talesmannapolicy gäller tillsammans med AcadeMedias kommunikationspolicy. I kommuniaktionspolicyn finns följande formulering:

När du som vårdpersonal vill ta del av information som finns hos en annan vårdgivare krävs det att:

Riktlinjer - Rekryteringsprocesser inom Föreningen Ekonomerna skall vara genomtänkta och välplanerade i syfte att säkerhetsställa professionalism.

FRÅN A TILL Ö LäraMera Ab / och Allemansdata Ab / FRÅN A TILL Ö

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b 2 a b

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

Office 365 Kompetens 2013 / MB

Avgifter i skolan. Informationsblad

Programexempel: tärningsspel

Hur du arbetar med VFU-portfölj i Mondo. en lathund för student

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Väga paket och jämföra priser

Facit med lösningsförslag kommer att anslås på vår hemsida Du kan dessutom få dem via e-post, se nedan.

Information sid 2 4. Beställning sid 5. Ändring/Nytt SIM sid 6. Avsluta abonnemang sid 7. Fakturafråga sid 8. Felanmälan/fråga sid 9.

Du ska nu skapa ett litet program som skriver ut Hello World.

Instruktion när NE-bilagan har lämnats via e-tjänsten Filöverföring

Tentamen I a och I b. Personlighet, hälsa och socialpsykologi, PC1245, Delkurs 1 Personlighet och hälsa Personlighet och Hälsa, PC1205 Helfart, vt 10

Sammanfattning på lättläst svenska

Mål Blå kurs Röd kurs

TIMREDOVISNINGSSYSTEM

Hjälp för digital röst. Mikro Værkstedet A/S

Ekvationssystem, Matriser och Eliminationsmetoden

Träning i bevisföring

Manual för BPSD registret. Version 6 /

Idag: Dataabstraktion

Guide för att hitta markavvattningssamfälligheter och täckdikningsplaner

ÄT RÄTT NÄR DU TRÄNAR

Svenska Du kan med flyt läsa texter som handlar om saker du känner till. Du använder metoder som fungerar. Du kan förstå vad du läser.

Lathund till Annonsportalen

Systematiskt kvalitetsarbete

4-6 Trianglar Namn:..

Java M1 V2 L2 K2 TM W. Tentamen i Programmering , kl LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap.

Gruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)

Kompilatorer och interpretatorer

Ansökan till svenska högskolor och universitet. 5 april 2016

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Kundservicerapport Luleå kommun 2015

Lastbilsförares bältesanvändning. - en undersökning genomförd av NTF Väst Sammanställd mars 2013

Gissa det hemliga talet

Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4

Praktisk programmering

Hur du laddar ner och installerar elevlicens

Kulturmöten. Det var vi som gjorde det.

Cellgifter/Cytostatika Myter & Sanningar:

Säkerhet. De onda. Vilka är farorna?

Transkript:

1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen fredag 14 januari 2011 Gäller som tentamen för: DT1016 Datateknik A, Programmering grundkurs, provkod 0100 DT1007 Datateknik A, Tillämpad datavetenskap, provkod 0410 DT1006 Datateknik A, Programmering C, distans, provkod 0100 Hjälpmedel: Inga hjälpmedel. Poängkrav: Maximal poäng är 37. För godkänt betyg (3 respektive G) krävs 20 poäng. För den som följt campuskursen hösten 2010 ger varje i tid inlämnad inlämningsuppgift med deadline en extra poäng. Den som inte gått campuskursen hösten 2010 får dessa (tre) extrapoäng ändå. Resultat och lösningar: Återlämning av tentor: Examinator och jourhavande: Meddelas via e-post eller på kursens hemsida, http://basen.oru.se /kurser/c/2010-2011-p2/, senast fredag 4 februari 2011. Efter att resultatet meddelats kan tentorna hämtas på universitetets centrala tentamensutlämning. Thomas Padron-McCarthy, telefon 070-73 47 013. Skriv tydligt och klart. Lösningar som inte går att läsa kan naturligtvis inte ge några poäng. Oklara och tvetydiga formuleringar kommer att misstolkas. Skriv den personliga tentamenskoden på varje inlämnat blad. Skriv inte namn eller personnummer på bladen. Skriv bara på en sida av papperet. Använd inte röd skrift. Antaganden utöver de som står i uppgifterna måste anges. Skriv gärna förklaringar om hur du tänkt. Även ett svar som är fel kan ge poäng, om det finns med en förklaring som visar att huvudtankarna var rätt. LYCKA TILL!

2 of 6 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator Associativitet Högsta Unära postfixoperatorer (), [], ->,., ++, -- vänster Unära prefixoperatorer!, ++, --, +, -, *, &, sizeof, (typ) höger Multiplikation mm *, /, % vänster Addition mm +, - vänster Jämförelser <, <=, >=, > vänster Likhetsjämförelser ==,!= vänster Logiskt OCH && vänster Logiskt ELLER vänster Lägsta Tilldelning =, +=, -=, *=, /=, %= höger

3 of 6 Uppgift 1 (1 p) Vilka värden har följande uttryck? a) 1 * 2 + 3 * 4 b) 1 + 2 * 3 + 4 c) 1 / 2 + 3 % 4 Uppgift 2 (1 p) Variablerna a, b, c och d är av typen int. Vilka värden har variablerna efter att följande kod har körts? a = 1; b = a + 2; c = 3; d = 4; while (a < b) { if (b == c && b == d) a = a + 2; else a = a + 3; } Uppgift 3 (3 p) Skriv ett komplett C-program (med #include och allt) som läser in tre heltal, vi kan kalla dem a, b och c, och sen skriver ut alla tal från a till b (inklusive de talen) utom talet c (om det nu ligger mellan a och b). I den här och alla andra uppgifter på tentan gäller: Normalt är felhantering en stor del av ett program. Vad ska till exempel hända om användaren skriver Kalle när hon egentligen borde mata in ett tal? Här behövs dock ingen felhantering, om så inte särskilt efterfrågas i uppgiften. Uppgift 4 (2 p) Skriv en funktion korrekt_ordning, som tar tre flyttal som argument och returnerar talet 1 om de är ordnade i storleksordning så att det första flyttalet är mindre än det andra, och det andra är mindre än det tredje. Annars ska funktionen returnera talet 0.

4 of 6 Uppgift 5 (2 p) Skriv en main-funktion som först läser in tre flyttal från användaren, sedan anropar funktionen korrekt_ordning för att avgöra om de är ordnade i storleksordning, och till sist skriver ut ett meddelande om ifall de är ordnade eller inte. I den här och alla andra uppgifter på tentan gäller: Om du behöver använda något från en tidigare uppgift eller deluppgift, till exempel anropa en funktion som skrevs i den tidigare uppgiften, så behöver du inte skriva samma kod igen. Du får också göra uppgiften även om du inte gjort den tidigare uppgiften. Uppgift 6 (2 p) Svenska Postpropplotteriet är en ondskefull organisation som har som mål att proppa igen folks brevlådor med reklam, så att det bildas så kallade postproppar. Egentligen ville Svenska Postpropplotteriet ha en databas för att lagra data om postpropparna, men av etiska skäl vägrar Oracle, Microsoft och de andra tillverkarna av databashanterare att hjälpa dem. Därför ska de i stället göra ett C-program som hanterar postproppar. Först ska vi skapa datatypen struct Postpropp, som används för att representera en postpropp. En postpropp har en volym, som mäts i kubikdecimeter och lagras som ett flyttal, och den har också ett antal, som är ett heltal och som anger hur många reklamförsändelser som postproppen består av. Dessutom ska man lagra adressen till brevlådan med postproppen. Adressen kan innehålla högst 60 tecken. Vi ska också använda #define för att skapa ett makro för max-adresslängden. Skapa posttypen och makrot, i rätt ordning så att det går att kompilera. Uppgift 7 (1 p) Definiera en variabel av typen struct Postpropp och initiera den med data om en postpropp som är 14,7 kubikdecimeter stor, innehåller 198 reklamförsändelser, och finns på Granvägen 6A, 702 21 Örebro.

5 of 6 Uppgift 8 (2 p) Vi vill kunna visa postproppsposternas innehåll på skärmen. Skriv en funktion som heter visa_postpropp, och som skriver ut data om en postpropp. Funktionen ska ta en postproppspost (eller, om du vill, en pekare till den) som parameter. Här är ett exempel på hur utskriften kan se ut: Volym: 14.7 kubikdecimeter Antal reklamförsändelser: 198 Adress: Granvägen 6A, 702 21 Örebro Uppgift 9 (3 p) Skriv en funktion som heter las_postpropp, och som läser in data om en postpropp. Funktionen ska skriva ut lämpliga ledtexter på standardutmatningen, och läsa in data från standardinmatningen (som normalt är kopplad till tangentbordet). Du får själv välja om du vill att funktionshuvudet ska se ut så här: struct Postpropp las_postpropp() eller så här: void las_postpropp(struct Postpropp *p) Uppgift 10 (1 p) Skriv en funktion som heter mindre_postpropp, och som tar två postproppar som argument. Den ska returnera ett sant värde om den första postproppen har mindre volym än den andra, och ett falskt värde om den är lika stor eller större. Uppgift 11 (2 p) Skriv en main-funktion som har två lokala variabler av typen struct Postpropp, och som läser in data om två postproppar till dessa variabler med hjälp av funktionen las_postpropp. Därefter ska programmet skriva ut den största av de två postpropparna med hjälp av funktionen visa_postpropp. Använd funktionen mindre_postpropp för att avgöra vilken som är störst. Uppgift 12 (3 p) Skriv funktionen biggest_propp, som tar en array av postproppar som argument, tillsammans med antalet postproppar i arrayen, och som returnerar den största av postpropparna i arrayen. (Använd gärna funktionen mindre_postpropp när funktionen söker efter den största proppen, men det är inget krav.)

6 of 6 Uppgift 13 (5 p) Skriv ett C-program som läser in postproppar med hjälp av funktionen las_postpropp, och sparar allihop i en array. Arrayens ska kunna innehålla högst 2000 postproppar, och dess storlek ska anges med ett makro. Välj själv hur inmatningen ska avslutas. (Det ska inte vara ett förutbestämt antal postproppar.) Därefter ska programmet anropa funktionen biggest_propp för att hitta den största proppen, och avslutningsvis skriva ut den med funktionen visa_postpropp. Uppgift 14 (4 p) a) Skriv en funktion spara_proppar som sparar posterna i arrayen från uppgiften ovan på en fil. Välj själv om det ska vara en textfil eller en binärfil. b) Visa hur funktionen ska anropas från programmet i uppgiften ovan, och eventuell övrig kod som behöver läggas till i det programmet. Uppgift 15 (5 p) Små postproppar är för lätta att få bort ur brevlådorna, så Svenska Postpropplotteriet bryr sig inte om dem. Skriv därför ett C-program som först frågar efter en volymgräns, läser filen från uppgiften ovan, och skriver en ny fil med samma format men ett nytt namn, som innehåller de postproppar från originalfilen som är större än volymgränsen.