Programmering. Carsten Wulff

Like dokumenter
Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Introduksjon til programmering og programmeringsspråk

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Den som gjør godt, er av Gud (Multilingual Edition)

INF2270 Datamaskinarkitektur

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Hvordan en prosessor arbeider, del 1

INF2270 Datamaskinarkitektur

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

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe

Velkommen til INF2100

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Programmeringsspråket C

Læringsmål og pensum. v=nkiu9yen5nc

Velkommen til INF2100 Jeg er Dag Langmyhr

allinurl:readnews.php?id= allinurl:top10.php?cat= allinurl:historialeer.php?num= allinurl:reagir.php?num= allinurl:stray-questions-view.php?

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

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab

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

SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE TIL TILTREKNING AV FANTASTISKE JENTER (NORWEGIAN EDITION) BY ANDREAS GODE VIBBER

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

TDT4117 Information Retrieval - Autumn 2014

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Programmeringsspråket C

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

GEOV219. Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

Norges Historie Bok fra Oldtid til 2005 (Norwegian Edition)

Trigonometric Substitution

Bestille trykk av doktoravhandling Ordering printing of PhD Thesis

Litt om Javas class-filer og byte-kode

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Of all the places in the world, I love to stay at Grandma Genia and

Mannen min heter Ingar. Han er også lege. Han er privatpraktiserende lege og har et kontor på Grünerløkka sammen med en kollega.

Programmeringsspråket C

Vurderingsveiledning SPR3008 Internasjonal engelsk Eleven gir stort sett greie og relevante svar på oppgavene i samsvar med oppgaveordlyden.

Den som gjør godt, er av Gud (Multilingual Edition)

FIRST LEGO League. Härnösand 2012

Regler under svømmetrening! ENGLISH BELOW

Information search for the research protocol in IIC/IID

Jennifer Ann Foote September 7 th, 2010

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.

Tuberkulosescreening fra et brukerperspektiv. Frokostmøte LHLI,

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

Slope-Intercept Formula

TMA4100 Matematikk 1, høst 2013

DA DET PERSONLIGE BLE POLITISK PDF

TMA4100 Matematikk 1, høst 2013

Samlede Skrifter PDF. ==>Download: Samlede Skrifter PDF ebook

Språkleker og bokstavinnlæring

C13 Kokstad. Svar på spørsmål til kvalifikasjonsfasen. Answers to question in the pre-qualification phase For English: See page 4 and forward

Verktøy for å håndtere siteringer og referanser i masteroppgaven. Citation and reference tools for your master thesis. Citations and references

