Eddie’s Math and Calculator Blog: TI-84 Plus CE Python: Drawing Bars

TI-84 Plus CE Python: Drawing Bars

My
inspiration for this post was from a class I was taking at
brilliant.org. A free plug: brillant.org is a great web service
that offers easy to follow and interactive classes in mathematics,
physics, and programming. Classes are offered at every level.

Introduction

The
following set of scripts draw a set of bars. The blue bar is the base
bar, while orange bars are added to the right of the base bar. The
user specifies the length of the base (b) and orange bars, known as
the increment (c). The length is in pixels. The screen is 320
pixels long.

Eddie’s Math and Calculator Blog: TI-84 Plus CE Python: Drawing Bars

Each
of the scripts uses the TI-specific module TI-draw module. If you
have another calculator or platform, another similar drawing module
is needed. The scripts were typed on a TI-84 Plus CE Python Edition,
but should work on the TI-83 Premium CE Python Edition and TI-Nspire
CX II (I haven’t tested either).

BAR1:
Static

This
script asks the user for the length of the base bar, increment bar,
and the number of bars.

Note
that show_draw() command end the execution of the script with the
drawing on the screen. Press [clear] to exit the screen.

#
static bar



from ti_draw import *

print(“Positive
Integers Only”)
b=int(input(“base?
“))
c=int(input(“increment? “))
n=int(input(“#
of bars? “))

# total
t=b+c*n

#
draw
clear()

#
base
set_color(0,120,245)
fill_rect(0,80,b,40)

#
increment
set_color(255,135,10)
for i in range(n):
  fill_rect(b+i*c,80,c,40)

#
text
set_color(0,0,0)
draw_text(0,160,”Total:
“+str(t)+” = “+str(b)+” + “+str(n)+” *
“+str(c))
draw_text(0,180,”Press [clear] to exit.”)

#
draw
show_draw()

BAR2:
Animate

This
script asks the user for the length of the base bar, increment bar,
and the number of bars. Only this time the drawing is animated as
the number of increment bars is increased from 0 to n.

This
script uses another module, time. This is needed for the sleep(s)
command, where s is the number of seconds.

#
a
nimate
bar



from ti_draw import *
from time import
*

print(“Positive Integers Only”)
b=int(input(“base?
“))
c=int(input(“increment? “))
n=int(input(“#
of bars? “))

# total
t=b+c*n

# range
starts at 0
for i in range(n+1):
  clear()
  # base
  set_color(0,120,245)
  fill_rect(0,80,b,40)
  # increment
  set_color(255,135,10)
  for j in range(i):
    fill_rect(b+j*c,80,c,40)
  t=b+c*i
  # text
  set_color(0,0,0)
  draw_text(0,160,”Total: “+str(t)+”
= “+str(b)+” +        “+str(n)+” * “+str(c))
  # draw
  sleep(0.5)

# for the screen to stay on the
bars at the end
set_color(255,0,0)
draw_text(0,180,”Press
[clear] to exit.”)
show_draw()

BAR3:
Control

Instead
of giving a number of increment bars, the user controls the number of
bars by pressing the right [ → ] and left [ ← ] keys. Exit by
pressing the [ enter ] key.

This
script uses the ti_system module. This allows for the wait_key()
command, which stops execution until a key is pressed.

Key
codes for TI-84 Plus CE Python and TI-83 CE Premium Python Edition:

[ →
]: right key, code 1

[ ←
]: left key, code 2

[
enter ]: enter key, code 5

#
bar with get key


from ti_draw import *
from ti_system
import *

def drawsub(b,c,n):
  # total
  t=b+c*n
  # draw
  clear()
  # base
  set_color(0,120,245)
  fill_rect(0,80,b,40)
  set_color(255,135,10)
  for i in
range(n):
    fill_rect(b+i*c,80,c,40)
  set_color(0,0,0)
  draw_text(0,160,”Total: “+str(t)+” = “+str(b)+”
+        “+str(n)+” * “+str(c))
  draw_text(0,180,”<-
or ->, [enter] to quit”)

print(“Positive
Integers Only”)
b=int(input(“base?
“))
c=int(input(“increment? “))
print(“Press
<- or ->”)

# default value of n
n=0

#
max number of incr
m=int((320-b)/c)

# key
k=0

while
k!=5:
  k=wait_key()
  # left key
  if k==2 and n>0:
    n-=1
  # right key
  if k==1 and n<m:
    n+=1
  drawsub(b,c,n)

set_color(255,0,0)
draw_text(0,20,”DONE”)
show_draw()

Download
the scripts here:
https://drive.google.com/file/d/1SKCXBm6lYi5cYurm7nqAqI-868lxvqpz/view?usp=sharing

Until
next time and in good health,

Eddie

All
original content copyright, © 2011-2024. Edward Shore.
Unauthorized use and/or unauthorized distribution for commercial
purposes without express and written permission from the author is
strictly prohibited. This blog entry may be distributed for
noncommercial purposes, provided that full credit is given to the
author.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

More like this

2024 Summer Game #6: Make Twenty

Can you believe that we’re almost half way through summer? And I have the best game for...

Centroid of a 2D spaces

Casio fx-CG 50: Centroid of a 2D spaces The program CENTROID calculates the center point for an area...

FREE Writing Expressions Activity: Partner Challenge – Grades 5-7

Do your students struggle to translate words and phrases into numerical or...