Uttryck, satser och strömhantering

Relevanta dokument
Grundläggande in- och utmatning

kl Tentaupplägg

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift )

kl Tentaupplägg

Uppgift 1 ( Betyg 3 uppgift )

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

DUGGA Tentaupplägg

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)

Uppgift 1 (grundläggande konstruktioner)

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Tentaupplägg. Betygsgränser: 1 uppg 19:00 Betyg 3 2 uppg 18:00 Betyg 4 2 uppg 16:30 Betyg 5 3 uppg 18:00 Betyg 5

Kursmaterial för laborationer i

Uppgift 1 (Sorterade heltal som är OK)

kl Tentaupplägg

kl Tentaupplägg

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

kl Tentaupplägg

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

TDIU01 (725G67) - Programmering i C++, grundkurs

kl Tentaupplägg

DUGGA Tentaupplägg

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

Objektorienterad programmering Föreläsning 2

TDIU Regler

kl Tentaupplägg

Tentaupplägg denna gång

TDP Regler

5 Grundläggande in- och utmatning

Uppgift 1a (Aktiekurser utan poster)

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Tentaupplägg denna gång

kl Tentaupplägg

i LabVIEW. Några programmeringstekniska grundbegrepp

TDIU01 - Programmering i C++, grundkurs

kl Tentaupplägg

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

Uppgift 1 (vadå sortering?)

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Laboration 1 Introduktion till Visual Basic 6.0

Vi programmerar Java!

Tentaupplägg denna gång

C++ - En introduktion

MMA132: Laboration 2 Matriser i MATLAB

Laboration 1. Imperativ programmering. Stilgranskning av Lab Slutredovisning av Laboration 1

Uppgift 1 (Oläsliga krypterade meddelanden)

Värmedistribution i plåt

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

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

Variabler och konstanter

Övningsuppgift 2 Datalogi I 2I1027/2I1035/2I1046

TDP Uppgift 1

JavaScript del 2 DocumentWrite, Prompt och ParseInt

Övningsuppgifter kapitel 8

Introduktionslaboration

TDP Regler

Lab 0: Mycket grundläggande in- och utmatning

Tips och tricks 1 Cadcorp SIS

BASH. Bourne-Again SHell. Eric Elfving Institutionen för datavetenskap (IDA)

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

Programmeringsuppgifter 1

TDDI16: Datastrukturer och algoritmer

Föreläsning 1: Momstabellen i C++

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

Övningsuppgifter. TDIU04 Programmering i C++, standardbibliotek. Innehåll. Vt Lektion Lektion Lektion Lektion 4...

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

SMD 134 Objektorienterad programmering

kl Examination - Ada

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

TDP Regler

Enkla datatyper minne

Språket Python - Del 1 Grundkurs i programmering med Python

TDP004 - Tentamen All kod som skickas in för rättning ska kompilera och vara väl testad.

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

DD1314 Programmeringsteknik

Standard Template Library

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

LABEL PRINTER TUTORIAL

Innehållsförteckning. Exempel. Åtkomst & användarhandledning

Uppgift 1 ( Betyg 3 uppgift )

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

Att komma igång med DISGEN 8.2

TDDI TDDI22 Tentaregler

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

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

TDIU01 - Programmering i C++, grundkurs

kl Tentaupplägg

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift )

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Transkript:

Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2018-09-06 Mål Uttryck, satser och strömhantering I denna laboration ska du lära dig Formaterad inläsning och utskrift Vanliga repetitions- och villkorssatser Enkla artimetiska uttryck Uppgift 0.1 Skriv ett program som hämtar data från tangentbordet och skriver ut det enligt körexemplen på kommande sidor. Det som syns på skärmen när man kör programmet ska överensstämma till fullo med givna exempel. Det gäller även antal blanktecken mellan ord och tal. Ett tips är att du gör en liten del i taget och ser att den fungerar för det första körexemplet och sedan går vidare med nästa problem. Detta för att slippa många fel på slutet av uppgiften. När ni känner er klara med en del kan du kommentera bort den för att slippa göra samma inmatning igen. OBS! Ditt program ska fungera för båda körexemplen, dock behöver du inte klara av alla möjliga varianter av indata då detta är i princip omöjligt i detta läge. KRAV: Du får endast använda en variabel av respektive datatyp (totalt fyra)!

Programkörningar uppgift 0.1 Programmet ska ge resultat enligt följande exempel vid olika körningar. Användarens indata markeras här med kursiverad stil. Observera att eventuella inmatningar som kommer efter begärd inmatning skall ignoreras. Körexempel 1 Skriv in ett heltal: 10 Du skrev in talet: 10 Skriv in fem heltal: 12 30 27 13 11 Du skrev in talen: 12 30 27 13 11 Skriv in ett heltal och ett flyttal: 67 3.141592 Du skrev in heltalet: 67 Du skrev in flyttalet: 3.1416 Skriv in ett flyttal och ett heltal: 3.141592 67 Du skrev in heltalet:---------67 Du skrev in flyttalet:----3.1416 Skriv in ett tecken: T Du skrev in tecknet: T Skriv in ett ord: Kalle Du skrev in ordet: Kalle Skriv in ett heltal och ett ord: -5 Nisse Du skrev in talet -5 och ordet Nisse. Skriv in ett tecken och ett ord: A Ria Du skrev in "Ria" och 'A'. Skriv in en rad text: Hej världen Du skrev in: "Hej världen" Skriv in en till rad text: Hej igen världen Du skrev in: "Hej igen världen" Skriv in tre ord: Testar ett program Du skrev in: "Testar", "ett" och "program"

