Programming Logic and Design, Comprehensive 9th Edition Joyce Farrell - Ebook PDF Ebook All Chapters PDF
Programming Logic and Design, Comprehensive 9th Edition Joyce Farrell - Ebook PDF Ebook All Chapters PDF
com
https://ebooksecure.com/download/programming-
logic-and-design-comprehensive-9th-edition-ebook-
pdf/
https://ebooksecure.com/download/programming-logic-and-design-
comprehensive-9th-edition-ebook-pdf/
ebooksecure.com
https://ebooksecure.com/download/java-programming-ebook-pdf/
ebooksecure.com
https://ebooksecure.com/product/ebook-pdf-programming-logic-design-
comprehensive-9th-edition/
ebooksecure.com
https://ebooksecure.com/product/ebook-pdf-statistics-11th-edition-by-
robert-s-witte/
ebooksecure.com
https://ebooksecure.com/product/ebook-pdf-traditions-encounters-a-
brief-global-history-4th-edition/
ebooksecure.com
https://ebooksecure.com/product/ebook-pdf-managerial-economics-
organizational-architecture-6th/
ebooksecure.com
https://ebooksecure.com/product/ebook-pdf-tourism-impacts-planning-
and-management-3rd-edition/
ebooksecure.com
(eBook PDF) THINK Sociology, Second 2nd Canadian Edition
by John D. Carl
https://ebooksecure.com/product/ebook-pdf-think-sociology-second-2nd-
canadian-edition-by-john-d-carl/
ebooksecure.com
PROGRAMMING LOGIC
AND DESIGN
COMPREHENSIVE
NINTH EDITION
PROGRAMMING LOGIC
AND DESIGN
COMPREHENSIVE
JOYCE FARRELL
Australia • Brazil • Japan • Korea • Mexico • Singapore • Spain • United Kingdom • United States
Programming Logic and Design, © 2018 Cengage Learning®
Comprehensive
ALL RIGHTS RESERVED. No part of this work covered by the
Ninth Edition
copyright herein may be reproduced or distributed in any form
Joyce Farrell
or by any means, except as permitted by U.S. copyright law,
Senior Product Director: without the prior written permission of the copyright owner.
Kathleen McMahon
For product information and technology assistance, contact us at
Product Team Leader: Kristin McNary
Cengage Learning Customer & Sales Support, 1-800-354-9706
Associate Product Manager: Kate Mason
For permission to use material from this text or product,
Senior Content Developer: Alyssa Pratt submit all requests online at www.cengage.com/permissions
Senior Content Project Manager: Further permissions questions can be emailed to
permissionrequest@cengage.com
Jennifer Feltri-George
Manufacturing Planner: Julio Esperas
Art Director: Diana Graham Library of Congress Control Number: 2016959742
Production Service/Composition: ISBN: 978-1-337-10207-0
SPi Global
Cover Photo: Cengage Learning
Colormos/Photodisc/Getty Images 20 Channel Center Street
Boston, MA 02210
USA
Pref ace ���������� ����� � ����� ��� � ����� ��� ��� ������ � ����� xvi
Pref ace ���������� ����� � ����� ��� � ����� ��� ��� ������ � ����� xvi
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
CONTENTS
CHAPTER 4 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 ix
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 � ������ ����� ��� � �� ��� ���� �� ��� � ��� �� ��� ��� � �� �� 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
CONTENTS
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
CONTENTS
CHAPTER 9 Advan ced M o dul ari z ati on Techni ques ����� � �� �� 366
The Parts of a Method ��������������������������������������������������� 367
Using Methods with no Parameters ���������������������������������� 368
Creating Methods that Require Parameters������������������������ 371
Creating Methods that Require Multiple Parameters ��������� 377
Creating Methods that Return a Value������������������������������� 379
Using an IPO Chart������������������������������������������������������ 384
Passing an Array to a Method������������������������������������������ 386
Overloading Methods������������������������������������������������������ 394
Avoiding Ambiguous Methods ��������������������������������������� 397
Using Predefined Methods ���������������������������������������������� 400
Method Design Issues: Implementation Hiding, Cohesion,
and Coupling��������������������������������������������������������������� 402
Understanding Implementation Hiding ���������������������������� 402
Increasing Cohesion ��������������������������������������������������� 403
Reducing Coupling������������������������������������������������������ 404
Understanding Recursion������������������������������������������������ 405
Visit https://testbankfan.com
now to explore a rich
collection of testbank or
solution manual and enjoy
exciting offers!
CONTENTS
CHAPTER 10 Object -Or ien t ed Programmi ng ����� ��� ��� ��� ��� �� 420
xii
Principles of Object-Oriented Programming������������������������ 421
Classes and Objects ��������������������������������������������������� 421
Polymorphism ������������������������������������������������������������ 424
Inheritance ���������������������������������������������������������������� 426
Encapsulation ������������������������������������������������������������ 426
Defining Classes and Creating Class Diagrams ������������������ 428
Creating Class Diagrams ��������������������������������������������� 430
The Set Methods��������������������������������������������������������� 433
The Get Methods��������������������������������������������������������� 434
Work Methods������������������������������������������������������������ 435
Understanding Public and Private Access��������������������������� 437
Organizing Classes��������������������������������������������������������� 440
Understanding Instance Methods ������������������������������������� 441
Understanding Static Methods������������������������������������������ 447
Using Objects ��������������������������������������������������������������� 448
Passing an Object to a Method ������������������������������������� 449
Returning an Object from a Method ������������������������������� 450
Using Arrays of Objects ���������������������������������������������� 453
Chapter Summary ��������������������������������������������������������� 455
Key Terms��������������������������������������������������������������������� 456
Exercises ��������������������������������������������������������������������� 458
Programming Logic and Design, Comprehensive, Ninth Edition, provides the beginning
programmer with a guide to developing structured program logic. This textbook assumes
no programming language experience. The writing is nontechnical and emphasizes
good programming practices. The examples are business examples; they do not assume
mathematical background beyond high school business math.
Additionally, the examples illustrate one or two major points; they do not contain so
many features that students become lost following irrelevant and extraneous details. The
examples in this book have been created to provide students with a sound background in
logic, no matter what programming languages they eventually use to write programs. This
book can be used in a stand-alone logic course that students take as a prerequisite to a
programming course, or as a companion book to an introductory programming text using
any programming language.
La jeune fille avait couvert son visage de ses deux mains comme
pour échapper à une vision terrible.
— Mais les jours de la Terreur sont bien loin, s’écria Pierre,
n’avez-vous rien su des événements publics ? L’écho des rumeurs du
dehors n’est-il pas arrivé jusqu’à vous, ne fût-ce que par l’entremise
de votre fidèle ravitailleur ?
— Pendant plus d’un an, Quentin eut ordre de nous rapporter les
nouvelles qu’il tenait lui-même de son beau-frère. Mais, dès les
premiers jours du mois de février 1793, nous apprîmes que le 21
janvier de l’année qui venait de commencer, le roi avait été exécuté,
sur un jugement de la Convention. — « Quentin, déclara ma tante
sur un ton qui ne souffrait pas de réplique, Sa Majesté a cessé de
vivre. J’espère que vous ne vous attendez point à ce que nous nous
intéressions, en quelque façon, à tout ce qui peut, pourra ou
pourrait se passer dans une république. Il sera donc inutile
désormais de nous mettre au courant de ce que vous apprendrez,
des événements politiques. La France n’existe plus pour nous. Le
jour où Monseigneur le Dauphin rentrera en possession du trône de
saint Louis et d’Henri IV, vous nous préviendrez. »
— Et, depuis la mort du roi, votre tante, vos cousins ne se sont
jamais informés ?…
— Jamais.
— Mais… vous ?
— Oh ! moi, je n’ai pas le stoïcisme de ma tante et, comme
Quentin est incorruptible, j’ai souvent interrogé Barbe, sa femme…
mais elle n’est pas toujours bien renseignée. Quentin, qui ne pouvait
s’empêcher de raconter les atrocités de la Terreur, est devenu moins
communicatif depuis qu’après la chute et la mort de Robespierre,
une sorte d’apaisement s’est fait… Cet apaisement, il n’y croit guère
d’ailleurs. Il dit que tout va mal, que les Français dansent, depuis six
ans, sur des cendres mal éteintes… et il compare la Révolution au
chat Raminagrobis…
Le jeune homme ne put retenir un sourire.
— Ce brave Quentin me semble être par trop pessimiste,
mademoiselle, dit-il, et rien n’est plus réel que la paix dont la France
jouit à l’intérieur, en tout cas depuis le 18 brumaire de cette année…
je veux dire le 9 novembre de l’an 1799. Ce jour-là, le général
Bonaparte nous a délivrés du gouvernement assez méprisable, du
Directoire et a pris le pouvoir pour l’honneur de notre pays… Quentin
n’a pas omis cependant de vous parler du général Bonaparte ?
— Je crois bien, en effet, que Barbe m’a redit ce nom-là, fit
ingénument mademoiselle de Chanteraine, mais c’était à propos de
la guerre…
— Ce nom est aujourd’hui celui du chef de l’État, du Premier
Consul… Avec le gouvernement de Bonaparte, une ère nouvelle a
commencé… une ère de gloire, de justice, de véritable liberté.
Claude eut un petit mouvement d’impatience.
— Je vous demande pardon, mademoiselle, ajouta
respectueusement le colonel Fargeot, mais il faut que vous sachiez, il
faut que vos parents sachent que rien ne nécessite plus, ni pour eux,
ni pour vous, l’horrible captivité à laquelle eux et vous, vous vous
êtes condamnés… non rien ! Quoi de plus facile, en effet, que de
faire rayer de la liste des émigrés le nom de Chanteraine… puisque
vous pouvez prouver que les Chanteraine n’ont pas quitté la
France… Auraient-ils émigré d’ailleurs que… Mon Dieu,
mademoiselle, elle est déjà pleine de ratures cette triste liste ! Ce
que veut avant tout le Premier Consul, c’est la réconciliation des
partis, c’est la liberté pour tous… Ne seriez-vous pas heureuse,
mademoiselle — même sous un gouvernement républicain — de
prier dans une église, d’assister à la célébration de la messe…
Bonaparte veut aussi la liberté de la prière… Oh ! si vous pouviez
connaître les belles, les grandes choses que rêve cet homme
presque surhumain !
Les fins sourcils de mademoiselle de Chanteraine se froncèrent
de nouveau.
— Vous êtes un enthousiaste, monsieur, et vous avez sur moi,
dans une conversation de ce genre, la supériorité que vous donnent
des convictions personnelles, librement choisies et raisonnées… alors
que les miennes, toutes traditionnelles, me semblent d’autant plus
difficiles à discuter avec autrui que je les discute moins avec moi-
même… Aussi bien, je doute que, même assurée de n’avoir rien à
redouter du gouvernement actuel, ma tante de Chanteraine
consente à quitter cette retraite. Je ne vous la donne certes point
comme une héroïne… et je ne pense pas qu’elle ait jamais souhaité
de prouver sa foi par le martyre… mais elle n’en est pas moins
convaincue du caractère sacré des opinions qu’elle proclame, et,
comme elle se sent ici en sécurité, elle s’est faite à cette vie où elle
retrouve quelque chose du passé. Il lui plaît d’avoir arrêté à son
profit personnel la marche du temps et de se persuader qu’elle est
encore à l’an de grâce 1788… Il faudrait, j’imagine, avoir sur elle
beaucoup plus d’influence que je n’en puis prendre jamais, pour
l’arracher à cet état de stagnation qui lui est maintenant presque
cher… Elle connaîtrait la mort du pauvre petit Dauphin qu’elle
penserait avec autant de complaisance à Monseigneur le comte de
Provence ou à Monseigneur le comte d’Artois qu’au fils de Sa
Majesté le roi Louis XVI… Elle attend le Roi !…
Un grand désir vint à Pierre de dire : « Et vous, mademoiselle, qui
donc attendez-vous ? Est-ce au roi que votre sommeil rêve avec un si
tendre sourire ? Était-ce au roi que vous croyiez reprocher si
doucement d’avoir trop tardé à venir ? »
Mais il se garda, comme on peut le supposer, de se montrer aussi
indiscret.
— Vous êtes, en ce qui concerne les intentions de madame votre
tante, meilleur juge que moi, mademoiselle, répliqua-t-il. Permettez-
moi, cependant, de vous laisser mon nom. Sans être des familiers du
Premier Consul, j’ai, comme tout soldat très convaincu, très
passionné, quelque crédit auprès du général Bonaparte. Si vos
parents se résignaient jamais à solliciter la régularisation d’une
situation qui me semble fort pénible, et qu’en ce cas mon
intervention pût leur être utile, j’en serais bien heureux.
Pierre nota sur un carnet son nom, son grade et les
renseignements militaires qui constituaient son adresse en tout lieu,
puis il déchira la feuille qu’il venait d’écrire ainsi et la tendit à
mademoiselle de Chanteraine.
— Je vous remercie, monsieur Pierre Fargeot, dit-elle.
Et, les yeux fixés sur le papier, elle s’étonnait encore de trouver
tant de douceur et de courtoisie chez un soldat de la République, un
homme du peuple peut-être, en tout cas, un homme de très petite
naissance.
— Et moi, mademoiselle, reprit le jeune colonel, je vous remercie
de la confiance que vous avez bien voulu me témoigner et dont je
me sens singulièrement honoré…
Il s’arrêta un moment, regarda mademoiselle de Chanteraine,
puis, s’inclinant profondément devant elle :
— Adieu, mademoiselle, acheva-t-il.
Claude ne répondit pas ; alors, très peiné, l’officier fit un
mouvement pour s’éloigner ; mais, d’un geste léger, la jeune fille le
retint et, un peu hésitante, le visage rose soudain :
— Monsieur Fargeot, dit-elle, vous vous êtes arrêté à Chanteraine
parce que l’obscurité vous empêchait de continuer votre route… et le
jour est encore loin ; parce que vous vous sentiez las… et je n’ai pas
même pris soin de vous offrir un siège ; parce que la pluie tombait
et… entendez-vous l’eau rouler contre les vitres et sur les toits !… Ne
seriez-vous pas en droit, si vous quittiez à présent le château, de
regretter en nous maudissant, l’abri et le repos que vous eussiez
trouvés dans une demeure déserte ?… Et cependant les Chanteraine
n’ont jamais manqué au devoir de l’hospitalité !
Une lueur douce rayonna dans les yeux qui interrogeaient
anxieusement Claude.
— A dire vrai, monsieur le colonel, reprit-elle gentiment, je ne
vous conseillerais pas d’entrer sans crier gare dans le salon où ma
tante Charlotte tient en ce moment même sa cour… Peut-être
risqueriez-vous de n’y être pas beaucoup mieux reçu que… dans
celui-ci. Mais j’y serai, si vous voulez, votre introductrice et
j’apporterai, à la tâche de vous annoncer toute l’habileté dont je suis
capable… Je dirai, sans doute, que vous avez le malheur d’appartenir
aux armées de la République… en qualité de colonel, ce qui est une
circonstance aggravante… mais j’ajouterai que vous ne vous êtes
mêlé de la guerre qu’en soldat… que vous n’avez fait guillotiner
personne… Je pourrai le dire, n’est-ce pas ?
— Oh ! mademoiselle, en toute certitude !
— … que vous ne nous trahirez pas… et que même… que même,
par exemple, vous n’auriez pas voté la mort du roi… Je suis sûre que
vous ne l’auriez pas votée…
Pierre souriait.
— Non, mademoiselle… je ne crois pas. Et, tenez, j’ai entendu
dire à Bonaparte que cette exécution d’un roi, que la Constitution
même avait déclaré inviolable et irresponsable, ne pouvait être
considérée que comme un crime aussi odieux qu’inutile… Beaucoup
de républicains très sincères pensent ainsi.
— Je suis aise de ce que vous me dites. Mon plaidoyer n’en sera
que plus convaincu… et convaincant… Attendez-moi un instant ici…
Mademoiselle de Chanteraine avait disparu, légère sous les plis
d’une draperie. Une senteur grisante et douce venue de sa toilette,
tombée de ses cheveux blonds, demeurait après elle dans l’asile
coquet et suranné. Toutes les choses de forme fines et de nuances
tendres qu’on avait réunies là et que le temps y avait presque
immatérialisées semblaient s’être imprégnées de ce parfum qui leur
prêtait un peu d’âme… C’était parmi ces choses que Claude avait