Föreläsning 2. Operatorer Tilldelning Kodblock { } if – satsen Logiska uttryck Att programmera.

Slides:



Advertisements
Liknande presentationer
F. Drewes, Inst. f. datavetenskap1 Föreläsning 13: Resolution •Resolution i satslogiken •Resolution i predikatlogiken.
Advertisements

Talföljder formler och summor
En Dag i Ramadan Ramadan
Villkor Booelska operatorer Villkorsatser Switchsatser Villkor och annat.
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
hej och välkomna EKVATIONER Ta reda på det okända talet.
Programmering B PHP Lektion 4
Funktioner och programorganisation
Institutionen för matematik, KTH Mats Boij 5B1118 Diskret matematik 5 november B1118 Diskret matematik Tredje föreläsningen - Kombinatorik.
Vill du lära dig kort division?
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
De fundamentala datatyperna
Operatorer.
2D1311 Programmeringsteknik med PBL
Programmeringsteknik K och Media
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
Grundläggande programmering
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Flödeskontroll Satser i ett program utförs en och en efter varandra. Detta kallas sekvensiell flödeskontroll. Ofta är det dock nödvändigt att modifiera.
Programmering B PHP Lektion 2
INTRODUKTION TILL PROGRAMMERING
Programmering B PHP Lektion 5 och 6
Algebraiska uttryck Matematik 1.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Programmeringsbegrepp
Ali Ghodsi Variabler En variabel är en sorts behållare som man kan placera data i Man måste ange typ och namn för alla variabler.
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Programmering B PHP Lektion 2
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Ekvationer Det är inte så svårt?.
Föreläsning 3 Programmeringsteknik och Matlab DD1312
Internet A Javaskript.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska opertorer -Poster.
Grundläggande programmering
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Frågor. Vad är en Fråga? -En fråga är ett urval av information från ett eller flera fält i en eller flera tabeller. - Du använder frågor för att selektera.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Objektorienterad programmering i Java
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 3. Flödesscheman while For Max/min-algoritm Datatyper Konvertering Dubbelloop (m. For)
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Repetitionssatser: do-satsen och for-satsen -Operatorer:
F. Drewes, Inst. f. datavetenskap1 Föreläsning 7: Uttryck och sidoeffekter Uttryck Sidoeffekter Överladdning Tilldelningar i uttryck.
2D1311 Programmeringsteknik med PBL
Aritmetik 3.4 M 8.2 E 2.2. dagens föreläsning operatorer för aritmetik tillämpningar.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Anders Sjögren Deklarationsområde och funktioner.
Negativa tal – några exempel
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
Selektion jämförande och logiska operatorer
Anders Sjögren Operatorer. Anders Sjögren Operand(er)
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
Att räkna med bokstäver
Manada.se Kapitel 4 Ekvationer och formler. 4.1 Ekvationer och uttryck.
Närvaro
Y 4.3 Uttryck med parenteser
Presentationens avskrift:

Föreläsning 2

Operatorer Tilldelning Kodblock { } if – satsen Logiska uttryck Att programmera

En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar ett annat heltal nämligen summan: blir 8 De aritmetiska operatorerna *, /, +, - fungerar som på era miniräknare. Fungerar både för heltal och decimaltal. Heltalsdivision är lite speciell: 5 / 2 blir 2 % - modulus, dvs resten vid heltalsdivision: 5 % 2 blir 1

Att ge en variabel ett nytt värde görs med tilldelningsoperatorn i=4; Observera att den inte betyder lika med: i=i+4; Att = är en operator betyder att i=4 får ett resultat nämligen 4 som kan användas: n= i=4; i=i+4; är likvärdigt med : i+=4; i=i-4; är likvärdigt med : i-=4; (även *= och /=) i=i+1; är nästan likvärdigt med : i++; (eg ++i ) i=i-1; är nästan likvärdigt med : i--; (eg --i )

I ett uttryck med flera operatorer måste de göras i en viss ordning. Vilken bestäms av operatorernas prioritet Du kan precis som i matematiken ändra prioritetsordningen med hjälp av parenteser. Dessa beräknas först. Det är bättre att ha en parentes för mycket än en för litet. Sätt alltid ut parenteser om du är osäker!

1.() 2.++   3.*/% 4.+  5.=+=-= Använd alltid parenteser om du är osäker! Läsbarheten är viktig!

{} – klumpar ihop flera satser till ett kodblock som utifrån ses som en sats. Ex: { int i; i =0; i=i+1; } En deklaration är bara giltig i kodblocket nedanför deklarationen!

Om du ger mig hundra kronor så får du en biobiljett. Om du hjälper mig med städningen så följer jag med dig på hockey, annars får du gå själv. Om klockan är mer än tio så går jag och lägger mig, annars dricker jag kaffe.

if(logiskt_uttryck) sats int tid = 21; if(tid > 22) printf(”Gå och lägg dig”);

