100% found this document useful (1 vote)
16 views

Download ebooks file Programming Like a Pro for Teens 1st Edition Charles R. Hardnett all chapters

The document provides links to various educational ebooks aimed at teens, including titles on programming and classroom management. It features books like 'Programming Like a Pro for Teens' and 'Python Mastery,' along with information about the authors and their backgrounds. Additionally, it highlights the availability of instant digital downloads in multiple formats.

Uploaded by

asmaatoskaru
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
16 views

Download ebooks file Programming Like a Pro for Teens 1st Edition Charles R. Hardnett all chapters

The document provides links to various educational ebooks aimed at teens, including titles on programming and classroom management. It features books like 'Programming Like a Pro for Teens' and 'Python Mastery,' along with information about the authors and their backgrounds. Additionally, it highlights the availability of instant digital downloads in multiple formats.

Uploaded by

asmaatoskaru
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

Download the Full Version of the Ebook with Added Features ebookname.

com

Programming Like a Pro for Teens 1st Edition


Charles R. Hardnett

https://ebookname.com/product/programming-like-a-pro-for-
teens-1st-edition-charles-r-hardnett/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Game Programming for Teens Second Edition Maneesh Sethi

https://ebookname.com/product/game-programming-for-teens-second-
edition-maneesh-sethi/

ebookname.com

Python Mastery A Code Like a Pro Guide for Python


Beginners 1st Edition Jonathan Bates

https://ebookname.com/product/python-mastery-a-code-like-a-pro-guide-
for-python-beginners-1st-edition-jonathan-bates/

ebookname.com

Visual C Game Programming for Teens 1st Edition Jonathan


S. Harbour

https://ebookname.com/product/visual-c-game-programming-for-teens-1st-
edition-jonathan-s-harbour/

ebookname.com

1 2 3 Magic for Teachers Effective Classroom Discipline


Pre K through Grade 8 1st Edition Thomas W. Phelan Phd

https://ebookname.com/product/1-2-3-magic-for-teachers-effective-
classroom-discipline-pre-k-through-grade-8-1st-edition-thomas-w-
phelan-phd/
ebookname.com
Cliffs AP English Language and Composition 2nd Edition
Barbara V. Swovelin

https://ebookname.com/product/cliffs-ap-english-language-and-
composition-2nd-edition-barbara-v-swovelin/

ebookname.com

Lalita Trishati A Comprehensive Treatise 1st Edition V.


Ravi

https://ebookname.com/product/lalita-trishati-a-comprehensive-
treatise-1st-edition-v-ravi/

ebookname.com

The Spirit Paraclete in the Gospel of John George Johnston

https://ebookname.com/product/the-spirit-paraclete-in-the-gospel-of-
john-george-johnston/

ebookname.com

Heat treating including quenching and control of


distortion 1st Edition Fred Specht

https://ebookname.com/product/heat-treating-including-quenching-and-
control-of-distortion-1st-edition-fred-specht/

ebookname.com

The English Bible in the Early Modern World 1st Edition


Robert Armstrong

https://ebookname.com/product/the-english-bible-in-the-early-modern-
world-1st-edition-robert-armstrong/

ebookname.com
The Changing Face of Anti Semitism From Ancient Times to
the Present Day 1st Edition Walter Laqueur

https://ebookname.com/product/the-changing-face-of-anti-semitism-from-
ancient-times-to-the-present-day-1st-edition-walter-laqueur/

ebookname.com
Programming
Like a Pro
for Teens

Charles R. Hardnett

Course Technology PTR


A part of Cengage Learning

Australia . Brazil . Japan . Korea . Mexico . Singapore . Spain . United Kingdom . United States
Programming Like a Pro for Teens © 2012 Course Technology, a part of Cengage Learning.
Charles R. Hardnett ALL RIGHTS RESERVED. No part of this work covered by the copyright
Publisher and General Manager, herein may be reproduced, transmitted, stored, or used in any form or
Course Technology PTR: Stacy L. Hiquet by any means graphic, electronic, or mechanical, including but not
limited to photocopying, recording, scanning, digitizing, taping, Web
Associate Director of Marketing:
distribution, information networks, or information storage and retrieval
Sarah Panella
systems, except as permitted under Section 107 or 108 of the 1976
Manager of Editorial Services: United States Copyright Act, without the prior written permission of the
Heather Talbot publisher.
Marketing Manager: Mark Hughes
Senior Acquisitions Editor: Mitzi Koontz For product information and technology assistance, contact us at
Project/Copy Editor: Karen A. Gill Cengage Learning Customer & Sales Support, 1-800-354-9706.
Teen Reviewer: J. T. Hiquet For permission to use material from this text or product,
Technical Reviewer: Keith Davenport submit all requests online at www.cengage.com/permissions.
Further permissions questions can be emailed to
Interior Layout Tech: MPS Limited,
[email protected].
a Macmillan Company
Cover Designer: Mike Tanamachi
Indexer: Sharon Shock Microsoft, Windows, Internet Explorer, Visual Studio, Visual C++, and
Visual C++ Express are registered trademarks of Microsoft Corporation
Proofreader: Gene Redding in the United States and/or other countries.
Macintosh, Xcode, and Mac OS X are registered trademarks of Apple
Inc., registered in the U.S. and other countries.
All other trademarks are the property of their respective owners.
All images © Cengage Learning unless otherwise noted.

Library of Congress Control Number: 2011926541

ISBN-13: 978-1-4354-5924-3
ISBN-10: 1-4354-5924-5
eISBN-10: 1-4354-5925-3

Course Technology, a part of Cengage Learning


20 Channel Center Street
Boston, MA 02210
USA
Cengage Learning is a leading provider of customized learning solutions
with office locations around the globe, including Singapore, the United
Kingdom, Australia, Mexico, Brazil, and Japan. Locate your local office at:
international.cengage.com/region.
Cengage Learning products are represented in Canada by Nelson
Education, Ltd.
For your lifelong learning solutions, visit courseptr.com.
Visit our corporate website at cengage.com.

Printed by RR Donnelley. Crawfordsville, IN. 1st Ptg. 06/2011

Printed in the United States of America


1 2 3 4 5 6 7 13 12 11
I dedicate this book to my wife Felicia and my kids, Erin and
Charles Jr. (CJ), for encouraging me to write this book even when
the hours were getting long. I also dedicate this book to all my colleagues who
encouraged me to put forth a unique take on teaching computer programming.
Acknowledgments

This type of project does not happen without the help of others. I would like to
thank the following colleagues for their input as I developed ideas for this book:
Andrea Lawrence, Alfred R. Watkins, and Iretta B. Kearse.
I would also like to thank the entire staff at Course Technology and Cengage
Learning. In particular, I’d like to thank Mitzi Koontz for her project manage-
ment, Karen Gill for her awesome editing, J.T. Hiquet for his insightful input from
the teen perspective, and Keith Davenport for his technical comments and code
testing.
About the Author

Charles R. Hardnett has developed C++ software for more than 20 years and has
taught C++ programming courses to college and adult students for more than
15 years. After studying computer science at Prairie View A & M University and
Georgia Institute of Technology, he developed professional and high-end research
software in the areas of data communications, telecommunications, high-
performance compilers for parallel computers, and compilers for embedded
systems. He has taught computer science courses at Georgia Institute of Tech-
nology, Spelman College, and Gwinnett Technical College. Currently, he is
teaching at Gwinnett Technical College, developing mobile applications for
iPhone and Android phones, and managing his own nonprofit organization
called SMART Academy (www.smartacademyonline.org).
Charles currently resides in a suburb of Atlanta, Georgia, with his wife and two
children.
Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Chapter 1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


