Skip to content
Snippets Groups Projects
Verified Commit 478eb6bd authored by Eirik Lorgen Tanberg's avatar Eirik Lorgen Tanberg
Browse files

Legg til oppgaver for ØF4

parent 69378fc2
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# Øvingsforelesning 4 - TDT4110
### Løkker
%% Cell type:markdown id: tags:
### Oppgave 1 - Repetisjon
I denne oppgaven skal vi utvikle en funksjon som utfører konvertering fra Celsius til Fahrenheit. Deretter skal vi lage en graf som viser denne konverteringen over et temperaturområde fra -100C til 100C.
$$F = \frac{9}{5}C + 32$$
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksempel 1 - Syntaks
%% Cell type:code id: tags:
``` python
# Dette er en "tuple". Vi skal se mer på det senere
sequence = (1, 3, 5, 7, 9, 11, 13)
for number in sequence:
print(number)
```
%% Cell type:markdown id: tags:
## Eksempel 2 - `range()`
- `range(stop)`
- `range(start, stop)`
- `range(start, stop, step)`
%% Cell type:code id: tags:
``` python
for i in range(5):
print(i)
```
%% Cell type:code id: tags:
``` python
for j in range(5, 10):
print(j)
```
%% Cell type:code id: tags:
``` python
for k in range(0, 20, 2):
print(k)
```
%% Cell type:code id: tags:
``` python
for i in range(4):
print("ITGK")
print("Ferdig!")
```
%% Cell type:markdown id: tags:
## Oppgave 2
Skriv et program som printer
1. Alle tallene fra 0 til og med 10
2. Alle tallene fra 10 til og med 20 bortsett fra 14
3. Alle tallene fra 10 til og med 20 baklengs (20 -> 10)
4. Alle partall fra 50 til og med 74
**Ekstraoppgave**
Print tall mellom 0 og 1 med intervall på 0.1
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 3
Skriv et program som
1. Summerer sammen tallene fra 4 til og med 20
2. Finner produktet av tallene fra 2 til og med 10
**Hint**
Bruk en variabel som kan holde resultatet
**Ekstraoppgave**
Summer opp partall og oddetall hver for seg
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
# Oppgave 4
Lag et program som tar inn tre tall fra brukeren, og skriver ut alle tallene **mellom de to første** (første inklusiv, andre eksklusiv) som er **delelige på det tredje**
**Hint**
`a % b`
**Ekstraoppgave**
Gjør det samme, men uten å iterere gjennom alle tallene mellom de to første
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksempel - `while`-løkke
Kjører kode **inntill en betingelse ikke lenger er oppfylt**
%% Cell type:code id: tags:
``` python
i = 0
# Printer "Hello" 5 ganger
while i < 5:
print("Hello")
i += 1
```
%% Cell type:code id: tags:
``` python
i = 5
# Printer tallene fra 5 til 10
while i <= 10:
print(i)
i += 1
```
%% Cell type:code id: tags:
``` python
i = 0
while i < 4:
print("ITGK")
i += 1
print("Ferdig!")
```
%% Cell type:markdown id: tags:
## Oppgave 5
Skriv et program som gjør følgende:
1. Tar inn et tall fra bruker
2. Summerer tallene fra 1 og oppover helt til summen overstiger tallet fra bruker
3. Skriver ut et hvert regnestykke til konsollen på formen `a + b = c`
**Ekstraoppgave:**
- Topp ved det siste tallet før summen overstiger tallet fra bruker
- Gi en feilmelding dersom brukeren skriver inn et negativt tall og be om et nytt
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 6
Lag en evig `while`-løkke som
1. Tar inn tall fra brukeren
2. Skriver ut kvadratet ($x^2$) og kvadratroten av tallet
**Hint**
$x^{1/2}$ eller [math.sqrt(x)](https://docs.python.org/3/library/math.html#math.sqrt)
**Ekstraoppgave**
- Dersom brukeren skriver "avslutt" skal løkken stoppe
- Dersom brukeren skriver inn et negativt tall, ikke skriv ut kvadratroten
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 7
Lag et program som gjør følgende:
1. Tar inn et tall fra brukeren
2. Sjekker om tallet er likt et annet tall som du har bestemt på forhånd
- Dersom tallet er likt, skriver programmet ut "Du vant!"
3. Hvis tallene **ikke** er like: Si om det innskrevne tallet er større eller mindre enn det hemmelige tallet
4. Be brukeren om å skrive inn et nytt tall
**Ekstraoppgave**
- Skriv at tallet er *mye* større/mindre hvis det er mer enn 10 i differanse
- Gi brukeren 5 forsøk, og gi brukeren beskjed om hvor mange forsøk som er igjen
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 8
- Skriv en `while`-løkke som ber om et tall fra bruker hver iterasjon og summerer tallene som er skrevet inn
- Gjør at programmet avsluttes dersom `-1` skrive inn (uten å legge -1 til i summen)
- Avslutt programmet dersom summen overgår 100 (men skriv ut siste summen)
**Ekstraoppgave**
La brukeren bestemme tallet programmet skal avsluttes når summen overgår
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksempel - tilfeldige tall
Dokumentasjon om [random#randrange](https://docs.python.org/3/library/random.html#random.randrange) og [random#randint](https://docs.python.org/3/library/random.html#random.randint)
%% Cell type:code id: tags:
``` python
import random
# Printer et tilfeldig tall mellom 1 og 10
rand_num_1 = random.randint(1, 10)
# Printer et tilfeldig tall mellom 1 og 9
rand_num_2 = random.randrange(1, 10)
print(rand_num_1, rand_num_2)
```
%% Cell type:markdown id: tags:
## Oppgave 9
- Lag et program som printer et antall tilfeldige tall mellom to tall brukeren skriver inn. Antallet skal også være gitt av brukeren.
**Hint**
```python
import random
random.randint(1, 10)
```
**Ekstraoppgave**
- Modifiser programmet til å printe ut hvor mange oddetall som ble laget til slutt
- Skriv ut gjennomsnittet av alle tallene
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 10
Du skal ha Multiple Choice eksamen med 10 spørsmål, og lurer på om du klarer å gjette deg til å stå!
- Lag et program som *10 ganger* gir deg sjansen til å gjette på et tall mellom 1 - 4 og lagrer det riktig svaret som en variabel med tilfeldig verdi før man gjetter
- Etter løkken, skriv ut hvor mange prosent riktig du hadde
**Hint**
```python
import random
random.randint(1, 10)
```
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 11
Lag et program som
1. Tar inn et heltall `max_rand_int` fra brukeren
2. Tar inn et heltall `target` fra brukeren
3. Genererer tilfeldige tall mellom 0 og `max_rand_int` helt til det genererer `target`
4. Printer hvert genererte tall
**Ekstraoppgave**
Utvid programmet til å til slutt printe hvor mange forsøk det trengte for å lage `target`
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment