Instuderingsfrågor till Steg 1

Storlek: px
Starta visningen från sidan:

Download "Instuderingsfrågor till Steg 1"

Transkript

1 Instuderingsfrågor till Steg 1 Följande frågor har till avsikt att underlätta inläsningen av det teoriavsnitt som hör till steg1. Frågorna är anpassade till kursboken C++ from the Ground Up av Herbert Schildt men bör kunna passa vilken C++ bok som helst. Omfattning Motsvarande Schildt Kap 1 - Kap 3 Kapitel 1 - The Story of C++ Kapitlet går igenom historien om hur C++ utvecklades från C, som är ett strukturerat, procedurorienterat språk, genom att lägga till möjligheter att utveckla objektorienterade program. Kapitlet tar också upp de grundläggande egenskaperna hos ett objektorienterat språk, dvs inkapsling, polymorfism och arv. Avslutningsvis jämförs C++ med några andra språk såsom Java och C#. För att kunna ta till sig innehållet i detta kapitel krävs att man har en viss tidigare kännedom om programspråk och kan därför läsas vid ett senare tillfälle. Några begrepp kan vi dock försöka lära oss redan nu. 1.1 Vilka två personer (efternamn) är förknippade med att ha tagit fram programspråket C? De har också skrivit boken The C Programming Language. 1.2 Vem skapade C++? 1.3 Vad var det för programmeringsparadigm som tillfördes C i och med att C++ skapades? Hur brukar denna förkortas? 1.4 Vilka tre egenskaper kännetecknar objektorienterade språk. Kapitel 2 - An Overview of C++ Kapitlet ger en översikt över hur ett enkelt C++ program ser ut och hur det kompileras, länkas och körs. De grundläggande byggstenarna hos ett program visas, såsom variabler där man kan spara data under programkörningen, enkla funktioner för att strukturera programmet i underprogram samt användning av funktionsbibliotek med färdiga funktioner för t ex absolutbelopp. Även enkla exempel på hantering av villkor (if -satsen) och repetitioner (for-satsen) tas upp. Även om exempelprogrammen är lätta att förstå, så är det en helt annan sak att skriva dem själv. Därför är det viktigt att du själv övar på att skriva liknande program för att alla detaljer ska fastna i ryggmärgen. I uppgifterna nedan finns därför små program som du kan öva på. Försök göra dem utan att titta i boken (vilket är målet), om det inte går hittar du liknande i boken. Det räcker att skriva dessa små program på papper, men det är naturligtvis inget som hindrar att du använder editor och kompilator. 2.1 Vad menas med källkod resp.objektkod (source code resp. object code)? 2.2 Vilken filändelse ska källkod i C++ ha? 2.3 Varför kan inte processorn köra C++ - källkoden? Hur löser man det? 2.4 Vilken filtyp skapas av kompilatorn resp. länkaren? (Länkaren är inte beskriven i boken). 2.5 På vilka två sätt kan man skriva kommentarer i C++? Vad skiljer dem åt? 1

