# Week 2

Mappen & bestanden

  • artevelde/
    • pgm-code/
      • pgm-1/
        • week-1
        • week-2/
          • bmi_indicator.js
      • web-1/

macOS

Het volledige pad naar de map (Eng. folder) ziet zo uit. («username» is jouw gebruikersmap.)

/Users/«username»/artevelde/pgm-code/pgm-1/week-2

Open de map week-1 in VS Code (opens new window).

Windows

Het volledige pad naar de map (Eng. folder) ziet zo uit. («username» is jouw gebruikersmap.)

C:\Users\«username»\artevelde\pgm-code\pgm-1\week-2

Open de map week-2 in VS Code (opens new window).

Tip

Schrijf zelf bij elke oefening voldoende commentaar, zodat je achteraf zelf nog weet wat de code doet.

# Ticket validation

Maak een bestand ticket_validation.js aan in de reeds aangemaakt folder week-2

  • Maak een variable hasTicket die een boolean is. Je kiest zelf de waarde (waar of niet waar)
  • Maak een variable isVIP die een boolean is. Je kiest zelf de waarde (waar of niet waar)

Zorg nu dat je een bericht naar de console logt op basis van de volgende voorwaarden:

  • Als de persoon een ticket heeft en geen VIP is, log dan Je hebt een ticket!
  • Als de persoon een ticket heeft en een VIP is, log dan Je hebt een ticket en je bent een VIP!
  • Als de persoon geen ticket heeft, log dan Sorry, je hebt geen ticket

Verander hasTicket en isVIP van waarde om zeker te zijn dat je alle scenario’s hebt getest.

# BMI indicatie

*[BMI]: Body Mass Index

Bereken de BMI op basis van lengte en gewicht. Er is sprake van ondergewicht als je BMI minder dan of gelijk is aan 18.5. Het aanbevolen gewicht vinden we tussen de waarden groter dan 18,5 en kleiner dan 25. Je hebt overgewicht bij waardes tussen 25,0 en 30 (inclusief). Je bent zwaarlijvig bij een BMI van meer dan 30. Log het bericht op basis van de bovenstaande beredenering (bijv. Je hebt het aanbevolen gewicht) naar de console.

Maak een bestand bmi_indicator.js aan in de reeds aangemaakt folder week-2.

Tip

  • length (lengte uitgedrukt in meter) met als waarde een positief getal, bijv.: 1.72
  • weight (gewicht uitgedrukt in kilogram) met als waarde een positief getal, bijv.: 65
  • BMI = gewicht(kg)/(lengte(m) x lengte(m))
  • Met de methode Math.pow() (opens new window) kunnen we een getal tot een mach verheffen.

Resultaat

Jouw bmi is 21. Je hebt het aanbevolen gewicht.

# Schrikkeljaar

Ga na of een een bepaald jaar al dan niet een schrikkeljaar (Eng. leap year) is.

De flow om een schrikkeljaar te berekenen:

  • Begin met het jaar waarvan je wilt weten of het een schrikkeljaar is. Definieer een const variabele met de naam year en bevat als waarde het jaar om na te gaan of het jaar al dan niet een schrikkeljaar is.
  • Definieer een let variabele met de naam isLeapYear met false als standaardwaarde.
  • Kijk of het getal door 4 te delen is (met een heel getal als uitkomst, zonder rest). Als dat niet zo is, zoals bij 1977, is het geen schrikkeljaar. Als het wel zo is, zoals 2012, lees dan verder.
  • Kijk of het jaar door 100 gedeeld kan worden. Als een jaar door 4 gedeeld kan worden, maar niet door 100, is het een schrikkeljaar. Als een jaar door zowel 4 als door 100 te delen is, zoals 2000, lees dan verder.
  • Kijk of het jaar door 400 gedeeld kan worden. Als een jaar door 100 gedeeld kan worden, maar niet door 400, zoals 1900, dan is het geen schrikkeljaar. Als het door beide getallen te delen is, dan is het een schrikkeljaar. Dus 2000 was inderdaad een schrikkeljaar.

Maak een bestand leap_year.js aan in de reeds aangemaakt folder week-2.

Tip

  • Gebruik het conditionele statement if … else if … else

Tip

  • Schrikkeljaren: 1600, 1604, 1608, 1612, 1616…1684, 1688, 1692, 1696, 1704 (maar 1700 niet, begrijp je waarom?), 1708, 1712…1792, 1796, 1804 (1800 niet), 1808, 1812…1892, 1896, 1904 (1900 niet), 1908, 1912…1992, 1996, 2000 (2000 wel, begrijp je waarom?), 2004, 2008, 2012…2092, 2096, 2104 (2100 niet)…2196, 2204…2296, 2304…2396, 2400 (begrijp je waarom?), 2404 …
  • Elk jaar dat door 4 gedeeld kan worden is een schrikkeljaar.