The Computer System: Hardware and Software . . . . . . . . . . . . . . . . 2
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
What Is a Programming Language? . . . . . . . . . . . . . . . . . . . . . . . . 12
The Elements of Programming Languages . . . . . . . . . . . . . . . . . . . 14
Software Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
A Professional’s Software Development Process . . . . . . . . . . . . . 18
A Beginner’s Software Development Process . . . . . . . . . . . . . . . 20
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Chapter 2 The Nature of the Problems and Solutions . . . . . . . . . . . 25


Problems, Problems, and More Problems . . . . . . . . . . . . . . . . . . . . 26
The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Representing Algorithms: Pseudocode . . . . . . . . . . . . . . . . . . . . 29
Representing Algorithms: Flowcharts . . . . . . . . . . . . . . . . . . . . . 40
Creating Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Preparing to Create Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . 44
How to Develop an Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 48
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

vi
Contents vii

Chapter 3 Introduction to the Core C++ Language . . . . . . . . . . . . . . 57


C++ Program Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Your First C++ Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
How Your Programs Execute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
The Core C++ Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
C++ Punctuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Representing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Sequential Statements in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Decision-Making Statements in C++ . . . . . . . . . . . . . . . . . . . . . . 81
Looping Statements in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Translating an Entire Algorithm to C++ . . . . . . . . . . . . . . . . . . . 86
Lists in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Chapter 4 Numerical Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97


Compound Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Compound Interest Mathematics . . . . . . . . . . . . . . . . . . . . . . . . 98
The Algorithm: Compound Interest . . . . . . . . . . . . . . . . . . . . . . 99
The C++ Program: Compound Interest . . . . . . . . . . . . . . . . . . . 100
C++ Feature: Formatted Output . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Computing the Square Root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Background: Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . 105
Algorithm: Computing the Square Root . . . . . . . . . . . . . . . . . . 107
The C++ Program: Computing the Square Root . . . . . . . . . . . . 108
C++ Feature: Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Functions as Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Functions in Pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Functions in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
C++ Feature: The Math Library . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
C++ Feature: Counting Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Chapter 5 Divide and Conquer . . . . . . . . . . . . . . . . . . . . . . . . . . . 123


Real-Life Illustrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Divide and Conquer in Computer Programming . . . . . . . . . . . . . . 125
Searching: Looking for Data . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Sorting: Putting Data in Order . . . . . . . . . . . . . . . . . . . . . . . . 138
viii Contents

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Chapter 6 Small-Scale Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


Problem 1: Paper, Scissors, Rock! . . . . . . . . . . . . . . . . . . . . . . . . . 150
Analyze the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Design the Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Implement in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
C++: Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
C++: Character Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
The C++ Program for Paper, Scissors, Rock . . . . . . . . . . . . . . . . 158
Problem 2: Demographic Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 163
Analyze the Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Design the Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
The C++ Solution for Demographic Analysis . . . . . . . . . . . . . . . 168
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Chapter 7 Top-Down Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181


Top-Down Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Example of Stepwise Refinement . . . . . . . . . . . . . . . . . . . . . . . . . 184
Determine the Names of the Players . . . . . . . . . . . . . . . . . . . . 185
Deal Two Cards to Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Allow Players to Take More Cards . . . . . . . . . . . . . . . . . . . . . . 193
Evaluate Hands for Winners . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Chapter 8 Bottom-Up Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201


Bottom-Up Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Bottom-Up Design Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Card Game Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Bottom-Up Design of Blackjack . . . . . . . . . . . . . . . . . . . . . . . . 206
Top-Down Versus Bottom-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Contents ix

Chapter 9 Medium-Scale Problems . . . . . . . . . . . . . . . . . . . . . . . . 217


Blackjack Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Data Representation: Single and Multidimensional Arrays . . . . . . . 219
Parallel Arrays in Other Languages . . . . . . . . . . . . . . . . . . . . . 219
Parallel Arrays in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Introduction to Multidimensional Array Concepts . . . . . . . . . . 221
Multidimensional Arrays in C++ . . . . . . . . . . . . . . . . . . . . . . . . 222
Functions: Pass-By-Reference in C++ . . . . . . . . . . . . . . . . . . . . . . . 225
The Complete Blackjack Functions in C++ . . . . . . . . . . . . . . . . . . . 230
Case Study: Expense Report Program . . . . . . . . . . . . . . . . . . . . . . 238
Introduction to Dynamic Memory Allocation Concepts . . . . . . . 242
Dynamic Memory Allocation in C++ . . . . . . . . . . . . . . . . . . . . . 243
Dynamic Memory Allocation in Expense Report . . . . . . . . . . . . 245
Records in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Defining Records in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Using Records in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Accessing Fields in C++ Records . . . . . . . . . . . . . . . . . . . . . . . . 249
Files in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
File Data Types in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
File Processing in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
File Error Handling in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Complete Expense Report Program . . . . . . . . . . . . . . . . . . . . . . . 255
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

Chapter 10 Introduction to Object-Oriented Design . . . . . . . . . . . . . 269


Overview of OOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
The Principles of OOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
OOP as Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Object-Oriented Design Process . . . . . . . . . . . . . . . . . . . . . . . . . . 277
The Blackjack Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
The OOD Process: Step 1 (Classes) . . . . . . . . . . . . . . . . . . . . . . 278
The OOD Process: Step 2 (Responsibilities) . . . . . . . . . . . . . . . . 282
The OOD Process: Step 3 (Interactions) . . . . . . . . . . . . . . . . . . 286
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
x Contents

Chapter 11 Object-Oriented Programming in C++: Part I . . . . . . . . . 291


Classes as Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Declaring a Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Defining Member Functions . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Creating and Using Instances of a Class . . . . . . . . . . . . . . . . . . 298
Accessing Members of the Class . . . . . . . . . . . . . . . . . . . . . . . 300
Initializing Data Members of the Class . . . . . . . . . . . . . . . . . . . 301
Deallocating Data Members of the Class . . . . . . . . . . . . . . . . . 304
Case Study: Cyber Bank Application . . . . . . . . . . . . . . . . . . . . . . . 307
Handling Multiple Source Code Files . . . . . . . . . . . . . . . . . . . . 307
Cyber Bank Application Sample Output . . . . . . . . . . . . . . . . . . 310
Cyber Bank Application Source Code . . . . . . . . . . . . . . . . . . . . 312
Case Study: The Fraction Data Type . . . . . . . . . . . . . . . . . . . . . . . 324
Example of Using the Fraction Data Type . . . . . . . . . . . . . . . . 325
Operator Overloading in C++ . . . . . . . . . . . . . . . . . . . . . . . . . 326
The Fraction Class Source Code . . . . . . . . . . . . . . . . . . . . . . . . 331
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344

Chapter 12 Object-Oriented Programming in C++: Part II . . . . . . . . . 347


Pointers to Objects . . . . . . . . . . . . . . . . ......... . . . . . . . . . . . 348
Accessing Class Members from an Array of Pointers . . . . . . . . . . . 349
Case Study: Cyber Bank with Multiuser . ......... . . . . . . . . . . . 350
Cyber Bank Version 2 in Action . . . . ......... . . . . . . . . . . . 352
Cyber Bank Version 2 Source Code . ......... . . . . . . . . . . . 356
Inheritance in C++ . . . . . . . . . . . . . . . . ......... . . . . . . . . . . . 367
Inheritance Examples . . . . . . . . . . . ......... . . . . . . . . . . . 367
Implementing Inheritance in C++ . . . ......... . . . . . . . . . . . 369
Summary . . . . . . . . . . . . . . . . . . . . . . . ......... . . . . . . . . . . . 382
Exercises . . . . . . . . . . . . . . . . . . . . . . . ......... . . . . . . . . . . . 382

Appendix: Installing Development Software . . . . . . . . . . . . . . . . . . . . 385

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Introduction

Hello, world! I like using this greeting for my books about computer program-
ming. It’s tradition in computer programming to introduce a programming
language by writing a Hello World program. The program simply outputs the
words Hello World. A website is devoted to storing the Hello World programs for
programming languages, located at www.roesler-ac.de/wolfram/hello.htm.
There are many programming languages in the world; the aforementioned
website boasts that it has more than 400 languages represented as Hello World
programs, and that number is rising. An organization called ACM History of
Programming Languages (HOPL) hosts conferences and produces journals for
anyone interested in studying the history and genealogy of programming lan-
guages. This website, found at http://hopl.murdoch.edu.au/, has a list of more
than 8,000 programming languages! Even more surprisingly, that astounding
number of programming languages was developed in a relatively short amount of
time. If you assume that the first programming languages were invented in the late
19th century, then on average about 50 languages are being created per year, or
around 1 per week!
No matter how many programming languages there are, they all have a common
purpose. There are many human languages, such as English, Spanish, Swahili, and
Chinese, but their common purpose is communication between humans. In the
same vein, programming languages are designed to enable communication
between humans and computers. A programmer communicates an algorithmic

xi
xii Introduction

solution to a problem to a computer so that the computer can solve the problem
quickly and efficiently. The algorithm is a step-by-step process or sequence of
actions. The actions are simple on their own, but the algorithms created can be as
simple as adding numbers or as complicated as processing the graphics and
animation of your favorite 3D video game. The ability to encode algorithms is the
common attribute of all programming languages. Thus, mastering algorithmic
thinking is a great asset to being a productive and efficient programmer.
In this book, you learn concepts related to algorithmic thinking and problem-
solving. In addition, you learn the C++ language. C++ is a popular, general-
purpose and object-oriented programming language that can be used in a variety
of application domains. These domains may include personal, business, gaming,
scientific, and multimedia applications. In addition, C++ is used for creating
programs to execute on a number of computing platforms, including desktops,
laptops, supercomputers, mobile devices, and gaming consoles.
Are you ready to learn how to program a computer? If so, you are in the right
place. This book introduces you to the way a computer scientist or computer
programmer thinks when creating software.

The Philosophy of This Book


The philosophy of this book was my main motivation for writing it. Most books
about programming computers have titles such as Learning to Program in X,
Problem-Solving with X, Learn X in Y days, or Programming in X, where X is the
name of the programming language and Y is some small number of days (usually
less than a month). Undoubtedly, you have seen these books before. These books
usually have chapter headings like the following:
n “Introduction to Computers and Programming”
n “Data Types and Arithmetic Expressions”
n “Input and Output Statements”
n “Conditional Statements”
n “Looping Statements”
n “Functions”
n “Arrays”
Introduction xiii

n “Records”
n “Pointers”
n “Classes and Introduction to OOP”

Many successful books have been organized this way, which is fine for creating a
reference book for the language. However, it is not necessarily the best organi-
zation for teaching how to develop software solutions using a particular language.
This type of organization has a negative impact on many students and does not
help them learn how to build software. This organization forces authors to
introduce too many alternative concepts in a single chapter. For example, in the
chapter about conditional statements, an author may decide to introduce if-then,
if-then-else, switch/case, and arithmetic if statements. In addition, there
might be some discussion about Boolean expressions and nesting of if-then and
if-then-else. Those who write these types of chapters realize all the syntactical
and semantic rules that must be explained and understood first. However, in most
cases, readers are not very advanced at this stage of the book and are not likely to
use all these concepts in any program they are writing unless the program is
contrived to introduce the language feature. How much do beginners really learn
from this exercise? How much confusion do they experience when trying to apply
these different constructs to a software solution? The problem here is that the
focus for the reader is now on the language, and not on solving problems with the
language.
This book has a different paradigm that puts the focus on the problem-solving
techniques and thought processes; the language features are secondary. In addi-
tion, this book introduces features at your level of complexity. For example, you
will most likely use the switch statement in specific circumstances, such as for
menu processing, which is best shown after learning loops. The problem also
requires more complex software. Therefore, the complexity and sophistication of
solutions for a class of problems should motivate or drive the introduction to
language concepts. For example, instead of your seeing the switch statement in
Chapter 5 and then in Chapter 6 or 7 being presented with a menu-driven
program that is perfect for it (and requiring you to recall the switch statement and
use it), this book introduces the switch statement as an alternative compact
solution to the menu problem. At this time, you are engaged and interested in
learning about the switch statement. In addition, you have a firm foundation of
experience with the if-then statement to ease the understanding of the switch
xiv Introduction

statement semantics. Finally, you are comfortable with the if statement at


this time in the reading and can absorb the additional syntax without as much
confusion.
Observations of students over the years have shown that when people are having
trouble learning a programming language, the primary source of frustration is
how to express the solution in algorithmic ways. Without the algorithmic solu-
tion, there is little to no hope of encoding a computer program that will be
successful. Therefore, this book starts exploring algorithms and the core com-
ponents of the C++ programming language. Then it presents introductory pro-
blem-solving techniques and moves to increasingly more advanced techniques,
while starting with simpler problems to solve and moving to more complex
problems that require the more advanced problem-solving techniques. This book
does not cover every nuance of C++. It is not a C++ book; rather, it is a computer-
programming book that uses C++ to implement the program.
This approach allows you to engage in meaningful programming experiences
early in the book, which motivates you to continue.

How to Use This Book


This book introduces computer programming to teens using ideas and concepts
that professionals use for programming every day. The book is suitable for any
beginning programming course or CS1 course at the high school or collegiate
level. It has been structured so that the C++ content of the book can be used to
solve all the exercises at the end of each chapter. You should not use this book as a
C++ reference book because it does not cover every aspect of the C++ language. If
you would like to have a complete C++ reference as a companion to this book,
look for The C++ Programming Language by Bjarne Stroustrup (C++ inventor) or
C++: The Complete Reference by Herbert Schlidt.
Each chapter of this book presents a collection of ideas and concepts that are
related to computer programming and C++. Each chapter has notes and sidebars
to provide additional information about given topics. In addition, each chapter
has complete pseudocode or C++ programs. You are encouraged to trace the
pseudocode and compile and test the C++ programs for better understanding. At
the end of each chapter are a handful of exercises to apply the knowledge of the
chapter and previous chapters. The majority of the concepts that you need for
solving an exercise are in that chapter; however, you need to keep previous
chapters’ concepts in mind as well.
Another Random Scribd Document
with Unrelated Content
L’hommage que rendent de faibles humains à la Présence réelle
enferme une sublimité dont les anges doivent être jaloux. Un soir, il y
a deux mille ans, Jésus, tenant du pain entre ses doigts, a dit : Ceci
est mon Corps ; et ses disciples ont cru à sa parole, ils ont fait ce
qu’il avait fait, ils le feront jusqu’à la fin des siècles et, avec eux, tous
ceux qui croiront en lui. Le voilà, le règne du Verbe où la parole
accomplit tout ! Dans le miracle de la transsubstantiation, les
apparences, infimes et passives, subsistent seulement pour que la
foi ait lieu d’agir et que les sens ne soient point déçus. Sous elles
pourtant s’abrègent l’univers, la terre et le froment, le soleil
nourricier, la chair et le sang de l’homme ; et, par la substance du
Fils, la créature finie consomme son union avec l’Infini en trois
personnes.
Il est trop vrai de dire que l’éternité n’épuisera pas la
contemplation d’un tel mystère. En même temps, quoi de plus
simple, de plus accessible aux simples ! Je me souviens d’un mot dit
par une femme de pêcheur, aux Sables-d’Olonne, à une voisine dont
les vilenies l’exaspéraient :
« Allez ! Vous me le payeriez cher si, ce matin, je n’avais pas
mangé mon Dieu. »
Manger son Dieu ! Personne autre que les catholiques n’a jamais
osé se servir de cette prodigieuse expression. Mais, surtout, qu’on
songe à ce qu’y mettait la pauvre femme et qu’on essaye d’évaluer
quelle somme de charité humble, de miséricorde, de pureté, de
patience, de paix entre dans le monde par l’Eucharistie.
Lorsque les délégués de la catholicité s’assemblent pour adorer
et méditer le Sacrement saint entre tous, l’effet qu’il produit en eux
est de leur communiquer, autant qu’ils peuvent la recevoir, son unité
surnaturelle ; il fait d’eux comme des grains de blé moulus et pétris
qui deviennent un seul pain. S’ils se séparent ensuite, la force d’une
cohésion mystique persiste dans leur vie, se propage autour d’eux.
Dieu seul mesure l’efficacité qu’ont eue et auront, en des pays où,
depuis des siècles, la Présence réelle était officiellement niée, des
spectacles tels que ceux de Westminster et de Cologne, ces
processions immenses qui figuraient la continuité de la véritable
Église, son pèlerinage militant et triomphant, conduit du Golgotha au
jugement dernier.
Lille peut se glorifier d’avoir été la première ville choisie pour un
grand Congrès eucharistique. C’était en 1881 : trois cents prêtres et
laïques s’y étaient groupés ; quatre mille hommes prirent part à la
cérémonie de clôture. Ce commencement, comparé à ce que furent
les récents Congrès, fait penser au grain de senevé croissant en un
arbre où les oiseaux du ciel bâtissent leur nid.
Le choix de Lourdes, cette année, a une signification
magnifique : il atteste une reprise solennelle de la terre de France
par Jésus-Christ Roi et par Marie. Lourdes est pour les catholiques
un fief inexpugnable ; le Sauveur est là, si l’on peut dire, chez lui plus
qu’en nul autre lieu ; il circule parmi les foules qui l’acclament, et sa
présence est tellement sensible que jamais il ne passe sans guérir
des infirmes ou délivrer des âmes souffrantes.
Les apparitions de Lourdes ne sont qu’une révélation anticipée,
imparfaite du paradis. Quand on lit les récits de Bernadette et des
témoins immédiats [111] , on éprouve quelque chose de ce
rafraîchissement qu’au sortir du purgatoire doivent connaître les
sanctifiés.
[111] Ils sont bien transcrits dans le livre limpide et
fervent de M. Reynès-Monlaur, la Vision de Bernadette.

Je ne crois point qu’il y ait dans l’histoire du christianisme une


série de phénomènes comparables aux dix-huit apparitions, à ces
conversations, devant une foule, entre une petite fille agenouillée et
la Dame qu’on ne voyait pas, mais dont le visage se réverbérait sur
le sien, à qui elle répondait, selon les volontés de qui elle agissait ; et
la source irrécusable afflua pour témoigner elle-même que
Bernadette avait vu. Cela se passait en 1858, alors que Renan,
maître des esprits, prétendait avoir exclu, sans retour, des faits le
surnaturel. Quelle compassion démesurée dans cette insistance de
Marie à s’affirmer existante !
Mais, bien qu’elle ait à Lourdes redit trois fois le mot : Pénitence !
elle ne s’y révèle pas, comme à la Salette, la Mère douloureuse,
transfixée par les sept glaives et prédisant à ses fils ingrats les
dernières épouvantes. Quand elle se montre à Bernadette, elle
sourit et, tandis que l’enfant récite son chapelet, elle prononce avec
elle : Gloire au Père, et au Fils, et au Saint-Esprit. Ce sourire de
l’Immaculée, cet hosanna réitéré à la Trinité sainte, n’est-ce point le
paradis vermeil, celui qui descendait sur la figure de Bernadette,
« transparente comme si de la lumière passait au travers ? » Et,
racontait la voyante, la Dame souriait aussi en regardant les autres
petites filles qui étaient là, les hommes et les femmes, toute
l’humanité pécheresse. Or, le regard de Marie sur nous, c’est celui
même du Fils de Dieu resplendissant en elle, l’éblouissement de
l’éternelle Hostie réfléchi sur celle qui n’a jamais péché.
Ainsi, Lourdes est bien l’endroit de la terre où il nous convient le
mieux de célébrer les merveilles du Saint Sacrement. Ainsi, nous
tissons à notre siècle un manteau d’une pourpre radieuse, où sera
mêlé, souhaitons-le, le rouge de notre sang [112] , mais qui porte déjà
la couleur du Sang de Jésus-Christ. Quand bien même son avenir
serait lourd de calamités et d’ignominies, il aura eu l’ineffable
privilège d’être le siècle eucharistique.
[112] Ces pages furent écrites en Juin 1914 ; elles
parurent le 12 Juillet dans La Semaine littéraire.
LA JOIE CHRÉTIENNE

Certains mots portent, dans l’unité simple de leur forme, un signe


d’absolu. Est-ce hasard si notre langue et d’autres font tenir en une
syllabe le nom qui surpasse tout nom : Dieu ? Le terme joie semble
élémentaire comme le feu, quand la flamme, droite et vive, surgit
des sarments prêts à flamber.
S’il fallait définir la joie, nous dirions que c’est un accroissement
d’essor vital par l’espérance ou la possession d’un bien. L’arbre qui
monte le plus haut qu’il peut, hors du taillis, vers le soleil, reçoit en
ses fibres un sourd bien-être, tandis que ses feuilles boivent dans
l’azur, à la source ardente. J’ai vu, en mer, sur le pont d’un bateau,
des poulains hennir de contentement au premier rayon de l’aurore
qui touchait leurs yeux. Un chien bondit à son écuelle pleine, comme
s’il conquérait pour la première fois la vie.
La joie des enfants est semblable à celle des jeunes animaux,
naïve, impétueuse et totale. Elle imite d’autre part celle des Anges et
des élus parce qu’ils savent atteindre dans les plus humbles délices
la présence du parfait. Ils désignent du doigt, en questionnant, le
mystère des origines ; ils ont la paix des simples, la paix avec les
créatures et avec Dieu ; ils s’élèvent aisément à l’évidence de son
Être ; et lui-même nous a prévenus que nous n’entrerions pas dans
son Royaume, si notre âme n’était pareille à leur âme.
Mais, les enfants, déjà leur condition d’homme les éloigne du
Paradis. Ils naissent en souffrant et pour souffrir ; leur volonté
convoite au delà de ce qu’elle possède ; elle s’exaspère des
résistances ; elle est ramenée durement en deçà des bornes. La
candeur les quitte ; une loi de déchéance signifie durement à leur
faiblesse : « En toi, c’est le péché. »
Et, dès qu’ils ont grandi, la joie, même naturelle, leur est encore
moins concédée. Elle exige une victoire à gagner et à regagner sur
le trouble des appétits, sur les puissances de la mort. Ceux qui
jouissent d’elle combien sont-ils ? On peut trouver, dans l’histoire,
des siècles qui eurent de la gaîté ; un siècle joyeux est encore à
naître. L’homme moderne a sculpté, plus profondes, sur son visage,
les rides de la tristesse. Les romantiques s’en sont parés. « Sot et
vilain ornement » aurait dit Montaigne qui ne songeait, en épicurien
de Gascogne, qu’à se maintenir gaillard et dispos. Affaissement de
la vie spirituelle, débilité physique, frénésie et lassitude des sens,
inquiétude des cœurs isolés, nostalgie du perpétuel ailleurs,
perturbations nationales, pressentiments de catastrophes, dégoût et
désespoir, toutes les misères du siècle dernier devaient aboutir au
refrain d’Edgar Poë, Nevermore :