Körexempel 2 Skriv in ett heltal: 10.3 Du skrev in talet: 10 Skriv in fem heltal: -12 10330 27 13 11 fem Du skrev in talen: -12 10330 27 13 11 Skriv in ett heltal och ett flyttal: 3267 Du skrev in heltalet: 3267 Du skrev in flyttalet: 3.1416 3.141592 d Skriv in ett flyttal och ett heltal: 67 3.141592 Du skrev in heltalet:----------3 Du skrev in flyttalet:---67.0000 Skriv in ett tecken: Tomas Du skrev in tecknet: T Skriv in ett ord: 123Kalle Du skrev in ordet: 123Kalle Skriv in ett heltal och ett ord: 12är det lunch Du skrev in talet 12 och ordet är. Skriv in ett tecken och ett ord: oklart Du skrev in "klart" och 'o'. Skriv in en rad text: här skriver vi lite mer Du skrev in: " här skriver vi lite mer" Skriv in en till rad text: lite mera text här Du skrev in: "lite mera text här" Skriv in tre ord: Testar ett program Du skrev in: "Testar", "ett" och "program"

Uppgift 0.2 - Temperaturtabell Du ska skriva ett program som ska skriva ut en tabell med temperaturer i grader Celsius, Kelvin, Fahrenheit och Réaumur. Användaren ska få mata in startvärde och slutvärde för tabellen i Celcius. Rimlighetskontroll på indata ska utföras. Följande formler för omvandling från Celsius ( C) till Kelvin (K), Fahrenheit ( F) resp. Réaumur ( R) gäller: kelvin = celcius + 273.15 farenheit = celcius * 9/5 + 32 (testa noga!) réaumur = celcius * 4/5 Körexempel 3 Ange startvärde: 0 Ange slutvärde: -20 Felaktigt intervall! Ange slutvärde: 20 Celsius Kelvin Farenheit Réaumur ---------------------------------------- 0 273.15 32.00 0.00 1 274.15 33.80 0.80 2 275.15 35.60 1.60 <flera utelämnade rader av utrymmesmässiga skäl> 19 292.15 66.20 15.20 20 293.15 68.00 16.00 Uppgift 0.3 - Ordbehandling Du ska skriva ett program som läser en text som användaren matar in varefter programmet ska beräkna lite statistik för texten. Det som ska beräknas är totala antalet ord och medellängden för orden i texten. Programmet ska även skriva ut det kortaste respektive längsta ordet som matades in. Finns flera kortaste ord skrivs det första av dem ut, och finns flera längsta ord skrivs det sista av dem ut. Texten ska läsas från standard inmatningsström (cin) till filslut. Om inga ord har lästs in ska en varning skrivas ut. Programmet behöver bara fungera korrekt för engelska alfabetet. Antag att ett ord definieras som en sammanhängande sekvens synliga tecken. Om du vill får du gå lite utanför vad som krävs genom att bara räkna ordens bokstäver. För detta behöver du fundera på hur du kan skilja ut bokstäverna från tecken.

Körexempel 4 Texten innehöll 4711 ord. Det kortaste ordet var "nu" med 2 tecken. Det längsta ordet var "kompilatorkonstruktion!" med 23 tecken. Medelordlängden var 5 tecken. Om standard inmatningsström I beskrivningen ovan står det dels att inläsningen ska ske från standard inmatningsström (cin). Som standard motsvarar detta att läsa från tangentbordet. Men det står även att texten ska läsas till filslut. Detta kan verka konstigt, men faktiskt är det helt rätt. Det programmet får från cin är en sekvens med tecken som kommer in på rad i en viss ordning, dvs en fil med tecken (jämför en fil för och med bilar). När filen är slut kallas det filslut. Ordet fil avser i C++-terminologi alltså en rad tecken och inte bara en lagrad datafil. Notera dock att även en lagrad datafil på disk är en rad med tecken i en viss ordning, dvs en fil. Hur skrivs nu ett filslut på tangentbordet? I Linux-terminalen finns en tangentbordskombination för detta: tryck Ctrl-D (håll ned Control, tryck D) på en tom rad. Det går i Linux-terminalen att ändra på vad ett program ska se som standard inmatningsström. Det kan vara allt som kan ses som en fil (sekvens av tecken i viss ordning). Ett sätt att åstadkomma det är med ett mindre än (<) tecken efter programnamnet följt av namnet på en datafil. Till exempel kommer a.out < text.txt göra att datafilen text.txt anses vara standard inmatningsström. Detta kallas omdirigering och är praktiskt när du vill köra ditt program många gånger med samma indata. Med omdirigering dyker filslutet upp automatiskt när datafilen är slut, du behöver alltså inte lagra Ctrl-D sist i datafilen. Ett mer avancerat sätt att ändra standard inmatningsström är med vidarebefordran. Då används det som skrivs ut från ett annat program som standard inmatningsström till ditt program. Detta skrivs med ett vertikalstreck. Till exempel gör cat text.txt a.out att utdata från kommandot cat text.txt skickas in till a.out. I detta fall skriver första kommando ut hela filen text.txt, så resultatet blir detsamma som a.out < text.txt ovan.