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.

Relevanta dokument
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

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

JavaScript del 3 If, Operatorer och Confirm

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

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

Uttryck och villkor. Föreläsning 2

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

TDIU01 - Programmering i C++, grundkurs

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

Uttryck och villkor. Föreläsning 2

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

1 Iteration. 1.1 for-satsen

Logik och kontrollstrukturer

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.

Data, typ, selektion, iteration

C++ Slumptalsfunktioner + switch-satsen

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

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

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

Föreläsning 3: Booleans, if, switch

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

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

C++ Lektion Tecken och teckenfält

MMA132: Laboration 2 Matriser i MATLAB

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

Föreläsning 5 Mer om funktioner, villkor

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

Enkla datatyper minne

JAVAUTVECKLING LEKTION 4

Villkor if, switch. F2: Styrstrukturer, programmeringsteknik (kap. 3 4) If-kommando forts. If-kommando forts.

b) Hur stor andel av den första månadens återbetalning utgör räntekostnad?

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

Klassdeklaration. Metoddeklaration. Parameteröverföring

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

For-sats/slinga. Notis

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

Föreläsning 3 Programmeringsteknik och Matlab DD1315. Importering av moduler. randrange

Grunderna i stegkodsprogrammering

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

TDIU01 - Programmering i C++, grundkurs

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

C++ - En introduktion

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

Grundläggande programmering med C# 7,5 högskolepoäng

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

Övningsuppgifter kapitel 8

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

Lite logik. Kap 6: Sid 2

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

Programmering i C, 7,5 hp

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

Övningshäfte 2: Induktion och rekursion

Programmeringsteknik med C och Matlab

Högstadiets matematiktävling 2018/19 Finaltävling 19 januari 2019 Lösningsförslag

Kort om programmering i Matlab

Visual Basic, en snabbgenomgång

Föreläsning 1 & 2 INTRODUKTION

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.

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

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

Villkor if, switch. F2: Styrstrukturer, programmeringsteknik (kap. 3 4) If-kommando forts. If-kommando forts.

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

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

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

TDIU01 - Programmering i C++, grundkurs

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 1: Momstabellen i C++

Funktioner och programstruktur. Föreläsning 5

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

Pseudokod Analys av algoritmer Rekursiva algoritmer

Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM

Systemutvecklare SU13, Malmö

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

Nedan skapar vi klassen Person innehållande datamedlemmar för förnamn, efternamn, ålder, längd och vikt:

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

6.5 Spelserien Gissa tal

JAVAUTVECKLING LEKTION 3

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

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

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Övning2. Variabler. Data typer

Föreläsning 3-4 Innehåll

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

F2: Styrstrukturer, programmeringsteknik (kap. 3 4)

Funktionens deklaration

SMD 134 Objektorienterad programmering

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

Funktioner och programstruktur. Föreläsning 5

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

Lösningar till utvalda uppgifter i kapitel 5

Programmeringsteknik I

kl Tentaupplägg

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

Induktion, mängder och bevis för Introduktionskursen på I

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet.

Programmering A. Johan Eliasson

2D1339 Programkonstruktion för F1, ht 2003

En kort text om programmering i C.

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

Lektion 1 - Steg 1. Introduktion. Hello World

Transkript:

Lektion C2 Villkor 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. Du gör ofta val i livet, och valet du gör får olika konsekvenser och följder. När klockan är tolv är det egentligen lunchtid, och du kan känna efter om du är hungrig. Beroende på resultatet handlar du på olika sätt. Är du hungrig går du självklart och äter, men om du inte är hungrig väntar du någon timme tills aptiten kommer. Vårt hungrighetsproblem skulle i pseudokod kunna se ut som följer: Om hungrig gå och ät Annars vänta någon timme I C++ beskrivs sådana här villkor t.ex. av s.k. if -satser. Man ställer upp ett villkorsuttryck, och anger sen vad som ska hända om villkoret är uppfyllt, och vad som ska hända om det inte är uppfyllt: if (uttryck) Uttryck ska göra en test och ge svaret sant eller falskt, t.ex. kolla om en variabel är större än 25. Om uttryck är sant utförs de programrader som står mellan de båda första klamrarna, om uttryck är falskt körs programraderna som står mellan de båda sista (efter ). Else-delen behöver inte finnas med utan kan utelämnas. För att lättare kunna läsa koden flyttas, raderna mellan ihophörande startklammer och slutklammer in en bit. Detta kallas indentering. När man skriver längre och större program så underlättar det avsevärt läsbarheten. Exempel på en programsnutt: //C2 Ex1 int main() //huvudfunktionen, endast ett per program //deklaration av en variabel för heltal cout << Ange ett tal : ; if (a>25) cout << Större än 25 ; cout << endl; cout << Mindre än eller lika med 25 ; Om variabeln a är större än 25 kommer den första texten skrivas ut, annars den andra. Om resultatsatserna bara är en rad långa (som efter ), kan man utelämna klamrarna, men i det första fallet är satserna två rader, och klamrarna måste stå runt koden. Sida 1 (5)

