Licensed to: CengageBrain User

Size: px
Start display at page:

Download "Licensed to: CengageBrain User"

Transcription

1 Licensed to:

2 Licensed to: This is an eectronic version of the print textbook. Due to eectronic rights restrictions, some third party content may be suppressed. Editoria review has deemed that any suppressed content does not materiay affect the overa earning experience. The pubisher reserves the right to remove content from this tite at any time if subsequent rights restrictions require it. For vauabe information on pricing, previous editions, changes to current editions, and aternate formats, pease visit to search by ISBN#, author, tite, or keyword for materias in your areas of interest.

3 A Beginner's Guide to Programming Logic and Design, Introductory version, Seventh Internationa Edition Joyce Farre Executive Editor: Marie Lee Acquisitions Editor: Brandi Shaier Senior Product Manager: Ayssa Pratt Deveopmenta Editor: Dan Seiter Senior Content Project Manager: Catherine DiMassa Associate Product Manager: Stephanie Lorenz Associate Marketing Manager: Shanna Sheton Art Director: Faith Brosnan Text Designer: Shawn Girsberger Cover Designer: GEX Pubishing Services Interna Designer: Lisa Kuhn/Curio Press, LLC, Image Credit: istockphoto/tommaso Coia Senior Print Buyer: Juio Esperas Copy Editor: Michae Beckett Proofreader: Kim Kosmatka Indexer: Aexandra Nickerson Compositor: Integra Some of the product names and company names used in this book have been used for identification purposes ony and may be trademarks or registered trademarks of their respective manufacturers and seers. Uness otherwise credited, a art Cengage Learning, produced by Integra. Course Technoogy, a part of Cengage Learning, reserves the right to revise this pubication and make changes from time to time in its content without notice Course Technoogy, Cengage Learning. ALL RIGHTS RESERVED. No part of this work covered by the copyright herein may be reproduced, transmitted, stored or used in any form or by any means graphic, eectronic, or mechanica, incuding but not imited to photocopying, recording, scanning, digitizing, taping, Web distribution, information networks, or information storage and retrieva systems, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, or appicabe copyright aw of another jurisdiction, without the prior written permission of the pubisher. For permission to use materia from this text or product, submit a requests onine at cengage.com/permissions. Further permissions questions can be emaied to permissionrequest@cengage.com. Library of Congress Contro Number: Internationa Edition: ISBN-13: ISBN-10: Cengage Learning Internationa Offices Asia te: (65) Brazi te: (55) Latin America te: (52) Represented in Canada by Neson Education, Ltd. te: (416) /(800) Austraia/New Zeaand te: (61) India te: (91) UK/Europe/Midde East/Africa te: (44) Cengage Learning is a eading provider of customized earning soutions with office ocations around the gobe, incuding Singapore, the United Kingdom, Austraia, Mexico, Brazi, and Japan. Locate your oca office at: For product information: Visit your oca office: Visit our corporate website: Printed in China

4 An Introduction to Programming CHAPTER 1 In this chapter, you wi earn about: Computer systems Simpe program ogic The steps invoved in the program deveopment cyce Pseudocode statements and fowchart symbos Using a sentine vaue to end a program Programming and user environments The evoution of programming modes

5 CHAPTER 1 An Introduction to Programming 2 Understanding Computer Systems A computer system is a combination of a the components required to process and store data using a computer. Every computer system is composed of mutipe pieces of hardware and software. Hardware is the equipment, or the physica devices, associated with a computer. For exampe, keyboards, mice, speakers, and printers are a hardware. The devices are manufactured differenty for arge mainframe computers, aptops, and even smaer computers that are embedded into products such as cars and thermostats, but the types of operations performed by different-sized computers are very simiar. When you think of a computer, you often think of its physica components first, but for a computer to be usefu, it needs more than devices; a computer needs to be given instructions. Just as your stereo equipment does not do much unti you provide music, computer hardware needs instructions that contro how and when data items are input, how they are processed, and the form in which they are output or stored. Software is computer instructions that te the hardware what to do. Software is programs, which are instruction sets written by programmers. You can buy prewritten programs that are stored on a disk or that you downoad from the Web. For exampe, businesses use word-processing and accounting programs, and casua computer users enjoy programs that pay music and games. Aternativey, you can write your own programs. When you write software instructions, you are programming. This book focuses on the programming process. Software can be cassified into two broad types: Appication software comprises a the programs you appy to a task, such as wordprocessing programs, spreadsheets, payro and inventory programs, and even games. System software comprises the programs that you use to manage your computer, incuding operating systems such as Windows, Linux, or UNIX. This book focuses on the ogic used to write appication software programs, athough many of the concepts appy to both types of software. Together, computer hardware and software accompish three major operations in most programs: Input Data items enter the computer system and are paced in memory, where they can be processed. Hardware devices that perform input operations incude keyboards and mice. Data items incude a the text, numbers, and other raw materia that are entered into and processed by a computer. In business, many of the data items used are facts and figures about such entities as products, customers, and personne. However, data can aso incude items such as images, sounds, and a user s mouse movements. Processing Processing data items may invove organizing or sorting them, checking them for accuracy, or performing cacuations with them. The hardware component that performs these types of tasks is the centra processing unit, or CPU.

6 Understanding Computer Systems Output After data items have been processed, the resuting information usuay is sent to a printer, monitor, or some other output device so peope can view, interpret, and use the resuts. Programming professionas often use the term data for input items, but use the term information for data that has been processed and output. Sometimes you pace output on storage devices, such as disks or fash media. Peope cannot read data directy from these storage devices, but the devices hod information for ater retrieva. When you send output to a storage device, sometimes it is used ater as input for another program. You write computer instructions in a computer programming anguage such as Visua Basic, C#, C++, or Java. Just as some peope speak Engish and others speak Japanese, programmers write programs in different anguages. Some programmers work excusivey in one anguage, whereas others know severa and use the one that is best suited to the task at hand. The instructions you write using a programming anguage are caed program code; when you write instructions, you are coding the program. Every programming anguage has rues governing its word usage and punctuation. These rues are caed the anguage s syntax. Mistakes in a anguage s usage are syntax errors. If you ask, How the geet too store do I? in Engish, most peope can figure out what you probaby mean, even though you have not used proper Engish syntax you have mixed up the word order, misspeed a word, and used an incorrect word. However, computers are not neary as smart as most peope; in this case, you might as we have asked the computer, Xpu mxv ort dod nmcad bf B? Uness the syntax is perfect, the computer cannot interpret the programming anguage instruction at a. When you write a program, you usuay type its instructions using a keyboard. When you type program instructions, they are stored in computer memory, which is a computer s temporary, interna storage. Random access memory, orram, is a form of interna, voatie memory. Programs that are currenty running and data items that are currenty being used are stored in RAM for quick access. Interna storage is voatie its contents are ost when the computer is turned off or oses power. Usuay, you want to be abe to retrieve and perhaps modify the stored instructions ater, so you aso store them on a permanent storage device, such as a disk. Permanent storage devices are nonvoatie that is, their contents are persistent and are retained even when power is ost. If you have had a power oss whie working on a computer, but were abe to recover your work when power was restored, it s not because the work was sti in RAM. Your system has been configured to automaticay save your work at reguar intervas on a nonvoatie storage device. After a computer program is typed using programming anguage statements and stored in memory, it must be transated to machine anguage that represents the miions of on/off circuits within the computer. Your programming anguage statements are caed source code, and the transated machine anguage statements are object code. Each programming anguage uses a piece of software, caed a compier or an interpreter, to transate your source code into machine anguage. Machine anguage is aso caed binary anguage, and is represented as a series of 0s and 1s. The compier or interpreter that transates your code tes you if any programming anguage component has been used incorrecty. Syntax errors are reativey easy to ocate and correct because your compier or interpreter highights them. If you write a computer program using a anguage such as C++ 3

7 CHAPTER 1 An Introduction to Programming but spe one of its words incorrecty or reverse the proper order of two words, the software ets you know that it found a mistake by dispaying an error message as soon as you try to transate the program. 4 Athough there are differences in how compiers and interpreters work, their basic function is the same to transate your programming statements into code the computer can use. When you use a compier, an entire program is transated before it can execute; when you use an interpreter, each instruction is transated just prior to execution. Usuay, you do not choose which type of transation to use it depends on the programming anguage. However, there are some anguages for which both compiers and interpreters are avaiabe. After a program s source code is successfuy transated to machine anguage, the computer can carry out the program instructions. When instructions are carried out, a program runs, or executes. In a typica program, some input wi be accepted, some processing wi occur, and resuts wi be output. Besides the popuar, comprehensive programming anguages such as Java and C++, many programmers use scripting anguages (aso caed scripting programming anguages or script anguages) such as Python, Lua, Per, and PHP. Scripts written in these anguages usuay can be typed directy from a keyboard and are stored as text rather than as binary executabe fies. Scripting anguage programs are interpreted ine by ine each time the program executes, instead of being stored in a compied (binary) form. Sti, with a programming anguages, each instruction must be transated to machine anguage before it can execute. TWO TRUTHS & ALIE Understanding Computer Systems In each Two Truths and a Lie section, two of the numbered statements are true, and one is fase. Identify the fase statement and expain why it is fase. 1. Hardware is the equipment, or the devices, associated with a computer. Software is computer instructions. 2. The grammar rues of a computer programming anguage are its syntax. 3. You write programs using machine anguage, and transation software converts the statements to a programming anguage. The fase as Visua converts statement is #3. You write programs using a programming Basic or Java, and a transation program (caed a compier the statements to machine anguage, which is 0s and 1s. anguage such or interpreter)

