Grundläggande programmering

Slides:



Advertisements
Liknande presentationer
Fatta PHP - Din guide till en större värld Knut Hahnsskolan – Ronneby Virtuella miljöer (MUM1203, 100p) Fredrik JohanssonBild 1 av 10.
Advertisements

Visual Basic - Genomgång
Talföljder formler och summor
INTRODUKTION TILL PROGRAMMERING
En genomgång av spelet: Dubbelkrig-Grön
Klicka på Aktivera redigering i meddelandefältet
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Text och bild från wikipedia
hej och välkomna EKVATIONER Ta reda på det okända talet.
Programstruktur: C för enchipsdatorer
Algebra Kap 4 Mål: Lösa ekvationer
Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
En övning i att formulera sig matematiskt
De fundamentala datatyperna
2D1311 Programmeringsteknik med PBL
Programmeringsteknik K och Media
Grundläggande programmering
Föreläsning 2 Datalogi för E1 2D1343
Text och bild från wikipedia
Programmering B PHP Lektion 2
INTRODUKTION TILL PROGRAMMERING
Algebraiska uttryck Matematik 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Pekare och speciell programstruktur i inbyggda system
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
Vektorer (klassen Vector) Sortering
Beräkna en ekvation (metod 1)
Matematik A - Introduktion
Felkalkyl Ofta mäter man inte direkt den storhet som är den intressanta, utan en grundläggande variabel som sedan används för att beräkna det som man är.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska opertorer -Poster.
Funktioner, styrstrukturer, manipulering av matriser
MATRISER MATRISER Kati Sandström2 Grundbegrepp En vektor är ett kompakt sätt att beteckna flera variabler En vektor är ett kompakt sätt att.
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.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Bråk Text och bild från wikipedia. Vad är bråk 1/3 5/8 1/27 3 _
Binomialsannolikheter ritas i ett stolpdiagram
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 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Repetitionssatser: do-satsen och for-satsen -Operatorer:
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.
Föreläsning 2 programmeringsteknik och Matlab 2D1312/ 2D1305
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
TATA31 Linjär algebra Examinator, föreläsare: Ulf Janfalk
Negativa tal – några exempel
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
1 Ingenjörsmetodik IT & ME 2007 Föreläsare Dr. Gunnar Malm.
1 Matlab, föreläsning 1 Oktober MATLAB Perspektiv på materialdesign Lina Kjellqvist Rum: K324 Telefon:
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Att räkna med bokstäver
Manada.se Kapitel 4 Ekvationer och formler. 4.1 Ekvationer och uttryck.
Aritmetik - tal. Delbarhet Ett tal är delbart med ett annat om kvoten blir ett heltal Alla jämna tal är delbara med 2 Alla tal var siffersumman är delbart.
Lite matterepetition Räknesätten, bråk, förkorta, parenteser
KPP053, HT2015 MATLAB, Föreläsning 4
Lektion 4.
Python.
Kapitel 2, mattespananrna
Iteration – Repetitionssats - while
Z 1.3 Räkna med negativa tal
Presentationens avskrift:

Grundläggande programmering

Innehåll Problemen Variabler Villkorssatser Problem 1 Upprepningar Vektorer Problem 3

Introduktion

Problem Problem 1: Vi får göra ett uttag som är mellan 100 och 2000 men endast om uttaget är samma som eller mindre än beloppet på kontot Problem 2: Beräkna fakulteter (10! = 10*9*8.. ) Problem 3: Hitta det största talet i en mängd

För att lösa problem 1 Vi behöver veta något om: Variabler Villkorssatser

Vi säger att variabeln x har tilldelats värdet 5 Variabler x = 5; Variabelns värde Variabelns namn Vi säger att variabeln x har tilldelats värdet 5

Variabler Olika värden: x = 3; x = 2.01; x = true; En kompilator (Tolk) läser varje instruktion radvis och börjar med den översta.

Räkneoperationer för tal + Addition - Subtraktion * Multiplikation / Division

Räkneoperationer för heltal Exempel på addition: x = 5; Hur skriver vi för att x ska ha tilldelats värdet 7 (vi måste addera till 2)? Så här? x + 2; NEJ För att x ska ha tilldelats värdet 7. måste vi använda tilldelningstecknet =

Räkneoperationer för heltal Fortsättning på exempel Så här? x = 2; Nästan Nu tilldelade vi x värdet 2. Men hur gör vi då? x = x + 2; Rätt Vi hämtar x sedan tidigare och lägger till 2 och sparar resultatet i x.

Räkneoperationer för heltal Slutsats? Här skiljer sig matematik och programmering! Från föregående exempel x = x + 2; Om vi läser det som en ekvation får vi att: 0 = 2 ! OBS! Tilldelningstecknet är inte samma sak som matematikens likhetstecken

Räkneoperationer för heltal Testa din förståelse! x = 4; y = 3; x = y; y = y + x; Vad blev x? x = 3 Vad blev y? y = 6

