It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen. Beregning på computer

Relaterede dokumenter
Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Datamatiske principper

Lær Python dag 1 - modul 1

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning

It og informationssøgning Forelæsning oktober 2006 Nils Andersen

Python programmering. Per Tøfting. MacFest

It og informationssøgning Forelæsning september 2006 Nils Andersen. Gentagelser og tekster

It og informationssøgning Forelæsning 5 4. oktober 2006 Nils Andersen. Tilfældige tal. Statistisk test. Sæt og associationslister.

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser

Eksempel: Skat i år 2000

It og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse

Indhold. Maskinstruktur Kapitel 1. Assemblersprog Indledning Hop-instruktioner Input og output...

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

It og informationssøgning Forelæsning december 2006 Nils Andersen. Indkøring, afprøvning og dokumentation af programmer

Start på Arduino og programmering

Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12.

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Lær Python - Dag 4, modul 2 Objektorienteret programmering

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

Introduktion til funktioner, moduler og scopes i Python

Programmering for begyndere Lektion 2. Opsamling mm

It og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog

Sproget Rascal (v. 2)

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

#AlleKanKode. Lektion 3 - Operatorer

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Tegn og tekster. Listefunktionalen map. Naïv sortering

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning

Introduktion til C programmering

Lær Python - Dag 4, modul 1 Objektorienteret programmering

Programmering i C. Lektion september 2009

Kursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

Programmering C RTG

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

Kapitel 3 Betinget logik i C#

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

DDD Runde 2, 2015 Facitliste

Kapitel 4 Løkker i C#

Python 3 kursus lektion 1:

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

CANSAT & ARDUINO step by step

#AlleKanKode. Lektion 2 - Konstanter og Variabler

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Dokumentation af programmering i Python 2.75

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

Denne rapport vil beskæftige sig med hvordan computere bruger matematiske algoritmer til at sortere tal efter størrelse.

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1

Programmering i C. Lektion december 2008

Kom godt igang med Inventar registrering

CPUer og maskinkode DM534. Rolf Fagerberg

Programmering I Java/C#

Kreativ programmering

Bits DM534. Rolf Fagerberg, 2012

Lær Python - Dag 3, modul 1 Læse og skrive filer

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Komplekse tal og Kaos

FP-2: Supplerende noter i funktionsprogrammering

It og informationssøgning Forelæsning november 2006 Jakob Grue Simonsen. Hypertekst og Python. Andersen & Simonsen: kap. 12

Regulære udtryk, 2. del

Maskinarkitektur. Lars Kristensen Christian Storm dmasark 1

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16,

Noter til C# Programmering Selektion

Kursusarbejde 3 Grundlæggende Programmering

Introduktion Til Konkurrenceprogrammering

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Opstilling af model ved hjælp af differentialkvotient

HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL

Foreløbig udgave af læringsmål til: Kapitel 1 Regn med store tal Fælles Mål Læringsmål Forslag til tegn på læring

Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende rationale tal og variable i beskrivelser og beregninger

ØVELSESGANG 1A EDB PROGRAMMER SAS SOM PROGRAMMERINGSSPROG

JavaScript. nedarvning.

Forelæsning Uge 2 Torsdag

Kom godt igang med Inventar registrering

Computerstøttet beregning

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Sammenlign og byt. Et eksempel på dokumentering af et program

Matematik samlet evaluering for Ahi Internationale Skole

Skriftlig eksamen i Datalogi

SÅDAN BRUGER DU REGNEARK INTRODUKTION

Tegninger ved skriftlig prøve i fysik A, htx

Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting.

Undtagelseshåndtering i C#

Repræsentation af tal

! Forelæsning 1: Om modeller og modellering. ! Gruppeopgave: Modeller i jeres projektarbejde. ! Forelæsning 2: Modelleringseksempler

Dynamisk programmering

Kom i gang med. Find på Programmér Del

Teknologi historie Datateknologi, Hardware og software

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Talregning. Aktivitet Emne Klassetrin Side. Indledning til VisiRegn ideer Oversigt over VisiRegn ideer 1-7 3

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

Programmering og Problemløsning, 2017

Skriftlig eksamen, Programmer som Data januar 2014

Fagets IT Introduktion til MATLAB

Python 3 Matematik Programmerings kursus:

Transkript:

It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen Beregning på computer Begrebet data Universel computer Højere programmeringssprog Python Dialogdrift Fejl (syntaksf., udførelsesf., semantiske f.) Konstanter, variable, gemmesætninger, operander, operatorer, udtryk Typer Reserverede ord ( nøgleord ) Program udført fra fil Kommentarer Downey, Elkner & Meyers: Chapt. 1 2 Andersen & Simonsen: kap. 1 1

Datalogi / IT / Computer science Data (Edb-ordbog, Dansk Standard 2049-1970): En formaliseret repræsentation af kendsgerninger eller forestillinger på en sådan form, at den kan kommunikeres eller omformes ved en eller anden proces. Analoge data >< digitale data ord af positioner med tegn fra et alfabet alfabet = {O, I, U}, ord = IOOUII Data beror på konvention; har både syntaks (form) og semantik (betydning). R A T da. eng. ty. D D MDCXLVIII 2

