Amstrad DDI-1 manual Using Variables to remember values, Editing programs and procedures

Page 62

When we use procedure squareanysize :side must have a value. Hence an instruction squareanysize 150 would produce a square with sides of 150 units. Try adding two procedures together and see what happens. For example, from an instruction.

cs squareanysize 100 rt 45 squareanysize 150

the turtle will draw two squares of differing size sides and one will be at a 45 degrees angle to the other.

Notice how Dr. Logo reminds you that a line of commands has split across more than one line of screen.

4.7 Using Variables to remember values.

Dr. Logo will also allow us to use variables to remember values as well as for passing values to a procedure. First define a new procedure called triangle:

to triangle

repeat 3 [fd :edge rt 120] end

We can test this by typing:

make "edge 100 triangle

If we want to know the value remembered by edge we can just type edge after the ? prompt and Dr. Logo will print the value.

Finally we can use our variable :edge in a new procedure to draw a pattern. Notice how the value of :edge is increased by adding to its previous value so that each time we draw the pattern it gets bigger.

to pattern

triangle lt 60 triangle rt 60 make "edge :edge+ 4 pattern

end

make "edge 10 cs pattern

When you have seen enough, press [ESC] to stop the program.

4.8 Editing programs and procedures

Dr. Logo allows us to correct typing mistakes and to alter procedures that we have defined. The editing keys to use are:

The cursor Keys [][][][] which move the cursor by one character or line at a time.

The cursor Keys [][][][] pressed at the same time as holding down [CTRL] will move the cursor up and down a page and to the left and right of a line.

AMSTRAD Disc Drive & Interface DDI-1 Manual

Chapter 4.4

Image 62
Contents Page Amstrad Disc Drive & Interface DDI-1 Amstrad Contents Contents Page Foundations 1 Setting Up Connecting the Mains LeadConnecting the DDI-1 to the Computer Computer Interface Unit Main Disc Drive Drive a Computer Foundations 2 About Discs Write ProtectionOpen Closed When Your Disc Is Indicator Lamp Eject ButtonRun rolcave Drive a disc missing Retry, Ignore or Cancel?Foundations Loading Software/Games ROLCAVE. not foundDrive a read fail Retry, Ignore or Cancel? Bad commandSyntax error Type mismatchFoundations Introducing Amsdos and CP/M Disc Drive B disc missing Retry, Ignore or CancelLoad filename Tape.inCpm First Steps Using The CP/M DiscStoring Data Onto Disc CLS? Saving a Program in Memory onto Disc Back to AmsdosBeware EXAMPLE.BAS CatalogLoading From Disc Copying Programs From Disc to Cassette Copying Programs From Disc to DiscCopying Programs From Cassette to Disc Copying Using the CP/M System Disc Copying Using DisccopyWriting track 0 to Copying Using CopydiscCopying started Reading track 0 to Do you want to copy another disc Y/NDiscchk Checking DiscsAborting ChkdiscInstallation Amstrad Disc Drive & Interface DDI-1 Manual Backup Master Disc Making Working DiscsTurnkey Amstrad Basic discs Working SYSTEM/UTILITY discBasic only disc DISCCOPY.COMTurnkey Basic onto your Working disc Turnkey Basic using disc suppliedTurnkey CP/M Discs Creating a Turnkey CP/M System discAmbiguous filename Confirm individual files Y/N ? Configuring a CP/M ProgramConfiguring the Output from the package Payroll Configuring the Input to the packageStarting a Turnkey CP/M Package Autostarting a Turnkey CP/M Package Amsdos Primer IntroductionConstruction of Filenames Disc DirectoryAmsdos filenames and filetypes Save PROG.BAS a Save Bprog .BAS Amsdos headersFilenames on two drives Saving variables and performing a Screen Dump Examples of Using Amsdos Commands in a programWild cards BERT.BAS FRED1.BAS FRED2.BAS FRED3.BAK FRED3.BAS FINISH.BASNeat CloseoutWhile not EOF Reference guide to Amsdos commandsPre-empting a Garbage Collection Wend CloseinSave OPENOUT, Print #9, Write #9, List #9, Closeout Summary of Basic commandsSummary of Amsdos external commands CATDisc CPMDIR DISC.INTape ERAREN TAPE.INAmsdos files with headers File Copying proceduresCopying Files Ascii filesFile has a header Amstrad Reference guide to Amsdos Error Messages Drive Drive read fail Drive Drive disc missingDrive Drive disc is write protected Drive Drive write failCP/M system tracks CP/M PrimerOperating with CP/M Logging in a disc Configuration SectorConsole control codes DIR command Direct Console CommandsSwitching default drives ERA commandType command Transient commandsREN command Peripheral ManagementWhole disc copiers and checkers File and disc copyingSingle file copying Cassette filesSystem Management StatStat SECRET.BAS $DIR SetupDo you want to update your system disc Y/N Is this correct Y/NFormat Disc GenerationAmsdos Format D Format I FormatMovcpm BootgenAdvanced programming SysgenAmstrad Disc Drive & Interface DDI-1 Manual What is Logo Introduction to LogoDr. Logo Getting StartedTo square Repeat 4 fd 60 rt 90 end Procedures with parametersRepeat 4 fd 60 rt To squareanysize side repeat 4 fd side rt 90 endCs squareanysize 100 rt 45 squareanysize Using Variables to remember valuesEditing programs and procedures To triangle Repeat 3 fd edge rt 120 endOperating hints Summary of Dr. Logo primitivesChar Word and List ProcessingAscii CountFput EmptypFirst ListArithmetic Operations Logical Operations Not ?= Logo LogoProcedures VariablesSetsplit EditingText Screen ShowType CleanGraphic Screen DotWindow PalSetpal Turtle Graphics WrapSeth SetpcErn Workspace ManagementSetpos NodesGprop RecycleGlist PlistSave Disc Files DirLoad KEYBOARD, Joystick buttonp?make key rc Paddle?paddle 0 ?keyEnt SoundEnv ReleaseRun LabelRepeat StopPause ErrorCatch ThrowSystem Properties Technical information for the user Firmware HeadersChanging Discs Store requirementsAmsdos messages Error MessagesBios messages Failed to load boot sector Disc Organisation Common to ALL FormatsReturn Parameters Jump Block Interception by AmsdosJump Block Re-Interception by the User 137 #BC9B Intercepted Firmware Calls132 #BC8C 133 #BC8F 134 #BC92 135 #BC95 #BC98 Page Appendix Glossary of Terms CP/M Dr.Logo Primitives TPA Amstrad Disc Drive & Interface DDI-1 Manual Appendix Term Limitations of Remedies Amstrad Disc Drive & Interface DDI-1 Manual Appendix Index ERA Setpos