2 2.6 Vilka två rader är nödvändiga i ett program som ska använda cout. (cout finns i standardbibliotekets "iostream-hylla"). 2.7 Alla program i C++ innehåller minst en funktion där programkörningen startar. Vad heter den? 2.8 Skriv ett fullständigt program som skriver ut "FEL" och returnerar 2 till operativsystemet. 2.9 Vad är egentligen en variabel (sid 17)? Vad måste man göra med en variabel innan den kan användas? Vad är int? Vad kallas det på svenska när man ger en variabel ett värde (assign)? Hur ser tilldelningstecknet ut i C++? 2.10 Skriv ett kort program som läser in ett antal timmar och skriver ut hur många sekunder det blir. Använd ledtexter vid både in och utmatning. Lägg märke till skillnaden att skriva ut en text (sträng) och värdet av en variabel Vilken datatyp använder man vanligen om man vill spara ett tal med decimaler (flyttal)? 2.12 Ett antal personer ska dela på en krognota. Skriv ett program som läser in antalet (heltal) personer som ska vara med och betala och beloppet på notan. Låt programmet lägga på 10 % i dricks och räkna ut hur mycket var och en ska betala. Skriv ut resultatet Vad kallas de "byggblock" som bygger upp ett C++ program och som det måste finnas minst en av? 2.14 Vad menas med en funktionsprototyp och en funktionsdefinition? 2.15 Funktioner som inte returnerar något värde brukar i många andra programspråk kallas för procedurer - De returnerar inte något utan utför i stället en uppgift, t ex skriver ut något. I C++ gör man inte skillnad på procedurer och funktioner. Hur deklareras en funktion som inte returnerar något värde i C++? I standardbibliteket <cmath> (som ska inkluderas) finns funktionen sqrt() som tar ett tal som argument och returnerar kvadratroten ur detta tal. T ex ger satsen: cout << "Roten ur 9 = " << sqrt(9); svaret: Roten ur 9 = Skriv ett kort program som läser in ett flyttal och skriver ut kvadratroten ur talet Vad kallas de värden som man skickar som indata till en funktion (i parentesen)? 2.18 Skriv definitionen (=koden till) av en funktion som heter add och skriver ut summan av de två heltalsargument som skickas till funktionen. Funktionen ska inte returnera något Skriv ett fullständigt program som skriver ut summorna 5+12, 12+(-5) och (-5)+(-12). Programmet ska använda funktionen add från föregående uppgift Vad är det som kallas argument resp. parametrar? 2.21 Skriv om add-funktionen (eg. proceduren) från programmet ovan så att den istället för att skriva ut summan returnerar denna med return. Hur ska man nu anropa funktionen i main så att vi kan få samma utskrifter som i programmet ovan? 2.22 Var i programkoden kan man skriva funktionen main? Var placerar man vanligen main? Hur många main-funktioner kan man ha i ett program? 2.23 Använd "orden": funktionskropp, {, funktionsnamn, ( ), returtyp, return, parameterlista, funktionskod och skapa ett generellt "funktionsskelett" med dessa ord. När kan return utelämnas? 2.24 Vad har (escape-)sekvensen \n för inverkan på koden nedan: cout << "Rad 1\n"; cout << "Rad 2\n"; Hur skulle utskriften bli om newline (nyrads)-tecknet \n utelämnades i koden ovan? 2

3 Schildt använder tyvärr en lite slarvig stil i sina if och for - satser. Det finns goda skäl att skriva ifsatserna på lite annorlunda sätt. T ex if(a<b) cout << "First number is less than second."; // Citat från boken - allt på en rad bör istället skrivas: if (a<b) // mellanslag mellan if och ( ) cout << "First number is less than second."; // indentera "om-sant" satsen // Nästa rad här eller ännu bättre: if (a < b) // använd mellanslag i uttrycket { // lägg "om-sant" satser indenterade cout << "First number is less than second."; // i ett block // Nästa rad här 1. Använd mellanslag mellan if och parentesen för att skilja uttrycket från vad som skulle kunna vara ett anrop till en funktion if() om det nu fanns någon sådan. 2. Skriv de satser, som ska utföras om villkoret är sant, på raden under indenterat (=indraget) inom klammerparenteser som visas ovan. (Om det är mer än en sats MÅSTE dessa ligga i ett block, {) 3. Indentering görs med ett TAB-steg. Kod mellan { indenteras ALLTID! 4. Lägg helst in mellanslag i uttryck, så dessa blir tydligare. Detta ger mer läsbar kod strukturen syns bättre! Debuggern kör en rad i taget vi kan då lättare se om "om-sant"-koden verkligen körs! Det som sagts om if-satsen GÄLLER ÄVEN FOR-SATSEN! Var konsekvent! Skriv alltid på SAMMA genomtänkta sätt! Att skriva ut en "tabell" med talen 1 till 10 under varandra skulle man rent teknisk kunna göra med 10 cout - satser under varandra: cout << 1 << "\n"; cout << 2 << "\n"; cout << 3 << "\n"; cout << 10 << "\n"; Det är inte speciellt flexibelt! Det har flera nackdelar med sig här är några! Det går inte att ändra från 10 till 20 utan att skriva om koden och kompilera om programmet. Tänk om vi vill skriva ut 1 till Detta blir orimligt många rader kod! Med en for-sats kan vi repetera en eller flera satser hur många gånger som helst och samtidigt öka en räknare. Vi får då mycket mindre kod och antalet repetitioner kan lätt ändras Skriv en for-sats som skriver ut talen från 1 till 1000 under varandra! Det räcker med själva forsatsen och definition av de variabler du behöver. 3

4 2.26 Skriv ett alternativ till count = count + 1; och till count = count - 1; 2.27 Hur skriver man för att kunna repetera mer än en sats i for-satsen? 2.28 Skriv en if-sats som testar variablerna a och b. Om a är mindre än b ska "mindre" skrivas ut i ett meddelande och a ska ökas med 1. Efter if-satsen ska b minskas med Ge exempel på 4 nyckelord som du träffat på i tidigare exempel. Dessa ord är reserverade och du får inte använda ett nyckelord till ett variabelnamn Hitta på 3 identifierare (namn på egna variabler, funktioner mm) som bryter mot 3 olika regler. (OBS! När Schildt skriver bokstav menar han amerikanska bokstäver, dvs. ÅÄÖ m fl. är inga bokstäver enligt honom) 2.31 Koden till biblioteksfunktioner, t ex till abs() eller sqrt(), finns i C++ standardbibliotek. Hur går det till när ditt.exe program får tillgång till denna kod? Kapitel 3 - The Basic Data Types När vi vill spara data, t ex ett antal eller ett pris gör vi det i en variabel. En variabel är en synonym för en minnesadress i datorns RAM-minne (primärminne/användarminne). För att slippa hålla reda på olika adresser kan dessa i stället knytas till ett variabelnamn. Sedan är det kompilatorns och länkarens uppgift att hålla reda på var i minnet data kommer att lagras. Olika data tar olika stor plats. För att lagra ett tecken, t ex bokstaven A, räcker det med 1 byte medan det går åt 8 byte för att lagra ett flyttal, t ex 7,5. För att kompilatorn ska veta hur många byte som ska reserveras för en variabel är det programmerarens uppgift att tala om för kompilatorn vad som behövs. Detta görs genom att ange datatyp för alla variabler som skapas. När man i programmet skriver ut värdet av en variabel så måste kompilatorn veta hur många byte som ska hämtas från minnet och hur dessa ska tolkas, datatypen innehåller då denna information. Figur 3.1 visar resultatet av följande satser. double pris = 7.5; // double (flyttal) tar 8 byte av minnet i anspråk int antal = 2; // int (heltal) tar 4 byte av minnet i anspråk char tkn = 'A'; // char (heltal) tar 1 byte av minnet i anspråk pris, antal och tkn blir synonymer för de adresser där värdet sparas. Ett variabelnamn kan betyda två saker 1. Adressen där den sparas (lvalue = leftvalue - variabeln står på vänster sida) 2. Värdet som är sparat i adressen (rvalue = rightvalue - variabeln står på höger sida) Uttrycket: pris = pris * 1.10; ska tolkas så här: Värdet i variabeln pris på höger sida (rvalue), ska multipliceras med 1.10 och därefter åter sparas på minnesadressen med namnet pris (lvalue) pris antal tkn Variabel Adress Minne Figur 3.1 Nedanstående beskrivning av lagringsformat är översiktlig. Du behöver inte kunna detaljerna (ännu) men du bör vara allmänt informerad. All data lagras med binärkoder i datorns minne enligt olika principer. Heltalen finns tillgängliga i olika storlekar i 8, 16, 32, 64 bitar. För heltal kan man välja att endast lagra positiva värden (unsigned), talområdet blir då 0 - (2 n -1) där n är antalet bitar. Som standard (default) är heltalen signed. C:a hälften av det tillgängliga talområdet används då till att lagra negativa tal. Negativa tal lagras i något som kallas 4

5 tvåkomplementform och innebär bl a att högsta biten blir 1. De positiva talen har högsta biten 0 och kan tolkas som vanliga binärtal. Talområde för unsigned char och char (8 bitar) unsigned char signed char (default) = = = Figur 3.2 Figur 3.2 visar hur det tillgängliga talområdet utnyttjas för unsigned char resp signed char. char lagras i 8 bitar, dvs. största talet blir då = 255. Det är detta talområde vi får om vi endast vill spara positiva heltal. Genom att låta högsta biten fungera som en teckenbit, dvs. 0 ger + och 1 ger -, så blir det bara 7 bitar kvar att spara tal i. Högsta talet blir då = 127, resten av talen blir negativa, dvs till vilket motsvarar -128 till -1. Detta lagringsformat kallas tvåkomplementform och det är enligt denna förkortade beskrivning inte helt uppenbart hur talen ska tolkas, (men det var inte heller avsikten med denna lilla förklaring, som du bara behöver läsa översiktligt). Överskrida talområdet för heltal Om en heltalsvariabel ökas så att den överskrider talområdet så "går den runt" och börjar om från början. T ex blir -128 och blir -127 osv. för en char. Det är samma fenomen som skulle hända om 999 ökas med 1 och vi endast har plats för tre siffror = 000, ettan i 1000 får helt enkelt inte plats och svaret blir = -2 7 Overflow i heltal char = Flyttal (t ex double) finns också i olika talområden med olika antal siffrors precision. Lagringsprincipen för ett flyttal påminner om sättet som man brukar skriva små och stora tal med 10-potenser. T ex brukar man skriva 0, som 3, Detta tal skulle då kunna lagras som [0 3,456-3], där första nollan betyder positivt tal och resten att det är talet 3, Flyttal sparas på liknande sätt i minnet, fast naturligtvis i binär form och med basen 2 i stället för 10. Det är alltså ganska komplicerat. Tecken lagras vanligen med datatypen char som egentligen är en heltalstyp. För att koda ett tecken som ett heltal används olika teckentabeller där varje tecken får sin kod. Tyvärr använder olika operativsystem olika koder. Ett tecken skrivet med en windows-editor, som sedan visas i ett console-fönster, kommer att medföra att specialtecken såsom Å,Ä och Ö förmodligen visas annorlunda, då dessa har olika koder i Windows och i Console. De engelska bokstäverna kodas vanligen enligt ASCII-tabellen och visas lika i båda miljöerna. wchar_t är en 16-bitars datatyp som gör det möjligt att lagra olika tecken, vilket räcker till de flesta alfabet på jorden. Denna kodning kallas UNICODE. Tumregel Det finns många varianter av de enkla datatyperna. Detta ger stora möjligheter att anpassa datatypen efter storlek och önskad precision. Använd följande tumregel vid val av datatyp om inget speciellt talar emot detta. int väljs till heltal double väljs till tal med decimaler char till tecken 32 bitar, talområde c:a ±2 miljarder 64 bitar, talområde c:a 10 ±308 med 19 siffrors precision 8 bitar, klarar västvärldens alfabet bool till logiska värden true eller false 8 bitar, endast två värden, false (=0) och true (=1). 5

6 3.1 Vad menas med en lokal variabel? Hur länge existerar den? Hur lång är räckvidden? 3.2 Är det tillåtet att två funktioner definierar lokala variabler med samma namn? 3.3 Vad menas med en global variabel? Hur länge existerar den? Hur lång är räckvidden? Då de flesta datorer idag har 32 bitars ordlängd eller mer kan du lugnt hoppa över tabellen med datatyper för 16-bitars maskiner, Table 3-2a. Tabellen Table 3-2b är dock intressant, men tumregeln ovan fungerar mycket bra. 3.4 Skriv en for- loop som skriver ut det engelska alfabetet framlänges. Definiera använda variabler. 3.5 Vad innebär bokstäverna efter talen, resp. före tecknet? a) i = 123L; b) j = 123U c) k = 123UL d) d = 25.3F e) e = 25.3L f) wch = L'A'; 3.6 Vad blir utskrifterna av följande satser? a) cout << 0x10; b) cout << 010; 3.7 Vad är 'A' resp. "A" för typ av data? 3.8 Beskriv hur utskriften av följande sats blir: cout << "\ahej\nalla\glada\n\"bagare\""; 3.9 Vad blir globala variabler initierade till om man inte anger något annat? 3.10 Nedanstående program är en variant av exemplet på sid 45 i boken. Meningen är att det ska skriva ut: Summan av 1+3 = 4 Summan av = 9 Men något är fel, det blir inte rätt svar! Vad är det som är fel? Ledtråd: Exemplet i boken vill illustrera något speciellt. Det är detta som är glömt i exemplet. #include <iostream> using namespace std; int total(int n); int main() { cout << "Summan av 1+3 =" << total(3) << '\n'; cout << "Summan av = " << total(5); return 0; int total(int n) { int sum; for (int i = 1; i<=n; i = i + 2) { sum = sum + i; return sum; OBS! Operatorer Det finns många operatorer I C++, de vanligaste (-,+,*,/,%,--, ++) räknas upp i Table 3-4 i boken Tänk på att divisions-operatorn ( / ) fungerar på två sätt: Om både täljare och nämnare är ett heltal så blir också resultatet ett heltal. T ex: 10/3 = 3 (inte ) Om någon av operanderna är ett flyttal blir också resultatet ett flyttal. T ex 10/3.0 =

