Löneförhöjning Denna laborationsuppgift är en introduktion och avser att visa hur du skapar enkla program med programspråket C++.

Storlek: px
Starta visningen från sidan:

Download "Löneförhöjning Denna laborationsuppgift är en introduktion och avser att visa hur du skapar enkla program med programspråket C++."

Transkript

1 DV Löneförhöjning Denna laborationsuppgift är en introduktion och avser att visa hur du skapar enkla program med programspråket C++. Anställda vid ett företag har fått en löneförhöjning på,6 % retroaktivt för de senaste 6 månaderna. Skriv ett program som efterfrågar en anställds månadslön och som beräknar och skriver ut den retroaktiva lönen och den nya månadslönen. Använd en konstant för att lagra den procentuella löneökningen. Om en anställd tjänar 600 kr i månaden blir den retroaktiva lönen för de senaste 6 månaderna 68 kr och den nya månadslönen 4 4 kr. Ingen redovisning krävs av denna laborationsuppgift.,, 0 poäng (5)

2 DV Lösning Analys Ny månadslön och retroaktiv lön för de senaste 6 månaderna ska beräknas. Löneökningen på,6% behöver inte användaren mata in, utan lagras lämpligen i form av en konstant. För att kunna beräkna den nya månadslönen måste först den gamla månadslönen läsas in. Den nya månadslönen beräknas med: Gamla månadslönen * ( + LÖNEÖKNING). Den retroaktiva lönen beräknas med: Gamla månadslönen * 6 * LÖNEÖKNING. Flödesschema Strukturdiagram (Jackson) SALARYPROGRAM Start SALARY CALCULATION* Until answer!= 'Y' or answer!= 'y' PAY_RAISE 0,06 Read monthlywage INPUT CALCULATION OUTPUT newmonthlywage monthlywage * ( + PAY_RAISE) retrowage monthlywage * 6 * PAY_RAISE Print newmonthlywage Print retrowage Operation list. Define constant PAY_RAISE. Print Header. Read monthlywage (int) 4. newmonthlywage = monthlywage * ( + PAY_RAISE) (int) 5. retrowage monthlywage * 6 * PAY_RAISE (int) 6. Print monthlywage & retrowage 7. Print one more time (question) 8. Read answer 9. Clear screen One more time? No Yes End,, 0 poäng (5)

3 DV Källkod // File: PayIncrease.cpp // Summary: This program calculates the new salary and // retroactive pay following a raise. // Version:. // Owner: Tommy Löfqvist // // Log: Created the file. Mats // Modified by Tommy Löfqvist. // Removal of unnecessary code. Added iteration of the calculations. // 0-0- Revised by Anne. Converted to English and VS 0 // Preprocessor directives #include <iostream> #include <iomanip> using namespace std; // Constants const double PERCENT =.6; const double FACTOR = PERCENT/00; int main() { // Define and initialize variables int monthlywage = 0; int newmonthlywage = 0; int retroactivewage = 0; char answer; do { endl // Load the monthly salary from the user system("cls"); // Clear the screen cout << "PAY RAISE\n"; cout << "==============\n\n"; cout << "Input monthly wage : "; cin >> monthlywage; cin.ignore(80,'\n'); // Skip any possible debris and line endings // Calculate new monthly salary and retroactive pay newmonthlywage = int(monthlywage * ( + FACTOR) + 0.5); retroactivewage = int(monthlywage * FACTOR * ); // Display results cout << "===========================" << endl; cout << "New monthly wage : " << setw(6) << newmonthlywage << " kr" << << "Retroactive wage : " << setw(6) << retroactivewage << " kr" << endl; cout << "\n\nnew calculation (Y/N)?"; cin >> answer; }while (answer == 'Y' answer == 'y'); } return 0;,, 0 poäng (5)

