Information om denne video
Underviser: Jeppe Borggaard Jørgensen Video: 18:34 Lektion nr. 6 af 21
Vi skal i denne videolektion se på, hvordan vi kan arbejde lidt mere avanceret med vores conditionals. Vi skal se, hvordan aritmetiske operationer kan indgå i disse conditionals, samt hvordan vi kan udvide dem med “and” eller “or” begreberne. Der vil også være en del repetition, og vi samler nogle af de emner vi selvstændig har beskæftiget os med indtil nu.
Derfor er denne video en god opsamling, så hvis der er emner du føler du ikke har helt styr på i takt med de nævnes og anvendes i denne video, kan det anbefales, at du går tilbage og ser det emne igen (fx. hvis du er lidt i tvivl om grundlæggende brug af conditionals).
Øvelser
Øvelse 1
Lav et nyt program med 2 variabler (x og y).
Dit program skal kunne gøre rede for, hvilken variable der er størst, og komme med passende udskrift (f.eks. x er større end y).
Test følgende værdier:
x = 1 og y = 3
x = 10 og y =-5
x = 1 og y = 1
Øvelse 2
Lav et nyt program, der kan teste om et tal er lige. Lav en variabel X, og giv den forskellige værdier. Programmet skal så enten kommen med en udskrift der siger “X er et ulige tal” eller “X er et lige tal”.
*hint – Der er en bestemt operator, der kan bruges til dette.
Øvelse 3
Lav et program med 3 variabler (x, y og z).
Som i øvelse 1 skal du udskrive den højeste variabel.
*hint – brug &&
hej Jeppe,
Jeg kan ikke få opgave 2 til at fungere – jeg ved ikke hvad jeg skal bruge for at indikere at der er tale om et lige tal…% var jo blot til at vise om der var en rest, integer viser blot at der er tale om heltal…så har, som Rasmus F, brug for lidt hjælp til at finde løsningen.
Men kunne du ikke overveje at lægge mulighed for resultater for hver øvelse op s man kan få hjælp, hvis man kører helt fast?
Jeg genså lektion 5 med % og blev klogere på at resultatet skal være 0 for at være et lige tal :)
Hej Stine,
fedt du fik det løst! Det er nemlig helt rigtigt. Modulus-operatoren % viser nemlig hvor meget der er tilovers efter en division, og hvis det er 0 betyder det at det “gik lige op” og derfor et lige tal ;)
Godt set ;)
Hej Jeppe.
Opgave 1 og 3 gik som smurt, men for dælen hvor er jeg udfordret ved opgave 2. Min bedste løsning lige pt. er:
import Cocoa
var x = 100
if x == 100 {
print(“Den er lige”)
} else{
print(“Den er ulige”)
}
Her fortæller den mig kun at hvis tallet er 100 er det lige, og alt andet er ulige.. Jeg kan simpelthen ikke greje den. Jeg søger ikke en løsning, jeg søger mere lidt hjælp så jeg selv kan finde løsningen :D
Hej Jeppe
Hvordan laver man de to lodrette streger som symboliserer “eller” “ll”?
Mvh lasse
Hej Lasse,
Følgende artikel forklarer hvordan du løser det med forskellige lokaliseringer af mac-keyboards, så der kan du finde svaret. Sidder ikke lige ved min mac nu så kan ikke teste det ^^ men artiklen beskriver det. Ellers lad mig høre hvis det fortsat giver problemer så kan jeg lige tjekke selv når jeg kommer hjem til min Mac:
https://discussions.apple.com/thread/1875126
Hej Jeppe
Tak for svar, selv om det ikke var et brugbart svar for dansk tastatur og jeg fandt løsningen ved et at spørge i jeres forum.
https://www.nemprogrammering.dk/forum/viewtopic.php?f=10&t=1978&e=1&view=unread#unread
Hej Jeppe sidder og leger med øvelse 2, men syntes ikke jeg kan få den til at fungere.
Har prøvet det her
var x: Int = 10
if x % 100{
print(“Den er lige”);
} else{
print(“Den er ulige”);
}
Men den kommer med denne fejl:
Playground execution failed: /var/folders/6c/3bx8wvz93l56ttdm_353z4800000gp/T/./lldb/1228/playground1625.swift:5:6: error: type ‘Int’ does not conform to protocol ‘BooleanType’
if x % 100{
Har fundet ud af det =)
hej mikkel,
Glad for det løste sig :)