Strängar. Elektronikcentrum i Svängsta AB

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

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

Inledande programmering med C# (1DV402) 85/2=42. OBS! Heltal 1 (13)

Chapter 3: Using Classes and Objects

PROGRAMMERING-Java TENTAMINA

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Övning. Introduktion och förberedelser

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

COBOL. från grunden. monitors. Peter Sterwe. training people

TDIU01 (725G67) - Programmering i C++, grundkurs

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

Konvertering från sträng. Winstrand Development

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

C++ - En introduktion

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Användarhandledning Version 1.2

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

TDP002 - Imperativ programmering

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Övning2. Variabler. Data typer

Extramaterial till Matematik Y

JavaScript del 2 DocumentWrite, Prompt och ParseInt

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Instuderingsfrågor, del A

PROGRAMMERING-Java Omtentamina

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

Objektorienterad Programmering (TDDC77)

TDIU01 - Programmering i C++, grundkurs

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

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering

Programmering A. Johan Eliasson

Visual Basic, en snabbgenomgång

Text och strängindexerade fält Grundkurs i programmering med Python

Objektorienterad programmering Föreläsning 2

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

Programmering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

TDIU01 - Programmering i C++, grundkurs

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

TDIU01 - Programmering i C++, grundkurs

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Lektion 1, del b Utskrifter av variabelvärden Inläsning av värden till variabler

Arrayer (fält)

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

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

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Lösningsförslag: Instuderingsfrågor, del D

Extramaterial till Matematik Y

Tentamen OOP

Malmö högskola 2007/2008 Teknik och samhälle

Läsning, skrivning, tangentbord, skärm. F6: Filhantering (kap. 8) Tabell på skärmen. save

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Lösningsförslag: Instuderingsfrågor, del A

Instuderingsfrågor, del D

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Grundläggande programmering med C# 7,5 högskolepoäng

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Planering Programmering grundkurs HI1024 HT data

Objektorienterad Programmering DAT043

Att använda pekare i. C-kod

Introduktion till programmering SMD180. Föreläsning 7: Strängar

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Föreläsning 13 Testning och strängar

Lösningsförslag övning 2.

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

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

Lathund Word. Här får du en liten Lathund i Word.

Föreläsning 1 & 2 INTRODUKTION

Winstrand Development

Excel Övning 1 ELEV: Datorkunskap Sida 1 Niklas Schilke

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

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

[] Arrayer = Indexerad variabel

Introduktion till programmering. Standardfunktioner. Vad används datorer till? Standardfunktioner. Föreläsning 2. Prelude. $ ghci...

Strängar. TDDD64 Programmering i Python Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

TDDC76 - Programmering och Datastrukturer

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Tentamen, EDAA10 Programmering i Java

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Att skriva till och läsa från terminalfönstret

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

Objektorienterad Programkonstruktion

JAVA Mer om klasser och objektorientering

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Övningsuppgifter kapitel 8

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I

Transkript:

Strängar 1 Elektronikcentrum i Svängsta AB

Strängar Strängar Vanligtvis arbetar man i en applikation med text av olika slag. I programmeringsvärden sparar man text i strängar, (eng. strings). Dessa är alltså en följd av tecken som kan vara: Alfanumeriska: Hello, 123, string951 och Specialtecken:, #&/% EC Utbildning AB 2013-01-15 2

Strängar Strängar Man kan bygga ihop flera strängar med plusoperatorn Exempel: string str = Jag är + en sträng ; Det går även att lägga till värden från andra variabler på detta sätt så man enkelt kan presentera värden. Använder vi operatorn + mellan strängar kan vi även dela upp text på flera rader. EC Utbildning AB 2013-01-15 3

Strängar Strängar Exempel: int answer = 42; string msg = "Jag är: ";//msg = "Jag är: " msg += "en sträng!!!"; //msg = "Jag är: en sträng!!!" msg = "answer" + " = " + answer; //msg = "answer = 42 msg = "Jag är en sträng som " + "innehåller mycket text. " + "Därför är jag uppdelad på " + "flera rader."; EC Utbildning AB 2013-01-15 4

Strängar Escape-sekvenser Escape-sekvenser är speciella tecken som kan ingå i en sträng och börjar alltid med ett backslash (\-tecknet) Tecken Beskrivning Exempel \" Citattecken "ett citat" \n Ny rad (new line) Rad 1 Rad 2 \t Tab Mer mellanrum \\ Backslash \ EC Utbildning AB 2013-01-15 5

Strängar Escape-sekvenser string text = "John\nDoe"; text = "\"Extra\"\t\tSpace"; text = "Ett citat:\n" + "\"Programmering är kul\"\n\n" + "\tkälla: en programmerare"; John Doe "Extra" Space Ett citat: "Programmering är kul" Källa: en programmerare EC Utbildning AB 2013-01-15 6

Strängar Escape-sekvenser Om du vill att strängen inte ska generera några dessa kan de stängas av med @- före strängen Detta innebär att strängen blir verbatim Texten tolkas precis som de är skrivna, tecken för tecken. Enda undantaget är citattecken ( ) som definieras av två stycken citattecken efter varandra (""). @-symbolen måste finnas framför alla strängar. EC Utbildning AB 2013-01-15 7

