IT för personligt arbete F6



Relevanta dokument
IT för personligt arbete F5

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

Föreläsning 2. Operativsystem och programmering

Föreläsning 1 & 2 INTRODUKTION

Program & programmering

Editering, Kompilering och Exekvering av Javaprogram

Programmering A. Johan Eliasson

2I1073 Föreläsning 1. HTML och XHTML XHTML

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Imperativ programmering

SMD 134 Objektorienterad programmering

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

Objektorienterad programmering i Java

Objektorienterad programmering i Java

OOP Objekt-orienterad programmering

Tentamen OOP

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

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

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

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Programmeringsteknik med C och Matlab

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

"if"-satsen. Inledande programmering med C# (1DV402)

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

HF0010. Introduktionskurs i datateknik 1,5 hp

DELPROV 1 I DATAVETENSKAP

Felsökning av mjukvara

SMD 134 Objektorienterad programmering

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

Slutrapport för JMDB.COM. Johan Wibjer

Digitalt lärande och programmering i klassrummet

Introduktion till programmering och Python Grundkurs i programmering med Python

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

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

Introduktion till programmering. Programspråk och paradigmer

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Redovisning av inlämningsuppgifter

Programmering för språkteknologer II, HT2014. Rum

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 27 maj 2008

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Inledande programmering med C# (1DV402) Introduktion till C#

Tentamen i Objektorienterad programmering

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

Föreläsning 1: Intro till kursen och programmering

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Tentamen i Algoritmer & Datastrukturer i Java

F5 Introduktion till digitalteknik

Föreläsning 1: Intro till kursen och programmering

Slutrapport YUNSIT.se Portfolio/blogg

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

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

Dugga Datastrukturer (DAT036)

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

Objektorienterad programmering

Teknikprogrammet, inriktning informations- och medieteknik

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

Föreläsning 1 & 2 INTRODUKTION

Björn Abelli Programmeringens grunder med exempel i C#

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Lösningsförslag, tentamen FYTA11 Javaprogrammering

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

Introduk+on +ll programmering i JavaScript

Objektorienterad programmering D2

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

Digital- och datorteknik

Att använda Java SE JDK 6

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

OOP Objekt-orienterad programmering

Datalogi I, grundkurs med Java 10p, 2D4112, Tentamen 29 november 2003, svar och lösningar

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

SKOLFS. beslutade den -- maj 2015.

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program

Föreläsning 10. ADT:er och datastrukturer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

Institutionen för datavetenskap 2014/15

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

Designmönster - EMW. Kent Petersson epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL:

Kom igång med din SMART Board. Det praktiska

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Objektorienterad Programmering (TDDC77)

Grunderna i stegkodsprogrammering

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

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Föreläsning 9: Arv och UML

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

En snabb titt på XML LEKTION 6

Laboration 10 - NetBeans

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

1DV433 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?

Transkript:

IT för personligt arbete F6 Datalogi del 2 DSV Peter Mozelius Datarepresentation Det som lagras i en dator representeras i grunden som 1:or och 0:or Dessa binära värden kan sedan tolkas på olika sätt i olika sammanhang Värdena 1 och 0 kan i sin tur ses som symboler för elektriska laddningar eller tillstånd i motsatsförhållanden 2 Datarepresentation Ström ELLER Inte ström Ljus ELLER Inte ljus Positiv laddning ELLER Negativ laddning Laddad kondensator ELLER Inte laddad Magnetisk laddning ELLER Icke-laddning Fördjupning ELLER Upphöjning Svart ELLER Vitt 3

Repetition från F5 Processorns beståndsdelar Styrenhet Aritmetisk logisk enhet Processorregister Systemklocka 4 Repetition från F5 The Fetch/Execute-cycle Ett cykliskt arbetssätt Fem steg som itereras 5 Repetition från F5 De enstaka instruktionerna kombineras till att lösa komplexa problem Iteration En eller flera instruktioner upprepas Selektion Exekveringen väljer olika vägar 6

Att bygga program Program byggs genom att instruktioner kombineras till algoritmer Algoritmer implementeras i olika programmeringsspråk Lågnivåspråk Assembler Högnivåspråk Java, C, C++ 7 Lågnivåspråk Med begreppet lågnivåspråk åsyftas olika former av assembler En assemblerinstruktion motsvarar ofta en processorinstruktion Assemblerinstruktionerna fungerar som mnemonics för maskinkoden Mnemoteknik Teknik som underlättar hågkomst 8 Assembler Enkelt att ge exakta direktiv för datorns hårdvara Instruktioner för adresser i t ex Grafikminnet Portar Praktiskt för drivrutiner och annat som har direktkontakt med hårdvara Svåröverskådlig kod i större program 9

Högnivåspråk En instruktion i ett högnivåspråk motsvarar ofta 10 20 assemblerrader Lättare att strukturera koden Inbyggda säkerhetsmekanismer Inbyggda tekniker för modularisering klasser paket funktioner/metoder/subrutiner/procedurer 10 Olika sorters programmering o o o o Imperativ programmering o Fortran, C, BASIC, Pascal m fl Funktionell programmering o LISP, Scheme Logikprogrammering o Prolog Objektorienterad programmering o C++, Eiffel, Simula, Java m fl PAUS 15 min 11 Kompilering och interpretering Ett högnivåspråk kan kompileras (C) Koden översätts till processorinstruktioner Ett högnivåspråk kan interpreteras (Javascript) Koden tolkas vid körning Ett högnivåspråk görs om till bytekod (Java) Bytekoden är plattformsoberoende 12

