0% found this document useful (0 votes)
15 views

C Programming From Problem Analysis to Program Design 2nd Edition Barbara Doyle pdf download

The document provides information on various editions of 'C Programming From Problem Analysis to Program Design' by Barbara Doyle and D.S. Malik, along with links for downloading the ebooks in different formats. It includes details about the contents of the C# programming book, covering topics such as data types, methods, decision-making, and event-driven programming. Additionally, it contains copyright information and a disclaimer regarding the use of the material.

Uploaded by

arvayameraj3
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

C Programming From Problem Analysis to Program Design 2nd Edition Barbara Doyle pdf download

The document provides information on various editions of 'C Programming From Problem Analysis to Program Design' by Barbara Doyle and D.S. Malik, along with links for downloading the ebooks in different formats. It includes details about the contents of the C# programming book, covering topics such as data types, methods, decision-making, and event-driven programming. Additionally, it contains copyright information and a disclaimer regarding the use of the material.

Uploaded by

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

C Programming From Problem Analysis to Program

Design 2nd Edition Barbara Doyle pdf download

https://ebookname.com/product/c-programming-from-problem-
analysis-to-program-design-2nd-edition-barbara-doyle/

Get Instant Ebook Downloads – Browse at https://ebookname.com


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

C Programming From Problem Analysis to Program Design


5th Edition Barbara Doyle

https://ebookname.com/product/c-programming-from-problem-
analysis-to-program-design-5th-edition-barbara-doyle/

C Programming From Problem Analysis to Program Design


6th Edition D. S. Malik

https://ebookname.com/product/c-programming-from-problem-
analysis-to-program-design-6th-edition-d-s-malik/

C Programming Program Design Including Data Structures


Fourth edition D. S. Malik

https://ebookname.com/product/c-programming-program-design-
including-data-structures-fourth-edition-d-s-malik/

Advances in Imaging and Electron Physics 141 1st


Edition Peter Hawkes (Eds.)

https://ebookname.com/product/advances-in-imaging-and-electron-
physics-141-1st-edition-peter-hawkes-eds/
Divided by Borders Mexican Migrants and Their Children
1st Edition Joanna Dreby

https://ebookname.com/product/divided-by-borders-mexican-
migrants-and-their-children-1st-edition-joanna-dreby/

Oxford Reading Tree Level 3 More Songbirds Phonics Stop


Chatting Bill Julia Donaldson

https://ebookname.com/product/oxford-reading-tree-level-3-more-
songbirds-phonics-stop-chatting-bill-julia-donaldson/

Kase on Technical Analysis Workbook Video Course


Trading and Forecasting 1st Edition Cynthia Kase

https://ebookname.com/product/kase-on-technical-analysis-
workbook-video-course-trading-and-forecasting-1st-edition-
cynthia-kase/

Bench to Bedside Microbiology for Clinicians First


Edition Khardori

https://ebookname.com/product/bench-to-bedside-microbiology-for-
clinicians-first-edition-khardori/

Risky Transactions Trust Kinship and Ethnicity 1st


Edition Frank K. Salter (Editor)

https://ebookname.com/product/risky-transactions-trust-kinship-
and-ethnicity-1st-edition-frank-k-salter-editor/
Elementary Number Theory and Its Applications 5th
edition Instructor s Solutions Manual Kenneth H. Rosen

https://ebookname.com/product/elementary-number-theory-and-its-
applications-5th-edition-instructor-s-solutions-manual-kenneth-h-
rosen/
C# Programming:
From Problem Analysis
to Program Design,
Second Edition

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
C# Programming:
From Problem Analysis
to Program Design,
Second Edition

Barbara Doyle

Australia • Canada • Mexico • Singapore • Spain • United Kingdom • United States

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
C# Programming: From Problem Analysis to Program Design, Second Edition
by Barbara Doyle

Senior Product Manager: Marketing Manager: Compositor:


Alyssa Pratt Bryant Chrzan GEX Publishing Services

Acquisitions Editor: Cover Designer: Senior Print Buyer:


Amy Jollymore Lisa Kuhn Justin Palmeiro

Content Product Manager: Editorial Assistant:


Pam Elizian Patrick Frank

COPYRIGHT © 2008 Course Technology, ALL RIGHTS RESERVED. No part of this Disclaimer
a division of Thomson Learning, Inc. work covered by the copyright hereon Course Technology reserves the right
Thomson Learning™ is a trademark may be reproduced or used in any to revise this publication and make
used herein under license. form or by any means—graphic, elec- changes from time to time in its con-
tronic, or mechanical, including photo- tent without notice. The programs in
Printed in the United States of America copying, recording, taping, Web this book are for instructional purposes
distribution, or information storage only. They have been tested with care
1 2 3 4 5 6 7 8 9 TC 11 10 09 08 07 and retrieval systems—without the but are not guaranteed for any partic-
written permission of the publisher. ular intent beyond educational pur-
For more information, contact Course poses. The author and the publisher do
Technology, 25 Thomson Place, Boston, For permission to use material from not offer any warranties or representa-
Massachusetts, 02210. this text or product, contact us by tions, nor do they accept any liabilities
Or find us on the World Wide Web at: Tel (800) 730-2214 with respect to the programs.
www.course.com Fax (800) 730-2215
www.thomsonrights.com 10-digit ISBN: 1-4239-0146-0

13-digit ISBN: 978-1-4239-0146-4

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Brief

Contents
PREFACE xix

1. Introduction to Computing and Programming 1


2. Your First C# Program 41

3. Data Types and Expressions 83

4. Methods and Behaviors 135

5. Making Decisions 209

6. Repeating Instructions 265

7. Arrays and Collections 329


8. Introduction to Windows Programming 401

9. Programming Based on Events 479

10. Advanced Object-Oriented Programming Features 577

11. Debugging and Handling Exceptions 649

12. Working with Files 705

13. Database Access using ADO.NET 757

14. Web-Based Applications 835

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
vi C# Programming: From Problem Analysis to Program Design

APPENDIX A Compiling and Running an Application


from the Command Line 925

APPENDIX B Visual Studio Configuration 935

APPENDIX C Code Editor Tools 945

APPENDIX D Character Sets 957

APPENDIX E Operator Precedence 959


APPENDIX F C# Keywords 960

APPENDIX G Coding Standards 961

GLOSSARY 965
INDEX 979

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of

Contents
PREFACE xix

1. Introduction to Computing and Programming 1


History of Computers 2
Physical Components of a Computer System 5
Hardware 5
Processor 6
Storage 7
Input and Output Devices 9
Data Representation 9
Bits 9
Bytes 9
Binary Numbering System 10
Character Sets 12
Kilobyte, Megabyte, Gigabyte,Terabyte, Petabyte… 13
System and Application Software 13
System Software 14
Application Software 15
Software Development Process 15
Steps in the Program Development Process 16
Programming Methodologies 23
Structured Procedural Programming 23
Object-Oriented Programming 25
Evolution of C# and .NET 28
Programming Languages 28
.NET 29
Why C#? 32
Resources 33
Quick Review 34
Exercises 36

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
viii C# Programming: From Problem Analysis to Program Design

2. Your First C# Program 41


Types of Applications Developed with C# 42
Web Applications 42
Windows Applications 43
Console Applications 44
Exploring the First C# Program 45
Elements of a C# Program 46
Comments 46
Using Directive 47
Namespace 49
Class Definition 50
Main( ) Method 50
Method Body—Statements 51
Installing the .NET Framework 55
Creating a Place to Store Your Work 56
Typing Your Program Statements 57
Compiling, Building, and Running an Application 58
Compilation and Execution Process 58
Compiling the Source Code Using Visual Studio IDE 59
Debugging an Application 66
Syntax Errors 66
Run-time Errors 68
Creating an Application 68
Programming Example: ProgrammingMessage 69
Resources 74
Quick Review 75
Exercises 76
Programming Exercises 80

3. Data Types and Expressions 83


Memory Locations for Data 84
Identifiers 84
Variables 87
Literal Values 88
Types, Classes, and Objects 89

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents ix