7 Modulo-operatorn %, ger resten vid en heltalsdivision Ex 10 % 3 = 1 (3 går 3 gånger i 10, 3*3 = 9 så resten blir 10-9 = 1) 6 % 4 = 2 (4 går 1 gång i 6, 1*4 = 4 så resten blir 6-4 = 2) 1 % 2 = 1 (2 går 0 gånger i 1, 0*2=0 så resten blir 1-0 = 1) 2 % 2 = 0 3 % 2 = 1 4 % 2 = 0 % används oftast för att kontrollera om ett tal är delbart med ett annat. Som du ser ovan blir tal % 2 lika med 0 för jämna tal och = 1 för udda. (Kan vara bra att lägga på minnet!) % kan bara användas med heltal. % är mer användbar än vad man kan tro! 7

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer

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

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar. Värmdö Gymnasium Programmering A 110123 Lektion C1 Grunder Att programmera handlar mycket om att lära sig att analysera det problem eller den funktion man vill att programmet ska ha, och översätta det

Läs mer

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

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt

Läs mer

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering

Läs mer

1 Funktioner och procedurell abstraktion

1 Funktioner och procedurell abstraktion 1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår

Läs mer

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

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

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

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -

Läs mer

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Lektion 1 - Steg 1. Introduktion. Hello World

