1 / 40

Grundläggande programmering

Grundläggande programmering. Innehåll. Problemen Variabler Villkorssatser Problem 1 Upprepningar Problem 2 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

liliha
Download Presentation

Grundläggande programmering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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}

More Related