Strängar Escape-sekvenser Exempel på användning av verbatim //Båda strängarna tolkas som //C:\SharePoint\CSharp\Projects string path = "C:\\SharePoint\\CSharp\\Projects"; string fldr = @"C:\SharePoint\CSharp\Projects" string verbatim = @"\tecken \tolkas \noggrant, " + @"utom tecknet "" som skrivs med två citattecken"; \tecken \tolkas \noggrant, utom tecknet " som skrivs med två citattecken EC Utbildning AB 2013-01-15 8

Strängformatering 9 Elektronikcentrum i Svängsta AB

Strängformatering Formatering av nummer i strängar När vi skriver ut värden på variabler vill vi ofta ha dessa formaterade på ett speciellt sätt. Exempelvis vill man skriva ut värdena som valuta eller med ett visst antal värdesiffror. Med hjälp av de strängformateringar som finns inbyggda i.net får vi ännu bättre kontroll över hur våra data ska presenteras. EC Utbildning AB 2013-01-15 10

Strängformatering Strängformatering De vanligaste formateringarna: Typ Kod Formateras för att visa Exempel Currency C eller c som valuta (lokalt) 123,00 kr Percent P eller p som procent (1 = 100%) 0,15 % Exponential E eller e med vetenskaplig notaton 1,234567e+006 Fixed Decimal F eller f med ett antal värdesiffror 123,00 General G eller g Antingen som exponentiell eller fixed decimal, beroende på vilken som är mest kompakt 123 EC Utbildning AB 2013-01-15 11

Strängformatering Strängformatering För att använda en formatering behöver vi kunna skicka med formateringskoden. Detta kan göras på olika sätt: Alla datatyper (och klasser) har en metod som heter.tostring() som konverterar värdet till en sträng. I denna kan vi skicka med formateringskoden som en parameter. I Console.WriteLine() samt den statiska metoden String.Format(). Här skriver man värdets index, sedan dess position inom måsvingar. Exempelvis {0:e} för att formatera det första elementet. EC Utbildning AB 2013-01-15 12

Strängformatering Strängformatering Det går även att definiera precisionen för vår formatering. Detta görs genom att ange precisionen direkt efter formateringskoden decimal thecost = 1547.2m; int somebignumber = 1499900; //Using.ToString() on the variables string cost = thecost.tostring("c"); //"1.547,20 kr" string bignumber = somebignumber.tostring("e2");//"1,50e+006" //Using the static method String.Format string taxrate = String.Format("{0:p}",.025m); //"2,50 %" string quantitystring = String.Format("{0:f0}", 15000.78); //"15001" string paymentstring = String.Format("{0:f3}", 432.8175); //"432,818" //Using Console.WriteLine()'s built in formatting feature Console.WriteLine("Current price is {0:c}", thecost); Console.WriteLine("Using 4 significant digits: {0:g4}", 15000.78); Current price is 1.547,20 kr Using 4 significant digits: 1,5e+04 EC Utbildning AB 2013-01-15 13

Strängformatering Strängformatering Det går att skicka med flera variabler för utskrift. Vi kommer åt de olika variablerna genom att ange dess index Ofta inom programmering ligger det första elementet i en samling med data på indexplats 0, så även här. Vi kan alltså återanvända samma variabel på flera ställen i en sträng, och i vilken ordning vi vill. EC Utbildning AB 2013-01-15 14

Strängformatering Strängformatering //Declare several variables on the same line decimal money = 10m, persons = 3m; decimal result = money / persons; double x = 4, power = 3; Console.WriteLine("Ni är {0} personer som ska dela på {1:c}", persons, money); Console.WriteLine("{0:c} / {1} st = {2:c} per person", money, persons, result); Console.WriteLine("---"); Console.WriteLine("{0} * {0} * {0} = Math.Pow({0},{1}) = {2}", x, power, Math.Pow(x, power)); Console.ReadKey(); Ni är 3 personer som ska dela på 10,00 kr 10,00 kr / 3 st = 3,33 kr per person --- 4 * 4 * 4 = Math.Pow(4,3) = 64 EC Utbildning AB 2013-01-15 15

Övning 1 Skriv ett program enligt anvisningarna nedan. Läser in för och efternamn samt ålder. Detta skall sedan presenteras på följande vis med förnamn och efternamn och åldern enligt vetenskaplig notation. Skriv sedan ut samma sak men byt plats på för och efternamn utan att byta plats på variablerna på raden.. Formateringen ska göras med formateringssträngarna. EC Utbildning AB 2013-01-15 16

Övnign 2 Skriv ett program enligt anvisningarna nedan. I en affär kostar en produkt 200 kr. Då den inte sålde så bra har man lagt på en rabatt på 40 %. Din uppgift är nu att skriva ut dessa värden, samt det nya priset. Utskriften ska vara rätt formaterad, alltså all presentation av priser ska anges som valuta och rabatten ska anges som procent. Formateringen ska göras med formateringssträngarna. Rabatten kan beräknas med formeln newprice = oldpice*(1-discountrate). EC Utbildning AB 2013-01-15 17