Wist-je-datje

  • Een telt (of ).
  • Elke worden die samen een hele dag ().
    Dus daarom hebben we dan een extra dag in februari.

# First element of an array

Maak een bestand array_first_element.js aan in de reeds aangemaakt folder week-2. In deze applicatie loggen we het eerste element uit de array naar het output scherm:

  • Definieer een array met de volgende elementen Evelien, Mathieu, Thibault
  • Log het eerste element uit deze array

# Last element of an array

Maak een bestand array_last_element.js aan in de reeds aangemaakt folder week-2. In deze applicatie loggen we het laatste element uit de array naar het output scherm:

  • Definieer een array met de volgende elementen Frodo, Rocky, Bill
  • Log het laatste element uit deze array op basis van de lengte van de array

# Filter even numbers

Maak een bestand filter_even_numbers.js aan in de reeds aangemaakt folder week-2. In deze applicatie filteren we de even getallen uit een array naar een nieuwe array.

Begin met een variabele numbers:

const numbers = [10, 18, 17, 11, 7, 30, 85, 37, 24, 29, 49];
1
  • Maak nu een nieuwe array evenNumbers aan. Dit is een lege array.
  • Overloop de array en controlleer elk getal. Is het even dan voeg je het toe aan evenNumbers.
  • Log op het einde de array evenNumbers naar de console.

Output

Even numbers: [ 10, 18, 30, 24 ]

# Longest word

Met deze applicatie woeken we het langste woord in een string, bijv. Full Stack JavaScript Development is Development het langste woord.

Stappenplan:

  • Maak een bestand longest_word.js aan in de reeds aangemaakt folder week-2.
  • Schrijf een functie genaamd searchLongestWord dat:
    • 1 argument bevat: de tekst waarin we het langste woord zoeken
    • geeft het langste woord terug

Tip

  • Met de methode split (opens new window) kunnen we een string converteren naar een array op basis van het splitsen of splijten op een opgegeven teken (bv. split(" "))

# Controleren op W

Maak een bestand check_for_w.js aan in de reeds aangemaakt folder week-2.

Controleer of een string de letter “w” bevat. Druk “ja” af als dat zo is en “nee” als dat niet zo is. Gebruik een for...of loop om elk karakter in de string te controleren.

const str2 = "don’t know why";
// Example output:
// "ja"
1
2
3

# Count words in a string

Tel het aantal woorden in een string.

  • Maak een bestand count_words_in_string.js aan in de reeds aangemaakt folder week-2.
  • Maak een variable textmet een zelfgekozen zin
  • Verwijder alle punctuation via text.replace(/[.,\/#!$%\^&\*;:{}=\-_~()]/g,"");.
  • Log het aantal woorden in de zin naar de console.

# Count unique words in a string

Tel het aantal unieke woorden in een string.

  • Maak een bestand count_words_in_unique_string.js aan in de reeds aangemaakt folder week-2.
  • Maak een variable textmet een zelfgekozen zin
  • Verwijder alle punctuation via text.replace(/[.,\/#!$%\^&\*;:{}=\-_~()]/g,"");.
  • Overloop de woorden en tel het aantal unieke woorden. Log dit naar de console.

Tip

  • Gebruik een array om de unieke woorden bij te houden
  • Met de methode includes (opens new window) kunnen we controleren of een string al bestaat in een array van strings

# Som van arrays

Maak een bestand sum_arrays.js aan in de reeds aangemaakt folder week-2.

Maak de som van twee matrices, waarbij je eerst de som maakt van al hun elementen. Elke array bevat alleen gehele getallen. De output is ook een geheel getal.

const arrayOne = [3, 5, 22, 5, 7, 2, 45, 75, 89, 21, 2]; // --> 276
const arrayTwo = [9, 2, 42, 55, 71, 22, 4, 5, 90, 25, 26]; // --> 351
// Example output:
// 276 + 351 = 627
1
2
3
4

# Say Blah function

Maak een bestand function_say_blah.js aan in de reeds aangemaakt folder week-2. In deze functie loggen we de volgende conversatie naar het output scherm:

  • Schrijf een functie genaamd sayBlah dat onderstaande conversatie naar de console logt.
  • Roep deze functie 1 keer aan
Zack: Check it out, all about planets this month.

Leonard: That’s an atom.

Zack: Agree to disagree. That’s what I love about science, there’s no one right answer.

Leonard: So, you and Zack again, huh?

Penny: Yeah, yeah, me and Zack again.
1
2
3
4
5
6
7
8
9

Voorbeeld:

sayBlah(); // …
1

# Hello World function

Maak een bestand function_hello.js aan in de reeds aangemaakt folder week-2.

  • Schrijf een functie genaamd sayHello dat:
    • gebruik maakt van return om de boodschap “Hello World” te retourneren
  • Roep deze functie 2 keer aan

Voorbeeld:

console.log(sayHello()); // Hello World
1

# Random number function

Maak een bestand function_random_number.js aan in de reeds aangemaakt folder week-2.

  • Schrijf een functie genaamd getRandomNumber dat:
    • gebruik maakt van return om de een random gegenereerd getal te retourneren
  • Roep deze functie 2 keer aan

# Personal Message function

Maak een bestand function_message.js aan in de reeds aangemaakt folder week-2.

  • Schrijf een functie genaamd getPersonalMessage dat:
    • 1 argument bevat: de naam van de gebruiker
    • gebruik maakt van return om de boodschap bijv. Greetings drdynscript you will be a great developer :) te retourneren
  • Roep deze functie 2 keer aan, steeds met een andere waarde voor het argument

Voorbeeld:

getPersonalMessage("drdynscript"); // Greetings drdynscript you will be a great developer :)
1

# Random number function with parameters

Maak een bestand function_random_number_with_parameters.js aan in de reeds aangemaakt folder week-2.

  • Schrijf een functie genaamd generateRandomNumber dat:
    • 1 argument bevat: ondergrens van het te genereren random getal
    • 1 argument bevat: bovengrens van het te genereren random getal
    • gebruik maakt van return om de een random gegenereerd getal te retourneren op basis van de argumenten
  • Roep deze functie 2 keer aan, steeds met een andere waarde voor de argumenten

Voorbeeld:

generateRandomNumber(20, 30); // 26
generateRandomNumber(5, 20); // 16
1
2

# Function exploration

In deze applicatie leer basis functies te omschrijven.

Maak een bestand function_exploration.js aan in de reeds aangemaakt folder week-2.

Definieer de functie checkAge() zoals:

function checkAge(age) {
  if (age > 28) {
    return true;
  } else {
    console.log("Did your parents allow you?");
  }
}
1
2
3
4
5
6
7
  • Spreek deze functie aan
  • Werkt deze functie nog als we het else statement verwijderen en de inhoud ervan na het if statement plaatsen?
  • Herschrijf de functie door if…else te vervangen door een ternary operator
  • Definieer een nieuwe functie min(a, b) die de kleinste waarde uit twee waarden teruggeeft(=retourneert). Roep deze functie een paar keer aan.
  • Definieer een nieuwe functie pow(x, n) die het getal x tot de macht n verheft en deze uitkomst retourneert. Roep deze functie een paar keer aan.

# Convert Fahrenheit to Celsius

Met deze applicatie kunnen we temperaturen uitgedrukt in Fahrenheit converteren naar temperaturen uitgedrukt in Celsius.

  • Maak een bestand fahrenheit_to_celsius.js aan in de reeds aangemaakt folder week-2.
  • Schrijf een functie genaamd convertFahrenheitToCelsius dat:
    • 1 argument bevat: de temperatuur uitgedrukt in Fahrenheit
    • converteer de temperatuur van Fahrenheit (°F) naar Celsius (°C) volgens de formule Celsius = (fahrenheit - 32) / 1.8
    • maak gebruik van return om het aantal graden Celsius te retourneren
  • schrijf de geretourneerde waarde naar de console zoals: “Temperature of 71°F equals to 21.6°C!”
  • Roep deze functie 2 keer aan, steeds met een andere waarde voor het argument

Voorbeeld resultaat

Temperature of 71°F equals to 21.6°C!
Temperature of 0°F equals to -17.8°C!

# Count unique words in a string (function)

Tel het aantal woorden in een string. Ditmaal gaan we gebruik maken van een functie om het meerdere keren te kunnen gebruiken.

  • Maak een bestand count_unique_words_in_string_function.js aan in de reeds aangemaakt folder week-2.
  • Schrijf een functie genaamd calculateUniqueAmountOfWords dat:
    • 1 argument bevat: de string waarvan we de woorden willen tellen
    • verwijder alle punctuation via mijnstring.replace(/[.,\/#!$%\^&\*;:{}=\-_~()]/g,"");, mijnstring is de naam van de variabele (kan ook een andere naam zijn)
    • de functie geeft het aantal woorden terug.
  • Roep de functie aan en log het resultaat van deze aanroep naar de console.
© 2025 Arteveldehogeschool Laatst bijgewerkt: 8/10/2024, 17:12:12