4 DV Vad kan du lära av detta program? Ett program består alltid av en eller flera funktioner. I detta fall heter funktionen main. Ett program ska alltid ha en funktion som heter main. Det är alltid i main som exekveringen av ett program startar. Du kan se det som att exekveringssystemet anropar main. int main() betyder att main ska returnera ett heltalsvärde (int); värdet 0 betyder att allt gått väl. Ett värde mellan och 55 används som felkod som kan avläsas av operativsystemet som startat programmet. Inkluderingen av iostream ger tillgång till objekten cin och cout som används till att läsa in resp. skriva ut data på skärmen. Alla namn i standardbiblioteket är kapslade i en namnrymd som heter std. En namnrymd är ett slags modul, eller paket, som innesluter de deklarationer som ingår i namnrymden så att de inte är direkt synliga. Ett sätt att göra namnen i en namnrymd synliga i ett program är att öppna namnrymden med using namespace. endl tillhör strömbiblioteket och är en s.k. manipulator. Den har den manipulativa effekten att sätta in ett nyradstecken (\n) i strömmen, d.v.s. ger en radbrytning i terminalfönstret. cout är kopplad till bildskärmen. Infogningsoperatorn << används ihop med cout för att foga in data till utströmmen. Lägg märke till riktningen på pilen som pekar mot den associerade skärmen. T ex cout << "New monthly wage : " << setw(6) << newmonthlywage << " kr" << endl cin är kopplad till tangenbordet och används till att läsa in data till variabler. Extraktionsoperatorn >> pekar här på den variabel som ska ta emot data. T ex cin >> answer; Observera att till skillnad från motsvarande funktioner i C så "vet" både cout och cin hur de ska hantera olika datatyper. Vid inläsning av numeriska värden. hoppas först ev. inledande vita tecken (blanka, tab-tecken, radslut, etc) över.. sedan läses talet och lagrar detta i variabeln. Efteröljande tecken som inte är siffror eller siffror som inte får plats, lämnas kvar i strömmen.. När du är klar med numerisk inmatning ska du tömma inströmmen så att det inte ligger kvar något, om du i nästa operation skulle läsa in en sträng (t ex ett namn). Tömningen kan göras med cin.ignore(80,'\n'); som raderar upp till 80 tecken eller tills radslut påträffas i inströmmen. // skapar en enskild rad-kommentar, där all text på resten av raden utgör kommentaren. Denna är endast till för den mänskliga läsaren av programkoden. Identifierare ska ges tydliga och beskrivande namn. I början får du gärna använda svenska namn, om det underlättar för nybörjare. Inledande { och avslutande } klammerparenteser ska stå på enskilda rader och under varandra på samma nivå. Indentera, dvs. skjut in, programkoden ett tab-tecken eller två mellanslag efter en inledande klammerparentes ( { ).,, 0 poäng 4 (5)

5 DV Konstanter, som PERCENT och FACTOR, ska skrivas genomgående med stora bokstäver (versaler). Variabler och funktionsnamn skrivs lämpligen med s.k. Camel-notation, d.v.s. alla ord sätts samman till en enda identifierare, med små bokstäver på alla utom första bokstaven i varje ord, t.ex. monthlywage Vid beräkning av newmonthlywage och retroactivewage adderas 0,5 till respektive lön för att få en avrundning till närmaste heltal. Dvs: newmonthlywage = monthlywage * ( + FACTOR) + 0.5; Utan additionen med 0.5 skulle högerledet, som är ett flyttal, trunkeras nedåt till närmaste heltal. 0.5 gör att tal som slutar på xxxx.5 eller högre kommer att höjas uppåt till närmast högre heltal före trunkeringen. T ex 5.67 kommer att bli 46.7 efter addition med 0.5 och efter trunkering får vi heltalet 4 som är korrekt avrundat. (Trunkering = alla decimaler slängs utan någon avrundning) Koden i main är strukturerad i kommenterade avsnitt avskiljda med tomma rader. Detta ökar läsbarheten, genom att vi enkelt kan urskilja de olika delmomenten. Vi får också hjälp att lägga koden i logisk ordning. Använd dock aldrig mer än en tomrad! Programmet repeteras med hjälp av en do - while sats som repeterar programkoden till vi svarar något annat är j eller J.,, 0 poäng 5 (5)

6 DV Fyra nummer Denna laborationsuppgift är en introduktion och avser att visa hur du skapar enkla program med programspråket C++. Skriv ett program som kan läsa in fyra heltal. Programmet ska beräkna summan, medelvärdet och produkten av de fyra heltalen. Programmet ska skriva ut alla tal som matats in samt svaren från beräkningarna. Programmet ska kunna köras valfritt antal gånger med nya värden utan omstart. Utskriften kan se ut som följer: STATISTICS ========== Enter four integers: 0 6 Entered numbers: 0 6 Sum Avarage Product One more time? (Y/N)? Se körexempel ovan! Ett sätt att skapa kolumner är att använda manipulatorn setw. Ingen redovisning krävs av denna laborationsuppgift.,, 0 poäng (4)

