Let’s
start this lesson by taking a look at your typical school day. What are some of
the functions that you perform on a given school day? Here are a few: you wake
up, make your bed, brush your teeth, take a bath, get dressed, eat breakfast,
travel to school, study, play, eat lunch, study again,
travel home, play, sports/activities, watch TV, read a book, do homework, eat
dinner, brush your teeth, sleep... If you look closely at each of these functions,
you notice that each one of these involves multiple steps.
For example, brushing your teeth more
or less involves the following steps: (1) pick up toothbrush (2) pick up
toothpaste (3) squeeze the toothpaste onto the brush (4) actual brushing of the
teeth (5) open the tap for water (6) fill up your glass (7) close tap (8) rinse
your mouth (9) put away the toothbrush and toothpaste.
We bunched up all these steps and gave
it a unique name: “brush teeth”. When your dad or mom wants you brush your
teeth, do they say all these 9 steps one by one, or do they just say “brush
teeth”? Why? Because you understand what “brush teeth” means. You have been taught in
your younger days what that means and how to do all those 9 steps. All those
steps are in your memory. So when you hear it, you know all the steps to do.
Now let us take a look at a computer…
like your Pro-Bot. Don’t you think if a computer is first told how to draw a 6
cm side square, then each time you want to draw a 6 cm side square, you should
be able to say a unique name like “square” or draw square”, or something like
that, instead of telling it each time “Fd 6, Rt, Fd 6, Rt, Fd 6, Rt, Fd 6, Rt”? Guess what? The computer can do that! And that is
what we call “Procedure”.
A
procedure is a set of
computer program instructions that performs a specific task.
In your daily life example, “brush teeth”
is a procedure. It is a small group of instructions that performs a specific function.
Any time your parent wants you to perform this function (which involves those 9
steps), he or she would just call it by the name “brush teeth”, rather than
specify every step involved in it. This way, they get to reuse the “procedure”
they taught you and made you memorize. Similarly, in a computer program, you
write those steps once into the computer’s memory and give it a unique name. Then you can use it
multiple times in your program.
Maybe, the dentist has advised you and
your parents to include flossing into your routine. Flossing is also a
procedure just like “brush teeth”. It involves some of these steps: (1) take
the box of floss, (2) cut off about 10 inches of the flossing thread (3) coil
it around your fingers (4) insert it between 2 of your teeth and pull (5)
repeat this for all the gaps between your teeth (6) uncoil the string from your
fingers (7) throw it into the garbage. Your parents work with you to teach you
these steps until you have learned it. Then while brushing your teeth, he or
she may remind you to “floss”. They don’t have to tell you all those 7 steps
every time anymore. So here you can see that the “floss” procedure is
called from within the “brush teeth” procedure.
Now let’s go back to the computer. Let’s
say you want it to make a beeping sound after you draw the square. What would
you do? You could write a procedure to make that beeping sound. Then call that
“beep” procedure from within your “square” procedure after all those steps to
draw the square. In this way, you just easily modified your first procedure to
do something different.
Thus,
you can call other procedures from within a procedure.
Back to our “brush teeth” example. You
may decide to floss before you do other steps in your “brush teeth” procedure, or
after you have done those steps. Similarly you may decide to make the Pro-Bot
“beep” before it starts drawing the square instead of after drawing the square.
Can you see how easy that would be? You just have to call the “beep” procedure
first instead of last within your “square” procedure.
You can think of “school day” as a
Program, and functions like “wake up”, “make bed”, “brush teeth”, etc., as
Procedures inside the program. Now, try writing two different programs using
the procedures for the daily functions: one program for a school day and the
other program for a holiday. You can easily see that you would not call every
one of the procedures for either program. There might be some procedures that
are common to both programs and there might be some that are exclusive to each.
Such as, you don’t “travel to school” on a holiday, but you “brush teeth” every
day. You might also call them in different orders for the two programs. For
example, you may watch TV at different times during a holiday, than on a school
day.
Procedures
thus help us to customize our programs easily.
We already mentioned that procedures and
programs can call other procedures from within. They can be called multiple
times as well. You can write a procedure for drinking water. You might call
this procedure multiple times throughout the day, while performing other
functions. This means that you can call “drink water” from within your “eat
lunch” procedure or from within your “play” procedure or from within your “do
homework” procedure, etc.
How to create and edit a procedure for Pro-Bot
Pro-Bot lets you create and store up to
32 procedures in its memory. In the case of Pro-Bot, these procedures are named
Proc 1, Proc 2, …, …, Proc 32.
Pro-Bot’s Menu button provides two
options to access procedures:
·
New Proc
·
Edt Proc
Let’s discuss each of these options.
1.
New Proc:
Press the Menu button & then scroll down to “New
Proc”. Choose this option when you want to create a new procedure. It will show
you a list of 32 procedures on the screen. Choose any procedure name from this
list (Proc 1 to Proc 32). Let’s say that you choose Proc 3. Your Pro-Bot screen
will now show Proc 3. Type in the instructions for the specific function that
you want Proc 3 to perform. Next, press Menu. This will take you back to the
Main program. You can now call Proc 3 from your Main program anytime you want
to use it. You do this by pressing the “Proc” button and then the number key 3.
2.
Edt Proc:
Press the Menu button & then scroll down to “Edt
Proc”. Choose this option when you want to edit a procedure that you created
earlier. It will show you the list of 32 procedures on the screen. Choose the
procedure that you want to edit from this list. Let’s say that you choose Proc 3.
Your Pro-Bot screen will now show the instructions that you put in earlier for
Proc 3 (or an empty program if you put in no instructions earlier). Make the
changes that you want for this procedure. Next, press Menu to go back to the
Main program. You can now call Proc 3 from your Main program and it will
provide you with the updated functionality.
For example; you can write a procedure
to draw a square of side 6 cm. Let’s say we name this procedure “Proc 1”. Proc 1’s
code will be “Rpt 4 [ Fd 6 Rt ]”. You
can store this procedure in memory and anytime you need to draw a 6 cm square,
you just call Proc 1 from your Main program.
In addition
to the 32 procedures that you can create and edit, Pro-Bot also provides 5
other procedures with pre-defined names related to the touch, light & sound
sensors. You can edit these using the Edt
Proc option from Menu. These procedures are:
·
33 FRONT (runs when the front touch sensor is
triggered)
·
34 REAR (runs when the rear touch sensor is
triggered)
·
35 DARK (runs when the light sensor goes from
light to dark)
·
36 LIGHT (runs when the light sensor goes from dark
to light)
·
37 SOUND (runs when the sound sensor is
triggered)
There are
also 3 built-in, pre-defined procedures that you cannot edit, but can call from
Main. These are:
·
38 HEXGN: draws a hexagon
·
39 DIAMND: draws a diamond
·
40 FLOWER: draws eight diamonds using Proc39
Note:
You can call other procedures from within any other procedure. Just take care
not to run procedures that call each other, in which case you would get into an
endless loop.
No comments:
Post a Comment