Programmeren

op alle niveaus



Wat is programmeren?



Instrueren van een programmeerbare computer



Wat is een computer?


Een apparaat dat geprogrammeerd kan worden om
wiskundige of logische berekeningen uit te voeren

Computer


Charles Babbage (1791-1871)

Ada Lovelace (1815-1852)


Elektronische computer

ENIAC (1946)

Ponskaarten (1960-1980)

Muis, scherm, toetsenbord

Basis blijft hetzelfde


Computer rekent met stroom

0 = geen stroom
1 = wel stroom



Mensen rekenen met vingers

0 1 2 3 4 5 6 7 8 9


Code

0001 =1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9

01000001 = a
01000011 = b
01000100 = c
01000101 = d
01000110 = e
01000111 = f
01001000 = g
01001001 = h
01001010 = i
01001011 = j
01001100 = k

Rekenen in code



3 + 4 = ?

0011  (3)    
0100  (4)  +
0111 (7)     


Programmeren

= Instrueren van een programmeerbare computer

Behalve data (cijfers, letters) ook instructies (opdrachten)

10011000 00000011 00000100
=
add 3, 4


Wat een gedoe!


3 + 4
==>
add 3, 4
==> 
10011000 00000011 00000100
==>
00000111
==>
7



Programmeertalen


Steeds simpeler en abstracter


ALGOL (jaren 60)


main:(
INT default upb := 3;
MODE INTARRAY = [default upb]INT;
 
INTARRAY array = (1,2,3,4,5,6,7,8,9,10);
INT sum := 0;
FOR i FROM LWB array TO UPB array DO
sum +:= array[i]
OD;
 
# Define the product function #
PROC int product = (INTARRAY item)INT:
(
INT prod :=1;
FOR i FROM LWB item TO UPB item DO
prod *:= item[i]
OD;
prod
) # int product # ;
printf(($" Sum: "g(0)$,sum,$", Product:"g(0)";"l$,int product(array)))
)


C (jaren 70)


int arg[] = { 1,2,3,4,5 };
int arg_length = sizeof(arg)/sizeof(arg[0]);
int *end = arg+arg_length;
int sum = 0, prod = 1;
int *p;
 
for (p = arg; p!=end; ++p) {
sum += *p;
prod *= *p;
}



Perl (jaren 80)


my @list = ( 1, 2, 3 );
 
my ( $sum, $prod ) = ( 0, 1 );
$sum += $_ foreach @list;
$prod *= $_ foreach @list;



Python (jaren 90)


numbers = [1, 2, 3]
total = sum(numbers)
 
product = 1
for i in numbers:
product *= i



Haskell


values = [1..10]
 
s = sum values
p = product values




JavaScript


Programmeren in je browser!


Rekenen


3 + 4

5 * 6

12 / 2

(3 + 5) / 4 


Tekst ("strings")



"hallo"

"strings" + "plakken"

"hoepla".length 


Logica


3 < 5

4 > 10

8 <= 8

9 >= 1

"dit" == "dat"

"iets" != "niets" 


Meer logica


true && false

false || true

false == !true 


Variabelen


var x;

var y;

x = 3;

y = 4;

x + y;
x != y


Functies


alert("Hallo!");

confirm("Weet je het zeker?");

prompt("Groente of fruit?");

Structuur


if (3 < 4) {    alert("Links");}else {    alert("Rechts");}


Zelf functies maken


var dubbel = function(x)
{
    alert(x * 2);
}
dubbel(6);

Functies

var getal_raden = function(x) {    var gok = prompt("Welk getal heb ik in mijn hoofd?");
if (gok == x) { alert("Gefeliciteerd, je hebt het geraden! Knapperd"); } else { if (gok < x) { alert("Nee joh, veel meer!"); } else { alert("Oh, nee, dat is wel erg veel..."); } getal_raden(x); }}

Programmeren

By maarten

Programmeren

  • 233