Øvingsforelesning i Python (TDT4110)

Like dokumenter
Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Matlab (TDT4105)

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning 1 Python (TDT4110)

Øvingsforelesning i Matlab (TDT4105)

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Øvingsforelesning 7 i Python (TDT4110)

TDT4127 Programmering og Numerikk

TDT4110 Informasjonsteknologi, grunnkurs

Øvingsforelesning 3 Python (TDT4110)

Øvingsforelesning i Matlab (TDT4105)

Velkommen til. IN1010 Objektorientert programmering Våren 2018

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

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

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

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs

Læringsmål og pensum. v=nkiu9yen5nc

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 2 Python: Bruk av funksjoner, variabler og input/output. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

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

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

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

Velkommen til. INF våren 2017

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110)

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

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Øvingsforelesning 6 i Python (TDT4110)

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

IN1010 Objektorientert programmering Våren 2019

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

Øvingsforelesning 9 i Python (TDT4110)

IN uke 1. Komme i gang med programmering

INF109 (kun et utvalg av kommentarene er med i denne rapporten)

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2014

Kort om kursene IN1900, MAT-IN1105, IN-KJM1900

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

TDT4110 IT Grunnkurs Høst 2016

Kort om kursene INF1100 og MAT-INF1100L

Steg 1: Regneoperasjoner på en klokke

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

INF109 - Uke 1b

Oppgaver uke 1: Løsningsforslag

YouTube-kanal ITGK. Læringsmål og pensum

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

Programmering (DAPE/ITPE 1400) Høgskolen i Oslo og Akershus Høst 2017 Henrik Lieng

TDT4110 Informasjonsteknologi grunnkurs: Uke 48 Oppsummering/Spørretime. Professor Alf Inge Wang

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

INF uke 2. Inputt, beslutninger, kontrollflyt og prosedyrer

Hver ting i en liste kalles et element. En liste lages ved å skrive elementer inni [], med, mellom elementene:

INF109 - Uke 1a

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Progress isn t made by early risers. Progress is made by lazy men looking for easier ways to do something. Robert A. Heinlein

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

TDT4105 IT Grunnkurs Høst 2016

PGZ - Hangman Ekspert Python Lærerveiledning

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Opphavsrett: Forfatter og Stiftelsen TISIP

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

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

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

Python: Variable og beregninger, innlesing fra tastatur utskrift til skjerm. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Kom i gang med Python

Sprettende ball Introduksjon Processing PDF

NB: Vi trenger alle sitteplassene, så ikke la setene stå tomme i mellom dere! Fyll opp forfra, fra midten, er dere snill

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

MAT1030 Plenumsregning 1

MAT-INF 1100: Obligatorisk oppgave 1

Kapittel august Institutt for geofag Universitetet i Oslo. GEO En Introduksjon til MatLab. Kapittel 2.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

Øvingsforelesning i Matlab TDT4105

Et lite oppdrag i bakgrunnen

Velkommen til IT1101 Informatikk basisfag. Faglærer og forelesninger. Lærebok. Øvinger. IT1101 Fagstab. Fagets hjemmeside

Innleveringsoppgave 1

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.

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

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

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

Kodetime for Nordstrand barneskole

MAT1030 Diskret Matematikk

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

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

NB: Vi trenger alle sitteplassene, så ikke la setene stå tomme i mellom dere! Fyll opp forfra, fra midten, er dere snill

Transkript:

Øvingsforelesning i Python (TDT4110) Tema: Introduksjon, Kalkulasjoner Vegard Hellem

Velkommen! Litt om meg Vegard Hellem, 4. klasse datateknologi Øvingsforeleser i TDT4110 vegahel@stud.ntnu.no 2

Oversikt Praktisk informasjon Om øvingsforelesninger Programmering 3

Kahoot Oppvarming! kahoot.it https://play.kahoot.it/#/k/6843a3e4-2e61-41a3-9117-e1ed589e83d3 4

Øvingsopplegget Alle bør ha registrert seg for en gruppe på blackboard Møt opp på en av studassens tider for å få godkjent Fristen for godkjenning er en uke etter innlevering av øvingen på blackboard. Øvingene ligger på blackboard, linker videre til wiki 8 av 10 øvinger må bli godkjent, inkludert minst en auditorieøving 5

