Jonny Karlsson 14.10.2005 INTRODUKTION TILL PROGRAMMERING Föreläsning 3 (21.11.2005) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.

Slides:



Advertisements
Liknande presentationer
INTRODUKTION TILL PROGRAMMERING
Advertisements

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.
Programstruktur: C för enchipsdatorer
Funktioner och programorganisation
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
De fundamentala datatyperna
Operatorer.
2D1311 Programmeringsteknik med PBL
Föreläsning 2. Operatorer Tilldelning Kodblock { } if – satsen Logiska uttryck Att programmera.
Programmeringsteknik K och Media
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
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Föreläsning 11 Arrayer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Programmeringsbegrepp
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.
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
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
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.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Modulär programutveckling
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
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.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Problemlösningsmetodik
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
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)
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Repetitionssatser: do-satsen och for-satsen -Operatorer:
2D1311 Programmeringsteknik med PBL
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 F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
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.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 9 ( ) Innehåll: - IPC: Semaforer.
-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.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
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.
KPP053, HT2015 MATLAB, Föreläsning 4
Lektion 4.
Python.
Iteration – Repetitionssats - while
Presentationens avskrift:

Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser

Jonny Karlsson Tabeller Används för att lagra en mängd olika variabler av samma datatyp i datorns minne. Brukar även kallas för vektorer eller ”arrays” En tabell kan behövas i C-programme när man vill göra ett program som skall beräkna t.ex. medeltalet av ett visst antal värden. Tabeller behövs även vid lagring av teckensträngar i datorns minne.

Jonny Karlsson Deklaration av tabeller En tabell deklareras i C på följande sätt: datatyp tabellnamn[N]; datatyp Önskad datatyp för tabellen (t.ex. int, float eller char) NAntal tabellelement (tabellplatser)

Jonny Karlsson Taltabeller En heltalstabell på 10 element deklareras på följande sätt: int heltalstabell[10]; En heltalstabell på 10 element kan deklareras och initialiseras på följande sätt: int heltalstabell[] = {11, 33, 45, 12, 45, 32, 22, 14, 13, 11}; Detta skulle resultera i följande taltabell: Ett visst element av samma heltalstabell kan tilldelas ett värde enligt följande: heltalstabell[0] = 33;//plats 0 i heltalstabellen ”heltalstabell” tilldelas värdet

Jonny Karlsson Taltabeller OBS! heltalstabell[0]är första elementet i tabellen ”heltalstabell” heltalstabell[1]är andra elementet i tabellen ”heltalstabell”... Värdet av tabellelement 8 kan skrivas ut på bildskärmen så här: printf(”Tabellposition 8 innehåller: %d”, heltalstabell[7]); Ett heltal inläst från tangentbordet kan sparas i tabellposition 2 på följande sätt: scanf(”%d”, &heltalstabell[1]);

Jonny Karlsson Teckentabeller En teckensträng måste i C lagras i en teckentabell En teckentabell på 20 tecken deklareras på följande sätt: char teckentabell[20]; En teckentabell deklareras och initialiseras enligt följande: char text[] = ”Jordgubbe”; Denna initialisering skulle resultera i följande teckentabell: Jordgubbe

Jonny Karlsson Teckentabeller En teckensträng kan inläsas från tangentbordet och lagras i en teckentabell på följande sätt: scanf(”%s”, text);//Läser in tecken från tangentbordet ända tills ett radbrytstecken eller //mellanslagstecken tagits emot I teckentabellen ”text” lagras texten som inmatats från tangentbordet + ett ”\0” tecken (NULL) NULL-tecknet används här för att berätta var teckensträngen tar slut.

Jonny Karlsson Teckentabeller char text[10];//deklarerar en teckentabell av storlek 10 tecken scanf(”%s”, text);//Läser en teckensträng från tangentbordet som lagras i //teckentabellen ”text” Om man från tangentbordet skriver ”hej” + ”enter” skulle innehållet i teckentabellen ”text” se ut så här: hej\0

Jonny Karlsson Teckentabeller Innehållet av en teckentabell kan visas på bildskärmen på följande sätt: printf(”%s”, text); Printf-satsen skriver ut alla tecken som finns i teckentabellen, eller tills ett mellanslagstecken, radbrytstecken eller NULL-tecken påträffas: Om teckentabellen ”text” ser ut så här: hej\0 Skulle texten ”hej” visas på bildskärmen:

