Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Relevanta dokument
Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26

Textsträngar från/till skärm eller fil

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

Börja programmera. Kapitel 4 i kompendiet Jämförande uttryck Villkorssatser Loopar (slingor) Funktioner. Läs inte avsnitt 4.2.3

Användarhandledning Version 1.2

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

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

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

TSBB14 Laboration: Intro till Matlab 1D

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

MMA132: Laboration 2 Matriser i MATLAB

Introduktion till PHP

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Matematisk Modellering

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

Instruktion för laboration 1

Funktioner. Linda Mannila

Övningsuppgifter kapitel 8

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Grundläggande datalogi - Övning 1

Kort om programmering i Matlab

Föreläsning 10. Besiktningsprotokollet

Sanningar om programmering

Besiktningsprotokollet

Föreläsning 2 Programmeringsteknik och C DD1316

Instruktion för laboration 1

DD1314 Programmeringsteknik

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

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

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

Föreläsning 3-4 Innehåll

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Iteration while-satsen

Matlabföreläsningen. Lite mer och lite mindre!

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

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

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

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

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

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

TANA81: Simuleringar med Matlab

Variabler och konstanter

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

TANA17 Matematiska beräkningar med Matlab

[] Arrayer = Indexerad variabel

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

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

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

Planering av ett större program, del 2 - for och listor. Linda Mannila

Beräkningsvetenskap föreläsning 2

4 Sammansatta datatyper

Imperativ programmering. Imperativ programmering konstruktioner i Lisp. Datastrukturer (kap ) arraystruktur poststruktur

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Tentamen ges för: Tentamensdatum: Tid:

Matematisk Modellering

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

DATORLÄRA Christophe Clément - Fysikum

Uppgifter teknik HT17 (uppdaterad v. 40)

Introduktion till MATLAB

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

2 februari 2016 Sida 1 / 23

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

Laboration: Grunderna i MATLAB

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

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

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

Föreläsning 3. Iteration while-satsen

MicroPython Ett textbaserad programmeringsspråk för Micro:bit

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Tentamen OOP

Extramaterial till Matematik Y

Programmeringsteknik med C och Matlab

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

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

Objektorienterad Programmering (TDDC77)

TAIU07 Matematiska beräkningar med Matlab

Objektorienterad Programmering (TDDC77)

Kapitel 15: Data/Matrix Editor

TANA17 Matematiska beräkningar med Matlab

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

En kort text om programmering i C.

4.4 Swing ett interaktivt grafiskt gränssnitt

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Laboration 1 Introduktion till Visual Basic 6.0

Transkript:

Datorlära 6 Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv 1

Arbeta med Strängar Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str= en text straeng ;!!>> str= en text straeng ;! Stora och små bokstäver skiljer sig åt. Kan vara problem med svenska bokstäver. Stränger kan också ses som vektorer av tecken, tex: >> str(1)! e! >> str(4)! t! 1:10 eller m:n betecknar alla heltal mellan m och n >> str(1:7)! en text! För att få längden för en vektor eller en sträng skriven man length(str)! 2

Övning 1 Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str= en text straeng ;! I ett program skapa en for slinga som skriver ut för varje upprepning i tecknet nummer i i strängen. Kom ihåg: length(vektor) returnerar längden för en vektor. Analysera programmet tillsammans! 3

Att slå ihop strängar (1) Man kan slå ihop strängar för att bygga kortare meningar!>> huvud_str1= [ Hej paa dig ];!!>> disp(huvud_str1);! Resultat:! Hejpaa dig! Eller!>> huvud_str1= [ Hej paa dig ];! >> disp(huvud_str2);! Resultat:! Hej paa dig! 4

Förvandla tal till sträng Sträng och tal är två olika typer av DATA. Det finns 3.14159 ett tal, eller 3.14159 en sträng Beroende på om det är en sträng eller ett tal kan man tillämpa olika funktion. Tal: +,-,/,*.. Sträng: length, slå ihop, osv. Ett tal kan konverteras till en sträng mha fördefinierade funktionen: num2str! Till exempel, man kommer ihåg att konstanten pi är fördefinierad. >> str=[ The number pi is equal to num2str(pi)];! >> disp(str);! The number pi is equal to 3.1416! 5

En annan möjlighet!>> str1 = Du har ;!!>> str2 = kronor paa kontot ;! strängar!>> belopp = 1100;! Tal (inga citationstecken)!>> mening = [str1 num2str(belopp) str2];!!>> disp(mening);! Resultat:! Du har 1100 kronoer paa kontot! Tal måste förvandlas till sträng innan den läggs ihop med andra stängar. 6

