TDT4110 IT Grunnkurs Høst 2016

Like dokumenter
TDT4110 IT Grunnkurs Høst 2016

TDT4105 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2014

TDT4110 IT Grunnkurs Høst 2012

Øvingsforelesning 1 Python (TDT4110)

TDT4110 IT Grunnkurs Høst 2017

Oppgaver uke 1: Løsningsforslag

TDT4110 IT Grunnkurs Høst 2016

Læringsmål og pensum. if (be): else (not_to_be):

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

Øvingsforelesning 5 Python (TDT4110)

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

Øvingsforelesning 5 Python (TDT4110)

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

TDT4110 IT Grunnkurs Høst 2015

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

MAT1030 Diskret Matematikk

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Hvordan løse problemer med programmering?

Læringsmål og pensum. Intro løkker. Mål Lære om begrepet løkker Lære om bruk av while-løkke Lære om bruk av for-løkke Pensum. Kapittel 4.

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Oppsummering fra sist

Finne ut om en løsning er helt riktig og korrigere ved behov

Læringsmål og pensum. Oversikt

EKSAMEN I EMNET INF100/INF100-F Grunnkurs i programmering (Programmering 1) Fredag 16. desember 2005 Tid: 09:00 14:00

Finne ut om en løsning er helt riktig og korrigere ved behov

Programmering Høst 2017

MAT1030 Plenumsregning 1

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

MAT1030 Plenumsregning 3

Øvingsforelesning i Python (TDT4110)

Mattespill Nybegynner Python PDF

Prøveeksamen IN1000. IN Prøveeksamen. Dato november 2017 Tid 12:30-12:00 Alle trykte og skrevne hjelpemidler er tillatt.

INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Øvingsforelesning 3 Python (TDT4110)

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Informasjon Prøveeksamen i IN1000 høsten 2018

INF uke 2. Inputt, beslutninger, kontrollflyt og prosedyrer

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

TDT4105 Informasjonsteknologi grunnkurs: Uke 42 Strenger og strenghåndtering

TDT4102 Prosedyreog objektorientert programmering Vår 2016

MAT1030 Diskret matematikk

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

Informasjon Eksamen i IN1000 høsten 2017

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

Med løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.

Løse reelle problemer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

IN uke 2. Presis forståelse av programmering

Repetisjon Novice Videregående Python PDF

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

TDT4105 IT Grunnkurs Høst 2017

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

Høst Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Notat 2, ST januar 2005

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap

Øvingsforelesning i Python (TDT4110)

Eksamensoppgaver 2014

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 2. Iver Dihle Skjervum Vit.ass. ITGK

Norsk informatikkolympiade runde

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

Del 1 En oversikt over C-programmering

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Norsk informatikkolympiade runde

Utførelse av programmer, metoder og synlighet av variabler i JSP

Kapittel 9: Følge Instruksjoner Prinsipper for Datamaskinens Virkemåte

Designe et program. TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output. Mål.

Objektorientert programmering i Python

Forkurs i informatikk Python. Andreas Færøvig Olsen

UNIVERSITETET I OSLO

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

Hangman. Level. Introduksjon

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Læringsmål og pensum. v=nkiu9yen5nc

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

Øvingsforelesning 7 i Python (TDT4110)

TDT4110 Informasjonsteknologi grunnkurs: Tema: Enkle funksjoner. - 3rd edition: Kapittel Professor Alf Inge Wang

TDT4105 IT Grunnkurs Høst 2014

Kodetime for Nordstrand barneskole

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

Læringsmål og pensum. Designe et program

Transkript:

TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følgende informasjon i blokkbokstaver Navn: Brukernavn: Linje: Godkjent av: Side 1 av 11

1 Teori 1. Hvilket tall kan IKKE lagres presist i en datamaskin? a) 10 9 b) π c) 1 /2 d) 5 2. Et bilde er lagret med 8-bit pr. pixel. Hvor mange forskjellige farger (eller gråtoner) kan man da velge mellom i hver pixel? a) 64 b) 1024 c) 8 d) 256 3. Hvilken komponent i en stasjonær datamaskin mister data om strømmen forsvinner? a) Harddisk b) Ram c) SSD d) Strømforsyning 4. Hva er det binære tallet 0101 i titallssystemet? a) 1 b) 2 c) 26 d) 5 5. Hva gjør ALU i hente- og utføre-kretsløpet? a) Henter instruksjonen (IF) b) Dekoder instruksjonen (ID) c) Henter data (DF) d) Utfører instruksjonen (EX) e) Returnerer resultatet (RR) 6. Hva menes med "flyt" i flyttall? a) Det er bare et navn b) Spesielt store tall kan representeres c) Kommaet skifter plass etter størrelsen til eksponenten d) Tall med uendelig mange desimaler kan representeres nøyaktig Deloppgave 1 2 3 4 5 6 Svar Side 2 av 11

2 Variabler, verdier og IO a) Skriv kode for å tilordne strengen "Hei" til en variabel i Python: b) Hva skrives ut når Kodesnutt 1 kjøres? Kodesnutt 1 a = 1 b = 4 if b < 4* a: print (a+b) else : print (b) c) Skriv en kodelinje som tar inn input fra brukeren: d) Hvilken variabeltype (string/integer/float/boolean) ville du brukt i tilordning av følgende personlig informasjon: 1. Navn 2. Alder 3. Høyde i meter 4. Telefonnummer 5. Gift (ja/nei) Side 3 av 11