Types 89
Classes 89
Objects 90
Predefined Data Types 91
Value Types 92
Integral Data Types 93
Floating-Point Types 95
Decimal Types 97
Boolean Variables 98
Declaring Strings 98
Making Data Constant 99
Assignment Statements 100
Basic Arithmetic Operations 103
Increment and Decrement Operations 105
Compound Operations 108
Order of Operations 110
Mixed Expressions 112
Casts 114
Formatting Output 114
Programming Example: CarpetCalculator 118
Resources 126
Quick Review 126
Exercises 127
Programming Exercises 132

4. Methods and Behaviors 135


Anatomy of a Method 136
Modifiers 138
Return Type 141
Method Name 142
Parameters 142
Method Body 143
Calling Class Methods 144
Predefined Methods 146
Writing Your Own Class Methods 159

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
x C# Programming: From Problem Analysis to Program Design

Void Methods 160


Value-Returning Method 161
The Object Concept 167
Private Member Data 168
Writing Your Own Instance Methods 169
Constructor 169
Accessor 171
Mutators 172
Property 173
Calling Instance Methods 174
Calling the Constructor 174
Calling Accessor and Mutator Methods 176
Types of Parameters 182
Programming Example: RealEstateInvestment 188
Quick Review 197
Exercises 199
Programming Exercises 206

5. Making Decisions 209


Boolean Expressions 210
Boolean Results 210
Conditional Expressions 211
Equality, Relational, and Logical Tests 212
Short-Circuit Evaluation 219
Boolean Data Type 220
If...else Selection Statements 221
One-Way if Statement 221
Two-Way if Statement 226
Nested if…else Statement 231
Switch Selection Statements 236
Ternary Operator ? : 241
Order of Operations 242
Programming Example: SpeedingTicket 244
Quick Review 253
Exercises 255
Programming Exercises 262

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xi

6. Repeating Instructions 265


Why Use a Loop? 266
Using the While Statement 266
Counter-Controlled Loop 268
Sentinel-Controlled Loop 272
State-Controlled Loops 281
Using the For Statement Loop 284
Using the Foreach Statement 291
Using the Do...while Structure 292
Nested Loops 295
Recursive Calls 300
Unconditional Transfer of Control 302
Continue Statement 303
Deciding Which Loop to Use 305
Programming Example: LoanApplication 306
Quick Review 318
Exercises 319
Programming Exercises 325

7. Arrays and Collections 329


Array Basics 330
Array Declaration 331
Array Initializers 334
Array Access 336
Sentinel-Controlled Access 340
Using Foreach with Arrays 341
Array Class 342
Arrays as Method Parameters 347
Pass by Reference 347
Array Assignment 351
Params Parameters 352
Arrays in Classes 354
Array of User-Defined Objects 356
Arrays as Return Types 356
Two-Dimensional Arrays 363

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xii C# Programming: From Problem Analysis to Program Design

Rectangular Array 363


Jagged Array 367
Multidimensional Arrays 367
ArrayList Class 372
String Class 375
Other Collection Classes 379
Programming Example: Manatee Application 380
Quick Review 390
Exercises 391
Programming Exercises 398

8. Introduction to Windows Programming 401


Contrasting Windows and Console Applications 402
Graphical User Interfaces 404
Elements of Good Design 408
Consistency 408
Alignment 409
Avoid Clutter 409
Color 409
Target Audience 409
Using C# and Visual Studio to Create Windows-Based Applications 410
Windows Forms 413
Windows Forms Properties 413
Inspecting the Code Generated by Visual Studio 419
Windows Forms Events 423
Controls 425
Placing, Moving, Resizing, and Deleting Control Objects 428
Methods and Properties of the Control Class 429
Derived Classes of the System.Windows.Form.Control Class 431
Programming Example:TempAgency Application 448
Quick Review 471
Exercises 472
Programming Exercises 477

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xiii

9. Programming Based on Events 479


Delegates 480
Defining Delegates 480
Creating Delegate Instances 481
Using Delegates 482
Relationship of Delegates to Events 484
Event Handling in C# 485
Event-Handler Methods 486
ListBox Control Objects 486
Creating a Form to Hold ListBox Controls 486
ListBox Event Handlers 489
Multiple Selections with a ListBox Object 490
ComboBox Control Objects 500
Adding ComboBox Objects 501
Handling ComboBox Events 502
Registering a KeyPress Event 502
Programming Event Handlers 503
MenuStrip Control Objects 505
Adding Menus 505
Adding Predefined Standard Windows Dialog Boxes 510
CheckBox and RadioButton Objects 518
CheckBox Objects 518
Adding CheckBox Objects 518
Registering CheckBox Object Events 519
Wiring One Event Handler to Multiple Objects 520
GroupBox Objects 522
RadioButton Objects 522
Adding RadioButton Objects 522
Registering RadioButton Object Events 524
TabControl Objects 533
Programming Example: DinerGui Application 536
Quick Review 567
Exercises 569
Programming Exercises 575

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xiv C# Programming: From Problem Analysis to Program Design

10. Advanced Object-Oriented Programming Features 577


Object-Oriented Language Features 578
Component-Based Development 579
Inheritance 580
Inheriting from the Object Class 580
Inheriting from Other .NET FCL Classes 581
Creating Base Classes for Inheritance 582
Overriding Methods 585
Creating Derived Classes 586
Making Stand-Alone Components 595
Creating a Client Application to Use the DLL 601
Using ILDASM to View the Assembly 605
Abstract Classes 607
Abstract Methods 607
Partial Classes 609
Creating Partial Classes 609
Interfaces 609
Defining an Interface 610
Implementing the Interface 611
.NET Framework Interfaces 614
Polymorphism 615
Polymorphic Programming in .NET 616
Generics 617
Generic Classes 618
Generic Methods 622
Programming Example: StudentGov Application 624
Quick Review 640
Exercises 642
Programming Exercises 647

11. Debugging and Handling Exceptions 649


Errors 650
Run-Time Errors 651
Debugging in C# 652

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xv

Exceptions 658
Raising an Exception 661
Bugs, Errors, and Exceptions 662
Exception-Handling Techniques 664
Try…Catch…Finally Blocks 665
Exception Object 668
Exception Classes 670
Derived Classes of the Base Exception Class 670
ApplicationException Class 671
SystemException Class 671
Filtering Multiple Exceptions 673
Custom Exceptions 677
Throwing an Exception 679
Input Output (IO) Exceptions 681
Programming Example: ICW WaterDepth Application 682
Quick Review 697
Exercises 698
Programming Exercises 703

12. Working with Files 705


System.IO Namespace 706
File and Directory Classes 707
File Class 708
Directory Class 712
FileInfo and DirectoryInfo Classes 713
File Streams 715
Writing Text Files 718
Reading Text Files 723
Adding a Using Statement 727
BinaryReader and BinaryWriter Classes 729
Other Stream Classes 736
FileDialog Class 736
Programming Example: ICW WaterDepth File App 739

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xvi C# Programming: From Problem Analysis to Program Design

Quick Review 748


Exercises 750
Programming Exercises 754

13. Database Access Using ADO.NET 757


Database Access 758
Database Management Systems 758
ADO.NET 759
Data Providers 760
Connecting to the Database 763
Retrieving Data from the Database 764
SQL Queries 765
Processing the Data 769
Updating Database Data 776
Using Datasets to Process Database Records 777
Data Source Configuration Tools 784
Add New Data Source 785
Dataset Object 794
DataGridView Control 796
Adding Update Functionality 803
DataSet Designer 804
Connecting Multiple Tables 813
Displaying Data Using Details View 819
Microsoft Access 821
Quick Review 826
Exercises 828
Programming Exercises 832

14. Web-Based Applications 835


Web-Based Applications 836
Web Programming Model 836
Static Pages 837
Dynamic Pages 839

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xvii

ASP.NET 841
Visual Web Developer 842
IIS 842
Web Forms Page 847
Creating a Web Page 847
Controls 854
HTML Controls 855
HTML Server Controls 860
Web Forms Server Controls 864
Available Web Forms Controls 864
Web Forms Controls of the Common Form Type 866
Adding Common Form-Type Controls 869
Validation, Custom, and Composite Controls 873
Validation Controls 873
Calender Control 876
DataGrid and GridView Controls 882
AccessDataSource 888
Using Visual Tools to Connect 889
Setting the Visibility Property 893
Other Controls 895
Web Services 898
Web Services Protocols 898
Building a Web Service 900
Using or Consuming Web Services 904
Smart Device Applications (Optional) 909
The .NET Compact Framework 909
Creating a Smart Device Application 909
Quick Review 916
Exercises 918
Programming Exercises 922