8 Understanding Simpe Program Logic Understanding Simpe Program Logic A program with syntax errors cannot be fuy transated and cannot execute. A program with no syntax errors is transatabe and can execute, but it sti might contain ogica errors and produce incorrect output as a resut. For a program to work propery, you must deveop correct ogic; that is, you must write program instructions in a specific sequence, you must not eave any instructions out, and you must not add extraneous instructions. Suppose you instruct someone to make a cake as foows: Get a bow Stir Add two eggs Add a gaon of gasoine Bake at 350 degrees for 45 minutes Add three cups of four Don t Do It Don't bake a cake ike this! 5 The dangerous cake-baking instructions are shown with a Don t Do It icon. You wi see this icon when the book contains an unrecommended programming practice that is used as an exampe of what not to do. Even though the cake-baking instructions use Engish anguage syntax correcty, the instructions are out of sequence, some are missing, and some instructions beong to procedures other than baking a cake. If you foow these instructions, you wi not make an edibe cake, and you may end up with a disaster. Many ogica errors are more difficut to ocate than syntax errors it is easier for you to determine whether eggs is speed incorrecty in a recipe than it is for you to te if there are too many eggs or if they are added too soon. Just as baking directions can be provided in Mandarin, Urdu, or Spanish, program ogic can be expressed correcty in any number of programming anguages. Because this book is not concerned with a specific anguage, the programming exampes coud have been written in Visua Basic, C++, or Java. For convenience, this book uses instructions written in Engish! After you earn French, you automaticay know, or can easiy figure out, many Spanish words. Simiary, after you earn one programming anguage, it is much easier to understand severa other anguages. Most simpe computer programs incude steps that perform input, processing, and output. Suppose you want to write a computer program to doube any number you provide. You can write the program in a programming anguage such as Visua Basic or Java, but if you were to write it using Engish-ike statements, it woud ook ike this: input mynumber set myanswer = mynumber * 2 output myanswer

9 CHAPTER 1 An Introduction to Programming 6 The number-doubing process incudes three instructions: The instruction to input mynumber is an exampe of an input operation. When the computer interprets this instruction, it knows to ook to an input device to obtain a number. When you work in a specific programming anguage, you write instructions that te the computer which device to access for input. For exampe, when a user enters a number as data for a program, the user might cick on the number with a mouse, type it from a keyboard, or speak it into a microphone. Logicay, however, it doesn t matter which hardware device is used, as ong as the computer knows to accept a number. When the number is retrieved from an input device, it is paced in the computer s memory in a variabe named mynumber.a variabe is a named memory ocation whose vaue can vary for exampe, the vaue of mynumber might be 3 when the program is used for the first time and 45 when it is used the next time. In this book, variabe names wi not contain embedded spaces; for exampe, the book wi use mynumber instead of my Number. From a ogica perspective, when you input, process, or output a vaue, the hardware device is irreevant. The same is true in your daiy ife. If you foow the instruction Get eggs for the cake, it does not reay matter if you purchase them from a store or harvest them from your own chickens you get the eggs either way. There might be different practica considerations to getting the eggs, just as there are for getting data from a arge database as opposed to getting data from an inexperienced user working at home on a aptop computer. For now, this book is ony concerned with the ogic of operations, not the minor detais. The instruction set myanswer = mynumber * 2 is an exampe of a processing operation. In most programming anguages, an asterisk is used to indicate mutipication, so this instruction means Change the vaue of the memory ocation myanswer to equa the vaue at the memory ocation mynumber times two. Mathematica operations are not the ony kind of processing operations, but they are very typica. As with input operations, the type of hardware used for processing is irreevant after you write a program, it can be used on computers of different brand names, sizes, and speeds. In the number-doubing program, the output myanswer instruction is an exampe of an output operation. Within a particuar program, this statement coud cause the output to appear on the monitor (which might be a fat-pane pasma screen or a cathode-ray tube), or the output coud go to a printer (which coud be aser or ink-jet), or the output coud be written to a disk or DVD. The ogic of the output process is the same no matter what hardware device you use. When this instruction executes, the vaue stored in memory at the ocation named myanswer is sent to an output device. (The output vaue aso remains in computer memory unti something ese is stored at the same memory ocation or power is ost.) Watch the video A Simpe Program.

10 Understanding the Program Deveopment Cyce Computer memory consists of miions of numbered ocations where data can be stored. The memory ocation of mynumber has a specific numeric address, but when you write programs, you sedom need to be concerned with the vaue of the memory address; instead, you use the easy-to-remember name you created. Computer programmers often refer to memory addresses using hexadecima notation, or base 16. Using this system, they might use a vaue ike 42FF01A to refer to a memory address. Despite the use of etters, such an address is sti a hexadecima number. Appendix A contains information on this numbering system. 7 TWO TRUTHS & ALIE Understanding Simpe Program Logic 1. A program with syntax errors can execute but might produce incorrect resuts. 2. Athough the syntax of programming anguages differs, the same program ogic can be expressed in different anguages. 3. Most simpe computer programs incude steps that perform input, processing, and output. The fase statement is #1. A program with syntax errors cannot execute; a program with no syntax errors can execute, but might produce incorrect resuts. Understanding the Program Deveopment Cyce A programmer s job invoves writing instructions (such as those in the doubing program in the preceding section), but a professiona programmer usuay does not just sit down at a computer keyboard and start typing. Figure 1-1 iustrates the program deveopment cyce, which can be broken down into at east seven steps: 1. Understand the probem. 2. Pan the ogic. 3. Code the program. 4. Use software (a compier or interpreter) to transate the program into machine anguage. 5. Test the program. 6. Put the program into production. 7. Maintain the program.

11 CHAPTER 1 An Introduction to Programming Understand the probem 8 Maintain the program Pan the ogic Put the program into production Write the code Test the program Transate the code Figure 1-1 The program deveopment cyce Understanding the Probem Professiona computer programmers write programs to satisfy the needs of others, caed users or end users. Exampes of end users incude a Human Resources department that needs a printed ist of a empoyees, a Biing department that wants a ist of cients who are 30 or more days overdue on their payments, and an Order department that needs a Web site to provide buyers with an onine shopping cart. Because programmers are providing a service to these users, programmers must first understand what the users want. When a program runs, you usuay think of the ogic as a cyce of input-processing-output operations, but when you pan a program, you think of the output first. After you understand what the desired resut is, you can pan the input and processing steps to achieve it. Suppose the director of Human Resources says to a programmer, Our department needs a ist of a empoyees who have been here over five years, because we want to invite them to a specia thank-you dinner. On the surface, this seems ike a simpe request. An experienced programmer, however, wi know that the request is incompete. For exampe, you might not know the answers to the foowing questions about which empoyees to incude: Does the director want a ist of fu-time empoyees ony, or a ist of fu- and part-time empoyees together? Does she want to incude peope who have worked for the company on a month-tomonth contractua basis over the past five years, or ony reguar, permanent empoyees? Do the isted empoyees need to have worked for the organization for five years as of today, as of the date of the dinner, or as of some other cutoff date? What about an empoyee who worked three years, took a two-year eave of absence, and has been back for three years?

12 Understanding the Program Deveopment Cyce The programmer cannot make any of these decisions; the user (in this case, the Human Resources director) must address these questions. More decisions sti might be required. For exampe: What data shoud be incuded for each isted empoyee? Shoud the ist contain both first and ast names? Socia Security numbers? Phone numbers? Addresses? Shoud the ist be in aphabetica order? Empoyee ID number order? Length-of-service order? Some other order? Shoud the empoyees be grouped by any criteria, such as department number or years of service? Severa pieces of documentation are often provided to hep the programmer understand the probem. Documentation consists of a the supporting paperwork for a program; it might incude items such as origina requests for the program from users, sampe output, and descriptions of the data items avaiabe for input. Fuy understanding the probem may be one of the most difficut aspects of programming. On any job, the description of what the user needs may be vague worse yet, users may not reay know what they want, and users who think they know frequenty change their minds after seeing sampe output. A good programmer is often part counseor, part detective! 9 Watch the video The Program Deveopment Cyce, Part 1. Panning the Logic The heart of the programming process ies in panning the program s ogic. During this phase of the process, the programmer pans the steps of the program, deciding what steps to incude and how to order them. You can pan the soution to a probem in many ways. The two most common panning toos are fowcharts and pseudocode. Both toos invove writing the steps of the program in Engish, much as you woud pan a trip on paper before getting into the car or pan a party theme before shopping for food and favors. You may hear programmers refer to panning a program as deveoping an agorithm. An agorithm is the sequence of steps necessary to sove any probem. In addition to fowcharts and pseudocode, programmers use a variety of other toos to hep in program deveopment. One such too is an IPO chart, which deineates input, processing, and output tasks. Some object-oriented programmers aso use TOE charts, which ist tasks, objects, and events. The programmer shoudn t worry about the syntax of any particuar anguage during the panning stage, but shoud focus on figuring out what sequence of events wi ead from the avaiabe input to the desired output. Panning the ogic incudes thinking carefuy about a