3 Betingelser og bruk av logiske uttrykk a) Skriv et program som tar inn et fornavn (string) fra bruker. Hvis fornavnet er Kristian, skal programmet printe "Hei, Kristian!". For alle andre navn, skal programmet printe "Hallo!". b) Bjørn skal på shopping. Han har x kroner til disposisjon (x skrives inn fra bruker). La en vilkårlig genser ha prisen y (skrives inn fra bruker). Lag et program som gir Bjørn beskjed om han kan kjøpe genseren eller ikke. Eksempel på kjøring (tall er input fra bruker): Hvor mye penger har du? 300 Hvor mye koster genseren? 279 Du har r à d til genseren. Hvor mye penger har du? 250 Hvor mye koster genseren? 279 Du har ikke r à d til genseren. Side 4 av 11

c) Bjørn vil bare kjøpe genseren hvis den har høy hals. Dette er lagret i den boolske variabelen harhoyhals. Lag et nytt program som gir Bjørn beskjed om å kjøpe genseren hvis han har råd, OG genseren har høy hals. Hvis ikke begge kravene er oppfylt, skal Bjørn få beskjed om å lete videre i neste butikk. Eksempel på kjøring (tall er input fra bruker): # harhoyhals = false Hvor mye penger har du? 250 Hvor mye koster genseren? 279 Let videre i neste butikk. # harhoyhals = true Hvor mye penger har du? 250 Hvor mye koster genseren? 279 Kjoep genseren! d) Hva skrives ut når Kodesnutt 2 kjøres? Kodesnutt 2 a = True b = False if not (( a and not b) or ( a or b)): print (" Tomat ") else : print (" Potet ) Side 5 av 11

4 Løkker a) Skriv et program som skriver ut alle tall fra 0 til og med 102 som er delelig på 3. Husk at modulo-operasjonen % angir resten ved divisjon, f.eks. er 5%2 = 1. b) Skriv et program som tar inn to heltall x og y fra bruker, og skriver ut antall tall i intervallet [x, y] som er delelig på 3. Eksempel på kjøring (tall etter kolon er input fra bruker): Skriv inn x: 8 Skriv inn y: 27 7 tall i intervallet er delelige p à 3. Side 6 av 11

c) Skriv et program som kontinuerlig tar inn tall fra bruker. Når summen av tallene har oversteget 50, skal programmet avsluttes. Eksempel på kjøring (tall etter kolon er input fra bruker): Skriv et tall : 14 Skriv et tall : 23 Skriv et tall : 32 Summen er over 50. d) Utvid programmet i a) slik at det avslutter når det har funnet de 10 første tallene som er delelig på 3, eller summen av tallene er større enn 120. Deretter skrives det ut hva summen ble. Side 7 av 11

5 Kodeforståelse og funksjoner I alle de påfølgende oppgavene bruker vi følgende variable: A = 10 B = 5 a) Hva printer Kodesnutt 3? Kodesnutt 3 def oppgavea (A,B): return A print ( oppgavea (A,B)) b) Hva printer Kodesnutt 4? Kodesnutt 4 def oppgaveb (B,A): return B print ( oppgaveb (A,B)) c) Hva printer Kodesnutt 5? Kodesnutt 5 def oppgavec (C,D): return D print ( oppgavec (D=A,C=B) Side 8 av 11

d) Hva printer Kodesnutt 6? Kodesnutt 6 G = 2 def oppgaved (): G = 5 oppgaved () print (G) e) Hva printer Kodesnutt 7? Kodesnutt 7 G = 2 def oppgavee (): G = 5 return G print ( oppgavee ()) Side 9 av 11

6 Pascals trekant og n! (Vanskelig) I denne oppgaven skal vi printe ut tallmønsteret i Pascals trekant på skjermen. I de første deloppgavene kommer vi til å introdusere noen konsepter og funksjoner til å hjelpe oss på veien. n fakultet, eller n!, er definert som med spesialtilfellet 0! = 1. n! = 1 2... (n 1) n a) Lag funksjonen factorial_loop(n), som bruker en for-løkke til å regne ut n! og returnerer svaret. b) "Av n, velg k", ( n k) er definert som n! ( k! (n k)! ) Lag en funksjon nchoosek(n, k) som returnerer (n k) for inputparametrene n og k. Bruk en av funksjonen vi har nevnt over. Du trenger ikke å ha klart oppgave a) for å gjøre denne oppgaven. Side 10 av 11

c) De første radene i Pascals trekant er: 1 1 1 1 2 1 1 3 3 1... Det viser seg at tallene i trekanten er definert ved nchoosek slik: (0 0) (1 0) (1 1) (2 0) (2 1) (2 2)... Lag en funksjon Pascal( n ) som tar inn heltallet n og printer ut de n første radene i Pascals trekant. F. eks. skal Pascal(4) printe ut den første trekanten i denne deloppgaven. Tips: For å printe ut et tall og et mellomrom bak uten å starte en ny linje, kan du bruke print( tall, end= ) Side 11 av 11