APPENDIX A Compiling and Running an Application


from the Command Line 925
Command-Line Execution 925
Compiling the Source Code from the DOS Command Prompt 926
Setting the Path to the Compiler (csc) 928

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xviii C# Programming: From Problem Analysis to Program Design

Compiling Program Statements from the Visual Studio Command Prompt 931
Executing the Application from the Command Prompt 932
Compiler Options 933
Other Platforms 933

APPENDIX B Visual Studio Configuration 935


Customizing the Development Environment 935
Environment 936
Projects and Solutions 938
Text Editor 939
Debugging 942
Other Options Settings 943

APPENDIX C Code Editor Tools 945


Code Snippets 945
Refactoring 947
Extract Method 947
Rename 949
Other Refactoring Options 951
Working with Class Diagrams 952
Class Details View 953
Using the Class Diagram to Add Members 954
Using the Class Diagram to Instantiate Objects 955

APPENDIX D Character Sets 957

APPENDIX E Operator Precedence 959

APPENDIX F C# Keywords 960

APPENDIX G Coding Standards 961


Naming Conventions 962
Spacing Conventions 963
Declaration Conventions 963
Commenting Conventions 964
Control Statement Conventions 964

GLOSSARY 965

INDEX 979
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface
C # Programming: From Problem Analysis to Program Design requires no previous introduction
to programming and only a mathematical background of high school algebra.The book
uses C# as the programming language for software development; however, the basic pro-
gramming concepts presented can be applied to a number of other languages. Instead of
focusing on the syntax of the C# language, this book uses the C# language to present gen-
eral programming concepts. It is the belief of the author that once you develop a thorough
understanding of one programming language, you can effectively apply those concepts to
other programming languages.

Why C#?
C# is a true object-oriented language that includes a rich set of instruction statements. C#
was the language used for development of much of .NET, the new Microsoft programming
paradigm that includes a collection of more than 2,000 predefined classes that make up the
Framework Class Library (FCL). Thus, C# has access to a large collection of predefined
classes similar to those available to Java. C# provides tools that make it easy to create graphi-
cal user interfaces—similar to the tools Visual Basic programmers have employed for years.
C# also provides the pure data crunching horsepower to which C/C++ programmers have
become accustomed. But unlike other languages, C# was designed from scratch to accom-
modate Internet and Windows applications. For these reasons, C# was chosen as the lan-
guage for this book.

Going Beyond the Traditional CS1 Course


This book was written for the Computer Science 1 (CS1) student and includes all of the
basic programming constructs normally covered in the traditional CS1 foundation course for
the Computer Science curriculum. But this book goes beyond what is traditionally found in
most CS1 textbooks and, because of the inclusion of a number of advanced applications, this
textbook could also be used in an intermediate course for students who have already been
exposed to some programming concepts.

Advanced Topics
After building a solid programming foundation, this book presents rapid application develop-
ment techniques that can be used to build a number of advanced types of applications.
Generics and partial classes,which are new to .NET 2.0 are introduced. Illustrating the drag
and drop construction approach used with Visual Studio, Windows and Web applications are
created. Readers are introduced to the event-driven programming model, which is based on

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xx C# Programming: From Problem Analysis to Program Design

interactively capturing and responding to user input on Windows and Web forms. In the past,
CS1 courses and even CS2 courses did not include this model.
As a book for first-time programmers, this book is unusual in introducing applications that
retrieve and update data in databases such as those created using Microsoft Access or SQL
Server. Other interesting topics include creating and using XML Web Services, program-
ming applications for mobile devices—such as personal digital assistants (PDAs), and devel-
oping stand-alone .dll components (class libraries). All of these advanced features are
discussed after you have gained a thorough understanding of the basic components found
in programming languages.

CHANGES IN THE SECOND EDITION


C#: From Problem Analysis to Program Design, Second Edition, has been considerably
revised and updated to reflect the latest release of Visual C# and .NET 2.0 and 3.0. All
screenshots were updated to the Visual Studio 2005 IDE.The new edition provides more
coverage of file processing, exception handling, debugging, and data base access. Heavier
emphasis is focused on using the IDE’s drag and drop techniques to create data bound
applications. The new Visual Web Developer’s built-in Web server was used to create
ASP.NET 2.0 applications. In addition to these changes the second edition includes several
new topics.The following summarizes the changes in the second edition.
1. A number of new Web site resources were added as references. Chapter 3 identifies
and describes the new C# conceptual keywords. More examples of formatting data
using format specifiers were included.
2. Chapter 6 includes a new section on recursion.
3. Visual Studio 2005 separates the source code into three files when you create a simple
Windows application.The new .designer.cs file is examined in Chapter 8. Chapter 8
also introduces partial classes and several new properties of the Control class.The
SnapLine Layout mode, which makes it easier to align controls when they are initially
added to the form is illustrated.
4. Chapter 9 includes several new Windows forms controls including the new MenuStrip
and ToolTip objects.
5. Chapter 10 discusses how to create partial classes. It also provides an extensive sec-
tion on generics, which is one of the most powerful new feature added to C# 2.0.
6. Chapter 11 is a new chapter focused on debugging and handling exceptions.The
Debugger available in the IDE is illustrated in terms of adding breakpoints and single-
stepping through an application. In addition to discussing .NET exception classes,
custom exceptions are designed.
7. Chapter 12 is also new.The focus is on the major classes used to work with file and
directory systems. Examples are included illustrating how to write programs that
access stored data and programs that store results in a file.

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface xxi

8. Chapter 13 is a new chapter. It focuses on building data bound applications using


ADO.NET. Program statements are included, but the emphasis is on illustrating the
visual tools that can be used to create ADO.NET 2.0 applications that display and
update table data.This greatly simplifies accessing data.
9. With Visual Studio 2005, it is no longer necessary to install a separate Web server
(such as IIS) in order to build web applications.This simplifies development of web
applications and will enable you to incorporate this type of development more easily
into their curriculum. Chapter 14 discusses the use of the new Visual Web Developer’s
built-in web server to create ASP.NET Web applications.
10. Two new Appendices were added.Appendix C describes new code editor tools intro-
duced with Visual Studio 2005. Code snippets, refactoring, and enhancements to the
IntelliSense features are described in this appendix.Appendix C also illustrates how Visual
Studio can be used to create Class Diagrams and how code can be modified visually
using the diagrams.Appendix G provides guidelines and best practices Coding Standards.
It includes a list of naming and spacing conventions, suggestions for using comments and
different control statements, and provides overall suggestions for style issues.

APPROACH
A problem solving methodology based on object-oriented software development is intro-
duced early and used throughout the book. Programming Examples are presented at the end
of each chapter, and each example follows a consistent approach: analyzing the problem spec-
ifications, designing a solution, implementing the design, and verifying or validating the solu-
tion structures.
The author believes that the best way to learn to program is to experience programming.
This assumption drives the material presented in this textbook. As new concepts are intro-
duced, they are described using figures and illustrations. Examples are shown and discussed
as they relate to the concept being presented. With a hands-on approach to learning, you
practice and solidify the concepts presented by completing the end of the chapter exercises.
You are also encouraged throughout the book to explore and make use of the more than
2,000 classes that make up the Framework Class Library (FCL).
Every chapter begins with a list of objectives and a short overview of the previous chapter.
Text in each chapter is supplemented with figures and tables to help visual learners grasp the
concepts being presented. Each chapter is sprinkled with useful tips and hints on the con-
cepts being presented, and code snippets are embedded as new concepts are introduced in
each chapter. In addition, each chapter contains complete working programs illustrating an
application using C#. Every chapter ends with a summary of the major points covered in
that chapter and review exercises in both objective and subjective formats. Every chapter con-
tains ten programming exercises that give you an opportunity to experience programming.

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xxii C# Programming: From Problem Analysis to Program Design

Using this Book for Two Different Courses