7 DV Lösning Analys Fyra heltal ska läsas in. Varje heltal sparas i variabler av typen int. Summan fås genom att addera heltalen och lagra summan. Medelvärdet fås genom att dividera summan med fyra (se upp för heltalsdivision!). Produkten fås genom att multiplicera heltalen med varandra (var uppmärksam på s.k. overflow, d.v.s. då ett talområde överskrids). Flödesschema Start Läs in nr,, nr4 Strukturdiagram Statistik-program STATISTIK * Så länge svar är J eller svar är j sum nr + + nr4 average sum / 4 Inmatning Beräkning Utskrift product nr * * nr4 Skriv ut nr,, nr4 Skriv ut sum, average, product En gång till? J N Stopp Operationslista. Sudda skärm. Skriv rubrik. Läs in nr,, nr4 (int) 4. Beräkna sum = nr + + nr4 (int) 5. Beräkna average = sum / 4.0 (double) 6. Beräkna product = nr * *nr4 (double) 7. Skriv ut nr,, nr4 8. Skriv ut sum, average och product 9. Skriv ut En gång till 0. Läs in svar Programmet är en iteration (*) av STATISTIK tills svar inte är 'J' eller 'j'. STATISTIK består av INMATNING, BERÄKNING och UTSKRIFT som utförs i sekvens. Inmatning består av operationerna, och. i (ordning) Beräkning består av operationerna 4, 5 och 6 Utskrift består av 7, 8, 9 och 0.,, 0 poäng (4)

8 DV Källkod // File: FourNumbers.cpp // Summary: This program calculates the sum, average and product of // four integers // Version:. // Owner: Tommy Löfqvist // // Log: // Created the file. Mats // Modified by Tommy Löfqvist. Added iteration of program. // Revised by Anne. Converted to English and VS 0 // Preprocessor directives #include <iostream> //cin cout endl #include <iomanip> //setw fixed setprecision using namespace std; //Prototypes void statistics(); int main() { char answer; do { statistics(); cout << "One more time (Y/N)?"; cin >> answer; } while (answer =='Y' answer == 'y'); } return 0; void statistics() { // Define and initialize variables int nr, nr, nr, nr4; int sum = 0; double average = 0; // Average value may contain decimals => double double product = 0; // The product may be large => double // Read the values from user system("cls"); // Clear screen cout << "STATISTICS" << endl; cout << "==========" << endl << endl; cout << "Input four integers: "; cin >> nr >> nr >> nr >> nr4; // Calculate sum, average and product sum = nr + nr + nr + nr4; average = sum / 4.0; // NOTE! 4.0 to avoid integer division product = nr * nr * nr * nr4;,, 0 poäng (4)

9 DV // Display results cout << fixed << showpoint; // Decimal form, display trailing zeroes cout << endl << "Entered integers " << setw(8) << nr << setw(8) << nr << setw(8) << nr << setw(8) << nr4 << endl << endl; cout << setw(8) << "Sum" << setw() << "Average" << setw() << "Product\n" << setw(8) << "---" << setw() << " " << setw() << " \n" << setw(8) << sum << setw()<< setprecision() << average << setw()<< setprecision(0) << product << endl << endl; } Vad är nytt i detta program *? system("cls") anropar Windows på kommandonivå. CLS suddar skärmen. I andra OS kanske detta inte fungerar. Inläsning av flera värden kan ske med en sats, cin >> nr >> nr >>. Då medelvärdet beräknas måste resultatet kunna bli ett flyttal. Genom att nämnaren skrivs som 4.0, och inte 4, kommer en flyttalsdivision att utföras. Hade det bara stått 4 hade det blivit en heltalsdivision. Manipulatorn setw används för att åstadkomma kolumner. För att kunna använda setw måste iomanip inkluderas. För att skapa radbryningar har escape-sekvensen \n använts (det hade gått lika bra med manipulatorn endl). et har lagts i en egen funktion, void statistics(), som anropas och repeteras i huvudprogrammet. * Jämfört med, laborationsuppgift, Löneökning.,, 0 poäng 4 (4)

