0% found this document useful (0 votes)
270 views18 pages

RAPTOR Data Files and OOP Mode Drake

The document discusses data files in RAPTOR and object-oriented programming mode. It describes how to create and display data files using the Redirect_Output and Redirect_Input procedures. Creating classes, methods, and objects are demonstrated using an example Cube class with attributes for side and volume and methods to set the side, compute the volume, and get the side and volume. The class is defined and its methods are coded to calculate the volume of a cube using the given side length.

Uploaded by

jupesanfer77
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
270 views18 pages

RAPTOR Data Files and OOP Mode Drake

The document discusses data files in RAPTOR and object-oriented programming mode. It describes how to create and display data files using the Redirect_Output and Redirect_Input procedures. Creating classes, methods, and objects are demonstrated using an example Cube class with attributes for side and volume and methods to set the side, compute the volume, and get the side and volume. The class is defined and its methods are coded to calculate the volume of a cube using the given side length.

Uploaded by

jupesanfer77
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and

Stewart Venit Addison-Wesley Pub. 2011

IntroductiontoRAPTOR:DataFilesandOOPMode CreatingandDisplayingDataFiles

InRAPTORwecancreatedatafilesandreadfromthefiles.However,sorting,insertingrecords,or mergingtwodatafilesrequiressomefancyfootworkbutifyoureveryambitious,tryit!

TheRedirect_Output Procedure
Tocreateadatafile,youusea Call to the Redirect_Output procedure.RAPTORprovides twoversionsofthisprocedure. 1. Afilenameisusedasanargumentto Redirect_Output, asshowninthefollowing examples: Redirect_Output("sample.txt") Redirect_Output("C:\MyDocuments\John.Doe\sample")

Notethatinthefirstexample,onlythefilenameisgiven.Inthiscase,thespecifiedtextfile willbecreatedinthesamedirectoryasthecurrentRAPTORprogram.Inthesecond example,thefullpathtothefileisgiven.Also,inthesecondexample,nofileextensionis specified.Inthiscase,thefile sample willbecreatedwithnoextension. 2. Youcaneitherturnonoroff Redirect_Output byincludingasimpleyes/true or no/false argument,asfollows: Redirect_Output(True)or Redirect_Output(yes) Redirect_Output(False) or Redirect_Output(no)

Now,theoutputmustberedirectedtothedatafilebyusinga Calltothe Redirect_Output procedure.Thenameofthedatafileisusedastheargument.Thisfilenamemustbeinside quotationmarks(asshownintheexamplesabove). Next,createthecodetoinputdata.Onevariableisrequiredforeachfieldoftherecordsinthe datafile.The Output boxwill PUT thevalueofthosevariablesintoeachrecord.Forexample,to

1 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011 createadatafilewithrecordsthathavetwofields, Name and Salary,twovariablesarerequired (probablycalled Name and Salary).Asvaluesfordifferentemployeesareinput,each Name and Salary willbestoredinthedatafileonasingleline. Afterthedatahasbeenentered,the Redirect_Output mustbeturnedoff.A Callisusedto callthe Redirect_Output procedureagain,butthistimeitsturnedoffbyusingeither no or false astheargument. Figure1(followingpage)showsaRAPTORflowchartthatwillwritetworecords,eachwithtwo fields,toadatafilenamed sample.txt. Figure2showsthecontentsofthefilecreated(and openedinNotepad).

The Redirect_Input Procedure


Todisplaythecontentsofadatafile,the Redirect_Inputprocedureisused.Thisworks similarlytotheRedirect_Output procedure. Ina Call to Redirect_Input, thefilenameofthefiletobereadisusedastheargumentas follows: Redirect_Input("sample.txt") Therecordsareread,normally,withinaloop.Thisisaccomplishedwith GET statements. Input boxesareusedto GET eachrecord(inthisexample,therecordsconsistofthenamesand salaries).Nothingneedstobeenteredasaprompt. Output boxesareusedtodisplaytheoutput ofeachrecord.TheoutputisdisplayedintheMaster Console.

2 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure1Programtowriterecordsto adatafile

Figure2Textfilecreated

3 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

TheEnd_Of_InputFunction
RAPTORsbuiltinfunction, End_Of_Input,canbeusedasthetestconditionofaloop.When readingrecordsinadatafile,ifthisfunctionisusedasthetestcondition,RAPTORwillendthe loopwhenalltherecordshavebeenread. Whenalltherecordshavebeenreadandwrittentothe Master Console, the Redirect_Input proceduremustbeturnedoffwitha Call totheprocedureusing False or no fortheargument.

HowtheContentsoftheFileareStored
The Redirect_Inputproceduredoesnotseparateeachfieldinarecord.Rather,eachrecord isstoredasonelineofstringdata.Each Inputlinereadsallthefieldsinonerecord(oreverything thatisonasinglelineinthedatafile).Therefore,therecordscanbeoutputtotheMaster Console butthefieldscannotbemanipulatedeasilytosort,insert,ormerge.Thiscanbedone, butitrequiresadvancedprogramming. Figure3showsasampleofthecodetoreadrecordsfromadatafile(sample.txt)andthe Master Console display.

4 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure3Readingrecordsfromadatafileanddisplayingthem

ObjectOrientedMode
Object-oriented modeallowsyoutocreateclasseswithmethodsandattributes,instantiate objects,andexperimentwithObjectOrientedProgramming(OOP). TouseRAPTORinOOP,youmustselectObject-orientedmode,asshowninFigure4.

5 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure4Selecting Object-orientedmode Youwillseetwotabs: UML and main. RAPTORusesatypeofUMLtocreatethestructureofan objectorientedprogram.TheclassesarecreatedintheUML screen;therefore,clickthe UML tab. ThebuttontoaddanewclassisshowninFigure5.Notethatanew Return symbolhasbeen addedtothesymbols.

Figure5Addinganewclass

6 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

CreatingaClass
Whenyouclickthe Add New Classbuttontoaddanewclass,a Name boxwillappear.Entera nameforthe Class,asshowninFigure6.

Figure6EnteringaClassname InFigure6,a Class named Cube hasbeencreated.Doubleclickinsidetheclass(Cube)to add members(methodsandattributes).InRAPTOR,notethatattributesare called Fields.A new windowopenstoallowyoutoenterthemembers(seeFigure7).

7 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure7AddingmemberstoaClass Fromthispoint,exampleswillbeusedtodemonstratethefeaturesofOOPmodeandindicate howtousetheminaprogram.

Example:UsingtheCube ClasstoFindtheVolumeofaCube
Wewilluseaclassnamed Cube thattakesthevalueofasideofacubeandcomputesthecubes volume.Soweneedthefollowing: attributes: Side (anumber)and Volume (anumber) methods: SetSide(), GetSide(), ComputeVolume(),and GetVolume() 8 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011 Figure8(followingpage)showsthe Class Cube anditsmembers. Notethesyntaxfora Field: A Field mustbegivenadatatype.Thetypeof Side and Volume is int andinthiscase,eachfieldhasbeengivenaninitialvalueof1. Notethesyntaxfora Method. Ifthe Method receivesavaluepassedfrom main,youmust includethatparameter.Forexample, o The Method SetSide() ispassedavalueforthelengthofasidesothesyntaxforthis Method is public void SetSide(int NewSide) o The Method ComputeVolume() usesthevalueofthesideofacubetodoits calculationssoitneedsoneparameter,theintegervariable Side. Thesyntaxis public void ComputeVolume(int Side) o The Method GetVolume() retrievesthevalueofthevolumeofthecubefrom ComputeVolume() sothesyntaxforthis Method is public void GetVolume(int Volume) o The Method GetSide()doesnotneedaparametersothesyntaxis public void GetSide()

9 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure8The Class Cube anditsmembers Oncethe Class hasbeencreated,anewtabisautomaticallyadded,withthenameofthe Class (seeFigure9).Nowthecodeforeachofthe Classsmethodsmustbecreated. Clickthe Cubetabtoseefournewtabsoneforeach Method,asshowninFigure10.

10 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure9Newtabforthe Class Cube

11 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure10NewtabsforeachnewMethod

CodetheMethods
TheMethods forthisprogramareasfollows: SetSide(NewSide), ComputeVolume(Side), GetVolume(Volume),and GetSide(). SetSide() Method: The SetSide()Method does onethingonly.Itsetsthevalueofthesideofacube,aspassedto itfromthemainprogram,tothevariable NewSide. Thisassignmentisdoneusingthethis keyword.ThecodeforthismethodisshowninFigure11.

12 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure11Codeforthe SetSide() method ComputeVolume(Side) Method: The ComputeVolume(Side)Method computesthevolumeofthecube.First,itmustreceive thevalueneededforthecomputation(Side).Then,itmustdothecomputationbycubingthe value.Finally,itneedstoexportthisresultwhenrequested.Figure12showsthecode.

13 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure12Codeforthe ComputeVolume() method GetVolume(Volume) Method: TheGetVolume(Volume)Method retrievesthevalueof Volume whenitisaccessedandthen returnsit,asshowninFigure13.

14 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure13Codeforthe GetVolume() method GetSide() Method: The GetSide() Method retrieves the value of Side when accessed, as shown in Figure 14.

Figure14Codeforthe GetSide() method

15 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

The Main Program


Nowthe Main programcanbecreated.Theprogramforthisexampleisextremelysimple;itwill allowtheusertoenteravalueforthesideofacube,computethevolumeofthatcube,and displaytheresult.Thisisaccomplishedbyinstantiatinganobjectoftype Cube, whichwewill call CubeOne, andusingthemethodsandattributesof Cube.Figure15showshowthisisdonethe RAPTOROOPway.

Figure15Codetoinputasideofacubeandoutputitsvolume

16 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

InheritanceandPolymorphism
Onceyouhavemasteredthebasics:creating Classes, Fields, and Methods,andusing dot notationinyourprogram,youcanusetheOOPmodeinRAPTORtocreateandrunmore complicatedprograms. YoucreatechildclassesthatinheritfromaparentclassintheUMLscreen.Figure16(following page)showstheassociationbetweenaparent Class named Animal andtwochild Classes (subclasses)named Frog and Snake. Usethe New Association buttontosetthe inheritancebetweentheparentandchild,asindicatedinFigure16. Inthisexample, Frog and Snake inherit the showAnimalStuff() Method from Animal buteachchildclasshasitsown Method for makeSound() and showAnimalType().The OOPcharacteristicsofbothpolymorphismandinheritancearedemonstratedbythisexample. [SpecialthankstoGeorgeL.Marshall,Jr.fromCalhounCommunityCollegeattheResearchPark CampusinHuntsville,AlabamafortheAnimalexample.]

17 of 18

edited from Appendix D: Introduction to RAPTOR Prelude to Programming: Concepts and Design, 5th edition by Elizabeth Drake and Stewart Venit Addison-Wesley Pub. 2011

Figure16ChildClassesinheritfromtheParentClass BycombiningallthefeaturesofRAPTORsOOPmodeandallthatyouhavelearnedinthistext aboutobjectorientedprogramming,itispossibletocreatesomeinterestingandsophisticated programs.

18 of 18

You might also like