13 CHAPTER 1 An Introduction to Programming the possibe data vaues a program might encounter and how you want the program to hande each scenario. The process of waking through a program s ogic on paper before you actuay write the program is caed desk-checking. You wi earn more about panning the ogic throughout this book; in fact, the book focuses on this crucia step amost excusivey. 10 Coding the Program After the ogic is deveoped, ony then can the programmer write the source code for a program. Hundreds of programming anguages are avaiabe. Programmers choose particuar anguages because some have buit-in capabiities that make them more efficient than others at handing certain types of operations. Despite their differences, programming anguages are quite aike in their basic capabiities each can hande input operations, arithmetic processing, output operations, and other standard functions. The ogic deveoped to sove a programming probem can be executed using any number of anguages. Ony after choosing a anguage must the programmer be concerned with proper punctuation and the correct speing of commands in other words, using the correct syntax. Some experienced programmers can successfuy combine ogic panning and program coding in one step. This may work for panning and writing a very simpe program, just as you can pan and write a postcard to a friend using one step. A good term paper or a Hoywood screenpay, however, needs panning before writing and so do most programs. Which step is harder: panning the ogic or coding the program? Right now, it may seem to you that writing in a programming anguage is a very difficut task, considering a the speing and syntax rues you must earn. However, the panning step is actuay more difficut. Which is more difficut: thinking up the twists and turns to the pot of a best-seing mystery nove, or writing a transation of an existing nove from Engish to Spanish? And who do you think gets paid more, the writer who creates the pot or the transator? (Try asking friends to name any famous transator!) Using Software to Transate the Program into Machine Language Even though there are many programming anguages, each computer knows ony one anguage its machine anguage, which consists of 1s and 0s. Computers understand machine anguage because they are made up of thousands of tiny eectrica switches, each of which can be set in either the on or off state, which is represented by a 1 or 0, respectivey. Languages ike Java or Visua Basic are avaiabe for programmers because someone has written a transator program (a compier or interpreter) that changes the programmer s Engish-ike high-eve programming anguage into the ow-eve machine anguage that the computer understands. When you earn the syntax of a programming anguage, the commands work on any machine on which the anguage software has been instaed. However, your commands then are transated to machine anguage, which differs in various computer makes and modes.

14 Understanding the Program Deveopment Cyce If you write a programming statement incorrecty (for exampe, by misspeing a word, using a word that doesn t exist in the anguage, or using iega grammar), the transator program doesn t know how to proceed and issues an error message identifying a syntax error. Athough making errors is never desirabe, syntax errors are not a major concern to programmers, because the compier or interpreter catches every syntax error and dispays a message that notifies you of the probem. The computer wi not execute a program that contains even one syntax error. Typicay, a programmer deveops ogic, writes the code, and compies the program, receiving a ist of syntax errors. The programmer then corrects the syntax errors and compies the program again. Correcting the first set of errors frequenty reveas new errors that originay were not apparent to the compier. For exampe, if you coud use an Engish compier and submit the sentence The dg chase the cat, the compier at first might point out ony one syntax error. The second word, dg, is iega because it is not part of the Engish anguage. Ony after you corrected the word to dog woud the compier find another syntax error on the third word, chase, because it is the wrong verb form for the subject dog. This doesn t mean chase is necessariy the wrong word. Maybe dog is wrong; perhaps the subject shoud be dogs, in which case chase is right. Compiers don t aways know exacty what you mean, nor do they know what the proper correction shoud be, but they do know when something is wrong with your syntax. 11 Watch the video The Program Deveopment Cyce, Part 2. When writing a program, a programmer might need to recompie the code severa times. An executabe program is created ony when the code is free of syntax errors. After a program has been transated into machine anguage, the machine anguage program is saved and can be run any number of times without repeating the transation step. You ony need to retransate your code if you make changes to your source code statements. Figure 1-2 shows a diagram of this entire process.

15 CHAPTER 1 An Introduction to Programming Data that the program uses 12 Write and correct the program code Compie the program If there are no syntax errors Executabe program If there are syntax errors List of syntax error messages Program output Figure 1-2 Creating an executabe program Testing the Program A program that is free of syntax errors is not necessariy free of ogica errors. A ogica error resuts when you use a syntacticay correct statement but use the wrong one for the current context. For exampe, the Engish sentence The dog chases the cat, athough syntacticay perfect, is not ogicay correct if the dog chases a ba or the cat is the aggressor. Once a program is free of syntax errors, the programmer can test it that is, execute it with some sampe data to see whether the resuts are ogicay correct. Reca the number-doubing program: input mynumber set myanswer = mynumber * 2 output myanswer If you execute the program, provide the vaue 2 as input to the program, and the answer 4 is dispayed, you have executed one successfu test run of the program. However, if the answer 40 is dispayed, maybe the program contains a ogica error. Maybe the second ine of code was mistyped with an extra zero, so that the program reads: input mynumber set myanswer = mynumber * 20 output myanswer Don t Do It The programmer typed 20 instead of 2. Pacing 20 instead of 2 in the mutipication statement caused a ogica error. Notice that nothing is syntacticay wrong with this second program it is just as reasonabe to mutipy a number by 20 as by 2 but if the programmer intends ony to doube mynumber, then a ogica error has occurred.

16 Understanding the Program Deveopment Cyce The process of finding and correcting program errors is caed debugging. You debug a program by testing it using many sets of data. For exampe, if you write the program to doube a number, then enter 2 and get an output vaue of 4, that doesn t necessariy mean you have a correct program. Perhaps you have typed this program by mistake: input mynumber set myanswer = mynumber + 2 output myanswer Don t Do It The programmer typed "+" instead of " * ". 13 An input of 2 resuts in an answer of 4, but that doesn t mean your program doubes numbers it actuay ony adds 2 to them. If you test your program with additiona data and get the wrong answer for exampe, if you enter 7 and get an answer of 9 you know there is a probem with your code. Seecting test data is somewhat of an art in itsef, and it shoud be done carefuy. If the Human Resources department wants a ist of the names of five-year empoyees, it woud be a mistake to test the program with a sma sampe fie of ony ong-term empoyees. If no newer empoyees are part of the data being used for testing, you do not reay know if the program woud have eiminated them from the five-year ist. Many companies do not know that their software has a probem unti an unusua circumstance occurs for exampe, the first time an empoyee has more than nine dependents, the first time a customer orders more than 999 items at a time, or when the Internet runs out of aocated IP addresses, a probem known as IPV4 exhaustion. Putting the Program into Production Once the program is thoroughy tested and debugged, it is ready for the organization to use. Putting the program into production might mean simpy running the program once, if it was written to satisfy a user s request for a specia ist. However, the process might take months if the program wi be run on a reguar basis, or if it is one of a arge system of programs being deveoped. Perhaps data-entry peope must be trained to prepare the input for the new program, users must be trained to understand the output, or existing data in the company must be changed to an entirey new format to accommodate this program. Conversion, the entire set of actions an organization must take to switch over to using a new program or set of programs, can sometimes take months or years to accompish. Maintaining the Program After programs are put into production, making necessary changes is caed maintenance. Maintenance can be required for many reasons: for exampe, because new tax rates are egisated, the format of an input fie is atered, or the end user requires additiona information not incuded in the origina output specifications. Frequenty, your first programming job wi require maintaining previousy written programs. When you maintain the programs others have written, you wi appreciate the effort the origina programmer put into writing cear

17 CHAPTER 1 An Introduction to Programming 14 code, using reasonabe variabe names, and documenting his or her work. When you make changes to existing programs, you repeat the deveopment cyce. That is, you must understand the changes, then pan, code, transate, and test them before putting them into production. If a substantia number of program changes are required, the origina program might be retired, and the program deveopment cyce might be started for a new program. Watch the video The Program Deveopment Cyce, Part 3. TWO TRUTHS & ALIE Understanding the Program Deveopment Cyce 1. Understanding the probem that must be soved can be one of the most difficut aspects of programming. 2. The two most commony used ogic-panning toos are fowcharts and pseudocode. 3. Fowcharting a program is a very different process if you use an oder programming anguage instead of a newer one. The fase statement is #3. Despite their differences, programming anguages are quite aike in their basic capabiities each can hande input operations, arithmetic processing, output operations, and other standard functions. The ogic deveoped to sove a programming probem can be executed using any number of anguages. Using Pseudocode Statements and Fowchart Symbos When programmers pan the ogic for a soution to a programming probem, they often use one of two toos: pseudocode (pronounced sue-doe-code) or fowcharts. Pseudocode is an Engish-ike representation of the ogica steps it takes to sove a probem. Pseudo is a prefix that means fase, and to code a program means to put it in a programming anguage; therefore, pseudocode simpy means fase code, or sentences that appear to have been written in a computer programming anguage but do not necessariy foow a the syntax rues of any specific anguage. A fowchart is a pictoria representation of the same thing.

