F5 - Fält & strängar 1 Programmeringsteknik, 4p vt-00 Fält Många element av samma typ Typexempel : lista av heltal Gemensamt namn Individuella värden nås.

Slides:



Advertisements
Liknande presentationer
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Advertisements

© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
Funktioner och programorganisation
1 Listor En sekvens värden av samma typ Nr 5. 2 Listor Sekvens av värden, element Variabelt antal Alla med samma typ Bara första elementet direkt åtkomligt.
Programmeringsteknik
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
Operatorer.
Programmeringsteknik Föreläsning 4 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL
#include void fun(char s[]) { int i=-1; while(s[++i]!=0) { if('a'
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Arrays Indicerade variabler.
Metoder i java Det finns två typer av metoder i java
C-programmering ID120V William Sandqvist Länkad lista
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programkodens uppbyggnad
1 Föreläsning 3 Datalogi för E1 / 2D1343 Repetition List List operationer Stränghantering For-slingor.
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Strömmar Vid läsning och skrivning används något som kallas strömmar.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
Programmering i C# 3. Klasser.
Ali Ghodsi Variabler En variabel är en sorts behållare som man kan placera data i Man måste ange typ och namn för alla variabler.
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö.
Datasamlingar och generiska enheter
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Programmeringsteknik för Media1 & K1
Listor En lista är en föränderlig ordnad samling objekt.
Grundläggande programmering
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Problemlösningsmetodik
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
Tabellrelationer Innan ni får göra lite övningar tänkte jag att jag skulle gå igenom lite om tabellrelationer.
Föreläsning 4 Klasser Och Objekt.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
Föreläsning 4 Listor, tupler, och for-loopar. Listor En lista är en föränderlig ordnad samling objekt. Listor skapas med hakparenteser. lista = [12,13,14,15]
INTRODUKTION TILL PROGRAMMERING
Programmeringsteknik Föreläsning 8 Skolan för Datavetenskap och kommunikation.
F6 - Pekare 1 Programmeringsteknik, 4p vt-00 Pekare & adresser Alla variabler är knutna till en viss adress i minnet int i; adressen till denna fås med.
Föreläsning 7 Programmeringsteknik och Matlab DD1315 Kommandotolk parametrar Klass Instans Metod konstruktor.
Anders Sjögren Deklarationsområde och funktioner.
Lennart Edblom & Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
F2 1 Programmeringsteknik, 4p vt-00 Kommentarer Allt mellan /* och */ Varje kommentar byts ut mot en blank av kompilatorn /* Exempel på uttryck, tilldelningsoperatorn.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 14.
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder.
Anders Sjögren Operatorer. Anders Sjögren Operand(er)
Anders Sjögren Minnen, variabler, att lagra i primärminnet forts. Den här bilden känner ni igen sedan tidigare. Vi skall fortsätta att prata variabeltyper.
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Python.
Föreläsning 3 Programmeringsteknik
Mer om repetionssatser och arrayer
Presentationens avskrift:

F5 - Fält & strängar 1 Programmeringsteknik, 4p vt-00 Fält Många element av samma typ Typexempel : lista av heltal Gemensamt namn Individuella värden nås med index

F5 - Fält & strängar 2 Programmeringsteknik, 4p vt-00 exempel /* * Exempel på enkel heltalslista */ #include int main(void) { int res[10]; /* OBS! index = 0..9 */ int i; for (i=0;i<=9;i++) { res[i] = 10-i; printf("res[%d]=%d\n",i,res[i]); } return 0; } Antal element

F5 - Fält & strängar 3 Programmeringsteknik, 4p vt-00 Körning

F5 - Fält & strängar 4 Programmeringsteknik, 4p vt-00 Initialisering Elementen i fältet kan ges värden vid deklarationen int res[10]={10,9,8,7,6,5,4,3,2,1}; Om listan är kortare än det angivna antalet, blir resterande element 0 int res[10]={0}; initialiserar alla el. till 0 Det bästa är att själv explicit initialisera alla element for (i=0;i<=9;i++) res[i]=0; /* Initialisering */ Antalet kan utelämnas om el. initialiseras med lista int res[]={10,9,8,7}; /* 4 el. index 0..3 */

F5 - Fält & strängar 5 Programmeringsteknik, 4p vt-00 Indexering fältnamn[uttryck] Där uttrycket kan evalueras till integral type (s.111), dvs någon heltalstyp eller char. Viktigt att hålla sig inom indexgränserna (0..antal el.-1) MYCKET vanligt programmeringsfel!

F5 - Fält & strängar 6 Programmeringsteknik, 4p vt-00 Sortera en lista Lista av n st. osorterade heltal lista 1, lista 2, lista 3, …, lista n ordnas i stigande följd. Algoritm BubbelSort(lista,n) bytt = true sist = n repeat for i=1 to sist-1 do begin if lista i > lista i+1 then begin byt plats bytt = true end sist = sist - 1 until not bytt

F5 - Fält & strängar 7 Programmeringsteknik, 4p vt-00 Kod do { bytt = 0; /* logiskt false */ for (i=0;i <= sist-1; i++) { if (lista[i] > lista[i+1]) { temp = lista[i]; lista[i] = lista[i+1]; lista[i+1] = temp; bytt = 1; /* logiskt true */ } sist = sist - 1; }while (bytt);

F5 - Fält & strängar 8 Programmeringsteknik, 4p vt-00 Körning Listan före sortering Listan sorterad

F5 - Fält & strängar 9 Programmeringsteknik, 4p vt-00 Spårad körning Listan före sortering varv <-- 0 och 1 bytt <-- 1 och 2 bytt <-- 2 och 3 bytt <-- 3 och 4 bytt <-- 4 och 5 bytt <-- 5 och 6 bytt <-- 6 och 7 bytt <-- 7 och 8 bytt

F5 - Fält & strängar 10 Programmeringsteknik, 4p vt-00 …varv <-- 7 och 8 bytt varv <-- 1 och 2 bytt <-- 3 och 4 bytt <-- 4 och 5 bytt <-- 5 och 6 bytt <-- 6 och 7 bytt

F5 - Fält & strängar 11 Programmeringsteknik, 4p vt-00 Textsträngar Ett fält av tecken Har enkel initialisering char kursNamn[]= ”Programmeringsteknik”; samma som char kursNamn[]= {’P’,’r’,’o’,’g’,’r’,’a’,’m’,’m’,’e’,’r’, ’i’,’n’,’g’,’s’,’t’,’e’,’k’,’n’,’i’,’k’,’\0’};

F5 - Fält & strängar 12 Programmeringsteknik, 4p vt-00 Textsträngar void exempel1(void) { char strng[10]; /* OBS! index = 0..9 */ int i; printf(" exempel \n\n"); printf("Mata in en sträng : "); scanf("%s", strng); /* Se scanf s.500 */ printf("-->%s<--\n", strng); printf("-- konverteringstecknet %s --\n\n"); }/* exempel1 */

F5 - Fält & strängar 13 Programmeringsteknik, 4p vt-00 Körning exempel Mata in en sträng : så här -->så< konverteringstecknet ----

F5 - Fält & strängar 14 Programmeringsteknik, 4p vt-00 Mera om textsträngar I C avslutas en sträng alltid med tecknet ’\0’ null-tecknet/end-of-string Se det som att strängar har variabel längd med avslutas med ett speciellt tecken. Det utrymme som reserveras måste inkludera en plats för null-tecknet ”mars” är en sträng av längd 5 ”tomma strängen” ”” är en sträng av längd 1

F5 - Fält & strängar 15 Programmeringsteknik, 4p vt-00 Strängfunktioner strcat(sträng1, sträng2) konkatenerar två strängar, resultaterande sträng returneras (även i sträng1) strcmp(sträng1, sträng2) jämförelse, ”logiskt” värde returneras (-,0,+) om sträng1 är lexikografiskt sträng2 strcpy(sträng1, sträng2) kopierar sträng2 till sträng1, som skrivs över, (en pekare till) resultatet returneras strlen(sträng) antalet tecken före \0 returneras

F5 - Fält & strängar 16 Programmeringsteknik, 4p vt-00 strcat void exempel2(void) { char str1[] = "Första strängen"; char str2[] = "Andra!"; printf(" exempel \n\n"); printf("-->%s<--\n",strcat(str1,str2)); printf(" konkatenering \n\n"); }/* exempel2 */

F5 - Fält & strängar 17 Programmeringsteknik, 4p vt-00 Körning exempel >Första strängenAndra!< konkatenering

F5 - Fält & strängar 18 Programmeringsteknik, 4p vt-00 strcpy void exempel3(void) { char str1[] = "Första strängen"; char str2[] = "Andra!"; printf(" exempel \n\n"); printf("-->%s<--\n", strcpy(str1,str2)); printf(" strängkopiering \n\n"); }/* exempel3 */

F5 - Fält & strängar 19 Programmeringsteknik, 4p vt-00 Körning exempel >Andra!< strängkopiering

F5 - Fält & strängar 20 Programmeringsteknik, 4p vt-00 strlen void exempel4(void) { char str1[] = ""; /* Tomma strängen */ char str2[] = " "; /* ett blanktecken bara */ int lgd; printf(" exempel \n\n"); lgd = strlen(str1); printf("Tomma strängens längd = %i\n",lgd); printf("Sträng med bara ett blanktecken har längden = %i\n",strlen(str2)); printf(" stränglängd \n\n"); }/* exempel4 */

F5 - Fält & strängar 21 Programmeringsteknik, 4p vt-00 Körning exempel Tomma strängens längd = 0 Sträng med bara ett blanktecken har längden = stränglängd

F5 - Fält & strängar 22 Programmeringsteknik, 4p vt-00 strcmp void exempel5(void) { char str1[] = "sven svensson"; /* Liten */ char str2[] = "Sven Svensson"; /* Stor */ printf(" exempel \n\n"); if (strcmp(str1,str2)) printf("Lika, ty %s = %s\n",str1,str2); else if (strcmp(str1,str2) < 0) printf("%s < %s\n",str1,str2); else if (strcmp(str1,str2) > 0) printf("%s > %s\n",str1,str2); else printf("Hit kan man inte komma!\n"); printf("----- strängjämförelser -----\n\n"); }/* exempel5 */

F5 - Fält & strängar 23 Programmeringsteknik, 4p vt-00 Körning exempel Lika, ty sven svensson = Sven Svensson strängjämförelser