« Mon âme hors de cette ombre qui gît flottante sur le plancher
Ne s’élèvera jamais plus. » [113]
[113] Dernière strophe du Corbeau.

Au temps de Musset et de Baudelaire il eût semblé absurde


d’inscrire au front d’un livre le mot fulgurant ; joie. Zola, plus tard, l’a
osé dans un roman dont le titre a survécu. Mais l’ensemble de son
œuvre atteste impossible cette joie païenne de vivre qu’il s’essayait
à prêcher. La logique d’un matérialiste le courbe vers le non-espoir ;
d’une vie que des forces imbéciles ont faite pour l’exterminer sans
savoir pourquoi, il ne peut attendre que « des minutes heureuses » ;
et encore, de ces minutes-là saura-t-il éliminer l’amertume de songer
qu’elles finies, tout est fini ? S’il se console, c’est dans la fiction
d’une humanité future, libérée de la souffrance, fraternelle, pacifique
et juste. Il met au bout de l’horizon un Paradis terrestre sans Dieu.
Non, le culte des instincts naturels ne nous a pas redonné le
sens de la joie. La plupart des romans naturalistes se terminent
fatalement par un désastre.
L’espérance est un aimant dont la pointe n’est en repos que
tournée vers le ciel. L’Église seule a gardé le rythme de l’Alleluia.
Elle convertit en une fête quotidienne le cercle uniforme des jours.
Tous les matins, elle reprend l’éternelle réjouissance, le Sacrifice qui
ouvre la béatitude.
Ses liturgies honorent des couleurs triomphales, l’or, le blanc et
le rouge ; quant au noir, elle le met à la portion congrue. Les
oraisons des rites [114] , les litanies de la Bienheureuse Vierge et des
Saints détiennent des trésors de magnificences. Nulle exaltation
n’est comparable à la liesse d’une foule croyante, pressée dans une
cathédrale, entonnant le Credo, le Te Deum, le Magnificat. C’est
pour les sens et pour tout l’être, la synthèse des ivresses, la
communion dans la plénitude.
[114] Dans l’ordination des diacres, le Pontife, en les
revêtant de la dalmatique, dit à chacun : Induat te
Dominus vestimento laetitiae.

A cette jubilation extérieure correspond la paix des volontés.


Maintes fois je me suis dit que, même si tous les bonheurs terrestres
m’étaient refusés, personne ne me dépouillerait de cette allégresse :
le Verbe s’est fait chair et il habite parmi nous. La communion
matinale illumine les plus grises, les plus douloureuses journées
d’un chrétien. L’Évangile est par essence un message de joie.
Aussi les écrivains qui ont restitué à la pensée moderne la notion
d’espérance, le goût de la splendeur sont-ils des catholiques. Même
Léon Bloy, dans son Désespéré, a suspendu, par le récit d’une
grand’messe, les sombres et furieux déchirements de Marchenoir.
Verlaine, le pitoyable Verlaine, nota en des modes exquis la douceur
d’être catholique :

Va, mon âme, à l’espoir immense [115] …


[115] Sagesse.

Ceux qui surent et purent croire,…


Ceux-là, vers la joie infinie,
Sur la colline de Sion,
Monteront d’une aile bénie
Monteront, d une aile bénie,
Aux plis de son Assomption [116] .
[116] Sagesse. Voir aussi Liturgies intimes, le poème
intitulé : Vêpres rustiques.

Le Christ, en apparence, est venu apporter aux hommes de la


douleur plus que de la joie, le glaive plus que la paix, les épines de
sa couronne pour oreiller et les clous de sa Croix, pour qu’ils les
enfoncent dans leurs mains. Ses vrais disciples ont été, seront
toujours des martyrs. On concevrait mal un Saint dont la vie serait
exempte de souffrances singulières, sans des phases de
sécheresse désolée et le brisement de toutes les inclinations
naturelles. La nature et la Grâce s’opposent comme deux terribles
adversaires ; ce qui est donné à l’une amoindrit l’autre ; ce que l’une
veut, l’autre le déteste ; et, comme la nature ne s’anéantit pas, il faut
qu’elle soit tourmentée jusqu’à la mort. Dirons-nous pourtant des
Saints qu’ils ressemblent à ce curé de campagne dont Mme de
Sévigné s’amusait : « Il mange de la merluche en ce monde afin de
manger de la morue dans l’autre » ? La béatitude à venir reste la
chose inestimable, la perle unique. Pour l’avoir, vendre tout le reste,
c’est payer bien peu cher.
Et, dès ici-bas, l’espérance de la conquérir fait, seule, la joie qui
est. Les Saints, parce qu’ils souffrent, ont le don d’être joyeux. Ils le
tiennent de leur Maître qui souffrit dans la joie.
Un des rapports insondables de l’humain et du divin en la
personne de Notre-Seigneur Jésus, c’est qu’au moment où il
subissait les affres de l’agonie, alors qu’il se lamentait, crucifié et
impuissant : « Mon Dieu ! mon Dieu ! pourquoi m’avez-vous
abandonné ? » il se voyait sublime à la droite de son Père ; il
percevait les fruits magnifiques de la Rédemption. Il était
ineffablement heureux ; et, en un sens, l’absolu de ses opprobres, de
son délaissement, de ses tortures, augmentait sa gloire divine, la
consommait.
Une simultanéité analogue, très imparfaite, se noue dans l’âme
des Saints. En même temps qu’ils pâtissent au delà des forces
humaines, ils sont comblés d’un bonheur supra-sensible. Car la joie
mystique n’est point la jouissance, mais la conformité dans l’amour
avec le souverain Bien. Elle est l’expansion de la charité parfaite.
Dans le plus affreux abandon, celui qui aime goûte la paix ; et, parce
qu’il est désolé sans perdre l’amour, il mérite d’incroyables délices, il
les acquiert par anticipation. Les ravissements des extatiques
succèdent volontiers à des épreuves où, sans une aide mystérieuse,
ils auraient succombé.
Rien de plus triste pour des yeux frivoles qu’une vie pénitente
comme celle d’un Rancé considérant qu’après ses désordres il
n’avait qu’une ressource : « se revêtir d’un sac et d’un cilice en
repassant ses jours dans l’amertume de son cœur. » Eh bien ! Rancé
acceptait, comme un viatique de consolation, même les rigueurs qui
le frappaient par les mains d’hommes injustes :
« Ma profession veut que je me regarde comme un vase brisé qui
n’est plus bon qu’à être foulé aux pieds ; et, dans la vérité, si les
hommes me prennent par des endroits où je ne suis pas tel qu’ils me
croient, il y a en moi des iniquités qui ne sont connues de personne
et sur lesquelles on ne dit mot ; de sorte que je ne puis ne pas croire
que les injustices qui me viennent du monde ne soient des justices
sécrètes et véritables de la part de Dieu… C’est la disposition dans
laquelle je suis et que je dois conserver d’autant plus que les
extrémités de ma vie sont proches : aux portes de l’éternité il n’y a
rien de plus puissant pour faire que Dieu me juge dans sa clémence
que d’être jugé des hommes sans pitié [117] . »
[117] Lettre au maréchal de Bellefonds écrite en 1678.

Des joies sont liées aux humiliations pénitentes, non le sursaut


d’orgueil qui pousserait un Saint à jouir d’être méprisé, mais le
contentement de savoir qu’une loi de justice est satisfaite par
l’iniquité de ses ennemis, et mieux encore, l’élan de l’obéissance
aimante, l’allégresse de continuer la bienheureuse Passion.
La félicité des Saints est d’un ordre paradoxal, transcendant ; elle
se fonde sur un renversement des valeurs communes ; ce qui est
souffrance pour les autres se tourne en bonheur pour eux. Mais
cette joie surnaturelle devient comme une seconde nature, si bien
qu’ils ne semblent plus pouvoir la perdre.
Dans le parloir d’un couvent je rendais un jour visite à une
religieuse, femme d’un grand cœur et qui montre, d’ordinaire sur son
visage, une sorte d’hilarité céleste. Elle venait, à l’instant,
d’apprendre la mort d’une personne qu’elle aimait ; elle arriva, les
yeux pleins de larmes ; mais le pli de ses lèvres restait souriant ; et
ce sourire illuminait ses pleurs.
J’ai revu naguère un fascinant François d’Assise sculpté en bois
brun par Alonso Cano, d’après quelque moine surpris dans une
extase. Cette figure, comme celle du Saint Paul d’Hugo Van der
Goës, concentre une double expression : regardée à droite, elle
évoque, sous le capuchon, un jeune Frère, de mine fruste et
radieuse, tendu vers la vision du Paradis prochain ; regardée à
gauche elle donne la présence même de la Béatitude ; les muscles
de la face sont caressés d’une flamme suave qui semble descendre
en eux ; la bouche entr’ouverte oublie de respirer ; un rayon invisible
attire en haut le regard embué d’ivresse. L’humain subsiste ; et
pourtant la transfiguration est plénière. L’âme s’est déjà comme
installée dans le ciel.
Je me souviens aussi d’un petit trappiste blondin à qui je
demandais : Êtes-vous heureux ? — « Oh ! oui, me répondit-il, trop
heureux. »
Ces ardeurs de joie ne sont-elles qu’une flambée de jeunesse ?
Ici, la nature tendrait à prévaloir. Le plus grave obstacle où
s’émousse la joie, ce ne sont pas les tentations ; c’est plutôt la
torpeur, la fatigue d’actes longtemps réitérés, la paresse d’un Moi qui
renonce à se libérer de lui-même. La joie requiert une souplesse
neuve de mouvements, des impressions fraîches. Seul, un puissant
amour répète sans ennui des paroles qu’use l’habitude. Le vieux
moine, quand il monte d’un pas lourd à la stalle où il reprendra son
office, le même depuis cinquante ans, sommeille quelquefois sur les
psaumes, non seulement parce qu’il est vieux, mais parce que les
psaumes n’ont pas changé.
Cependant, par le jeu de la Grâce, une loi supérieure intervient :
plus on a aimé, plus on aime. L’expérience consommée de l’oraison
affective vaut à l’ascète une plus ferme possession de la méthode
qui soutient le colloque avec l’inlassable Ami. La joie dans la prière
est un don ; elle est, à beaucoup d’égards, une science. Certains
hommes d’âge possèdent un cœur plus allègre que bien des
jeunes ; et ceux-là connaissent la perfection de la joie.
Ainsi donc, joie et sainteté sont synonymes. Nous le savions
sans doute avant que le R. P. Hostachy eût l’heureuse audace de
mettre sous leur signe les portraits de Saintes dont il nous offre la
quatrième série. Mais son ouvrage illustre par toute la richesse des
faits cette divine relation. Matière inépuisable, ample comme
l’univers des âmes. Les formes de la joie sainte varient
prodigieusement selon ses causes et ses objets, selon les
caractères, les milieux et les temps.
La joie d’une Claire d’Assise, parfaitement pauvre dès qu’elle a
secoué, comme la poussière de ses pieds, les biens de ce monde,
ne peut être pareille à celle d’une Mélanie la jeune, s’évertuant à
disperser entre les mains des pauvres une fortune si énorme qu’elle
n’en sait pas l’étendue.
La joie d’une Jeanne de Chantal, femme de France, raisonnable
et fine, héroïque avec réflexion, ne ressemble pas aux hyperboles
extatiques d’une Angèle de Foligno.
La joie dominicaine n’est pas la joie franciscaine ; l’une est plus
logicienne, dominatrice ; l’autre plus ingénue. La première considère
avec Dante — dont le Paradis est thomiste — que « la béatitude se
fonde d’abord sur l’acte de voir, puis sur l’acte d’aimer qui vient
après [118] ». La seconde inclinerait à aimer d’abord, puis à
comprendre parce qu’elle aime.
[118] Paradis, XXVIII, 37. Voir aussi l’opuscule attribué
à saint Thomas sur la béatitude et les conférences du R.
P. Janvier (Carême de 1903) sur le même sujet.
L’historien d’une sainte Catherine de Gênes définira en elle la
joie du repentir. Le biographe d’Eustochium, la très pure et
charmante amie de saint Jérôme, s’attachera aux joies de la
virginité.
Le pieux auteur s’est gardé de tourner ses portraits en
méditations édifiantes ou en sèches études de sentiments. Comme
dans une Légende dorée, mais d’où seraient bannis les miracles
invraisemblables et les trop naïfs détails, il choisit les moments les
plus expressifs d’une destinée, ses parties dramatiques. Des
anecdotes, des extraits de lettres nous introduisent, de plain-pied,
près de saintes et de leur entourage.
Bien qu’il ait cru devoir associer à des figures lointaines quelques
mystiques plus modernes, Thérèse d’Avila, Marguerite-Marie, il a
compris que la nouveauté serait de ranimer surtout des chrétiens
des premiers siècles.
Revenir aux sources, c’est le grand attrait. Le commun des
lecteurs connaît fort mal l’Église du temps des Pères et se plairait à
la connaître.
Si l’on veut s’assimiler la pleine joie catholique, il semble
rationnel de la saisir en sa floraison native. Le Christianisme se
présentait comme la voie du bonheur. Au moyen âge, les
épouvantes du Jugement, l’ombre pénitentielle des cathédrales
offusqueront d’une anxiété cette candide espérance. Villon, dans sa
Ballade fameuse, fait dire à sa bonne femme de mère, devant les
vitraux où elle voit peints l’enfer et le paradis :

