Föreläsning 1 Introduktion till kursen. Algoritmer

Slides:



Advertisements
Liknande presentationer
IT för personligt arbete F5
Advertisements

Talföljder formler och summor
ClaroReadPro V5 B engt Österlind Solna Skoldatatek 18 november 2009.
OPERATIVSYSTEM WINDOWS
Dator.
Välkommen till internet för nybörjare
F2 - Intro till Java1 Föreläsning 2 - Intro till Java  Sammanfattning av Lektion 1 (kap 2): • Vad behövs för att kunna programmera? • DrJava • Java •
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Access med Sebastian och Robert
Föreläsning1. • Boken?!?! • Vad är ett program? • Kompilerande-Interpreterande • Programmeringsmiljö • Hello World! • Att programmera och ett enkelt program.
hej och välkomna EKVATIONER Ta reda på det okända talet.
En avancerad miniräknare
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Mjukvara och nätverk Vad är det?.
Klasser och objekt.
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Persondatorer Datorns internminne (Kapitel 6)
Minnesteknologier Teknologi Accesstid Kostnad $/GB SRAM 1 ns 1000 DRAM
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Next previous Refactoring och lite mönster kodade i Java Innehåll Vad är refactoring? Ett större refactoringexempel Några mönster kodade i Java OOMPA 2000.
Föreläsning 1.
Objektorienterad tänkande
Programmeringsteknik K och Media
Att programmera i språket Java
Föreläsning 2 Datalogi för E1 2D1343
IT för personligt arbete F6
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
Programmering B PHP Lektion 2
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Programmering B PHP Lektion 2
Från binära till hexadecimala
Programmering B PHP Lektion 3
Välkommen till Del 1.
Vektorer (klassen Vector) Sortering
1 Pass 2 Allmän IT Hårdvara Hårdvara Hårdvara = Maskinvara Hårdvara är ett samlingsnamn för olika fysiska tillbehör till en dator. T. ex. Systemenhet.
OPERATIVSYSTEM WINDOWS
Räkna ut flyttal i datorn för dummies
Grundläggande programmering
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- -Algoritm analys och sökning algoritmer- Kap 5 -Algoritmer och.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Databehandling Ett datorprogram består i huvudsak av
Objektorienterad programmering i Java
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
INTRODUKTION TILL PROGRAMMERING
Introduktion till klasser, objekt och BlueJ Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 3
Personal Computer Hardware (Hårdvaran i PC) Personal Computers And Applications (PC och PC-applikationer)
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Nätaggregat(stationär) batteri (bärbar)
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Satslogik, forts. DAA701/716 Leif Grönqvist 5:e mars, 2003.
1 Föreläsning2 Operativsystem. 2 Talsystem Decimal (bas 10): 0,1,2,…,8,9 Binär talsystem (bas 2): endast 1 och 0 Hexadecimal talsystem (bas 16): 0,1,…9,A,…,E,F.
Föreläsning2 Operativsystem.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
Bokföring i Tiden består av
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 1 ( ) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk.
Så fungerar en dator Mental bild av en dator
Python.
Datorer och nätverk.
Grundläggande datavetenskap, 4p
Programmera dina klasskamrater
Datorer och nätverk.
Presentationens avskrift:

Föreläsning 1 Introduktion till kursen. Algoritmer L&L kap 1.1, 1.2, S kap 1.1-1.3

Datorns uppbyggnad, själva hårdvaran: CPU (Central Processing Unit, "processorn") RAM (primärminnet, arbetsminnet, main memory) i/o (input/output) devices: tangentbord, skärm, mus, printer, mikrofon, joystick, osv. sekundärminne (secondary memory devices) hårddisk, CD, dvd, osv.

CPU ALU Primärminne Styrenhet Register

Mjukvara är program och data som behandlas av hårdvaran, exempelvis: operativsystem (Windows, UNIX, Linux, MacOS,...)‏ applikationsprogram (Word, Explorer, emacs, BlueJ,....)‏ GUI (fönster, ikoner, knappar,...)‏

I primärminnet finns minnesceller, varje minnescell har en adress, en slags placering i primärminnet. Varje minnescell består av 8 bitar (=1 byte) och varje bit kan lagra en binär siffra, alltså 1 eller 0.

Det finns bara 10 olika sorts människor.

Det finns bara 10 olika sorts människor. De som förstår binära tal, och de som inte gör det.

Vad är ett program?

Vad är ett program? Ett program är en ordnad samling instruktioner som talar om för datorn vad vi vill att den skall göra.

Maskinspråk Kod som datorn “förstår”, består endast av ettor och nollor. Varje datortyp har sin egen variant. 1100 1000 1001 1111 0100 0011 1001 0001 ... 0101 ...

Assemblerspråk Enkla “ord” som representerar ett fåtalinstruktioner för processorn. Enklare för människor att förstå, men fortfarande svårt och oöverskådligt. Varje datortyp har sin egen variant. ld $v0, 0($a0)‏ ld $v1, 8($ao)‏ add $v0, $v1, $v0

Högnivåspråk Avancerade konstruktioner av ord och fraser. Lätt att läsa men måste översättas (kompileras) i flera steg till processorns maskinspråk. Fungerar (i princip) likadant på alla datorer. a = a + b

Det här kommer vi komma tillbaka till flera gånger i kursen och det viktigaste är egentligen att ni har en bild av hur det hänger ihop i grova drag, inte på detaljnivå. Varje del här består av flera olika vetenskapsområden i sig!

OK, då vet vi att det finns hårdvara som “gör'” det hela men för att det ska finnas något att göra så måste det finnas programinstruktioner och det är det vi ska gå igenom på den här kursen, hur man skapar mjukvaran. Givetvis kommer ni inte bli färdigutbildade programmerare men ni kommer att lära er filosofin i mjukvaruutveckling och praktisera den.

annars gör yy (villkor) Algoritm = en detaljerad steg-för-steg-beskrivning på hur ett givet problem ska lösas. EX · Gör först si (direkta order) · Gör sedan så (direkta order) · Om x inträffar gör xx annars gör yy (villkor) · Gör zz fyra gånger (repetition)‏

Objekt Orienterad Analys/Design. Men eftersom Java är ett helt objektorienterat språk så bör man också tänka på ett objektorinterat sätt när man jobbar med problemet. På så sätt styr man in sitt resonemang på rätt spår. Man gör en Objekt Orienterad Analys/Design.

Hur??? 1. Finna objekt (substantiv) och operationer (verb) 2. Beskriva attribut, fastställa relationer mellan objekt 3. Utveckla scenarier (användningsfall) 4. KonkretiserVada modellen i analysfasen, lägga till detaljer. Punkterna 3 och 4 bruker man få göra om några gånger. Det kan vara bra att använda sig av algoritmer i dessa punkter!

Det var i början av 70-talet som man var tvungen att komma på strategier att hantera de allt större och mer komplexa programmen. De strategierna eller teknikerna används än idag. I praktiken följer man inte alltid dessa strikt, men de tjänar som ledsnöre.

Att hitta klasser, attribut och metoder. Det kommer bilar till en vägkorsning. Vid korsningen finns trafikljus som kan visa olika färg. Bilarna kan bromsa och gasa. Bilarna har hastighet och position.

Det finns många olika programmeringsspråk, Se här!

Basen för de naturliga logaritmerna, e, kan beräknas som följande summa: 1 1 1 1 1 1 1 -- + -- + -- + -- + -- + -- + -- + 0! 1! 2! 3! 4! 5! 6! ...

pascal APL C++