Books > 101 Programming Tips & Tricks (US)
101 Programming Tips & Tricks For the VIC-20 and Commodore 64 (US)
Howard Adler
ARCsoft Publishers, 1983
Download all programs from this book on one disk:
![]() 101 Prog Tips.d64 |
101 programs (100% complete)
Fun & Games
Program | Author | Requirements | Files | Info |
Coin Toss![]() Page 16. |
Howard Adler | Unexpanded | coin toss.prg Screenshot |
Toss a coin and display whether it came up heads or tails. Controls: Return (toss coin). |
Traditional Dice Roll![]() Pages 16-17. |
Howard Adler | Unexpanded | trad dice roll.prg Screenshot |
Roll two dice and display the numbers. Controls: Return (roll dice). |
See Two Dice![]() Pages 17-18. |
Howard Adler | Unexpanded | see two dice.prg Screenshot |
Roll two dice and display the numbers similar to real dice. Controls: Return (roll dice). |
See Four Dice![]() Pages 18-19. |
Howard Adler | Unexpanded | see four dice.prg Screenshot |
Roll four dice and display the numbers similar to real dice. Controls: Return (roll dice). |
Secret Message![]() Pages 19-20. |
Howard Adler | Unexpanded | secret message.prg Screenshot |
Displays a random number beside each letter of the alphabet. Could be used to write secret messages. Controls: Return (run again). |
Sound Off![]() Page 20. |
Howard Adler | Unexpanded | sound off.prg Screenshot |
Beeps ten times, by turning the volume on and off. Controls: None. |
R2D2 Sound Effect![]() Page 21. |
Howard Adler | Unexpanded | r2d2 sound fx.prg Screenshot |
Robotic sound effect, similar to R2D2 from the Star Wars films. Controls: None. |
Piano![]() Pages 21-22. |
Howard Adler | Unexpanded | piano.prg Screenshot |
Piano program, use the computer as a musical keyboard. Controls: A-G (play note). |
Mystery Clues![]() Pages 22-23. |
Howard Adler | Unexpanded | mystery clues.prg Screenshot |
Solve a murder mystery by naming who did it. The program only offers one clue. Controls: Type your suspect. |
Original Hi/Lo Game![]() Pages 23-25. |
Howard Adler | Unexpanded | hi-lo game.prg Screenshot |
Number guessing game. Guess a random number from 1-100. Controls: Type your guess. |
Code Groups![]() Pages 25-26. |
Howard Adler | Unexpanded | code groups.t64 Screenshot |
Two programs that display strings of five random letters. Perhaps to generate passwords or use in Morse code practice? One outputs to the screen, the other outputs to the printer. Controls: None. |
60-Second Timer![]() Pages 26-27. |
Howard Adler | Unexpanded | 60-second timer.prg Screenshot |
Counter that ticks the seconds, then rings an alarm. Possibly useful for board games etc. Controls: None. |
Find Highest/Lowest![]() Page 28. |
Howard Adler | Unexpanded | find hi-lo.prg Screenshot |
Enter a list of names & scores, to find out who had the lowest & highest score. Controls: Enter each name & score. Press Return (enter a blank name) when finished. |
Sorting Scores![]() Pages 28-30. |
Howard Adler | Unexpanded | sorting scores.prg Screenshot |
Enter a list of scores, to find out the lowest & highest values. Controls: Enter each number. Enter 0 when finished. |
Keeping Game Scores![]() Pages 30-31. |
Howard Adler | Unexpanded | keeping scores.prg Screenshot |
A wealthy Duke has been murdered. Can you guess who did it? Controls: Enter your guess. |
Batting Average![]() Pages 31-32. |
Howard Adler | Unexpanded | batting average.prg Screenshot |
Calculate your batting average. Controls: Follow on-screen prompts. |
Computer Rating Service![]() Pages 32-33. |
Howard Adler | Unexpanded | computer rating.prg Screenshot |
Calculate your batting average & rating. Controls: Follow on-screen prompts. |
Box Score![]() Pages 33-34. |
Howard Adler | Unexpanded | box score.prg Screenshot |
Enter some text (exactly 10 characters) and it will be displayed in a box. Controls: Enter 10 characters. |
Text On Text
Program | Author | Requirements | Files | Info |
Create a Quiz![]() Pages 36-37. |
Howard Adler | Unexpanded | create a quiz.prg Screenshot |
Quiz, test your knowledge of American presidents. Controls: Enter the answer. |
Killing Time![]() Pages 37-38. |
Howard Adler | Unexpanded | killing time.prg Screenshot |
Calculate the total of all numbers between 1 and N. Controls: Enter a number. |
Word-Error Trapping![]() Pages 38-39. |
Howard Adler | Unexpanded | word-error trap.prg Screenshot |
How to error-trap string inputs. Controls: Enter 'yes' or 'no'. |
Character Numbers![]() Page 39. |
Howard Adler | Unexpanded | char numbers.prg Screenshot |
Displays a list of characters and their ASCII codes. Controls: None. |
One-Time Password![]() Page 40. |
Howard Adler | Unexpanded | one-time psw.prg Screenshot |
Add a password to a program. It gives you one attempt to enter the correct password. Controls: Enter the password (elephant). |
Three-Tries Password![]() Pages 40-41. |
Howard Adler | Unexpanded | three-tries psw.prg Screenshot |
Add a password to a program. It gives you three attempts to enter the correct password. Controls: Enter the password (elephant). |
Multiple Passwords![]() Pages 41-42. |
Howard Adler | Unexpanded | multiple psw.prg Screenshot |
Add a username & password to a program. There are four account numbers, each with a different password. You have three attempts to enter the correct password. Controls: Enter the account number and password. |
Name in a Box![]() Pages 42-43. |
Howard Adler | Unexpanded | name in a box.prg Screenshot |
Type a name (max 19 chars) and it will be displayed in a box. Controls: Enter a name. |
Entering: Letter Stop![]() Pages 43-44. |
Howard Adler | Unexpanded | enter ltr stop.prg Screenshot |
Calculate the total of a list of numbers. Controls: Enter the numbers, then enter 'X' to finish. |
Entering: Zero Stop![]() Pages 44-45. |
Howard Adler | Unexpanded | enter zero stop.prg Screenshot |
Calculate the total of a list of numbers. Controls: Enter the numbers, then enter '0' to finish. |
Super Reverser![]() Page 45. |
Howard Adler | Unexpanded | super reverser.prg Screenshot |
Enter a number or string, and it will be reversed. Controls: Enter some text. |
Marching Numbers![]() Page 46. |
Howard Adler | Unexpanded | march numbers.prg Screenshot |
Fills the screen with the numbers 1-9. Controls: None. |
Super Decision Maker![]() Pages 46-47. |
Howard Adler | Unexpanded | decision maker.prg Screenshot |
Decision maker, randomly displays one of eight responses. Controls: None. |
Sentence Writer![]() Page 47. |
Howard Adler | Unexpanded | sentence writer.prg Screenshot |
The computer will write a sentence. Controls: Enter a plural noun, a verb and a singular noun. |
Categorizing![]() Pages 48-51. |
Howard Adler | Unexpanded | categorizing.prg Screenshot |
Summarize and categorize essay scores. Enter the score of each essay that you mark, and it will display the min, max, mean and median scores. It also lists how many essays scored A (90-100), B (80-89), C (71-79), D (60-69) or F (0-59). Controls: Enter the scores, and type 'X' when finished. |
Alphabet Soup![]() Pages 51-52. |
Howard Adler | Unexpanded | alphabet soup.prg Screenshot |
Lists random letters and their position in the alphabet (A=1, B=2... Z=26). Controls: None. |
Create a Table![]() Pages 52-53. |
Howard Adler | Unexpanded | create a table.prg Screenshot |
Each column shows how many times it had to use the random number generator to obtain a value greater than fifty. Controls: None. |
Question & Answer![]() Pages 53-54. |
Howard Adler | Unexpanded | question answer.prg Screenshot |
Quiz. Test your knowledge of the calendar, by answering how many days are in each month. Controls: Enter the correct answer to each question. |
Gee Whiz
Program | Author | Requirements | Files | Info |
Gee Whiz I: Smart Adder![]() Page 56. |
Howard Adler | Unexpanded | smart adder.prg Screenshot |
Add up all the values between 1 and a selected number. Controls: Enter a number. |
Gee Whiz II: Three-Digit Mystery![]() Page 57. |
Howard Adler | Unexpanded | three-digit mys.prg Screenshot |
Choose a three-digit number where all three digits are the same (e.g. 777). Tell the computer the sum of those digits (e.g. 7 + 7 + 7 = 21) and it will calculate your number. Controls: Enter a number. |
Gee Whiz III: Yes/No Decision Maker![]() Pages 57-58. |
Howard Adler | Unexpanded | yes-no decision.prg Screenshot |
Make a yes/no decision using random numbers. Controls: Press any key. |
Gee Whiz IV: First Alphabet Spotter![]() Page 58. |
Howard Adler | Unexpanded | first alphabet.prg Screenshot |
Find out what letter is at a specific position in the alphabet, e.g. letter 17 is Q. Controls: Enter a number. |
Gee Whiz V: Second Alphabet Spotter![]() Page 59. |
Howard Adler | Unexpanded | second alphabet.prg Screenshot |
Another program to find out what letter is at a specific position in the alphabet, e.g. letter 17 is Q. This uses a different method to calculate the answer. Controls: Enter a number. |
Gee Whiz VI: Guess The Number![]() Pages 59-60. |
Howard Adler | Unexpanded | guess number.prg Screenshot |
Another number guessing game. The computer picks a random number from 1-100. Can you work out what it is? Controls: Enter your guess. |
Number Crunching
Program | Author | Requirements | Files | Info |
Memory Tester![]() Page 62. |
Howard Adler | Unexpanded | memory tester.prg Screenshot |
Memory game. A random number is briefly shown on the screen, which you must repeat without making any mistakes. The number gets longer after each correct answer. Controls: Enter the number. |
Number Reverser![]() Page 63. |
Howard Adler | Unexpanded | number reverser.prg Screenshot |
Enter a three-digit number, and it will be shown in reverse order. Controls: Enter a three-digit number. |
Exam Score Sorter![]() Pages 63-64. |
Howard Adler | Unexpanded | exam score sort.prg Screenshot |
When marking essays, quickly work out how many papers have been given each grade. Controls: Enter the grade of each paper by pressing A, B, C, D or F. Press X to finish. |
Number-Error Trap![]() Pages 64-65. |
Howard Adler | Unexpanded | number-err trap.prg Screenshot |
How to error trap number inputs. It only accepts numbers between 10-100. Controls: Enter a number. |
Standard Deviation![]() Pages 65-66. |
Howard Adler | Unexpanded | std deviation.prg Screenshot |
Calculate the sum, mean, variance and standard deviation for a set of numbers. Controls: Enter the numbers, and press 999999999 (nine nines) when finished. |
Percentages![]() Pages 66-67. |
Howard Adler | Unexpanded | percentages.prg Screenshot |
Convert percentages into their equivalent decimal amount. Controls: Enter a percentage. |
Logic Functions![]() Pages 67-68. |
Howard Adler | Unexpanded | logic func.t64 Screenshot |
Two programs demonstrating logic with variables. Controls: None. |
Above & Below a Line![]() Pages 68-69. |
Howard Adler | Unexpanded | above below.prg Screenshot |
Enter some numbers between 1-100, and the computer will display how many were below 50 and how many were above 50. Controls: Enter some numbers, and use 0 when finished. |
Factoring![]() Pages 69-70. |
Howard Adler | Unexpanded | factoring.prg Screenshot |
Calculate the factors of a number, i.e. all the numbers it can be divided by except 1 and itself. Controls: Enter a number. |
Which is Smallest?![]() Page 70. |
Howard Adler | Unexpanded | which smallest.prg Screenshot |
Find the smallest value from a set of numbers. Controls: Enter some numbers, and use 0 when finished. |
Which is Largest?![]() Page 71. |
Howard Adler | Unexpanded | which largest.prg Screenshot |
Find the largest value from a set of numbers. Controls: Enter some numbers, and use 0 when finished. |
Reciprocals![]() Pages 71-72. |
Howard Adler | Unexpanded | reciprocals.prg Screenshot |
Calculate the reciprocal of a number. Controls: Enter a number. |
Dump the Integer![]() Page 72. |
Howard Adler | Unexpanded | dump integer.prg Screenshot |
Displays the fractional part of a number. Controls: Enter a number. |
Averages![]() Page 73. |
Howard Adler | Unexpanded | averages.prg Screenshot |
Find the mean of a set of numbers. Controls: Enter some numbers, and use 0 when finished. |
Mid-Range Number![]() Pages 73-74. |
Howard Adler | Unexpanded | mid-range num.prg Screenshot |
Find the median of a set of numbers. Controls: Enter some numbers, and use 0 when finished. |
Rounding Off![]() Pages 74-75. |
Howard Adler | Unexpanded | rounding off.t64 Screenshot |
Two programs for rounding decimal numbers. Prog1 rounds .5 down to the lower integer value, and prog2 rounds .5 up to the next integer value. Controls: Enter a number. |
Two-Digit Round Off![]() Pages 75-76. |
Howard Adler | Unexpanded | two-digit round.prg Screenshot |
Round a number to two decimal places. Controls: Enter a number. |
Percent to Decimal![]() Pages 76-77. |
Howard Adler | Unexpanded | percent decimal.prg Screenshot |
Add sales tax to a transaction. Controls: Enter the purchase price and tax percentage. |
Every 10th Answer![]() Page 77. |
Howard Adler | Unexpanded | every 10th answ.prg Screenshot |
Generates random numbers from 0-999, but only displays every tenth number generated. Controls: None. |
Random Sampler![]() Pages 77-78. |
Howard Adler | Unexpanded | random sampler.prg Screenshot |
Generates 100 random numbers, and reports how many of them were below 50 and above 50. Controls: None. |
Random Numbers: Zero to Nine![]() Pages 78-79. |
Howard Adler | Unexpanded | random num 0-9.prg Screenshot |
Generates random numbers from 0-9. Controls: None. |
Random Numbers: Distribution![]() Pages 79-80. |
Howard Adler | Unexpanded | random num dist.prg Screenshot |
Generates 100 random numbers from 0-9, and displays their distribution. Controls: None. |
Random Numbers: Averages![]() Page 81. |
Howard Adler | Unexpanded | random num ave.prg Screenshot |
Generates 100 random numbers from 0-9, and calculates the total & average values. Controls: None. |
Random Numbers: Sorting High/Low![]() Pages 81-82. |
Howard Adler | Unexpanded | random num hilo.prg Screenshot |
Generates 100 random numbers from 0-999, and displays the lowest & highest values. Controls: None. |
Money Matters
Program | Author | Requirements | Files | Info |
Money Grows![]() Pages 84-85. |
Howard Adler | Unexpanded | money grows.prg Screenshot |
Calculate the monthly compound interest on a deposit. Controls: Enter the principal amount, interest rate, and number of months. |
Shopper's Friend![]() Pages 85-86. |
Howard Adler | Unexpanded | shoppers friend.prg Screenshot |
Calculate the price/unit for two items, to see which is the best value. Controls: Enter the brand, quantity and price of two items. |
Car Payments![]() Pages 87-88. |
Howard Adler | Unexpanded | car payments.prg Screenshot |
Calculate how much it would cost to buy a new car. Controls: Enter the purchase price, down payment, number of months and interest rate. |
To Nearest 95 Cents![]() Pages 88-89. |
Howard Adler | Unexpanded | nearest 95cents.prg Screenshot |
Calculate the retail price of an item rounded to the nearest 95 cents. Controls: Enter the manufacturing cost and pricing multiplier. |
To the Nearest Penny![]() Page 90. |
Howard Adler | Unexpanded | nearest penny.prg Screenshot |
Round prices to the nearest penny. Controls: Enter a price. |
Mark Up![]() Page 91. |
Howard Adler | Unexpanded | mark up.prg Screenshot |
Calculate the retail price from a wholesale cost and mark up. For example, if an item retails at $33.25 and you buy it with a 40% discount, then you will be paying $19.95. Controls: Enter the wholesale cost and mark up percentage. |
Percentage Off![]() Pages 91-92. |
Howard Adler | Unexpanded | percentage off.prg Screenshot |
Calculate a percentage discount on a retail price. Controls: Enter the price and percentage discount. |
Dollars & Cents![]() Pages 92-93. |
Howard Adler | Unexpanded | dollars cents.prg Screenshot |
Displays a price in either dollars or cents. Controls: Enter the quantity and total cost of a purchase. |
Wages & Hours![]() Pages 92-93. |
Howard Adler | Unexpanded | wages hours.prg Screenshot |
Calculate your gross weekly wages. Overtime is automatically added at time-and-a-half over 40 hours. Controls: Enter the hourly rate and number of hours worked. |
Invoicing![]() Pages 94-95. |
Howard Adler | Unexpanded | invoicing.prg Screenshot |
Calculate the figures needed to write an invoice. Controls: Enter the quantity sold, unit price, sales tax percentage and shipping charges. |
Unit Price![]() Pages 95-96. |
Howard Adler | Unexpanded | unit price.prg Screenshot |
Calculate the unit price of an item. Controls: Enter the item name, quantity bought and total price paid. |
Inventory Counter![]() Pages 96-99. |
Howard Adler | Unexpanded | inventory count.prg Screenshot |
Calculate how many items are in stock. It can keep track of ten product lines. Controls: Enter the item code (1-9) and quantity. Enter item code '0' to view the totals. |
Daily Code![]() Pages 99-100. |
Howard Adler | Unexpanded | daily code.prg Screenshot |
Generate a random 4-digit number for each day of the week. Controls: None. |
Daily Receipts Adder![]() Pages 100-102. |
Howard Adler | Unexpanded | daily receipts.prg Screenshot |
Add up your wholesale and retail receipts. Controls: Enter each value, and press Return (blank entry) when finished. |
Advertising Cost-per-Thousand![]() Pages 102-103. |
Howard Adler | Unexpanded | ad per thousand.prg Screenshot |
Calculate the most cost-efficient way of placing advertisements by working out how much an advert costs for every 1000 potential customers. Controls: Enter the ad cost and circulation. |
Advertising Cost-per-Unit![]() Pages 103-104. |
Howard Adler | Unexpanded | ad per unit.prg Screenshot |
Calculate how much adverts cost in relation to the number of items sold. Controls: Enter the ad cost and units sold. |
Making Change![]() Pages 104-106. |
Howard Adler | Unexpanded | making change.prg Screenshot |
Calculate how much change to give to customers. Controls: Enter the sale total, and the amount of money tendered by the customer. |
Single-Digit Adder![]() Pages 106-107. |
Howard Adler | Unexpanded | single-digit ad.prg Screenshot |
Adding machine, calculate the total of multiple single-digit numbers using the fewest possible keypresses. Controls: 1-9 (add that number to the total), C (clear totals). |
Currency Converter![]() Pages 107-109. |
Howard Adler | Unexpanded | currency conv.prg Screenshot |
Convert to/from dollars into another currency. Controls: Enter the currency name, direction (from/to), exchange rate and amount. |
Fractional Feet![]() Pages 109-110. |
Howard Adler | Unexpanded | fractional feet.prg Screenshot |
Convert decimal feet into feet & inches. Controls: Enter a decimal value. |
Simulated RPN Calculator![]() Pages 110-111. |
Howard Adler | Unexpanded | rpn calculator.prg Screenshot |
Simulates an RPN calculator. For example, if you type "2 + 5 *" then it displays the answer 10. Note: it only displays answers on the screen, not the numbers you type in when entering calculations. Controls: Use keys 1-9 and +,-,*,/. |
60-Second Timer (v2)![]() Pages 111-112. |
Howard Adler | Unexpanded | 60-sec timer.prg Screenshot |
Another countdown timer that runs for 60 seconds, then rings an alarm. Possibly useful for board games etc. Controls: None. |
Stopwatch![]() Pages 112-113. |
Howard Adler | Unexpanded | stopwatch.prg Screenshot |
Countdown timer. Select how many seconds you want it to run. Controls: Enter a duration. |
Shipments![]() Pages 113-115. |
Howard Adler | Unexpanded | shipments.prg Screenshot |
Display a bar chart showing your shipments for 12 months. Controls: Enter a value (1-17) for each month. |
Marketing Performance![]() Pages 115-118. |
Howard Adler | Unexpanded | marketing perf.prg Screenshot |
Display a bar chart showing your marketing performance for 12 quarters. Controls: Enter a value (0-17) for each quarter. |
Cash Receipts Comparer![]() Pages 118-120. |
Howard Adler | Unexpanded | cash receipts.prg Screenshot |
Display a bar chart showing your cash receipts for six months. Controls: Enter a value (0-17) for each month. |
Colorful Graphics
Program | Author | Requirements | Files | Info |
Box![]() Page 122. |
Howard Adler | Unexpanded | box.prg Screenshot |
Displays a box on the screen. Controls: None. |
Graphic-Screen Familiarization Tour![]() Pages 122-123. |
Howard Adler | Unexpanded | gfx-screen fam.prg Screenshot |
POKEs a specific screen location, to show you where it appears on the screen. Controls: Enter a screen location (7680-8185). |
Graphic-Screen Character Spotter![]() Pages 123-124. |
Howard Adler | Unexpanded | gfx-screen char.prg Screenshot |
Fills the screen with a specific character. Controls: Enter a character code (0-255). |
Dancing Spot![]() Page 124. |
Howard Adler | Unexpanded | dancing spot.prg Screenshot |
Displays a spot that randomly changes colour. Controls: None. |
Beautiful Braided Rug![]() Pages 124-125. |
Howard Adler | Unexpanded | braided rug.prg Screenshot |
Fills the screen with a colourful random pattern. Controls: None. |
Screen Filler![]() Pages 125-126. |
Howard Adler | Unexpanded | screen filler.t64 Screenshot |
Two programs that fill the screen. One uses @ symbols, the other uses random characters. Controls: None. |
Snowfall![]() Page 126. |
Howard Adler | Unexpanded | snowfall.prg Screenshot |
Fills the screen with snowflakes. Controls: Press * to restart or quit. |
Making Things Move![]() Page 127. |
Howard Adler | Unexpanded | making move.prg Screenshot |
Moves a dot across the screen. Controls: None. |
Drawing Sketches![]() Pages 127-128. |
Howard Adler | Unexpanded | draw sketches.prg Screenshot |
Simple art program, draw your own pictures. Controls: U (up), D (down), L (left), R (right). |
Notes
With thanks to DLH's Commodore Archive for making this book available in PDF format.