Øvingsopplegget Tilgjengelige datamaskiner med Python på datasal Kan også løses på egen datamaskin Spør orakeltjenesten om installasjon dersom du har problemer Øvingene må leveres på blackboard, og godkjennes innen en uke etter fristen Studass vil gi dere veiledning Piazza kan også brukes til spørsmål Kollokvier blir opprettet dersom noen trenger hjelp 6

7 Datasaler

Oversikt Praktisk informasjon Om øvingsforelesninger Programmering 8

Tidspunkt Øvingsforeleseninger i Python Mandag 16:15-18:00 i R1 Torsdag 16.15 18.00 i R7 (Torsdag 14.15-16.00 i R7) Ser om det er mulig å endre det til to forelesninger All info finnes på blackboard itgk.idi.ntnu.no 9

Timing Teori iskal forhåpentligvis ntruduseres i forelesninger før det blir tatt opp her. Hovedsaklig repetisjon og trening fra forrige ukes programmeringsforelesninger (fredag onsdag par) Gi beskjed dersom det blir for liten tid mellom øvingsforelesning og innleveringsfrist 10

Målgrupper for øvingsforelesninger De som ikke synes det er kjempelett. Vi prøver å unngå dypdykk utenfor pensum Dersom noen trenger mer tid på noe grunnleggende, blir dette prioritert over nytt stoff. Vanskeligere spørsmål mottas men det er mulig de blir besvart etter timen eller i pausen 11

Innhold i øvingsforelesningene Gå gjennom løsning på forrige øving Avhengig av deres ønsker Gå gjennom oppgaver som ligner på de gitt i neste øving. Lite teori Fokus på programmering Ta med egen PC! 12

Tanken bak innholdet Teori kan man lese i boka Programmering må man øve på Men øvelse gjør mester! Alle kan lære dette Dersom gjennomgang av teori er ønsket kan vi gjøre dette også Kom gjerne med innspill Timene er til for deres hjelp 13

Øvelse! Kan ikke sies for ofte, jo mer du prøver jo mer lærer du. Det fine med Python er at det er veldig lett å prøve! Det verste som kan skje er at programmet ikke fungerer. 14

15

Studentassistenter (aka. studass) Studass er ikke bare på sal for å godkjenne Planlegg gjerne å jobbe med øvingen på sal til saltider Kanskje kan du legge all ITGK-jobbing til saltider? Alle studassene kan hjelpe deg underveis, må ikke kun gå til din egen. Det er mer travelt de siste timene Bør være klar for innlevering på dette tidspunktet 16

Mentalitet Programmering handler om problemløsning Vi løser oppgaver vha programmering

Oversikt Praktisk informasjon Om øvingsforelesninger Programmering 18

Python syntaks Syntaks er læren om hvordan ord settes sammen til større enheter Man må vite hvilke verktøy som finnes når en skal løse et problem Mer og mer vil bli intrudusert i programmeringsforelesninger 19

Operatorer + - * / > < % // ** 2 * 4 = 8 9+7-4/2 = 14 ( 9+7- (4/2) = 14) 2*6/4 = 3 2^8 eller (2 8 ) eller 2**8= 256 20

Presedens Hvilken rekkefølge utføres operatorer i? Hva regnes ut først? 4+3*2 =? (4+3)*2 =? 4-6/3-2 =? (4-6)/(3-2) =? 4*(2/4) =? 21

Presedens Hvilken rekkefølge utføres operatorer i? Hva regnes ut først? 4+3*2 = 10 (4+3)*2 = 14 4-6/3-2 = 0 (4-6)/(3-2) = -2 4*(2/4) = 2 Paranteser regnes alltid først! 22

Oppgaver! (endelig) Start opp Python (IDLE) Hva tilsvarer 80 grader Celcius i Farenheit? F = 9/5 * Celcius + 32 23

Oppgave Hva blir 7! / (5!-3)? (7! = 7*6*5*4*3*2*1) 24

Oppgave Er 1.000.000.000 Et større tall en 2 30 (2 30 kan skrives: 2**30, i Python) 25

