Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagepython
def sum_even_numbers_until(number):
	result = 0
	numbers = range(0,number)
	for number in numbers:
		if number % 2 == 0:
			result += number
	return result
# i)1. Hva gjør koden over?
# ii)2. Hva skjer om vi kjører koden:
print sum_even_numbers_until(10)
def a(n,f,l):
	b = 0
	for i in range(0,n):
		if(i % f == 0 or i % l == 0):
		b += i
	return b
# i)3. Hva gjør denne metoden?
# ii)4. Hva gjør denne koden vanskeligere å forstå enn den øverste?
# iii)5. Hva skjer om vi kjører koden
print a(10,3,5)

...

c) Dere skal nå teste programmet deres. Skriv kode for å lese inn (hint, se forrige øving eller spør undass.) En fil dere kan teste på finnes her: Tabell.txt

Oppgave 3 - Formasjonsteknologi grunnkurs (filhåndtering)

Flygeskolen skal avholde sin årlige eksamen i Formasjonsteknologi grunnkurs. I denne sammenheng er det viktig for de fagansvarlige – stuntlektor Due og professor Kråke – å melde inn hvilke studenter som skal få ta eksamen. I år har deler av øvingsopplegget vært obligatorisk.
Det er totalt 12 øvinger i faget. Følgende regler gjelder for å få godkjent øvingsopplegg:

  1. minst 5 av de 6 første øvingene må være godkjent (øvingene 1-6)
  2. minst 4 av de 6 siste øvingene må være godkjent (øvingene 7-12)
  3. minst én av øving 11 og 12 må være godkjent.

a) Skriv en funksjon, godkjent, som tar inn som parameter en tabell med 12 tall, der hvert tall er 1 eller 0. 1 betyr godkjent og 0 betyr ikke godkjent. 

Code Block
languagepython
[1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0]

Listen over viser altså en student som har fått øvingene 1, 4, 5, 7, 8, 9 og 11 godkjent. Dette er ikke tilstrekkelig for å få ta eksamen. Funksjonen du skriver skal returnere True hvis øvingsopplegget er godkjent og False hvis ikke, etter reglene beskrevet ovenfor.

 b) Skriv et lite program som tar inn en fil bestående av tusen slike kandidater. Programmet skal returnere hvor mange av kandidatene som får ta eksamen.

Framgangsmåte:

...

Code Block
languagepython
import random
lines = 1000
ovinger = 12
f = open (" testdata .txt", "w")
for i in range (0, lines ):
	s = ''
	for j in range (0, ovinger ):
		s += str. format ('{0} ', random . randint (0,1))
	f. writelines (s +'\n')
f. close ()

...

.txt

...