729G04 Programmering och diskret matematik. Python 6: Abstrakta datatyper
|
|
- Pernilla Hansson
- för 7 år sedan
- Visningar:
Transkript
1 729G04 Programmering och diskret matematik Python 6: Abstrakta datatyper
2 Dagens föreläsning Nya verktyg: IPython, Texteditorer Ny datatyp: Dictionary Muddycards Abstraktion: text, datastrukturer
3 IPython + Texteditor Labb 6, 7, 8: Texteditor och IPython Varför? För att prova på en annan miljö. Vanligare att använda en text-editor/annan IDE för att Python IPython är en bättre interaktiv miljö än Python-skalet i IDLE.
4 IPython Bläddra bland tidigare kommandon med piltangenterna Tab-komplettering av anrop/variabler Tillgång till kommandon för att navigera i kataloger Magiska kommandon, börjar med tecknet %. T.ex. %run %run -i %reset %paste
5 IDLE vs Texteditor + IPython IDLE: 1. Öppna filen/skriv filen i IDLE 2. Tryck F5 i IDLE 3. Kör eventuell funktion Texteditor + IPython 1. Öppna filen/skriv filen i texteditorn 2. Skriv %run -i filnamn.py i IPython 3. Kör eventuell funktion
6 Texteditor d.v.s. program för att redigera textfiler
7 Vad gör en texteditor Redigerar textfiler (plain text) Saknar formatering och layoutfunktionalitet (paragrafjustering, fetstil, understruket, kursivt stil etc) Funktioner & verktyg för redigering av kod- eller datafiler
8 Exempel på funktionalitet redigera en kolumn använda regex-uttryck för sök och ersätt indenteringshjälp automatisk syntaxmarkering förslag på kompletteringar - variabler, funktioner stöd för olika teckenkodningar: läsa och skriva stöd för olika radbryt
9 Exempel på texteditorer SU-PUL Windows Mac Gratis emacs vim gedit kate Sublime Text Notepad++ Jedit Textwrangler
10 Menu Accessories
11 Texteditorer är viktiga för programmerare
12 xkcd: real programmers
13 IPython och texteditorer i PUL Starta IPython: skriv ipython3 i skalfönster. Texteditorer: Välj t.ex. gedit eller kate. Hittas via "startmenyn" under Accessories.
14 Tips: pep8 kontroll $ pep8 tree.py tree.py:3:1: E302 expected 2 blank lines, found 1 tree.py:27:21: W292 no newline at end of file $ I terminalen kan ni använda verktyget pep8 för att kontrollera era pythonfiler mot PEP8. Dock kollar den inte kommentarer.
15 Texteditor + IPython Demonstration
16 Dictionaries Innan vi går vidare ska vi lära oss om datatypen dictionary.
17 Dictionaries Ett dictionary har element precis som en lista, men istället för index, kommer man åt elementen med via nycklar. Alla datatyper som är oföränderliga (immutable) kan användas som nycklar, t.ex. numeriska värden, strängar och tupler. Till skillnad från en lista, finns det ingen bestämd ordning på nyckel-värde-paren i ett dictionary.
18 Dictionaries - en mängd nycklar och värden # Ett dictionary omges av {} och består av nycklar och värden: # { nyckel_1:värde1, # nyckel_2:värde2, #..., # nyckel_n:värde_n } # Exempel dictionary1 = {"nyckel1":"värde 1", 345:"värde 2", (3):54 } Ett dictionary används för att lagra värden med associativ åtkomst, dvs att en nyckel kan användas för att komma åt ett värde. Som en lista, men med nycklar istället för index. Som nyckel kan alla oföränderliga (immutable) datatyper användas. Alla datatyper kan vara värden.
19 Istället för index använder vi nyckeln In [1]: dictionary1 = {"nyckel1":"värde 1", 345:"värde 2", (3):54 } In [2]: dictionary1["nyckel1"] Out[2]: 'värde 1' In [3]: dictionary1[345] Out[3]: 'värde 2' In [4]: dictionary1[(3)] Out[4]: 54 In [5]: Jämfört med en lista så använder vi nyckeln istället för index för att "komma åt" värdena.
20 Vi kan ändra värden genom att använda nyckeln In [5]: dictionary1 = {"nyckel1":"värde 1", 345:"värde 2", (3):54 } In [6]: dictionary1["nyckel1"] Out[6]: 'värde 1' In [7]: dictionary1["nyckel1"] = 1024 In [8]: dictionary1["nyckel1"] Out[8]: 1024 Precis som att man kan ange ett index vid tilldelning av ett värde på ett element i en lista, så kan man ange en nyckel vid tilldelning av ett associerat värde i en dictionary.
21 Vi kan lägga till element till ett dictionary In [9]: dictionary1 = {"nyckel1":"värde 1", 345:"värde 2", (3):54 } In [10]: dictionary1["ny nyckel"] = "nytt värde" In [11]: dictionary1["böcker"] = ["bok 1", "bok 2", "bok 3"] In [12]: dictionary1["ny nyckel"] Out[12]: 'nytt värde' In [13]: dictionary1["böcker"] Out[13]: ['bok 1', 'bok 2', 'bok 3'] Till skillnad från att använda index som är större än längden på listan, så kan man lägga till nya värden i ett dictionary genom att använda en ny nyckel.
22 Vi kan loopa genom nycklar i ett dictionary # loopa genom nycklar, explicit (ingen _bestämd_ ordning finns) for key in dictionary1.keys(): print("key: " + key) print("value: " + dictionary1[key]) # loopa genom nycklar, implicit (ingen _bestämd_ ordning finns) for key in dictionary1: print("key: " + key) print("value: " + dictionary1[key]) Vi kan komma åt alla nycklar antingen implicit eller explicit. Operatorn in kan också användas på nycklarna implicit: if key_i_am_looking_for in dictionary1
23 Vi kan loopa genom värden i ett dictionary # loopa genom värden, explicit (ingen _bestämd_ ordning finns) for value in dictionary1.values(): print("value: " + value) dict.values(), precis som dict.keys() ger en struktur (ett view objekt) som beter sig som en lista (men det är ingen riktig lista). Se för mer information.
24 Vi kan loopa genom par av nycklar och värden # loopa genom par av nycklar och värden explicit (ingen _bestämd_ # ordning finns) for key, value in dictionary1.items(): print("key: " + key) print("value: " + value) # en lista av tupler med två element per tupel kan loopas igenom på # samma sätt list_of_tuples = [("ett", 1), ("två", 2), ("tre", 3)] for word, number in list_of_tuples: print("word: " + word) print("number" + str(number)) dict.items() returnerar en struktur som kan användas som en lista av tupler med två element per tupel.
25 Codela m. dictionaries
26 Abstraktion
27 Abstraktion handlar om att lyfta blicken. Vi pratar om skogen istället för träden.
28 Övning 1. Rita en tabell som är 4x4 stor. 2. Skriv siffrorna 1-3 i de tre första cellerna på första raden. 3. Skriv siffrorna 4-6 i de tre första cellerna på andra raden. 4. Skriv siffrorna 7-9 i de tre första cellerna på tredje raden. 5. Använd den fjärde kolumnen för att skriva summan av varje rad (rad 1-3). 6. Använd den fjärde kolumnen för att skriva summan av varje kolumn (kolumn 1-3).
29 Facit
30 Ni har tillämpat abstraktion!
31 Övning - utan tabell-abstraktion 1. Rita fem lika långa, parallella och horisontella streck under varandra med lika mycket utrymme mellan varje. Rita sedan fem lika långa, parallella och vågräta streck. Det första börjar på samma punkt som det första horisontella strecket. Alla streck slutar på det sista horisontella strecket och har lika mycket utrymme mellan sig. 2. I den lilla fyrkanten högst upp till vänster, skriv siffran 1. I rutan till höger om den, skriv siffran 2. I rutan till höger om den, skriv siffran I rutan högst upp till höger, skriv summan av siffrorna 1, 2 och 3. I rutan nedanför den, skriv summan av siffrorna 4, 5 och
32 Abstrakt datatyp ADT
33 Abstrakt datatyp: tabell Datastruktur: en lista med listor. Alla nästlade listor är lika långa tabell_adt = [ lista_1, lista_2,..., lista_n ] längd(lista_1) == längd(lista_2),..., längd(lista_n-1) == längd(lista_n) Låt oss kalla denna datastruktur för en tabell. Låt oss beteckna den första kolumnen som kolumn 1. Låt oss beteckna den första raden som rad 1. Om tabellens bredd är b och dess höjd är h, så är betecknas den sista raden som rad b och den sista kolumnen som kolumn h
34 Hjälpfunktioner till ADT för tabell Från matematiken: f : A B skapa_tabell : bredd, höjd tabell create_table(width, height) sätt_värde : tabell, rad, kolumn, värde tabell set_value(table, row, column, value) hämta_värde : tabell, rad, kolumn värde get_value(table, row, column) summera_horisontellt : tabell, rad, startkolumn, slutkolumn värde sum_h(table, row, start_column, end_column) summera_vertikalt : tabell, kolumn, startrad, slutrad värde sum_v(table, column, start_row, end_row)
35 Hjälpfunktioner i Python def create_table(width, height): """Skapa en tabell med bredden width och höjden height.""" table = [] # created table tmp_row = [] # temporary list for creating rows # Skapa height antal tomma rader (dvs listor) där alla element == None. for h in range(height): # Skapa en rad som är width lång där alla element == None. for w in range(width): tmp_row.append(none) table.append(tmp_row) tmp_row = [] return table def set_value(table, row, column, value): """Ändra ett värde i en cell i en tabell. Returnerar tabellen.""" table[row-1][column-1] = value return table def get_value(table, row, column): """Returnera värdet av en cell i en tabell.""" return table[row-1][column-1]
36 Hjälpfunktioner i Python, forts. def sum_h(table, row, start_column, end_column): """Returnera summan av celler i en rad. Start- och slutkolumn anges.""" the_sum = 0 # Observa att vi använder hjälpfunktionen för att hämta tabellvärde for current_column in range(start_column, end_column+1): the_sum += get_value(table, row, current_column) return the_sum def sum_v(table, column, start_row, end_row): """Returnera summan av celler i en kolumn. Start- och slutrad anges.""" the_sum = 0 current_row = start_row for current_row in range(start_row, end_row+1): # Observa att vi använder hjälpfunktionen för att hämta tabellvärde the_sum += get_value(table, current_row, column) current_row += 1 return the_sum
37 Abstrakta datatyper Datastuktur: vi använder inbyggda datatyper för att representera en typ av data som inte finns inbyggd Hjälpfunktioner: vi använder hjälpfunktioner för att lättare hantera vår egenkonstruerade datastruktur. Abstrakt datatyp (ADT): datastruktur + hjälpfunktioner
38 Textfilen programmerarens digitala material
39 Textfiler Hur lagras text på fil egentligen? Låt varje tecken representeras av en siffra. Som ett schiffer: a = 1 b = 2...
40 Hur blir detta på en dator?
41 Representation i en dator: ettor och nollor, på eller av
42 Binära, oktala, decimala och hexadecimala talsystem Binärt: 0, 1 Oktalt: 0, 1, 2, 3, 4, 5, 6, 7 Decimalt: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Hexadecimalt: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f
43 De 16 första talen: 0 till 15 P.S. dec 24 = oct 30 bin okt dec hex A B C D E F
44 Representation i en dator, 8 bitar = 1 byte = 254 = FE = 178 = B = 197 = C = 70 = = 58 = 3A = 156 = 9C = 134 = = 7 = 07
45 Text Låt en byte representera ett tecken. Som ett chiffer där vi kan representera 256 olika tecken.
46 Fast i början var man snål och tänkte att det räckte med 128 tecken, dvs 7 bitar per byte.
47 ASCII - American Standard Code for Information Exchange
48 Men om man vill skriva åäö då?
49 ISO (Latin-1) och Windows Code Page 1252 (CP-1252) 256 tecken innehåller åäö dock inte riktigt samma schiffer, t.ex. finns inte med i Latin-1 þ finns inte med i CP-1252
50 Но мы не используем латинские буквы!
51 و ما از راست به چپ ارسال.
52
53 Unicode FTW!
54 Unicode Mer än tecken (plats för st) Varje tecken har ett nummer, en code point. Det heter så för att tabellen som listar alla tecken heter code page. Unicode inbegriper även regler för sortering, dvs vilken bokstav kommer före vilken.
55 Unicode Förrutom de vanligaste skriftsystemen finns även Diverse pilar Diverse matematiska symboler Braille Kilskrift Runskrift Emoji diverse symboler:
56 Men en byte kan bara representera ett tal mellan 0-255!?
57 Vi får använda fler bytes helt enkelt.
58 Vi har 10 siffror [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] men kan skriva vilket tal som helst!
59 Encoding: representation av en code point i en fil Exempel med UTF-8 som encoding code point U+0041 = 'A' kodas med en byte: 41 code point U+0061 = 'a' kodas med en byte: 61 Exempel med UTF-8 som behöver två bytes code point U+00C5 = 'Å' kodas med två bytes: C5 85 code point U+00F6 = 'ö' kodas med två bytes: C3 B6
60 Så vad har detta med Python att göra?
61 Python 3 antar att textfilen använder sig av UTF-8 om inget annat anges
62 Ange encoding i början av filen (PEP 0263) # coding=utf-8 eller # -*- coding:utf-8 -*-
63 Slut.
729G04 PYTHON 6 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden
729G04 PYTHON 6 JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden Dagens föreläsning Nya verktyg IPython Texteditorer Ny datatyp Dictionary Abstraktion Felhantering
Läs merTDDE44 Programmering, grundkurs
TDDE44 Programmering, grundkurs Föreläsning 5 Jody Foo, jody.foo@liu.se Föreläsning 5 & 6 Laboration 3: En egen pokedex data från webben Ny datatyp: dictionary Mer om dataabstraktion Nästlade datastrukturer
Läs mer729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 3. Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Repetition: syntax-quiz Fler for-loopar (över listor och dictionaries) range() Nästlade strukturer
Läs mer729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 1 Jody Foo,
729G74 IT och programmering, grundkurs Tema 3. Föreläsning 1 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Tema 3: Experiment Verktyget Python Vad kan man använda Python till? Python-paket Lite mer om
Läs mer729G04 Programmering och diskret matematik
Tentamen 729G04, 2013-01-11 1(8) 729G04 Programmering och diskret matematik Tentamen 2013 01 11 kl 08.00 13.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker Uppgifter:
Läs mer729G04 Programmering och diskret matematik
Tentamen 729G04, 2013-02-15 1(9) 729G04 Programmering och diskret matematik Tentamen 2013 02 15 kl 14.00 19.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker Uppgifter:
Läs mer729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Läs merTDP002 - Imperativ programmering
TDP002 - Imperativ programmering Algoritmer Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Datatyper Tal UTF-8 2 Procedurell abstraktion Repetition
Läs mer729G04 Programmering och diskret matematik
1( 5) 729G04 Programmering och diskret matematik Övningstentamen 2013 12 03 kl 10.00 12.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker (ej anteckningar, föreläsningsbilder,
Läs merUppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00
1 ( 7) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier
Läs mer729G04 Programmering och diskret matematik
1( 7) 729G04 Programmering och diskret matematik Tentamen 2014 01 07 kl 14.15 18.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker (ej anteckningar, föreläsningsbilder,
Läs merF2 Datarepresentation talbaser, dataformat och teckenkodning
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Jonas Wisbrant Datarepresentation I en dator lagras och behandlas all information i form av binära tal ettor och nollor.
Läs merMattias Wiggberg Collaboration
Informationsteknologi sommarkurs 5p, 24 Mattias Wiggberg Dept. of Information Technology Box 337 SE75 5 Uppsala +46 847 3 76 Collaboration Jakob Carlström Binära tal Slideset 5 Agenda Binära tal Talbaser
Läs merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merF2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Von Neumann-arkitekturen Gemensamt minne för programinstruktioner och data. Sekventiell exekvering av instruktionerna.
Läs merUppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00
1 ( 6) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej
Läs merFöreläsning 18 Filer och avbildningar
Föreläsning 18 Filer och avbildningar Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.11.2011 Avbildningar Hur skulle du göra en: Ordlista
Läs merPython. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!
Python Mer om datatyper Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Datatyper Dictionaries - {1: camelot,2: shrubbery } Tupler - (1,2,3,) 1 Lite om strängar Strängar innehåller specialtecken
Läs merÖversikt 5 delar. 1: Fysisk representation. Binär, oktal och hexadecimal representation
Översikt 5 delar Fysisk talrepresentation och teckenkodning Datastrukturer och strukturdelning Modellering och abstraktion Abstrakta datatyper (ADT) Procedurell abstraktion och högre ordningens funktioner
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merTenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00
1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,
Läs merTecken och strängar i Java
jonas.kvarnstrom@liu.se 2017 Tecken och strängar i Java Begrepp: Tecken, kodpunkter, kodningar, Unicode: A till Z och mer Tecken 3 Steg 1: Ett tecken (en symbol) Odelbar symbol Minsta enheten för information
Läs merTalsystem Teori. Vad är talsystem? Av Johan Johansson
Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska
Läs merÖvning 1 - Abstrakta datatyper
/home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.
Läs mer729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer
729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser
Läs merStruktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik
Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:
Läs merENKEL Programmering 3
ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs mer729G04 Programmering och diskret matematik. Python'1:'Labbmiljö'och'introduk7on'7ll'Python'
729G04 Programmering och diskret matematik Python'1:'Labbmiljö'och'introduk7on'7ll'Python' Föreläsningsöversikt Upplägg'för'programmeringsdelen' Labbmiljön' Introduk7on'7ll'Python:' data:'siffror,'text,'listor'
Läs merTDDD78, TDDE30, 729A Tecken och strängar med och utan Java
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Tecken och strängar med och utan Java Begrepp: Tecken, kodpunkter, kodningar, Unicode: A till Z och mer Tecken 3 Steg 1: Ett tecken (en symbol) Odelbar
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merFly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017
Fly me to the moon Laboration om relationer, TDDC75 Diskreta strukturer Mikael Asplund 5 september 2017 1 Inledning Denna laboration i diskret matematik a r ta nkt att ge en inblick i hur programmering
Läs merDD1311 Programmeringsteknik för S1 Laborationer läsåret 2007-2008
DD1311 meringsteknik för S1 Laborationer läsåret 2007-2008 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer Labb
Läs merTDP002 - Imperativ programmering
TDP002 - Imperativ programmering Underprogram Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Underprogram Parametrar Returvärden Räckvidd och skuggning
Läs mer729G04 Programmering och diskret matematik. Python 3: Loopar
729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel
Läs merÖvning 6. Ali Tofigh 24 Oktober, 2006
Övning 6 Ali Tofigh 24 Oktober, 2006 1 Sortering Att sortera behöver man göra väldigt ofta i programmering. Python tillhandahåller bland annat en metod i listor för detta ändamål. Det enda metoden behöver
Läs merLabb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14
Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet
Läs merTDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
Läs merPythons standardbibliotek
Pythons standardbibliotek Python 3 skall, enligt standarddokumenten http://docs.python.org/py3k/library/index.html ha stöd för vissa funktioner, typer och datastrukturer Så länge man håller sig till detta
Läs merTDP002 - Imperativ programmering
TDP002 - Imperativ programmering Strängar och IO Eric Elfving Institutionen för datavetenskap 1 I/O - Inläsning och Utskrift Inläsning Typomvandling Utskrift Strängformatering 2 Teckenkodning 3 Externa
Läs merADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP. Tommy Färnqvist, IDA, Linköpings universitet
Föreläsning 5 ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 11 september 2015 Tommy Färnqvist, IDA, Linköpings
Läs merProgrammering för webben
Programmering för webben Föreläsning 2 Dagens innehåll Varför använda PHP? Var används PHP? Variabler Tilldelning Operatorer Kommentarer Arrayer Varför använda PHP? Var används PHP Där innehåll skräddarsys
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
Läs merInstruktion för laboration 1
STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara
Läs merIntroduktion till programmering SMD180. Föreläsning 7: Strängar
Introduktion till programmering Föreläsning 7: Strängar 1 1 En sammansatt datatyp En sträng är ett enhetligt värde, som kan lagras i variabler och fungera som operand eller funktionsargument en datastruktur
Läs merUppgifter teknik HT17 (uppdaterad v. 40)
Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifterna bedöms inte, de är bara till för att öva. Samarbeta gärna med andra! Du behöver inte skriva ner svaren, men se till att du förstår lösningarna! 1. Det
Läs merF3 Datarepresentation teckenkodning och datakompression EDAA05 Datorer i system! Roger Henriksson!
Teckenkodning historik F3 Datarepresentation teckenkodning och datakompression EDAA05 Roger Henriksson Baudotkod 5-bitars kod för fjärrskrivare (teletype tty). Baudot 1874, Murray 1901 2 EBCDIC ASCII Extended
Läs merExcel Övning 1 ELEV: Datorkunskap Sida 1 Niklas Schilke
Datorkunskap Sida 1 Niklas Schilke Excel Inledning Microsoft Excel är ett kalkylprogram som ingår i Microsoft Office. Kalkyl betyder här beräkning så vi kan säga att Excel är ett program som används för
Läs merF3 Datarepresentation teckenkodning och datakompression
Teckenkodning historik F3 Datarepresentation teckenkodning och datakompression Baudotkod 5-bitars kod för fjärrskrivare (teletype tty). EDAA05 Roger Henriksson Jonas Wisbrant Baudot 1874, Murray 1901 2
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merPlanering av ett större program, del 2 - for och listor. Linda Mannila
Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,
Läs mer729G04 Programmering och diskret matematik Tenta kl 14:00-18:00
1 ( 5) 729G04 Programmering och diskret matematik Tenta kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker (ej anteckningar, föreläsningsbilder, gamla labbar
Läs merIntroduktion till programmering D0009E. Föreläsning 9: Tupler och dictionaries
D 0 0 0 9 E Introduktion till programmering D0009E Föreläsning 9: Tupler och dictionaries 1 D 0 0 0 9 E Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser
Läs mer729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 3 Jody Foo,
729G74 IT och programmering, grundkurs Tema 1, Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kurslogistik Diskret matematik & Uppgifter i Python Kompletteringar Tema 1: Olika perspektiv
Läs merIntroducerande övningar i HTML
Introducerande övningar i HTML En webbsida består av en textfil som innehåller sidans text och koder i språket HTML, för att formatera innehållet. Har man bilder på sidan, så finns de som separata filer
Läs merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merTDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2011-01-11 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Tisdag 11 januari
Läs merAnvända Python Laboration 1 GruDat, DD1344
Använda Python Laboration 1 GruDat, DD1344 Örjan Ekeberg 14 oktober 2008 Målsättning Målet med denna laboration är att du ska prova på att använda Python, framförallt interativt. Du ska också lära dig
Läs merLär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
Läs merTDP002 - Imperativ programmering
. TDP002 - Imperativ programmering Strängar och IO Eric Elfving Institutionen för datavetenskap 26 augusti 2015 Översikt 2/18 Inläsning och utskrift Typkonvertering och strängformatering Teckenkodning
Läs merPNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation
PNSPO! 14 mars 2012 OMRON Corporation 2/19 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna för OMRONs produkter. Använd den som en hjälp att
Läs merFöreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik. 2012 Rune Körnefors rune.kornefors@lnu.se
Föreläsning i webbdesign Bilder och färger Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Exempel: Bilder på några webbsidor 2 Bildpunkt = pixel (picture element) Bilder (bitmap
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ ETT Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få
Läs merEmacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016
Emacs Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016 Historia 2/21 Utvecklas konstant, från 70-talet Är en generellt texteditor (INTE ordbehandlare) som fokuserar på texten, inte utseendet
Läs merOrdlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Läs merDD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011
DD1320 Tillämpad datalogi Lösning (skiss) till tenta 20 okt 2011 1 KMP P I P P I N i 1 2 3 4 5 6 Next[i] 0 1 0 2 1 3 2 Huffmankodning: Algoritmen 1. Sortera tecknen som ska kodas i stigande förekomstordning.
Läs merTDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel
TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merMATLAB. 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 merTDP002 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 merTecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes
Tecken EDAF30 Programmering i C++ 2. Tecken och texter char char ch = A ; Sven Gestegård Robertz Datavetenskap, LTH 2015 sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char c1, c2; c1 = A ; c2
Läs merInstruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)
Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python) Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken
Läs merProgrammering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18
Programmering i C++ EDAF30 7.5 hp EDAF30 (Föreläsning 2) HT 2014 1 / 18 Tecken och texter char char ch = A ; teckenfält = strängar i C char str[] = "123"; standardklass i C++ string s = "C++"; EDAF30 (Föreläsning
Läs merIntroduktion till programmering SMD180. Föreläsning 8: Listor
Introduktion till programmering Föreläsning 8: Listor 1 1 Listor = generaliserade strängar Strängar = sekvenser av tecken Listor = sekvenser av vad som helst Exempel: [10, 20, 30, 40] # en lista av heltal
Läs merÖvningsuppgifter kapitel 8
Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans
Läs merTDDC74 Programmering, abstraktion och modellering. Tentamen
AID-nummer: Datum: 2011-06-10 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering Tentamen Fredag 10 juni
Läs merDD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009
DD1311 Programmeringsteknik för CL1 Laborationer läsåret 2008-2009 Fyll i ditt namn och personnummer med bläck eller motsvarande. Kursledare är Linda Kann, linda@nada.kth.se. Namn... Personnr... Laborationer
Läs merTDDC74 Programmering: Abstraktion och modellering Datortenta , kl 08-12
TDDC74 Programmering: Abstraktion och modellering Datortenta - 2019-05-27, kl 08-12 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
Läs merDIGITALA TAL OCH BOOLESK ALGEBRA
DIGITALA TAL OCH BOOLESK ALGEBRA Innehåll Talsystem och koder Aritmetik för inära tal Grundläggande logiska operationer Logiska grindar Definitioner i Boolesk algera Räknelagar BINÄRA TALSYSTEMET Binärt
Läs merAtt hämta organisationers publikationsposter ur DiVA
Att hämta organisationers publikationsposter ur DiVA Ulf Kronman, 2011-08- 08. Version 1.0 Följande guide beskriver hur man kan ladda ned kompletta publikationsposter i så kallat CSV- format 1 för organisationer
Läs merPaneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2
Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering
Läs merTDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18
TDDC74 Programmering: Abstraktion och modellering Datortenta - 2018-06-07, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis
Läs merDatorövning 1 Calc i OpenOffice 1
Datorövning 1 Calc i OpenOffice 1 1 OpenOffice Calc Till förmån för de som följer kursen Fysikexperiment för lärare skall vi här gå igenom några få exempel på hur OO Calc (motsvarar MS Excel) kan användas
Läs merText och strängindexerade fält Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Text som arbetsredskap Funktioner på text i Python Formatera text Läsa från tangentbordet Strängindexerade fält 2 Text som arbetsredskap 3 TEXT SOM ARBETSREDSKAP Textens roll
Läs merPlanering Programmering grundkurs HI1024 HT TIDAA
Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning
Läs merTDP003 Projekt: Egna datormiljön
. TDP003 Projekt: Egna datormiljön Egen utvecklingsmiljö Kursmaterial till kursen TDP003 Höstterminen 2017 Version 2.2 2017-06-30 2017-06-30 Egen utvecklingsmiljö INNEHÅLL Innehåll 1 Revisionshistorik
Läs merTDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18
TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.
Läs merDagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler
21-1-2 1 Dagens föreläsning Hur fungerar ett Lisp system intern struktur av symbolen, tal, listan pekare - delade strukturer - eq minneshantering fri lista - sophämtning/garbage collection stack Diverse
Läs merAtt förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner
Lektion 4, del 1, kapitel 10 Funktioner i JavaScript Inlärningsmål Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Introduktion
Läs mer729G74 - IT och programmering, grundkurs. Dugga.
729G74 - IT och programmering, grundkurs. Dugga. 2016-12-08. Kl. 14.00 till 16.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier Uppgifter: Duggan består
Läs merLaboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
Läs merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Taluppfattning och tals användning ELEV Det finns många olika programmeringsspråk. I den här uppgiften ska du få bekanta
Läs merAnvä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 merTDP002 - 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 merPlanering 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 merAvbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4
Avbildningar och hashtabeller Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4 1 2 Mängder i Java 3 Mängd-gränssnittet Set vs. List Mängder får endast innehålla unika element: Metoden.add(E) returnerar
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merInledning till OpenOffice Calculator Datorlära 2 FK2005
Inledning till OpenOffice Calculator Datorlära 2 FK2005 Mål Lära sig att skapa och använda ett räkneblad med OpenOffice Calculator Beräkna medelvärde och standardavvikelsen med räknebladet Producera en
Läs merInstruktion för laboration 1
STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik ANL/TB SANNOLIKHETSTEORI I, HT07. Instruktion för laboration 1 De skrifliga laborationsrapporterna skall vara skrivna så att
Läs mer