Man kan också skriva if-satser i if-satser, s.k. nästlade if-satser: if (villkor1 ) if (villkor2) Villkoren kan jämföra uttryck på olika sätt med hjälp av de olika jämföroperatorerna, som följer nedan: Operator Betyder Exempel < Mindre än if (a<20) > Större än if (b>100) == Lika med if (produkt==500)!= Skiljt från (inte lika med) if (x!=28) <= Mindre än eller lika med if (a<=2000) >= Större än eller lika med if (b>=12) Observera här att när man jämför om variabeln är lika med något använder man dubbla likhetstecken, eftersom enkelt likhetstecken används när man tilldelar en variabel ett värde, t.ex. a=20; //C2 Ex2 /*Nu ska programmet som vi skapade i Lektion Grunder även dra av rabatter, 5 % rabatt om summan överstiger 1000 kr och 10 % om summan överstiger 2000 kr. */ int main() double p, k, rabatt=0; cout << Mata in antal böcker : ; cout << Mata in bokpriset : ; cin >> p; k=a*p+50; if (k>=2000) rabatt=k*0.1; if (k>=1000) rabatt=k*0.05; cout << Kostnaden blir << k-rabatt << kronor << endl; if (k>=1000) cout << Du har fått << rabatt << kr i rabatt. <<endl; Sida 2 (5)

Man kan också kräva att flera villkor ska vara uppfyllda samtidigt, genom att i if-satsen förbinda flera villkor med s.k. logiska operatorer. Operator Betyder Exempel && och if (a>20) && (a<30) eller if (a==0) (b<0)! inte if (!(a>0)) //C2 Ex3 //En annat lösningsförslag på det senaste programmet. /*Nu ska programmet även dra av rabatter, 5 % rabatt om summan överstiger 1000 kr och 10 % om summan överstiger 2000 kr. */ main() double p, k, rabatt=0; cout << Mata in antal böcker : ; cout << Mata in bokpriset : ; cin >> p; k=a*p+50; if (k<1000) rabatt=0; if (k>=1000 && k<2000) rabatt=k*0.05; rabatt=k*0.1; cout << Kostnaden blir << k-rabatt << kronor << endl; if (k>=1000) cout << Du har fått << rabatt << kr i rabatt. <<endl; Sida 3 (5)

Övningar Övning C2.1 Skriv ett program som läser in två tal och skriver ut det största av dessa två. Övning C2.2 Skriv ett program som läser in två tal och skriver ut något av alternativen, det första är störst, de är lika stora eller det sista talet är störst. Övning C2.3 Skriv ett program som läser in tre tal och skriver ut det största av dessa tre. Övning C2.4 I ett skattesystem gäller att grundavdraget beräknas enligt följande princip: Taxerad inkomst (kr) Grundavdrag (kr) 0-10000 = inkomsten 10001-58000 10000 58001-90000 10000 + 25% av inkomst över 58000 90001-95000 18000 95001-175000 18000 + 10% av inkomst över 95000 175000-10000 Skriv ett program som läser in inkomst och sedan beräknar och skriver ut grundavdraget enligt reglerna ovan. Övning C2.5 I den gregorianska kalendern infaller skottår då årtalet är delbart med 4. Dock är jämna sekler, d.v.s. år som är delbara med 100, skottår endast om årtalet också är delbart med 400. Skriv ett program som tar reda på om ett givet årtal är skottår eller inte. Övning C2.6 Läs in längden på de tre sidorna a, b och c i en triangel. Beräkna och skriv ut arean enligt Herons formel: där A = p( p a)( p b)( p c) p = a + b + c 2 Sida 4 (5)

Minitest G-nivå: 1. Vad är indentering? 2. Ange 6 jämföroperatorer. 3. Skriv ett program som läser in två tal och skriver ut det största av dessa två. 4. Skriv ett program som läser in tre tal och skriver ut det största av dessa tre. VG-nivå: 1. Vad är nästlade if-satser? Ge ett exempel! 2. Ange de två logiska operatorerna och(and) och eller(or)? 3. Skriv ett program som läser in ett heltal x och testar om det är större än noll och mindre än 100 med en enda if-sats. 4. I den gregorianska kalendern infaller skottår då årtalet är delbart med 4. Dock är jämna sekler, d.v.s. år som är delbara med 100, skottår endast om årtalet också är delbart med 400. Skriv ett program som tar reda på om ett givet årtal är skottår eller inte. Läxa Läs detta häfte och gör minitestet. Öva, försök hinna med så att du har gjort de flesta övningarna. Sida 5 (5)