BILAGA G till Programvaruprojekt FÖRBÄTTRAT GRÄNSSNITT multipc_logic_c Rev 2.
|
|
- Katarina Pettersson
- för 5 år sedan
- Visningar:
Transkript
1 FÖRBÄTTRAT GRÄNSSNITT 1(6) BILAGA G till Programvaruprojekt FÖRBÄTTRAT GRÄNSSNITT multipc_logic_c Rev 2. Här visas ett gränssnitt som är bättre än det i bilaga F. Det innehåller däremot en del kvarvarande brister. En sämre variant av gränssnittet visas i bilaga F. Fetstil indikerar sådant som har modifierats jämfört med Rev 1, bilaga F. #ifndef MULTIPC_LOGIC_C_H #define MULTIPC_LOGIC_C_H ========================================================== Fil : multipc_logic_c.h Författare: Håkan Lindegren MultiPC Historik : Rev Rev 2 Förbättrat gränssnitt för get_first/get_next- funktioner utom get_first_/get_next_pupil ========================================================== #include "problem_s.h"; #include "details_answer_s.h"; #include "answered_problem_s.h"; #include "statistics_problem_s.h"; #include "problem_generator_c.h" #include "answers_log_c.h" #include "detailed_answers_log_c.h" #include "statistics_log_c.h" #include "multidb_c.h" Konstanter för felhantering vid läsning och skrivning av elevnamn typedef enum { DB_OK, DB_CORRUPT, WRITE_FAILED, DB_FULL } db_status_t; class multipc_logic_c { public: Ska returnera en unik instans av multipc_logic_c Parametrar: INGA Retur: Pekare till unik instans Felhantering: INGEN static multipc_logic_c *get_instance();
2 FÖRBÄTTRAT GRÄNSSNITT 2(6) Returnerar status för elev DB För anrop INNAN get_first_pupil/get_next_pupil Parametrar: INGA Retur: Status hos elev DB: DB_OK eller DB_CORRUPT Felhantering: Via statusvärdet Om status är DB_CORRUPT kommer ny och tom elevfil att skapas. Anroparen kan sedan fortsätta. Jämför med detaljkraven under db_status_t get_db_status(); För att loopa över och läsa in elevnamn Parametrar: first_name: för lagring av elevs förnamn, minst 40 tecken last_name: för lagring av elevs efternamnnamn, minst 40 tecken item_found: sätts till 1 om elev fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare en elev item_found = 0 ==> Ingen elev, övriga param oförändrade Felhantering: INGEN void get_first_pupil( void get_next_pupil( Sätter aktuell elev Parametrar: first_name: elevens förnamn, max 40 tecken last_name: elevens efternamn, max 40 tecken Retur: INGEN Felhantering: INGEN void set_pupil( char last_name[] ); Ger tillbaka namn på aktuell elev Parametrar: first_name: elevens förnamn, minst 40 tecken last_name: elevens efternamn, minst 40 tecken Retur: Namndata i first_name och last_name Felhantering: INGEN void get_pupil( char last_name[] );
3 FÖRBÄTTRAT GRÄNSSNITT 3(6) För lagring av nytt elevnamn Sätter också aktuell elev, d.v.s. anropar set_pupil Parametrar: first_name: elevens förnamn, max 40 tecken last_name: elevens efternamn, max 40 tecken db_status: sätts till DB_OK om det gick bra Retur: db_status = DB_OK ==> skrivning gick bra db_status = WRITE_FAILED ==> skrivning misslyckades, elev EJ lagrad db_status = DB_FULL ==> redan fullt i elev-db elev EJ lagrad Felhantering: Via db_status void store_name( db_status_t &db_status ); För inställning av tabell Parametrar: table: heltal inom [1.. 10] Retur: INGEN Felhantering: INGEN void set_table( int table ); Returnerar inställd tabell Parametrar: INGA Retur: Vald tabell, ett heltal inom [1.. 10] Felhantering: INGEN int get_table(); Ska ge nästa framslumpade problem Parametrar: problem: operand_a/_b får värden Retur: operand_a inom [1.. 10], operand_b = aktuell tabell Felhantering: INGEN void get_next_problem( answered_problem_s &problem ); Rensar den interna svarsloggen För anrop innan ett prov startar Parametrar: INGA Retur: INGEN Felhantering: INGEN void clear_answers();
4 FÖRBÄTTRAT GRÄNSSNITT 4(6) För lagring av ett besvarat tal Parametrar: answer: svarsdata som ska lagras Retur: INGEN Felhantering: INGEN void store_answer( answered_problem_s &answer ); För att loopa över de givna svaren i ett prov Parametrar: answer: får svarsdata för ett svar correct_answer: får korrekt svar [ ] item_found: sätts till 1 om svar fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare ett svar item_found = 0 ==> Inget svar, övriga param oförändrade Felhantering: INGEN void get_first_answer( answered_problem_s &answer, int &correct_answer, void get_next_answer( answered_problem_s &answer, int &correct_answer, För att loopa över statistiken i vald tabell Parametrar: answer_statistics: får statistik om ett tal item_found: sätts till 1 om svar fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare statistik item_found = 0 ==> Ingen statistik, övriga param oförändrade Felhantering: INGEN void get_first_stats( statistics_problem_s &answer_statistics, void get_next_stats( statistics_problem_s &answer_statistics, För att ställa in aktuellt tal för detaljstatistiken Ska kombineras med set_table() Parametrar: operand_a: värdet av första operanden Retur: INGEN Felhantering: INGEN void set_details_number( int number ); Returnerar inställt details_number
5 FÖRBÄTTRAT GRÄNSSNITT 5(6) Parametrar: INGA Retur: Inställd detaljoperand, ett heltal inom [1.. 10] Felhantering: INGEN int get_details_number(); För att loopa över detaljstatistik för vald tabell och valt detaljnummer Parametrar: answer_details: data får svar som avgivits correct_answer: får korrekt svar item_found: sätts till 1 om svar fanns, annars 0 Retur: item_found = 1 indikerar att det fanns ytterligare svar item_found = 0 ==> Inget svar, övriga param oförändrade Felhantering: INGEN void get_first_detail( int &answer, void get_next_detail( int &answer, private: Privat konstruktor, allt enligt Singleton multipc_logic_c(); Den unika instansen. Instansieras av get_instance(), allt enligt Singleton multipc_logic_c *unique_instance; }; Instansvariabler. Instansieras av konstruktorn. problem_generator_c *problem_generator; answers_log_c *answers_log; detailed_answers_log_c *detailed_answers_log; statistics_log_c *statistics_log; multidb_c *multidb; #endif MULTIPC_LOGIC_C_H Kommentar Då är problemen med att gränssnittet öppnas för felaktiga anrop delvis åtgärdade. Funktionerna för att hantera elevnamn innehåller dock fortfarande samma brist. Så här ser det t.ex. ut för de funktioner som ska ge tillbaka elevdata: För att loopa över och läsa in elevnamn Parametrar: first_name: för lagring av elevs förnamn, minst 40 tecken last_name: för lagring av elevs efternamnnamn, minst 40 tecken item_found: sätts till 1 om elev fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare en elev item_found = 0 ==> Ingen elev, övriga param oförändrade
6 FÖRBÄTTRAT GRÄNSSNITT 6(6) Felhantering: INGEN void get_first_pupil( void get_next_pupil( Gränssnittet kräver att den som anropar gör det på rätt sätt. En klass, eller en struct, för att hantera kombinationen av för- och efternamn bör införas. Då kan funktionerna i rutan förbättras och risken för felaktiga anrop minskas. Orsaken till att jag låter brister vara kvar, trots förbättringen, är att det ofta ser ut så i praktiken. I processen att förbättra krav, design eller testfall kommer man hela tiden på nya saker som kan förbättras. Någon gång måste man säga stopp, det här räcker. Jag har däremot aldrig varit med om att någon har sagt: Om vi ändå hade börjat programmera tidigare. i efterhand. Fortfarande endast lite felhantering. Borde inte det åtgärdas? Kanske, kanske inte. Kravställningen för GUI:t är sådan att där ska det läggas begränsningar på vad användaren kan mata in. Risken att det t.ex. kommer in tabellval utanför [1.. 10] är därmed relativt liten. Det gör att det troligen är acceptabelt att multipc_logic_c förväntar sig korrekta indata. Om det däremot vore så att vi inte visste något om den kod som ska anropa multipc_logic_c borde vi reda ut var felhanteringen egentligen ska ligga. Tröskeln för att anropa multipc_logic_c har ökat mellan Rev 1 (bilaga F) och Rev 2. Här, med Rev 2, måste den som ska anropa funktioner sätta sig in även i de här gränssnitten: problem_s En struct som ska hålla reda på två stycken heltal. Heltalen ska representera ett multiplikationsproblem, t.ex. 7*3. answered_problem_s En struct som är en problem_s med ett heltal för avgivet svar och ett heltal för den tid det tog att avge svaret. details_answer_s Struct som ska hålla detaljer om ett enda problem för detaljstatistiken. I praktiken en problem_s och en vektor med alla elevens svar, dock högst 30 stycken. Att det ska vara högst 30 stycken ges av detaljkraven för MultiPC. statistics_problem_s En struct som är en problem_s förstärkt med två heltal för antalet försök och antalet rätt. Vi har alltså fått ett säkrare gränssnitt, men vi har gjort det besvärligare att anropa det. Är det värt besväret? Jo, det är det troligen. Tröskeln har visserligen blivit högre, men inte mycket högre. Den tid vi förlorar på att anroparen tvingas lära sig att anropa på rätt sätt vinner vi tillbaka i samband med test-och-felrättning eftersom anropen troligen görs på rätt sätt.
BILAGA F till Programvaruprojekt BRISTFÄLLIGT GRÄNSSNITT. multipc_logic_c Rev 1.
BRISTFÄLLIGT GRÄNSSNITT 1(6) BILAGA F till Programvaruprojekt BRISTFÄLLIGT GRÄNSSNITT. multipc_logic_c Rev 1. Gränssnittet öppnar för att anropas på fel sätt. Jämför med delkapitlet om gränssnittstest
Granskad: Datum: Signatur: Godkänd : Datum: Signatur:
DESIGNSPECIFIKATION Rev 8 1(13) DESIGNSPECIFIKATION MultiPC v1.0 Ansvarig: Håkan Lindegren Granskad: Datum: Signatur: Godkänd : Datum: Signatur: DESIGNSPECIFIKATION Rev 8 2(13) Innehållsförteckning 1 ALLMÄNT...3
Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
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
Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering 2 Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med
INKREMENTELL UTVECKLING AV STABIL PROGRAMVARA
Examensarbete 10 poäng C-nivå INKREMENTELL UTVECKLING AV STABIL PROGRAMVARA Reg.kod: Oru-Te- EXD083-D104/03 Mattias Nordgren och Michael Johansson Dataingenjörsprogrammet 120 p Örebro vårterminen 2003
Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med flera
Tentamen *:58/ID100V Programmering i C Exempel 3
DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst
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
BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0. Innehållsförteckning
ÅTERSTÅENDE PROBLEM MultiPC v1.0 Rev 7 1(7) BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0 Här listas problem som kan behöva hanteras i kommande inkrement. De prioriteras alltså ner
Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering
Programmeringsteknik för I1 Övning 2 Administrativt Övningsgrupp 2 (Sal E32/D32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kontrollera att ni har fått Lab2 inrapporterad
Inlämningsuppgift 1, Digsim
Inlämningsuppgift 1, Digsim Specifikation Skriv ett program som utför addition av heltal (positiva eller negativa) i binär form med hjälp av digitala grindar, som programmet ska simulera. Programmet ska
C++ Objektorientering - Klasser. Eric Elfving
C++ Objektorientering - Klasser Eric Elfving 1 / 20 Återblick struct struct är bra att ha för att skapa aggregat - slå ihop flera data till en ny datatyp. Ett problem med struct är åtkomst... 2 / 20 Följande
Objektorienterad Programmering DAT043
Objektorienterad Programmering DAT043 Föreläsning 3 22/1-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Kom ihåg: Visa Javas API. Nämn att slidesens också har tillhörande text på kurshemsidan.
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-06-12 Skrivtid: 1400-1900 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Tentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
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
1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
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
JAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
C++ Objektorientering - Klasser. Eric Elfving Institutionen för datavetenskap
C++ Objektorientering - Klasser Eric Elfving Institutionen för datavetenskap 1 / 23 Återblick struct struct är bra att ha för att skapa aggregat - slå ihop flera data till en ny datatyp. Ett problem med
Objektorientering: Lagring, räckvidd och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Objektorientering: Lagring, räckvidd och livstid Tre sorters variabler, två sorters metoder Räckvidd och livstid 2 Variabler (lokala och medlemsvariabler)
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
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 I 2016-03-17 Skrivtid: 1400 1900 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
Objektorientering i liten skala
Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2012-10-24 Objektorientering i liten skala Mål I denna lab skall du skriva ett objektorienterat program. Programmet skall delas
TENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
public och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
Exempel ( )
Exempel Antag att vi vill ha en generell stack. En stack är en mekanism som man kan lagra i och hämta från enligt principen sist in, först ut (eng LIFO). Man skall alltså kunna Skapa en stack Lägga värden
Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33
Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation
Inledande programmering med C# (1DV402) Tärningarna ska kastas
Tärningarna ska kastas 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
Övning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09
Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.
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
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
TDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Objektorientering - Klasser Eric Elfving Institutionen för datavetenskap 1 / 20 Återblick struct struct är bra att ha för att skapa aggregat - slå ihop flera data
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305 Klass Object, instans av klass public/private Klassvariabler och klassmetoder 1 Array och ArrayList Arrayer och ArrayList är till för att innehålla
1 Klasser och objektorientering Vad är objektorientering?
1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det
Objektorientering: Lagring och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Objektorientering: Lagring och livstid Tre sorters variabler Tre sorters variabel (1): Lokal 2 Lokal variabel Deklareras inuti en metod Vid varje anrop
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll OO-programmering fortsättning Skapa
Tentamen, Algoritmer och datastrukturer
UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och
TENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen
Tentamen för teknisk kemi, 10p, moment 1 29 november 1999 Skrivtid 9-15 Hjälpmedel: av följande böcker. - U. Bilting och J. Skansholm: Vägen till C - A. Kelley & I. Pohl: A Book on C Maxpoäng: Gräns för
Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.
5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng
FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl
Högskolan Dalarna sid 1 av 6 DI-institutionen Hans-Edy Mårtensson Sten Sundin FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 1. Grunderna i
HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,
KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011, 8.15-13.15 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny
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
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor i Java Först följer frågor av flervalstyp. Frågorna är inte ordnade efter svårighetsgrad. 1. Skillnaden mellan typerna int och
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
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
TDDD78 Objektorientering: Lagring och livstid
jonas.kvarnstrom@liu.se 2017 TDDD78 Objektorientering: Lagring och livstid Tre sorters variabel (1): Lokal 3 Deklareras i en metod Lokal variabel Varje anrop får sin egen "kopia": Två anrop till foo()
Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015
Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora
International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor
Papegojor Yanee är fågelentusiast. Sedan hon läst om IP over Avian Carriers (IPoAC), har hon spenderat mycket tid med att träna en flock papegojor att leverera meddelanden över långa avstånd. Yanees dröm
JAVAUTVECKLING LEKTION 11
JAVAUTVECKLING LEKTION 11 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Mer om klasser och objekt Statiska/instans-metoder Överlagrade metoder Inkapsling Konstruktorer 1 UPPGIFT
BINÄRA TRÄD. (X = pekarvärdet NULL): struct int_bt_node *pivot, *ny; X X X 12 X X 12 X X -3 X X
Algoritmer och Datastrukturer Kary FRÄMLING/Göran PULKKIS (v23) Kap. 7, Sid 1 BINÄRA TRÄD Träd används för att representera olika slags hierarkier som ordnats på något sätt. Den mest använda trädstrukturen
TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90/1 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder
Kort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
(Lösningsförslag finns sist i denna fil.)
(Lösningsförslag finns sist i denna fil.) Läser externa signaler. Har 64 ingångar (kanaler), från 0 till 63. Kan bara avläsa en ingång i taget. Avlästa värdet positivt 16-bitars tal. Varje läsning tar
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
BILAGA A till Programvaruprojekt ANVÄNDARKRAV MultiPC v1.0
ANVÄNDARKRAV MultiPC v1.0 Rev 8 1(10) BILAGA A till Programvaruprojekt ANVÄNDARKRAV MultiPC v1.0 Att utgå ifrån. Beskriver krav på MultiPC-systemet på ett sådant sätt att de ska kunna diskuteras med användaren.
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt
Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras
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 I 2016-03-17 Skrivtid: 1400 1900 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
Tentamen i Programmeringsteknik I
UPPSALA UNIVERSITET Institutionen för Informationsteknologi Tentamen i Programmeringsteknik I 091211 Skrivtid: 8-11 Hjälpmedel: Lewis & Loftus, Java Software Solutions eller Skansholm, Java Direkt med
Teoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2013-06-05 1 (6) Teoretisk del 1. (3p) "Snabba frågor" Alla svar motiveras väl. a) Vad skiljer en statisk metod från en icke-statisk? (0.5p) Svar:En statisk metod är associerad till
BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag
HI1024 TEN2 2013-10-28 Betygsgränser: Fx-8, E-9, D-11, C-12, B-14, A-16 (MAX-18) Generella rättningsnormer: Mycket dåliga variabelnamn ger -1p totalt på provet vid andra tillfället Inga eller dåliga kommentarer
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag Datum: 2008-08-14 Tid: 08-12 Plats: PC6-PC7 i E-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna varje
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 (
Tentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5
LÖSNINGSFÖRSLAG TENTAMEN
LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND
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.
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.
Laboration 3, uppgift En klass för en räknare
Laboration 3, uppgift 1 3.1 En klass för en räknare Ursprungligen skriven av Erland Holmström. Magnus Myreen har uppdaterat vissa delar. Hösten 2014 Anvisningar: Programmet skall utformas enligt de principer
#include <stdio.h> #include <string.h>
#include #include void fun(char s[]) int i=-1; while(s[++i]!=0) if('a'
Gissa det hemliga talet
Laborationsanvisning Gissa det hemliga talet Steg 2, laborationsuppgift 1 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa
2203$( Föreläsning ii - Mer om Java bla this och konstruktorer Av Björn Eiderbäck Email: bjorne@nada.kth.se Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 previous next Exempel: lampa Light1 #
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
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
Klasser och objekt. Henrik Johansson. August 20, 2008
Föreläsning 5 Klasser och objekt Henrik Johansson August 20, 2008 Ett objekt är en modell av ett fysisikt eller ett tänkt ting. Objektet och det som vi kan göra med det beskrivs av en mall, en klass. Ett
TENTAMEN OOP
TENTAMEN OOP 2014-03-15 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Lösningsförslag övning 2.
Objektorienterad programmering, Z1 Lösningsförslag övning 2. Uppgift 1. public class SIUnits { public static double yardspermeter = 1.093613; public static double poundperkilo = 2.204623; public static
Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt:
8. Objektorientering Skälet till att C++ är ett av de mest använda programspråken är att det är objektorienterat. Detta bygger vidare på begreppet struct (ursprungligen från språket C som inte är objektorienterat),
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
Användning av stack: evaluera uttryck i RPN
(28 september 2010 T9.1 ) Användning av stack: evaluera uttryck i RPN /* rpn.c */ #include "stack.h" /** Eget interface till stackmekanismen för att få en stack med double */ static Stack operands; //
Objektorienterad Programkonstruktion. Föreläsning 7 24 nov 2015
Objektorienterad Programkonstruktion Föreläsning 7 24 nov 2015 Observer (GoF) Man definierar ett "ett-till-många"-förhållande mellan objekt så att när ett objekt byter tillstånd så uppdateras alla beroende
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget