Fortsättningskurs i programmering F 3. Algoritmer i programutveckling II Hugo Quisbert Flödesplaner med selektion

Relevanta dokument
Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

Repetera snabbt vad du lärde dig förra veckan. Du är nu redo att kasta dig in i nästa fas, teorin om villkor.

Föreläsning 4. Val, boolska värden, läsbarhet, osv

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

Inledande programmering med C# (1DV402) Summera med while"-satsen

TENTAMEN. Luleå tekniska universitet

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

DD1314 Programmeringsteknik

TDIU01 - Programmering i C++, grundkurs

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

JAVAUTVECKLING LEKTION 4

Logik och kontrollstrukturer

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

Sanningar om programmering

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

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

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

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

CS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)

Data, typ, selektion, iteration

Innehållsförteckning

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

Grunderna i stegkodsprogrammering

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

Lite logik. Kap 6: Sid 2

TDDC77 Objektorienterad Programmering

Uttryck och villkor. Föreläsning 2

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

6.5 Spelserien Gissa tal

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

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Uttryck och villkor. Föreläsning 2

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

Räkna med C# Inledande programmering med C# (1DV402)

Imperativ programmering. Föreläsning 2

Objektorienterad programmering i Java

Tentamen , Grundläggande programmering i Java

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Extramaterial till Matematik Y

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

Tentamen i. Programmering i språket C

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

BEDÖMNINGSSTÖD. till TUMMEN UPP! matte inför betygssättningen i årskurs 6

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

Programmering i C, 7,5 hp

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Lösningar till utvalda uppgifter i kapitel 5

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

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

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

Tentamen i Programmering grundkurs och Programmering C

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Malmö högskola 2007/2008 Teknik och samhälle

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)

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

Föreläsning 9: Talteori

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

OOP Tenta

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5

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

Övning2. Variabler. Data typer

Föreläsning 3. Iteration while-satsen

Programmeringsteknik I

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Några satser ur talteorin

Iteration while-satsen

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Variabler och konstanter

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Problemlösning PROBLEMLÖSNING 2

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

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

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

Statistik över heltal

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

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?

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

OOP Omtenta

Specifikation av spelen i Rutiga Familjen

Finansinspektionens standard 4.3i Kapitalkrav för operativa risker BILAGA 2

OOP Objekt-orienterad programmering

1 mindre än 2 > 3 = Hur stor andel är färgad? Sätt ut < eller > Storlek på bråk. Skriv på två sätt. Skriv i blandad form. Skriv som bråk.

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk)

Föreläsning 9: Talteori

Beräkningsvetenskap föreläsning 2

Föreläsning 8: Aritmetik och stora heltal

4. Bestäm alla trippler n 2, n, n + 2 av heltal som samtliga är primtal. 5. Skriv upp additions- och multiplikationstabellen för räkning modulo 4.

Sanningar om programmering

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

Malmö högskola 2008/2009 CTS

Uppgifter att lösa 1,1,2,3,5,8,13,21...

Styrenheten styrsignalsekvenser programflödeskontroll

1 Iteration. 1.1 for-satsen

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

Transkript:

Fortsättningskurs i programmering F 3 Algoritmer i programutveckling II Hugo Quisbert 20130123 1 Flödesplaner med selektion 2 1

Exempel 1 selektion Om köpesumman är 1000 kr eller mer erhålles 10 % rabatt. Rita en flödesplan för ett program som matar in köpesumman och skriver ut vad kunden skall betala. Output? Summa att betala Input? Köpesumma Kontrollstrukturer? Sekvens och selektion. (Uppgiften innehåller ett villkor med alternativa vägar. Villkoret är köpesumman är 1000 kr eller mer. Det ena alternativet ger 10 % rabatt och det andra ger inte någon rabatt.) Operationer? Visa ledtext. Mata in köpesumma. Omköpesumman är 1000 kr eller mer Såär (ny) köpesumma = (inmatad) köpesumma * 0.9. (ger 10 % rabatt) Visa Summa att betala (ny) köpesumma. 3 Flödesdiagram exempel 1 Start Visa texten Skriv in köpesumman. Mata in köpesumma. köpesumma >= 1000? Ja Nej köpesumma = köpesumma * 0.9 Visa Summa att betala köpesumma Stopp 4 2

Relationsoperatorer < mindre än <= mindre än eller lika med >= större än eller lika med > större än likhetsoperatorer = =lika med!= inte lika med, skilt från Villkors operatorer 5 Exempel Om lösenord < 6 teckenså ge ett felmeddelande Om ålder <= 2 årså är biljetten gratis annars kostar den 100 kr Om svar == J så avsluta programmet annars mata in ett nytt tal Om ålder >= 18 årså skriv Myndig annars skriv Omyndig Om tal 1 > tal 2så skriv tal 1 är störst Om 2 + 7!= 9så skriv Fel! 6 3

Exempel 2 Övning i klassrumet. Jobba med en klasskompis. En säljare får bonus på följande villkor: Försäljning av varor mindre än 1 000 kr ger ingen bonus. Försäljning på 1000 kr eller mer men mindre än 5000 kr ger en bonus på 10 % av hela beloppet. Försäljning för minst 5000 kr ger en bonus på 700 kr plus 15 % på allt över 5000 kr. Rita flödesplanen för ett program som läser in försäljningssumman och skriver ut vilken bonus försäljaren får. 7 Lösningsförslag exempel 2 Start Visa texten Skriv in försäljningssumman. Mata in f-summa. Nej F-summa >= 1000? Ja Bonus = 0 Nej F-summa >= 5000? Ja Bonus = f-summa * 0.1 Bonus = 700 + 0.15 * (f-summa 5000) Visa Erhållen bonus bonus Stopp 8 4

Sammansatta villkorsuttryck I exemplen ova är det endast ett villkor i varje alternativbox. Men ibland behöver vi kombinera flera villkor, se exempel: Om köpesumman >= 1000och köpesumman < 5000så ge10 % rabatt Båda villkoren måste vara uppfyllda för att hela villkoret skall vara sant. Om uppgift 1 = okoch uppgift 2 = okoch uppgift 3 = okså är kursen godkänd I detta exempel så måste alla tre villkoren vara uppfyllda för att hela villkoret skall vara sant. Om dag = lördag eller dag = söndag så skriv ledig dag Om kl < 8.00 eller kl > 17.00så skriv fritid I dessa två exempel räcker det att ett av villkoren är uppfyllt för att hela villkoret skall vara sant. Om student = Jaoch förköp = Jaeller bonuskund = Jaså ge 30 % rabatt på biljettpriset 9 Liten vilkorsövning Om försäkringstagaren är svenskmedborgare eller matalsskriven i Sverige, utgår sjukersättning I dagens rätt ingår förrätt eller dessert 10 5

Liten vilkorsövning Om student = Jaoch förköp = Jaeller bonuskund = Jaså ge 30 % rabatt på biljettpriset Om (student = Jaoch förköp = Ja)eller bonuskund = Jaså ge 30 % rabatt på biljettpriset Om student = Jaoch (förköp = Jaeller bonuskund = Ja)så ge 30 % rabatt på biljettpriset 11 Flödesplaner med iteration 12 6

Klassövnning Exempel 3 Rita en flödesplan för ett program som låter användaren mata in 20 heltal. Programmet skall beräkna och visa summan och medelvärdet av de 20 talen. 13 Lösningsförslag Output? Summa och medelvärde Input? 20 heltal Kontrollstrukturer? Sekvens samt iteration Operationer? Repetera 20 ggr: Visa texten Mata in ett heltal Mata in ett heltal Addera heltalet till summan Slut upprepa Beräkna medelvärdet genom att dividera summan med 20 Visa summa och medelvärde 14 7

Lösningsförslag Start Falskt 20 ggr Visa texten Mata in ett heltal Mata in ett heltal Sant Addera heltalet till summan Beräkna medelvärdet genom att dividera summan med 20 Visa summa och medelvärde Stop 15 Fötestad vs eftertestad villkor START REP. SATSER Sant VILLKOR? Falskt STOPP 16 8

Exempel 4 Klassövning Vid köp av kopieringskort ska användaren mata in det antal kopior som kortet skall innehålla. Priset varierar beroende på hur många kopior man köper. Max 20 st kostar 1,50 kr/st, 21-50 st kostar 1 kr/st och fler än 50 kostar 85 öre. Rita flödesplanen för ett program som räknar ut det totala priset för minst ett kort. Användaren skall sedan kunna köpa ett nytt kort eller välja att avsluta. 17 Kostruktion av selektion i Java if(condition){ statements; }[else{ }] statements; switch(contition){ case x: statements; break;... deafult: statements; } 18 9

Kostruktion av iteration i Java Förtestad while(condition){ statements; } Efertestad do{ statements; }while(condition); 19 Kostruktion av iteration i Java for(expresion){ } statements; START antal =1 antal = antal + 1 Nej antal <= n? for(int i = 0; i < 10; i++)... Ja REP SATSER STOPP 20 10

Att inte glöma Precedens Operator Operation Relation 1 + - Unär plus Unär minus H till V 2 * / % 3 + - Multiplikation Division Modulo Addition Susbstraktion V till H H till V result = 12 + 8 / 2; 21 11