En addition Lågnivå Assembler ADD 2000, 2080, 4000 Högnivå Java, C eller C++ int a, b, c; a = 5; b = 7; c = a + b; 13 En liten jämförelse i Java int a; int b; a = 5; b = 5; if (a == b) { a = a + 1; } System.out.println("a = " + a ); 14 En jämförelse Java - Javascript Java är ett objektorienterat språk Javascript är objektbaserat Java kompileras till bytekod Javascript interpreteras Java är ett starkt typat språk Javascript är inte starkt typat Syntaxen är mycket lik i de båda språken 15

Javascript Användbart för internetprogrammering Klientsideprogrammering Mindre beräkningar Datavalidering Internetprogrammering Jag har två exempel utlagda på: http://www.dsv.su.se/~mozelius/gkitp/javascript/javascript.htm http://www.dsv.su.se/~mozelius/schack/schack.htm (Rank 2200) 16 Javascript booleska villkor Vi tittar närmare på ett villkor : var surfare = "Mona"; var lasar = "2005"; if((surfare =="Lisa" surfare =="Bernt" surfare =="Mona") && (lasar == "2006")) document.write( Hej ",surfare, ", Gott Nytt",lasar ); else document.write("hej, det är fortfarande ", lasar ); 17 Javascript Från XHTML-dokumentet länkas javascriptet in enligt: <script type="text/javascript" src="exempel.js"> </script> MVC = Model View - Controller HTML CSS - Javascript Kort Paus? 18

Algoritmer del 2 En algoritm är beskrivningen för hur man löser ett givet problem Behöver inte vara skriven i programkod Som ett recept i en kokbok Den datalogiska definitionen: Ett ändligt antal instruktioner som löser ett problem. 19 Algoritmer del 2 Algoritmer har funnits sedan länge inom områden som t ex arkitektur och matematik Här kommer en algoritm som är daterad till 1200-talet men som säkert är ännu äldre Leonardo Fibonaccis Fibonaccital: public class Fibonacci { static final int ANTAL = 10; 20 Algoritmer del 2 public static void main(string[] args){ int low = 1; int high = 1; for(int i = 1; i <= ANTAL; i++){ System.out.println(high); high += low; low = high - low; } } 21

Logiska operatorer Logiskt OCH: && (A && B) är sant om både A OCH B är sanna A B (A && B) 1 1 1 1 0 0 0 1 0 0 0 0 22 Logiska operatorer Logiskt ELLER: (A B) är sant om A ELLER B är sann A B (A B) 1 1 1 1 0 1 0 1 1 0 0 0 23 Iterativ programutveckling Att bygga programmen bit för bit Lägg till en rad kod i taget och kontrollera att allt fungerar innan något mera läggs till Enklare felsökning, bättre kontroll Att gå igenom programmen en gång till när all kod fungerar och optimera 24

Iterativ programutveckling För att verkligen nå himlen, så bygger vi en våning i taget 25 Felsökning Även vid mycket noggrann utveckling så uppstår alltid felaktigheter och buggar Testa mjukvaran med varierande indata Mata in udda värden/randvärden Kontrollera resultat med spårutskrifter Isolera problemen Rätta felaktigheterna 26 Operativsystem Alla av er har hört begreppet operativsystem! Men vad är det egentligen? Vi tar nu 20 minuters paus och ni sätter er i små grupper och resonerar om några saker som ett operativsystem ska klara. 27

Att starta upp datorn o BIOS 1) När strömmen slås på startas en inläsning från det batteriuppbackade BIOS 2) BIOS kör sedan den kontroll av hårdvaran som brukar kallas POST 3) Om allt är som det ska med hårdvaran så finns det en liten kodsnutt som sedan lämnar över till operativsystemet 28 Att starta upp datorn o Operativsystemet 1) Ser till så att olika enheter i datorn kan samarbeta genom att ladda drivrutiner 2) Startar upp de processer som sköter om användarinteraktionen 3) Gör sig klart för att köra program och för adressering av primär- och sekundärminne 29 Operativsystem Operativsystemet som ett gränssnitt mellan hårdvara och applikationer 30

Några viktiga OS-funktioner Minneshantering Administrera ett filsystem Kontakt med nätverk Kontakt med användare Kontakt med yttre enheter Köra program Köra flera program samtidigt 31 Köra flera program samtidigt Single tasking operating systems att köra en process i taget Multitasking operating systems multikörning, flera processer parallellt Multiuser operating systems Fleranvändarsystem som naturligtvis måste klara multikörning 32 Fleranvändarsystem Som här i IT-Forums datasalar Personliga användarkonton Personlig login Personlig miljö Personlig åtkomstkontroll av program Personlig åtkomstkontroll av data Gemensamma fora som t ex First Class 33

Olika typer av RAM-minne SRAM = Statiska RAM-minnen Var förr i tiden klart snabbare än DRAM Men är också dyrare att tillverka DRAM = Dynamiska RAM-minnen Billigare och tar mindre plats Minnescellerna behöver uppdateras Läs mera på: http://www.jonasweb.nu/sidor/datorn/tek niskt/minnen.html 34 Olika typer av SDRAM-minne SDRAM - Synchronous DRAM Synkroniserat med datorns arbetspuls Arbetar snabbare än vanliga DRAM DDR SDRAM - Double Data Rate Dataöverföring 2 ggr per klockcykel Mer strömsnåla än vanliga SDRAM DDR SDRAM2 skickar 64 bitar 2 ggr/cykel http://www.webopedia.com/quick_ref/dram _memory.asp 35 Tentatips Läs på om booleska villkor Kursboken sid 525 536 Tentaplugga i grupp I Forums grupprum Eller via Internet Tack för idag! 36