18 Using Pseudocode Statements and Fowchart Symbos Writing Pseudocode You have aready seen exampes of statements that represent pseudocode earier in this chapter, and there is nothing mysterious about them. The foowing five statements constitute a pseudocode representation of a number-doubing probem: start input mynumber set myanswer = mynumber * 2 output myanswer stop Using pseudocode invoves writing down a the steps you wi use in a program. Usuay, programmers preface their pseudocode with a beginning statement ike start and end it with a terminating statement ike stop. The statements between start and stop ook ike Engish and are indented sighty so that start and stop stand out. Most programmers do not bother with punctuation such as periods at the end of pseudocode statements, athough it woud not be wrong to use them if you prefer that stye. Simiary, there is no need to capitaize the first word in a sentence, athough you might choose to do so. This book foows the conventions of using owercase etters for verbs that begin pseudocode statements and omitting periods at the end of statements. Pseudocode is fairy fexibe because it is a panning too, and not the fina product. Therefore, for exampe, you might prefer any of the foowing: Instead of start and stop, some pseudocode deveopers woud use other terms such as begin and end. 15 Instead of writing input mynumber, some deveopers woud write get mynumber or read mynumber. Instead of writing set myanswer = mynumber * 2, some deveopers woud write cacuate myanswer = mynumber times 2 or compute myanswer as mynumber doubed. Instead of writing output myanswer, many pseudocode deveopers woud write dispay myanswer, print myanswer, orwrite myanswer. The point is, the pseudocode statements are instructions to retrieve an origina number from an input device and store it in memory where it can be used in a cacuation, and then to get the cacuated answer from memory and send it to an output device so a person can see it. When you eventuay convert your pseudocode to a specific programming anguage, you do not have such fexibiity because specific syntax wi be required. For exampe, if you use the C# programming anguage and write the statement to output the answer to the monitor, you wi code the foowing: Consoe.Write(myAnswer); The exact use of words, capitaization, and punctuation are important in the C# statement, but not in the pseudocode statement.

19 CHAPTER 1 An Introduction to Programming 16 Drawing Fowcharts Some professiona programmers prefer writing pseudocode to drawing fowcharts, because using pseudocode is more simiar to writing the fina statements in the programming anguage. Others prefer drawing fowcharts to represent the ogica fow, because fowcharts aow programmers to visuaize more easiy how the program statements wi connect. Especiay for beginning programmers, fowcharts are an exceent too to hep them visuaize how the statements in a program are interreated. You can draw a fowchart by hand or use software, such as Microsoft Word and Microsoft PowerPoint, that contains fowcharting toos. You can use severa other software programs, such as Visio and Visua Logic, specificay to create fowcharts. When you create a fowchart, you draw geometric shapes that contain the individua statements and that are connected with arrows. (Appendix B contains a summary of a the fowchart symbos you wi see in this book.) You use a paraeogram to represent an input symbo, which indicates an input operation. You write an input statement in Engish inside the paraeogram, as shown in Figure 1-3. Arithmetic operation statements are exampes of processing. In a fowchart, you use a rectange as the processing symbo that contains a processing statement, as shown in Figure 1-4. To represent an output statement, you use the same symbo as for input statements the output symbo is a paraeogram, as shown in Figure 1-5. Because the paraeogram is used for both input and output, it is often caed the input/output symbo or I/O symbo. input mynumber Figure 1-3 Input symbo set myanswer = mynumber * 2 Figure 1-4 Processing symbo output myanswer Figure 1-5 Output symbo Some software programs that use fowcharts (such as Visua Logic) use a eft-santing paraeogram to represent output. As ong as the fowchart creator and the fowchart reader are communicating, the actua shape used is irreevant. This book wi foow the most standard convention of using the right-santing paraeogram for both input and output. To show the correct sequence of these statements, you use arrows, or fowines, to connect the steps. Whenever possibe, most of a fowchart shoud read from top to bottom or from eft to right on a page. That s the way we read Engish, so when fowcharts foow this convention, they are easier for us to understand. To be compete, a fowchart shoud incude two more eements: termina symbos, or start/ stop symbos, at each end. Often, you pace a word ike start or begin in the first termina symbo and a word ike end or stop in the other. The standard termina symbo is shaped ike a racetrack; many programmers refer to this shape as a ozenge, because it resembes the shape of the medication you might use to soothe a sore throat. Figure 1-6 shows a compete fowchart for the program that doubes a number, and the pseudocode for the same probem.

20 Using Pseudocode Statements and Fowchart Symbos You can see from the figure that the fowchart and pseudocode statements are the same ony the presentation format differs. Fowchart start Pseudocode 17 input mynumber set myanswer = mynumber * 2 output myanswer start input mynumber set myanswer = mynumber * 2 output myanswer stop stop Figure 1-6 Fowchart and pseudocode of program that doubes a number Programmers sedom create both pseudocode and a fowchart for the same probem. You usuay use one or the other. In a arge program, you might even prefer to write pseudocode for some parts and to draw a fowchart for others. When you te a friend how to get to your house, you might write a series of instructions or you might draw a map. Pseudocode is simiar to written, step-by-step instructions; a fowchart, ike a map, is a visua representation of the same thing. Repeating Instructions After the fowchart or pseudocode has been deveoped, the programmer ony needs to: (1) buy a computer, (2) buy a anguage compier, (3) earn a programming anguage, (4) code the program, (5) attempt to compie it, (6) fix the syntax errors, (7) compie it again, (8) test it with severa sets of data, and (9) put it into production. Whoa! you are probaby saying to yoursef. This is simpy not worth it! A that work to create a fowchart or pseudocode, and then a those other steps? For five doars, I can buy a pocket cacuator that wi doube any number for me instanty! You are absoutey right. If this were a rea computer program, and a it did was doube the vaue of a number, it woud not be worth the effort. Writing a computer program woud be worthwhie ony if you had many numbers (et s say 10,000) to doube in a imited amount of time et s say the next two minutes.

21 CHAPTER 1 An Introduction to Programming 18 Unfortunatey, the program represented in Figure 1-6 does not doube 10,000 numbers; it doubes ony one. You coud execute the program 10,000 times, of course, but that woud require you to sit at the computer and run the program over and over again. You woud be better off with a program that coud process 10,000 numbers, one after the other. One soution is to write the program shown in Figure 1-7 and execute the same steps 10,000 times. Of course, writing this program woud be very time consuming; you might as we buy the cacuator. start input mynumber set myanswer = mynumber * 2 output myanswer input mynumber set myanswer = mynumber * 2 output myanswer input mynumber set myanswer = mynumber * 2 output myanswer and so on for 9,997 more times Don t Do It You woud never want to write such a repetitious ist of instructions. Figure 1-7 Inefficient pseudocode for program that doubes 10,000 numbers A better soution is to have the computer execute the same set of three instructions over and over again, as shown in Figure 1-8. The repetition of a series of steps is caed a oop. With this approach, the computer gets a number, doubes it, dispays the answer, and then starts again with the first instruction. The same spot in memory, caed mynumber, is reused for the second number and for any subsequent numbers. The spot in memory named myanswer is reused each time to store the resut of the mutipication operation. However, the ogic iustrated in the fowchart in Figure 1-8 contains a major probem the sequence of instructions never ends. This programming situation is known as an infinite oop a repeating fow of ogic with no end. You wi earn one way to hande this probem ater in this chapter; you wi earn a superior way in Chapter 3.

22 Using a Sentine Vaue to End a Program start input mynumber 19 set myanswer = mynumber * 2 output myanswer Don t Do It This ogic saves steps, but it has a fata faw it never ends. Figure 1-8 Fowchart of infinite number-doubing program TWO TRUTHS & ALIE Using Pseudocode Statements and Fowchart Symbos 1. When you draw a fowchart, you use a paraeogram to represent an input operation. 2. When you draw a fowchart, you use a paraeogram to represent a processing operation. 3. When you draw a fowchart, you use a paraeogram to represent an output operation. The fase statement is #2. When you draw a fowchart, you use a rectange to represent a processing operation. Using a Sentine Vaue to End a Program The ogic in the fowchart for doubing numbers, shown in Figure 1-8, has a major faw the program contains an infinite oop. If, for exampe, the input numbers are being entered at the keyboard, the program wi keep accepting numbers and outputting their doubed vaues forever. Of course, the user coud refuse to type any more numbers. But the program cannot progress any further whie it is waiting for input; meanwhie, the program is occupying computer memory and tying up operating system resources. Refusing to enter any more numbers is not a practica soution. Another way to end the program is simpy to turn off the

