TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Like dokumenter
Læringsmål og pensum. v=nkiu9yen5nc

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

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

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

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

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,

Øvingsforelesning i Python (TDT4110)

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

Oppgaver uke 1: Løsningsforslag

Alternativ dag for teoriforelesning. Intro. Torsdag 12:15-14:00 R1

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

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

TDT4110 Informasjonsteknologi, grunnkurs

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 1 Python (TDT4110)

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

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Forelesningsinfo. Tider Mandag Tirsdag Onsdag Torsdag Fredag

TDT4110 IT Grunnkurs Høst 2016

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

INF1000 undervisningen INF 1000 høsten 2011 Uke september

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

Kom i gang med Python

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

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

Øvingsforelesning i Python (TDT4110)

Øvingsforelesning i Python (TDT4110)

TDT4110 IT Grunnkurs Høst 2016

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

INF109 - Uke 1a

Øvingsforelesning i Python (TDT4110)

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

TMA4100 Matematikk 1, høst 2013

Et lite oppdrag i bakgrunnen

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

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

Python: Filer og unntak Gaddis: Kapittel 6

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

Excited. Hvordan komme i gang med tekstbasert programmering? Centre for Excellent IT Education. Guttorm Sindre

Ny på nett. Operativsystemer

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Python: Løkker. 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 IT Grunnkurs Høst 2014

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

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Øvingsforelesning i Matlab (TDT4105)

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

TDT4127 Programmering og Numerikk

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

IN uke 1. Komme i gang 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.

Repetisjon Novice Videregående Python PDF

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

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

TDT4110 Informasjonsteknologi grunnkurs: Tema: Dictionaries og mengder (sets) - Kapittel 9. Professor Alf Inge Wang

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

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

Oppsummering fra sist

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

Shellscripting I. Innhold

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

Python: Oppslagslister (dictionaries) og mengder 3. utgave: Kapittel 9

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

Operativsystemer og grensesnitt

MENGDER (SETS) Læringsmål og pensum. Kapittel 9.2

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

TDT4105 Informasjonsteknologi, grunnkurs. Matlab 5: Løkker (FOR og WHILE) Matlab 6: Problemløsning / Algoritmer

1. Programmering: Hva og hvorfor? Scratch fra scratch Enkel programmering for nybegynnere

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

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

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å.

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?

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

ITGK - H2010, Matlab. Repetisjon

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Logica AS. Tlf: Brukerdokumentasjon LogicalPrint InnsIKT 2.0 Versjon Godkjennelse. Forfatter: Logica. Date.

Hei verden Introduksjon Swift PDF

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2008

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Steg 0: Installere Pygame Zero

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 v2009

IN uke 1. Komme i gang med programmering

Transkript:

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap

Læringsmål og pensum Mål Vite hva et program er Ha kjennskap til hvordan programmer designes Kunne bruke Python programmeringsomgivelse, skript, prompt, variabler Pensum for dagens forelesning Starting out with Python, chapter 1, 2.1, 2.7 2

Hva er et program? Program: en oppskrift instruksjoner som forteller en datamaskin hva den skal gjøre Et program kan bestå av instruksjoner som: Oppretter (deklarerer) og gir verdier til (tilordner) variable Evaluerer og regner på variable Gjør valg basert på betingelser Repeterer samme handling mange ganger Utfører ulike operasjoner f.eks. viser grafikk, spiller av lyd tar imot data fra brukeren tar imot data fra sensorer Før en datamaskin kan gjøre et program, må det oversettes til maskinkode 3

Hva er et program? Skriv program Skriv summen av 123 + 321 på skjermen x = 123 y = 321 sum = x + y print(sum) Oversetter Python 010010101010101010 101010100111101010 101010101010101010 101010101000101010 101010101011010101 010101011010 Maskin kode 4

Hva er programmering? Programmering == problemløsning Arbeidsprosessen man gjennomgår når man skriver et program Forstå problemet Hva slags resultat trenger brukeren? (output) Hva slags data har vi tilgjengelig i utgangspunktet? Hvordan kan vi komme fra input til output? Finne en løsning, uttrykke den i Python Noen problemer kan ha mange mulige løsninger som alle virker Noen løsninger kan likevel være bedre enn andre bruker kortere tid eller mindre strøm kortere / enklere å skrive, eller enklere å forstå Mer fleksible for fremtidige endringer Mindre sårbare for hacking 5

Installering av Python Python kan lastes ned fra www.python.org/download Velg versjon 3.5.2 av Python og riktig operativsystem (Windows, Mac OS X eller Linux) Gjør en standard installasjon Start Python ved å klikke på IDLE i Python katalogen Windows fra Start-menyen Mac fra Application/Programmer Kan også kjøre Python fra et unix/dos-skall ved å skrive kommandoen python Sjekk at du kjører Python 3.5, ikke Python 2.7! 6

