Beräkningsvetenskap föreläsning 2

Storlek: px
Starta visningen från sidan:

Download "Beräkningsvetenskap föreläsning 2"

Transkript

1 Beräkningsvetenskap föreläsning 2 19/ Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa kan det finnas en else-sats som specifierar andra förhållanden. Det Behövs ej parenteser kring villkor och ej heller klamrar runt uttrycket.! Villkoret "skilt från" skrivs inte som i java!= utan ~=. "Icke" skrivs ~. Annars är alla logiska operatorer samma som i java och andra språk. De logiska boolean-värdena lagras som 1 eller 0, inte true eller false. p = (x > 0); Här skulle ett booleanskt värde lagras, i MATLAB blir detta alltså 0 eller 1 istället.

2 Upprepningssatser While-satser while [[villkor]] [[sats]] [[sats]] Satserna upprepas så länge villkoret är sant, villkoret testas i början av varje loop. Denna fungerar alltså precis på samma sätt som i Java. Det kan bli många "" i slutet, precis som det kan bli många klamrar i slutet vid Java. Ett bra sätt att skriva kan vara att göra tabbar i början av varje rad för att visa vilken "nivå" det gäller. For-looper Används ofta när man vet hur många gånger en sak skall utföras. While-satser kan användas i det sammanhanget också, men en for-loop är bättre. Kan exempelvis användas för att skriva en tabell över talen 1 till 100 och kvadraterna till dessa tal. for k=1:100 disp([k k^2]) I MATLAB finns inte operatorn ++, i en for-loop adderar således MATLAB alltid ett om inget annat anges. Variabeln k existerar även utanför for-loopen. Även om man inom for-loopen sätter k till ett fix värde, exempelvis 17 kommer MATLAB ignorera detta när den kommer upp till starten av loopen igen, den vet redan innan vilket nästa värde i loopen skall vara. Man kan även ta andra steg for k=1:2:99 % Här kommer k att anta värdena 1, 3, 5,... Även negativa steg går bra for k=100:-1:1 % Antar 100, 99, 98,... I MATLAB går det alldeles utmärkt att använda flyttal (float), detta kanske dock inte är så användbart for x=0:0.1:1 Vid for-loopar finns det en liten marginal som täcker upp små små avrundnignsfel på bitnivå. Detta finns dock inte i while-satser, så det är rekommerat att använda sig av heltal i både i for-loopar och while-satser.

3 Arrayer (vektorer, matriser) I Java är det en sorts objekt som man måste deklarera typ och storlek innan den används. Detta behövs INTE i MATLAB. Dessa uppstår - liksom andra variabler - vid tilldelning. Om man exempelvis vill ha en imensionell array med tre element skulle detta skrivas x(1) = 2.5; x(2) = 1.4; x(3) = -1; Detta har nu skapat arrayen x [ ]. Lägsta index för en array i MATLAB är 1, inte 0 som i många andra programmeringsspråk. Index skrivs inom parenteser efter arraynamnet. Om man skriver 0, negativt eller float som index för en array så kommer MATLAB visa ett felmeddelande. Längden på arrayen är vad den är för tillfället, man kan alltid tilldela nya index i arrayen. x(100) = 2; MATLAB fyller upp alla platser mellan det tidigare högsta indexet till det nyligen tilldelade med nollor. Om man på detta sätt förlänger en array godtyckligt kommer det krävas en relativt stor mängd minne som behöver lokaliseras.! Man kan bara använda existerande element i högerledet då man använder dem för att tilldela ett värde till en annan variabel. Matrisen ovan kan tilldelas på ett annat, enklare sätt x = [ ]; Detta skapar en radvektor, man kan även skapa en kolonnvektor x = [2.5; 1.4; -1]; För att transponera en array skriver man en apostrof efter variabeln x = x' Tvådimensionell array a(1,1) = 2; a(1,2) = 1; a(2,1) = -3; a(2,2) = 5; Bildar den kvadratiska matrisen En tvådimensionell är alltid kvadratisk, MATLAB fyller icke tilldelade platser i en icke kvadratiskt matris med nollor så att en kvadratisk matris bildas.