23 CHAPTER 1 An Introduction to Programming 20 computer. But again, that s neither the best soution nor an eegant way for the program to end. A superior way to end the program is to set a predetermined vaue for mynumber that means Stop the program! For exampe, the programmer and the user coud agree that the user wi never need to know the doube of 0 (zero), so the user coud enter a 0 to stop. The program coud then test any incoming vaue contained in mynumber and, if it is a 0, stop the program. Testing a vaue is aso caed making a decision. You represent a decision in a fowchart by drawing a decision symbo, which is shaped ike a diamond. The diamond usuay contains a question, the answer to which is one of two mutuay excusive options often yes or no. A good computer questions have ony two mutuay excusive answers, such as yes and no or true and fase. For exampe, What day of the year is your birthday? is not a good computer question because there are 366 possibe answers. However, Is your birthday June 24? is a good computer question because the answer is aways either yes or no. The question to stop the doubing program shoud be Is the vaue of mynumber just entered equa to 0? or mynumber = 0? for short. The compete fowchart wi now ook ike the one shown in Figure 1-9. start input mynumber Don t Do It This ogic is not structured; you wi earn about structure in Chapter 3. mynumber = 0? Yes stop No set myanswer = mynumber times 2 output myanswer Figure 1-9 Fowchart of number-doubing program with sentine vaue of 0 One drawback to using 0 to stop a program, of course, is that it won t work if the user does need to find the doube of 0. In that case, some other data-entry vaue that the user never wi

24 Using a Sentine Vaue to End a Program need, such as 999 or 1, coud be seected to signa that the program shoud end. A preseected vaue that stops the execution of a program is often caed a dummy vaue because it does not represent rea data, but just a signa to stop. Sometimes, such a vaue is caed a sentine vaue because it represents an entry or exit point, ike a sentine who guards a fortress. Not a programs rey on user data entry from a keyboard; many read data from an input device, such as a disk. When organizations store data on a disk or other storage device, they do not commony use a dummy vaue to signa the end of the fie. For one thing, an input record might have hundreds of fieds, and if you store a dummy record in every fie, you are wasting a arge quantity of storage on nondata. Additionay, it is often difficut to choose sentine vaues for fieds in a company s data fies. Any baancedue, even a zero or a negative number, can be a egitimate vaue, and any customername, even ZZ, coud be someone s name. Fortunatey, programming anguages can recognize the end of data in a fie automaticay, through a code that is stored at the end of the data. Many programming anguages use the term eof (for end of fie) to refer to this marker that automaticay acts as a sentine. This book, therefore, uses eof to indicate the end of data whenever using a dummy vaue is impractica or inconvenient. In the fowchart shown in Figure 1-10, the eof question is shaded. 21 start input mynumber Don t Do It This ogic is not structured; you wi earn about structure in Chapter 3. eof? Yes stop No set myanswer = mynumber times 2 output myanswer Figure 1-10 Fowchart using eof

25 CHAPTER 1 An Introduction to Programming TWO TRUTHS & ALIE Using a Sentine Vaue to End a Program A program that contains an infinite oop is one that never ends. 2. A preseected vaue that stops the execution of a program is often caed a dummy vaue or a sentine vaue. 3. Many programming anguages use the term fe (for fie end) to refer to a marker that automaticay acts as a sentine. is #3. The term eof (for end of fie) is the common term for a fie The fase statement sentine. Understanding Programming and User Environments Many approaches can be used to write and execute a computer program. When you pan a program s ogic, you can use a fowchart, pseudocode, or a combination of the two. When you code the program, you can type statements into a variety of text editors. When your program executes, it might accept input from a keyboard, mouse, microphone, or any other input device, and when you provide a program s output, you might use text, images, or sound. This section describes the most common environments you wi encounter as a new programmer. Understanding Programming Environments When you pan the ogic for a computer program, you can use paper and penci to create a fowchart, or you might use software that aows you to manipuate fowchart shapes. If you choose to write pseudocode, you can do so by hand or by using a word-processing program. To enter the program into a computer so you can transate and execute it, you usuay use a keyboard to type program statements into an editor. You can type a program into one of the foowing: A pain text editor A text editor that is part of an integrated deveopment environment A text editor is a program that you use to create simpe text fies. It is simiar to a word processor, but without as many features. You can use a text editor such as Notepad that is incuded with Microsoft Windows. Figure 1-11 shows a C# program in Notepad that accepts a number and doubes it. An advantage to using a simpe text editor to type and save a program is that the competed program does not require much disk space for storage. For exampe, the fie shown in Figure 1-11 occupies ony 314 bytes of storage.

Chapter 3: JavaScript in Action Page 1 of 10. How to practice reading and writing JavaScript on a Web page

Chapter 3: JavaScript in Action Page 1 of 10. How to practice reading and writing JavaScript on a Web page Chapter 3: JavaScript in Action Page 1 of 10 Chapter 3: JavaScript in Action In this chapter, you get your first opportunity to write JavaScript! This chapter introduces you to JavaScript propery. In addition,

More information

Licensed to: Printed in Canada 1 2 3 4 5 6 7 14 13 12 11 10

Licensed to: Printed in Canada 1 2 3 4 5 6 7 14 13 12 11 10 Licensed to: ichapters User Programming Logic and Design, Comprehensive, Sixth Edition Joyce Farrell Executive Editor: Marie Lee Acquisitions Editor: Amy Jollymore Managing Editor: Tricia Coia Developmental

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES About ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow, some of which may not appy your account. Some of

More information

Key Features of Life Insurance

Key Features of Life Insurance Key Features of Life Insurance Life Insurance Key Features The Financia Conduct Authority is a financia services reguator. It requires us, Aviva, to give you this important information to hep you to decide

More information

Advanced ColdFusion 4.0 Application Development - 3 - Server Clustering Using Bright Tiger

Advanced ColdFusion 4.0 Application Development - 3 - Server Clustering Using Bright Tiger Advanced CodFusion 4.0 Appication Deveopment - CH 3 - Server Custering Using Bri.. Page 1 of 7 [Figures are not incuded in this sampe chapter] Advanced CodFusion 4.0 Appication Deveopment - 3 - Server

More information

AA Fixed Rate ISA Savings

AA Fixed Rate ISA Savings AA Fixed Rate ISA Savings For the road ahead The Financia Services Authority is the independent financia services reguator. It requires us to give you this important information to hep you to decide whether

More information

The guaranteed selection. For certainty in uncertain times

The guaranteed selection. For certainty in uncertain times The guaranteed seection For certainty in uncertain times Making the right investment choice If you can t afford to take a ot of risk with your money it can be hard to find the right investment, especiay

More information

Chapter 3: e-business Integration Patterns

Chapter 3: e-business Integration Patterns Chapter 3: e-business Integration Patterns Page 1 of 9 Chapter 3: e-business Integration Patterns "Consistency is the ast refuge of the unimaginative." Oscar Wide In This Chapter What Are Integration Patterns?

More information

Pay-on-delivery investing

Pay-on-delivery investing Pay-on-deivery investing EVOLVE INVESTment range 1 EVOLVE INVESTMENT RANGE EVOLVE INVESTMENT RANGE 2 Picture a word where you ony pay a company once they have deivered Imagine striking oi first, before

More information

Early access to FAS payments for members in poor health

Early access to FAS payments for members in poor health Financia Assistance Scheme Eary access to FAS payments for members in poor heath Pension Protection Fund Protecting Peope s Futures The Financia Assistance Scheme is administered by the Pension Protection

More information

Setting Up Your Internet Connection

Setting Up Your Internet Connection 4 CONNECTING TO CHANCES ARE, you aready have Internet access and are using the Web or sending emai. If you downoaded your instaation fies or instaed esigna from the web, you can be sure that you re set

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow some of which may not appy your account Some of these may

More information

Art of Java Web Development By Neal Ford 624 pages US$44.95 Manning Publications, 2004 ISBN: 1-932394-06-0

Art of Java Web Development By Neal Ford 624 pages US$44.95 Manning Publications, 2004 ISBN: 1-932394-06-0 IEEE DISTRIBUTED SYSTEMS ONLINE 1541-4922 2005 Pubished by the IEEE Computer Society Vo. 6, No. 5; May 2005 Editor: Marcin Paprzycki, http://www.cs.okstate.edu/%7emarcin/ Book Reviews: Java Toos and Frameworks

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow some of which may not appy your account Some of these may

More information

NCH Software Express Accounts Accounting Software

NCH Software Express Accounts Accounting Software NCH Software Express Accounts Accounting Software This user guide has been created for use with Express Accounts Accounting Software Version 5.xx NCH Software Technica Support If you have difficuties using

More information

INDUSTRIAL AND COMMERCIAL

