TweetFollow Us on Twitter

Alphabet Soup
Volume Number:1
Issue Number:1
Column Tag:BASIC SCHOOL

“Alphabet Soup”

By Dave Kelly

“Alphabet Soup”

Welcome to Basic School! This article is dedicated to those of us that enjoy programming in Basic. Programmers of structured languages have put Basic down for several years because it is not considered a structured programming language and many implementations of Basic lack enhancements which give it power to perform advanced functions. Also it has been said many times that it is much harder to follow the program flow in Basic than in other languages like Pascal. Those who complain about the limitations of Basic are sometimes quite justified in their complaints. After all, basic “BASIC” isn’t very powerful and not very flexible at all. Any enhancement at all is an improvement. This has been the caseup until now. Now, the enhancements that we find in Macintosh Basic are approaching the power of the more acceptable high level languages such as Pascal. Exploring Macintosh Basic computing power is what this column is all about.

In the last few months we have seen the evolution of the programming tools needed to program the Mac on the Mac. In the coming issues, we will explore the enhancements included in the new MacBasic and in Microsoft Basic Version 2.0. At the writing of this article Microsoft tells me that they intend to release Microsoft Basic Version 2.0 by the end of October or sometime in November. I’m told that it includes many enhancements which in my opinion should have been included from the very first introduction of Microsoft Basic to the Macintosh world. These enhancements include programmable windows, menus, scrolling, sound and sound effects, compatability with MacWrite, complete mouse control, editing, debugging, access to most if not all of the Mac internal ROM routines, and elimination of the need for line numbers. This is what I call programming made easy. From what I’ve seen so far, there will be quite a competition between MacBasic and Microsoft Basic 2.0 in the coming months.

The Mac Basic listing shows an example of the ease in documenting a program as it is written. I originally wrote the program in Microsoft Basic version 1.0 as an educational tool for my 2 year old to learn his alphabet. The program prints the alphabet and then prompts the user to find each letter one at a time.Then the user points to the letter with the mouse and presses the mouse button. By using variable names that show what is happening and by the use of line labels the program requires little documentation. When I write programs, I rarely have the time to finish up with documentation especially when my 2 year-old can’t wait to start the game. The use of these labels will be familiar to anyone who has used Basic on the Hewlett Packard 9826-36 series computers. The label name is used in each of the gosub statements in place of the line numbers. This makes the use of line numbers unnecessary. The coresponding label name also appears at the beginning of the subroutine followed by a colon. By indenting the text of the program within each subroutine, it is clear where the subroutine starts and ends and the label gives a clue as to what each subroutine does.

Next month we will explore Basic programming on the Mac in more detail.

10 ‘*********************************
20 ‘         Alphabet Soup
30 ‘         By David Kelly
40 ‘         MS Basic Version 1.0
70 ‘*********************************
1000 DIM TOP%(26),BOT%(26),RGT%(26),LFT%(26)
1010 FOR LETTER%=1 TO 26
1020       READ LFT%(LETTER%), TOP%(LETTER%), RGT%(LETTER%), BOT%(LETTER%)
1030 NEXT LETTER%
1040 GOSUB 1090:   ‘ Print_alphabet
1050 FOR LETTER%=ASC(“A”) TO ASC(“Z”)
1060       GOSUB 1200: ‘Ask_for_letter
1070 NEXT LETTER%
1080 CALL TEXTMODE(0):CALL TEXTFACE(0):CALL TEXTFONT(1):CALL TEXTSIZE(12):END

1090 ‘ Print_alphabet to screen
1100 CLS :  ‘Clearwindow
1110 CALL TEXTFONT(2): ‘ Set to New York Font
1120 CALL TEXTSIZE(24): ‘ Set Font size to 24
1130 CALL TEXTMODE(2): ‘Sets screen to XOR
1140 CALL TEXTFACE(0): ‘Sets face to plain style
1150 FOR LETTER% = 1 TO 26
1160  CALL MOVETO(LFT%(LETTER%),BOT%(LETTER%)):PRINT CHR$(ASC(“A”)-1+LETTER%)
1170 NEXT LETTER%
1180 CALL TEXTSIZE(12):  ‘Set font size to 12
1190 RETURN

1200 ‘ Ask_for_letter
1210 CALL MOVETO (125,175):PRINT “Find the letter: “;
1220 CALL TEXTSIZE(24): ‘Set Font size to 24
1230 CALL TEXTMODE(0)
1240 PRINT “ “;CHR$(LETTER%)
1250 CALL TEXTSIZE(12)
1260 CALL PENMODE(10)