4 På samma sätt som ovan kan man tilldela en flerdimensionell matris på ett enklare sätt a = [2 1; -3 5]; Stora arrayer bör skapas med en funktion x = zeros(1,10000); y = ones(1,10000); a = zeros(1000,1000); a = eye(1000,1000); % 1x10000 % 1x10000 % 1000x1000 % 1000x1000 enhetsmatris Arrayoperationer A och B är n*n-arrayer x och y är n*1-arrayer (kolonnvektorer) z = A * x; % matris-vektor-multiplikation, z kommer att bli en kolonnvektor (n*n * n*1 = n*1) C = A * B; n*n-matris w = x * y; % matrismultiplikation, z kommer att bli en ny % detta är FÖRBJUDET, fel storlekar MATLAB kan användas för att lösa ekvationssystem Ax = b. Detta ekvationssystem har formellt lösningen x = A^-1b. x = A \ b; \ används istället för / för att division med en vektor anses vara multiplikation med invers, men samtidigt måste matrisen A vara till vänster. Elementvisa operationer För att addera två arrayer till varandra elementvis kan man skriva z = x + y; som motsvarar for k = 1:n z(k) = x(k) + y(k); Naturligtvis går även subtraktion att utföra. Om man däremot vill multiplicera varje element i en array med motsvarande element i en annan array används andra operatorer. z = x.* y;

5 som på liknande sätt motsvarar for k = 1:n z(k) = x(k) * y(k); De andra operatorerna är z = x./ y; z = x.^ y; Standardfuktionerna fungerar elementvis, man kan exempelvis ta sinusvärdet för varje element i en vektor. w = sin(x); w = sin(x) + 3 * sqrt(1./ y); Här måste y och x vara lika stora vektorer. Alla operationer utförs elementvis. Delarrayer Antag att x och y är n*1-vektorer. z = x(1:5); x(4), x(5), som kolonnvektor % z blir delvektorn x(1), x(2), x(3), z = x(1:5) + y(2:6); % Fem element ur vardera vektor adderas och bildar en ny vektor z x(9) z = x(1:2:9); % Delvektorn x(1), x(3), x(5), x(7), Detta kan användas för att exempelvis vända på en vektor. z = x(9:-1:1); Detta gäller även för matriser. A(3:6,2:7) som ger matrisen a(3,2)... a(3,7) a(6,2)... a(6,7) Speciellt kan man hantera bara en rad/kolonn av en matris. A(3,:) A(:,4) % Ger tredje raden % Ger fjärde kolonnen

6 Kolon-notation Med ett kolon kan man enkelt skapa talserier. a = 3 : 8; 6 element. % Talserie från 3 till 8, a blir en vektor med x = 0:0.01:1; % Vektor med längd 101, innehåller värdena 0, 0.01, 0.02,..., 1

7 Egna funktioner! Motsvarar närmast Javas static-metoder. En funktion skapas exempelvis för att beräkna sinx/x, och även returnera 1 då x = 0: function r = singx(x) if x == 0 r = 1; else r = sin(x)/x; % End of singx (Denna kommentar är onödig, men trevlig att ha för att se slutet på funktionen) Funktionen skall skrivas i en egen fil, förslagsvis med samma namn som funktionen. Alla variabler i funktionen är lokala inom funktionen och kan inte kommas åt utifrån. Funktionen anropas sedan på samma sätt som standardfunktionerna. Om man har olika namn på funktionen och namnet på filen så anropas funktionen med filnamnet (som vanligt) men den går automagiskt till den första funktionen i filen. Man kan ha fler funktioner i samma fil, men dessa kan bara användas inom filen, det är bara den första funktionen som går att anropas utifrån.

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

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

For-sats/slinga. Notis