L’un me fait paour, l’autre joie et liesse…

La peur avant la joie, n’est-ce pas, en germe, l’effroi janséniste


vis-à-vis de l’éternité ?
Au siècle de saint Jérôme, et, plus encore, au temps des
Apôtres, la Parousie se révélait comme la grande fête promise aux
Saints, la gloire du Christ attendue, la soumission ultime des
créatures au Vainqueur de la mort.
Le Paradis était vu très simplement : dans un pacage, au milieu
des brebis, le bon Berger avec sa houlette ; ou, comme à
Alexandrie, sur la peinture murale rapportée de la crypte d’Abou-
Girgeh, un Saint en robe jaune, auréolé, parmi des fleurs vertes et
roses, près d’un poisson mystique, en face d’un homme et d’une
femme debout dans leur nudité d’innocence. Pour les persécuteurs
et les impies la menace du châtiment surgissait ; les fidèles
n’envisageaient, après les brèves tribulations et le feu
purificateur [119] , que la joie sans fin.
[119] Sur le Purgatoire, on se rappelle, dans les Actes
des Saintes Perpétue et Félicité, la vision de Dinocrate
altéré.

La joie, ils l’embrassaient en ce monde comme la fille


authentique du Seigneur. Saint Grégoire de Nazianze écrivait, de
son exil, à la diaconesse Olympiade, qu’elle devait haïr la tristesse.
La mère du Saint, au bout d’une vie heureuse, mourut en extase
devant l’autel :
« De l’une de ses mains, elle tenait la Sainte Table ; et, en élevant
l’autre, elle semblait dire : « Christ, ô mon Roi, sois-moi propice. »
Grégoire lui-même, quand il se vit moribond, se fit habiller, pour
mourir, de vêtements blancs.
Lorsque Mélanie l’Ancienne, qui venait de perdre son mari,
enterra ses deux fils, elle ne versa aucune larme ; mais « prosternée
aux pieds du Christ, elle semblait lui sourire ».
Les joies surnaturelles laissaient vivre, en les transfigurant, celles
de la nature. Eustochium, un jour de fête, envoyait, en cadeau, à son
maître Jérôme, un panier de cerises, des colombes, « et quelques-
uns de ces bracelets d’honneur, armillae, que l’on donnait aux plus
vaillants soldats de la légion ».
Saint Paulin de Nole célébrait dans un poème les douceurs de
l’affection conjugale. Démétriade, à Carthage, le jour où elle reçut le
flammeum des vierges, consentit à mettre sa plus belle toilette ; et
cette prise de voile, dit saint Jérôme, jeta dans un délire
l’assistance ; il y eut là « comme une danse joyeuse et sacrée de
tout le peuple africain ».
Si les Saints fermaient une fenêtre sur les choses charnelles,
c’était pour faire entrer, par une autre, à plus large flot, la splendeur
du ciel. Saint Sébastien, avant son martyre, paraissait tout d’un coup
environné de lumière, sous un manteau blanc, et sept Anges se
tenaient debout devant lui. Saint Tiburce, marchant sur des
charbons ardents, disait : « Il me semble que je marche sur un lit de
roses. » La pauvreté, la mort, les supplices étaient épousés dans
l’ivresse.
Pourquoi cette joie primitive touche-t-elle notre cœur comme si
elle était nôtre ?
C’est qu’au fond notre sensibilité envahie par la mollesse
païenne est près de celle des païens convertis. Il nous faut des
Saintes, toutes en sourires, mêlées aux roses, comme la suave
Thérèse de l’Enfant-Jésus. Nous avons le pressentiment de
cataclysmes possibles, de temps plus cruels que ceux où saint
Jérôme pleurait sur Rome détruite. Les Barbares sont à nos portes ;
ils règnent déjà chez nous. Pour surmonter l’horreur des ruines, on
aura besoin de joies débordantes. L’art chrétien de l’avenir sera fait
d’allégresse et de clarté ; des basiliques semblables à Fourvières,
des hymnes tels qu’en chantait la jeune chrétienté de l’âge d’or. Plus
le monde avancera vers son terme, plus l’Église sera le dernier
refuge de la joie. Car c’est elle, la femme forte, à qui les Livres
Saints promettent qu’elle rira au dernier jour.
L’ESPRIT DE TRIOMPHE DANS L’ÉGLISE

Fait à l’image de l’Invincible, l’homme est né pour vaincre. Son


histoire a commencé par une défaite multipliée en d’innombrables
désastres. Mais, dès l’instant de la chute, la revanche était promise.
Sans la revanche, la chute serait même difficile à concevoir. La
femme à qui Dieu dit : « Tu écraseras la tête du serpent ; et il
guettera ton talon », ce n’était pas seulement l’Immaculée, la Mère
du Vainqueur ; la prophétie divine préfigurait l’Église, certaine
d’exterminer la Bête au terme des siècles, mais dont le talon reste
mordu, écorné par les crocs perfides, tant qu’une partie du genre
humain, soustraite à son corps, sinon à son âme, végète ou meurt
spirituellement.
La promesse messianique, l’attente de Celui qui aurait « l’empire
sur son épaule » devait être la force d’Israël jusqu’à l’avènement du
Christ et même ensuite. Pourtant la vérité de cette force a passé de
la synagogue en l’Église, depuis l’heure où le Maître, avant de
quitter les siens, leur laissa l’assurance :

Allez hardiment, j’ai vaincu le monde. [120]

[120] Ces pages étaient écrites lorsque a paru


l’Encyclique instituant la fête du Christ-Roi. Elles ne sont
que le commentaire anticipé de cet auguste document.

Parole inouïe, proférée à la veille d’une catastrophe, en


