Gå til innhold

Generelle Programmeringskonsepter

Disse konseptene finnes i de fleste programmeringsspråk.

Variabler

Variabler lagrer data som kan brukes og endres i programmet.

let name = "Ola";
const age = 25;      // cannot be changed
var price = 99.50;   // old way, use let/const
name = "Ola"
age = 25
price = 99.50

Tip

Bruk beskrivende navn. userAge er bedre enn x.

Datatyper

Data kommer i ulike typer som behandles forskjellig.

Type Python JavaScript Eksempel
Tekst str string "Hello"
Heltall int number 42
Desimaltall float number 3.14
Boolsk bool boolean True/true
Liste list array [1, 2, 3]
let text = "Hello world";     // string
let integer = 42;             // number
let decimal = 3.14;           // number
let flag = true;              // boolean
let items = [1, 2, 3];        // array
text = "Hello world"      # str
integer = 42              # int
decimal = 3.14            # float
flag = True               # bool
items = [1, 2, 3]         # list

Operatorer

Aritmetiske operatorer

Brukes for matematiske beregninger.

Operator Beskrivelse Eksempel Resultat
+ Addisjon 5 + 3 8
- Subtraksjon 5 - 3 2
* Multiplikasjon 5 * 3 15
/ Divisjon 5 / 2 2.5
% Rest (modulo) 5 % 2 1
** Potens 5 ** 2 25
let result = 10 + 5 * 2;   // 20
let remainder = 17 % 5;    // 2
let power = 2 ** 8;        // 256
result = 10 + 5 * 2    # 20 (multiplication before addition)
remainder = 17 % 5     # 2
power = 2 ** 8         # 256

Sammenligningsoperatorer

Brukes for å sammenligne verdier. Returnerer True/False.

Operator Beskrivelse Eksempel
== Er lik 5 == 5 → True
!= Er ikke lik 5 != 3 → True
< Mindre enn 3 < 5 → True
> Større enn 5 > 3 → True
<= Mindre eller lik 5 <= 5 → True
>= Større eller lik 5 >= 3 → True

Logiske operatorer

Kombinerer boolske verdier.

Python JavaScript Beskrivelse
and && Begge må være sanne
or \|\| Minst én må være sann
not ! Snur verdien
let age = 20;
let hasLicense = true;

if (age >= 18 && hasLicense) {
    console.log("You can drive");
}
age = 20
hasLicense = True

if age >= 18 and hasLicense:
    print("You can drive")

Betingelser (if/else)

Utfører ulik kode basert på betingelser.

let score = 85;
let grade;

if (score >= 90) {
    grade = "A";
} else if (score >= 80) {
    grade = "B";
} else if (score >= 60) {
    grade = "C";
} else {
    grade = "F";
}

console.log(grade);  // B
score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 60:
    grade = "C"
else:
    grade = "F"

print(grade)  # B

Løkker

Gjentar kode flere ganger.

For-løkke

Brukes når du vet antall repetisjoner.

for (let i = 0; i < 5; i++) {
    console.log(i);  // 0, 1, 2, 3, 4
}

// Loop through array
let fruits = ["apple", "banana", "orange"];
for (let fruit of fruits) {
    console.log(fruit);
}
for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

# Loop through list
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
    print(fruit)

While-løkke

Gjentar så lenge betingelsen er sann.

let counter = 0;
while (counter < 5) {
    console.log(counter);
    counter++;
}
counter = 0
while counter < 5:
    print(counter)
    counter += 1

Warning

Unngå uendelige løkker - sørg for at betingelsen blir usann.

Funksjoner

Gjenbrukbar kode som utfører en spesifikk oppgave.

function greeting(name) {
    return "Hello, " + name + "!";
}

function add(a, b) {
    return a + b;
}

let message = greeting("Ola");    // "Hello, Ola!"
let total = add(5, 3);            // 8
def greeting(name):
    return "Hello, " + name + "!"

def add(a, b):
    return a + b

message = greeting("Ola")     # "Hello, Ola!"
total = add(5, 3)             # 8

Funksjoner med standardverdier

function greeting(name, greetingType = "Hello") {
    return greetingType + ", " + name + "!";
}

console.log(greeting("Ola"));             // "Hello, Ola!"
console.log(greeting("Ola", "Good day")); // "Good day, Ola!"
def greeting(name, greetingType="Hello"):
    return greetingType + ", " + name + "!"

print(greeting("Ola"))              # "Hello, Ola!"
print(greeting("Ola", "Good day"))  # "Good day, Ola!"

Input/Output

Kommunikasjon med brukeren.

Output (skrive ut)

console.log("Hello world");
console.log("The sum is:", 5 + 3);

// In browser
alert("Hello world");
print("Hello world")
print("The sum is:", 5 + 3)

Input (lese inn)

// In browser
let name = prompt("What is your name?");
let age = Number(prompt("How old are you?"));
name = input("What is your name? ")
age = int(input("How old are you? "))  # convert to number

Kommentarer

Tekst i koden som ignoreres av programmet. Brukes til forklaringer.

// Single line comment

/*
Multi-line comment
Can span multiple lines
*/
# Single line comment

"""
Multi-line comment
Can span multiple lines
"""

Tip

Gode kommentarer forklarer hvorfor, ikke hva. Koden viser hva som skjer.