Frågor TDP004. ExaminaBon. KursinformaBon. Tid i kursen. Tid i kursen Första chansen Bll frågor.
|
|
- Maria Kerstin Blomqvist
- för 6 år sedan
- Visningar:
Transkript
1 Frågor Första chansen Bll frågor. TDP004 Det går bra räcka upp handen när som helst. Objektorienterad programmering Programmera C++ Får man en fråga förväntas man svara så goi man kan. Gissa om inte annat. KursinformaBon Kurshemsida hip:// Examinator: Assistenter: DAT2: Datortenta Teoridel PrakBsk del ExaminaBon Hur var tentan i TDP002? LAB2: LaboraBoner TestuppgiY (helklass) ger fuskblad på tenta Närvaro och akbvitet på programmeringsstugor Alla laboraboner demonstrerade och godkända Tid i kursen Totalt 8 hp 3hp är 80h så 8 hp är 8/3*80 = 213h 11 Fö, 5 Le, 3 Dj är 38h 213h - 38h = 175h programmering och programmeringsförberedelse Totalt 7 veckor 175h / 7 = 25h (!) programmering per vecka Tid i kursen En termin är 30hp En period är 15 hp och 7 veckor Kursen använder 8 hp av 15 hp Det är 53% av Bden En arbetsvecka är 40h 40h*53% = 21h programmering och programmeringsförberedelse per vecka 21h*7veckor = 147h = 5.5hp??????????????? 1
2 Kursupplägg Föreläsningar Frågor, syntax, frågor, exempel, frågor LekBoner Frågor, gemensamma lösningar, frågor, diskussioner, frågor Programmeringsstugor Diskussioner, exempel, lösningar LaboraBoner LaboraBoner Arbete i par med någon på samma nivå Labgruppsregistrering i LUPP Schemalagt Bd är för demo och frågor Kom förberedd DemonstraBon i sal för assistent Kom förberedd Kodinlämning på senare laboraboner Deadlines Se schema på kurshemsidan Ger (lite) bonus på tentamen LaboraBoner skall vara klara före dagen deadline anger, och nästa laborabon skall vara förberedd. C++ Mål: Typsäkerhet och prestanda KraYfullt, allt går ai göra Utgår från ai programmeraren vet vad hen gör Krångligt syntax, arv från C LäI ai göra svåra fel Kompilerat språk Kompilering ÖversäIer från programkod Bll binärkod direkt exekverbar på datorns processor Tre steg Preprocessor (kod Bll kod transformering) Kompilering (översäining Bll binärkod) Länkning (ihopsäining av binära programdelar) Varje steg kan ge upphov Bll fel Kommentarer Används för ai förtydliga kod och exempel Bra för eget minne Bra för andra programmerare // kommentar till radslut /* kommentar till slut på kommentar */ #if 0 // preprocessorn tar bort // dessa rader #endif 2
3 Datatyper: Standard Inbyggda int (long, short, signed, unsigned) char (signed, unsigned), wchar_t bool (true, false) float, double TILL- TYP* (nullptr, NULL, 0) auto // inte så automabsk alls void // ingenbng, tomt, platshållare Datatyper: Egna Härledda i standard std::string, std::pair, std::tuple Egendefinerbara typedef TYP NAMN using NAMN = typ struct NAMN... class NAMN... enum MON, TUE,... NAMN Mer om dessa senare i kursen... Datatyper: Literala Datatyper: bra ai ha sträng // string (const char*) R delim(rå sträng)delim // escape-sekvenser tolkas inte 123 // int 123L // long int 12U // unsigned int 034 // int (oktalt) 0x45 // int (hexadecimalt) r // char (heltal, ascii-kod) 3.14 // double (flyttal) 1.2e4 // double (flyttal) 1.0f // float (flyttal med låg precision) \n // tecknet för nyrad, escape-sekvens \ // tecknet \\ // tecknet \ numeric_limits<typ>::max(), min() #include <limits> stabc_cast<till- TYP>(VARIABEL) TILL- TYP(VARIABEL) sizeof(variabel) decltype(variabel) Rita! Diskutera. Variabler Variabler Måste deklaras före användning Måste ges ei inibal värde Har ei namn Har en typ Har ei värde Namnet avgör var i minnet variabeln finns Typen avgör hur värdet tolkas Typen avgör hur mycket minne som behövs 3
4 VariabeldeklaraBon // avslutas med semikolon int x; // rita int y0; bool btrue; char c c ; // ascii för c string s hejsan ; double pi3.1415; const float E2.718; LivsBd (scope) Variabler deklareras i ei block // begin block int variable; // ofta först i blocket //... livstid... // end block Variabler upphör existera i slutet av blocket Lagras under livsbden på exekveringsstacken Variabler utanför ei block blir GLOBALA Skapar generellt sei dåig programstruktur Får inte användas i kursen Operatorer = // tilldelning < > <= >= ==!= // jämförelse &&! // logik + - * / % // aritmetik << >> // formaterad I/O * & ->.* // pekarhantering, senare i kursen (^ ~ & << >> // bitmanipulation, ej del av kursen) Lata operatorer // aritmetik tilldelning += -= *= /= %= // post och preinkrement ++ // post och predekrement -- // visa exempel på ekvivalens UIryck // diskutera! b = y; b = c; x = pi; y = 7 / * (4 1); y = y 5.0; x = 7 % 3; b = pi % 2; x = 8 0 ; b =!(true false) && true; b = (5 < x < 10); x = ++y; y = x++; x = s.length(); Datatypkonvertering Sker oya automabskt Sker då Bll högre typ (promobon) int + char - > int int + double - > double int + unsigned - > unsigned float + double - > double char + double - > double string + int - > ERROR Kan göras manuellt to_string(variabel) stoi, stol, stoul, stoull, stof, stod, stold // bra namn? TILL- TYP(VARIABEL) stabc_cast<till- TYP>(VARIABEL) 4
5 FortsäIer nästa Fö. Fö 1 / Fö 2 Hej på dig, Bertram Skriv ei program som frågar eyer ei namn och skriver ut Hej på dig, följt av namnet. Visa steg för steg vad som behövs och hur allt går Bll. Kompilering sudo apt-get install g++ - std=c++11 kräver kompilatorversion 4.7.x - std=c++0x finns i kompilatorversioner 4.6.x - std=c++98 kan oya användas annars Generera körbara programfilen a.out : g++ -Wall Wextra pedantic std=c++11 g hello.cc Generera körbara programfilen hello : g++ -Wall Wextra pedantic std=c++11 g hello.cc -o hello Formaterad inmatning TANGENTBORD - > OS - > BUFFER - > PROGRAM int x; cin >> x; // see- in to variable x Rita och förklara. #include <iostream> string str; char c; Oformaterad inmatning getline(cin, str); getline(cin, str, \n ); getline(cin, str, # ); cin.get(c); cin.ignore(); cin.ignore(5, \n ); cin.ignore(99999, # ); Formaterad utmatning PROGRAM - > BUFFER - > OS - > SKÄRM int x = 9; cout << x; // see- out from variable x cerr << x; // standard error Rita och förklara. #include <iostream> 5
6 #include <iomanip> Manipulatorer endl // nyrad + flush flush // töm utmatningsbuffern // (visa på skärm) setprecision(n) // antal decimaler fixed // flyttalsformatet scientific // flyttalsformatet e2 setw(n) // antal utskriftspositioner // nästa utskrift använder setfill(c) // ifyllnadstecken // (i fortsättningen) oct, hex, dec // talformat för inmatning // och utmatning ws // hoppa över alla blanka tecken Hjälp!? man- sidor kräver vana och övning Bllgängliga på tenta läihanterad referens finns ej på tenta kursbok mer ingående referens, långsammare får tas med på tenta labassistent Bps, råd och förklaringar får inte tas med på tenta... Fö 2 / Fö 3 Styrsatser I C++ finns fem styrsatser: if- satsen switch- satsen for- loopen do- while- loopen while- loopen Dessa kan nästlas hur man vill. if- satsen if ( VILLKOR ) // Denna del räcker... else if ( VILLKOR ) // men kan byggas på... else if ( VILLKOR ) // så många gånger man vill... else // och eventuellt avslutas med annars. if- satsen: Dumheter Bllåts! int x = 12; if ( x > 5 ) if ( x < 10 ) cout << 5 < x < 10 << endl; else cout << x <= 5 << endl; avgör strukturen! Indenteringen är betydelselös! Vad skrivs ut? 6
7 switch- satsen // UTTRYCK måste resultera i en uppräkningsbar typ // dvs case-konstanterna är int eller char switch (UTTRYCK) case LITERAL_KONSTANT_1: // utförs om UTTRYCK lika med konstanten break; case LITERAL_KONSTANT_2: // kan ha obegränsat anta case break; default: // om inget annat matchar switch- satsen: Se upp! char input; cin >> input; switch (input) case y : cout << svar ja << endl; case q : exit(1); break; default: cerr << fel input << endl; for- loopen // när du vet antal iterationer // egen loopvariabel for (START; VILLKOR; NÄSTA) do- while loopen // utförs minst en gång // måste göra framsteg do while (VILLKOR); while- loopen // kör kanske inte alls // måste göra framsteg while (VILLKOR) Loop- ekvivalens for (int i = 0; i < 3; ++i) cout << i << endl; // for som while int i = 0; while (i < 3) cout << i << endl; ++i; 7
8 for ( ; ; ) int i = 10; while ( i --> 0 ) cout << i << endl; bool done = false; while ( done =! true ) done = true; while ( i < 10 ); cout << i++ << endl; Loop- varning Kort sblguide AllBd på egen rad Indentera korrekt Blanksteg runt de flesta operatorer Använd bra namngivning Gruppera sammanhörade kodrader Använd blank rad för ai separera grupper Använd max 80 tecken långa rader FunkBoner // deklarataion RETURTYP NAMN(PARAMETERLISTA); // definition (även deklaration) RETURTYP NAMN(PARAMETERLISTA) return UTTRYCK; FunkBonsexempel void print_hello() cout << hello << endl; int my_add(int a, int b) return a + b; Anropsexempel print_hello(); my_add(23, 2); int sum = my_add(3, 4); sum = my_add(sum, 9.0); Argument kopieras Bll parametrarna Parametrar blir lokal variabler i funkbonen Returvärden kopieras ut från funkbonen Datatyp argument <- > parameter måste matcha Rita! Förklara! Referenser Gör en variabel känd under nyi namn Blir alias Bll befintlig variabel Måste bindas direkt vid deklarabon Användbara som utparameter från funkboner int foo = 4711; int& bar = foo; // bar använder nu samma // minnesutrymme som foo foo = 14; bar = 17; Rita! Förklara! 8
9 Referensparametrar void swap(int& a, int& b) int save = a; a = b; b = save; Rita! Förklara! Konstanta referensparametrar // argument kopieras - ineffektivt void print(string very_long) cout << very_long << endl; // ingen kopia men original kan ändras void print(string& very_long) cout << very_long << endl; // visar intentionen att funktionen inte ändrar argumentet // intentinen kontrolleras dessutom av kompilator // kompilator får extra möjligheter att optimera koden void print(string const& very_long) cout << very_long << endl; Retur av referens? int& foo(int i) // FEL, i finns (strax) inte mer return i; int& foo(int& i) // OK, i refererar till något som // fortfarande finns return i; Parametrar när används vad Vanlig kopieparameter (pass by value) används Bll inparametrar som är av grundtyperna Konstanta referensparametrar används Bll inparametrar av härledd/egen typ Referensparameter (pass by reference) används Bll utparametrar Defaultparametrar // deklaration (läggs i headerfil, *.h) void print_price(float price, int count = 1, int decimals = 2); // några olika anrop print_price(9.95, 2, 4); // print_price(5.75, 10); // print_price(3.50); // 3.50 Defaultparametrar // definition // (i implementationsfil, *.cc) void print_price(float price, int count, int decimals) cout << setprecision(decimals) << fixed << price*count; 9
10 Överlagrade funkboner Olika funkboner kan ha samma namn om parametrar skiljer! // tre sidor givna int triangle_area(int, int, int); // en sida och två vinklar givna int triangle_area(int, float, float); // två sidor och en vinkel given int triangle_area(int, int, float); // bas och höjd int triangle_area(int, int); Överlagrade funkboner Vilken funkbon kommer ai anropas? triangle_area(3, 6); triangle_area(3, 6, 80.0f); triangle_area(3, 6.0f, 80.0f); triangle_area(3.0f, 6.0, 80); // triangle_area(3, 6.0f, 80); Överlagrade funkboner Fö 3 / Fö 4 Använd försikbgt - inte dumt! // send to printer void print(double d); // display on screen void print(float f); // PRoject INTeger void print(int i); Lambda- funkboner Finns i C++11 Ett sätt att (be)skriva en funktion direkt i koden Kan skickas med som argument till andra funktioner [FÅNGST](PARAMETERLISTA) -> RETURTYP Lambda- exempel // En introduktion till tanken att vi kan spara hur något skall utföras // i en variabel och senare anropa den som en funktion // Mer om detta senare i kursen, när vi lärt oss mer... int (*operation)(int, int); // variabeln operation lagrar en funktion... // vi lämnar detta syntax till senare... int c; cin >> c; switch (c) case + : operation = [](int a, int b) -> int return a + b; ; break; case * : operation = [](int a, int b) -> int return a * b; ; break; int op_result, next; cin >> op_result; while (cin >> next) op_result = operation(op_result, next); cout << op_result << endl; 10
11 Operatoröverlagring Om du har en struct, klass, std::pair, eller std::tuple är det möjligt ai själv skriva den funkbon som skall anroaps när en vanlig operator används med en variable av typen. RETURTYP operatoros(parameterlista); complex operator+(complex a, complex b); Mer om typer Fördelar och nackdelar med float och int. Antag ai tre decimala (0-9) siffror får användas. Hur skrivs då följande tal? Hur stort fel? Behållare: struct och class I enklaste formen behållare för ei antal data som hör ihop förnamn och eyernamn (person) pris och antal (order) imaginärdel och realdel (komplext tal) en struct är automabskt öppen, public en class är automabskt stängd, private en class typdefineras automabskt Behållare: ekvivalens class Order // C++ public: float price; // pris per exemplar int count; // antal exemplar ; typedef struct order_t // C float price; // pris per exemplar int count; // antal exemplar Order; Behållare: åtkomst Order car; car.price = ; car.count = 1; Order nail; nail.price = 0.10; nail.count = 1000; Rita! Förklara! Punkt-operatorn, medlem, public, private. Behållare: när används vad? struct kan användas när alla data skall vara åtkomliga av alla, och inga specialla operaboner finns i anslutning Bll data. class används då delar önskas döljas för den programmerare som använder behållaren. DeIa är oyast fallet med objektorienterat tankesäi. Varför dölja datamedlemmar? korrekthet, oberoende, ändringsbarhet 11
12 Slut? Vi är inte klara ännu! Sista chansen Bll frågor. SLUT! 12
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
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
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
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer C++ - en introduktion Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna Ett första
C++ - En introduktion
C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 77 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna
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
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
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
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
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
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
Funktionens deklaration
Funktioner - 1 Teknik för stora program #include #include......... cout
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
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.
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
Programmering i C++ EDA623 Strömmar och filer. EDA623 (Föreläsning 9) HT / 19
Programmering i C++ EDA623 Strömmar och filer EDA623 (Föreläsning 9) HT 2013 1 / 19 Strömmar och filer Innehåll Klassen ios Läsning av strömmar Utskrift av strömmar Koppling av filer till strömmar Direktaccess
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
C++-programmets beståndsdelar
C++-programmets beståndsdelar Ett C++-program är uppdelat i headerfiler (fil.h) och implementationsfiler (fil.cpp) Programmet måste innehålla åtminstone funktionen int main() main() startar programmet
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Byggstenar. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Grundläggande datatyper
C++-programmets beståndsdelar Ett C++-program är uppdelat i headerfiler (fil.h) och implementationsfiler (fil.cpp) Programmet måste innehålla åtminstone funktionen int main() main() startar programmet
Det finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström
DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)
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
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
F4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
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
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
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
Introduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
TDIU01 Programmering i C++
TDIU01 Programmering i C++ Föreläsning 6 - Klasser Eric Elfving, eric.elfving@liu.se Institutionen för datavetenskap (IDA) Avdelningen för Programvara och system (SaS) Klasser När vi skapade vår lista
EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Administration. EDAf30: Programmering i C++, 7.5 hp Obligatoriska moment
EDAf30: Programmering i C++, 7.5 hp EDAF30 Programmering i C++ 1. Introduktion Sven Gestegård Robertz Datavetenskap, LTH 2015 Mål: Kursens syfte är att ge kunskaper i objektorienterad programmering i C++.
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
2D1387, Programsystemkonstruktion med C++ Johnny Bigert, Kursens hemsida:
2D1387, Programsystemkonstruktion med C++ 00/01 1 Slide 1 2D1387, Programsystemkonstruktion med C++ Johnny Bigert, johnny@nada.kth.se Kursens hemsida: http://www.nada.kth.se/kurser/kth/2d1387 Varför vill
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
Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
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
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I
FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I 2002-03-18 Betygsgränser: 3 14 poäng 4 20 poäng 5 27 poäng Maxpoäng: Hjälpmedel: 32 poäng Bilagd ASCII-tabell Lycka till Per Ekeroot
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
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
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val
732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==
Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
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
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
Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26
Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623
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!
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
Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
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)
Kapitel 1. C++-programmets beståndsdelar. C++-programmets beståndsdelar. Kapitel 1 grunderna i C++
Kapitel 1 Grunderna i C++ Kapitel 1 grunderna i C++ C++-programmets beståndsdelar Datatyper Funktioner och funktionsanrop Sammansatta datatyper Pekare, aritmetik och referenser Minneshantering, preprocessorn
Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
grundläggande C++, funktioner m.m.
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel Ett enkelt program i C++, hello.cpp #include
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
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
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 (
Programmering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18
Programmering i C++ EDAF30 7.5 hp EDAF30 (Föreläsning 2) HT 2014 1 / 18 Tecken och texter char char ch = A ; teckenfält = strängar i C char str[] = "123"; standardklass i C++ string s = "C++"; EDAF30 (Föreläsning
Innehåll. EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Viktiga skillnader mot Java
Innehåll EDAF30 Programmering i C++ 1. Introduktion 1 Om kursen Sven Gestegård Robertz Datavetenskap, LTH 2016 2 Presentation av C++ Historik Inledning Datatyper och variabler 1. Introduktion 2/1 Viktiga
Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes
Tecken EDAF30 Programmering i C++ 2. Tecken och texter char char ch = A ; Sven Gestegård Robertz Datavetenskap, LTH 2015 sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char c1, c2; c1 = A ; c2
Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser
Föreläsning 1 Innehåll Introduktion till objektorientering OOP (objektorienterad programmering) Objekt, instanser, klasser C++ OO i C++ Standardbibliotek Utökningar från C (syntaktiskt socker) Introduktion
Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk
Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander
F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många
Metoder (funktioner) Murach s: kap Winstrand Development
(funktioner) Murach s: kap 6 2013-01-23 1 Winstrand Development Metoder I C# kan vi dela in koden i block en kodsekvens ska köras likadant på flera ställen i applikationen. Detta block kallas för en metod
En kort text om programmering i C.
En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,
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 -
C konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories.
C C konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories. För att användas vid implementering av UNIX. Bygger på de tidigare språken BCPL och B. Målsättning: Att få ett högnivåspråks
TDIU20 - Objektorienterad programmering i c++ - föreläsning 4
TDIU20 - Objektorienterad programmering i c++ - föreläsning 4 Pontus Haglund Department of Computer and information science 1 Vad gjorde vi förra gången? Felhantering Operatorer Typkonvertering 2 Grundläggande
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
Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel
732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public
Introduktionslaboration
LINKÖPINGS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Avdelningen för programvara och system (SaS) Tommy Olsson 2006-08-31 TDIU06 Programmering g.k Introduktionslaboration Ht1, 2006 Detta häfte
Programsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 1 Daniel Aarno bishop@kth.se Översikt övning 1 Kompilering och länkning Makefile Preprocessordirektiv Funktioner Funktionen main() Datatyper Minneshantering Pekare
Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
DD1314 Programmeringsteknik
Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:
En klass behöver både deklaration och definition. Daniel Aarno Globala funktioner och variabler är OK.
2 1 0 / ) - & 9 > ; 7 * ( ) ) En klass behöver både deklaration och definition Deklaration i h (hh) och definition i cc (cpp) Private är förvalt Student::learn() Student::Student() Student::~Student()
Programmering i C++ EDA623 Typer. EDA623 (Föreläsning 4) HT / 33
Programmering i C++ EDA623 Typer EDA623 (Föreläsning 4) HT 2013 1 / 33 Typer Innehåll Heltalstyper Flyttalstyper Pekare Minnesallokering Funktionspekare Typdeklarationer med typedef Typomvandlingar (casting)
TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 1 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av Java Hello World!
Imperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Generiska konstruktioner. Kursbokens kapitel 13
Generiska konstruktioner Kursbokens kapitel 13 1 Vad är en generisk konstruktion? Generisk står för; allmän eller generell En generisk konstruktion kan användas för olika typer av data Med hjälp av templates
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Ett enkelt program i C++, hello.cpp. #include <iostream> int main() { std::cout << "Hello World\n"; return 0; } C++, Övning 1
Ett enkelt program i C++, hello.cpp C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel int
Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
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
Lathund. Pacific C för MS-DOS
Lathund Pacific C för MS-DOS Revision 2 2003-08-28 Anders Arvidsson Karl-Johan Krantz Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 PACIFIC
Lathund. C för inbyggda system
Lathund C för inbyggda system Revision 1 2000-09-21 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 MPLAB...4
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
Övning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
Tentamen ID1004 Objektorienterad programmering December 15, 2012
Ordinarie tentamen för ID1004 Objektorienterad programmering, 15 december 2012, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
1 Namnkontroll (NameControl)
1 Namnkontroll (NameControl) När en ny variabel, ett objekt, en konstant o s v introduceras måste programmeraren namnge denna. Allting identifieras m h a namn. När ett program består av väldigt många komponenter
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
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
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
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Strömmar, externa filer och kommandoradsargument Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/32 Strömmar Kommandoradsargument Jämförelseoperatorer
Ulf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment:
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volafle, #define Arrayer av pekare, arrayer av arrayer Hemuppgi9er: v2. Föregående
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.
Innehåll. Pekare Exempel
Innehåll EDAF30 Programmering i C++ Avslutning. Sammanfattning och frågor 1 Syntax, förklaringar Sven Gestegård Robertz Datavetenskap, LTH 2017 2 Stack-allokering Heap-allokering: new och delete 3 Avslutning.
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