Kjøresystemer. Hva er et kjøresystem? Den abstrakte maskinen SIMPLESEM (2.6) Klassifisering av språk: Parametre (2.7.7) Statiske språk (

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

TEORI OG PRAKSIS. Kjønnsidentitet og polaritetsteori. En kasusstudie av en samtalegruppe med transpersoner

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

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

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

Filsikkerhet i Linux

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

Velkommen til INF2100

Appendix B, not for publication, with screenshots for Fairness and family background

Macbeth: Frozen Scenes

Audun Mortensen Fire dager i Berlin

Programmeringsspråket C Del 3. Hans Petter Taugbøl Kragset

Citation and reference tools for your master thesis

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

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

Debugging. Tore Berg Hansen, TISIP

Citation and reference tools for your master thesis

Vedlegg til veiledning til læreplan i engelsk. Se skolenettet.no/veiledninger

Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet (kalt kildekoden): Hva er kompilering?

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk

Geir Lieblein, IPV. På spor av fremragende utdanning NMBU, 7. oktober 2015 GL

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

Løsningsforslag for oppgavene i operativsystemer og C, uke 38 ( )

Økologisk og kulturell dannelse i økonomiutdanningen

Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

TILLEGGSSPØRSMÅL BILLETT- OG ADMINISTRASJONSSYSTEM KINONOR AS COMPLEMENTARY QUESTIONS POINT OF SALE SOFTWARE PACKAGE KINONOR AS

Årsplan ENGELSK 5.trinn. Setningsmønster It starts at It finishes at I want to be a when I grow up

Citation and reference tools for your master thesis

HONSEL process monitoring

Oppbygningen av en datamaskin Det viktigste i en moderne datamaskin er hovedkortet («motherboard»):

MANGFOLDSLEDELSE I BYGGENÆRINGEN UTVALGTE FUNN FRA FORSKNINGSRAPPORTEN «FLERKULTURELLE ARBEIDSPLASSER I BYGGENÆRINGEN»

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Ukeoppgaver 1: 30. aug 3. sep (INF Høst 2010)

FASMED. Tirsdag 21.april 2015

Velkommen til INF1060. Introduksjon til operativsystemer og datakommunikasjon

Tema. Informasjonsarkitektur Brukervennlighet/Usability Kommunikasjon som treffer målrettet kommunikasjon

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

ARBEIDSPLAN FOR : 10C

Transkript:

Programmering Carsten Wulff 2010-06-15

Oversikt Hva er et programmeringsspråk Hvorfor trenger man et programmeringsspråk Hvordan ser et typisk språk ut Kompilering Hvilke språk fins i verden Hvordan ser et typisk språk ut Demonstrasjon 2

Hva er et programmeringsspråk? Ett programmeringsspråk er et kunstig, veldefinert språk Et endeligantall nøkkelord (if, while, true, false) Et endelig antall operatorer ( * + - /! == >= <=) Et endelig antall blokkdefinatorer ( { } () ;) Kan entydig forklare en datamaskin hva som skal gjøres 3

Hvorfor trenger man et programmeringsspråk? En datamaskin har et veldig begrenset vokabular (noen hundre ord), som er meget vanskelig å skrive store programmer i. Dette vokabularet kalles et instruksjonssett, og det varierer framaskin til maskin Man kan skrive programmer med instruksjonssettet direkte, men det er ikke lett. Program skrevet direkte i et instruksjonsett vil ikke fungere på en annen maskin 4

Nivå 0: Maskinkode Bare tall Helt håpløst å tolke Men, en datamaskin må ha programmene på dette formatet for å kunne kjøre det Alle programmeringssprå k blir til slutt gjort om til maskinkode 5

Nivå 1: Assembly code Rimeligvanskelig å forstå Beskriver hva datamaskina skal gjøre i detail Noen galinger skriver programmer i assembly for å få det til å gå raskt (for eksempel data spill) 6

Nivå 3: Et programmeringsspråk (C) En smule mer forståelig Man bruker kodeord (int) og funksjoner (printf) for å gjøre det man vil 7

Oversetting: Fra C til maskinkode Oversettingen kalles kompilering Man trenger en kompilator (ett program) For språket C kan man bruke et program som heter gcc, som all linux og mac PC har installert fra starten av. På windows må den etterinstalleres 8

Demo: hello.c

Typer programmeringsspråk Programmeringspråk er laget av ingeniører Ingeniører liker best de har laget selv Derav fins det mange programmeringsspråk Kan gjøre meg forstått ( < 10 000 linjer kode) Snakker flytende ( 10 000 50 000 linjer kode) Guru (mer enn 50 000 linjer kode) http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 10

Hva brukes språkene til Navn Type Bruksområde Java Kompilert til et mellomformat Web (nettbanker), GUI programmer, det meste. C Kompilert Alt mulig (Spill, mobiltelefoner, vaskemaskiner, pulsklokker) C++ Kompilert Alt mulig (Word, Excel, Photoshop) PHP Interpretert Web (Wikipedia) (Visual) Basic Kompilert Makroer i Excel og Word, Windows programmer C# Kompilert Windows programmer Perl Interpretert Behandling av store tekstmengder. Alt mulig Objective-C Kompilert iphone og Mac SQL Interpretert Henting av data fra databaser Matlab Interpretert Matematiske beregninger 11

Demo 1. Data ut fra et simuleringsprogram 2. Perl script for parsing av data 3. C# program for plotting av data 12

Oppsummering Alt må til slutt oversettes til maskinkode, det er det eneste en datamaskin kan forstå Det fins mange programmeringsspråk, noe er smak og behag og noe er effektivitet Hvis du vil lære deg programmering er du nødt til å ha en oppgave å som du vil ha løst Hvis du skal lære deg programmering må du være tålmodig 13

Introduction to Programming Perl: Three Virtues of a Programmer by Larry Wall (creator of Perl) et al. Laziness - The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris. Impatience - The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. Hubris - Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. 14