10 DV Hitta och rätta syntaxfelen Använd din C++-kompilator för att hitta och rätta felen i följande program: // // Object: This program has some syntax errors. Use the compiler to find // and correct them. Document your changes with comments or in log. // // File: CompileError.cpp // Summary: This program calculates the weekly pay, given hours per week // and wages per hour. // Version:. // Owner: Tommy Löfqvist // // Log: Created the file, Mats! // Revised by Tommy.Using manipulators to format output // instead of IO-flags. Inserted "wait for return code" at the end. // 0-0-: Revised by Anne. Converted to English version and VS0 // #include <iostream> // Preprocessor directives #include <iomanip> using namespace std; void main() { // Define and initialize variables int hoursperweek = 5; double hourlywages = 8; // Calculate weekly salary weeklywages = hoursperweek * hourlywages; // Display results cout << fixed // Floating point format << setprecision() // decimals << showpoint; // Show trailing zero es cout << " Given an hourly wage of " << hourlywages << " kr" << endl << " and the number of hours per week " << hoursperweek << endl << "the weekly wages will be: " << weeklywages << " kr" << endl cout << "\npress return!"; cin.get(); // Wait for return OBLIGATORISK } return 0; Du kompilerar och länkar från kommandoprompten (i Windows) med: cl -c -EHsc compileerror.cpp sedan link LogicalError.obj OBS! Växlarna -c och -EHsc är känsliga för stora och små bokstäver. en ska redovisas enligt: Ett fungerande program som går att kompilera Visa tydligt i programkoden vad du ändrat, lämpligen med en kommentar.,, poäng OBLIGATORISK ()

11 DV Lk/No Hitta och rätta det logiska felet Använd din C++-kompilator, länkare och exekvera koden nedan för att hitta och rätta de logiska felen i programmet: // // Object: This program has logical errors. Find and correct them. // There are miscalculations and the program can't be stopped with 'N'. // Document your changes with comments or in log. // // File: LogicalError.cpp // Summary: Reads price and number of articles from user. Calculates and prints // number, tax rate and price with tax rate (swedish "moms"). // Version:. // Owner: Tommy Löfqvist // // Log: Created the file, Mats! // Revised by Tommy. Swedish variable names and output text. // Number of items is now included. // Code for the problem is placed in a separate function // that is iterated in the main function. // 0-0- Revised by Anne. Converted to English version and VS 0 // // Preprocessor directives #include <iostream> #include <iomanip> using namespace std; // Prototypes void pricecalculation(); int main() { char answer; do { pricecalculation(); cout << "One more time? (Y/N): "; cin >> answer; }while (answer = 'Y' answer == 'y'); OBLIGATORISK } return 0; // // void pricecalculation() // // Summary: Reads price and number of articles from user. Calculates and prints // quantity, vat and price with vat // Returns: - // void pricecalculation() { // Define and initialize constants and variables const int RATE = 5; // tax rate in percent double price = 0; int nrofarticles = 0; // price per piece // number of articles, 4, poäng OBLIGATORISK ()

12 DV Lk/No double ratesek = 0; double totalprice = 0; // tax rate in SEK // price incl. tax rate // Read price and number of articles cout << "Enter the price excl. the tax rate (swedish moms): "; cin >> price; cout << "Enter the number of articles: "; cin >> nrofarticles; // Calculate total price and tax rate ratesek = totalprice * RATE; totalprice = nrofarticles * price *( + RATE); // Display result with decimals cout << fixed << showpoint << setprecision(); } cout << nrofarticles << " number of articles cost " << totalprice << " kr. " << endl << "Of this " << ratesek << " kr is the tax rate." << endl; Du kompilerar från kommandoprompten med: cl -c -EHsc LogicalError.cpp OBS! Växlarna -c och -EHsc är känsliga för stora och små bokstäver. Du länkar från kommandoprompten med: link LogicalError.obj en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Visa tydligt i programkoden vad du ändrat, lämpligen med en kommentar., 4, poäng OBLIGATORISK ()

13 DV Lk/Lö Temperatur Ibland händer det att temperaturer anges i Fahrenheit. Men hur många celsiusgrader är exempelvis 8,7 F? Skriv ett program som omvandlar en temperatur angiven i Fahrenheit till Celsius. Programmet ska be användaren ange temperaturen i F, som sedan omvandlas till C och skrivs ut med en decimals noggrannhet. Programmet ska kunna upprepa beräkningar utan omstart. F = 0 C och F = 00 C På Internet hittar du säkert information om hur omvandlingen går till, om du nu inte redan känner till den. Se demo-uppgifterna, och 4 för tips om hur upprepningen kan gå till. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans "Konventioner för kod" (finns på menylänken under "Examination")!, 5, poäng ()

14 DV Elförbrukning En vän till dig har kommit fram till att en större kontroll över elkostnaderna skulle vara bra. Genom att läsa av elförbrukningen varje månadsskifte ska det vara möjligt att beräkna hur mycket el som förbrukats under månaden, samt kostnaden för den. Din vän har tecknat ett avtal där elpriset (inkl. el-certifikat, skatt och moms) är 94,9 öre/kwh och där den fasta kostnaden är 0 kr/år. Skriv ett program som hjälper din vän att hålla bättre kontroll på sin månatliga elförbrukning samt kostnaden för den. Du känner din vän väl och vet att programmet måste vara lätt att använda. Därför kommer du kommer fram till att det nog är lämpligt att programmet ber vännen att ange föregående månads avlästa värde samt aktuell månads avlästa värde. Programmet beräknar sedan elförbrukningen och kostnaden för att därefter skriva ut dem. Programmet ska repeteras, så att man inte behöver starta om på nytt för ny beräkning. Testa applikation för att kontrollera att den utför beräkningarna korrekt. Om föregående månads avläsning var 000 kwh och aktuell månadsavläsning är kwh uppgår förbrukningen till kwh och totalkostnaden till 8,87 kr. Deklarera den fasta kostnaden och elpriset som konstanter i kronor. Se uppgift, och 4 hur repetition av koden kan göras. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans "Konventioner för kod" (finns på menylänken under "Examination")!, 6, poäng ()

15 DV Restid Många moderna bilar kan idag rapportera vilken medelhastighet bilen framförts med. Med hjälp av medelhastigheten och sträckan som återstår att köra kan den återstående restiden beräknas. Skriv ett program som beräknar den återstående restiden. Den återstående restiden ska presenteras i timmar och minuter. Användaren av programmet ska ange återstående körsträcka i mil och medelhastighet i km/h. Antag att samma medelhastighet kan hållas under den återstående körsträckan. Flera beräkningar ska kunna göras utan att starta om programmet. Om medelhastigheten är 8 km/h och återstående körsträcka är mil, blir restiden timme och 4 minuter. Beräkna restiden i minuter som ett flyttal som du sedan avrundar till ett heltal. Använd sedan heltalsdivision för att få antal timmar, samt modulo-operatorn för minuterna. Se uppgift, och 4 hur en repetition av programmet kan göras. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans "Konventioner för kod" (finns på menylänken under "Examination")!, 7, poäng ()

16 DV Lk/Lö Växelpengar Då du handlar i en affär och betalar kontant får du kanske tillbaka växel. I regel får affärsbiträdet hjälp av kassaapparaten för att beräkna summan du ska få tillbaka. Vilka sedlar och mynt ska lämnas tillbaka får affärsbiträdet själv räkna ut i huvudet. Kan ett program göra samma sak? Skriv ett program som beräknar den växel du får tillbaka i samband med ett köp. Indata till programmet ska vara summan av det kunden ska betala i kr och öre samt hur mycket kunden lämnar till kassörskan (hela kronor). Programmet ska sedan, förutom att presentera beloppet kunden får tillbaka avrundat till närmsta krona, även visa antalet sedlar och mynt som kunden ska få tillbaka med så få sedlar och mynt som möjligt. Programmet ska kunna ge växel tillbaka med sedlar av valörerna 000, 500, 00, 50 och 0 samt mynten 0, 5 och kr. Du kan anta att det alltid finns tillräckligt antal av de sedlar och mynt som krävs. Programmet ska upprepas så att flera beräkningar kan göras utan omstart. Om priset är 7,58 kr och kunden betalar med en 000-lapp ska kunden få 68 kr tillbaka fördelat på en 500-lapp, en 00-lapp, en 0-lapp, en 5 krona och enkronor. Låt beloppet som ska betalas tillbaka vara i ören eller antal 50-öringar. Använd sedan / (heltalsdivision) för att beräkna antalet av visst valutaslag och % (modulo) för att beräkna det som blir kvar. (Se analogt exempel från föreläsning på uppdelning av en tid i sekunder i timmar, minuter och sekunder). Lägg gärna koden för en uppdelning i en egen void - funktion som repeteras i huvudprogrammet. För exempel på detta se demo uppgift. För avrundning till närmaste heltal se Avrundning och manipulatorer i högerspalten till. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!, 8, poäng ()

17 DV Lö Effektökning Kalle har köpt en förstärkare med 00W uteffekt och är inte sen med att skryta med detta när han snackar med sina kompisar som bara har 0W förstärkare. Kalle tror nog att det låter 5 gånger så högt med sin förstärkare, men där har han fel. Nu är örats känslighet logaritmiskt så det krävs det en effektökning med db (decibel) för att man ska märka att det låter högre. En effektökning från P0 till P uttryckt i db kan räknas ut med formeln: P db 0log. P0 Skriv ett program som läser in kompisens effekt, Kalles effekt och beräknar hur många db mer Kalle har än kompisen. Eftersom det krävs minst db ökning av effekten för att man nätt och jämt kan höra skillnaden så beräknar du också hur många db ökningar som man erhåller med den höga effekten. Programmet ska kunna göra flera beräkningar utan omstart. Om Kalle har 40W och kompisen 0W ger detta en ökning med db som knappt kan höras (dvs. vi har ökat en db nivå). Körexempel EFFEKTBERAKNINGAR ================= Ange referenseffekt: 0 Ange effekt : 40 ============================= En forandring fran 0.0 till 40.0 motsvarar.0 db Dvs. st. db intervall En gang till? (J/N): _ Logaritmen log beräknas i C++ med funktionen log0(x) där x är det tal som man ska beräkna logaritmen för. Se uppgifterna, och 4 för hur repetitionen av programmet kan göras. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!, 9, poäng ()

18 DV Lk/Lö Triangel Skriv ett program som beräknar hypotenusan för en rätvinklig triangel. Programmet ska be användaren ange de två kateterna, beräkna och skriva ut hypotenusan. Flera beräkningar ska kunna göras utan att starta om programmet. Om kateterna är och längdenheter blir hypotenusan,4 längdenheter. Med hjälp av biblioteksfunktionen sqrt() kan kvadratroten beräknas. Se uppgift, och 4 för hur repetition av beräkningen kan göras. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!, 0, poäng ()

19 DV Lk/Lö Summan av -siffrigt tal Skriv ett program där användaren ombeds mata in ett tresiffrigt heltal (i en heltalsvariabel). Programmet ska sedan beräkna och skriva ut summan av de tre siffrorna heltalet utgörs av. Programmet ska kunna göra flera beräkningar utan att starta om programmet. Matar användaren in heltalet ska programmet beräkna att ++ är 6. Använd heltalsdivision och modulo-operatorn för att dela upp talet i siffror. Entalssiffran fås t.ex. med: talet % 0. Se uppgift, och 4 för tips om ett sätt att upprepa programmet. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!,, poäng ()

20 DV Lk/Lö Vindavkylning, effektiv temperatur Du upplever säkert en lägre temperatur, än vad termometern visar, då det blåser. Men vilken temperatur är det du upplever? Hur mycket påverkar vindavkylningen temperaturen som termomentern visar? Vilken är den effektiva temperaturen? SMHI använder Osczevskis och Bluesteins formel (fr.o.m. vintern 00/004) för att beräkna den effektiva temperaturen. Skriv ett program där användaren genom att ange temperatur och vindhastighet kan få reda på den effektiva temperaturen, avrundad till närmsta heltal. Programmet ska klara flera beräkningar utan omstart. Kontrollera att ditt program ger samma resultat som du kan återfinna i tabellen i samma dokument du hittade formeln i. 4 C och 0 m/s ger upplevd temperatur - C. -6 C och 0 m/s ger upplevd temperatur -5 C Fungerar inte länken till SMHI, kan du använda en lokal kopia av dokumentet. Se uppgift, och 4 för tips om hur du kan repetera programmet. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!,, poäng ()

21 DV Lk/Lö Aktieinvestering Adam investerade för drygt fyra år sedan en summa pengar i aktier. Adam vill inte avslöja för dig hur stor summa han investerat. Inte vill han heller avslöja hur det gått för aktierna (den procentuella ökningen/minskningen) under vart och ett av de fyra åren. Han vill däremot att du skriver ett program så att han kan ta reda på hur det gått med investeringen. Han ska kunna mata in den investerade summan, samt den procentuella förändringen för vart och ett av de fyra åren. Antag att summan av ökningen/minskningen återinvesteras varje år. Flera beräkningar ska kunna göras utan omstart av programmet. Om kr investeras och värdeförändringen var,5%, 4,7%, -,% och 0,4% ska programmet skriva ut 0 65, kr. Efter ett år och procenttalet p ökar kapitalet med faktorn (+p/00). Se uppgift, och 4 för tips om hur du kan repetera programmet. en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!,, poäng ()

