QBasic Lesson 3: REMark and Additonal PRINT Options (6)



QBasic Lesson 3: REMark and Additonal PRINT Options (6)

OBJECTIVES:

• Using the REM command

• Printing string constants

• Printing more than one value in a line

• Printing with tabs

• Printing to the printer

The REM (short for remark) command is used to make the code more understandable to humans. The computer ignores the command and everything that follow.

The format of the REM command

|REM any message you choose to explain to fellow programmers what the |

|REM program is doing |

You can insert as many remarks in your program as you want anywhere you want.

You will use the REM command at the beginning of each program to record you name, the file name and the purpose of the program. You will use the REM command through out the program to explain what your code is trying to accomplish.

Since the REM command appears so often in programs there is an abbreviation for the statement. Instead of typing REM, you can type and apostrophe.

|REM Programmers name: John Doe |

|REM Filename: Les2_1.bas |

|‘ Blank REMarks like the following one help separate |

|‘ the remark’s comments from surrounding code. |

|REM |

|REM This program puts a few values in variables |

|REM and then prints them to the screen |

|REM |

|CLS |

|LET age = 32 ‘stores the age |

|LET salary = 25000 ‘Yearly salary |

|LET dependents = 2 ‘Number of dependents |

|‘Print the results |

|PRINT age |

|PRINT salary |

|PRINT dependents |

|END |

PRINTing String Constants

A string constant is one or more groups of characters inside quotation marks (“ “).

You can use string constants (sometimes called string literals) with a PRINT statement to label your output by printing names, titles, addresses, and other messages on the screen and printer.

String Constant Examples:

“This is a string constant.”

“ABC 123 $#@ - - - +={] x”

“X”

“123.45”

When you print string constants, everything inside quotation marks, including typed spaces, prints exactly as it appears in the string constant.

What would be the output of the following program?

|REM Programmers name: John Doe |

|REM Filename: Les3_3.bas |

|‘ Prints the company’s name and address on-screen |

|REM |

|CLS |

|PRINT “Widgets, Inc.” |

|PRINT “307 E. Midway” |

|PRINT “Jackson, MI 03882” |

|END |

What would be the output of the following program?

|REM Programmers name: John Doe |

|REM Filename: Les2_1.bas |

|‘ Blank REMarks like the following one help separate |

|‘ the remark’s comments from surrounding code. |

|REM |

|REM This program puts a few values in variables |

|REM and then prints them to the screen |

|REM |

|CLS |

|LET age = 32 ‘stores the age |

|LET salary = 25000 ‘Yearly salary |

|LET dependents = 2 ‘Number of dependents |

|‘Print the results |

|PRINT “age” |

|PRINT age |

|PRINT “salary” |

|PRINT salary |

|PRINT “dependents” |

|PRINT dependents |

|END |

Formatting Results (pg 96)

To print more than one value on a line, you must separate each value with a semicolon or a comma.

You choose either a semicolon or a comma based on how closely you want the values to print.

To print two or more values next to each other, separate the values by using a semicolon in the PRINT statement.

|PRINT value1;value2;value3; . . . |

If you put more than one value (the values can be variables, constants, or a combination of both) after PRINT and separate them with semicolons, QBasic prints those values next to each other on one line, instead of on two separate lines.

Print Zones

To print multiple values separated by several spaces, you use commas between the values. You can use the commas in a PRINT statement to print columns of output.

|PRINT value1,value2,value3, |

The number of spaces separating the values varies. QBasic uses print zones to determine the spacing between two printed values separated by commas. To QBasic you screen has five print zones, and each print zone occupies 14 columns. Each comma represents the next print zone.

|Print Zone 1 |Print Zone 2 |Print Zone 3 |Print Zone 4 |Print Zone 5 |

| | | | | |

| | | | | |

| | | | | |

| | | | | |

| | | | | |

| | | | | |

| | | | | |

| | | | | |

| | | | | |

|1,2,3,4,5,6,7, . . . | | | | |

|. 14 | | | | |

|Screen |Screen |Screen |Screen |Screen |

|Column 1 |Column 15 |Column 29 |Column 43 |Column 57 |

If your data is longer than a print zone, the data extends into the next print zone and the next value prints one print zone over.

If there are more items listed in a PRINT statement than there are print zones in a line, the print zones of the next line are also used, starting with the first zone

Example:

|PRINT , , , “QBasic” |

