Chapt 0 - Introduction Flashcards
Algoritm
En algoritm är en stegvis beskrivning över hur man ska utföra någonting.
Olika typer av algoritmer
Recept (recipes) - en stegvis beskrivning över hur man skall tillaga
Vägbeskrivning (directions) - hur man skalll ta sig från en plats till en annan (gata t gata)
Noter (sheet music) - hur man ska spela ett musikstycke på ett instrument - vilka toner som spelas, när och hur länge
Program
Är en algoritmbesrkivning som är beskriven på ett sådant sätt att en dator kan utföra algoritmen.
Software
Är alla program som finns på en dator, samling av program.
Hardware
Är den fysiska maskien som program kan köras på, själva datorn.
The Euclidian Algorithm
Beräknar den största gemensamma nämnaren av två positiva heltal.
The Euclidian Algorithm
Beräknar den största gemensamma nämnaren av två stycken tal. Innehållet ett villkor - punkt 4. Och en loop - punkt 7.
The Euclidian Algorithm - stegvis
- Assign M the larger of the two integers
- Assign N the smaller of the two integers
- Divide M by N and call the reminder R
4.If R is 0 then return to the value of N (villkor) - Assign M the value of N
6 .Assign N the value of R - Go back to step (loop)
Chinese Wooden Abacus (kulram) - Human Execution
En kulram tillsammans emd en människa som arbetar med den kunde utföra algoritmer med den, majoritetn av algoritmen befinner sig i människan förstås. För att summera & subtrahera tal, utföra beräkningar. Dessa tillsammmans bildar ett system och är en slagd dator. De första kulramarna är tusental år gamla
Blaise Pascal
(1623-1662) Performed addition. Beskrev och utvecklade en maskin m kugghjul, kugghjulsbaserade maskiner för att beräkna addition. I maskinen ställs tal in som skall adderas och rent mekaniskt mha kugghjul producerar den ett svar på beräkningen.
Wilhelm Leibniz
(1646-1716) Performed arithmetic operations. Utveckalde en maskin som kunde utföra flera matematiska operationer (även kugghjulsbaserad.) Var begränsade då de endast kunde utföra en sak i varje maskin (hårdkodat) så det gick ej att ändra utan det var i hårdvaran så var det inbyggt en funktion.
Charles Babbage
(1792-1871) Analytical Engine, programmable. Ett stort steg med den kuggghjulsbaserade maskinen var att den var programmerbar. Dvs den kunde utföra mer än en operation, vilken operation som helst. Mycket likt en dator. Analytical Engine producerades aldrig pga utebliven finansiering för att bygga maskinen.
Ada Byron (Lovelace)
(1815-1852) Wrote programs för the Analytical Engine. Skrev artiklar om hur man kunde programmera Analytical Engine för att utföra olika operationer. Eftersom hon skrev dessa program så är hon världens första programmerare.
Position of beads ( datalagring)
Kulornas position i kulramen representerar vanligtvis ettt tal.
Position of gears (datalagring)
Kugghjulens position. Vid beräkning av addition får indata kugghjulen ställas in så att de representerar de tal som vi skall summera ihop.
Maskinen går (beräknar) sen har vissa kugghjul ha positioner där summan står, positon represeterar data. Läsa av positioner för att se resultat. Svårt att bygga, oflexibelt.