For-sats/slinga. Notis Notis I koden för exemplen förekommer kommentarer. Kommentarer i Matlabkoden identieras med prexet %. Kommentarer är text/kod som Matlab bortse från. Alltså all text/kod som ligger till höger och på samma

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

MMA132: Laboration 1 & 2 Introduktion till MATLAB

MMA132: Laboration 1 & 2 Introduktion till MATLAB MMA132: Laboration 1 & 2 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Matriser och vektorer i Matlab

Matriser och vektorer i Matlab CTH/GU LABORATION 3 TMV206-2013/2014 Matematiska vetenskaper 1 Inledning Matriser och vektorer i Matlab I denna laboration ser vi på hantering och uppbyggnad av matriser samt operationer på matriser En

Läs mer

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM. JavaScript del1 Syftet med detta häfte är att sammanfatta det viktigaste i JavaScript så kort och koncist som möjligt men ändå tillräckligt omfattande för att ge god kännedom om en av de vanligaste teknikerna

Läs mer

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat F1: Introduktion, Matlabrepetition (kap. 1 2) Gemensam intro Kursinnehåll Varför programmera? Egenskaper hos Matlab Kommando-, redigerings-, arbetsplats-, tabell-, guide- och hjälpfönster, kommando-, funktions-,

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Lektion 1 Introduktion till DrJava och Java

Lektion 1 Introduktion till DrJava och Java Lektion 1 Introduktion till Målsättning med lektionen: Bekanta er med programmet DrJava som ni skall använda under kursen för att skriva och köra javaprogram Hur man använder variabler, aritmetik och matematiska

Läs mer

TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1. Omfattning. Innehåll 2012-01-20. Lay, kapitel 1.1-1.9, Linjära ekvationer i linjär algebra

TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1. Omfattning. Innehåll 2012-01-20. Lay, kapitel 1.1-1.9, Linjära ekvationer i linjär algebra TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1 Omfattning Lay, kapitel 1.1-1.9, Linjära ekvationer i linjär algebra Innehåll Olika aspekter av linjära ekvationssystem 1. skärning mellan geometriska

Läs mer

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

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

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

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

Kort om programmering i Matlab

Kort om programmering i Matlab CTH/GU 25/26 Matematiska vetenskaper Kort om programmering i Matlab Inledning Redan första tillfället gjorde ni ett litet program. Ni skrev ett script eller en skriptfil som beräknade summan 5 i 2 = 2

Läs mer

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++ Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret

Läs mer

Lektion 4. Datateknik A, Java I, 5 poäng

Lektion 4. Datateknik A, Java I, 5 poäng Datateknik A, Syfte: Att lära sig använda de primitiva typerna och olika operatorer för att bygga upp uttryck. Att använda kontrollflödeskonstruktioner för att styra flödet i programmet. Att stifta bekantskap

Läs mer

Föreläsning 6 pekare och pekare tillsammans med arrayer

Föreläsning 6 pekare och pekare tillsammans med arrayer Föreläsning 6 pekare och pekare tillsammans med arrayer Vi ska nu undersöka vad pekare egentligen är och hur de relaterar till arrayer. Det är ett centralt tema i C-programmering. Vi följer boken och går

Läs mer

Lab 1, Funktioner, funktionsfiler och grafer.

Lab 1, Funktioner, funktionsfiler och grafer. Lab 1, Funktioner, funktionsfiler och grafer. Starta gärna en dagbok genom att ge kommandot diary lab1. Skriv in alla beräkningar som efterfrågas i uppgifterna i dagboken. Glöm inte diary off om det skrivna

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

Läs mer

6.1 Kompilering och lite grundläggande information

6.1 Kompilering och lite grundläggande information 6 Förhoppningsvis ska de C-konstruktioner som gås igenom här tillsammans med de exempelprogram som ges här och i andra delar av lab-pm vara tillräckliga för att ni ska kunna klara av laborationerna. Syftet