|PRINT “Male”, “19”, “Junior”, “CS”, 18, 2.5 |

OutPut:

|Print Zone 1 |Print Zone 2 |Print Zone 3 |Print Zone 4 |Print Zone 5 |

| | | |QBasic | |

|Male |19 |Junior |CS |18 |

|2.5 | | | | |

| | | | | |

|1,2,3,4,5,6,7, . . . . . | | | | |

|14 | | | | |

|Screen |Screen |Screen |Screen |Screen |

|Column 1 |Column 15 |Column 29 |Column 43 |Column 57 |

Printing Numbers

What is the output of the following program?

|REM Programmers name: John Doe |

|REM Filename: Les3_3.bas |

|‘ Blank REMarks like the following one help separate |

|‘ the remark’s comments from surrounding code. |

|REM |

|REM This program puts a few values in variables |

|REM and then prints them to the screen using semicolons for better |

|REM looking output. |

|CLS |

|LET age = 32 ‘stores the age |

|LET salary = 25000 ‘Yearly salary |

|LET dependents = 2 ‘Number of dependents |

|‘Print the results |

|PRINT “The age is”; age |

|PRINT |

|PRINT “The salary is”; salary |

|PRINT |

|PRINT “The number of dependents is”; dependents |

| |

|END |

Output:

|The age is 32 |

| |

|The salary is 25000 |

| |

|The number of dependents is 2 |

| |

| |

| |

| |

| |

|Press any key to continue |

Note that in the printed output, a blank space occurs before each variable, although you did not type a space in the program.

QBasic inserts a space after every number.

For positive numbers QBasic also prints spaces preceding the number. Think of this space as an imaginary plus sign. You can not override this imaginary plus sign, so you can expect every positive number to have an extra blank space in front of it.

For negative numbers, QBasic prints the negative sign (-) in front of the number.

QBasic does not insert a blank space before string constants or negative numbers.

Example:

|REM Programmers name: John Doe |

|REM Filename: Ex3_1.bas |

|REM |

|REM This program prints three sets of values showing |

|REM how QBasic handles the spacing between them. |

|REM |

|CLS |

|‘Three string constants |

|PRINT “Books”; “Movies”; “Theatre” |

|‘Three positive numbers |

|PRINT 123; 456; 789 |

|‘Three negative numbers |

|PRINT -123; -456; -789 |

| |

|END |

Output:

|B |

|o |

|o |

|k |

|s |

|M |

|o |

|v |

|i |

|e |

|s |

|T |

|h |

|e |

|a |

|t |

|r |

|e |

| |

| |

|1 |

|2 |

|3 |

| |

| |

|4 |

|5 |

|6 |

| |

| |

|7 |

|8 |

|9 |

| |

| |

| |

| |

| |

|- |

|1 |

|2 |

|3 |

| |

|- |

|4 |

|5 |

|6 |

| |

|- |

|7 |

|8 |

|9 |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

|Press any key to continue |

How could I change the code to place spaces between the works in the first line?

Place semicolon between the strings

You can suppress the carriage return-line feed sequence by putting a semicolon at the end of a PRINT statement.

|REM Programmers name: John Doe |

|REM Filename: Ex3_1.bas |

|REM |

|REM This program suppresses the automatic carriage return-line feed |

|REM by leaving a trailing semicolon at the end of the PRINT statement |

|REM |

|CLS |

|PRINT “Books ”; ‘semicolon keeps the cursor on the same line |

|PRINT “Movies ”; |

|PRINT “Theatre” |

|END |

Output:

|B |

|o |

|o |

|k |

|s |

| |

|M |

|o |

|v |

|i |

|e |

|s |

| |

|T |

|h |

|e |

|a |

|t |

|r |

|e |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

| |

|Press any key to continue |

Example of Comma usage:

|REM Programmers name: John Doe |

|REM Filename: Ex3_3.bas |

|‘ |

|REM Use the comma between printed values. Each comma |

|REM forces the next animal name into a new print zone. |

|‘ |

|CLS |

|PRINT “Lion ”, “Whale ”, “Monkey ”, “Fish ” |

|PRINT “Alligator ”, “Bat ”, “Seal ”, “Tiger ” |

|PRINT “Dog ”, “Lizard ”, “Cat ”, “Bear ” |

| |

|END |

Output:

|Lion Whale Monkey Fish |

|Alligator Bat Seal Tiger |