INDUSTRIAL AND COMMERCIAL Finance TM NEW YORK CITY DEPARTMENT OF FINANCE TAX & PARKING PROGRAM OPERATIONS DIVISION INDUSTRIAL AND COMMERCIAL ABATEMENT PROGRAM PRELIMINARY APPLICATION AND INSTRUCTIONS Mai to: NYC Department of Finance,

More information

NCH Software MoneyLine

NCH Software MoneyLine NCH Software MoneyLine This user guide has been created for use with MoneyLine Version 2.xx NCH Software Technica Support If you have difficuties using MoneyLine pease read the appicabe topic before requesting

More information

ELECTRONIC FUND TRANSFERS. l l l. l l. l l l. l l l

ELECTRONIC FUND TRANSFERS. l l l. l l. l l l. l l l Program Organization = Number "1060" = Type "123342" = "ETM2LAZCD" For = "502859" "TCCUS" "" Name "WK Number = Name "First "1001" = "1" Eectronic = "1001" = Financia "Jane Funds Doe" Northwest Xfer PG1

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l l. l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l l. l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow, some of which may not appy your account Some of these

More information

Human Capital & Human Resources Certificate Programs

Human Capital & Human Resources Certificate Programs MANAGEMENT CONCEPTS Human Capita & Human Resources Certificate Programs Programs to deveop functiona and strategic skis in: Human Capita // Human Resources ENROLL TODAY! Contract Hoder Contract GS-02F-0010J

More information

Avaya Remote Feature Activation (RFA) User Guide

Avaya Remote Feature Activation (RFA) User Guide Avaya Remote Feature Activation (RFA) User Guide 03-300149 Issue 5.0 September 2007 2007 Avaya Inc. A Rights Reserved. Notice Whie reasonabe efforts were made to ensure that the information in this document

More information

A Description of the California Partnership for Long-Term Care Prepared by the California Department of Health Care Services

A Description of the California Partnership for Long-Term Care Prepared by the California Department of Health Care Services 2012 Before You Buy A Description of the Caifornia Partnership for Long-Term Care Prepared by the Caifornia Department of Heath Care Services Page 1 of 13 Ony ong-term care insurance poicies bearing any

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l. l l. l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l. l l. l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow some of which may not appy your account Some of these may

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow, some of which may not appy your account Some of these

More information

Normalization of Database Tables. Functional Dependency. Examples of Functional Dependencies: So Now what is Normalization? Transitive Dependencies

Normalization of Database Tables. Functional Dependency. Examples of Functional Dependencies: So Now what is Normalization? Transitive Dependencies ISM 602 Dr. Hamid Nemati Objectives The idea Dependencies Attributes and Design Understand concepts normaization (Higher-Leve Norma Forms) Learn how to normaize tabes Understand normaization and database

More information

Teach yourself Android application development - Part I: Creating Android products

Teach yourself Android application development - Part I: Creating Android products Teach yoursef Android appication deveopment - Part I: Creating Android products Page 1 of 7 Part of the EE Times Network A Artices Products Course TechPaper Webinars Login Register Wecome, Guest HOME DESIGN

More information

LADDER SAFETY Table of Contents

LADDER SAFETY Table of Contents Tabe of Contents SECTION 1. TRAINING PROGRAM INTRODUCTION..................3 Training Objectives...........................................3 Rationae for Training.........................................3

More information

Finance 360 Problem Set #6 Solutions

Finance 360 Problem Set #6 Solutions Finance 360 Probem Set #6 Soutions 1) Suppose that you are the manager of an opera house. You have a constant margina cost of production equa to $50 (i.e. each additiona person in the theatre raises your

More information

SNMP Reference Guide for Avaya Communication Manager

SNMP Reference Guide for Avaya Communication Manager SNMP Reference Guide for Avaya Communication Manager 03-602013 Issue 1.0 Feburary 2007 2006 Avaya Inc. A Rights Reserved. Notice Whie reasonabe efforts were made to ensure that the information in this

More information

Order-to-Cash Processes

Order-to-Cash Processes TMI170 ING info pat 2:Info pat.qxt 01/12/2008 09:25 Page 1 Section Two: Order-to-Cash Processes Gregory Cronie, Head Saes, Payments and Cash Management, ING O rder-to-cash and purchase-topay processes

More information

Chapter 2 Traditional Software Development

Chapter 2 Traditional Software Development Chapter 2 Traditiona Software Deveopment 2.1 History of Project Management Large projects from the past must aready have had some sort of project management, such the Pyramid of Giza or Pyramid of Cheops,

More information

Australian Bureau of Statistics Management of Business Providers

Australian Bureau of Statistics Management of Business Providers Purpose Austraian Bureau of Statistics Management of Business Providers 1 The principa objective of the Austraian Bureau of Statistics (ABS) in respect of business providers is to impose the owest oad

More information

NCH Software Warp Speed PC Tune-up Software

NCH Software Warp Speed PC Tune-up Software NCH Software Warp Speed PC Tune-up Software This user guide has been created for use with Warp Speed PC Tune-up Software Version 1.xx NCH Software Technica Support If you have difficuties using Warp Speed

More information

NCH Software Copper Point of Sale Software

NCH Software Copper Point of Sale Software NCH Software Copper Point of Sae Software This user guide has been created for use with Copper Point of Sae Software Version 1.xx NCH Software Technica Support If you have difficuties using Copper Point

More information

NCH Software FlexiServer

NCH Software FlexiServer NCH Software FexiServer This user guide has been created for use with FexiServer Version 1.xx NCH Software Technica Support If you have difficuties using FexiServer pease read the appicabe topic before

More information

WEBSITE ACCOUNT USER GUIDE SECURITY, PASSWORD & CONTACTS

WEBSITE ACCOUNT USER GUIDE SECURITY, PASSWORD & CONTACTS WEBSITE ACCOUNT USER GUIDE SECURITY, PASSWORD & CONTACTS Password Reset Process Navigate to the og in screen Seect the Forgot Password ink You wi be asked to enter the emai address you registered with

More information

Chapter 3: Investing: Your Options, Your Risks, Your Rewards

Chapter 3: Investing: Your Options, Your Risks, Your Rewards Chapter 3: Investing: Your Options, Your Risks, Your Rewards Page 1 of 10 Chapter 3: Investing: Your Options, Your Risks, Your Rewards In This Chapter What is inside a mutua fund? What is a stock? What

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow some of which may not appy your account Some of these may

More information

NCH Software PlayPad Media Player

NCH Software PlayPad Media Player NCH Software PayPad Media Payer This user guide has been created for use with PayPad Media Payer Version 2.xx NCH Software Technica Support If you have difficuties using PayPad Media Payer pease read the

More information

CUSTOM. Putting Your Benefits to Work. COMMUNICATIONS. Employee Communications Benefits Administration Benefits Outsourcing

CUSTOM. Putting Your Benefits to Work. COMMUNICATIONS. Employee Communications Benefits Administration Benefits Outsourcing CUSTOM COMMUNICATIONS Putting Your Benefits to Work. Empoyee Communications Benefits Administration Benefits Outsourcing Recruiting and retaining top taent is a major chaenge facing HR departments today.

More information

Design Considerations

Design Considerations Chapter 2: Basic Virtua Private Network Depoyment Page 1 of 12 Chapter 2: Basic Virtua Private Network Depoyment Before discussing the features of Windows 2000 tunneing technoogy, it is important to estabish

More information

How to Cut Health Care Costs

How to Cut Health Care Costs How to Cut Heath Care Costs INSIDE: TEN TIPS FOR MEDICARE BENEFICIARIES What is one of the biggest financia surprises in retirement? Heath care costs. It s a growing concern among many Medicare beneficiaries,

More information

Older people s assets: using housing equity to pay for health and aged care

Older people s assets: using housing equity to pay for health and aged care Key words: aged care; retirement savings; reverse mortgage; financia innovation; financia panning Oder peope s assets: using housing equity to pay for heath and aged care The research agenda on the ageing

More information

Life Contingencies Study Note for CAS Exam S. Tom Struppeck

Life Contingencies Study Note for CAS Exam S. Tom Struppeck Life Contingencies Study Note for CAS Eam S Tom Struppeck (Revised 9/19/2015) Introduction Life contingencies is a term used to describe surviva modes for human ives and resuting cash fows that start or

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l. l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l. l l. l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow, some of which may not appy your account Some of these

More information

WHITE PAPER BEsT PRAcTIcEs: PusHIng ExcEl BEyond ITs limits WITH InfoRmATIon optimization

WHITE PAPER BEsT PRAcTIcEs: PusHIng ExcEl BEyond ITs limits WITH InfoRmATIon optimization Best Practices: Pushing Exce Beyond Its Limits with Information Optimization WHITE Best Practices: Pushing Exce Beyond Its Limits with Information Optimization Executive Overview Microsoft Exce is the

More information

Teamwork. Abstract. 2.1 Overview

Teamwork. Abstract. 2.1 Overview 2 Teamwork Abstract This chapter presents one of the basic eements of software projects teamwork. It addresses how to buid teams in a way that promotes team members accountabiity and responsibiity, and

