Algoritmer och loopar Algoritmer, beräkningsbarhet

Slides:



Advertisements
Liknande presentationer
Visual Basic - Genomgång
Advertisements

Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
För utveckling av verksamhet, produkter och livskvalitet. Rekursiva algoritmer, en annan sort tänkande -Hur -När -Bra/Dåligt (kap 7)
Föreläsning 7 Analys av algoritmer T(n) och ordo
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - Lite mer rekursivitet -Sorterrings algoritmer -- Kapitel 8 Algoritmer.
Algoritmer och datastrukturer
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik K och Media
Grundläggande programmering
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Java. Kortfattat om Java Syntaxen påminner i hög grad om C++ Stöd för objektorientering Kod kan köras i en virtuell maskin som finns tillgänglig för nästan.
Programmering B PHP Lektion 2
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Repetition inför slutprovet
1. Vik ett papper så att du får 9 lika stora bitar
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Vektorer (klassen Vector) Sortering
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
Metoder och slingor Metoder och dess typ Slingor med while och for-satser.
Grundläggande programmering
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Algoritmer. Ordet kommer från en persisk författare som kom från al’Khowârizmi (engelskans algorithm). Han skrev boken ’Kitab al jabr w’al-muqabala’.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Rekursiva algoritmer Hur När Bra/Dåligt (kap 7).
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.
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
Föreläsning 11 J-uppgiften. Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen).
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Java paket och jar-filer
Anders Sjögren Bitfält exempel Nu kommer ett förbättrat program. Det är funktions- uppdelat och kan lägga till poster som lagras på fil.
Problemlösningsmetodik
Reflektioner kring OU1 Generellt sett bra kvalitet på dokumentationen! Första intryck... –Skulle du lämna in en jobbansökan med ett häftstift/gem eller.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Datastrukturer och algoritmer
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Rekursion. En metoddefinition som innehåller ett anrop av sig själv kallas rekursiv.
Access 1 ITDA 2 Kurs Namn Klass Betyg En elev (namn) kommer att läsa många kurser och få ett betyg i varje kurs. Försök modellera om till funktionella.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 12: -kalkylen allmänt om -kalkylen syntax semantik att programmera i -kalkylen.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 12: -kalkylen allmänt om -kalkylen syntax semantik att programmera i -kalkylen.
Anders Sjögren Data (i primärminnet) som en länkad lista datatypen för varje element i listan är en struktur, post ( struct )
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Selektion jämförande och logiska operatorer
Anders Sjögren Operatorer. Anders Sjögren Operand(er)
Anders Sjögren Funktioner något in och något annat ut.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastructurer - En annan sort tänkande, rekursiva metoder -Datastrukturen träd.
KPP053, HT2015 MATLAB, Föreläsning 4
Algoritmer och datastrukturer Föreläsning 8 Tidskomplexitet (Weiss kap
Kapitel 2, mattespananrna
Föreläsning 11: Rekursion
Föreläsning 8: Exempel och problemlösning
Föreläsning 12: Exempel och problemlösning
Iteration – Repetitionssats - while
Repetitionsföreläsning 1: Lite rekursion & problemlösning
Presentationens avskrift:

Algoritmer och loopar Algoritmer, beräkningsbarhet Algoritmer och problemlösning med loopar (eller iterationer)

Beräkningsbarhet Vad är beräkningbarhet? Vad krävs av en anordning för att den ska kunna utföra beräkningar? Vad kan beräknas?

Algoritm Det är en ändlig uppsättning regler som bestämmer en följd av operationer som löser en specifik typ av uppgift som har följande kännetecken: Ändlighet Bestämdhet Indata Utdata Effektivitet (Donald Knuth)

Euklides algoritm Problem: Hitta den största gemensamma delare för två tal. smd(8,12)=4 Algoritm i 4 steg. r= m mod n (heltalsresten då man delar m med n). Gå till 2. Om r=0 så är sgd=n annars gå till 3. Sätt m=n. Gå till 4. Sätt n=r Gå till 1.

Turing maskiner Remsa Centralenhet (läsa, framåt,bakåt) Alfabete {a,b} Tillstånd { start, stopp,q1} Church Turings tes Allt som kan beräknas kan beräknas av en Turing maskin.

Stopp problemet Det finns inte någon algoritm som kan avgöra om en annan given algoritm med ett visst indata stannar eller går i evig loop.

Matematiskt väldef. problem Beräkningsbara Inte beräkningsbara Hanterliga Ohanterliga

Problem 1 En klass bestående av 10 studenter gjorde ett test bestående av flervals frågor och fick betyg från 0-100. Givet studenternas betyg kan du räkna ut deras medelbetyg.

Algoritm 1 Sätt summa=0 Sätt betygsräknare=0 Så länge som betygsräknare är mindre än 10 läs in nästa betyg lägg till betyget till summan Sätt klassmedlet till summa/10 Skriv ut klassmedlet

En java implementation public void medel1(){ int summa, betyg; double medelbetyg; summa=0; for (int betygsräknare=0;betygsräknare<10;betygsräknare++){ betyg= Input.readInt("Vilket är betyget?"); summa=summa+betyg; } medelbetyg=(double)summa/10; Output.meddelande("Medelbetyget är "+medelbetyg);

Problem 2 Gör ett klassmedels program som hanterar medel för ett okänt antal studenter varje gång det körs.

Algoritm 2 summa=0 räknare=0 Läs in det första betyget (kan vara -1) Så länge som användaren inte har angivigt -1 Lägg till betyget till summan Öka räknaren med ett Läs in det nästa betyget (kan vara -1) Om räknaren inte är lika med 0 Sätt medel=summa delat med räknare Skriv ut medel Annars skriv ut ” Inga betyg har skrivits in”

En java implementation public void medel2(){ int summa, betyg, räknare; double medelbetyg; summa=0; räknare=0; betyg= Input.readInt("Vilket är betyget? Du kan ange -1 om du vill avsluta"); while (betyg != -1){ summa=summa+betyg; räknare++; } if (räknare != 0){ medelbetyg=(double)summa/räknare; Output.meddelande("Medelbetyget är "+Output.format(medelbetyg,0,2)); else Output.meddelande("Inga betyg har skrivits in");

Java implementation av sgd public int sgd(int m,int n) { int r; r=m%n; while (r != 0){ m=n; n=r; } return n;