Negasjon Regn ut: 1. 4 * -2 (2 + -5) 2. -2 - -2 2 3. 5 2 (-1 * -1) 4. -(1*1*2*3*5*-8) 26

Negasjon Regn ut: 1. 4 * -2 (2 + -5) = -5 2. -2 - -2 2 = -2 3. 5 2 (-1 * -1) = 3 4. -(1*1*2*3*5*-8) = 240 27

Kahoot! Mattequiz kahoot.it https://play.kahoot.it/#/k/ef130b92-6421-4d79-b74d-603cdf9b0e97 28

Innebygde funksjoner round() abs() min() input() print() Mer om funksjoner senere i pensum 29

Variabler En variabel er en navngitt plass i minnet, hvor man kan lagre en verdi. Navn på tall og tekst. Kan slå opp verdien ved å skrive navnet Kan siden endre oppslaget 30

Løs oppgaver mha en variabel Areal av sylinder Formel: 2πrh + 2πr 2 Lagre en variabel «pi» som 3.14 Oppgave: regn ut areal for en sylinder med 1. radius = 3, høyde = 7 31

Litt mer variabler Oppgave: regn ut areal for sylindrene med 1. radius = 3, høyde = 7 2. radius = 1, høyde = 8 3. radius = 3, høyde = 2 Lag to variabler til, «r» og «h» Finn svarene med 2 * pi * r * h + 2 * pi * r * r 32

Til neste gang Last gjerne ned PyCharm! Kommer til å programmeres I dette! 33

Oversikt Praktisk informasjon Gjennomgang Oppgaver for Øving 1 34

Praktisk Bruke andre studasser Bytte studass gruppe Piazza 35

Oversikt Praktisk informasjon Gjennomgang Oppgaver for Øving 1 36

Gjennomgang av forrige øving Kommer neste forelesning 37

Oversikt Praktisk informasjon Om øvingsforelesninger Oppgaver for Øving 1 38

PyCharm Editor https://www.jetbrains.com/pycharm/ Mer stabilt på MAC enn IDLE Mer oversiktelig når en blir kjent til det 39

Setup av PyCharm Lag et nytt prosjekt og gi det et navn, f.ek «øvingsforelesning1» Lag så en ny python fil og begynn å programmer Skriv et program som printer «æ ø å Æ Ø Å» 40

Setup av PyCharm Dersom programmet krasjer må du endre noe Gå til file->settings->editor->file encodings Sett IDE og PROJECT ENCODING til UTF-8 Prøv å kjør programmet igjen Dersom du får feil igjen, start programmet med (øverst) # -*- coding: utf-8 -*- Dersom det fortsatt ikke fungerer må du unngå norske bokstaver 41

Oppgave 1 Lag et program som printer til konsoll: Jeg har laget dette programmet! (bruk print() ) (husk, eller rundt tekst) 42

Print med variabel Endre programmet, lagre navnet ditt i en variabel før det printes Print til konsoll, "Den som har laget dette er (ditt navn)", vha en variable hint: print( tekst her,variabelnavn) 43

Variabel typer Opprett fire variabler, en streng, en integer, en float, en boolean, og print alle 44

Kommentarer Skriv en kommentar i programmet ditt Kommenter ut en hel seksjon i programmet ditt Hint: Bruk 45

Input Gjør at programmet ditt spør hvem som har laget det Lagre inputtet i en variabel Print så: «variabelnavn» har laget dette programmet 46

Mer input Lag et program som spør etter to tall, multipliserer tallene og printer: tall1 * tall2 = resultat 47

Oppgave 2 Lag et program som regner ut og overflaten til en sylinder med r=4 og h=7 og printer det (2*pi*r*h + 2*pi*r**2) 48

Oppgave 2 Utvid programmet til å hente inn r og h via input, r og h skal være av typen float Print så resultatet 49

Innebygde funksjoner Skriv et program som spør om to tall og printer absoluttverdien av differansen Hint: Bruk den innebygde funksjonen abs() 50

Importering av moduler Skriv et program som printer Pi med ti desimaler Hint: import math, math.pi, round() 51

Spørsmål? Send meg evt. spørsmål og tilbakemelding (relatert til øvingsforelesningene) på vegahel@stud.ntnu.no 52