More information

With the arrival of Java 2 Micro Edition (J2ME) and its industry

With the arrival of Java 2 Micro Edition (J2ME) and its industry Knowedge-based Autonomous Agents for Pervasive Computing Using AgentLight Fernando L. Koch and John-Jues C. Meyer Utrecht University Project AgentLight is a mutiagent system-buiding framework targeting

More information

TERM INSURANCE CALCULATION ILLUSTRATED. This is the U.S. Social Security Life Table, based on year 2007.

TERM INSURANCE CALCULATION ILLUSTRATED. This is the U.S. Social Security Life Table, based on year 2007. This is the U.S. Socia Security Life Tabe, based on year 2007. This is avaiabe at http://www.ssa.gov/oact/stats/tabe4c6.htm. The ife eperiences of maes and femaes are different, and we usuay do separate

More information

The Web Insider... The Best Tool for Building a Web Site *

The Web Insider... The Best Tool for Building a Web Site * The Web Insider... The Best Too for Buiding a Web Site * Anna Bee Leiserson ** Ms. Leiserson describes the types of Web-authoring systems that are avaiabe for buiding a site and then discusses the various

More information

Example of Credit Card Agreement for Bank of America Visa Signature and World MasterCard accounts

Example of Credit Card Agreement for Bank of America Visa Signature and World MasterCard accounts Exampe of Credit Card Agreement for Bank of America Visa Signature and Word MasterCard accounts PRICING INFORMATION Actua pricing wi vary from one cardhoder to another Annua Percentage Rates for Purchases

More information

How To Protect Yoursef Onine From Being Hacked Onine

How To Protect Yoursef Onine From Being Hacked Onine Onine Security Savings What is onine security? This booket is designed to make you aware of some of the atest threats that exist when managing your money onine so you can protect your money in the same

More information

Network/Communicational Vulnerability

Network/Communicational Vulnerability Automated teer machines (ATMs) are a part of most of our ives. The major appea of these machines is convenience The ATM environment is changing and that change has serious ramifications for the security

More information

Secure Network Coding with a Cost Criterion

Secure Network Coding with a Cost Criterion Secure Network Coding with a Cost Criterion Jianong Tan, Murie Médard Laboratory for Information and Decision Systems Massachusetts Institute of Technoogy Cambridge, MA 0239, USA E-mai: {jianong, medard}@mit.edu

More information

PENALTY TAXES ON CORPORATE ACCUMULATIONS

PENALTY TAXES ON CORPORATE ACCUMULATIONS H Chapter Six H PENALTY TAXES ON CORPORATE ACCUMULATIONS INTRODUCTION AND STUDY OBJECTIVES The accumuated earnings tax and the persona hoding company tax are penaty taxes designed to prevent taxpayers

More information

On-Line Banking Application

On-Line Banking Application OnLine Banking Appication 1st Name: SSN/Tax ID #: Work Phone: City born in: Fax: Mother's Maiden Name: Emai Address: 2nd Name: SSN/ax ID#: Work Phone: City born in: Fax: Mother's Maiden Name: Emai Address:

More information

NCH Software BroadCam Video Streaming Server

NCH Software BroadCam Video Streaming Server NCH Software BroadCam Video Streaming Server This user guide has been created for use with BroadCam Video Streaming Server Version 2.xx NCH Software Technica Support If you have difficuties using BroadCam

More information

A practical guide to personal financial advice Finding the right financial adviser and advice that works for you. Getting advice

A practical guide to personal financial advice Finding the right financial adviser and advice that works for you. Getting advice A practica guide to persona financia advice Finding the right financia adviser and advice that works for you Getting advice About ASIC The Austraian Securities and Investments Commission (ASIC) reguates

More information

Best Practices for Push & Pull Using Oracle Inventory Stock Locators. Introduction to Master Data and Master Data Management (MDM): Part 1

Best Practices for Push & Pull Using Oracle Inventory Stock Locators. Introduction to Master Data and Master Data Management (MDM): Part 1 SPECIAL CONFERENCE ISSUE THE OFFICIAL PUBLICATION OF THE Orace Appications USERS GROUP spring 2012 Introduction to Master Data and Master Data Management (MDM): Part 1 Utiizing Orace Upgrade Advisor for

More information

ADVANCED ACCOUNTING SOFTWARE FOR GROWING BUSINESSES

ADVANCED ACCOUNTING SOFTWARE FOR GROWING BUSINESSES ADVANCED ACCOUNTING SOFTWARE FOR GROWING BUSINESSES Product Features 1. System 2. Saes Ledger Unimited companies with password protection User security Muti-user system: 1 user comes as standard, up to

More information

2013 Course Technology, Cengage Learning

2013 Course Technology, Cengage Learning Licensed to: CengageBrain User This is an eectronic version of the print textbook. Due to eectronic rights restrictions, some third party content may be suppressed. Editoria review has deemed that any

More information

Application and Desktop Virtualization

Application and Desktop Virtualization Appication and Desktop Virtuaization Content 1) Why Appication and Desktop Virtuaization 2) Some terms reated to vapp and vdesktop 3) Appication and Desktop Deivery 4) Appication Virtuaization 5)- Type

More information

Income Protection Options

Income Protection Options Income Protection Options Poicy Conditions Introduction These poicy conditions are written confirmation of your contract with Aviva Life & Pensions UK Limited. It is important that you read them carefuy

More information

Introduction to XSL. Max Froumentin - W3C

Introduction to XSL. Max Froumentin - W3C Introduction to XSL Max Froumentin - W3C Introduction to XSL XML Documents Stying XML Documents XSL Exampe I: Hamet Exampe II: Mixed Writing Modes Exampe III: database Other Exampes How do they do that?

More information

Information Systems Technician Training Series

Information Systems Technician Training Series NONRESIDENT TRAINING COURSE August 1997 Information Systems Technician Training Series Modue 2 Computer Systems NAVEDTRA 14223 NOTICE Any reference within this modue to Radioman or the former Radioman

More information

Welcome to Colonial Voluntary Benefits. Thank you for your interest in our Universal Life with the Accelerated Death Benefit for Long Term Care Rider.

Welcome to Colonial Voluntary Benefits. Thank you for your interest in our Universal Life with the Accelerated Death Benefit for Long Term Care Rider. Heo, Wecome to Coonia Vountary Benefits. Thank you for your interest in our Universa Life with the Acceerated Death Benefit for Long Term Care Rider. For detai pease ca 877-685-2656. Pease eave your name,

More information

PREFACE. Comptroller General of the United States. Page i

