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