Läs mer

Kapitel 16: Programmering

Kapitel 16: Programmering Kapitel 16: mering Innehåll Komma igång: Volymen av en cylinder...2 Skapa och ta bort program...4 Skriva instruktioner och köra program...5 Redigera program...6 Kopiera och byta namn på program...7 PRGM

Läs mer

Användar- och systemdokumentation

Användar- och systemdokumentation Användar- och systemdokumentation Linköpings universitet Examinator:, IDA marme647@student.liu.se Utskriftsdatum: Innehållsförteckning Inledning... 3 Användarhandledning... 4 Systemkrav och installation...4

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 TMV157-2014/2015 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar

Läs mer

Matlabövning. Matlab har en enkel syntax och många av er har använt programmet tidigare. Inga deklarationer behövs.

Matlabövning. Matlab har en enkel syntax och många av er har använt programmet tidigare. Inga deklarationer behövs. Funktionsteori ht 2010 Matlabövning Inledning Denna datorövning ger en introduktion till Matlab. Systemet används här som en avancerad räknedosa med inbyggda matrisoperationer och grafik. Ha den Matlabmanual

Läs mer

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer Föreläsning 4 Metodanrop switch-slingor Rekursiva metoder Repetition av de första föreläsningarna Inför seminariet Nästa föreläsning Metodanrop - primitiva typer Vid metodanrop kopieras värdet av en variabel

Läs mer

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson Introduktion till MATLAB Introduktion till MATLAB sid. 2 av 12 Innehåll 1 Vad är MATLAB? 3 1.1 Textens syfte..................................... 3 2 Grundläggande

Läs mer

3.3 for-satsen. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Föreläsning 3

3.3 for-satsen. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Föreläsning 3 Föreläsning 3 3.3 for-satsen I programmering talar man om tre sätt på vilket ett programflöde kan vara beskaffat: 1. Saker kan hända efter varandra, i sekvens. 2. Flödet kan innebära att ett val görs,

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

Läs mer

4.3. Programmering i MATLAB

4.3. Programmering i MATLAB 4.3. Programmering i MATLAB MATLAB används ofta interaktivt, dvs ett kommando som man skriver, kommer genast att utföras, och resultatet visas. Men MATLAB kan också utföra kommandon som lagrats i filer,

Läs mer

Lathund. Pacific C för MS-DOS

Lathund. Pacific C för MS-DOS Lathund Pacific C för MS-DOS Revision 2 2003-08-28 Anders Arvidsson Karl-Johan Krantz Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 PACIFIC

Läs mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia JavaScript - Grundkurs Mahmud Al Hakim mahmud@dynamicos.se www.dynamicos.se www.webbacademy.se Innehåll Introduktion till JavaScript JavaScript i HTML-dokument Lite om DOM (Document Object Model) Händelser

Läs mer

Introduktion C-programmering

Introduktion C-programmering Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder

Läs mer

Sanningar om programmering. Sanningar om programmering. Programmeringsprocessen. Att skriva program i Matlab. Programmeringsprocessen

Sanningar om programmering. Sanningar om programmering. Programmeringsprocessen. Att skriva program i Matlab. Programmeringsprocessen Sanningar om programmering Block 3: Programmering Beräkningsvetenskap I Ett program är ett antal kommandon och särskilda strukturer lagrade i en eller flera filer Att utveckla och skriva program kallas

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

Lite logik. Kap 6: Sid 2

Lite logik. Kap 6: Sid 2 6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik

Läs mer

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26 Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623

Läs mer

Att undervisa och studera matematik med datoralgebraprogrammet Maxima. Per Jönsson och Thomas Lingefjärd

Att undervisa och studera matematik med datoralgebraprogrammet Maxima. Per Jönsson och Thomas Lingefjärd Att undervisa och studera matematik med datoralgebraprogrammet Maxima Per Jönsson och Thomas Lingefjärd Malmö och Göteborg 2009 1 Kort om Maxima Begreppet CAS (computer algebra system) eller på svenska