Although this book is primarily intended for a beginning programming course, it will also
work well in an intermediate course. For courses introducing students to programming,
Chapters 1 through 7 should be covered in detail. Depending on how quickly students are
able to grasp the material, the course could end in any of the chapters following Chapter 7.
For example, ending with Chapter 8, Introduction to Windows Programming, would give
students an opportunity to get excited about continuing their work in programming in
upcoming semesters.
For an intermediate course, Chapter 1 could be skipped and students could merely scan
Chapters 2, 3, 5 and 6. Scanning these chapters, students could compare and contrast the
details of the C# language with programming languages they know. For the intermediate
course, Chapters 4 and 7 should be covered, because topics covered in these chapters—
Methods and Behaviors, and Arrays and Collections—are often more difficult for the student
to grasp. The remainder of the book beginning in Chapter 8 would be included for the
intermediate course.

Overview of the Chapters


Chapter 1 briefly reviews the history of computers and programming languages including
the evolution of C# and .NET.This chapter introduces data and describes how it is repre-
sented.The primary types of hardware components are described and differing types of soft-
ware are discussed. This chapter explains the difference between structured and
object-oriented programming and includes the software development methodology used
throughout the remainder of the book.
Chapter 2 describes the different types of applications that can be developed using C#. It dis-
cusses the basic elements found in a C# program. It illustrates how to compile, run, and debug
an application. After completing Chapter 2, you are ready to write programs. The focus in
Chapter 3 is data types and expressions.You gain an understanding of how types, classes, and
objects are related.You also learn how to perform arithmetic procedures on the data, how to
display formatted data, and how expressions are evaluated using the rules of precedence.
Chapter 4 extends the manipulation of the data through introducing methods and behaviors
of the data. You learn to write statements that call methods and to write your own instance
and class methods.You learn how to pass arguments to methods that return values and to
those that do not. Chapters 5 and 6 introduce control structures that alter the sequential flow
of execution. Selection control constructs are introduced in Chapter 5. Looping is introduced
in Chapter 6. Chapter 7 discusses arrays and collections. Methods of the String and ArrayList
class are also included in this chapter. Both single and multi-dimensional arrays are introduced.

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface xxiii

Chapters 8 and 9 present a different way of programming, which is based on interactively


responding to events.You are introduced to a number of classes in the FCL that are used to
create Windows applications. Elements of good design are discussed in Chapter 8. Delegates
are explored in Chapter 9.Visual Studio’s drag and drop approach to rapid application devel-
opment is introduced and used in these chapters.
Advanced object-oriented programming features are the focus of Chapter 10.You are intro-
duced to component-based development and learn how to create your own class library files.
Inheritance, interfaces, abstract classes, generic types, partial classes, and polymorphic pro-
gramming are discussed in detail. Advanced features such as overriding, overloading, and the
use of virtual methods are also included in Chapter 10.
Chapter 11 discusses debugging and exception handling techniques.The chapter introduces
one of the tools available in Visual Studio, the Debugger, which can be used to observe the
runtime environment, take an up-close look at the code, and locate logic errors.
The try…catch…finally block is discussed for handling exceptions. In addition to dis-
cussing .NET exception classes, custom exceptions are designed.
Chapter 12 presents the basics of creating, opening, closing, reading, and writing files. The
major classes used to work with file and directory systems are introduced. Chapter 13 intro-
duces a number of new namespaces collectively called ADO.NET, which consists of a man-
aged set of library classes that allow you to interact with databases.The chapter illustrates how
ADO.NET classes are used to retrieve and update data in databases.The visual programming
tools and wizards available with Visual Studio, which simplify accessing data, are covered in this
chapter.
The focus of Chapter 14 is on Web applications.You explore how the design of Web-based
applications differs from Windows applications.You discover the differences between static and
dynamic Web pages and how HTML and Web server controls differ. In Chapter 14, you learn
what a Web service is and how to write one.Also included in Chapter 14 is an introduction to
mobile applications that can be viewed with small personal devices such as a personal digital
assistant (PDA). Chapter 14 illustrates how validation controls can be used to check users’
input values and shows how the ADO.NET classes, introduced in Chapter 13, can also be used
with Web applications to access database records.
Appendix A describes how you can compile and execute a C# program from the command
line. It includes details on how this can be done from within Visual Studio or by using the
special Microsoft SDK. Instructions for how to download Microsoft’s Framework Software
Development Kit, a free download that includes everything needed to run C# programs
from the command line is included.
Appendix B assumes development will be done using the Integrated Development Envi-
ronment (IDE) of Visual Studio.To increase productivity, this appendix presents suggestions for
customizing the appearance and behavior of the IDE. Appendix C discusses two new Code
Editor features of Visual Studio, code snippets and refactoring. These new features improve

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xxiv C# Programming: From Problem Analysis to Program Design

programmer productivity by reducing the number of keystrokes required to enter program


statements.This appendix also illustrates developing applications visually using Class Diagrams.
Appendix D lists the Unicode and ASCII (American Standard Code for Information
Interchange) character sets. Appendix E shows the precedence of the C# operators and
Appendix F lists the C# keywords.
Appendix G provides a set of Coding Standards. Suggestions are made regarding naming
conventions. Recommendations for spacing, commenting, and use of control statements
are included in this appendix.

FEATURES
Every chapter in this book includes the following features.These features are both conducive
to learning in the classroom and enable you to learn the material at your own pace.
■ Four-color interior design shows accurate C# code and related comments.
■ Learning objectives offer an outline of the concepts discussed in detail in the chapter.
■ Hundreds of visual diagrams throughout the text illustrate difficult concepts.
■ Syntax boxes show the general form for different types of statements.
■ Numbered examples illustrate the key concepts with their relevant code, and the code
is often followed by a sample run.An explanation follows that describes the functions
of the most difficult lines of code.
■ Notes highlight important facts about the concepts introduced in the chapter.
■ Numerous tables are included which describe and summarize information compactly
for easy viewing.
■ Programming Examples are complete programs featured at the end of the chapter.The
examples contain the distinct stages of preparing a problem specification, analyzing the
problem, designing the solution, and coding the solution.
■ Quick Reviews offer a summary of the concepts covered in the chapter.
■ Exercises further reinforce learning and ensure that students have, in fact, absorbed the
material.
■ Programming Exercises challenge students to write C# programs with a specified
outcome.
■ Glossary at the end of the book lists all the key terms in alphabetical order along with
definitions, for easy reference.

Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Exploring the Variety of Random
Documents with Different Content
V. 23. Paroles et regards, tout est charme dans vous.
Cet éloge est trop direct, et le goût délicat de madame de
Montespan eût sans doute été plus flatté d'une louange plus fine.
Tout ce que lui dit La Fontaine est assez commun; mais il y a deux
vers bien singuliers:

V. 37. Et d'un plus grand maître que moi


Votre louange est le partage.

Ce grand maître était, comme on le sait, Louis XIV. Peut-être un


autre que La Fontaine n'eut pas osé s'exprimer aussi simplement;
mais la bonhommie a bien des droits.
FABLE I.
Ce second volume ouvre par le plus beau des Apologues de La
Fontaine, et de tous ses Apologues. Outre le mérite de l'exécution,
qui dans son genre est aussi parfaite que celle du chêne et du
roseau, cette fable a l'avantage d'un fond beaucoup plus riche et
plus étendu; et les applications morales en sont bien autrement
importantes. C'est presque l'histoire de toute société humaine.
Le lieu de la scène est imposant; c'est l'assemblée générale des
animaux. L'époque en est terrible, celle d'une peste universelle;
l'intérêt aussi grand qu'il peut être dans un Apologue, celui de
sauver presque tous les êtres; hôtes de l'univers sous le nom
d'animaux, comme a dit La Fontaine dans un autre endroit. Les
discours des trois principaux personnages, le lion, le renard et l'âne,
sont d'une vérité telle que Molière lui-même n'eût pu aller plus loin.
Le dénouement de la pièce a, comme celui d'une bonne comédie, le
mérite d'être préparé sans être prévu, et donne lieu à une surprise
agréable, après laquelle l'esprit est comme forcé de rêver à la leçon
qu'il vient de recevoir, et aux conséquences qu'elle lui présente.
Passons au détail.
L'auteur commence par le plus grand ton... Un mal qui répand la
terreur, etc... C'est qu'il veut remplir l'esprit du lecteur de
l'importance de son sujet, et de plus il se prépare un contraste avec
le ton qu'il va prendre dix vers plus bas.