1270 IF MOUSE(0)=0 THEN 1270: ‘button wait
1280 X2=MOUSE(1): Y2=MOUSE(2)
1290 CALL MOVETO(238,168):CALL LINETO(X2,Y2)
1300 IF MOUSE(0)<0 THEN 1300
1310 IF (X2<LFT%(LETTER%-64) OR X2>RGT%(LETTER%-64) OR Y2< TOP%(LETTER%-64) 
OR Y2 >BOT%(LETTER%-64)) THEN FLAG%=1 ELSE FLAG%=0

1320 CALL PENMODE(14):PATTERN%(0)=0:CALL PENPAT(VARPTR(PATTERN%(0)))
1330 CALL MOVETO(238,168): CALL LINETO(X2,Y2):CALL PENNORMAL
1340 CALL TEXTMODE(0):IF FLAG% =1 THEN 1210
1350 BEEP:BEEP
1360 RETURN

1370 DATA 36,20,52,74           :’A data
1380 DATA 72,20,84,74           :’B data
1390 DATA 103,20,115,74       :’C data
1400 DATA 133,20,147,74       :’D data
1410 DATA 165,20,176,74       :’E data
1420 DATA 195,20,207,74       :’F data
1430 DATA 225,20,239,74      :’G data
1440 DATA 257,20,272,74       :’H data
1450 DATA 290,20,315,74       :’I data
1460 DATA 330,20,350,74       :’J data
1470 DATA 369,20,383,74       :’K data
1480 DATA 401,20,414,74       :’L data
1490 DATA 434,20,454,74       :’M data
1500 DATA 35,75,51,120         :’N data
1510 DATA 69,75,83,120         :’O data
1520 DATA 101,75,115,120     :’P data
1530 DATA 133,75,147,120     :’Q data
1540 DATA 165,75,179,120     :’R data
1550 DATA 197,75,208,120     :’S data
1560 DATA 227,75,240,120     :’T data
1570 DATA 259,75,275,120     :’U data
1580 DATA 294,75,310,120     :’V data
1590 DATA 329,75,352,120     :’W data
1600 DATA 371,75,385,120     :’X data
1610 DATA 402,75,417,120     :’Y data
1620 DATA 434,75,445,120     :’Z data

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

calibre 2.17 - Complete e-library manage...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital librarian... Read more
OmniGraffle Pro 6.1.2 - Create diagrams,...
OmniGraffle Pro helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use... Read more
OmniGraffle 6.1.2 - Create diagrams, flo...
OmniGraffle helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use Graffle to... Read more
RoboForm 2.0.2 - Password manager; syncs...
RoboForm is a password manager that offers one-click login, mobile syncing, easy form filling, and reliable security. Password Manager. RoboForm remembers your passwords so you don't have to! Just... Read more
Apple MainStage 3.1 - Live performance t...
Love the sound you got on your recording? MainStage 3 makes it easy to bring all the same instruments and effects to the stage. Everything from the Sound Library and Smart Controls you're familiar... Read more
Freeway Pro 7.0.2 - Drag-and-drop Web de...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With its user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
A Better Finder Rename 9.44 - File, phot...
A Better Finder Rename is the most complete renaming solution available on the market today. That's why, since 1996, tens of thousands of hobbyists, professionals and businesses depend on A Better... Read more
Stacks 2.6.9 - New way to create pages i...
Stacks is a new way to create pages in RapidWeaver. It's a plugin designed to combine drag-and-drop simplicity with the power of fluid layout. Features: Fluid Layout: Stacks lets you build pages... Read more
Sid Meier's Civilization: Beyond Ea...
Sid Meier's Civilization: Beyond Earth is a new science-fiction-themed entry into the award-winning Civilization series. Set in the future, global events have destabilized the world leading to a... Read more
Logic Pro X 10.1 - Music creation and au...
Apple Logic Pro X is the most advanced version of Logic ever. Sophisticated new tools for professional songwriting, editing, and mixing are built around a modern interface that's designed to get... Read more