Jonny Karlsson Jämförelseoperatorer Behövs i C för att kunna jämföra olika värden. Relationsoperatorer: <”mindre än” >”större än” <= ”mindre än eller lika med” >= ”större än eller lika med Exempel: x < y Om x är mindre än eller lika med y blir uttrycket ovan sant/true men om x är större än y blir uttrycket falskt/false.

Jonny Karlsson Villkorssatser Behövs för program som skall kunna ta alternativa vägar beroende på användarens val. T.ex. ett program med en meny skall kunna utföra olika operationer beroende av vad användaren valt ur menyn. T.ex. 1 = Beräkna addition, 2 = avsluta programmet.

Jonny Karlsson if-satsen Det vanligaste sättet att åstadkoma alternativa vägar i ett program är att använda if- satsen. Den enklaste varianten av if-satsen har följande form: if(uttryck)sats Om uttrycket är ”sant” utförs satsen, annars utförs ingenting. Exempel: if(n > 0)//om variabeln n är större än noll medelvärde = summa / n;//utförs följande sats

Jonny Karlsson if-satsen Om man vill att en if-sats vid ”true” skall utföra flera satser använder man bågparenteser för att berätta vilka satser som skall utföras då ett visst uttrck blir ”true”. (sammansatta satser) if(uttryck){sats1;sats2;sats3;}Exempel: if(n > 1) { medelvärde = summa / n; standardav = (kvad_sum – sum * sum / n) / (n-1); }

Jonny Karlsson if-satsen Den andra versionen av if-satsen har följande form: if(uttryck)sats1;elsesats2; Om uttrycket ovan blir sant utförs sats1, om uttrycket blir falskt utförs sats2. Exempel: if(a > b) skillnad = a – b; else skillnad = b – a;

Jonny Karlsson if-satsen I C-program uppstår det ofta flervalssituationer. I sådana fall kan man ha en if-sats som ser ut enligt följande: if(uttryck1)sats1; else if(uttryck2) sats2; else if(uttryck3) else Detta kan t.ex. behövas när man programmerar ett C-program som har en meny med flera olika alternativ.

Jonny Karlsson switch - satsen I Vissa slag av flervalssituationer är det naturligare att använda en switch-sats i stället för if-satser i den form som beskrevs på föregående sida. switch(heltal){ case 1: satser;break; case 2: satser;break;default:satser;break;}

Jonny Karlsson Repetitionssatser Används för att åstadkomma repetitioner, dvs. om man vill att samma sats/satser skall utföras ett visst antal gånger. T.ex. ett program där användaren skall skriva in 10 olika värden från tangentbordet som skall sparas i en tabell behövs en sats som skall repeteras 10 gånger: Pseudokod: antal = 0; Så länge som antal < 10 { läs in från tangentbordet och spara i tabellposition antal öka antal med 1; }

Jonny Karlsson while-satsen Ett sätt att åstadkomma repetition är att använda while-satsen. Har den allmänna formen: while(uttryck)sats Satsen utförs så länge som uttrycket är sant

Jonny Karlsson while-satsen Exempel: programmet läser in 10 värden från tangentbordet och sparar dessa i en tabell: int tabell[10]; int index = 0; while(index < 10) { scanf(”%d”, &tabell[index]; index = index + 1; }

Jonny Karlsson do-satsen dosats;while(uttryck); do-satsen är likadan som while-satsen med den skillnaden att utrycket testas först efter utförd sats. I while-satsen testas uttrycket före utförd sats. do{ scanf(”%d”, &i); gör någåt med i; } while(i < 0);

Jonny Karlsson for-satsen Denna sats skiljer sig lite från andra repetitionssatser. Är mycket användbar. Den allmänna formen: for(uttyck1; utryck2; utryck3) sats; Satsen ovan är likadan som följande while-sats: utryck1:while(uttryck2){satsuttryck3;}

Jonny Karlsson for-satsen Exempel: programmet läser in 10 värden från tangentbordet och sparar dessa i en tabell: int tabell[10]; int index; for(index = 0; index < 10; index = index + 1) scanf(”%d”, &tabell[index];