V. 13. Les tourterelles se fuyaient;


Plus d'amour, partant plus de joie.

Quel vers que ce dernier! et peut-on mieux exprimer la désolation


que par le vers précédent?... Les tourterelles se fuyaient. Ce sont de
ces traits qui valent un tableau tout entier.
Il paraît, par le discours du lion, qu'il en agit de très-bonne foi, et
qu'il se confesse très-complettement. Remarquons pourtant après ce
grand vers:
V. 28. Même il m'est arrivé quelquefois de manger
Remarquons ce petit vers...
Le berger.
Il semble qu'il voudrait bien escamoter un péché aussi énorme. On
se rappelle cet acteur qui, dans Dupuis et Desronais, escamote par
sa prononciation le mot de cette petite, ste-p-tite fille.
Voyez ensuite ce scélérat de renard, ce maudit flatteur, qui ôte à son
roi le remords des plus grands crimes.

V. 37. ... Vous leur fîtes, seigneur,


En les croquant beaucoup d'honneur.

Puis vient ce trait de satire contre l'homme et contre ses prétentions


à l'empire sur les animaux, reproche qui est assez grave à leurs yeux
pour justifier leur roi d'avoir mangé le berger même. Aussi le
discours du renard a un grand succès.
Je ne dirai rien des grandes puissances qui se trouvent innocentes,
mais pesons chaque circonstance de la confession de l'âne.

V. 49. .... J'ai souvenance....


Qu'en un pré de moines passant....

Il ne faisait que passer. L'intention de pécher n'y était pas. Et puis un


pré de moines! la plaisante idée de La Fontaine d'avoir choisi des
moines, au lieu d'une commune de paysans, afin que la faute de
l'âne fût la plus petite possible, et la confession plus comique.
V. 56. Un loup quelque peu clerc.....
Voilà la science et la justice aux ordres du plus fort, comme il arrive,
et n'épargnant pas les injures, ce pelé, ce galeux, etc.
Enfin vient la morale énoncée très-brièvement:

V. 63. Selon que vous serez heureux ou misérable,


Les jugemens de cour vous rendront blanc ou noir.

Non-seulement les jugemens de cour, mais les jugemens de ville et


je crois ceux de village. Presque partout, l'opinion publique est aussi
partiale que les lois. Partout on peut dire comme Sosie dans
l'Amphytrion de Molière:

Selon ce que l'on peut être,


Les choses changent de nom.

FABLE II.
V. 6. Ne trouvez pas mauvais.....
Je ne sais pourquoi La Fontaine parle ainsi. On sait qu'il fut marié.
Oublierait-il sa femme? Rien n'est plus vraisemblable; il vécut loin
d'elle presque toute sa vie. Au surplus, après un Apologue excellent,
voilà une fable fort médiocre, et même on peut dire que ce n'est pas
une fable. C'est une aventure fort commune qui ne méritait guère la
peine d'être rimée.
FABLE III.
V. 1. Les Lévantins, etc...
On verra à la fin pourquoi La Fontaine met le lieu de la scène dans le
Levant.

V. 2. .... Las des soins d'ici bas,


....................
Se retira, etc.....

Remarquez ces expressions qui appartiennent à la langue dévote.


C'est ainsi que Molière met tous les termes de la mysticité dans la
bouche de Tartuffe.
V. 5. La solitude était profonde.
Ces mots si simples, si usités, deviennent plaisans ici, parce que
cette solitude était un vaste fromage.
V. 10. .... Que faut-il davantage?
Quelle modération!
V. 11. .... Dieu prodigue ses biens...
Allusion bien mesurée à la richesse de ceux qui ont renoncé aux
biens du siècle.
V. 14. Des députés...
Otez des huit vers suivans ces mots de Rats, Chats, Ratopolis, vous
croiriez qu'il s'agit d'une grande république, et que c'est ici une
narration de Vertot ou de Rollin.
V. 25. Les choses d'ici bas ne me regardent plus.
Nous avons vu un peu plus haut le prétexte de la dévotion cacher le
goût de toutes les jouissances. Nous voyons l'égoïsme et la dureté
monacale, cachés sous l'air de la sainteté. C'est après avoir parlé du
ciel, qu'il ferme sa porte a ces pauvres gens. L'auteur de Tartuffe dut
être bien content de cette petite fable. C'est vraiment un chef-
d'œuvre. Un goût sévère n'en effacerait qu'un seul mot, c'est celui
d'argent dans le récit du voyage des députés. Il fallait un terme plus
général, celui de provisions, par exemple.
V. 35. Je suppose qu'un moine....
C'est pour cela qu'il a mis la scène dans le Levant. Que de malice
dans la prétendue bonhommie de ce vers! et c'est le même auteur
qui vous a dit si crûment: votre ennemi, c'est votre maître. Craignait-
il plus les moines que les rois? Peut-être n'avait-il pas tout-à fait tort.
FABLE IV.
V. 1. Un jour sur ses longs pieds....
M. de Voltaire critique ces deux vers comme d'un style ignoble et
bas. Il me semble qu'ils ne sont que familiers, qu'ils mettent la chose
sous les yeux, et que ce mot long répété trois fois exprime
merveilleusement la conformation extraordinaire du héron.
A l'occasion de ce mot l'oiseau, qui finit le vers 12, et qui
recommence une autre phrase, je ferai quelques remarques que j'ai
omises jusqu'à présent sur la versification de La Fontaine. Nul poète
n'a autant varié la sienne par la césure et le repos de ses vers, par la
manière dont il entremêle les grands et les petits, par celle dont il
croise ses rimes. Rien ne contribue autant à sauver la poésie
française de l'espèce de monotonie qu'on lui reproche. Le genre
dans lequel La Fontaine a écrit, est celui qui se prêtait le plus à cette
variété de mesure, de rimes et de vers; mais il faut convenir qu'il a
été merveilleusement aidé par son génie, par la finesse de son goût,
et par la délicatesse de son oreille.
FABLE V.
V. 4. ... Notez ces deux points-ci.
La Fontaine a raison d'arrêter l'attention de son lecteur sur le bon
esprit de cette jeune personne, qui a songé à tout; mais que de
grâces dans cette précision: notez ces deux points-ci!
V. 25. Sans chagrin quoiqu'en solitude.
Pourquoi donc le dit-elle? Pourquoi y pense-t-elle? La Fontaine nous
le dit plus bas.
V. 40. Le désir peut loger chez une précieuse.
Quelle finesse dans cette peinture du cœur!
V. 30. Déloger quelques jeux, quelques ris, puis l'amour.
Peut-on exprimer avec plus de grâces cette idée si peu agréable en
elle-même?
Sa préciosité. Ce mot est employé si naturellement qu'on ne songe
pas qu'il est nouveau, et peut-être de l'invention de La Fontaine. On
sait que le mot précieuse se prenait d'abord en bonne part; il voulait
dire simplement des femmes distinguées par l'agrément de leur
conversation et par leurs connaissances. Et en effet, de telles
femmes sont d'un grand prix. Mais ce mérite devint bientôt une
prétention, et plusieurs se rendirent ridicules; on distingua alors
différentes espèces de précieuses, mais le nom fut encore respecté.
Molière même, pour ne pas se brouiller avec un corps si dangereux,
appela précieuses ridicules celles qu'il mit sur la scène; depuis ce
temps le mot précieuse se prit en mauvaise part, et c'est en ce sens
que La Fontaine s'en sert dans cette petite historiette, qu'il lui plaît
d'appeler une fable.
FABLE VI.
V. 11. Peuple ami du démon....
C'est-à-dire, ami de cet esprit, de ce folet.
V. 43. Les grands seigneurs leur empruntèrent.
Comme La Fontaine glisse cette circonstance avec une apparente
naïveté!

V. 49. ... Trésor, fuyez: et toi, déesse,


Mère du bon esprit....

On voit que La Fontaine parle ici d'abondance de cœur. C'est ce