apparence, irrémédiable : Jésus sait qu’après trois années de
prédication, à trente-trois ans, il va mourir, cloué, comme un
misérable, sur une potence ; que ses disciples vont être dispersés,
désespérés ; que son œuvre naissante, si elle n’était divine, aurait
toutes les chances d’être anéantie. C’est alors qu’il se proclame
victorieux. Car, en consentant à descendre jusqu’au fond des
opprobres, jusqu’à la mort, il a rétabli dans sa dignité le vieil Adam
déchu. La défaite n’est plus possible parce que Dieu-homme a
consommé la défaite. Sa résurrection, en le démontrant Dieu,
signifiait pour l’humanité la certitude d’une vie bienheureuse et
immortelle.
Sans l’évidence de ce prodige, sans la promesse que le
Seigneur, à une date inconnue, reviendrait avec des légions
d’Anges, dans la splendeur du feu, et donnerait aux justes comme
aux iniques la rétribution dernière, la jeune Église aurait eu grande
peine à soutenir les persécutions, à pénétrer du ferment nouveau les
masses païennes, à surmonter les hérésies et les défaillances. Elle
savait que la grâce du Christ la porterait au delà de toutes les
épreuves. L’esprit de triomphe est surtout nécessaire au
commencement des grandes entreprises, ou dans des phases de
lassitude, quand les énergies sommeillent. A un degré magnifique,
saint Paul le reçut et le communiqua. Les tribulations présentes lui
semblaient peu de chose ou rien auprès « du poids de gloire » dont
l’idée l’accablait. Il se comparait volontiers au coureur tendu vers la
couronne mise en réserve pour sa victoire. Au bout du gémissement
immense des créatures il voyait « la révélation des enfants de
Dieu ».
Cette révélation, l’Apocalypse de saint Jean la prophétise dans
son message d’allégresse, où les souffrances de l’Église sont
figurées comme la préparation de son triomphe. Mais les chrétiens
des premiers siècles espéraient communément que l’Évangile
atteindrait d’un élan rapide les extrémités de la terre ; que les signes
précurseurs étant accomplis, le retour du Christ glorieux ne se ferait
pas longtemps attendre.
Peu à peu, la suprématie tangible de la chrétienté apaisa
l’impatience mystique du Jugement. Le mot prêté à Julien l’Apostat :
« Tu as vaincu, Galiléen ! », atteste sous une forme légendaire la
fierté de la foi chrétienne sûre d’avoir réduit à l’impuissance le
paganisme en déroute. Sur le toit des basiliques la Croix se haussa
comme un trophée. Le bon Pasteur des catacombes devint le Christ
impérial qui siège en Juge sur les mosaïques des absides. Sa Mère
eut la majesté d’une Théotokos dont l’Enfant tient en sa petite main
le globe du monde ; elle eut la toute-puissance que l’art byzantin a
fixée avec une grandeur perdue dans la suite. Le moyen âge
pourtant sut l’imiter, lorsqu’il représentait Notre-Dame comme Reine
du ciel et Mère du Seigneur. Témoin le grand vitrail occidental de
Chartres, une des Vierges les plus triomphantes que l’on ait peintes
depuis les Vierges byzantines.
Les hymnes aussi célébrèrent la royauté du Christ sur le mode
où une armée victorieuse chanterait l’entrée de son chef dans les
villes conquises. Telle la prose carolingienne : Christus vincit,
Christus regnat, Christus imperat, presque terrible en sa rudesse
comme si elle voulait atterrer l’Ennemi.
Et les cathédrales s’érigèrent, vaisseaux de gloire qui encloront,
jusqu’à la fin des temps, la somme des splendeurs catholiques.
Dans un chœur prodigieux comme celui du Mans, sous le triple
étage des vitraux, semblable à un Paradis vermeil qui descendrait
vers la terre, quand les hautes colonnes, parées d’oriflammes,
tressaillent des vibrations de l’orgue et des chants mâles de la
maîtrise, quand, au bas de l’autel embrasé, devant l’ostensoir où
l’humilité de l’Hostie sublimise tous les hommages, entre les cierges
et les encensoirs, se massent les chapes d’or, les surplis blancs, les
robes violettes et les traînes de pourpre, alors le plus obscur des
fidèles, en participant à cette pompe liturgique, reçoit les prémices
des magnificences paradisiaques. Pour lui-même et pour la
communion universelle de l’Église il possède la Présence divine, la
vérité, la joie, la beauté, l’avant-goût de la vie parfaite.
Quelle fête humaine offrirait aux âmes de pareilles ivresses
triomphales ?
Néanmoins, il ne faudrait pas croire que l’esprit de triomphe se
soit toujours maintenu sans fléchissement ni déviation.
L’esprit de crainte le contraria : le texte du Dies irae, admirable
par sa profondeur pénitente, n’évoque du Jugement que les aspects
formidables. Il pose aux pieds du Juge le pécheur tremblant, mais
sous-entend la suprême allégresse des justes. On y perçoit déjà la
pente moderne du sentiment religieux, ramené à quelque chose
d’individuel où l’homme se voit en face de Dieu, bien plus qu’il ne
voit Dieu en face du genre humain.
Une autre cause devait affaiblir l’esprit de triomphe : toute force
comprimée, persécutée, tend par la lutte à une perfection plus
cohérente, gage, pour elle, des victoires prochaines. Toute force qui
se croit victorieuse se détend, s’amollit, et perd la volonté de vaincre.
C’est ainsi qu’au XIIe siècle et plus tard l’afflux des prospérités
amena parmi les clercs de multiples relâchements ; les mystiques
s’affligeront de cette décadence spirituelle ; Dante oppose à l’Église
triomphante, à celle du Paradis, l’Église terrestre où tant de
spectacles le désolent et l’indignent.
L’échec des croisades aussi avait fait sentir que, longtemps, hors
de la chrétienté ou contre elle, subsisteraient des régions énormes,
impénétrables à la foi.
Puis vint le déchirement de la Réforme et le jansénisme
anémiant, la sécheresse rationaliste, la mondanité sceptique, tout ce
qui pouvait affaiblir, dans les cœurs chrétiens, l’ingénuité de
l’espérance. Le faste des liturgies, au XVIIIe siècle, survivait ; mais
l’attente et le désir du Christ triomphant, comme c’était loin !
Ensuite, l’église eut à traverser une phase d’humiliations ; après
les souffrances de la Terreur elle subit les chaînes du pouvoir
temporel. Il fallut, pour que l’esprit de triomphe se réveillât, l’excès
des adversités. C’est à la veille d’être captif que Pie IX réunit le
Concile du Vatican. Une des mosaïques de Fourvières symbolise
superbement cette heure triomphale ; le Pontife élevant ses bras au-
dessus des mitres innombrables comme si, avec l’Église présente,
celle des temps passés et futurs s’assemblait là pour entendre
proclamer le dogme radieux.
Depuis lors, bien des signes ont confirmé que l’univers catholique
a senti s’accroître la conscience de sa force : ascendant du Saint-
Siège même parmi les nations séparées ; fierté intellectuelle de
l’élite croyante ; autorité de la science orthodoxe ; renouveau des
études scholastiques et de l’exégèse ; splendeur des manifestations,
en particulier à Lourdes et dans les congrès eucharistiques, où le
Sacrement de l’autel est glorifié, comme l’Agneau adoré dans le ciel
par des multitudes sans nombre.
Durant l’Année Sainte enfin, Rome a vu s’agenouiller en ses
basiliques tous les peuples de la terre ou peu s’en faut. A Bruxelles
et à Paris d’imposantes assemblées ont préparé le retour des
Églises dissidentes à l’unité première.
De plus en plus, l’Église seule peut dire : L’avenir est à moi. Les
dynasties s’écroulent, les empires s’évanouissent ; le règne de
l’argent laisse prévoir son déclin. La seule barque dont nous savons
qu’elle ne sombrera point, c’est la nôtre. Même quand arriveront les
jours prédits où la foi aura presque disparu, quand l’Église ne sera
plus qu’un petit troupeau errant, pourchassé de ville en ville, voué à
l’extermination, les derniers fidèles devront penser que le grand
triomphe est proche. Après ces temps-là, en effet, « le Fils de
l’homme reviendra ».
TABLE DES MATIÈRES

PREMIÈRE PARTIE
Préface 9
Lamennais : la crise de sa chute 15
Une auxiliatrice de Lacordaire : Anna Moës 39
Le catholicisme de Barbey d’Aurevilly 68
Villiers de l’Isle-Adam 107
Le Greco de Maurice Barrès 141
Maurice Barrès et sa pensée religieuse dans la Colline
inspirée 150
Georges Dumesnil 158
Histoire de mon amitié pour Camille Saint-Saëns 170

DEUXIÈME PARTIE

La gloire unique 195


Être simple 200
L’art surnaturaliste 208
Les possibilités du roman catholique 232
Le siècle eucharistique 251
La joie chrétienne 260
L’esprit de triomphe dans l’Église 274
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like