Lektion 1 - Steg 1. Introduktion. Hello World Introduktion Kursen är utvecklad som ett projekt med syfte att stödja ett flexibelt lärande. Idéerna bakom den successiva examinationen är att synliggöra de enskilda inlärningsstegen i kursen. Tanken är

Läs mer

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om

Läs mer

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Inledande programmering med C# (1DV402) 27+15=42 1 (22) 27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll

Läs mer

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

TDIU01 (725G67) - Programmering i C++, grundkurs . TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler

Läs mer

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++ Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret

Läs mer

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Data, typ, selektion, iteration

Data, typ, selektion, iteration Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4 Modul 2 Byggstenar PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4 Byggstenar 4 Nyckelord 4 Tecken 4 Syntax 5 Standardbibliotek 5 Vårt första program 5 Variabler 6 Konstanter 9 Operatorer 9 Övningar 9 Mer operatorer

Läs mer

C++ - En introduktion

C++ - En introduktion C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Funktionens deklaration

Funktionens deklaration Funktioner - 1 Teknik för stora program #include #include......... cout

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

System.out.println(Jaså du har + antalhusdjur+  husdjur); if ( antalhusdjur > 5 ) System.out.println(Oj det var många); 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

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

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

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

Övningsuppgifter till föreläsning 2 Variabler och uttryck Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna

Läs mer

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Laboration:. Jämförelser mellan assembler och C. I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal. Förberedelser:

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet 1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken

Läs mer

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta

Läs mer

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten

Läs mer

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

Föreläsning 1: Momstabellen i C++ Nu sätter vi igång med C++! Föreläsning 1: Momstabellen i C++ På den här föreläsningen skall jag ta ett stort exempel och ett par små och med dessa hoppas jag att täcka in mycket av det som är grundläggande.

Läs mer

Att använda pekare i. C-kod

Att använda pekare i. C-kod Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare

Läs mer

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler 1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp

Läs mer

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng

Läs mer

TDDC76 - Programmering och Datastrukturer

TDDC76 - Programmering och Datastrukturer TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 20 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 20 Internminne

Läs mer

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

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

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

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf Föreläsning1 Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf scanf Ni behöver läsa boken både för att

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

1 Språket C Valet av språket C++ för kompendiet. 1.2 Språket. 1.3 Att programmera. 1.4 Hello World Börja programmera

1 Språket C Valet av språket C++ för kompendiet. 1.2 Språket. 1.3 Att programmera. 1.4 Hello World Börja programmera 1 Språket C++ 1.1 Valet av språket C++ för kompendiet Språket C++ är ett språk som utvecklats för storskalig objektorienterad utveckling av sofistikerade och komplexa system. Det ligger då i sakens natur

