Spel3: De Naturliga Talen: Konstruktion och Addition

adding

Uppgift 1: Skriv ett datorprogram som konstruerar de naturliga talen och skriver ut dem på konsolen (med basen 10), genom upprepning av x=x+1 med start x=0.

Uppgift 2: Binär representation av naturliga tal: 1=0+1, 10=1+1, 11=10+1, 100=11+1, 101=100+1,…

Uppgift 3: Skriv ett datorprogram som utför addition av naturliga tal i binär form utifrån additionstabellen: 0+0=0, 1+0=1, 0+1=1, 1+1=10. (Titta på Lego Computer DigiComp)

Extrauppgift: Skriv ett datorprogram som generar de rationella talen av formen p/q med p och q naturliga tal (q ej 0) med p<q och skriver ut dem på konsolen med basen 10.

Jämför med Counting på App Store och även Calculus1.

Template 1 Uppgift 1: (Kör programmet)

–Natural Numbers
function setup()
print(“Konstruktion av de hela talen genom upprepning av x=x+1 med start x=0.”)
n=0
end
function draw()

background(251, 251, 251, 255)

n=n+1

fontSize(200)
fill(0, 0, 0, 255)
text(n,300,500)

end

Template 2 Uppgift 1: (Kör programmet)

funktion setup()
print(“Konstruktion av de hela talen genom upprepning av x=x+1 med start x=0.”)
n=0

end

function draw()

background(40, 40, 50)
n1=n
n=n+1

font(“AmericanTypewriter”)
fontSize(20)
fill(229, 232, 228, 255)

for m=1,n do
for k=1,m do
text(m..”=”,30,800-20*m)
text(“+1″,20*k+40,800-20*m)
end
end

fontSize(100)
fill(255, 0, 37, 255)
text(n..”=”..n1..”+1″,300,600)
fontSize(200)
fill(0, 1, 255, 255)

text(n,300,300)

end

Template Uppgift 3:

— BinaryAdd

number1 = {}
number2 = {}
sum = {}

for i=1,20 do
number1[i]=0
number2[i]=0
sum[i]=0
end

number1[1]=1

function setup()

font(“AcademyEngravedLetPlain”)
fontSize(50)
fill(11, 0, 255, 255)
print(“Construction of Natural Numbers”)
print(“Add number 1 repeatedly”)
print(“1”)
print(“1+1 = 10”)
print(“1+1+1 = 10+1 = 11”)
print(“1+1+1+1 = 11+1 = 100”)
print(“Binary numbers: digits 0 and 1”)
print(“0+0=0,0+1=1,1+0=1,1+1=10,”)

end

function Add(number1,number2)

local carry={}
for i=1,20 do
sum[i]=0
carry[i]=0
end
for i =1,20 do
sum[i] = number1[i] + number2[i]+carry[i]
if sum[i] == 2 then
carry[i+1] = 1
sum[i]=0
end
if sum[i] == 3 then
carry[i+1] = 1
sum[i] = 1
end
end
return sum

end

function example()

for i=1,9 do
number1[i]=math.random(0,1)
number2[i]=math.random(0,1)
end
sum = Add(number1,number2)

end

example()

function draw()
background(40, 40, 50)

font(“AmericanTypewriter”)
fontSize(50)
for j=1,10 do
text(number1[j],500-40*j,800)
text(“+”, 50,750)
text(number2[j],500-40*j,750)
text(“=”,50,650)
text(sum[j],500-40*j,650)
end
end

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s