|Dog Lizard Cat Bear |

| |

| |

| |

| |

| |

| |

| |

|Press any key to continue |

Printing with TAB

Printing with commas is similar to using tabs; a comma acts like a tab by moving the next value to the next print zone.

A print zone occurs every 14 spaces.

The format of the TAB command:

|TAB (tab value) |

The tab value is the number of characters that you want QBasic to tab over from the beginning of the screen before printing the next value.

Never use TAB by itself; always combine it with a PRINT statement.

This format is:

|PRINT TAB (tab value1); data1; (tab value2); data2 |

The semicolons before and after TAB are not required but considered good programming. The semicolons tell you that the tab occurs immediately after the last value is printed.

Example of TAB usage:

|REM Programmers name: John Doe |

|REM Filename: Ex3_3.bas |

|‘ |

|REM Use the TAB between printed values. Each TAB’s value |

|REM forces the next animal name over to that tab stop. |

|‘ |

|CLS |

|PRINT “Lion ”; TAB(20); “Whale ” ; TAB(40); “Monkey ”; |

|PRINT TAB(60); “Fish ” |

|PRINT “Alligator ” ; TAB(20); “Bat ” ; TAB(40); “Seal ”; |

|PRINT TAB(60); “Tiger ” |

|PRINT “Dog ” ; TAB(20); “Lizard ” ; TAB(40); “Cat ”; |

|PRINT TAB(60); “Bear ” |

| |

|END |

Output:

|Lion Whale Monkey Fish |

|Alligator Bat Seal Tiger |

|Dog Lizard Cat Bear |

| |

| |

| |

| |

| |

| |

| |

|Press any key to continue |

The LPRINT Command

The LPRINT command is identical to PRINT except it sends output to the default printer rather than to the screen.

If your printer is out of paper or turned off you will see the following error message:

Device fault

REVIEW QUESTIONS

1. What does REM stand for?

2. What does the computer do when it finds a REM statement?

3. True or False: The following section of a program puts a 4 in the variable called R, a 5 in ME, and 6 in REM.

|R = 4 |

|ME = 5 |

|REM = 6 |

4. True or False: PRINT sends output to the screen.

5. What is the difference between using a semicolon and a comma in a PRINT statement?

6. How many characters wide is each print zone?

7. Why would you put a semicolon at the end of a PRINT statement?

8. In what column would the word Computer start, given the following LPRINT command?

|LPRINT TAB(20), “Computer” |

9. In what column would the number 765 start, given the following LPRINT command?

|LPRINT -21; 21, 0; TAB(30); 765 |

10. List three ways to print Hello in column 28.

11. What is the output of the following program?

|REM ----------------------------------------------------- |

|REM SECRET AGENTS |

|REM ----------------------------------------------------- |

|PRINT 86; |

|PRINT “ and”; |

|PRINT 99; |

|PRINT “ are secret agents.” |

Lesson 3 Exercises

Write the code for each of the following exercises and save them to your Hdrive. Name your programs Exer3_1.bas, Exer3_2.bas, etc. You will be required to run these programs. I will be around to check your results.

1. Write a program that stores your weight (you can fib), height in feet, and shoe size in three different variables. Print the values with descriptions in three separate lines. Then print the values next to each other in the same line. Use appropriate REM statements to document the program.

2. Modify the preceding program to print your weight in column in 15, your height in column 25, and your shoe size in column 35.

3. Write a program that prints (on the printer) the names and phone numbers of your three best friends. Add appropriate REM statements to document the program. Make sure that you print nicely underlined titles over the names and phone numbers and that the report’s columns line up. You can use print zones or TAB.

4. For the linear equation y = (2/3) x – 4 complete the following table of values.

|(2/3)x - 4 |y |(x, y) |

| | | |

| | | |

| | | |

Write a program that will print this completed table of values to the printer.

5. Find and correct the three errors in the following program:

|REM This program prints payroll information |

|pay = 2,102.23 |

|dependents = 3 |

|taxRate = .35 REM This is the percentage tax rate |

|PRINT |

|PRINT “The pay is:”; pay |

|PRINT “The number of dependents is:”; dependents |

|CLS |

|PRINT “The tax rate percentage is:”; taxRate |

6. You can use PRINT to print pictures on the screen. Use a series of PRINT statements, commas, semicolons and TAB with different keyboard characters to print your “picture” to the screen.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download