Läs mer

Saker du ska kunna Föreläsning 13 & 14

Saker du ska kunna Föreläsning 13 & 14 Saker du ska kunna Föreläsning 13 & 14 LISTOR Ta bort element från en vektor Både sorterad och osorterad Söka upp element i en vektor Linjärsökning räcker (jag har även visat binärsökning) Registrering

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Planering Programmering grundkurs HI1024 HT 2015 - data

Planering Programmering grundkurs HI1024 HT 2015 - data Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Räkna med C# Inledande programmering med C# (1DV402)

Räkna med C# Inledande programmering med C# (1DV402) Räkna med C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Linjära ekvationssystem. Avsnitt 1. Vi ska lära oss en metod som på ett systematiskt sätt löser alla linjära ekvationssystem. Linjära ekvationssystem

Linjära ekvationssystem. Avsnitt 1. Vi ska lära oss en metod som på ett systematiskt sätt löser alla linjära ekvationssystem. Linjära ekvationssystem Avsnitt Linjära ekvationssystem Elementära radoperationer Gausseliminering Exempel Räkneschema Exempel med exakt en lösning Exempel med parameterlösning Exempel utan lösning Slutschema Avläsa lösningen

Läs mer

TDP002 Imperativ programmering

TDP002 Imperativ programmering TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

C++ Lektion Tecken och teckenfält

C++ Lektion Tecken och teckenfält C++ Lektion Tecken och teckenfält Teori Hittills har alla variabler du jobbat med varit olika typer av tal, men du kan också deklarera variabler som håller bokstavstecken. Denna variabeltyp kallas för

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering . TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 14 augusti 2015 Översikt 2/29 Programmering - en översikt Python - Köra och skriva program

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg

Programmering i C. Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg Programmering i C En tuff kurs på halvfart för nybörjare i programmering Christer Sandberg, Gunilla Eken, Stefan Bygde Olof Andersson Linus Källberg Caroline Uppsäll Johan Hägg 1 Idag Kursupplägg Satser

Läs mer

FMN140 VT07: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

FMN140 VT07: Beräkningsprogrammering Numerisk Analys, Matematikcentrum Johan Helsing, 20 februari 2007 FMN140 VT07: Beräkningsprogrammering Numerisk Analys, Matematikcentrum Projektuppgift Syfte: att träna på att skriva ett lite större Matlabprogram med relevans för byggnadsmekanik.

Läs mer

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet.

+Överskådlighet Normalt sätt blir ett program skrivet i det procedurella paradigmet överskådligt. Modifikationer på delproblem kan ske med lätthet. Uppgift 1 Ett programmeringsparadigm är i grund och botten ett sätt att arbeta, ett sätt att möta problem. Det finns flera olika paradigm där varje paradigm har sina egna styrkor och svagheter. Det som

Läs mer

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

Läs mer

C-programmering, föreläsning 1 Jesper Wilhelmsson

C-programmering, föreläsning 1 Jesper Wilhelmsson C-programmering, föreläsning 1 Jesper Wilhelmsson Introduktion till C Variabler, Typer, Konstanter Operatorer Villkorliga satser if-else, switch Loopar for, while, do... while Inmatning och utmatning stdin

Läs mer

Mat-1.1510 Grundkurs i matematik 1, del I