Virkelighed / information / data Datalogi EDB Informatik IT (informationsteknik) IKT Kybernetik Computer science Computing Omverden Tanke fænomen begreb Virkelighed Information Kode symbol Data Databehandling 3

Symbolbehandling Med symboler kan man Sende information (brev, telegram,... ) Gemme information (indskrift, dokument,... ) Behandle information (regneskema) Kalkule: 2 2 1 : 8 = 2 7 rest 5 1 6 ----- 6 1 5 6 --- 5 Regnemaskine: Blaise Pascal 1642 pascaline (addition, subtraktion) Computer/datamaskine/datamat: Fuldautomatisk; kan simulere enhver symbolbehandlingsoperation. (Beregning + styring) 4

Simulering gammel virkelighed ny repræsentation indgangsfænomen analyse og måling brug modellering indsigt information indgangsoplysninger resultater udgangsfænomen tolkning inddata data uddata dataproces 5

Universel datamat Enhver dataproces kan eftergøres blot maskinordrerne vælges passende. Maskinordrer Inddata Processor Uddata Maskinordrer er også data. John von Neumann: Ordre- og datalager kombineres; maskinordrer hentes fra lageret; maskinordrer kan frembringes som data. Derved bliver det muligt at programmere i et højere programmeringssprog, som fortolkes eller oversættes: Ved fortolkning udføres sætningerne i programmet sideløbende med, at inddata transformeres til uddata. Ved oversættelse har udførelsen to faser: Først omformes programmet til maskinordrer; derefter transformerer det oversatte program inddata til uddata. 6

Begrundelser Hvorfor Python? Primært af pædagogiske grunde Sidste trin i en udvikling: Indeholder moderne programmeringsfaciliteter (både objektorienterede og funktionsorienterede) på en harmonisk og elegant måde Fin afbalancering mellem begrebsmæssige og praktiske hensyn Let at lære Gode, gratis og lettilgængelige implementeringer Klare og umiddelbare fejlmeldinger Omfattende programbiblioteker, der gør sproget effektivt Man kan komme til at skrive ineffektive programmer (Endnu) ikke så udbredt (men brugen er i hastig vækst) Under stadig udvikling 7

Eksempel på kørsel $ > python Python 2.3.5 (#1, Mar 20 2005, 20:38:20) [GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 3 + 5 8 >>> timer = 37 >>> timer - 2 * 4 29 >>> 3 * timer - 4 * 6.5 + 114.0 >>> timer = >>> netto loen = 8650 >>> print netto loen / timer 75.8771929825 >>> 2 ** 10 1024 >>> 8650 / 114 75 >>> type(114) <type int > >>> type(114.0) <type float > >>> 8

Simple typer int long heltal ubegrænsede heltal float complex brudne tal komplekse tal str unicode tekster tekster (udvidet) bool sandhedsværdier 9

Kørsel fortsat >>> spm = Spiller du kort? >>> print spm Spiller du kort? >>> print spm, "Kun bridge", svarede hun Spiller du kort? "Kun bridge", svarede hun >>> print "l hombre" l hombre >>> print spm, "Kun l\ hombre", svarede hun Spiller du kort? "Kun l hombre", svarede hun >>> "ka" * 2 + "o" kakao >>> print kakao >>> ^D $ > Man forlader Python-fortolkeren (og kommer igen ud på operativsystem-niveau ) ved at taste CtrlˆD (trykke på D, mens ctrl holdes nede). Under Windows kan det være CtrlˆZ. 10

Reserverede navne Navne på variable og andre størrelser skal opbygges af et bogstav eller en understregning efterfulgt af nul eller flere bogstaver, understregninger eller cifre. Anvendelige bogstaver er de 26 små og store latinske (= engelske og amerikanske) bogstaver a z, A Z. Små og store bogstaver regnes for forskellige. Cifrene er de decimale 0 9. De reserverede navne (nøgleord ) er uanvendelige: and exec None assert finally not break for or class from pass continue global print def if raise del import return elif in try else is while except lambda yield 11

Program udført fra en fil Hvis man i stedet for blot python skriver python filnavn til operativsystemet, bliver indholdet af filen filnavn fortolket som et python-program. En anden mulighed er, at man inde i en pythondialog kalder execfile( filnavn ). Bemærk: Filen skal være en flad tekstfil, dannet med for eksempel Notepad/Notesblok, SimpleText eller emacs. (Ikke LAT E Xeller Microsoft Word eller HTML eller lignende.) Man plejer at lade navne på filer med pythonprogrammer ende på.py. Antag, filen 2og2.py indeholder én linje: print 2, og, 2, er, 2+2 >>> execfile( 2og2.py ) 2 og 2 er 4 >>> 12

Kommentarer Selv om programmer egentlig blot er instrukser til maskiner, læses de også af mennesker (herunder en selv!), og indsigtsfulde kommentarer er nødvendige, så man kan forstå programmerne. I python strækker en kommentar sig fra et nummertegn (#), der ikke indgår som del af en tekstkonstant, og linjen ud: timetal = n * 37 - loentimer # maanedstotal # Herefter beregnes feriepenge og skat: 13