22
Föreläsning 2: Programstruktur ME152A

Föreläsning 2: Programstruktur

Embed Size (px)

Citation preview

Page 1: Föreläsning 2: Programstruktur

Föreläsning 2: Programstruktur

ME152A

Page 2: Föreläsning 2: Programstruktur

Repetition

Föreläsning 2

• Vilka primära typer finns det? • Vilka olika typer av operatorer finns det? • Vad är en vektor?

Page 3: Föreläsning 2: Programstruktur

Explicit konvertering av typer

Föreläsning 2

• Number()- konvertera till en siffra • String()- konvertera till en sträng • Boolean() - konvertera till boolesk

Page 4: Föreläsning 2: Programstruktur

Föreläsning 2

// Från en sträng till en siffra Number("55.3"); // => 55.3

// Från en siffra till en sträng String(1446); // => "1446"

// Från en siffra till en boolesk Boolean(1); // => true // Från en sträng till en boolesk Boolean(""); // => false

Page 5: Föreläsning 2: Programstruktur

Föreläsning 2

// Det går givetvis att använda variabler var a = "Test"; var b = Number(a); // => ?

var c = -1; var d = Boolean(c); // => ?

Page 6: Föreläsning 2: Programstruktur

Föreläsning 2

Explicit konvertering av typer - när?

// Funktionen prompt öppnar ett dialog // fönster där användaren har möjlighet // att fylla i med information var name = prompt("What is your name?");

// Vad får vi tillbaka här? var age = prompt("How old are you?");

typeof age; // => ?

Page 7: Föreläsning 2: Programstruktur

Föreläsning 2

Explicit konvertering av typer - när?

// Lösning, // Konvertera det värde vi fick (sträng) // till en siffra var age = Number(prompt("How old are you?"));

// Om text fylls i, vad händer då?

Page 8: Föreläsning 2: Programstruktur

Föreläsning 2

Specialtyp

• NaN - “Not a number” • isNaN() - kontrollera om värdet inte är en siffra

// Kontrollera om konverteringen // resulterar i NaN var age = Number(prompt("How old are you?"));

isNaN(age); // => ?

Page 9: Föreläsning 2: Programstruktur

Föreläsning 2

Villkorlig exekvering

• Logisk jämförelse vars resultat bestämmer

vad som skall exekveras • Flera jämförelser kan grupperas • Grunden för att göra interaktiva program

Page 10: Föreläsning 2: Programstruktur

Föreläsning 2

Villkorlig exekvering - hur?

// Villkorlig exekvering grundas på if-satser if (true) { console.log("Detta kommer att skrivas ut"); }

if (false) { console.log("Detta kommer inte att skrivas ut"); }

Page 11: Föreläsning 2: Programstruktur

Föreläsning 2

Villkorlig exekvering - gruppering

var name = "Bo";

// Om namnet innehåller mer än 3 bokstäver if (name.length > 3) { console.log("Long name."); // Om namnet innehåller mindre än 3 bokstäver } else { console.log("Short name."); }

Page 12: Föreläsning 2: Programstruktur

Föreläsning 2

Villkorlig exekvering - gruppering

var num = 10 * 10 + 256;

// Gruppering med fler jämförelser if (num < 10) { console.log("Small"); } else if (num < 100) { console.log("Medium"); } else if (num < 1000) { console.log("Large"); } else { console.log("Extra Large"); }

Page 13: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar

• Upprepa ett block av kod • Villkor styr antalet upprepningar

• Exempelvis kan ett villkor grundas på input

från en användare

Page 14: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.Skriv ut siffrorna 1 till 10

var number = 1;

// Upprepa till "number" har värdet 10 while (number <= 10) { // Skriv ut "number" console.log(number); // Öka number med sig själv + 1 number = number + 1; }

Page 15: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

// En "do-while" utförs alltid minst en gång do { var name = prompt("What is your name?"); // Fortsätt så länge name är tom } while (name == "");

console.log(name);

Page 16: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

for (var number = 1; number <= 10; number++) { console.log(number); }

Skriv ut siffrorna 1 till 10

Page 17: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

For-loop • Tre delar

• Initiera variabler • Villkor som styr antal upprepningar • Påverka variablerna efter varje upprepning

Page 18: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

var number = 0;

// Öka med 1 på tre olika vis

number = number + 1;

number += 1;

number++;

Page 19: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

var number = 10;

// Minska med 1 på tre olika vis

number = number - 1;

number -= 1;

number—-;

Page 20: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

// For-loop i kombination med en array var years = [2002, 2003, 2004, 2005];

// Upprepa vårt block grundat på antal // element i vår array "years" for (var i = 0; i < years.length; i++) { // Vid varje iteration använder vi vår // variabel "i" som ett index för att // hämta ett år från vår array var year = years[i]; console.log(year); }

Page 21: Föreläsning 2: Programstruktur

Föreläsning 2

Loopar - forts.

for (var number = 10; number > 0; number--) { console.log(number); }

Skriv ut siffrorna 10 till 1

Page 22: Föreläsning 2: Programstruktur

Föreläsning 2

Villkor - Ternary operator

var message = ""; var name = "Max";

if (name.length > 3) { message = "Long"; } else { message = "Short"; }

// Alternativ var message = name.length > 3 ? "Long" : "Short";