Enkel Inmatning av Tal Funktionen input används för enkel inmatning av tal eller strängar (beroende på hur den används) Inmatning av tal: >> x = input( Ange ett tal : );! Vad händer då? Octave skriver ut i workspace: Ange ett tal : Och väntar på att man matar in ett tal och sedan slår return. Värdet man matar in lagras i variabeln x. Så att om man gör: Prova själva! 7 disp(x);! Får man tillbaka talet som matades in.

Övning 2 Skriv ett program som: 1. Frågar efter ett tal Ange ett tal :! 2. Räknar kvadraten 3. Skriver ut resultatet, tex 10 i kvadrat aer lika med 100! 8

Enkel Inmatning av strängar För inmatning av strängar använder man samma funktiom input, men men med en annan syntax. Inmatning av text: >> text = input( Ange en straeng :, s );! berätta för Octave att det som läses in ska tolkas som en sträng text här är nu en variabel av typ sträng, i stället för tal. Vad händer när skriver detta i workspace: Ange en straeng : Och väntar på att man matar in en text sträng och sedan slår return. Värdet man matar in lagras i variabeln text. Så att om man gör: disp(text);! Får man tillbaka talet som matades in. 9 Datorlära 7 FK2002 HT2011

Övning 3 Skriv ett litet program namn.m som: 1. Frågar efter ett namn Vad heter du?! 2. Bygger en ny sträng som innehåller en hälsningsfras med namnet. 3. Skriver ut resultatet, tex Hej Krille!! 10 Datorlära 7 FK2002 HT2011

Några Råd för att Programmera Kommentera ordentligt mha % Använd alltid.m för Octave program och.dat eller.txt för din data, så att man vet vad det är för typ av fil. Använd tydliga namn för variabler (undvik i, j, k!) Använd clear all i början av dina program för att rensa ut från tidigare försök. Octave hittar inte mitt program: Är jag i rätt katalog? Har jag talat om för Octave om sökvägen till katalogen med mitt program (kommer ihåg setmypath.m?) Har jag använt en variabel vars namn är samma som mitt program? (Att undvika!) 11

Några Råd för att Programmera (2) När man får problem med en variabel: Är den definierad? Har en vektor några element eller är den tom? Använder jag rätt datatyp? (sträng, ett tal, en fil, en vektor, en matris) Har variabeln i funktionsargument rätt datatyp? Hjälp om hur funktioner används med help function! Parenteser () används bara för funktioner och hämta element från en vektor Hakparenteser [] används för att konstruera strängar, vektorer och matriser, INTE för funktioner, inte för att hämta element från en vektor. 12

13 Tillbakablick: if-satser

Tillbakablick: Funktioner Endast en funktion får definieras i filen. argumentet värdet / värden, här en vektor returvärdet värdet måste finnas i en fil: medel.m! funktion definition, kan vara många rader. alla variabler här är lokalla. res är en lokal variabel som endast är definierad inom fuktionen. 14 Datorlära 3 FK2002 HT2013

Övning 4 Vi vill skapa ett användarvänligt program som kontrollera om ett tal är delbart med ett annat tal och att det ska se ut så här: Hej och välkommen till programmet "är delbart med". Programmet kan kontrollera om ett tal T är delbart med D. Ange talet T : Ange talet D : 13 är inte delbart med 7 men: 13 = 1 x 7 + 6 ELLER 12 är delbart med 2 : 12 = 2 x 6 15

Hej och välkommen till programmet "är delbart med". utskrifter med disp! Programmet kan kontrollera om ett tal T är delbart med D. Ange talet T : Ange talet D : 13 är inte delbart med 7 men: 13 = 1 x 7 + 6 ELLER 12 är delbart med 2 : 12 = 2 x 6 inmatning med input! lägga ihop strängar och tal skapa en separat funktion if-sats 16

Övning 5 Hitta nollorna för en polynom F(x) = u + v x + w x 2 Bisektionsmetoden Måste börja med 2 punkter a1, b1 så att F(a1) och F(b1) är inte av samma tecken. Testa t=(a1+b1)/2 17 Om t är av samma tecken som a1: a2= (a1+b1)/2 och b2=b1 Om t är av samma tecken som b1 a2= a1 och b2=(a1+a2)/2 Upprep tills a n b n < epsilon eller n har nått ett maximum antal Nmax

Skriv ett program för Bisektionsmetoden Skapa en separat funktion för F Fråga användaren för Nmax och a1, och a2 och epsilon. Skriv ut resultatet 18