Division 1/3 = 0.33333… fortsätter med 3:or i all oändlighet. Exempel: Innehåller vår variabel ett oändligt antal 3:or? Nej! För att lagra ett oändligt antal 3:or behöver vi ett oändligt stort minne att lagra de i.

Fler begränsningar Datorn har ett största tal Datorn har ett minsta tal Vad gör det? Detta påverkar ens beräkningar och ger upphov till en del fenomen. Vilket tas upp i beräkningsvetenskap I.

Villkorssatser När vi vill att något ska ske efter att ett villkor har uppfyllts använder vi en villkorssats (kallas även if-sats)

Villkorssatser Exempel: Om lampknappen är nertryckt så tänd lyset. Modell: lampknapp = true; if lampknapp är true %kod som tänder lyset end

Villkorssatser Det finns olika sätt att göra jämförelser på. I vårt fall var vi intresserade av att se om lampknappens värde var samma som true. Det hade vi skrivit så här: if lampknapp == true %kod som tänder lyset end

Villkorssatser a >b a är större än b a < b a är mindre än b a >= b a är större än eller samma som b a <= b a är mindre än eller samma som b a == b a är samma som b a != b a är inte samma som b

Villkorssatser Om vi vill göra något endast om ett villkor inte är uppfyllt kan vi bygga vidare på vår if-sats. Vi utökar föregående exempel: if lampknapp == true %kod som tänder lyset else %kod som släcker lyset end

Villkorssatser Exempel: Vi vill tanka bilen om det ryms bensin i bensintanken Vi vill veta hur mycket bensin som vi har fyllt tanken med

Villkorssatser Vilka variabler har vi? Vi gissar på… maxtank %Maxvolym i tanken bensintank %Volym i tanken önskadtank %Önskad volym giventank %Bensinen macken ger oss

Villkorssatser Vilka scenarion finns? Vi försöker stoppa i för mycket bensin Vi stoppar in tillåten mängd bensin Kan flera scenarion inträffa samtidigt? Nej. Vi kan inte ha en överfull tank samtidigt som det finns plats kvar i den!

Villkorssatser Vi stoppar in tillåten mängd bensin (Lättaste först) Sökt: hur mycket bensin tanken fylls med Det måste vara samma mängd som den vi bad om! alltså: giventank = önskadtank

Villkorssatser Vi försöker stoppa i för mycket bensin Sökt: hur mycket bensin tanken fylls med Vi stoppar i för mycket bensin om: Bensintank + önskadtank > maxtank Bensin vi fyller på med är då: giventank = maxtank - bensintank

Villkorssatser Sätter vi ihop allt har vi: if bensintank + önskadtank > maxtank giventank = maxtank –bensintank else giventank = önskadtank end

Villkorssatser Vi kan sätta ihop flera villkor Exempel: if anv == 1234 && password == 4321 på svenska: om användarnamnet är 1234 och lösenordet är 4321 så är villkoret uppfyllt eller skrivs med |

Problem 1 Problem 1: Vi får göra ett uttag som är mellan 100 och 2000 men endast om uttaget är samma som eller mindre än beloppet på kontot Vilka variabler behövs? Hur ser villkoren ut som beskriver uttagen?

Upprepningar Vi vill upprepa kod så länge ett villkor är uppfyllt

Upprepningar Exempel: 1+2+3+..+10 = .. Vad gäller? Upprepningsvillkor: Vi börjar på 1 och slutar efter 10, vi ökar med 1 per steg. Under varje upprepning lagrar vi summan

Upprepningar summa = 0; for i går från 1 till 10 %ändra summan end

Upprepningar summa = 0; for i=1:1:10 summa = summa + i; end

Upprepningar Vad gör vi om vi vill stega så länge a > b, eller nåt liknande? Vi behöver något annat än for, vi behöver while

While while villkor %gör det här så länge villkoret är uppfyllt %Se till så att variablerna i villkoret ändras end While används när vi vill ha större kontroll över stegningen.

Problem 2 Beräkna fakulteter 10! = 10*9*8*7*6*5*4*3*2*1 0! = 1 Prova beräkningen åt båda hållen. 1*2*3*.. Sen 10*9*8*..

Vektorer En vektor är en variabel med en lista av värden

Vektorer Exempel: a = (1,0,0,0,0); 1

Vektorer För att komma åt ett element måste vi tala om vektorns index. Kod: a(1) = 2 1 index: 2 värde: 0 2

Vektorer Exempel: Vi vill beräkna medelvärdet (Totala summan delat på antalet element) givet mängden = {1,0,0,1} Medelvärde : 0.25 * (1+0+0+1) = 0.5

Vektorer Vad blir koden? a = [1,0,0,1]; summa = 0; for i=1:1:4 summa = summa + a(i); end medelvärde = summa/4;

Problem 3 Hitta det största talet i mängden: {2,9,8,11,6}