PREFACE. Comptroller General of the United States. Page i - I PREFACE T he (+nera Accounting Office (GAO) has ong beieved that the federa government urgenty needs to improve the financia information on which it bases many important decisions. To run our compex

More information

Let s get usable! Usability studies for indexes. Susan C. Olason. Study plan

Let s get usable! Usability studies for indexes. Susan C. Olason. Study plan Let s get usabe! Usabiity studies for indexes Susan C. Oason The artice discusses a series of usabiity studies on indexes from a systems engineering and human factors perspective. The purpose of these

More information

A Conversation with enx@pacbell.net enx@pacbell.net www.enxmag.com

A Conversation with enx@pacbell.net enx@pacbell.net www.enxmag.com The #1 Sourcing Pubication in the Document Imaging Industry The #1 Sourcing Voume 11 Pubication No.7 in the Document Imaging Industry The #1 Sourcing Pubication in the Document Imaging Industry Sourcing

More information

Benefits That Count. Colonial Life is the proud sponsor of SHRM s Annual Employee Benefits Survey. coloniallife.com

Benefits That Count. Colonial Life is the proud sponsor of SHRM s Annual Employee Benefits Survey. coloniallife.com Benefits That Count Coonia Life is the proud sponsor of SHRM s Annua Empoyee Benefits Survey cooniaife.com 1 Dear Empoyer: Randa C. Horn President & CEO Coonia Life & Accident Insurance Company 1200 Coonia

More information

Business schools are the academic setting where. The current crisis has highlighted the need to redefine the role of senior managers in organizations.

Business schools are the academic setting where. The current crisis has highlighted the need to redefine the role of senior managers in organizations. c r o s os r oi a d s REDISCOVERING THE ROLE OF BUSINESS SCHOOLS The current crisis has highighted the need to redefine the roe of senior managers in organizations. JORDI CANALS Professor and Dean, IESE

More information

Protection Against Income Loss During the First 4 Months of Illness or Injury *

Protection Against Income Loss During the First 4 Months of Illness or Injury * Protection Against Income Loss During the First 4 Months of Iness or Injury * This note examines and describes the kinds of income protection that are avaiabe to workers during the first 6 months of iness

More information

mi-rm mi-recruitment Manager the recruitment solution for Talent Managers everywhere

mi-rm mi-recruitment Manager the recruitment solution for Talent Managers everywhere mi-rm mi-recruitme Manager the recruitme soution for Tae Managers everywhere mi-rm mi-recruitme Manager Your very own tae manager First Choice Software has been a eading suppier of recruitme software since

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l l

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES. l l l ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow, some of which may not appy your account Some of these

More information

Technical Support Guide for online instrumental lessons

Technical Support Guide for online instrumental lessons Technica Support Guide for onine instrumenta essons This is a technica guide for Music Education Hubs, Schoos and other organisations participating in onine music essons. The guidance is based on the technica

More information

A guide to understanding Childcare Proceedings

A guide to understanding Childcare Proceedings A guide to understanding Chidcare Proceedings About this guide Care Proceedings are one of the most traumatic and emotiona episodes that can happen in anyone s ife. When Chidren s Services (formery Socia

More information

Preschool Services Under IDEA

Preschool Services Under IDEA Preschoo Services Under IDEA W e don t usuay think of Specific Learning Disabiities in connection with chidren beow schoo age. When we think about chidren age birth to six, we think first of their earning

More information

A short guide to making a medical negligence claim

A short guide to making a medical negligence claim A short guide to making a medica negigence caim Introduction Suffering from an incident of medica negigence is traumatic and can have a serious ong-term impact on both the physica and menta heath of affected

More information

CONTRIBUTION OF INTERNAL AUDITING IN THE VALUE OF A NURSING UNIT WITHIN THREE YEARS

CONTRIBUTION OF INTERNAL AUDITING IN THE VALUE OF A NURSING UNIT WITHIN THREE YEARS Dehi Business Review X Vo. 4, No. 2, Juy - December 2003 CONTRIBUTION OF INTERNAL AUDITING IN THE VALUE OF A NURSING UNIT WITHIN THREE YEARS John N.. Var arvatsouakis atsouakis DURING the present time,

More information

Integrating Risk into your Plant Lifecycle A next generation software architecture for risk based

Integrating Risk into your Plant Lifecycle A next generation software architecture for risk based Integrating Risk into your Pant Lifecyce A next generation software architecture for risk based operations Dr Nic Cavanagh 1, Dr Jeremy Linn 2 and Coin Hickey 3 1 Head of Safeti Product Management, DNV

More information

NCH Software Bolt PDF Printer

NCH Software Bolt PDF Printer NCH Software Bot PDF Printer This user guide has been created for use with Bot PDF Printer Version 1.xx NCH Software Technica Support If you have difficuties using Bot PDF Printer pease read the appicabe

More information

I m pretty lucky as far as teen librarians

I m pretty lucky as far as teen librarians feature Hot Spot: Teen Tech Week Onine Marketing Strategies for Reaching Today s Teens By Laura Peowski Horn I m pretty ucky as far as teen ibrarians go. The ibrary I work at is right next to the ony high

More information

Fast Robust Hashing. ) [7] will be re-mapped (and therefore discarded), due to the load-balancing property of hashing.

Fast Robust Hashing. ) [7] will be re-mapped (and therefore discarded), due to the load-balancing property of hashing. Fast Robust Hashing Manue Urueña, David Larrabeiti and Pabo Serrano Universidad Caros III de Madrid E-89 Leganés (Madrid), Spain Emai: {muruenya,darra,pabo}@it.uc3m.es Abstract As statefu fow-aware services

More information

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES

ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES ELECTRONIC FUND TRANSFERS YOUR RIGHTS AND RESPONSIBILITIES The Eectronic Fund Transfers we are capabe of handing for consumers are indicated beow, some of which may not appy your account Some of these

More information

RFID Radio Frequency IDentification

RFID Radio Frequency IDentification RFID Radio Frequency IDentification By: Jeremy Yager RFID - Overview RFID, as the name suggests, uses RF devices to communicate identification information. This is achieved by using sma devices known as

More information

Health Savings Account 2013 2014 reference guide

Health Savings Account 2013 2014 reference guide Heath Savings Account 2013 2014 reference guide Information at your fingertips This ist of chapters and page numbers wi hep you find the information you need quicky. A detaied ist of sections and topics

More information

Key Features of the Term Assurance (with options) For use in business protection planning

Key Features of the Term Assurance (with options) For use in business protection planning Key Features of the Term Assurance (with options) For use in business protection panning Term Assurance (with options) Key features The Financia Conduct Authority is a financia services reguator. It requires

More information

INTERNATIONAL PAYMENT INSTRUMENTS

INTERNATIONAL PAYMENT INSTRUMENTS INTERNATIONAL PAYMENT INSTRUMENTS Dr Nguyen Minh Duc 2009 1 THE INTERNATIONAL CHAMBER OF COMMERCE THE ICC AT A GLANCE represent the word business community at nationa and internationa eves promotes word

More information

History of Stars and Rain Education Institute for Autism (Stars and Rain)

History of Stars and Rain Education Institute for Autism (Stars and Rain) History of Education Institute for Autism () Estabished:: March 15. 1993 in Beijing Founder:: Ms. Tian Huiping (mother of a boy with autism) STARS AND RAIN was founded in 1993 by a parent and is China

More information

Law Libraries in the Cloud **

Law Libraries in the Cloud ** LAW LIBRARY JOURNAL Vo. 101:2 [2009-15] Technoogy for Everyone... * Law Libraries in the Coud ** Diane Murey *** Ms. Murey provides an overview of the meanings of coud computing and software as a service,

More information

Breakeven analysis and short-term decision making

Breakeven analysis and short-term decision making Chapter 20 Breakeven anaysis and short-term decision making REAL WORLD CASE This case study shows a typica situation in which management accounting can be hepfu. Read the case study now but ony attempt

More information

Key Features and Terms & Conditions of the Stocks & Shares Junior ISA

Key Features and Terms & Conditions of the Stocks & Shares Junior ISA June 2013 Key Features and Terms & Conditions of the This document shoud be read in conjunction with an up-to-date Key Investor Information Document (KIID) for the fund in which you want to invest. You

More information

DOING BUSINESS WITH THE REGION OF PEEL A GUIDE FOR NEW AND CURRENT VENDORS

DOING BUSINESS WITH THE REGION OF PEEL A GUIDE FOR NEW AND CURRENT VENDORS DOING BUSINESS WITH THE REGION OF PEEL A GUIDE FOR NEW AND CURRENT VENDORS TABLE OF CONTENTS INTRODUCTION... 1 GOVERNANCE... 1 COMMONLY PURCHASED GOODS AND SERVICES... 1 HOW TO REGISTER YOUR COMPANY...

More information

MOS 2013 Study Guide. Microsoft Excel EXAM 77-420. Microsoft IT Academy

MOS 2013 Study Guide. Microsoft Excel EXAM 77-420. Microsoft IT Academy MOS 2013 Study Guide EXAM 77-420 Microsoft Exce Microsoft IT Academy Lambert Note This content aso pubished as MOS 2013 Study Guide for Exce spine =.39 Avaiabe at your favorite bookseers ISBN 978-0-7356-6920-8

More information

The width of single glazing. The warmth of double glazing.

The width of single glazing. The warmth of double glazing. Therma Insuation CI/SfB (31) Ro5 (M5) September 2012 The width of singe gazing. The warmth of doube gazing. Pikington Spacia Revoutionary vacuum gazing. Image courtesy of Lumen Roofight Ltd. Pikington

More information

Delhi Business Review X Vol. 4, No. 2, July - December 2003. Mohammad Talha

Delhi Business Review X Vol. 4, No. 2, July - December 2003. Mohammad Talha Dehi Business Review X Vo. 4, No. 2, Juy - December 2003 TREATMENT TMENT OF GOODWILL IN ACCOUNTING Mohammad Taha GOODWILL is usuay ony recorded in an accounting system when a company purchases an unincorporated

More information

1B11 Operating Systems. Input/Output and Devices

1B11 Operating Systems. Input/Output and Devices University Coege London 1B11 Operating Systems Input/Output and s Prof. Steve R Wibur s.wibur@cs.uc.ac.uk Lecture Objectives How do the bits of the I/O story fit together? What is a device driver? 1B11-5

More information

Design and Analysis of a Hidden Peer-to-peer Backup Market

Design and Analysis of a Hidden Peer-to-peer Backup Market Design and Anaysis of a Hidden Peer-to-peer Backup Market Sven Seuken, Denis Chares, Max Chickering, Mary Czerwinski Kama Jain, David C. Parkes, Sidd Puri, and Desney Tan December, 2015 Abstract We present

More information

DISPLAYING NASDAQ LEVEL II DATA

DISPLAYING NASDAQ LEVEL II DATA 14 NASDAQ LEVEL II windows et you view Leve II data for NAS- DAQ stocks. Figure 14-1 is an exampe of a NASDAQ Leve II window. Figure 14-1. NASDAQ Leve II Window Exampe Information in Leve II windows is

More information

Health Savings Account 2014-2015 reference guide

Health Savings Account 2014-2015 reference guide Heath Savings Account 2014-2015 reference guide www.seectaccount.com Information at your fingertips This ist of chapters and page numbers wi hep you find the information you need quicky. A detaied ist

More information