if(logiskt_uttryck) sats1 else sats2 int tid = 21; if(tid > 22) printf(”Gå och lägg dig”); else printf(”Drick kaffe!”);

Med hjälp av klammrar kan vi göra flera saker i en if-sats. if (tid > 22) { printf(”Borsta tänderna!”); printf(”Gå och lägg dig!”); } else { printf(”Koka kaffe”); printf(”Drick kaffe”); } Använd helst alltid {} och indentera!

Vi kan ha en if sats i en annan if sats – nästlat Ex: if(0<x){ if(x<10) printf(”0<x<10”); } En särskild form av detta är if else if: if(x<0) { sats1 } else if(x<10) { sats2 } else { sats3 }

Ett logiskt värde är antingen sant eller falskt När vi jämför tal är resultatet antingen sant eller falskt: 3 7 falskt 3 == 7 falskt Resultatet av sådana jämförelser är mycket användbara i programmering. Vi kan säga åt datorn att göra något om resultatet är sant och något annat om det är falskt. I C är resultatet av en sådan jämförelse av typen int och sant representeras av 1 och falskt av 0. (dock tolkas alla värden utom 0 som sanna)

==lika med 3==4 är falskt dvs resultatet blir 0 !=skilt från 3!=4 är sant dvs resultatet blir 1 >större än >=större än eller lika med <mindre än <=mindre än eller lika med

Exempel på logiska uttryck: icke (sant) == falskt sant och sant == sant sant eller falskt == sant Logiska operatorer tar en eller två logiska värden och resultatet blir ett logiskt värde I C motsvaras då sant och falskt av 1 och 0

Icke - !!(1) blir 0 !(0) blir 1 och - &&1&&1 blir 1 1&&0 blir 0 0&&1 blir 0 0&&0 blir 0 Eller - ||1||1 blir 1 1||0 blir 1 0||1 blir 1 0||0 blir 0

if (x<0 || 10<x) { printf(”x är inte mellan 0 och 10”); }

Skriv en rad i taget Kompilera och testkör mellan varje rad Om du får kompileringsfel bör felet vara på senaste raden Rätta bara första kompileringsfelet – övriga kan vara följdfel som försvinner av sig själv Välj beskrivande variabelnamn Indentera (tabba) och lämna blankrader så att koden blir lättläst Försök läsa kod så som kompilatorn gör: Läs första raden – vad händer Läs nästa rad vad händer – osv Använd extra printf – satser för att följa koden

Gör Cd-skiv-uppgiften som följer i denna föreläsning. Lös uppgiften steg för steg och kompilera hela tiden. Tjuvtitta på mina steg vid behov. Gör K4 E1, P1, P2 (sid 68, 71) Läs igenom kapitel 4 och kapitel 5 (hoppa över 83-90). Ha datorn redo så du kan testa det du läser vid behov. Skriv ett program som läser in två heltal i två variabler och sedan byter plats på dessa. Tips: behövs en temporär variabel! Gör K5 E1, E2, E9, P1, P4, P7 Gör fler uppgifter om du hinner E-excercises, P-programming projects

I den här uppgiften skall du skriva ett program som räknar ut priset för CD-R skivor. Grundpriset är 9,90 kr, men om man köper flera får man rabatt: fler än 10 st ger 5% rabatt fler än 50 st ger 10% rabatt Programmet skall börja med att fråga användaren hur många skivor han vill köpa för att sedan svara vad totala priset blir. Nu följer hur jag löste uppgiften steg för steg…

#include int main(void) { printf("Valkommen!\nHur manga skivor vill du kopa?"); return 0; }

#include int main(void) { int antal; printf("Valkommen!\nHur manga skivor vill du kopa?"); scanf("%d",&antal); return 0; }

#include int main(void) { int antal; printf("Valkommen!\nHur manga skivor vill du kopa?"); scanf("%d",&antal); printf(”du vill köpa %d",antal); return 0; }

#include int main(void) { int antal; float pris; printf("Valkommen!\nHur manga skivor vill du kopa?"); scanf("%d",&antal); pris=antal*9.9; printf("Priset blir: %.0f",pris); return 0; }

#include int main(void) { int antal; float pris; printf("Valkommen!\nHur manga skivor vill du kopa?"); scanf("%d",&antal); if(antal<11) { pris=antal*9.9; } else { pris=antal*9.9*0.9; } printf("Priset blir: %.0f",pris); return 0; }

//Beräknar priset av cd-skiver med ev. rabatt #include int main(void) { int antal; float pris; printf("Valkommen!\nHur manga skivor vill du kopa?"); scanf("%d",&antal); if(antal<11) { pris=antal*9.9; } else if(antal<51) { pris=antal*9.9*0.95; } else { pris=antal*9.9*0.9; } printf("Priset blir: %.0f",pris); return 0; }