Sometimes, when there is no semantic meaning to a variable as in the case of a DO loop counter like I, there isn't a ``meaningful'' variable name that can be used. I once knew a programmer who wanted to use the variable name TheLoopVariable instead of just I. In this case, using a ``more descriptive'' name actually made the program harder to understand and read.
However, when a variable contains a value that has a meaning, say an integer denoting a user's choice from a menu, then it makes sense to use a name descriptive of the purpose of the variable. In this case, CHOICE would be a much better name than just I. These names don't make any difference to the computer; they're just for the benefit of other humans reading the program you've written. Most importantly, names help someone besides yourself understand what is going on in your program. This may not seem important now when you're writing programs for yourself (or for your grader), but besides the fact that you'll lose some points on your homework, its a good habit to develop now for when you write programs in the future. Programs always have a useful lifetime longer than the job-tenure of any individual programmer, and sometimes longer than the actual life of the original programmer! For this reason, choosing good names is a good habit to develop as it will just make things easier for everybody.
This lesson really hits home when you are given the job of ``fixing'' someone else's poorly written program! Trying to figure out whether its X8 or X9 that contains the bug starts to fry your brain after a while when you've been staring at a program full of 100s of variables, all of which are some variant of X.
Hamlet Project