Chapter 1
Chipmunk BASIC v3.5.6
>run "Math"
2 8 0.25
>
>list
10 rem Multiply two numbers
20 x = 2
30 y = 8
40 z = x/y
50 print x,y,z
>run
2 8 0.25
>
2 8 0.25
>
>list
10 rem Multiply two numbers
20 x = 2
30 y = 8
40 z = x/y
50 print x,y,z
>run
2 8 0.25
>run "Math"
2 8 0.25
>run "Math"
2 8 0.25
>
>list
10 rem Multiply two numbers
20 x = 2
30 y = 8
40 z = x/y
50 print x,y,z
>run
2 8 0.25
Chapter 2
>Chipmunk BASIC v3.5.6
>run "ucase.bas"
2 capital letters in HelLo
HELLO is all capital letters
{ } should be 4 spaces between the brackets
1 2 3 5 8 13 21 34 55 89 are fibonacci numbers
>
>list
100 rem subroutine tests
110 b$ = "HelLo"
120 print countcaps(b$);" capital letters in ";b$
130 print ucase$(b$);" is all capital letters"
140 print "{";spc$(4);"} should be 4 spaces between the brackets"
150 for i = 1 to 10 : print fib(i); : next i : print " are fibonacci numbers"
190 end
191 '********
8000 sub fib(n) : rem recursive fibonacci number
8010 if n < 2 then return (1)
8020 return (fib(n-1)+fib(n-2))
9000 sub ucase$(a$,b$,i,c,n) : rem convert a$ to upper case
9010 b$ = ""
9020 n = len(a$)
9030 for i = 1 to n
9040 c = asc(mid$(a$,i,1))
9050 if c > 96 then c = c-32
9060 b$ = b$+chr$(c)
9070 next i
9080 return (b$)
9100 sub countcaps(a$,i,n,c$) : rem count capital letters in a$
9110 n = 0
9120 for i = 1 to len(a$)
9130 c$ = mid$(a$,i,1) : if c$ >= "A" and c$ <= "Z" then n = n+1
9140 next i
9150 return (n)
9200 sub spc$(n,b$,i) : rem create a string of n spaces
9210 b$ = ""
9220 for i = 1 to n : b$ = b$+" " : next i
9230 return (b$)
9980 '********
9990 end
>run
2 capital letters in HelLo
HELLO is all capital letters
{ } should be 4 spaces between the brackets
1 2 3 5 8 13 21 34 55 89 are fibonacci numbers
>saved ucase.bas
Chapter 3
Chipmunk BASIC v3.5.6
>run "sieve.bas"
1899 primes found 1 times in 0.1 seconds
>
>list
10 rem sieve 6/1/92 test
20 loops = 1
30 t = timer
40 dim f(8194)
50 for j = 1 to loops
60 c = 0
70 s = 8191
80 for i = 0 to s : f(i) = 1 : next i
90 for i = 0 to s
100 if f(i) = 0 then goto 140
110 p = i+i+3
115 if i+p > s then 130
120 for k = i+p to s step p : f(k) = 0 : next k
130 c = c+1
140 next i
150 next j
160 print c;" primes found ";
170 t = timer-t
180 print loops;" times in ";
190 print t;" seconds"
200 end
>run
1899 primes found 1 times in 0.1 seconds
>
Break
in line 310
>
Chapter 4
>list
100 rem ** A Demo of 3 sprites bouncing around over a changing background **
110 rem
120 dim x(10),y(10),dx(10),dy(10)
150 gosub 340
155 print " boxes and sprites ";time$
160 for i2 = 1 to 600000
170 x1 = x(4)+rnd(320)
180 x2 = x(4)+rnd(320)
190 if (x1 > x2) then 170
200 y1 = y(4)+rnd(240)
210 y2 = y(4)+rnd(240)
220 if (y1 > y2) then 200
230 m = rnd(32)
240 j = rnd(100) : j2 = rnd(100) : j3 = rnd(100)
250 graphics color j,j2,j3
260 if rnd(10) > 6 then goto 290
270 graphics fillrect x1,y1,x2,y2,m : graphics rect x1,y1,x2,y2
280 goto 300
290 graphics filloval x1,y1,x2,y2,m : graphics oval x1,y1,x2,y2
300 if i2 and 1 then gosub 450
310 graphics(0) : rem *** wait for refresh ***
320 next i2
330 end
340 rem *** display an initial background ***
350 cls
360 graphics 0
370 for i = 1 to 20
380 moveto 10,10*i : lineto 200,10*i
390 moveto 10*i,10 : lineto 10*i,200
400 next i
410 t = timer
420 moveto 210,100 : graphics drawtext "Demo"
430 for i = 1 to 10 : x(i) = 100+i : y(i) = 100-i : next i
440 return
450 rem *** Display and Move Sprites ***
460 sprite 1 x(1),y(1),131
470 sprite 2 x(2),y(2),128
480 sprite 3 x(3),y(3),129
485 graphics window -1,-1,x(4),y(4),2
490 for i = 1 to 4
500 dx(i) = dx(i)-1+rnd(3)
510 if abs(dx(i)) > 10 then dx(i) = dx(i)/2
520 x(i) = x(i)+dx(i)
530 if x(i) > 310 or x(i) < 8
532 dx(i) = sgn(100-x(i))*abs(dx(i)) : x(i) = x(i)+2*dx(i)
534 if i < 4 then sound 400,0.05,40
536 endif
540 dy(i) = dy(i)-1+rnd(3)
550 if abs(dy(i)) > 10 then dy(i) = dy(i)/2
560 y(i) = y(i)+dy(i)
570 if y(i) > 220 or y(i) < 8
572 dy(i) = sgn(100-y(i))*abs(dy(i)) : y(i) = y(i)+2*dy(i)
574 if i < 4 then sound 400,0.05,40
576 endif
580 next i
582 if x(4) > graphics(-38)-320 then x(4) = graphics(-38)-322
584 if y(4) > graphics(-39)-240 then y(4) = graphics(-39)-242
590 n = n+1
600 if timer-t > 10 then print (n-n0)/(timer-t);" fps",fre : t = timer : n0 = n
610 return
620 end
532 dx(i) = sgn(100-x(i))*abs(dx(i)) : x(i) = x(i)+2*dx(i)
534 if i < 4 then sound 400,0.05,40
536 endif
540 dy(i) = dy(i)-1+rnd(3)
550 if abs(dy(i)) > 10 then dy(i) = dy(i)/2
560 y(i) = y(i)+dy(i)
570 if y(i) > 220 or y(i) < 8
572 dy(i) = sgn(100-y(i))*abs(dy(i)) : y(i) = y(i)+2*dy(i)
574 if i < 4 then sound 400,0.05,40
576 endif
580 next i
582 if x(4) > graphics(-38)-320 then x(4) = graphics(-38)-322
584 if y(4) > graphics(-39)-240 then y(4) = graphics(-39)-242
590 n = n+1
600 if timer-t > 10 then print (n-n0)/(timer-t);" fps",fre : t = timer : n0 = n
610 return
620 end
2ND SET OF ASSIGNMENTS
Chapter 1
EVALUATE THE GIVEN STATEMENT.
1. 4 * 3 = 12
2. 3 ^ 3 = 27
3. 3 ^ 4 + 4 * 2 - 1 = 169
4. 9 * 4 / 3 + 8 - 3 = 17
WRITE THE GIVEN STATEMENT IN BASIC NOTATION.
5. 3 x 5 + 4 = 3*5+4
6. 3 ( 4 - 2 ) = 3*4-2
7. 7 ( 3 + 4 )2 = 7*3+4*2
8. 22 + 32 / 23 = 2^2+3^2/2^3
WRITE EACH BASIC EXPRESSION IN ORDINARY ALGEBRAIC NOTATION.
9. ( X + 2 ) * ( X + 3 ) = X+2 x X+3
WRITE THE GIVEN STATEMENT IN BASIC NOTATION
10. 3X2 + 2X + 1 = 3*2+2*x+1
11. [ ( X + 3 )( 2X + 1 ) ]2 = x+3*2*x+1*2
DETERMINE THE GIVEN PRINTED OUTPUT FOR EACH PROGRAM.
12. 5 READ X, Y
10 LET Z = X ^ 3 + Y
15 PRINT Z
20 DATA 2, 4
25 END
13. 10 REM - PYTHAGORAS
20 READ A , B
30 LET C = ( A ^ 2 + B ^ 2 ) ^ ( 1 /2 )
40 PRINT " THE VALUE OF C IS " ; C
50 DATA 5 , 12
60 END
Chapter 2
EVALUATE THE GIVEN STATEMENT.
1. 5 + 3 * 2 = 11
2. 32 / 2 ^ 5 = 1
3. 4 ^ 2 + 3 * 4 / 2 = 38
4. ((3 + 4) ^ 2) / (3 ^ 2 - 2) = 7
WRITE THE GIVEN STATEMENT IN BASIC NOTATION.
5. 23 - 3 = 2^3 - 3
6. 34 - 22 = 3^4 - 2^2
7. (8 X 3) / 2 + 23 = 8*3 / 2 + 2^3
WRITE EACH BASIC EXPRESSION IN ORDINARY ALGEBRAIC NOTATION.
8. 3 * X ^ 2 - 2 * X + 3 = 3X2 - 2 x X + 3
9.( 2 * X- 1) * (3 * X + 1) / (2 * X + 1) = 2X - 1 x 3 x X +1
WRITE THE GIVEN STATEMENT IN BASIC NOTATION
10. X2 - 8X +16 /X + 4 = X * 2 - 8 * X + 1^6 / X + 4
DETERMINE THE GIVEN PRINTED OUTPUT FOR EACH PROGRAM.
11.
10 LET L = 4
20 LET W = 3
30 LET P = 2 * L + 2 * W
40 PRINT P
50 END
12.
5 REM - PERIMETER
10 LET L = 9
15 LET W = 7
20 LET P = 2 * L + 2 * W
25 PRINT P
30 END
CHAPTER 3
10 REM - SQUARES
15 READ X
20 LET Y = X ^ 2
25 PRINT X, Y
30 GOTO 15
35 DATA 1, 2, 3, 4, 5
40 END
RUN
1 1
2 4
3 9
4 16
5 25 OUT OF DATA LINE 15
10 REM - SQUARES
15 FOR X = 1 TO 5
20 LET Y = X ^ 2
25 PRINT X, Y
30 NEXT X
35 END
10 REM - CUBES
20 READ X
30 IF X < 0 THEN 80
40 LET Y = X ^ 3
50 PRINT X, Y
60 GOTO 20
70 DATA 1, 2, 3, 4, 5, -1
80 END - 1... 1
2...8
3...27
4...64
5...125
5 REM - NUMBERS
10 FOR X = 1 TO 10
15 PRINT X
20 NEXT X
25 END - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
5 REM - MULTIPLES
10 LET X = 1
15 LET Y = 8 * X
20 PRINT Y ; " " ;
25 LET X = X + 1
30 IF X < 13 THEN 15
35 END - 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96
a. 5 REM - POWERS
10 READ X
15 IF X < 0 THEN 40
20 LET Y = X ^ 5
25 PRINT X, Y
30 GOTO 10
35 DATA 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, -1
b. 5 REM - POWERS
10 FOR X = 1 TO 10
15 LET Y = X ^ 5
20 PRINT X, Y
25 NEXT X
30 END
c. 5 REM - POWERS
10 LET X = 1
15 LET Y = X ^ 5
20 PRINT X, Y
25 LET X = X + 1
30 IF X < 11 THEN 15
35 END
CHAPTER 4
10 REM - HELLO
15 PRINT "HI"
20 PRINT
25 PRINT "MY NAME IS"
30 PRINT
35 PRINT "KETES THE COMPUTER"
40 PRINT
45 GOTO 15
50 END
10 REM - MULTIPLES
20 LET X = 1
30 LET Y = 2 * X
40 PRINT Y
50 LET X = X + 1
60 IF X < 51 THEN 30
70 END
5 REM - AREA
10 READ L, W
15 IF L < 0 THEN 40
20 LET A = L * W
25 PRINT "A =" ; A
30 GOTO 10
35 DATA 7,4,6,3,5,2,-1,-1
40 END
ASSIGNMENT 1
110 let k = 3
20 let z = 100-7*k
30 print k,z
40 let k = k+1
50 if k = 7 then 70
60 go to 20
70 end
>run
3 79
ASSIGNMENT 2
10 let d = 5
20 let e = 4*d+11
30 print d,e
40 let d = d+2
50 if d = 13 then 70
60 go to 20
70 end
>run
5 31
ASSIGNMENT 3
10 let p = 2
20 let c = p*p-5
30 print p,c
40 let p = p+1
50 if c < 30 then 20
60 end
70 end
>run
2 -1
3 4
4 11
5 20
6 31
ASSIGNMENT 4
10 let f = 4
20 let b = 100-f*f
30 print f,b
40 let f = f+1
50 if b > 50 then 20
60 end
70 end
>run
4 84
5 75
6 64
7 51
8 36
>
ASSIGNMENT 5
10 let a = -3
20 let b = a*a
30 let c = b-5
40 print a,c
50 if a > 0 then 80
60 let a = a+1
70 goto 20
80 end
>run
-3 4
-2 -1
-1 -4
0 -5
1 -4
ASSIGNMENT 6
>10 LET X = 5
>
>20 LET Y = X - 7
>
>30 LET Z = Y * Y * Y
>
>40 PRINT X, Z
>
>50 LET X = X + 1
>
>60 IF X = 9 THEN 20
>
>70 ENDrun
ASSIGNMENT 7
1. LET X = 13 x changes from 5 to 13
2. LET Y = Y + 3 y changes from 8 to 11
3. LET Y = Y + X y changes from 8 to 13
4. LET X = Y / 4 x changes from 5 to 2
5. LET Y = 15 / X y changes from 8 to 3
6. LET X = SQR (Y+1) x changes from 5 to 3
7. LET X = ABS (2-Y) x changes from 5 to 6
8. LET X = INT (4,9) x changes from 5 to
9. LET Y = X^2 y changes from 8 to 25
10. LET Y = SQR (X+20) y changes from 8 to 5
11. IF X < 10 THEN 90 does line 90 next because x is less than 10
12. IF Y > 3 THEN 10 does line 10 next because y is greater than 3
ASSIGNMENT 8
10 print "PROBLEM 2"
20 let s = 0
30 for x = 1 to 9 step 2
40 let s = s+x
50 print x,s
60 next x
70 print "SUM EQUALS ";s
80 end
90 end
>run
PROBLEM 2
1 1
3 4
5 9
7 16
9 25
SUM EQUALS 25
10 let x = 1
20 let y = sqr(x)
30 print x,y
40 let x = x+1
50 if x <= 10 then 20
60 end
>run
1 1
2 1.414214
3 1.732051
4 2
5 2.236068
6 2.44949
7 2.645751
8 2.828427
9 3
10 3.162278
ASSIGNMENT 9
10 letx = 1
20 let y = x^2
30 print x,y
40 let x = x+1
50 if x <= 10 then 20
60 end
>run
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
ASSIGNMENT 10
10 print "TYPE A VALUE OF N."
20 input n
30 print " X "," Y"
40 print "___","___"
50 for x = 1 to n
60 let y = 7-3*x
70 print x,y
80 next x
90 end
>run
TYPE A VALUE OF N.
? 5
X Y
___ ___
1 4
2 1
3 -2
4 -5
5 -8
10 print "PROBLEM 2"
20 let s = 0
30 for x = 1 to 9 step 2
40 let s = s+x
50 print x,s
60 next x
70 print "SUM EQUALS ";s
80 end
90 end
>run
PROBLEM 2
1 1
3 4
5 9
7 16
9 25
SUM EQUALS 25
10 let x = 1
20 let y = sqr(x)
30 print x,y
40 let x = x+1
50 if x <= 10 then 20
60 end
>run
1 1
2 1.414214
3 1.732051
4 2
5 2.236068
6 2.44949
7 2.645751
8 2.828427
9 3
10 3.162278
10 letx = 1
20 let y = x^2
30 print x,y
40 let x = x+1
50 if x <= 10 then 20
60 end
>run
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100