Läs mer

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor

Läs mer

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

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk

Läs mer

Programmeringsteknik I

Programmeringsteknik I Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden

Läs mer

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

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det

Läs mer

Repetition C-programmering

Repetition C-programmering Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition

Läs mer

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

C-programmering, föreläsning 2 Jesper Wilhelmsson C-programmering, föreläsning 2 Jesper Wilhelmsson Funktioner void Globala och lokala variabler, scope static Arrayer Strängar ASCII, ANSI Argument till main Slumptal Funktioner Nu är det dags att börja

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

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

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2 Föreläsning 2 2.1 Variabler Vi studerar exempel 1 från boken: int main(void) int a,b,c=7; float antal,pris=3.70,laengd; a=34; b=32767; antal=-123.978; pris=89.00; laengd=56; c=-38; laengd=laengd+1; Sex

Läs mer

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad

Läs mer

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

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1 Idag Kursupplägg Satser

Läs mer

Planering Programmering grundkurs HI1024 HT 2014

Planering Programmering grundkurs HI1024 HT 2014 Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att

Läs mer

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.

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. 2 Enkla datatyper Att skriva ett program innebär att man ska tillverka en plan för att bearbeta data eller information på något sätt Programmering handlar om data och bearbetning av data Data kan vara

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt

Läs mer

Introduktionslaboration

Introduktionslaboration TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

LEU240 Mikrodatorsystem

LEU240 Mikrodatorsystem Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad

Läs mer

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

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011, Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,

Läs mer

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

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram Mål Lab 2: Underprogram Följande laboration introducerar underprogram; procedurer, funktioner och operatorer. I denna laboration kommer du att lära dig: Hur man skriver underprogram och hur dessa anropas.

Läs mer

Pascal... Pascal. Pascal... Pascal...

Pascal... Pascal. Pascal... Pascal... ... Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin) Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades

Läs mer

Introduktion C-programmering

Introduktion C-programmering Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

Läs mer

Uppgifter teknik HT17 (uppdaterad v. 40)

Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifterna bedöms inte, de är bara till för att öva. Samarbeta gärna med andra! Du behöver inte skriva ner svaren, men se till att du förstår lösningarna! 1. Det

Läs mer

float Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number )

float Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number ) 1 Datatyper och Uttryck I räkneprogrammet tidigare såg vi att C++ kräver deklarationer av alla variabler som används. I räkneprogrammet användes bara variabler av heltalstyp, int, men det finns naturligtvis

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer 729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser

Läs mer