Introduktion till programmering D0009E. Föreläsning 1: Programmets väg



Relevanta dokument
Introduktion till programmering SMD180. Föreläsning 1: Programmets väg

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Extramaterial till Matematik Y

Introduktion till programmering och Python Grundkurs i programmering med Python

Föreläsning 2. Operativsystem och programmering

Grundkurs i programmering - intro

TDP002 - Imperativ programmering

TDP002 Imperativ programmering

Imperativ programmering

Introduktion till Matlab

TDP002 - Imperativ programmering

Program & programmering

TDDC77 Objektorienterad Programmering

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Laboration 1 Introduktion till Visual Basic 6.0

Imperativ programmering. Föreläsning 2

Introduktion till Matlab

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Lite mer om CGI-programmering

Introduk+on +ll programmering i JavaScript

Extramaterial till Matematik Y

Programmeringsteknik I

Extramaterial till Matematik Y

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo,

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Inledande programmering med C# (1DV402) Introduktion till programmering

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Språket Python - Del 1 Grundkurs i programmering med Python

Laboration: Grunderna i Matlab

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Introduktion till programmering. Programspråk och paradigmer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

Användarhandledning Version 1.2

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.

DD1361 Programmeringsparadigm. Carina Edlund

Objektorienterad programmering Föreläsning 2

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Föreläsning 1: Intro till kursen och programmering

Handbok KWrite. T.C. Hollingsworth Christoph Cullmann Översättare: Stefan Asserhäll

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Introduktion till programmering, hösten 2011

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsning 1: Intro till kursen och programmering

Algoritmer och interaktiv Python

Objektorienterad programmering i Java

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Innehålls förteckning

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Introduktion till programmering

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

OOP Objekt-orienterad programmering

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

En kort text om programmering i C.

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Introduktion till Jasmine 1.2 ODQL

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,

Introduktion till Matlab

Instruktioner för att kunna programmera på skolans datorer

Uttryck, satser och strömhantering

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Variabler och konstanter

Klassdeklaration. Metoddeklaration. Parameteröverföring

Objektorienterad Programmering (TDDC77)

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Programmering för alla!

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

SMD 134 Objektorienterad programmering

DD1314 Programmeringsteknik

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Laboration 1. Utgåva 1 Gäller från

Välkomna till DIT012 IPGO

Deklarativt programmeringsparadigm

DD1361 Programmeringsparadigm Föreläsning 1: Intro

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Föreläsning 1 & 2 INTRODUKTION

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Transkript:

Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1

Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra seklets självspelande pianon!) Att programmera en dator handlar alltså om att lägga in önskade bitmönster i datorns minne... Problemet är bara att människor har väldigt svårt att tänka i termer av bitmönster (jämför att spela piano genom att stansa hålrullar) Lyckligtvis kan vi ta hjälp av andra program när vi programmerar! 2

Enkel mental model av datorn Minne CPU Processor förändrar information - det är den vi programmerar, - kan man säga Minne lagrar information 3

Programmeringsparadigmer Olika paradigmer fundamentalt olika sätt att programmera Programmeringsspråk Denna kurs Deklarativa språk Imperativa språk Funktionella språk Logikspråk 4

Vad är ett program? Ett imperativt program är en sekvens av instruktioner till datorn skrivna på ett speciellt språk programmeringsspråk Instruktionerna utförs, en efter en när dom är slut är programmet slut Varje instruktion utför något Ändrar datorns tillstånd/bitmönster Ordningen väldigt viktig Inte samma program om vi kastar om instruktionerna Det finns programmeringsspråk som fungerar helt annorlunda dessa kallas deklarativa språk...men dom tar vi inte upp i denhär kursen 5

Ett enkelt program för att brygga kaffe häll i vatten i behållaren ta fram ett kaffefilter häll i en skopa kaffe i filtret upprepa ovanstående tills tillräckligt med kaffe finns i filtret montera filtret slå på bryggaren titta efter om kaffet är klart upprepa ovanstående tills kaffet är klart häll upp kaffet 6

Python Ett modernt interpreterat högnivåspråk Exempel på andra språk som du kanske hört talas om: C, Pascal, C++, Java, Ada, Tcl, Perl, Visual Basic, C#,... Exempel på språk som enbart kan beskriva data men inte beräkningar: HTML, XML, ASN.1,... Python är fritt tillgängligt (python.org) och stödjer en mängd datorplattformar installera gärna hemma! Populärt inom open-source-världen, används bl a av Google, NASA, AstraZeneca, Honywell och NYSE Blir allt vanligare på universiteten, på LTU från 2006! 7

Python-interpretatorn 8 Kan startas direkt från datorns kommandorad: python Interpretatorn svarar då Python 2.3.5 (#1, Mar 20 2005, 20:38:20) Type "help", "copyright", "credits" or "license" for more information. >>> Prompten >>> markerar att interpretatorn är beredd att ta emot kommandon, t ex print 1+1 Interpretatorns svar på detta kommando blir 2 samt en ny prompt. Sessionen kan avslutas med (ctrl)d

Python-script Alternativt kan de kommandon man önskar köra samlas i en fil, ett s k script (program) Exempel: antag att filen kalle.py innehåller kommandot print 1+1 Om interpretatorn nu startas genom att man skriver python kalle.py kommer resultatet 2 att skrivas ut, varefter interpretatorn avslutas direkt 9

Python-miljön IDLE Vi kommer oftast att arbeta med Python-program i den integrerade utvecklingsmiljön IDLE IDLE är ett fönster-baserat program som kör Python-interpretatorn som en underprocess i fönstret Python Shell kan öppna och redigera Python-script (filer som slutar på.py) i separata fönster Fönstren använder färger för att göra Python-texterna mer lättlästa Aktuellt script kan enkelt köras med knappen F5 10

Byggstenarna i ett program Hämta indata (från tangentbord, fil, nätverk,...) Producera utdata (på skärm, fil, nätverk,...) Matematiska operationer (+, -, *, <,...) Villkorlig körning Repetition Vi har redan sett exempel på produktion av utdata (kommandot print) och matematik (uttrycket 1+1). Övrigt följer, men är i grunden lika enkelt. Konsten att programmera är att kunna sätta samman dessa byggstenar till meningsfulla större enheter! 11

Det klassiska första programmet Brukar användas som exempel på den mest triviala uppgift ett program kan ha: skriv ut texten Hello, World! som resultat och avsluta sedan I Python blir detta rätt och slätt kommandot print Hello, World! Observera citat-tecknen, de är exempel på en syntaktisk detalj av avgörande betydelse i ett formellt språk men som ofta kan utelämnas i naturligt språk I nästa kapitel ska vi titta vidare på dessa skillnader! 12

Litet enkelt program Programmet: print "-- Mitt program --" v = 3 g = 4 print v,"multilicerat med ",g," blir ",v*g print "-- Slut på mitt program --" Resultatet av körning: -- Mitt program -- 3 multilicerat med 4 blir 12 -- Slut på mitt program -- 13

Variabler Central egenskap hos programspråk: att kunna ge namn åt värden. Dessa namn kallas variabler. "Ge en variabel ett värde" synonymt med "ge värdet ett namn" I Python: >>> message = "What's up, Doc?" >>> n = 17 >>> pi = 3.14159 14

Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och "Hello, World!" Olika typer av värden: 2 är ett heltal (integer) "Hello, World!" är en sträng av tecken (string) Tal med decimaler utgör en egen typ: 2.0 och 3.14 är exempel på flyttal (float) Observera citat-tecknen: "2" och "3.14" är båda värden av typen string 15