Föreläsning 3.1: Datastrukturer, en översikt
|
|
- Erik Åström
- för 8 år sedan
- Visningar:
Transkript
1 Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består, nämligen data. Man inser ganska snabbt att man inte kommer någon vidare stans utan variabler i sitt program. Nu är det dags att ta ett steg vidare med denna insikt. På den här föreläsningen skall jag ge en översikt över på vilka sätt man kan lagra data. Man brukar kalla detta för datastrukturer. Vilka datastrukturer har vi pratat om hittills? Egentligen kan man se de datatyper som vi träffat på som väldigt grundläggande "datastrukterer". Integer / Float Character Boolean String bitar = 4 byte 64 bitar = 8 byte byte bit char char char char char Med dessa bilder försöker jag förmedla att olika datatyper tar olika mycket plats. Vi kan börja med Character som borde vara tämligen enkel att förstå eftersom den representerar ett enskilt tecken t.ex. 'A'. Nu visar det sig att det finns många olika sätt att göra detta på och det kan faktiskt behövas olika mycket minne för olika tecken. Om man dock håller sig till de allra vanligaste tecknen, d.v.s 'A'-'Z', 'a'-'z', '.' '!' '?', '0'-'9' m.fl. så räcker det med byte minne för att kunna representera alla dessa. Vad är då en byte? Tja, det är 8 bitar. En bit är det vi kallar den minsta enheten minne i datorn, d.v.s. en etta eller en nolla. Rent tekniskt så brukar man säga att ett symboliserar "ström på" och noll står för "ström av". Tänk dig en glödlampa: på =, av = 0. Med endast en sån lampa kan man inte symbolisera mer än två saker, men tänk om man hade fler? Med 8 lampor kan man få till ganska många kombinationer. Vi kan faktiskt representera 56 olika situationer med en sådan uppsättning! Allt vi behöver göra är att bestämma vilken kombination som skall betyda vilket tecken. Ganska smart! Just denna kombination skulle faktiskt motsvara tecknet 'W'. Man kan ju även se sekvensen ovan som ett heltal i basen två. I vårt "vanliga" talsystem, d.v.s basen tio, har vi ju ental, tiotal, hundratal och så vidare. För att t.ex. representera 56 tar vi * * *. Precis på detta sätt fungerar det i alla talbaser. I basen två har man då istället för, 0 och 00, faktorerna,, 4, 8, o.s.v. D.v.s de tal som man får när man tar ⁰, ¹, ², ³... Om man nu tänker på samma sätt som med exemplet i basen tio men för lamporna får vi: 0* ⁷ + * ⁶ + 0* ⁵ + * ⁴ + 0*³ + *² + *¹ + * ⁰ = 87 (Alltså stod 'W' på den 87:e raden i teckentabellen...) Det är självklart inte så att det sitter en massa glödlampor i en dator. Men det finns små minneselement som kan lagra antingen eller 0 på precis detta sätt. Klumpar vi ihop dessa så kan vi lagra precis vad vi vill. Vi har här sett ett exempel på hur 8 bitar (= byte) kan användas för att
2 antingen lagra ett tecken eller ett tal. Det beror helt på vilken datatyp som vi anser att just dessa minnesbitar har! För just datatypen Integer vill man dock vanligtvis ha mer än byte eftersom tal vanligtvis kan bli mycket större än vad man kan representera med byte. Om vi tar 4 byte ( bitar), och dessutom låter en av bitarna tala om huruvida talet skall vara negativt eller positivt så kan man representera tal från ca minus två miljarder till ca plus två miljarder. Har man större eller mindre tal än så så får man helt enkelt använda sig av en annan datatyp. För reella tal inser man direkt att det blir problem. Även om vi begränsar oss till -N...+N så finns det ju ändå oändligt många tal däremellan om vi tänker på alla "decimaltal". För att representera oändligt många tal skulle det behövas oändligt mycket minne, något som datorer tyvärr inte har. Det enda rimliga är att helt enkelt klippa av en bit minne och sedan göra det bästa av situationen. Exakt hur man representerar ett reellt tal kan vi prata om någon senare gång. Om vi tittar på datatypen Boolean så är den lite speciell. Den används för att representera sant och falskt och är praktisk i många logiska sammanhang. Eftersom det bara är två värden som skall representeras så skulle det räcka med en enda bit för att fixa detta. I praktiken går detta egentligen inte, eftersom datorers arkitektur inte tillåter att man manipulerar enskilda bitar i minnet. När man hanterar minnet måste man hantera minst byte, d.v.s 8 bitar. Därför tar själva datatypen boolean byte minne, det är faktiskt bara bit i denna byte som används. Vad det gäller String så ser man ju att denna egentligen inte är så "enkel" som de övriga. Det är en s.k. sammansatt datatyp. Vi vet sedan tidigare att String är en samling tecken, och är behändig när man vill lagra text. Vi kommer tillbaka till sammansatta datatyper strax. Alla dessa datatyper är toppen när man vill lagra enkla saker. T.ex. ett lotterinummer, veckans ord, gårdagens maxtemperatur. Vi tänker oss nu en situation där vi vill lagra ett mer komplext data, t.ex. datat som representerar en person, det kan ju bestå av flera delar: Rutorna här kan få representera storleken på de datatyper som skall representera de olika delarna. För namnet är String bra, för skonummer duger en Float. et behöver bara kunna ha två värden, en boolean skulle kunna funka. Utan att göra något mer nu så kan vi faktiskt säga att detta är en datastruktur för en person. Det behöver alltså inte vara krångligare än att man har tre variabler. Det som är tråkigt är att programmeraren överallt i sitt program behöver komma ihåg att datastrukturen består av dessa tre. Det är förvisso inte så svårt, men om man har många datastrukturer, med väldigt många delar och det kanske inte är en själv som har skapat datastrukturen så blir detta väldigt bökigt - inte omöjligt, men bökigt. Det man egentligen skulle vilja göra är att klumpa ihop dessa tre, så att man inte kan tappa bort något på vägen. Då skulle man också kunna se det som ett data - datat för en person. Jag vill förtydliga detta genom att rita en ruta kring dessa tre variabler. Jag vill att dessa tre skall bilda en ny, sammansatt datatyp, så att jag hädan efter aldrig behöver vara tvungen att komma ihåg exakt hur den ser ut inuti. Just detta mantra har ni nu redan hört en gång. Jag vill inte behöva var tvungen att veta de exakta detaljerna över det jag använder. När vi hörde det sist handlade de om att skapa underprogram, så man slapp bekymra sig om detaljer i huvudprogrammet - man skapade abstraktion. Vi köra samma sak här faktiskt, fast vi gör det med data.
3 Att klumpa ihop data på detta sätt kallas för att man gör en Post (på engelska "record"). Vår nya datatyp, som vi kan kalla för Person_Type, är alltså en Post med tre delar. När vi ändå håller på och fantiserar över vilka nya datastrukturer som vi skulle kunna hitta på så kan vi tänka oss att man skulle vilja föra ett register över olika personer. Man skulle då åter igen kunna klumpa ihop data som tidigare och skapa en ny form av post som innehåller ett stort antal personer. Det ända som hindrar oss är egentligen att komma på namnen på dessa delar i posten. Varje del av posten måste nämligen ha ett namn. Okej, vi skulle kunna köra på "Person", "Person", "Person", o.s.v. men det visar sig att det finns ett smidigare sätt. Att klumpa ihop många av samma data är nämligen mycket vanligt. Det händer mycket ofta att man t.ex. vill lagra etthundra heltal. Eftersom det är så vanligt har man i de allra flesta programmeringsspråk en annan form av sammansättning som gör att man istället för att namnge delarna i datastrukturen, kan numrera dem med ett intervall. Detta kallas för ett fält (på engelska "array"). Vi kan illustrera det så här:... N Utöver att det är siffror, eller index som de kallas, finns det en annan skillnad jämt emot posten: det måste vara samma datatyp på varje index i fältet. Anledningen till detta är att det skall vara lika stort data på varje plats, eftersom datorn "hoppar" till rätt person genom att multiplicera storleken av en Person_Type med det indexet man vill komma åt. Man skall alltså inte glömma att en sådan datastruktur behöver en del minne. Hur mycket? Vi kan ju faktiskt räkna på det. Om vi antar att namnet är en sträng på 40 tecken, det blir 40 byte. Skonummret är en float á 8 byte, och könet är en boolean, vilket kostade byte. Allt som allt är detta ca 50 byte. Om N är två miljoner blir detta alltså sammanlagt ca hundra miljoner byte. Är det mycket? Tja, det beror på vad man jämför med. Men man ska komma ihåg att ingenting är gratis när man börjar skapa datastrukturer. Värt att poängter är att jag nu ritade detta fält på ett lodrätt sätt. Men jag hade lika gärna ritat det vågrätt. Datorer gör ingen egentlig skillnad på detta, utan det får man hålla reda på själv. Om vi tänker efter en stund så inser vi nu att String självklart också är ett fält. Det är helt enkelt ett annat exempel på när man vill lagra en sekvens av en viss datatyp. Det spelar faktiskt ingen egentlig roll vad som lagras i ett fält. Alla fungerar på samma sätt. Vi skulle t.ex. kunna ha ett fält med sju flyttal för att representera en veckas temperaturer: Man kan till och med tänka sig en datastruktur som är ett fält, som består av fält. Antag att vi skall göra ett lite tre-i-rad (eller tic-tac-toe som det också kallas). Då skulle det vara praktiskt med ett fält som ser ut på följande vis:
4 ' ' 'o' 'o' ' ' 'o' eller så här Själva kryssen och ringarna skulle man kunna representera med tecken, eller kanske heltal. Det finns många andra sätt att rita upp en datastruktur som skulle vara lämplig för just detta ändamål. Oavsett vilket man använder så ser vi att detta koncept är så pass generellt att man även kan göra sammansatta datatyper av andra sammansatta datatyper. Men fält och poster kan vi alltså skapa oss precis hur komplexa strukturer som vi vill. Det enda som egentligen sätter gränsen är just hur mycket minne som dessa strukturer tar. För eller senare så kommer man komma till en punkt där man inte längre kan lagra allt sitt data i internminnet utan behöver pytsa ut saker på hårddisken. Det vi pratar om då är lagring av data på fil. En fil på datorns hårddisk består också av ettor och nollor. Det lättaste är att tänka sig det som en lång radda med ettor och nollor, tills det kommer ett filslut. F : f Exakt vad som ligger på filen beror ju på hur man tolkar datat. Om vi ser det här som characters så får vi alltså titta på 8 bitar i stöten. När vi pratar om textfiler så är det detta vi menar. Textfiler har har också det kravet att det skall vara ett radslutstecken precis innan filslutet, (om filen inte är tom d.v.s.). Om man bortser från textfiler och pratar om det vi brukar kalla för binärfiler finns det egentligen två typer. Den ena typer är sådana filer som i princip fungerar på samma sätt som textfiler, d.v.s. det är samma datatyp hela vägen i filen. T.ex. en fil med bara heltal. Den andra typen är sådan att det kan vara olika data i filen, då ser vi det mer som det vi kallar för en ström. Dessa två typer av filer kommer vi inte jobba särskilt mycket med, men det är bra att veta att de finns, och att det i grund och botten är samma principer som gäller för dessa som för textfiler. Oavsett vad det är för data som ligger på filen som måste man känna till formatet om man skall kunna tillgodogöra sig det data som finns lagrat däri. Det kan t.ex. vara så att man vet att det först kommer tre heltal och sedan ett tabulatortecken på varje rad. Eller att man vet hur långa raderna är, eller något annat. Ofta finns en hel del av informationen om hur filen skall tolkas i filens första del, i en s.k. "header". Detaljerna kring hur man läser och skriver till filer tar vi upp i C++ i nästa period. Om vi nu går tillbaka till just internminnet så skulle man kunna rita upp ett litet diagram över ett programs minnesanvändning:
5 Använt Minne Program B Program A När det kommer till de datatyper och datastrukturer som vi hittills pratat om så har de alla den egenskapen att man måste deklarera i förväg hur mycket minne man behöver. Mer än så kan programmet helt enkelt inte hantera! Detta betyder också att operativsystemet måste låta programmet ha detta minne under hela sin körtid. Vill man köra fler program så gäller samma sak för dem, och minnet blir snabbt fullt. Om det kommer fler program som vill köra, så får de antingen vänta eller avbryta sin körning om det inte finns tillräckligt med minne för att de skall kunna starta. Den egentliga minnesanvändningen varierar antagligen mycket under programmets exekvering, både uppåt och nedåt, jag har ritat den med en streckad linje. Om man istället kunde få till så att program kunde få begära mer minne då de behövde det, och sedan lämna tillbaka minne då de var färdiga med det så kanske fler program skulle kunna köras samtidigt! Detta är vad vi brukar kalla för dynamiskt minne (till skillnad från statiskt minne som vi hittills har tittat på). För att åstadkomma detta kan man använda sig av pekare. En pekare är en datatyp som inte innehåller något egentligt data i sig, utan en referens till en plats i datorns minne (man brukar säga att den lagrar en adress) där det ligger data. Man kan rita upp det så här: I : P: 7 7 Här ser vi en vanlig heltalsvariabel I och en pekare P. Minnesplatsen som pekaren P refererar till ligger alltså utanför vårt program. När ett program startar brukar pekarna inte refererar någon särskild stans, utan det är först när programmet själv ber operativsystemet att låta P referera till en ny plats i minnet som detta sker. Detta kan ske när som helst under programmet! Efteråt kan programmet komma åt minnesplatsen genom att följa referensen i P. Naturligtvis är det också viktigt att programmet lämnar tillbaka minnet innan programmet kört klart. Annars kan operativsystemet missa att markera minnet som "ledigt" igen, och det kan bli minnesläckor. Att som i figuren ovan använda en pekare för att peka ut ett heltal är inte aktuellt så ofta. Man gör ju gärna på detta vis när datastrukturen är stor och onödig att ha i minnet hela tiden. Det är absolut vanligast att det man pekar på är en sammansatt datatyp. Om vi nu leker med tanken att det vi pekar på är en post så kan denna post, förutom annat data som man kanske vill lagra där också ha utrymme för en till pekare, ungefär så här:
6 D: L: L: D: L: Då skulle den pekare också i sig kunna peka vidare till en ny sådan post, o.s.v. Detta blir som en kedja som kan bli så lång, eller så kort som man önskar just för ögonblicket. Vi brukar kalla detta för en länkad lista. "D" skulle ju kunna vara precis vilken annan datatyp som helst som man nu vill lagra många av. Lite förenklat kan man rita detta på följande sätt: L: Den sista pekaren i listan kommer ju inte att peka på en ny post, så vi ritar den som ett snett streck. Man säger även att detta är en "nullpekare", eller att "den pekar på null". Exakt vad detta betyder kommer vi tillbaka till. Man kan direkt tänka sig ett par varianter på sådana "länkade" strukturer. I listan ovan kan man ta sig till nästa post genom att följa pekaren, men det går inte att ta sig tillbaka. Det finns dock dubbellänkade listor som råder bot på detta. Där består varje post i listan av ett data och två pekare, en som pekar framåt till nästa post, och en som pekar bakåt till föregående. L: Den sista strukturen som kan vara roliga att känna till är en trädstruktur. Om vi tar en post som i föregående exemplet, d.v.s. en post med ett data och två pekare. Men vi låter pekarna peka på två helt nya poster, så kan vi få en helt annan struktur: T: Detta är en helt annan lagringsform som kallas för binärt träd. Det går att utnyttja till många olika saker. Ni kommer att få lära er mycket mer om det i senare kurser. Nu har vi pratat igenom alla datastrukturer som ni kommer stöta på i den här kursen, plus lite till. Vad man nu än skall göra, vilket problem man än har framför sig, så lönar det sig enormt att tänka igenom hur man skall lagra sitt data. Att rita upp datastrukturer är viktigt för att förklara för andra (och för sig själv!) hur man har tänkt att datat skall lagras. Ni kommer därför att få en inlämningsuppgift som handlar om just detta.
Föreläsning 4: Poster
Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra
Läs merUtvärdering av föräldrakurs hösten 2013
Utvärdering av föräldrakurs hösten 2013 - Har du verktyg för att bemöta din oroliga och nedstämda tonåring? Föräldrakursen oro/nedstämdhet är ett samarbete mellan Råd & stöd, Gamla Uppsala familjeenhet
Läs merGrunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merKommentarmaterial, Skolverket 1997
Att utveckla förstf rståelse för f r hela tal Kommentarmaterial, Skolverket 1997 Att lära sig matematik handlar om att se sammanhang och att kunna föra logiska resonemang genom att känna igen, granska
Läs mera), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.
PASS 9. OLIKHETER 9. Grundbegrepp om olikheter Vi får olikheter av ekvationer om vi byter ut likhetstecknet mot något av tecknen > (större än), (större än eller lika med), < (mindre än) eller (mindre än
Läs mer5 Grundläggande in- och utmatning
5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta
Läs merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merHanne Solem Görel Hydén Sätt in stöten! MATEMATIK
Hanne Solem Görel Hydén Sätt in stöten! MATEMATIK Multiplika tion Multiplikation, 5-tabellen Att multiplicera är detsamma som att addera samma tal flera gånger. Det kallar vi upprepad addition. 3 5 kan
Läs merGrundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Läs merIntroduktion till integrering av Schenkers e-tjänster. Version 2.0
Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen
Läs merProgrammering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Läs merMultiplikation genom århundraden
Multiplikation genom århundraden För många elever i skolan kan multiplikation upplevas som något oöverstigligt. Addition och subtraktion kan de förstå sig på men inte multiplikation. Utan förståelse för
Läs mer6-stegsguide för hur du tänker positivt och förblir positiv.
6-stegsguide för hur du tänker positivt och förblir positiv Låt oss säga att du vill tänka en positiv tanke, till exempel Jag klarar det här galant. och du vill förbli positiv och fortsätta tänka den här
Läs mer8-4 Ekvationer. Namn:..
8-4 Ekvationer. Namn:.. Inledning Kalle är 1,3 gånger så gammal som Pelle, och tillsammans är de 27,6 år. Hur gamla är Kalle och Pelle? Klarar du att lösa den uppgiften direkt? Inte så enkelt! Ofta resulterar
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merEn handledning för studerande på Högskolan Kristianstad
Använda kurskonferenser i FirstClass En handledning för studerande på Åsa Kronkvist, augusti 2005 Innehåll Introduktion...3 Webbklient eller FirstClassklient?...3 Allt ligger online...3 Hitta rätt...4
Läs merOM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004
OM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004 Ibland dyker det upp ord som är så fantastiskt användbara och bra att man inte kan begripa hur man någonsin klarat sig utan
Läs merNallelek Lärarvägledning
NALLELEK - LÄRA MERA PROGRAM AB Nallelek Lärarvägledning NALLELEK... 2 1.1 Programmet... 2 1.2 Övningar som stärker förmågan att iaktta bilder och se detaljer... 3 1.2.1 Pedagogiska tips... 3 1.3 Kategorisering
Läs merDecimaltal Kapitel 1 Decimaltal Borggården Diagnos Rustkammaren Tornet Sammanfattning Utmaningen Arbetsblad Läxboken 1:1 Läxa 1 1:2 1:3 Läxa 2 1:4
Kapitel 1 6A-boken inleds med ett kapitel om decimaltal. Kapitlet börjar med en repetition av tiondelar och hundradelar. Sedan följer en introduktion av tusendelar med utgångspunkt i hur vikt anges på
Läs mer52101 Utforska siffror
52101 Utforska siffror Innehåll: 1 uppsättning brickor, numrerade från 1 till 24 1 uppsättning räknebrickor 1 uppsättning med 30 stora siffror plastdjur 4 blanka brickor en låda med lock kopieringsbara
Läs merFrågor och svar om TNC-term
Frågor och svar om TNC-term Allmänt: Onlineversion av TNC-term dröjer Installation: Det går inte att lagra databasen på hårddisk eller exportera posterna till annat söksystem Installation: Singelinstallation
Läs merSå, med nytt (inget) hår satte jag mig på planet till Irland och Dublin!
Hallojs! En reseberättelse om Irland Jag heter Fabian, går tredje året på Datateknik ute i Kista och tänkte berätta om min förra höst, då jag var i Irland och lekte runt! Varför Irland kanske man frågar
Läs mer1 Funktioner och procedurell abstraktion
1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs mer9-1 Koordinatsystem och funktioner. Namn:
9- Koordinatsystem och funktioner. Namn: Inledning I det här kapitlet skall du lära dig vad ett koordinatsystem är och vilka egenskaper det har. I ett koordinatsystem kan man representera matematiska funktioner
Läs mer8-1 Formler och uttryck. Namn:.
8-1 Formler och uttryck. Namn:. Inledning Ibland vill du lösa lite mer komplexa problem. Till exempel: Kalle är dubbelt så gammal som Stina, och tillsammans är de 33 år. Hur gammal är Kalle och Stina?
Läs merGOLFINSPIRATION 2015. Inledning. Släpp kontrollen
GOLFINSPIRATION 2015 Inledning Släpp kontrollen En golfsving är en komplex rörelse. Med många tankar, muskler och flera kroppsdelar involverade ska vi träffa en liten boll med ett verktyg som bara är 1
Läs merInledande programmering med C# (1DV402) 27+15=42 1 (22)
27+15=42 1 (22) Variabler 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
Läs merUTVECKLA SÅ UTVECKLAR NI ER FÖRENING!
UTVECKLA SÅ UTVECKLAR NI ER FÖRENING! HEJ! Föreningen eller klubben är en av de viktigaste grundstenarna i Socialdemokraterna. Det är den verksamhet som de flesta av våra medlemmar möter i sitt vardagsengagemang.
Läs merTärna Folkhögskola 2010-06-03 IT-pedagogutbildningen Individuellt fördjupningsarbete Vt 2010 2010-06-03 IT I FÖRSKOLAN. Författare:Tove Andersson
Tärna Folkhögskola 2010-06-03 IT-pedagogutbildningen Individuellt fördjupningsarbete Vt 2010 2010-06-03 IT I FÖRSKOLAN Författare:Tove Andersson Innehåll Inledning:... 2 Syfte:... 2 Frågeställningar:...
Läs merObjektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs merTentaupplägg denna gång
Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva
Läs merChapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Läs merBegrepp :: Determinanten
c Mikael Forsberg 2008 1 Begrepp :: Determinanten Rekursiv definition :: Kofaktorutveckling Låt oss börja definiera determinanten för en 1 1 matris A = (a). En sådan matris är naturligtvis bara ett vanligt
Läs merDel 1. Ett exempel: Hur rädd är du för att gå till tandläkaren? 0 1 2 3 4 5 6
Multidimensional Pain Inventory Med hjälp av frågorna, som ställs i följande tre delar, vill vi försöka kartlägga värkproblemen ur din egen synvinkel. Detta är viktigt, eftersom du naturligtvis är den
Läs merPositiv Ridning Systemet Arbetar min häst korrekt? Av Henrik Johansen
Positiv Ridning Systemet Arbetar min häst korrekt? Av Henrik Johansen Detta test på hur din häst arbetar tar ca tre minuter och bör ingå i uppvärmningen varje dag. Du måste veta vad du vill när du sitter
Läs merDatastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada
Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,
Läs mer1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet
1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken
Läs merLäs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.
Bruksanvisning Installera CubeBiz... 2 Välj språk... 2 När du vill köra testversionen i 15 dagar... 3 När du köper en CubeBiz-licens... 3 Registrera en giltig licensnyckel... 3 Starta ett nytt projekt...
Läs merDatorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer
Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma
Läs merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merÖvning 1: Vad är självkänsla?
Självkänsla Inledning OBS! Hela föreläsningen ska hålla på i 45 minuter. Samla gruppen och sitt gärna i en ring så att alla hör och ser dig som föreläsare. Första gången du träffar gruppen: Föreläsaren
Läs merIntroduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merEnkla 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 merLåt eleverna öva på att dra slutsatser om textens handling genom att leta ledtrådar i texten.
Till läraren om kopieringsunderlag: Ledtrådar och bevis Låt eleverna öva på att dra slutsatser om textens handling genom att leta ledtrådar i texten. 1. De börjar med att titta på rubriker och bilder.
Läs merFörberedelser: Sätt upp konerna i stigande ordningsföljd (första inlärningen) eller i blandad ordningsföljd (för de elever som kommit längre).
Räkna till 10 Mål: Eleverna skall kunna räkna till 10, i stigande och sjunkande ordningsföljd. Antal elever: minst 10 elever. Koner med talen 1 till 10.( använd konöverdrag och skriv 10 på en lapp på 0-käglan)
Läs mer2016-03-18.kl.14-19. Tentaupplägg
Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer
Läs merInstruktioner för dig som ska söka till Mattekollo 2016
Instruktioner för dig som ska söka till Mattekollo 2016 Matematik är KUL men Mattekollo 2016 har tyvärr ett begränsat antal platser, nämligen 40 stycken. Det blir även ett roligare kollo om de som kommer
Läs merUppgift 1 ( Betyg 3 uppgift )
2005-06-09.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Ett plustecken kan se ut på många sätt. En variant är den som ses nedan. Skriv ett program som låter användaren mata in storleken på plusset enligt exemplen
Läs merProblem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB. 30.04.2015
Problem: BOW Bowling swedish BOI 0, dag. Tillgängligt minne: 6 MB. 30.04.0 Byteasar tycker om både bowling och statistik. Han har skrivit ner resultatet från några tidigare bowlingspel. Tyvärr är några
Läs merKursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret 12-13 Klass: SPR2
8 Mycket bra Bra Dåligt Mycket dåligt EAS 1. Hur var ditt första intryck av denna kurs? Mycket bra 6 21 Bra 21 75 Dåligt - - Mycket dåligt 1 4 EAS - - Antal EAS:. Antal svarande: 28. Mv: (Skala 1) = 78,57
Läs mer7 steg från lagom till världsklass - 7 tips som berikar Ditt liv
7 steg från lagom till världsklass - 7 tips som berikar Ditt liv Lagom är bäst, eller? Om vi säger något tillräckligt ofta tenderar det ju att bli sant, eller hur? Jag gissar att Du, mer eller mindre medvetet,
Läs merAnvisningar för ifyllning av Excelark för databaser (sekventiella textfiler)
2009-10-09 (reviderad 2011-01-04, 2011-01-31, 2011-10-03, 2012-02-20, 2012-09-17, 2014-05-09) Riksarkivet Anvisningar för ifyllning av Excelark för databaser (sekventiella textfiler) 1 Anvisningar för
Läs merFrån sömnlös till utsövd
SAMUEL LINDHOLM & FREDRIK HILLVESSON Från sömnlös till utsövd Ett sexveckorsprogram mot sömnproblem för bättre sömn, mer energi och högre livskvalitet BILAGOR Innehåll Bilaga A: Målsättning 3 Bilaga B:
Läs merHej. Niklas heter jag, och detta är min oberoendeförklaring från Scientologikyrkan.
Hej Niklas heter jag, och detta är min oberoendeförklaring från Scientologikyrkan. Jag vill först säga att det är över 12 år sedan jag lämnade kyrkan. Vissa detaljer minns jag inte exakt, men då nämner
Läs merUtskrift av inspelat samtal hos Arbetsförmedlingen
BJÖRN L BERGLUND UTSKRIFT AV SAMTAL HOS AF 1 (9) Utskrift av inspelat samtal hos Arbetsförmedlingen Samtalet ägde rum hos Arbetsförmedlingen i Sollentuna tisdag 13 juni 2006 kl. 11.00 Inspelningen är cirka
Läs merLumbago - Förord. Välkommen till Journalprogrammet Lumbago.
Lumbago - Förord Välkommen till Journalprogrammet Lumbago. Vår förhoppning är att du ska få mer tid över för dina patienter och att du ska ha nytta av alla de effektiva funktioner som Lumbago erbjuder.
Läs merKvalitetsenkät till Individ- och Familjeomsorgens klienter
Kvalitetsenkät till Individ- och Familjeomsorgens klienter Kvalitetsrapport 13, 2007 KVALITETSRAPPORT En enkät har delats ut till alla personer som Individ- och familjeomsorgen hade kontakt med under vecka
Läs merRåd till föräldrar. Att vara barn och anhörig när någon i familjen är sjuk eller dör
Råd till föräldrar Att vara barn och anhörig när någon i familjen är sjuk eller dör I familjer där en förälder, syskon eller annan vuxen drabbats av svår sjukdom, skada eller död blir situationen för barnen
Läs merNågra små tips om att träna på utsatt fågel
Några små tips om att träna på utsatt fågel Att träna sin fågelhund på utsatt fågel, vanligen rapphöns eller fasan, har blivit rätt populärt. Gör man rätt kan det vara en effektiv och förhållandevis enkel
Läs merHandbok Företagsinteckning
Handbok Företagsinteckning Denna handbok beskriver hur du arbetar i Bolagsverkets e-tjänst Företagsinteckning. Datum: 2009-10-21 Version: 1.2 Upprättad av: Conny Berglund Ändringar Version Datum Ändrade
Läs mer725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack
725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den
Läs merAlla behöver tårta! Belöningsträningens lager
Alla behöver tårta! Belöningsträningens lager Av: Eva Bertilsson och Emelie Johnson Vegh, publicerad i Canis 2012 Vi säger gärna att vi sysslar med belöningsbaserad träning träning där vi ser till att
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs mer2. Hur tycker du att stämningen i sjuan i stort har förändrats under året glädje, trygghet, gemenskap och kommunikation?
1. Hur tycker du att det har varit att gå i sjuan som helhet? Gör ett omdöme som handlar om rolighetsgraden (hur kul det har varit) och ett omdöme som handlar om hur du upplever ditt lärande (hur mycket
Läs merLathund för att arbeta med pdf
Lathund för att arbeta med pdf Till Riksstämman 2016 är alla handlingar digitala, närmare bestämt i PDF-format. I den här lathunden får du som använder en PC/Mac tips och råd om hur du lättast går tillväga
Läs merSurvey&Report steg för steg: Skapa rapport 2013-05-13
1 Survey&Report steg för steg: Skapa rapport 2013-05-13 Ola Stjärnhagen 2 Skapa rapport 1. Klicka på Enkät > Hitta enkät. Listan som dyker upp visar endast de 50 senast skapade enkäterna. Klicka på Sök
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merFrån förvaring till förvandling Från förvaring till förvandling
Från förvaring till förvandling I samband med att jag coachade en verksamhetschef för ett gruppboende fick jag vara med om en märkbar utveckling. Chefens överordnade ringde mig och berättade att chefen
Läs mer5. Skill # 2 Inviting Prospects to Understand Your Product or Opportunity. Många posers och amatörer gör dessa fel i början när dom ska bjuda in
5. Skill # 2 Inviting Prospects to Understand Your Product or Opportunity Många posers och amatörer gör dessa fel i början när dom ska bjuda in Jagar folk - bryr sig bara om att få en ny värvning - ifall
Läs merDigitalt lärande och programmering i klassrummet
Digitalt lärande och programmering i klassrummet Innehåll Programmering Vad är programmering och varför behövs det? Argument för (och emot) programmering Kort introduktion om programmering Några grundbegrepp
Läs merGruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)
Gruppenkät Du har deltagit i en gruppaktivitet! Det kan ha varit en tjej-/ killgrupp, ett läger eller ett internationellt ungdomsutbyte. Eller så har ni kanske ordnat ett musikarrangemang, skött ett café,
Läs merJÖNKÖPING 2012 FASTIGHETS- FÖRETAGAR- KLIMATET
JÖNKÖPING 2012 FASTIGHETS- FÖRETAGAR- KLIMATET INLEDNING OCH SAMMANFATTNING Fastighetsbranschen utgör själva fundamentet i samhällsstrukturen. Människor bor, arbetar, konsumerar och umgås i stor utsträckning
Läs merInstruktion för att slutföra registreringen
Instruktion för att slutföra registreringen Introduktion Vi antar i den här instruktionen att du redan har registrerat sig. Du kan också ha klickat på aktiveringslänken i mailet. Vi använder ett fiktivt
Läs merUtvärdering 2015 deltagare Voice Camp
Utvärdering 15 deltagare Voice Camp 8 deltagare Har det varit roligt på lägret? (%) 1 8 6 4 1 Ja Nej Varför eller varför inte? - Enkelt, jag älskar att sjunga och det är alltid kul att träffa nya vänner
Läs merVerktyg för Achievers
Verktyg för Achievers 2.5. Glöm aldrig vem som kör Bengt Elmén Sothönsgränd 5 123 49 Farsta Tel 08-949871 Fax 08-6040723 http://www.bengtelmen.com mailto:mail@bengtelmen.com Ska man kunna tackla sina problem
Läs merFör att skriva CSS-kod använder man sig av olika kommandon. Ett exempel på hur man kan skriva kod för att ändra textfärg kan vara:
Hemsida CSS Introduktion till Cascading Style Sheets (CSS) Detta är en mycket kort genomgång av CSS med exempel på hur sådan kod ska läsas och hur den kan användas på IdrottOnline-sidor. Är man ute efter
Läs merAtt komma igång med FirstClass (FC)!
Att komma igång med FirstClass (FC)! Vi har tillgång till FC genom vårt samarbete med folkhögskolor och därigenom med Folkbildningsnätet. FC kan användas på en dator på två sätt (dessutom kan du använda
Läs merJag. Din familj och ditt hem. 2. Jag går i årskurs fyra fem. 1. Jag är en Flicka Pojke
Frågeformulär Jag 1. Jag är en Flicka Pojke 2. Jag går i årskurs fyra fem Din familj och ditt hem 3. Hur bor du (om du bor på två ställen kan du kryssa i två rutor)? med mamma och pappa bara med mamma
Läs merHur mäts kunskap bäst? examinationen som inlärningsmoment
Miniprojekt, pedagogisk grundkurs I, vt 2001. Klemens Eriksson, Evolutionsbiologiska institutionen Hur mäts kunskap bäst? examinationen som inlärningsmoment Jag hävdar att kunskapskontrollen är en del
Läs mer75059 Stort sorteringsset
75059 Stort sorteringsset Aktivitetsguide Detta set innehåller: 632 st sorteringsföremål 3 st snurror 6 st sorteringsskålar 1 st sorteringsbricka i plast 1 st siffertärning Detta sorteringsset har tagits
Läs merFöräldraenkät gällande verksamheten på fritidsklubben Vängåvan vt-14
Föräldraenkät gällande verksamheten på fritidsklubben Vängåvan vt-14 Vi har fått in svar från 27 föräldrar. Vi har ca 70 barn i fyran och femman, resten är sexor. Alla frågor kunde ni svara på med ett
Läs mer1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?
1DV33 HT13 Antal : I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål? - ha fått grundläggande kunskaper om strukturerad programmering
Läs merSAMHÄLLSORIENTERING ÅK 9
SAMHÄLLSORIENTERING ÅK 9 NU92 Häfte 12, Invandring utvandring, Del 1 Individuell uppgift Allmänt Skolnummer Elevnummer Elevidentitet Ämne Gruppnummer Elevgruppsidentitet Gruppidentitet Kön SKOLNR ELEVNR
Läs merPlaneringsspelets mysterier, del 1
Peter Lindberg Computer Programmer, Oops AB mailto:peter@oops.se http://oops.se/ 28 februari 2002 Planeringsspelets mysterier, del 1 Om jag ska spela ett sällskapsspel för första gången så vill jag att
Läs merHUSBYGGET Bygga nytt hus? Ett stort och omfattande projekt, och också väldigt roligt. Allt om Villor&Hus frågade
Arkitektens bästa tips inför HUSBYGGET Bygga nytt hus? Ett stort och omfattande projekt, och också väldigt roligt. Allt om Villor&Hus frågade Tony Sundberg, arkitekt SAR/MSA på Sävsjö Trähus, om hans bästa
Läs merhttp://www.leidenhed.se Senaste revideringen av kapitlet gjordes 2014-05-08, efter att ett fel upptäckts.
Dokumentet är från sajtsidan Matematik: som ingår i min sajt: http://www.leidenhed.se/matte.html http://www.leidenhed.se Minst och störst Senaste revideringen av kapitlet gjordes 2014-05-08, efter att
Läs merManual Jourläkarschema Närhälsan V7 - Version 1.0
Manual Jourläkarschema Närhälsan V7 - Version 1.0 Denna manual innehåller olika avsnitt och beroende på vilken roll man har är de olika avsnitten aktuella. Innehåll Logga in...2 Glömt lösenord...3 Logga
Läs merSociala berättelser 1
Sociala berättelser 1 De olika delarna av en social berättelse Deskriptiva meningar beskrivning av situationen Deskriptiva delen de ska åskådliggöra och beskriva en situation, händelse eller ett beteende.
Läs merBokstäver. Myrstackens kvalitetsarbete. Hällevadsholms förskola
Myrstackens kvalitetsarbete Bokstäver Hällevadsholms förskola 2015 Förskolor Norr Munkedals kommun Yvonne Frisk Helena Halla Helena Eriksson Tina Lundgren Lotta Dahl Innehåll Grundfakta och förutsättningar...
Läs merVi vill veta vad tycker du om skolan
Vi vill veta vad tycker du om skolan 1 1 Hur gammal är du? år 2 Är 1 2 du Flicka Pojke 3 Går du i skolår 1 4 2 5 3 6 4 Har du och dina föräldrar valt en annan skola än den som ligger närmast ditt hem?
Läs merSätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
Läs merSkövdeNät Nöjd Kund Analys
SkövdeNät Nöjd Kund Analys Kvartal 1-2015 med jämförande index 2006, 2008, 2010, 2012 Välkommen till en spännande värld av marknadsutveckling! Mätningens uppbyggnad Bas: Antal intervjuer: 303 N=Mätningens
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merExempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler
Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merRepetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014
Repetitionsuppgifter i Matematik inför Basår Matematiska institutionen Linköpings universitet 04 Innehåll De fyra räknesätten Potenser och rötter 7 Algebra 0 4 Funktioner 7 Logaritmer 9 6 Facit 0 Repetitionsuppgifter
Läs mer