Grundläggande programmering - PowerPoint PPT Presentation

grundl ggande programmering n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Grundläggande programmering PowerPoint Presentation
Download Presentation
Grundläggande programmering

play fullscreen
1 / 40
Grundläggande programmering
155 Views
Download Presentation
liliha
Download Presentation

Grundläggande programmering

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Grundläggande programmering

  2. Innehåll • Problemen • Variabler • Villkorssatser • Problem 1 • Upprepningar • Problem 2 • Vektorer • Problem 3

  3. Introduktion

  4. 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

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

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

  7. 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.

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

  9. 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=

  10. 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.

  11. 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

  12. 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

  13. Division • 1/3 = 0.33333… fortsätter med 3:or i all oändlighet. • Exempel: x = 1/3 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.

  14. 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.

  15. 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)

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

  17. 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

  18. 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

  19. 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

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

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

  22. 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!

  23. 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

  24. 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

  25. Villkorssatser • Sätter vi ihop allt har vi: • if bensintank + önskadtank > maxtank giventank = maxtank –bensintankelsegiventank = önskadtankend

  26. 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 |

  27. 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?

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

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

  30. Upprepningar summa = 0; for igår från 1 till 10 %ändra summan end

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

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

  33. 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.

  34. 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*..

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

  36. Vektorer • Exempel: a = (1,0,0,0,0);

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

  38. 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

  39. 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;

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