Mat-1.1510 Grundkurs i matematik 1, del I Mängder Det enklaste sättet att beskriva en mängd är att räkna upp de elementen i mängden, tex Mat-11510 Grundkurs i matematik 1, del I G Gripenberg TKK 8 oktober 2009 G Gripenberg (TKK Mat-11510 Grundkurs

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

Grundläggande programmering

Grundläggande programmering LUNDS TEKNISKA HÖGSKOLA Programmeringsteknik för D/C Institutionen för datavetenskap 2014/15 Grundläggande programmering 1 Inledning Övningarna i Programmeringsteknik under vecka 1 3 av läsperiod ht1 är

Läs mer

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

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Innehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1

Innehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1 Innehåll PHP Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Introduktion till PHP Webbserver och XAMPP Variabler Datatyper Operatorer $_GET och $_POST Skicka variabler

Läs mer

Grundläggande kommandon

Grundläggande kommandon Allmänt om Matlab Utvecklades på 70-talet som ett lättanvänt gränssnitt till programbiblioteken LINPACK (linjär algebra) och EISPACK (egenvärdesproblem), ursprungligen skrivna i Fortran. En kommersiell

Läs mer

7 Programmeringsteknik

7 Programmeringsteknik 7 Programmeringsteknik Att skriva ett program innebär att man skriver en plan för hur bearbetningen av data ska utföras. Vilken typ av data och vilken typ av bearbetning, som ska göras, ska vara bestämt

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

Läs mer

Föreläsning 5 Mer om funktioner, villkor

Föreläsning 5 Mer om funktioner, villkor Föreläsning 5 Mer om funktioner, villkor Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.9.2011 Varför? Det finns sammanhang där ett

Läs mer

Microsoft Excel. Avancerade funktioner

Microsoft Excel. Avancerade funktioner Microsoft Excel Avancerade funktioner Avancerade funktioner OM() Returnerar ett värde om ett angivet villkor beräknas till SANT och ett annat värde om det beräknas till FALSKT. =OM(A6>A5;C9;OM(A6>A4;C10;OM(A6>A3;C11;

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

SF1624 Algebra och geometri Lösningsförslag till modelltentamen DEL A

SF1624 Algebra och geometri Lösningsförslag till modelltentamen DEL A SF624 Algebra och geometri Lösningsförslag till modelltentamen DEL A () (a) Använd Gauss-Jordans metod för att bestämma lösningsmängden till ekvationssystemet 2x + 4x 2 + 2x 3 + 2x 4 = 2, 3x + 6x 2 x 3

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB Introduktion till MATLAB Hampus Malmberg Jesper Pedersen Sven Jacobsson 4 september 2012 Förord Detta dokument behandlar grundläggande användning av MATLAB för att lösa matematiska problem och skall ge

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Matematik med MATLAB R

Matematik med MATLAB R Matematik med MATLAB R En handledning Matematik CTH/GU Version J.L. 11 augusti 1997 Reviderad J-E.A. augusti 2002 Matematik med MATLAB R En handledning Matematik CTH/GU Version J.L. 11 augusti 1997 Reviderad

Läs mer

PHP. Dynamiska webbsidor

PHP. Dynamiska webbsidor PHP Dynamiska webbsidor WEBBPROGRAMMERING PÅ SERVERSIDAN DB server web browser client client script HTTP Request (get, post) HTTP Response (HTML, CSS, JS) web server server script JS PHP file (txt, xml,

Läs mer

Programmeringsteknik

Programmeringsteknik Programmeringsteknik Materialet i detta häfte är skapat av KTH CSC (http://www.kth.se/csc) och används i en distanskurs som man kan läsa som fristående kurs och få universitetspoäng för. Kursen är avsedd

Läs mer

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

Läs mer

Sammanfattningar Matematikboken Y

Sammanfattningar Matematikboken Y Sammanfattningar Matematikboken Y KAPitel 1 TAL OCH RÄKNING Numeriska uttryck När man beräknar ett numeriskt uttryck utförs multiplikation och division före addition och subtraktion. Om uttrycket innehåller

Läs mer

2 = 3 = 1. ekvationssystem är beskriven som de vektorer X = 2 0 1 2. 1 1 0 2

2 = 3 = 1. ekvationssystem är beskriven som de vektorer X = 2 0 1 2. 1 1 0 2 . Tisdagen 35 Igår visade vi att lösningsmängden W R 5 till ekvationssystemet 3x + x 2 + 3x 3 + 2x 4 x 5 = (..) 2x 2 + x 3 + 4x 4 + 2x 5 = 3x 3x 2 + x 3 6x 4 5x 5 = har bas u och u 2 och u 3 där 5 2 6

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt

Läs mer

C-programmering, föreläsning 2 Jesper Wilhelmsson

C-programmering, föreläsning 2 Jesper Wilhelmsson C-programmering, föreläsning 2 Jesper Wilhelmsson Funktioner void Globala och lokala variabler, scope static Arrayer Strängar ASCII, ANSI Argument till main Slumptal Funktioner Nu är det dags att börja

Läs mer

Laboration A Objektsamlingar

Laboration A Objektsamlingar Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen. TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25 Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka

Läs mer

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK Laboration 5: Regressionsanalys DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 Syftet med den här laborationen är att du skall

Läs mer

Ett exempel som illustration till Laboration 1

Ett exempel som illustration till Laboration 1 Ett exempel som illustration till Laboration 1 Filen java_average_points.zip innehåller Java-koden till exemplet. Programmets avsikt enligt kravspecifikationen Användaren matar in poäng på en tentamen

Läs mer

M7005 Plc programmering

M7005 Plc programmering Matematikföretaget jz 120309/150412/SJn www. M7005.metem.se M7005 Plc programmering M7005 Plc programmering 1 (18) Matematikf öretaget jz (Sv erker Johansson) är under inga omständigheter ansvarigt för

Läs mer

namn, inklusive katalogtillhörigheten. Den andra saken vi måste förstå är något som kallas "den atlab

namn, inklusive katalogtillhörigheten. Den andra saken vi måste förstå är något som kallas den atlab 5 Pass 2 Datorer, filnam och mer beräkningar I det här passet skall vi lära oss litet allmänt om hur datorprogram fungerar och hur de hanterar data på hårddisk och i minnet. Men framför allt skall vi lära

Läs mer

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

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

HI1024 Programmering, grundkurs TEN2 2014-03-13 HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde.

Variabler använder man sig av för att under programkörningen spara data eller information i primärminnet. En variabel har typ, namn och värde. 2 Enkla datatyper Att skriva ett program innebär att man ska tillverka en plan för att bearbeta data eller information på något sätt Programmering handlar om data och bearbetning av data Data kan vara

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3 Föreläsning 2 Semantik 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 27 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 2.1 Innehåll Innehåll 1 Lite mer syntax 1 2 Strukturer

Läs mer

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye DD2310 Javaprogrammering för Pythonprogrammerare Johan Boye James Gosling pappa till Java Hej.java public class Hej { public static void main( String[] args ) { System.out.println( "Hej" ); Java basics

Läs mer

PHP HELT UTAN EKOLOGISKA TILLSATSER. Påhittad av henrik@x25.se 2010 1.01

PHP HELT UTAN EKOLOGISKA TILLSATSER. Påhittad av henrik@x25.se 2010 1.01 PHP HELT UTAN EKOLOGISKA TILLSATSER Påhittad av henrik@x25.se 2010 1.01 Innehåll PHP... 4 Hur PHP fungerar i en webbserver... 5 Använda PHP... 6 Syntax... 7 Variabler... 7 Datatyper... 7 Operatorer...

Läs mer

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga

reella tal x i, x + y = 2 2x + z = 3. Här har vi tre okända x, y och z, och vi ger dessa okända den naturliga . Lösningsmängden till homogena ekvationssystem I denna första föreläsning börjar vi med att repetera det grunnläggande begreppet inom linjär algebran. Linjär algebra är studiet av lösningsmängden till

Läs mer

Linjär algebra på några minuter

Linjär algebra på några minuter Linjär algebra på några minuter Linjära ekvationssystem Ekvationssystem: { Löses på matrisform: ( ) ( ) I det här fallet finns en entydig lösning, vilket betyder att determinanten av koefficientmatrisen

Läs mer