sentiment qui anime ici son style, et lui inspire cette invocation.
V. 53. Avec elle ils rentrent en grâce.
Ne dirait-on pas que c'est une souveraine à la clémence de laquelle il
faut recourir, quand on a fait l'imprudence de la quitter pour la
fortune?
V. 58. Le follet en rit avec eux.
La Fontaine, au commencement de cette fable, a établi que le follet
était l'ami de ces bonnes gens, et s'intéressait véritablement à eux.
Cependant le follet n'a aucun regret qu'ils aient perdu cette
abondance tant désirée. Il en est au contraire fort aise, parce qu'il
voit qu'ils seront plus heureux dans la médiocrité. Peut-on rendre la
morale plus aimable et plus naturelle?
FABLE VII.
V. 28. Fut parent de Caligula.
La note de Coste, qui est au bas de la page, n'explique rien. Caligula
était non-seulement cruel, mais bizarre et capricieux; et on ne savait
souvent comment échapper à sa férocité. En voici un exemple. Sa
sœur Drusile étant morte, il la mit au rang des déesses. Il fit mourir
ceux qui la pleuraient, et ceux qui ne la pleuraient pas: les premiers,
parce qu'ils pleuraient une déesse; les autres, parce qu'ils étaient
contens de sa mort. C'est à ce trait et à quelques autres de la même
espèce que La Fontaine fait allusion en parlant du lion de cette fable.
C'est ce qui n'est point indiqué par la note de Coste.
FABLE VIII.

V. 3. .... Non ceux que le printemps


Mène à sa cour.....

Tournure poétique qui a l'avantage de mettre en contraste, dans


l'espace de dix vers, les idées charmantes qui réveillent le printems,
les oiseaux de Vénus, etc... et les couleurs opposées dans la
description du peuple vautour.
V. 27. Au col changeant....
Description charmante, qui a aussi l'avantage de contraster avec le
ton grave que La Fontaine a pris dans les douze ou quinze vers
précédens.
V. 41. Tenez toujours divisés les méchans.
Ceci n'est pas à la vérité une règle de morale: ce n'est qu'un conseil
de prudence; mais il ne répugne pas à la morale.
FABLE IX.
V. 1. Dans un chemin montant.....
Ces cinq premiers vers n'ont rien de saillant; mais ils mettent la
chose sous les yeux avec une précision bien remarquable. La
Fontaine emploie près de vingt vers à peindre les travaux de la
mouche, et son sérieux est très-plaisant; mais peut-être fallait-il être
La Fontaine pour songer air moine qui dit son bréviaire.
Ce petit Apologue est un des plus parfaits: aussi a-t-il donné lieu au
proverbe, la mouche du coche.
FABLE X.
Cette fable est charmante jusqu'à l'endroit adieu veau, vache, etc.
Ne passons pas à La Fontaine sa mauvaise rime de transportée et
couvée.
Quelques gens de goût ont blâmé, avec raison, ce me semble, la
femme en danger d'être battue; le récit qui en fut fait en une farce;
tout cela est froid; mais La Fontaine, après cette petite chute, se
relève bien vîte. Que de grâces et de naturel dans la peinture qu'il
fait de cette faiblesse, si naturelle aux hommes, d'ouvrir leur âme à
la moindre lueur d'espérance! Il se met lui-même en scène, car il ne
se pique pas d'être plus sage que ses lecteurs; et voilà un des
charmes de sa philosophie.
FABLE XI.
Nous ne ferons aucune remarque sur cette méchante petite
historiette à qui La Fontaine a fait, on ne sait pourquoi, l'honneur de
la mettre en vers. Elle a d'ailleurs l'inconvénient de retomber dans la
moralité de la précédente, qui vaut cent fois mieux; aussi personne
ne parle de Messire Jean Chouart, mais tout le monde sait le nom de
la pauvre Perrette.
FABLE XII.
V. 9. Pauvres gens! je les plains; car on a pour les fous, etc.
C'était le caractère de La Fontaine; et c'est ce qui a rendu sa satire
moins amère que celle de tant d'autres satiriques, qui ont pour les
fous plus de colère que de pitié.

V. 17. Le repos? le repos, trésor si précieux,


Qu'on en faisait jadis le partage des dieux?

Tout le monde a retenu ces deux vers qui expriment si bien le vœu
d'une âme douce et insouciante; mais ce sentiment est encore
mieux exprimé dans le charmant morceau de la fin de cet Apologue:
Heureux qui vit chez soi, etc.
V. 28. Cherchez, dit l'autre ami, etc.
Cette amitié là n'est pas bien vive, ce n'est pas comme celle des
deux amis du Monomotapa, livre 8, fable II. Mais dans cette fable-ci,
il y a un des deux amis qui est un avare ou un ambitieux; et ces
gens-là sont aimés froidement et aiment encore moins.
V. 31. Vous reviendrez bientôt....
Celui-ci connaît le monde et a bien pris son parti.
V. 33. L'ambitieux, ou, si l'on veut, l'avare.....
Vers admirable. En effet, l'ambition dans nos états modernes n'est
guère que de l'avarice. Cela est si vrai qu'on demande sur les places
les plus honorables: combien cela vaut-il? quel en est le revenu?
V. 41. Bref, se trouvant à tout, et n'arrivant à rien...
Ce vers-là devrait être la devise de certains vieux courtisans que l'on
connaît.
V. 5. ... Des temples à Surate.
Voilà qu'il se fait marchand.
V. 78. Il ne sait que par oui-dire.
La Fontaine est toujours animé, toujours plein de mouvement et
d'abondance, lorsqu'il s'agit d'inspirer l'amour de la retraite, de la
douce incurie, de la médiocrité dans les désirs. Voyez cette
apostrophe: Et ton empire, Fortune! Et puis cette longue période qui
semble se prolonger comme les fausses espérances que la fortune
nous donne, et l'adresse avec laquelle il garde pour la fin: Sans que
l'effet aux promesses réponde. Ce sont là de ces traits qui
n'appartiennent qu'à un grand poète.
FABLE XIII.

V. 2. Et voilà la guerre allumée.


Amour, tu perdis Troie;...

Quelle rapidité! quel mouvement! quel rapprochement heureux des


petites choses et des grands objets! c'est un des charmes du style
de La Fontaine.
V. 5. Où du sang des dieux même on vit le Xanthe teint.
Ce beau vers est un peu gâté par la dureté des deux dernières
syllabes Xanthe teint.
V. 9. Plus d'une Hélène, etc....
Rien de plus naturel que cette expression, après avoir parlé de la
guerre de Troie.
V. 13. Ses amours, qu'un rival, etc....
Quel doux regret, quel sentiment dans cette répétition! Le reste du
tableau est de la plus grande force et figurerait dans une ode.
V. 23. Tout cet orgueil périt, etc....
Ce vers est très-beau, mais il fallait s'arrêter là. La plaisanterie sur le
caquet des femmes est usée et peu digne de La Fontaine; d'ailleurs
ce caquet des poules n'avait rien de nouveau pour le coq.
FABLE XIV.
V. 3. ... N'exigea de péage.
Belle expression qui rajeunit une idée commune.
V. 12. Bref, il plut dans son escarcelle.
La Fontaine, en disant qu'il plut dans la bourse de ce marchand, a
voulu exprimer avec force qu'il avait fait fortune, sans qu'il l'eût
mérité par ses soins et par sa prévoyance; comme il a soin de dire
ensuite que, s'il fut ruiné, ce fut par son imprudence, par sa faute, et
même pour avoir trop dépensé. Mais, à la fin de son Apologue, il en
exprime trop longuement la moralité. Il fallait passer bien vite à ces
deux vers admirables:

Le bien nous le faisons: le mal c'est la Fortune.


On a toujours raison, le Destin toujours tort.

FABLE XV.

V. 6. C'est un torrent, qu'y faire? il faut qu'il ait son cours.


Cela fut et sera toujours.

Il est aisé de voir qu'il y a ici, dans les mots, une contradiction qui
nuit à la liaison des idées. Un torrent réveille l'idée d'une chose qui
passe, et cela fut et sera toujours, exprime précisément l'idée
contraire.
V. 10. Perdait-on un chiffon, avait-on, etc.....
Ces cinq vers sont charmans. C'est une peinture de mœurs qui est
encore fidèle de nos jours; et ce dernier trait: Pour se faire annoncer
ce que l'on desirait, développe les derniers replis du cœur humain.
Il y a un mot d'omis dans l'imprimé, il faut lire:
Chez la devineresse aussitôt on courait.
Sans quoi il n'y a point de vers. Voyez le vers 13.
Fallut deviner.
Dans ce style familier, on peut supprimer il et dire fallut au lieu de il
fallut.
Et gagner malgré soi...
C'est en partie ce qui arriva au Médecin malgré lui de Molière.
Force écoutans....
Le lecteur croit que La Fontaine va ajouter, parce que cet orateur est
l'oracle du barreau. Point du tout; il ajoute, demandez-moi pourquoi,
et se moque à la fois et du public et de l'avocat. C'est une épée à
deux tranchans. C'est l'art des grands maîtres de savoir se jouer à
propos de leur sujet.
FABLE XVI.

V. 6. ... Faire à l'Aurore sa cour,


Parmi le thym et la rosée.

La Fontaine possède cet art, qui dit sans s'avilir les plus petites
choses, selon l'expression de Boileau; mais nous verrons cette idée
exprimée encore bien plus poétiquement dans la fable quinzième du
livre 10.
V. 19. .... Où lui-même il n'entrait qu'en rampant!
Elle voudrait en dégoûter Jeannot Lapin, car elle n'est pas elle-même
bien sûre de ses droits.
V. 20. Et quand ce serait un royaume.
Il est plaisant de voir l'importante question de la propriété très-bien
discutée à l'occasion d'un trou de lapin. Le dénouement de cette
fable ressemble un peu à celui de l'huitre et des plaideurs, sauf qu'il
est plus tragique pour les parties disputantes.
FABLE XVII.
V. 1. Le serpent a deux parties.
Cette fable écrite du style le plus simple, et bien moins ornée que les
précédentes, n'est pas d'une grande application dans nos mœurs;
mais elle en avait beaucoup dans nos anciennes démocraties.
Je n'aime pas ces petits vers,

V. 8. Pour le pas....
V. 11. Et lui dit:

Tout cela me paraît de pures négligences; mais il y en a deux très-


bons.

V. 28. Le ciel eut pour ses vœux une bonté cruelle.


Souvent sa complaisance a de méchans effets.

FABLE XVIII.
La petite aventure que raconte ici La Fontaine, arriva à Londres vers
ce temps-là, et donna lieu à cette pièce de vers, qu'il plaît à La
Fontaine d'appeler une fable.
V. 14. J'en dirai quelque jour les raisons amplement.
Cela n'a l'air que d'une plaisanterie: cependant La Fontaine s'avisait
quelquefois de traiter des sujets de philosophie et de physique,
auxquels il n'entendait pas grand-chose. Il s'est donné la peine de
faire un poème en quatre chants sur le quinquina. Au reste le
Prologue de cette fable-ci serait excellent, si on faisait une coupure
après le treizième vers; que l'on passât tout de suite au trentième,
quand l'eau courbe un bâton. Tout ce que dit le poète, est exprimé
avec autant d'exactitude que pourrait en avoir un philosophe qui
écrirait en prose.
V. 47. Qui présageait sans doute un grand événement.
On croyait encore que les astres avaient de l'influence sur nos
destinées.

V. 54. Peuple heureux! quand pourront les Français,


Se donner comme vous entiers à ces emplois?

Ne serait-il pas mieux de dire?


Unir, ainsi que vous, les arts avec la paix!
Car emplois ne rime même plus aux yeux, depuis qu'on a adopté
l'orthographe de Voltaire pour le mot Français.

LIVRE HUITIÈME.

FABLE I.
Ce premier Apologue est parfait; non qu'il soit aussi brillant, aussi
riche de poésie, aussi varié, que le sont quantité d'autres. Ce n'est
que le ton d'une raison sage, simple et tranquille. On a dit que
Boileau était le premier parmi nous qui eût mis la raison en vers. Il
me semble qu'il est le premier qui ait mis en vers les préceptes de la
raison, en matière de goût et de littérature; mais La Fontaine a mis
en vers les préceptes de la raison universelle, comme Molière y a mis
ceux qui sont relatifs à la société; et ces deux empires sont plus
étendus que ceux du goût et de la littérature.
Le ton du Prologue est touchant comme il devait l'être sur un sujet
qui intéresse tous les hommes. Quel vers que celui-ci!
V. 5. Ce temps, hélas! embrasse tous les temps.
Et à la fin de la pièce, quoi de plus admirable que cet autre:
V. dernier. Le plus semblable aux morts meurt le plus à regret.
FABLE II.
V. 1. Un savetier chantait, etc....
Voici un Apologue d'un ton propre à bannir le sérieux du précédent.
C'est La Fontaine dans tout son talent, avec sa grâce, sa variété
ordinaire. La conversation du savetier et du financier ne serait pas
indigne de Molière lui-même; il dut être sur-tout frappé du trait:

V. 45. Si quelque chat faisait du bruit;


Le chat prenait l'argent, etc...

Et de cet autre:

V. 37. ... Dans sa cave il enserre


L'argent et sa joie à la fois.

Il y a un autre trait qui dut donner à rêver à Molière, c'est celui, plus
content qu'aucun des sept Sages. Molière, si philosophe, et malgré
sa philosophie, si malheureux, dut faire quelque attention à ce vers.
Ne relevons pas quelques mauvaises rimes, comme celle de
monsieur, qu'on pardonnait alors parce qu'elle rimait aux yeux; et
cette autre, naïveté et curé.
FABLE III.
V. 5. .... Il en est de tous arts.
Je ne sais ce que cela veut dire. Veut-il dire que, dans toutes les
professions, il y a des gens qui se mêlent de médecine? en ce cas,
cela est mal exprimé. Ce n'est pas sa coutume.

V. 10. .... Daube, au coucher du roi,


Son camarade absent....
On dit, sur ce trait, dans l'éloge de La Fontaine: Suis-je dans l'antre
du lion? suis-je à la cour? On pourrait presque ajouter que l'illusion
se prolonge jusqu'à la fin de cette charmante fable.
FABLE IV.
V. 1. La qualité d'ambassadeur.
Ce M. de Barillon était l'un des plus aimables hommes du siècle de
Louis XIV. Il était intime ami de madame de Sévigné, à qui il disait:
En vérité, celui qui vous aime plus que moi vous aime trop. Il avait le
plus grand talent pour les négociations, comme on le voit dans les
mémoires de Dalrimple imprimés de nos jours; mais de son temps, il
ne passait que pour un homme de beaucoup d'esprit et un homme
de plaisir. C'est qu'il méprisait la charlatannerie de sa place, et
qu'alors cette morgue faisait plus d'effet qu'à présent.
Au reste, le Prologue que lui adresse ici La Fontaine me paraît assez
médiocre; mais la petite historiette qui fait le sujet de cette
prétendue fable, est très-agréablement contée.
V. 65. Nous sommes tous d'Athènes en ce point...
Est une transition très-heureuse. Et quand La Fontaine ajoute qu'il
s'amuserait du conte de Peau-d'âne, il peint les effets de son
caractère. Il eut la constance d'aller voir, trois semaines de suite, un
charlatan qui devait couper la tête à son coq, et la lui remettre sur le
champ. Il est vrai qu'il trouvait toujours des prétextes de différer
jusqu'au lendemain. On avertit La Fontaine que le lendemain
n'arriverait pas. Il en fut d'une surprise extrême.
FABLE V.
V. 1. Par des vœux importuns, etc....
Cette distribution égale de huit vers pour le Prologue, et de huit
autres pour la fable, rappelle ce que nous avons dit dans la note sur
celle du coq et de la perle, liv. I, fable 20.
FABLE VI.
V. 1. Rien ne pèse autant qu'un secret:
Cette petite historiette, dont la moralité n'est pas neuve, est bien
joliment contée. Renommée, journée, mauvaise rime. Le dialogue
des deux femmes est très-naturel. C'est un des talens de La
Fontaine, et voilà ce que n'ont pas les autres fabulistes.
FABLE VII.
V. 1. Nous n'avons pas les yeux à l'épreuve des belles.
Lamotte, fabuliste très-inférieur à La Fontaine, a rapproché ces deux
idées dans un vers fort heureux. Il dit que les juges ont très-
souvent,
Pour les présens des mains, pour les belles des yeux.
V. 6. S'était fait un collier, etc....
Précision très-heureuse et qui fait peinture.
V. 7. Il était tempérant plus qu'il n'eût voulu l'être.
Vers très-plaisant, qui exprime à merveille le combat entre l'appétit
du chien, et la victoire que son éducation le force à remporter sur
lui-même.
V. 25. .... Et, lui sage, il leur dit:
Il est difficile de blâmer la conduite de ce chien; cependant comme il
est, dans cette fable, le représentant, d'un échevin ou d'un prévôt
des marchands, La Fontaine n'aurait pas dû lui donner l'épithète de
sage. Il a l'air d'approuver par ce mot ce voleur qui suit l'exemple
des autres: proposition insoutenable en morale. Mais l'échevin doit
dire: Messieurs, volez tant qu'il vous plaira, je ne puis l'empêcher, je
me retire. Mais d'où vient le même fait offre-t-il un résultat moral si
différent, quant au chien et quant à l'échevin? La cause de cette
différence vient de ce que le chien n'étant pas obligé d'être moral,
en admire son instinct dont il fait ici un très-bon usage. Mais
l'homme étant oblige de mettre la moralité dans toutes ses actions, il
cesse, lorsqu'elles n'en ont pas, de faire un bon usage de sa raison.
FABLE VIII.
V. 2. Cet art veut, sur tout autre, un suprême mérite.
Cela est vrai; et quand on le possède, on n'est pourtant qu'un rieur,
un plaisant, et c'est un triste rôle. On dit avec raison: l'honnête
homme ne met aucune affiche.
V. 26. J'en doute, etc....
Je ne sais pas pourquoi. La plaisanterie n'est point du tout mauvaise,
surtout dans la bouche d'un de ces hommes que les anciens
appelaient parasites.
FABLE IX.
V. 1. Un rat, hôte d'un champ, etc...
On reconnaît tout le talent de La Fontaine dans le discours du rat,
dans la peinture de l'huitre bâillant au soleil, dans celle du rat surpris
au moment où l'huitre se referme; et voyez comme ce dernier mot
est rejeté au commencement du vers, par une suspension qui met la
chose sous les yeux, et le naturel de la leçon qui termine la phrase.
On peut blâmer, dans le discours du rat, ce vers:
V. 16. J'ai passé les déserts; mais nous n'y bûmes point.
C'est quelque propos populaire et trivial dont on se passerait bien;
mais il n'appartient qu'à La Fontaine de rendre cette sorte de naturel
supportable aux honnêtes gens; nous en verrons plus bas un autre
exemple dans la fable du singe et du léopard.
V. 34. Cette fable contient plus d'un enseignement.
Il n'en faut qu'un dans une fable bien faite. J'aurais voulu que La
Fontaine exprimât l'idée suivante: Quand on est ignorant, il faut
suppléer au défaut d'expérience par une sage réserve et par une
défiance attentive.
FABLE X.
V. 4. Il fût devenu fou: la raison d'ordinaire....
Nul poète, nul auteur ne prêche plus souvent l'amour de la retraite,
et ne la fait aimer davantage. Mais la retraite et la solitude absolue
sont deux choses bien différentes. La première est le besoin du
sage, et la seconde est la manie d'un fou insociable; c'est ce que La
Fontaine exprime si bien dans ces vers charmans:

V. 14. Il aimait les jardins, était prêtre de Flore,


Il l'était de Pomone encore.
Ces deux emplois sont beaux: mais je voudrais parmi
Quelque doux et discret ami.

Nous verrons ce sentiment, développé avec plus de grâce et


d'intérêt encore, dans la fable suivante et dans celle des deux
pigeons.
FABLE XI.
V. 2. L'un ne possédait rien qui n'appartînt à l'autre.
Après ce vers qui dit tout, La Fontaine n'ajoute plus rien. Quelle
grâce encore et quelle mesure dans ce mot, dit-on? Avec moins de
goût, un autre poète aurait fait une sortie contre les amis de notre
pays. C'est l'art de La Fontaine de faire entendre beaucoup plus qu'il
ne dit.
V. 9. Morphée avait touché le seuil de ce palais.
Toujours quelque grand trait de poésie, sans jamais blesser le
naturel.
V. 16. J'ai mon épée, allons....
Voici qui paraît bien français, et l'on croirait que nous ne sommes
point au Monomotapa.
V. 18. .... Voulez-vous qu'on l'appelle?
Nous ne sommes plus en France; nous voilà dans le fond de
l'Afrique.
V. 21. Vous m'êtes en dormant un peu triste apparu.
Quel sentiment dans ce mot, un peu. La fin de cet Apologue est au-
dessus de tout éloge, tout le monde le sait par cœur.
FABLE XII.
V. 1. Une chèvre, un cochon, etc....
Cette fable est très-bien écrite et parfaitement contée; mais quelle
morale, quelle règle de conduite peut-on en tirer? Aucune. La
Fontaine l'a bien senti.

V. 29. Dom pourceau raisonnait en subtil personnage.


Mais que lui servait-il?...

Il en conclut, avec raison, que, dans les malheurs certains, le moins


prévoyant est encore le plus sage. Mais peut-on se donner ou s'ôter
la prévoyance? Dépend-il de nous de voir plus ou moins loin? Il ne
faut pas conduire ses lecteurs dans une route sans issue.
FABLE XVIII.
V. 1. Un marchand grec, etc....
J'ai déjà observé que c'est la manière de Pilpai d'amener une fable à
la suite d'une historiette; et on sent combien cette manière est
défectueuse. La vérité que veut établir ici La Fontaine, n'avait nul
besoin de cette espèce de Prologue: c'est ce qu'on verra aisément,
en sautant le Prologue et en commençant à ces mots: Il était un
berger, etc.....
FABLE XIX.
V. 4. L'autre riche, mais ignorant.
Il serait très-malheureux que l'utilité de la science ne pût se prouver
que dans une circonstance aussi fâcheuse que la ruine d'une ville. La
société ordinaire offre une multitude d'occasions, où ses avantages
deviennent frappans; et l'Apologue de La Fontaine ne prouve pas
assez en faveur de la science. Il laisse à l'ignorant trop de choses à
répondre. Au surplus, il faut toujours supposer qu'il s'agit de la
science unie au bon sens; car, comme a dit Molière:
Un sot savant est sot, plus qu'un sot ignorant.
FABLE XX.
V. 1. Jupiter voyant nos fautes....
Cette fable pouvait avoir plus d'intérêt et plus de vraisemblance chez
les anciens, qui attribuaient à différens dieux différens départemens.
Mais elle ne signifie pas grand chose pour nous qui admettons une
providence, dispensatrice immédiate des biens et des maux.
N'oublions pas de remarquer un vers charmant:
V. 41. Tout père frappe à côté.
Mais La Fontaine a tort de revenir sur cette idée, et de dire huit vers
après:
V. 49. On lui dit qu'il était père.
Ce dernier vers ne peut faire aucun effet après l'autre.
FABLE XXI.
V. 5. Un citoyen du Mans, etc....
Cette fable rentre un peu dans celle du mouton, du pourceau et de
la chèvre, avec cette différence que le chapon est plus maître
d'échapper à son sort. Il faut supposer que le chapon s'envole de la
basse-cour pour n'y plus revenir, ce que pourtant La Fontaine ne dit
pas. Au reste, elle est contée plus gaiment que l'autre.

V. 16. Les chapons ont en nous fort peu de confiance,


Soit instinct, soit expérience.

Cela est plaisant; et le chapon qui


V. 19. Devait le lendemain être d'un grand souper!
Je voudrais seulement que l'Apologue finît par un trait plus saillant.
FABLE XXII.

V. 9. Les derniers traits de l'ombre empêchent qu'il ne voie


Le filet....

Cette suspension est pleine de goût.... Le chat est pris.


V. 16. Sont communes en mon endroit.
Il veut dire, ont été fréquentes à mon égard. Cela n'est pas bien
exprimé; mais remarquons qu'il feint d'avoir déjà reçu du rat
plusieurs services. Il sait qu'on est porté à faire du bien à ceux
auxquels on en a déjà fait.
Le résultat de cette fable n'est pas une leçon de morale, mais elle
est un conseil de prudence; et cette prudence n'a rien dont la
morale soit blessée. Ainsi l'Apologue est très-beau.
FABLE XXIII.
V. 1. Avec grand bruit et grand fracas.
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