22 DV NA/Lö Ränteberäkning Skriv ett program som beräknar ränta på ränta för ett belopp som sätts in på banken och sparas i 0 år, till (exempelvis) % ränta. Om den årliga räntan är r procent och startbeloppet b sätts in på banken, kan det förräntade kapitalet efter n år på banken beräknas med formeln: b * ( + r/00) n. Ditt program ska vara uppdelat i flera funktioner (en för inläsning av data, en för beräkning och en för presentation av beräknat värde). Indata till programmet ska vara önskat startbelopp och antalet år. Utdata ska vara det beräknade slutbeloppet. Beloppsutskriften ska vara formaterad med decimaler, samt högerjusterad i tecken med inledande (valfritt) utfyllnadstecken. Flera beräkningar ska kunna göras utan omstart av programmet. Om startbeloppet är 000 kr, ska slutbeloppet bli enligt körexempel: Körexempel RANTA PA RANTA ============== Ange startkapital: 000 Ange antal ar : 0 Kapitalet blir med % ranta efter 0 ar: 4.9 kr En gang till (J/N)? För att enkelt kunna ändra villkoren för olika testkörningar av programmet, bör du deklarera räntesatsen som konstant. Värdet av uttrycket x y beräknas i C++ med biblioteksfunktionen pow(x, y), där x är den bas man vill beräkna en viss potens y av (d.v.s. x upphöjt till y ). Se uppgift och 4 för tips om hur programmet kan upprepas och användning av flera funktioner. Globala variabler får användas här! en ska redovisas enligt: Ett fungerande program som uppfyller ställda kriterier. Programkod, som är välskriven och lättläst, enligt den kodstandard som tillämpas under kursen. Var särskilt uppmärksam på att följa riktlinjer för kodkonventioner, enligt vad som anges på kurshemsidans Konventioner för kod (finns på menylänken under Examination)!, 4, poäng ()

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

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

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

Avrundning och manipulatorer

Avrundning och manipulatorer Avrundning och manipulatorer Intern avrundning Avrundning vid utskrift o o Med formatflaggor Med manipuilatorer Andra manipulatorer o Exempel 1 Intern avrundning Intern avrundning används t ex då en variabel

Läs mer

Introduktionslaboration

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

Läs mer

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

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

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

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

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

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

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

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

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

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

FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I

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

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

Obligatorisk uppgift: Numerisk kalkylator

Obligatorisk uppgift: Numerisk kalkylator Informationsteknologi Tom Smedsaas 22 augusti 2018 Obligatorisk uppgift: Numerisk kalkylator Programmet skall läsa in aritmetiska uttryck samt beräkna och skriva ut deras värden. Programmet ska läsa från

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

Funktionens deklaration

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

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

TDDC76 - Programmering och Datastrukturer

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

Läs mer

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 / 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

Läs mer

Instuderingsfrågor till Steg 1

Instuderingsfrågor till Steg 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

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

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

Ö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

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

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

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 / 77 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

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

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

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011 1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Styrteknik: Binära tal, talsystem och koder D3:1

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

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

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

Iteration while-satsen

Iteration while-satsen Datatypen double TDA143 I1 Programmerade system Föreläsning 3 (OH-bilder 3) Iteration while-satsen Christer Carlsson I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna,

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

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

HI1024 Programmering, grundkurs TEN2 2015-10-30

HI1024 Programmering, grundkurs TEN2 2015-10-30 HI1024 Programmering, grundkurs TEN2 2015-10-30 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Uttryck, satser och strömhantering

Uttryck, satser och strömhantering Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2018-09-06 Mål Uttryck, satser och strömhantering I denna laboration ska du lära dig Formaterad inläsning och utskrift Vanliga repetitions-

Läs mer

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så

Läs mer

Statistik över heltal

Statistik över heltal Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande

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

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

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

Uppgifter till praktiska tentan, del A. (7 / 27)

Uppgifter till praktiska tentan, del A. (7 / 27) Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att

Läs mer

Programsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010

Programsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010 Programsystemkonstruktion med C++: Övning 1 Karl Palmskog palmskog@kth.se september 2010 Programuppbyggnad Klassens uppbyggnad en C++-klass består av en deklaration och en definition deklaration vanligtvis

Läs mer

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

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

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

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen Föreläsning 3 Iteration while-satsen for-satsen do-satsen Datatypen double De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har en begränsad storlek och representerar således

Läs mer

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. 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?

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

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

Läs mer

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

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och

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

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

PROGRAMMERING-JAVA TENTAMINA

PROGRAMMERING-JAVA TENTAMINA PROGRAMMERING-JAVA TENTAMINA Nicolina Månsson 2010-08-16 (Kontaktperson Nicolina Månsson, tel. 0768-530640) Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

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

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

Föreläsning 3. Iteration while-satsen

