144 45 2MB
English Pages [58] Year 2017
Get complete eBook Order by email at [email protected]
Get complete eBook Order by email at [email protected]
Get Complete eBook Download Link below for instant download
https://browsegrades.net/documents/2 86751/ebook-payment-link-for-instantdownload-after-payment Follow the Instructions for complete eBook Download by email.
omplete eBook Order by email at eztutorsource@hotmai
NINTH EDITION
PROGRAMMING LOGIC AND DESIGN INTRODUCTORY
JOYCE FARRELL
Australia • Brazil • Japan • Korea • Mexico • Singapore • Spain • United Kingdom • United States
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai
Brief Contents v
Pr ef ace � � � � � � � � � � � � � � � �
xvi
A n Over view o f Computers and Programmi ng � 1 Elem en t s o f High- Qual i ty Programs � � � � � 38 U n der s t an din g Structure � � � � � � � � � � 87 M ak in g Decis io ns � � � � � � � � � � � � 124 L oo pin g � � � � � � � � � � � � � � � � 176 Ar r ays � � � � � � � � � � � � � � � � � 227 File Han dlin g and Appl i cati ons � � � � � � 272
APPENDIX A
U nder s t an din g Numberi ng Sy stems a n d Co m pu t er Codes
APPENDIX B
� � � � � � � � � �
So lvin g Dif f icu lt Structuri ng Probl ems � � � Gl os s ar y � � � � � � � � � � � � � � � � I n dex � � � � � � � � � � � � � � � � �
321 329 338 353
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai
Contents vii
Pref ace ������� ��� �� ��� ��� ��� ���� �� ��� ��� ��� ������ ��� ��� xvi CHAPTER 1
An Over view of Computers and Programmi ng ��� 1 Understanding Computer Systems��������������������������������������� 2 Understanding Simple Program Logic ���������������������������������� 5 Understanding the Program Development Cycle��������������������� 8 Understanding the Problem ��������������������������������������������� 8 Planning the Logic ��������������������������������������������������������10 Coding the Program �����������������������������������������������������10 Using Software to Translate the Program into Machine Language ������������������������������������������������������������������11 Testing the Program �����������������������������������������������������12 Putting the Program into Production��������������������������������13 Maintaining the Program������������������������������������������������14 Using Pseudocode Statements and Flowchart Symbols ���������15 Writing Pseudocode ������������������������������������������������������15 Drawing Flowcharts ������������������������������������������������������17 Repeating Instructions ��������������������������������������������������19 Using a Sentinel Value to End a Program�����������������������������20 Understanding Programming and User Environments ������������23 Understanding Programming Environments�����������������������23 Understanding User Environments�����������������������������������25 Understanding the Evolution of Programming Models������������27 Chapter Summary �����������������������������������������������������������28 Key Terms�����������������������������������������������������������������������29 Exercises �����������������������������������������������������������������������32
CHAPTER 2
Elem en t s o f Hi gh- Qual i ty Programs ����� ��� ���� ��� 38 Declaring and Using Variables and Constants�����������������������39 Understanding Data Types ���������������������������������������������39 Understanding Unnamed, Literal Constants�����������������������39 Working with Variables ��������������������������������������������������40 Understanding a Declaration’s Data Type��������������������������41
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai CONTENTS Understanding a Declaration’s Identifier ���������������������������42 Assigning Values to Variables �����������������������������������������45 Declaring Named Constants��������������������������������������������46 Performing Arithmetic Operations ��������������������������������������47 The Integer Data Type ���������������������������������������������������50 Understanding the Advantages of Modularization �����������������51 Modularization Provides Abstraction��������������������������������52 Modularization Helps Multiple Programmers to Work on a Problem��������������������������������������������������������������53 Modularization Allows You to Reuse Work��������������������������53 Modularizing a Program ������������������������������������������������54 Declaring Variables and Constants within Modules�����������������58 Understanding the Most Common Configuration for Mainline Logic�����������������������������������������������������������60 Creating Hierarchy Charts ���������������������������������������������64 Features of Good Program Design��������������������������������������66 Using Program Comments ���������������������������������������������67 Choosing Identifiers������������������������������������������������������69 Designing Clear Statements��������������������������������������������71 Writing Clear Prompts and Echoing Input��������������������������72 Maintaining Good Programming Habits��������������������������������74 Chapter Summary �����������������������������������������������������������75 Key Terms�����������������������������������������������������������������������76 Exercises �����������������������������������������������������������������������79
viii
CHAPTER 3
U n der s t an din g Structure ����� � ����� ��� ��� ��� ���� ��� 87 The Disadvantages of Unstructured Spaghetti Code��������������88 Understanding the Three Basic Structures ��������������������������90 The Sequence Structure ������������������������������������������������90 The Selection Structure��������������������������������������������������91 The Loop Structure ������������������������������������������������������92 Combining Structures ���������������������������������������������������93 Using a Priming Input to Structure a Program�����������������������99 Understanding the Reasons for Structure��������������������������� 106 Recognizing Structure���������������������������������������������������� 107 Structuring and Modularizing Unstructured Logic ��������������� 110 Chapter Summary ��������������������������������������������������������� 115 Key Terms��������������������������������������������������������������������� 115 Exercises ��������������������������������������������������������������������� 117
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai CHAPTER 4
CONTENTS
M ak in g Decis ions ������ ��� ��� ��� � ����� ��� ��� ��� ���� � 124 The Selection Structure�������������������������������������������������� 125 Using Relational Comparison Operators ���������������������������� 129 Avoiding a Common Error with Relational Operators��������� 133 Understanding AND Logic������������������������������������������������ 134 Nesting AND Decisions for Efficiency ���������������������������� 137 Using the AND Operator ���������������������������������������������� 139 Avoiding Common Errors in an AND Selection������������������ 141 Understanding OR Logic ������������������������������������������������� 143 Writing OR Selections for Efficiency ������������������������������ 145 Using the OR Operator ������������������������������������������������ 147 Avoiding Common Errors in an OR Selection������������������� 147 Understanding NOT Logic������������������������������������������������ 153 Avoiding a Common Error in a NOT Expression ��������������� 154 Making Selections within Ranges ������������������������������������� 155 Avoiding Common Errors When Using Range Checks ������� 157 Understanding Precedence When Combining AND and OR Operators��������������������������������������������������� 160 Understanding the case Structure ���������������������������������� 163 Chapter Summary ��������������������������������������������������������� 165 Key Terms��������������������������������������������������������������������� 166 Exercises ��������������������������������������������������������������������� 167
CHAPTER 5 Lo o pin g
ix
��������� ��� ������ ��� ��� ��� � ����� ��� ��� ��� ���� � 176
Appreciating the Advantages of Looping ��������������������������� 177 Using a Loop Control Variable������������������������������������������ 179 Using a Definite Loop with a Counter������������������������������ 179 Using an Indefinite Loop with a Sentinel Value ���������������� 181 Understanding the Loop in a Program’s Mainline Logic������ 183 Nested Loops ��������������������������������������������������������������� 185 Avoiding Common Loop Mistakes ������������������������������������ 190 Mistake: Failing to Initialize the Loop Control Variable ������ 190 Mistake: Neglecting to Alter the Loop Control Variable������ 191 Mistake: Using the Wrong Type of Comparison When Testing the Loop Control Variable ������������������������������� 192 Mistake: Including Statements Inside the Loop Body that Belong Outside the Loop ������������������������������������� 194 Using a for Loop ���������������������������������������������������������� 199 Using a Posttest Loop ��������������������������������������������������� 201 Recognizing the Characteristics Shared by Structured Loops ���������������������������������������������������� 203
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai CONTENTS
Common Loop Applications��������������������������������������������� 205 Using a Loop to Accumulate Totals ������������������������������� 205 Using a Loop to Validate Data��������������������������������������� 209 Limiting a Reprompting Loop ��������������������������������������� 209 Validating a Data Type ������������������������������������������������ 212 Validating Reasonableness and Consistency of Data��������� 213 Comparing Selections and Loops������������������������������������� 214 Chapter Summary ��������������������������������������������������������� 218 Key Terms��������������������������������������������������������������������� 218 Exercises ��������������������������������������������������������������������� 220
x
CHAPTER 6
Ar r ays �� ������ ������ ������ ��� ��� ��� � ����� ��� ��� ��� ���� � 227 Storing Data in Arrays���������������������������������������������������� 228 How Arrays Occupy Computer Memory��������������������������� 228 How an Array Can Replace Nested Decisions��������������������� 231 Using Constants with Arrays ������������������������������������������� 238 Using a Constant as the Size of an Array������������������������ 238 Using Constants as Array Element Values ���������������������� 239 Using a Constant as an Array Subscript ������������������������� 239 Searching an Array for an Exact Match������������������������������ 240 Using Parallel Arrays������������������������������������������������������ 244 Improving Search Efficiency������������������������������������������ 248 Searching an Array for a Range Match������������������������������ 250 Remaining within Array Bounds���������������������������������������� 255 Understanding Array Size��������������������������������������������� 255 Understanding Subscript Bounds ���������������������������������� 255 Using a for Loop to Process an Array������������������������������ 258 Chapter Summary ��������������������������������������������������������� 260 Key Terms��������������������������������������������������������������������� 261 Exercises ��������������������������������������������������������������������� 261
CHAPTER 7
F ile Han dlin g and Appl i cati ons����� ��� ��� ��� ���� � 272 Understanding Computer Files ���������������������������������������� 273 Organizing Files ��������������������������������������������������������� 274 Understanding the Data Hierarchy������������������������������������ 275 Performing File Operations ��������������������������������������������� 277 Declaring a File Identifier��������������������������������������������� 277 Opening a File������������������������������������������������������������ 278 Reading Data from a File and Processing It��������������������� 278 Writing Data to a File��������������������������������������������������� 281 Closing a File������������������������������������������������������������� 281
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai CONTENTS
A Program that Performs File Operations Understanding Control Break Logic � � � � Merging Sequential Files � � � � � � � � � Master and Transaction File Processing � � Random Access Files � � � � � � � � � � Chapter Summary � � � � � � � � � � � � Key Terms � � � � � � � � � � � � � � � Exercises � � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � � � � � � � � � � � � � � �
� � 282 � � 285 � � 290 � � 299 � � 308 � � 309 � � 310 � �312
xi
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai CONTENTS
xiv
APPENDIX A
U n der s t an din g Numberi ng Sy stems an d Co m pu t er Codes � � � � � � � � � � 321
APPENDIX B
So lvin g Dif f icu l t Structuri ng Probl ems � � � 329 G los s ar y � � � � � � � � � � � � � � � � 338 I n dex � � � � � � � � � � � � � � � � � 353
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai
CHAPTER
An Overview of Computers and Programming
1
Upon completion of this chapter, you will be able to: Describe computer systems Understand simple program logic List the steps involved in the program development cycle Write pseudocode statements and draw flowchart symbols Use a sentinel value to end a program Understand programming and user environments Describe the evolution of programming models
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai CHAPTER 1
An Overview of Computers and Programming
Understanding Computer Systems
2
A computer system is a combination of all the components required to process and store data using a computer. Every computer system is composed of multiple pieces of hardware and software. •• Hardware is the equipment, or the physical devices, associated with a computer. For example, keyboards, mice, speakers, and printers are all hardware. The devices are manufactured differently for computers of varying sizes—for example, large mainframes, laptops, and very small devices embedded into products such as telephones, cars, and thermostats. The types of operations performed by differentsized computers, however, are very similar. Computer hardware needs instructions that control its operations, including 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 tells 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 download from the Web. For example, businesses use wordprocessing and accounting programs, and casual computer users enjoy programs that play music and games. Alternatively, you can write your own programs. When you write software instructions, you are programming. This book focuses on the programming process. Software can be classified into two broad types: •• Application software comprises all the programs you apply to a task, such as wordprocessing programs, spreadsheets, payroll and inventory programs, and games. When you hear people say they have “downloaded an app onto a mobile device,” they are simply using an abbreviation of application software. •• System software comprises the programs that you use to manage your computer, including operating systems such as Windows, Linux, or UNIX for larger computers and Google Android and Apple iOS for smartphones. This book focuses on the logic used to write application software programs, although many of the concepts apply to both types of software. Together, computer hardware and software accomplish three major operations in most programs: •• Input: Data items enter the computer system and are placed in memory, where they can be processed. Data items include all the text, numbers, and other raw material that are entered into and processed by a computer. Hardware devices that perform input operations include keyboards and mice. In business, many of the data items used are facts and figures about such entities as products, customers, and personnel. Data, however, also can include items such as images, sounds, and a user’s mouse or finger-swiping movements. •• Processing: Processing data items may involve organizing or sorting them, checking them for accuracy, or performing calculations with them. The hardware component that performs these types of tasks is the central processing unit, or CPU. Some devices, such as tablets and smartphones, usually contain multiple processors, and efficiently using several CPUs requires special programming techniques.
omplete eBook Order by email at eztutorsource@hotmai
omplete eBook Order by email at eztutorsource@hotmai Understanding Computer Systems
•• Output: After data items have been processed, the resulting information usually is sent to a printer, monitor, or some other output device so people can view, interpret, and use the results. Programming professionals often use the term data for input items, but use the term information for data items that have been processed and output. Sometimes you place output on storage devices, such as your hard drive, flash media, or a cloud-based device. (The cloud refers to devices at remote locations accessed through the Internet.) People cannot read data directly from these storage devices, but the devices hold information for later retrieval. When you send output to a storage device, sometimes it is used later as input for another program.
3
You write computer instructions in a computer programming language such as Visual Basic, C#, C++, or Java. Just as some people speak English and others speak Japanese, programmers write programs in different languages. Some programmers work exclusively in one language, whereas others know several and use the one that is best suited to the task at hand. The instructions you write using a programming language are called program code; when you write instructions, you are coding the program. Every programming language has rules governing its word usage and punctuation. These rules are called the language’s syntax. Mistakes in a language’s usage are syntax errors. If you ask, “How the geet too store do I?” in English, most people can figure out what you probably mean, even though you have not used proper English syntax—you have mixed up the word order, misspelled a word, and used an incorrect word. However, computers are not nearly as smart as most people; in this case, you might as well have asked the computer, “Xpu mxv ort dod nmcad bf B?” Unless the syntax is perfect, the computer cannot interpret the programming language instruction at all. Figure 1-1 shows how the statement that displays the word Hello on a single line on a computer monitor looks in some common programming languages. Notice that the syntax of some languages require that a statement start with an uppercase letter, while the syntax of others does not. Notice that some languages end statements with a semicolon, some with a period, and some with no ending punctuation at all. Also notice that different verbs are used to mean display, and that some are spelled like their like English word counterparts, while others like cout and System.out.println are not regular English words. The different formats you see are just a hint of the various syntaxes used by languages. Language
Statement that displays Hello on a single line
Java
System.out.println(“Hello);
C++
cout