Programmering i Python To måter å programmere på Interaktiv modus: Skriv en og en instruks i en tolker i Python-programmet Egnet til kjapp utprøving av nye ting Uegnet ellers siden man må skrive koden om igjen Lagre programmer på fil Skriv tekstfil med Python-kommandoer Bruk Python-editoren (f.eks IDLE) til å oversette ditt program til maskinkode kjøre programmet ditt Egnet til større programmer, nyttige programmer Kjapp utprøving blir litt mindre kjapp 7

Interaktiv modus Startes ved å åpne IDLE eller starte python Programmeringen foregår i et såkalt shell (skall) Skriv inn en programlinje og få direkte respons >>> viser hvor du kan skrive kommandoer Får ut resultat av beregning hvis det gikk bra feilmelding hvis du har skrevet noe feil 8

Aritmetiske uttrykk i Python Forskjeller fra matematisk notasjon Desimalpunktum: 5.82 (ikke 5,82) De fire regneartene : + - * / (ikke : ) * må alltid skrives 5*a + 4*b + a*b (ikke 5a + 4b + ab) Heltallsdivisjon //, rest (modulo) % Eksponentiering (potens): **, eks 5 4 angis 5**4 Som i matte: parenteser gir rekkefølge på utregning Hvis vi ønsker annen rekkefølge enn normal presedens Men kun () parenteser, ikke {.[ ( )( )]} Kan trenge mer parenteser enn i matte F.eks. hvor matematisk uttrykk har brøkstreker, potenser, rottegn TDT4105 IT Grunnkurs 9

Tilordning og variable i Python Forskjell fra matematiske likninger og regneark I matte kan symboler brukes helt abstrakt F.eks. (a+b) 2 = a 2 + 2ab + b 2 Ikke i Python, variable må ha en definert verdi før de brukes Variabel: Huske en verdi til senere bruk = i Python betyr ikke matematisk likhet men tilordning Det er en ordre (imperativ setning): Gi variabelen på venstre side verdien av uttrykket på høyre side Matematisk likning er derimot en påstand (fortellende setning) = i Python ligner mer på = i regneark Men Python utføres linje for linje, ikke en permanent relasjon Likhet i Python testes med == Men dette er også en ordre: Sjekk om venstre side er lik høyre side, ikke en påstand om at det nødvendigvis er tilfelle 10

Lage Python programmer Skrive et program i en teksteditor Men ikke Word e.l., bruk en editor ment for programmering Lagre dokumentet med filtype.py Kjør programmet ved hjelp av python-tolker I IDLE er det en teksteditor for Python-programmer Velg File / New Window For å kjøre programmet i IDLE: Velg Run / Run Module 11

Kort intro til Python Vanlig: en programsetning per linje Hvis setninga er så lang at flere linjer trengs: Bruk ( ) rundt kommandoen, eller \ der linja må brekkes Variable tar vare på informasjon: x = 5.4 Kan lagre tekst: tekst = Hei Kan teste logiske uttrykk: x > 3.14 Har innebygde funksjoner, f.eks. Absoluttverdi abs(x) Avrunding round(x) 12

Hvordan et program fungerer Programmer utføres linje for linje altså ei linje av gangen og linjer utføres operasjon for operasjon viktig å forstå etter hvert som vi lanserer avanserte programmer programpeker flytter seg nedover linje for linje Det som står øverst skjer først! Det fins også parallelle programmer Utfører flere programsetninger samtidig Ikke tema for dette kurset, kan læres senere TDT4200 Parallelle beregninger 13

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel 6.28 = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel 35.796 = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 3 2 1 O = 2 * pi * r A_sirkel = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel = pi * r ** 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r A_sirkel = pi * r 1 ** 2 4 3 2 h = 25.1 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Illustrasjon av programkjøring pi = 3.14 r = 5.7 O = 2 * pi * r teksten mellomrom tallet linjeskift A_sirkel = pi * r ** 2 h = 25.1 1 2 3 4 A_sylinder = O * h + 2 * A_sirkel print( Areal av sylinderen:, A_sylinder)

Oppsummering Et program forteller hva datamaskinen skal gjøre Vi skal bruke programmeringsspråket Python til å programmere datamaskinen Før PC-en kan gjøre noe med programmet må det oversettes til maskinvare ved hjelp av et program Python kan programmers interaktivt eller ved å skrive et program i en teksteditor, som IDLE eller PyCharm Det er viktige forskjeller på programsetninger og matematiske likninger (og program vs regneark) NESTE TIME: Øvingsforelesning fredag 8-10 Orakeltjenesten, nyttige tips om NTNUs datasystem, installering,... 24