Choice Provisions is Set to Launch Destr...
Choice Provisions is Set to Launch Destructamundo on iOS This Month Posted by Tre Lawrence on January 23rd, 2015 [ permalink ] Choice Provisions – home stable to | Read more »
King of Thieves – An Interview With Zept...
Ahead of the release of ZeptoLab’s King of Thieves, we were able to ask ZeptoLab’s co-founder, Semyon Voinov, a few questions about the inspiration behind the game and what that means for the Cut the Rope franchise. | Read more »
Handle Review
Handle Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: SPEEDY ORGANIZINGUniversal App - Designed for iPhone and iPad Handle is a very convenient way of juggling your emails, To Do list, and Calendar all through one... | Read more »
The New Disney Inquizitive App Offers a...
The New Disney Inquizitive App Offers a Place for Fans to Take Disney Quizzes Posted by Tre Lawrence on January 23rd, 2015 [ permalink ] | Read more »
Hands-On With Cut the Rope Developer Zep...
Marking quite a departure from ZeptoLab’s past successes, namely the Cut The Rope series, King of Thieves is shaping up to be quite promising. Due for release in February, we were lucky enough to have some time with a preview build to see exactly... | Read more »
Fast Fishing Review
Fast Fishing Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: LIVES UP TO ITS NAMEUniversal App - Designed for iPhone and iPad Fishing is far from relaxing in Fast Fishing, but it is fun.   | Read more »
The LEGO Movie Video Game is Available N...
The LEGO Movie Video Game is Available Now for iOS Posted by Ellis Spice on January 23rd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Satellina Review
Satellina Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: TWITCHY BUT TACTICALUniversal App - Designed for iPhone and iPad Satellina requires quick thinking and twitchy fingers, and it’s pretty fun.   | Read more »
Tail Drift, the Crazy 360 Degree Flyer,...
Tail Drift, the Crazy 360 Degree Flyer, Has Gone Free-to-Play in a New Update Posted by Jessica Fisher on January 22nd, 2015 [ permalink ] | Read more »
PureSkate 2 Review
PureSkate 2 Review By Tre Lawrence on January 22nd, 2015 Our Rating: :: ALMOST ALL AIRUniversal App - Designed for iPhone and iPad PureSkate 2 lets one’s fingers do the skateboarding.   | Read more »

Price Scanner via MacPrices.net

iPhone 6 and 6 Plus GIve Apple Half Of US Mob...
Chicago-based Consumer Intelligence Research Partners, LLC (CIRP) have released analysis of the results of its research on mobile phone manufacturers for the calendar quarter that ended December 31,... Read more
Save $100 on MacBook Airs with 256GB of stora...
B&H Photo has 256GB MacBook Airs on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 11″ 1.4GHz/256GB MacBook Air: $999 $100 off MSRP - 13″ 1.4GHz/256GB MacBook... Read more
21-inch 2.7GHz iMac on sale for $1179, save $...
B&H Photo has the 21″ 2.7GHz iMac on sale for $1179 including free shipping plus NY sales tax only. Their price is $120 off MSRP, and it’s the lowest price available for this model from any... Read more
iPhone Usage Rates by State Correlate With Ed...
Chitika Insights notes that despite iPhones being the largest source of smartphone Internet traffic in North America, their latest study finds a relatively high degree of variation of iPhone usage... Read more
ProGearX Extendable Pole “Pov/Selfie Stick” M...
There’s something inescapably narcissistic about the concept of selfies as they’ve developed as a smartphone-driven social (particularly social media) phenomenon that rubs me the wrong way. However,... Read more
iPad Air 2 on sale for up to $100 off MSRP, 2...
 Best Buy has iPad Air 2s on sale for up to $100 off MSRP on their online store for the next two days. Choose free shipping or free local store pickup (if available). Sale prices available for online... Read more
Roundup of Apple refurbished MacBook Pros and...
The Apple Store has Apple Certified Refurbished 2014 MacBook Pros and MacBook Airs available for up to $400 off the cost of new models. An Apple one-year warranty is included with each model, and... Read more
Sale! 13-inch 2.8GHz Retina MacBook Pro for $...
 B&H Photo has the 13″ 2.8GHz Retina MacBook Pro on sale for $1599 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price available for this model... Read more
Next OS X/iOS Version Upgrades Should Concent...
On stage at Apple’s World Wide Developers’ Conference in June 2009, Bertrand Serlet, the company’s Senior Vice President of Software Engineering at the time, announced that the forthcoming OS X... Read more
First National Bank to Offer Apple Pay Adds I...
First National Bank will make Apple Pay available to customers beginning in the first quarter of 2015. Apple Pay will enable customers to easily make secure mobile payments with their First National... Read more

Jobs Board

*Apple* Solutions Consultant (ASC)- Retail S...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
*Apple* Lead Operator, GSOC - Apple (United...
**Job Summary** Apple is seeking an exceptional, customer service oriented and experienced persons to fulfill the role of Apple Lead Operator (ALO) as part of the Read more
Order Support Supervisor- *Apple* Online Sto...
**Job Summary** The Apple Online Store (AOS) Order Administration team is looking for an Order Support Supervisor to manage and lead a team of Specialists through the Read more
Senior Program Manager, *Apple* Online Supp...
**Job Summary** The Apple Online Support Planning team is looking for an experienced Senior Project Manager to lead key Quality program initiatives across the Online Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.