Föreläsning 3. Iteration while-satsen Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har

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

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

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

Läs mer

Innehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser

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

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

C++ Lektion Tecken och teckenfält

C++ Lektion Tecken och teckenfält C++ Lektion Tecken och teckenfält Teori Hittills har alla variabler du jobbat med varit olika typer av tal, men du kan också deklarera variabler som håller bokstavstecken. Denna variabeltyp kallas för

Läs mer

PROGRAMMERING-Java Omtentamina

PROGRAMMERING-Java Omtentamina PROGRAMMERING-Java Omtentamina Nicolina Månsson 2007-08 13 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 41 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. -

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser

Läs mer

JAVAUTVECKLING LEKTION 3

JAVAUTVECKLING LEKTION 3 JAVAUTVECKLING LEKTION 3 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Numeriska typer Inläsning av numerisk data Numeriska typomvandlingar Standardklassen Math Villkorskonstruktioner

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början

Läs mer

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

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

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

Kompilera och exekvera Javakod

Kompilera och exekvera Javakod Kompilera och exekvera Javakod Förberedelser För att kunna göra dessa övningar måste du ha installerat Java Development Kit, JDK, som bland annat innehåller Java kompilatorn, javac. Hur du installerar

Läs mer

Värmedistribution i plåt

Värmedistribution i plåt Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.

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

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) 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/2d1310/

Läs mer

DD2387 Programsystemkonstruktion med C++ Tentamen 2

DD2387 Programsystemkonstruktion med C++ Tentamen 2 DD2387 Programsystemkonstruktion med C++ Tentamen 2 Måndagen den 10 november 2014, 08:00-12:00 Introduktion Skriv dina svar på separata papper, dessa scannas in efter inlämning. Du kan skriva på båda sidor.

Läs mer

Tentamen ges för: Tentamensdatum: Tid:

Tentamen ges för: Tentamensdatum: Tid: Programmering E 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen TE081B El2 Tentamensdatum: 2012-04-13 Tid: 900 1300 Hjälpmedel: Kursbok Kelley, Pohl: A Book on C, Fourth Edition Tillåtet

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

En kort text om programmering i C.

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,

Läs mer

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de

Läs mer

PROGRAMMERING-Java TENTAMINA

PROGRAMMERING-Java TENTAMINA PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

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

Läs mer

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar

Läs mer

TENTAMEN CD5250. Objektorienterad programutveckling med C++, 5p. Datum: , Tid: 14:00-19:00

TENTAMEN CD5250. Objektorienterad programutveckling med C++, 5p. Datum: , Tid: 14:00-19:00 TENTAMEN CD5250 Objektorienterad programutveckling med C++, 5p Max poäng: 40 Betygsgränser: 3: 20 4: 28 5: 36 Datum: 1999-06-01, Tid: 14:00-19:00 Ansvarig: Ivica Crnkovic Upp till 5 poäng kan komma från

Läs mer

Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr, 051019

Tentamen i Objektorienterad Programmering 5p, Au, D, Fri, Pr, 051019 1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningarna till tentamensuppgifterna sätts ut på kurssidan på nätet i dag kl 13. Denna tenta kommer att vara färdigrättad Må 24/10 och kan då hämtas på

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

EXTRA UPPGIFTER I C++ PROGRAMMERING-A

EXTRA UPPGIFTER I C++ PROGRAMMERING-A EXTRA UPPGIFTER I C++ PROGRAMMERING-A Uppgifterna är ej sorterade efter svårighetsgrad 1. Gör ett program som kan beräkna arean och omkretsen av en cirkel om användaren (du) matar in cirkelns radie. Skapa

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

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg Tema: Pythagoras sats Linnéa Utterström & Malin Öberg Innehåll: Introduktion till Pythagoras sats! 3 Pythagoras sats! 4 Variabler! 5 Potenser! 5 Att komma tillbaka till ursprunget! 7 Vi bevisar Pythagoras

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

Kursmaterial för laborationer i

Kursmaterial för laborationer i Kursmaterial för laborationer i IMPA TDDC 68 Sammanställt av Torbjörn Jonsson 2007-02-09 INNEHÅLL Allmänt om C++-laborationerna 1 De olika laborationerna: Lab0: Grundläggande C++ 3 Lab1: Sortering med

Läs mer

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

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

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser

Läs mer

Laboration 1. Objektorienterad programmering, Z1. Syfte

Laboration 1. Objektorienterad programmering, Z1. Syfte Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer