100% found this document useful (2 votes)
159 views

Download full C Programming From Problem Analysis to Program Design 4th Edition Barbara Doyle ebook all chapters

Programming

Uploaded by

oishiawuahsj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
159 views

Download full C Programming From Problem Analysis to Program Design 4th Edition Barbara Doyle ebook all chapters

Programming

Uploaded by

oishiawuahsj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 81

Visit https://ebookgate.

com to download the full version and


explore more ebooks

C Programming From Problem Analysis to Program


Design 4th Edition Barbara Doyle

_____ Click the link below to download _____


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

Explore and download more ebooks at ebookgate.com


Here are some recommended products that might interest you.
You can download now and explore!

Java Programming From Problem Analysis to Program Design


4th Edition D. S. Malik

https://ebookgate.com/product/java-programming-from-problem-analysis-
to-program-design-4th-edition-d-s-malik/

ebookgate.com

C Programming From Problem Analysis to Program Design 5th


5th Edition D. S. Malik

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

ebookgate.com

C Programming Program design including data structures


5ed. Edition Malik D.S.

https://ebookgate.com/product/c-programming-program-design-including-
data-structures-5ed-edition-malik-d-s/

ebookgate.com

C Programming Program Design Including Data Structures 7th


Edition D. S. Malik

https://ebookgate.com/product/c-programming-program-design-including-
data-structures-7th-edition-d-s-malik/

ebookgate.com
C Programming Program Design Including Data Structures 6th
Edition D. S. Malik

https://ebookgate.com/product/c-programming-program-design-including-
data-structures-6th-edition-d-s-malik/

ebookgate.com

Fixed Income Analysis 4th edition Edition Barbara S Petitt

https://ebookgate.com/product/fixed-income-analysis-4th-edition-
edition-barbara-s-petitt/

ebookgate.com

Programming in Objective C 4th Edition Stephen Kochan

https://ebookgate.com/product/programming-in-objective-c-4th-edition-
stephen-kochan/

ebookgate.com

C Programming Data Structures 4th Edition E. Balagurusamy

https://ebookgate.com/product/c-programming-data-structures-4th-
edition-e-balagurusamy/

ebookgate.com

Reading the Middle Ages From c 900 to c 1500 3. ed.


Edition Barbara H. Rosenwein

https://ebookgate.com/product/reading-the-middle-ages-
from-c-900-to-c-1500-3-ed-edition-barbara-h-rosenwein/

ebookgate.com
C# PROGRAMMING:
FROM PROBLEM ANALYSIS TO PROGRAM DESIGN

FOURTH EDITION

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
This is an electronic version of the print textbook. Due to electronic rights restrictions,
some third party content may be suppressed. Editorial review has deemed that any suppressed
content does not materially affect the overall learning experience. The publisher reserves the right
to remove content from this title at any time if subsequent rights restrictions require it. For
valuable information on pricing, previous editions, changes to current editions, and alternate
formats, please visit www.cengage.com/highered to search by ISBN#, author, title, or keyword for
materials in your areas of interest.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
C# PROGRAMMING:
FROM PROBLEM ANALYSIS TO PROGRAM DESIGN

FOURTH EDITION

BARBARA DOYLE

Australia l Brazil l Japan l Korea l Mexico l Singapore l Spain l United Kingdom l United States

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
C# Programming: From Problem Analysis © 2014 Cengage Learning
to Program Design, Fourth Edition
ALL RIGHTS RESERVED. No part of this work covered by the copyright
Barbara Doyle herein may be reproduced, transmitted, stored or used in any form or
by any means graphic, electronic, or mechanical, including but not
Executive Editor: Kathleen McMahon
limited to photocopying, recording, scanning, digitizing, taping, Web
Senior Product Manager: Alyssa Pratt distribution, information networks, or information storage and
Editorial Assistant: Sarah Ryan retrieval systems, except as permitted under Section 107 or 108 of the
1976 United States Copyright Act, without the prior written permission
Content Project Manager: Jennifer Feltri-George
of the publisher.
Art Director: Cheryl Pearl, GEX
Manufacturing Planner: Julio Esperas
Cover Designer: GEX Publishing Services For product information and technology assistance, contact us at
Cover Photo: ©iurii /Shutterstock Cengage Learning Customer & Sales Support,
www.cengage.com/support
Copyeditor: Andrea Schein
Indexer: Sharon Hilgenberg For permission to use material from this text or product,
submit all requests online at cengage.com/permissions
Compositor: Integra
Further permissions questions can be e-mailed to
[email protected]

Library of Congress Control Number: 2013932312


ISBN-13: 978-1-285-09626-1
ISBN-10: 1-285-09626-6
Cengage Learning
20 Channel Center Street
Boston, MA 02210
USA

Some of the product names and company names used in this book have
been used for identification purposes only and may be trademarks or
registered trademarks of their respective manufacturers and sellers.
Any fictional data related to persons or companies or URLs used
throughout this book is intended for instructional purposes only. At the
time this book was printed, any such data was fictional and not
belonging to any real persons or companies.
Cengage Learning reserves the right to revise this publication and
make changes from time to time in its content without notice.
The programs in this book are for instructional purposes only. They
have been tested with care, but are not guaranteed for any
particular intent beyond educational purposes. The author and the
publisher do not offer any warranties or representations, nor do they
accept any liabilities with respect to the programs.
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: www.cengage.com/global
Cengage Learning products are represented in Canada by Nelson
Education, Ltd.
To learn more about Cengage Learning visit
www.cengage.com.
Purchase any of our products at your local college store or at our
preferred online store: www.cengagebrain.com

Printed in the United States of America


1 2 3 4 5 6 7 19 18 17 16 15 14 13
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
B RIEF C ONTENTS

Neale Cousland / Shutterstock.com

PREFACE xxi

1. Introduction to Computing and Programming 1

2. Data Types and Expressions 65

3. Methods and Behaviors 131

4. Creating Your Own Classes 191

5. Making Decisions 247

6. Repeating Instructions 313

7. Arrays 383

8. Advanced Collections 439

9. Introduction to Windows Programming 493

10. Programming Based on Events 577

11. Advanced Object-Oriented Programming Features 691

12. Debugging and Handling Exceptions 775

13. Working with Files 837

14. Working with Databases 893

15. Web-Based Applications 979

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
vi | C# Programming: From Problem Analysis to Program Design, Fourth Edition

APPENDIX A Visual Studio Configuration 1083

APPENDIX B Code Editor Tools 1099

APPENDIX C Character Sets 1111

APPENDIX D Operator Precedence 1113

APPENDIX E C# Keywords 1115

GLOSSARY 1117

INDEX 1131

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
TABLE OF C ONTENTS

Neale Cousland / Shutterstock.com

Preface xxi

INTRODUCTION TO COMPUTING AND PROGRAMMING 1


1 History of Computers 2
System and Application Software 4
System Software 4
Application Software 6
Software Development Process 6
Steps in the Program Development Process 7
Programming Methodologies 13
Structured Procedural Programming 14
Object-Oriented Programming 16
Evolution of C# and .NET 19
Programming Languages 19
.NET 21
Why C#? 23
Types of Applications Developed with C# 24
Web Applications 24
Windows Applications 25
Console Applications 26
Exploring the First C# Program 27
Elements of a C# Program 28
Comments 28
Using Directive 30
Namespace 32
Class Definition 32

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
viii | C# Programming: From Problem Analysis to Program Design, Fourth Edition

Main( ) Method 33
Method Body Statements 34
Compiling, Building, and Running an Application 38
Typing Your Program Statements 38
Compilation and Execution Process 39
Compiling the Source Code Using Visual Studio IDE 39
Debugging an Application 45
Syntax Errors 45
Run-time Errors 47
Creating an Application 47
Coding Standards 52
Pseudocode 52
Resources 53
Quick Review 53
Exercises 56
Programming Exercises 61

DATA TYPES AND EXPRESSIONS 65


2 Data Representation 66
Bits 66
Bytes 66
Binary Numbering System 66
Character Sets 69
Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte. . . 70
Memory Locations for Data 70
Identifiers 71
Variables 75
Literal Values 75
Types, Classes, and Objects 76
Types 76
Classes 77
Objects 78
Predefined Data Types 79
Value Types 80

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Table of Contents | ix

Integral Data Types 82


Floating-Point Types 85
Decimal Types 86
Boolean Variables 87
Declaring Strings 88
Making Data Constant 88
Assignment Statements 89
Basic Arithmetic Operations 92
Increment and Decrement Operations 95
Compound Operations 98
Order of Operations 100
Mixed Expressions 102
Casts 103
Formatting Output 104
Width Specifier 109
Coding Standards 119
Naming Conventions 119
Spacing Conventions 119
Declaration Conventions 120
Resources 120
Quick Review 120
Exercises 121
Programming Exercises 127

METHODS AND BEHAVIORS 131


3 Anatomy of a Method 132
Modifiers 134
Return Type 137
Method Name 138
Parameters 138
Method Body 139
Calling Class Methods 141
Predefined Methods 143
Writing Your Own Class Methods 157
Void Methods 157
Value-Returning Method 159
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
x | C# Programming: From Problem Analysis to Program Design, Fourth Edition

Types of Parameters 164


Named and Optional Parameters 169
Default Values with Optional Parameters 170
Named Parameters 171
Coding Standards 180
Naming Conventions 180
Spacing Conventions 180
Declaration Conventions 180
Commenting Conventions 181
Resources 181
Quick Review 181
Exercises 182
Programming Exercises 189

CREATING YOUR OWN CLASSES 191


4 The Object Concept 192
Private Member Data 193
Constructor 197
Writing Your Own Instance Methods 200
Accessor 200
Mutators 201
Other Instance Methods 202
Property 202
ToString( ) Method 204
Calling Instance Methods 206
Calling the Constructor 206
Calling Accessor and Mutator Methods 208
Calling Other Instance Methods 209
Testing Your New Class 210
Coding Standards 235
Naming Conventions 235
Classes 235
Properties 235
Methods 236

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Table of Contents | xi

Constructor Guidelines 236


Spacing Conventions 236
Resources 236
Quick Review 237
Exercises 238
Programming Exercises 244

MAKING DECISIONS 247


5 Boolean Expressions 248
Boolean Results 248
Conditional Expressions 249
Equality, Relational, and Logical Tests 250
Short-Circuit Evaluation 258
Boolean Data Type 260
if. . .else Selection Statements 261
One-Way if Statement 261
Two-Way if Statement 266
Nested if. . .else Statement 273
Switch Selection Statements 279
Ternary Operator ? : 283
Order of Operations 285
Coding Standards 298
Guidelines for Placement of Curly Braces 299
Guidelines for Placement of else with Nested if Statements 299
Guidelines for Use of White Space with a Switch Statement 299
Spacing Conventions 300
Advanced Selection Statement Suggestions 300
Resources 300
Quick Review 301
Exercises 302
Programming Exercises 310

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xii | C# Programming: From Problem Analysis to Program Design, Fourth Edition

REPEATING INSTRUCTIONS 313


6 Why Use a Loop? 314
Using the While Statement 314
Counter-Controlled Loop 316
Sentinel-Controlled Loop 321
State-Controlled Loops 332
Using the for Statement Loop 335
Using the Foreach Statement 342
Using the Do...while Structure 343
Nested Loops 346
Recursive Calls 351
Unconditional Transfer of Control 354
Continue Statement 355
Deciding Which Loop to Use 356
Coding Standards 370
Guidelines for Placement of Curly Braces 371
Spacing Conventions 371
Advanced Loop Statement Suggestions 371
Resources 372
Quick Review 372
Exercises 373
Programming Exercises 379

ARRAYS 383
7 Array Basics 384
Array Declaration 385
Array Initializers 388
Array Access 390
Sentinel-Controlled Access 394
Using Foreach with Arrays 395
Array Class 396
Arrays as Method Parameters 401
Pass by Reference 401
Array Assignment 405
Params Parameters 406

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Table of Contents | xiii

Arrays in Classes 408


Array of User-Defined Objects 410
Arrays as Return Types 410
Coding Standards 428
Guidelines for Naming Arrays 428
Advanced Array Suggestions 428
Resources 429
Quick Review 429
Exercises 430
Programming Exercises 437

ADVANCED COLLECTIONS 439


8 Two-Dimensional Arrays 440
Rectangular Array 440
Jagged Array 450
Multidimensional Arrays 450
ArrayList Class 455
String Class 459
Other Collection Classes 465
BitArray 466
Hashtable 467
Queue 469
Stack 470
Coding Standards 479
Guidelines for Naming Collections 479
Advanced Array Suggestions 479
Resources 479
Quick Review 480
Exercises 481
Programming Exercises 488

INTRODUCTION TO WINDOWS PROGRAMMING 493


9 Contrasting Windows and Console Applications 494
Graphical User Interfaces 496

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xiv | C# Programming: From Problem Analysis to Program Design, Fourth Edition

Elements of Good Design 500


Consistency 500
Alignment 500
Avoid Clutter 501
Color 501
Target Audience 501
Using C# and Visual Studio to Create Windows-Based
Applications 502
Windows Forms 505
Windows Forms Properties 505
Inspecting the Code Generated by Visual Studio 511
Windows Forms Events 515
Controls 517
Placing, Moving, Resizing, and Deleting Control Objects 520
Methods and Properties of the Control Class 521
Derived Classes of the System.Windows.Forms.Control Class 524
Coding Standards 567
Guidelines for Naming Controls 567
Resources 567
Quick Review 568
Exercises 569
Programming Exercises 574

PROGRAMMING BASED ON EVENTS 577


10 Delegates 578
Defining Delegates 578
Creating Delegate Instances 579
Using Delegates 580
Relationship of Delegates to Events 583
Event Handling in C# 583
Event-Handler Methods 584
ListBox Control Objects 585
Creating a Form to Hold ListBox Controls 585
ListBox Event Handlers 588
Multiple Selections with a ListBox Object 589
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Table of Contents | xv

ComboBox Control Objects 601


Adding ComboBox Objects 602
Handling ComboBox Events 602
Registering a KeyPress Event 603
Programming Event Handlers 603
MenuStrip Control Objects 605
Adding Menus 606
Adding Predefined Standard Windows Dialog Boxes 610
CheckBox and RadioButton Objects 618
CheckBox Objects 618
Adding CheckBox Objects 619
Registering CheckBox Object Events 619
Wiring One Event Handler to Multiple Objects 621
GroupBox Objects 622
RadioButton Objects 622
Adding RadioButton Objects 622
Registering RadioButton Object Events 624
Windows Presentation Foundation (WPF) 633
TabControl Objects 639
Coding Standards 680
Resources 680
Quick Review 680
Exercises 682
Programming Exercises 688

ADVANCED OBJECT-ORIENTED PROGRAMMING


11 FEATURES 691
Object-Oriented Language Features 692
Component-Based Development 693
Inheritance 694
Inheriting from the Object Class 695
Inheriting from Other .NET FCL Classes 695
Creating Base Classes for Inheritance 696
Overriding Methods 699
Creating Derived Classes 700
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xvi | C# Programming: From Problem Analysis to Program Design, Fourth Edition

Making Stand-Alone Components 705


Creating a Client Application to Use the DLL 715
Using ILDASM to View the Assembly (Optional) 719
Abstract Classes 721
Abstract Methods 721
Sealed Classes 724
Sealed Methods 725
Partial Classes 725
Creating Partial Classes 726
Interfaces 726
Defining an Interface 727
Implementing the Interface 728
.NET Framework Interfaces 733
Polymorphism 734
Polymorphic Programming in .NET 736
Generics 737
Generic Classes 737
Generic Methods 741
Dynamic 742
Dynamic data type 743
var data type 744
Coding Standards 764
Resources 765
Quick Review 765
Exercises 767
Programming Exercises 772

DEBUGGING AND HANDLING EXCEPTIONS 775


12 Errors 776
Run-Time Errors 777
Debugging in C# 778
Exceptions 786
Raising an Exception 790
Bugs, Errors, and Exceptions 791

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Table of Contents | xvii

Exception-Handling Techniques 793


Try. . .Catch. . .Finally Blocks 794
Exception Object 798
Exception Classes 799
Derived Classes of the Base Exception Class 799
ApplicationException Class 800
SystemException Class 801
Filtering Multiple Exceptions 802
Throwing an Exception 809
Input Output (IO) Exceptions 810
Coding Standards 828
Resources 829
Quick Review 829
Exercises 830
Programming Exercises 835

WORKING WITH FILES 837


13 System.IO Namespace 838
File and Directory Classes 840
File Class 840
Directory Class 844
FileInfo and DirectoryInfo Classes 845
File Streams 848
Writing Text Files 851
Reading Text Files 856
Adding a Using Statement 860
Random Access 863
BinaryReader and BinaryWriter Classes 863
Other Stream Classes 869
FileDialog Class 870
Coding Standards 884
Resources 884
Quick Review 884
Exercises 885
Programming Exercises 890

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xviii | C# Programming: From Problem Analysis to Program Design, Fourth Edition

WORKING WITH DATABASES 893


14 Database Access 894
Database Management Systems 894
ADO.NET 895
Data Providers 896
Connecting to the Database 899
Retrieving Data from the Database 901
Processing the Data 905
Updating Database Data 913
Using Datasets to Process Database Records 913
Data Source Configuration Tools 921
Add New Data Source 921
Dataset Object 931
TableAdapterManager 941
DataSet Designer 942
Connecting Multiple Tables 953
Displaying Data Using Details View 959
Language-Integrated Query (LINQ) 962
Query Expressions 963
Implicitly Typed Local Variables 966
LINQ with Databases 966
LINQ to SQL 968
Coding Standards 969
Resources 969
Quick Review 969
Exercises 971
Programming Exercises 976

WEB-BASED APPLICATIONS 979


15 Web-Based Applications 980
Web Programming Model 980
Static Pages 981
Dynamic Pages 984

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Table of Contents | xix

ASP.NET 986
Visual Studio for Web Development 986
ASP.NET Programming Models 987
Web Forms Page 988
Creating an ASP.NET Web Forms Site 988
Master Pages 993
Cascading Style Sheet (CSS) 997
ASP.NET Empty Web Site 1001
Controls 1004
HTML Controls 1004
HTML Server Controls 1008
Web Forms Standard Server Controls 1012
Available Web Forms Controls 1012
Web Forms Controls of the Common Form Type 1014
Adding Common Form-Type Controls 1018
Validation, Custom, and Composite Controls 1021
Validation Controls 1021
Calendar Control 1026
GridView Control 1033
AccessDataSource 1039
Using Visual Tools to Connect 1040
Setting the Visibility Property 1045
Other Controls 1047
Web Services 1050
Web Services Protocols 1050
Windows Communication Foundation (WCF) 1052
Smart Device Applications (Optional) 1052
Windows 7.x Phone 1053
Silverlight 1054
Creating a Smart Device Application for Windows 7.x Phones 1054
Windows 8 Phone Apps 1061
Creating a Windows 8 Phone App 1063
XML 1064
Code-Behind File 1065
XAML Code 1067
Running the App 1068
Deploying to an Emulator 1068
Deploying to a Device 1071
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xx | C# Programming: From Problem Analysis to Program Design, Fourth Edition

Coding Standards 1073


Resources 1074
Quick Review 1075
Exercises 1076
Programming Exercises 1081

APPENDIX A: VISUAL STUDIO CONFIGURATION 1083


Customizing the Development Environment 1083
Environment 1085
Projects and Solutions 1088
Text Editor 1089
Debugging 1093
HTML Designer 1093
Windows Forms Designer 1094
Other Options Settings 1095
Choose Toolbox Items 1096
Customize the Toolbars 1097

APPENDIX B: CODE EDITOR TOOLS 1099


Code Snippets 1099
Refactoring 1101
Extrace Method 1102
Rename 1104
Other Refactoring Options 1105
Working with Class Diagrams 1106
Class Details View 1107
Using the Class Diagram to Add Members 1108
Other Code Editor Tips 1109

APPENDIX C: CHARACTER SETS 1111

APPENDIX D: OPERATOR PRECEDENCE 1113

APPENDIX E: C# KEYWORDS 1115

GLOSSARY 1117

INDEX 1131

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
P REFACE

Neale Cousland / Shutterstock.com

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 programming
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 general 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# has gained tremendous popularity in the industry. 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 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 graphical 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 accommodate Internet and
Windows applications. C# is an elegant and simple object-oriented language that allows
programmers to build a breadth of applications. For these reasons, C# was chosen as the
language 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. Readers begin developing applications
immediately in the first chapter. It includes lots of examples and figures illustrating
basic concepts. A heavy emphasis on illustrating the visual tools that can be used to
create applications is included in this edition. But this book goes beyond what is

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xxii | C# Programming: From Problem Analysis to Program Design, Fourth Edition

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
development techniques that can be used to build a number of advanced types of
applications including Windows, data-driven applications using a database, and Web and
mobile applications for smart devices. Generics, delegates, ArrayLists, dynamic data types,
abstract classes, interfaces, and many advanced object-oriented concepts are introduced.
Readers retrieve data from files and store data both to sequential and binary files. Solutions
involving multidimensional arrays and other advanced collection classes are demonstrated.
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 interactively capturing and responding to user input on Windows
and Web forms. Class libraries, Windows Forms applications, and Windows Presentation
Foundation client applications are created. Two full chapters are devoted to programming
based on events and then those topics are integrated throughout the remainder of the
book. Readers are introduced to ASP.NET for Web applications and ADO.NET for
working with databases.
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. A number of
visual development tools are illustrated to connect to data sources. Other interesting
topics include retrieving data using Language-Integrated Query (LINQ), developing
stand-alone .dll components (class libraries), and programming applications for mobile
devices such as tablets and smart phones. All of these advanced features are discussed
after the reader has gained a thorough understanding of the basic components found in
programming languages.

Changes in the Fourth Edition


C# Programming: From Problem Analysis to Program Design, Fourth Edition, has been revised and
updated to reflect the latest release of Visual Studio 2012 and C#. Exception-handling
techniques are introduced much earlier and incorporated into exercises throughout the
book. Additional advanced object-oriented concepts are included. Each chapter includes
new programming exercises not seen in previous editions. All example programs, exercises,
and the solution set have been updated using Visual Studio 2012. All screenshots are updated
to the Visual Studio 2012 IDE. Readers are introduced to Visual Studio’s mobile Software
Development Kit for creating applications for smart devices. Apps are created for both
Windows 7.x and Windows 8 phones. The following summarizes some of the changes in
the fourth edition.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Preface | xxiii

1. Early introduction of exception-handling techniques with numbered Examples


modified to integrate those concepts throughout the book.
2. New Windows Forms controls introduced for creating Windows applications.
3. Guided illustrations of developing smart device apps for the Windows Phone.
4. New Programming Exercises not found in previous editions added to every
chapter. Solutions to all exercises developed by the author.
5. Expanded Coding Standards section at the end of each chapter summarizes C#
key development standards and guidelines.
6. Increased list of Internet sites added at the end of each chapter in the Resources
section for readers to explore.
7. Additional Notes added throughout the book highlighting tips and ‘‘catch you’’
types of topics.
8. Expanded Glossary provides a reference for keywords tagged throughout
the book.
9. Revised Appendices include special sections, Customizing the Visual Studio
Development Environment and Code Editor Tools, with updated illustrations
and figures.

Approach
A problem-solving methodology based on object-oriented software development is
introduced 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 specifications, designing a solution, implementing the design, and verifying or
validating the solution 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 introduced,
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, readers practice
and solidify the concepts presented by completing the end of the chapter exercises. Readers
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 as NOTES on the concepts being presented. Code snippets and numbered examples
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 Coding Standards section, which provides a summary of acceptable
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xxiv | C# Programming: From Problem Analysis to Program Design, Fourth Edition

conventions or guidelines pertaining to the chapter’s topics that focus on style issues.
A list of Web sites for readers to explore is included in a special Resources section at
the end of each chapter. A summary of the major points covered in that chapter and
review exercises in both objective and subjective formats are included. Every chapter
contains 10 programming exercises that give readers an opportunity to experience
programming.

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 8 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 8. For
example, ending with Chapter 9, 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, where the first course was taught using a different language, the
last part of Chapter 1 along with Appendices A and B could be read to orient the readers to
running an application using Visual Studio. Students could be encouraged to scan Chapters 2
through 7 and review Chapter 8 more extensively. Scanning these chapters, students could
compare and contrast the details of the C# language with the programming languages they
already know.
For the intermediate course where the first course was taught using C#, Chapters 4, 7, and 8
should be reviewed, because topics covered in these chapters—Creating your Own Classes
and Arrays—are often more difficult for the student to grasp. The remainder of the book
beginning in Chapter 9 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 explains the difference between structured and
object-oriented programming and includes the software development methodology used
throughout the remainder of the book. This chapter describes the different types of
applications that can be developed using C#. It discusses the basic elements found in a C#
program and illustrates how to compile, run, and debug an application.
The focus in Chapter 2 is data types and expressions. Readers gain an understanding of how
types, classes, and objects are related. They also learn how to perform arithmetic procedures on
the data, how to display formatted data, and how expressions are evaluated using operator
precedence. Chapter 3 extends the manipulation of the data through introducing methods and
behaviors of the data. Readers learn to write statements that call methods and to write their
own class methods. They learn how to pass arguments to methods that return values and to
those that do not.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Preface | xxv

Readers learn to create their own classes in Chapter 4. This chapter introduces the
components of a class including the data, property, and method members. Special methods,
including constructors, are written.
Chapters 5 and 6 introduce control structures that alter the sequential flow of execution.
Selection control constructs are introduced in Chapter 5. One-way, multiway, switch, and
ternary operators used to make decisions are illustrated. Looping is introduced in Chapter 6.
The rich set of iteration operators including while, for, do while, and foreach are
explored. Recursive solutions are also explored.
Chapter 7 discusses arrays. This chapter describes how to declare and perform compile-time
initialization of array elements. The Array class and its many members are introduced.
Methods of the string and ArrayList classes are included in Chapter 8. Multidimensional
arrays and other collection classes, including stacks, queues, and hash tables are also
introduced in Chapter 8.
Chapters 9 and 10 present a different way of programming, which is based on interactively
responding to events. A number of classes in the FCL that are used to create Windows
applications are introduced. Elements of good design are discussed in Chapter 9. Delegates
are also explored in Chapter 9. Visual Studio’s drag-and-drop approach to rapid application
development is introduced and used in these chapters. The Windows Presentation Foundation
(WPF) is also introduced in Chapter 10 as an alternative approach to Windows Forms for
creating Windows applications.
Advanced object-oriented programming features are the focus of Chapter 11. Readers are
introduced to component-based development and learn how to create their own class library
files. Inheritance, interfaces, abstract classes, sealed classes, generic types, partial classes, and
polymorphic programming are discussed in detail. Advanced features such as overriding,
overloading, and the use of virtual methods are also included in Chapter 11. Static versus
dynamic typing is also investigated in Chapter 11.
Chapter 12 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
run-time 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 discussing .NET
exception classes, custom exceptions are designed.
Chapter 13 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 14
introduces a number of new namespaces collectively called ADO.NET, which consists of a
managed set of library classes that enables interaction 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 Language-Integrated Query (LINQ) is also introduced in
Chapter 14.
The focus of Chapter 15 is on Web applications. Readers explore how the design of Web-
based applications differs from Windows applications. They discover the differences between

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xxvi | C# Programming: From Problem Analysis to Program Design, Fourth Edition

static and dynamic Web pages and how HTML and Web server controls differ. Master pages
and Cascading Style Sheets are introduced. Also included in Chapter 15 is an introduction to
mobile applications that can be viewed with small smart devices such as the Windows Phone.
Chapter 15 illustrates how validation controls can be used to check users’ input values and
shows how the ADO.NET classes, introduced in Chapter 14, can also be used with Web
applications to access database records.
Appendix A presents suggestions for customizing the appearance and behavior of the
Integrated Development Environment (IDE). Appendix B discusses the Code Editor
features of Visual Studio. Code snippets and refactoring are described. These new features
improve programmer productivity by reducing the number of keystrokes required to enter
program statements. This appendix also illustrates developing applications visually using class
diagrams. Appendix C lists the Unicode and ASCII (American Standard Code for Information
Interchange) character sets. Appendix D shows the precedence of the C# operators and
Appendix E lists the C# keywords.

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.
l Multi-color interior design shows accurate C# code and related comments.
l Learning objectives offer an outline of the concepts discussed in detail in the chapter.
l Hundreds of visual diagrams throughout the text illustrate difficult concepts.
l Syntax boxes show the general form for different types of statements.
l 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.
l Notes highlight important facts about the concepts introduced in the chapter.
l Numerous tables are included that describe and summarize information compactly for
easy viewing.
l A Coding Standards section provides a summary of acceptable conventions or guidelines
pertaining to the chapter’s topic. These coding/programming guidelines help ensure
consistency and reduce the number of bugs and errors entered into programming projects.
l Internet sites listed including tutorials that can be used to enhance concepts are
presented in the Resources section.
l 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.
l Quick Reviews offer a summary of the concepts covered in the chapter.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Preface | xxvii

l Exercises further reinforce learning and ensure that students have, in fact, absorbed the
material. Both objective and subjective types of questions are included at the end of
each chapter.
l Programming Exercises challenge students to write C# programs with a specified
outcome.
l The glossary at the end of the book lists nearly four-hundred key terms in alphabetical
order along with definitions for easy reference. Throughout this text the terms set in
bold indicate that they are defined in the glossary.
From beginning to end, the concepts are introduced at a pace that is conducive to learning.
The writing style of this book is simple and straightforward, and it parallels the teaching style of
a classroom. The concepts introduced are described using examples and small programs.
The chapters have two types of programs. The first type includes small programs that are part
of the numbered examples and are used to explain key concepts. This book also features
numerous case studies called Programming Examples. These Programming Examples are
placed at the end of the chapters to pull together many of the concepts presented
throughout the chapter. The programs are designed to be methodical and workable. Each
Programming Example starts with a Problem Analysis and is then followed by the Algorithm
Design. Every step of the algorithm is then coded in C#. In addition to teaching problem-
solving techniques, these detailed programs show the user how to implement concepts in an
actual C# program. Students are encouraged to study the Programming Examples very
carefully in order to learn C# effectively.
All source code and solutions have been written, compiled, and tested by quality assurance
with Visual Studio Professional 2012.
Microsoft Visual C# can be packaged with this text. Please contact your Course
Technology Sales Representative for more information.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
FEATURES OF THE BOOK

Numerous visual
diagrams
throughout the
text illustrate
difficult concepts.
Updated screen
shots of what
readers see in
Visual Studio are
also included
throughout the
book.

Multi-color
interior design
shows accurate
C# code and
related
comments.
Throughout the
book, keywords
are shown in blue
and comments
appear in green.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Syntax boxes
show the general
form for different
types of
statements.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Notes provide short quick
tips highlighting important
concepts and features that
might be overlooked.

Non-keyword code appears


in a different font
throughout the text so
readers can quickly
distinguish program
statements from normal
text.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
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.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
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
implementation.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Coding/programming
style guidelines and
suggestions are
featured at the end
of each chapter.

A special Resources
section at the end of
each chapter offers a
number of Web sites
for the reader to
explore.

Quick Review offers


a summary of the
concepts covered in
the chapter.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Exercises further
reinforce learning
and ensure that
students have, in
fact, absorbed the
material. Both
objective and
subjective types of
activities are
included at the end
of each chapter.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Programming
Exercises challenge
students to write C#
programs with a
specified outcome.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xxxvi | C# Programming: From Problem Analysis to Program Design, Fourth Edition

Instructor Resources
The following teaching tools are available for download at our Instructor Companion Site.
Simply search for this text at login.cengage.com. An instructor login is required.
Electronic Instructor’s Manual. The Instructor’s Manual that accompanies this textbook
includes additional instructional material to assist in class preparation, including suggestions for
lecture topics.
ExamView. This textbook is accompanied by ExamView, a powerful testing software
package that allows instructors to create and administer printed, computer (LAN-based), and
Internet exams. ExamView includes hundreds of questions that correspond to the topics
covered in this text, enabling students to generate detailed study guides that include page
references for further review. These computer-based and Internet-testing components allow
students to take exams at their computers, and save the instructor time because each exam is
graded automatically.
PowerPoint Presentations. This book comes with Microsoft PowerPoint slides for each
chapter. These are included as a teaching aid for classroom presentations, either to make
available to students on the network for chapter review, or to be printed for classroom
distribution. Instructors can add their own slides for additional topics that they introduce to
the class.
Source Code for Examples. The complete Visual Studio project files for the examples
included within each chapter are available for instructors and are also posted for students on
www.cengagebrain.com. Individual source code files are stored with a .cs extension inside the
project subdirectory.
Programming Exercises Solution Files. The complete Visual Studio project files for the
solutions to all programming exercises included at the end of the chapters are provided. The
individual source code files are stored with a .cs extension inside the project subdirectory.

Acknowledgments
I would like to express my gratitude for the opportunity to complete the fourth edition of this
book. Like the other editions, it was a huge undertaking for me. Special thanks go out to
Alyssa Pratt, Senior Product Manager at Cengage Learning, for her positive comments,
guidance, and support. She was a pleasure to work with again on this new edition. I am
grateful to the Quality Assurance team members who verified that each of the examples and
exercise solutions worked properly. Also thanks to the Content Manager and Copy Editor,
Jennifer Feltri-George and Andrea Schein, who provided great suggestions as we progressed
with the project.
I am very grateful to the following reviewers for their uplifting comments and suggestions for
improvements:

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Preface | xxxvii

Zaina Ajackie: American InterContinental University


Kevin Lertwachara: California Polytechnic State University
Syed Raza: Trenholm State Technical College
Dale Wallentine: Stevens-Henager College
I hope that the reviewers will see that many of their suggestions were implemented. The
textbook is much improved because of their contributions.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Neale Cousland / Shutterstock.com
CHAPTER
1
I NTRODUCTION TO
COMPUTING AND
P ROGRAMMING
I N T H I S C H A P T E R , YO U W I L L :

. Learn about the history of computers


. Learn to differentiate between system and application software
. Learn the steps of software development
. Explore different programming methodologies
. Learn why C# is being used today for software development
. Distinguish between the different types of applications that can
be created with C#
. Explore a program written in C#
. Examine the basic elements of a C# program
. Compile, run, build, and debug an application
. Create an application that displays output
. Work through a programming example that illustrates the
chapter's concepts

All Microsoft screenshots used with permission from Microsoft Corporation.


Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
2 | Chapter 1: Introduction to Computing and Programming

Computers have penetrated every aspect of our society and have greatly simplified many
tasks. Can you picture yourself typing a paper on an electric typewriter? Would you use an
eraser to make your corrections? Would you start from scratch to increase or decrease
your margins or line spacing? Can you imagine living in an age without electronic
messaging or e-mail capability? What would you do without an automatic teller machine
(ATM) in your neighborhood?
Computers have become such an integral part of our lives that many of their functions are
taken for granted. Yet, only a few years ago, mobile apps, text messaging and cloud
computing were unknown. Social media technologies like internet forums, weblogs,
wikis, podcasts and social networks like Facebook were unknown. In 2012 social media
became one of the most powerful sources for news updates through platforms like Twitter
and Facebook. Advances in computing are occurring every day, and the programs that are
loaded on your computer have become very complex. The technology of wireless
communication is advancing quickly. Expectations are that tablet sales will grow by 200
percent through 2016. Over 100 million units will be sold in 2012. For most consumers,
tablets are not replacements for their conventional computers, but are added devices
they’ll purchase. Mobile applications for smartphones, pocket and tablet PCs, and other
handheld wireless computers are increasingly in demand. To reach this level of
complexity, software development has gone through a number of eras, and today
technical advances accumulate faster and faster. What new types of computer services
and programs will be integral to our daily lives in the future? This book focuses on
creating software programs. Before beginning the journey into software development, a
historical perspective on computing is included to help you see the potential for
advancements that awaits you.

History of Computers
Computing dates back some 5000 years. Many consider the abacus to be the first computer.
Used by merchants of the past and present for trading transactions, the abacus is a calculating
device that uses a system of sliding beads on a rack for addition and subtraction.
In 1642, another calculating device, called the Pascaline, was created. The Pascaline had
eight movable dials on wheels that could calculate sums up to eight figures long. Both the
abacus and Pascaline could perform only addition and subtraction. It was not until the
1830s that the first general-purpose computer, the Analytical Engine, was available.
Charles Babbage and his assistant, Lady Augusta Ada Bryon, Countess of Lovelace,
designed the Analytical Engine. Although it was very primitive by today’s standards, it
was the prototype for what is known today as a general-purpose computer. The Analytical
Engine included input devices, memory storage, a control unit that allowed processing
instructions in any sequence, and output devices.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
History of Computers | 3

In the 1980s, the U.S. Defense Department named the Ada programming language in honor 1
of Lady Lovelace. She has been called the world’s first programmer. Controversy surrounds
her title. Lady Byron was probably the fourth or fifth person to write programs. She did
programming as a student of Charles Babbage and reworked some of his calculations.

Many computer historians believe the present day to be in the fifth generation of modern
computing. Each era is characterized by an important advancement. In the mid-1940s, the
Second World War, with its need for strategic types of calculations, spurred on the first
generation of general-purpose machines. These large, first-generation computers were
distinguished by the use of vacuum tubes. They were difficult to program and limited in
functionality. The operating instructions were made to order for each specific task.
The invention of the transistor in 1956 led to second-generation computers, which were
smaller, faster, more reliable, and more energy efficient than their predecessors. The
software industry was born during the second generation of computers with the
introduction of FORTRAN and COBOL.
The third generation, 1964–1971, saw computers become smaller, as transistors were
squeezed onto small silicon discs (single chips), which were called semiconductors.
Operating systems, as they are known today, which allowed machines to run many
different programs at once, were also first seen in third-generation systems.
As time passed, chips kept getting smaller and capable of storing more transistors, making
computers more powerful and less expensive. The Intel 4004 chip, developed in 1971,
placed the most important components of a computer (central processing unit, memory,
and input and output controls) on a minuscule chip about half the size of a dime. Many
household items such as microwave ovens, television sets, and automobiles benefited from
the fourth generation of computing.
During the fourth generation, computer manufacturers tried to bring computing to
general consumers. In 1981, IBM introduced its personal computer (PC). The 1980s
saw an expansion in computer use as clones of the IBM PC made the personal computer
even more affordable. We also saw the development of Graphical User Interfaces (GUIs)
and the mouse as a handheld input device. The number of personal computers in use more
than doubled from two million in 1981 to 5.5 million in 1982. Ten years later, 65 million
PCs were in use.

According to the October 2010 U.S. Census Bureau’s Current Population Survey, released
in July 2012, over 76% of households in the United States had computers.

Defining a fifth generation of systems is somewhat difficult because the generation is still
young. Computers can now accept spoken word instructions, imitate human reasoning
through artificial intelligence, and communicate with devices instantaneously around the

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
4 | Chapter 1: Introduction to Computing and Programming

globe by transmitting digital media. Mobile apps are growing. By applying problem-
solving steps, expert systems assist doctors in making diagnoses. Healthcare professionals
are now using handheld devices in patients’ rooms to retrieve and update patient records.
Using handheld devices, drivers of delivery trucks are accessing global positioning systems
(GPS) to verify locations of customers for pickups and deliveries. Sitting at a traffic light,
you can check your e-mail, make airline reservations, remotely monitor and manage
household appliances, and access your checking and savings accounts. Using wireless
networks, students can access a professor’s notes when they enter the classroom.
Major advances in software are anticipated as integrated development environments
(IDEs) such as Visual Studio make it easier to develop applications for the Internet
rapidly. Because of the programmability of the computer, the imagination of software
developers is set free to conjure the computing functions of the future.
The real power of the computer does not lie in the hardware, which comprises the
physical components that make up the system. The functionality lies in the software
available to make use of the hardware. The hardware processes complex patterns of 0s and
1s. The software actually transposes these 0s and 1s into text, images, and documents that
people can read. The next section begins the discussion on software.

System and Application Software


Software consists of programs, which are sets of instructions telling the computer exactly
what to do. The instructions might tell the computer to add up a set of numbers, compare
two names, or make a decision based on the result of a calculation. Just as a cook follows a
set of instructions (a recipe) to prepare a dish, the computer follows instructions without
adding extra salt to perform a useful task. The next sections describe the two major
categories of software: system software and application software.

System Software
System software is loaded when you power on the computer. When thinking of system
software, most people think of operating systems. Operating systems such as Windows 8,
Android, iOS, Windows 7, and Linux are types of programs that oversee and coordinate the
resources on the machine. Included are file system utilities, small programs that take care of
locating files and keeping up with the details of a file’s name, size, and date of creation.
System software programs perform a variety of other functions: setting up directories;
moving, copying, and deleting files; transferring data from secondary storage to primary
memory; formatting media; and displaying data on screens. Operating systems include
communication programs for connecting to the Internet or connecting to output devices
such as printers. They include user interface subsystems for managing the look and feel of
the system.

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
System and Application Software | 5

Operating systems are one type of system software. They are utility programs that make it 1
easier for you to use the hardware.

Another type of system software includes compilers, interpreters, and assemblers. As you
begin learning software development, you will write instructions for the computer using a
programming language. Modern programming languages are designed to be easy to
read and write. They are called high-level languages because they are written in
English-like statements. The programming language you will be using is C#
(pronounced see sharp). Other high-level computer programming languages include
Visual Basic, FORTRAN, Pascal, C, C++, and Java.
Before the computer can execute the instructions written in a programming language such
as C#, the instructions must be translated into machine-readable format. A compiler
makes this conversion. Figure 1-1 shows what a machine language instruction looks like.

ª 2013 Cengage Learning

FIGURE 1-1 A machine language instruction

Just as the English language has rules for sentence construction, programming languages
such as C# have a set of rules, called syntax, that must be followed. Before translating
code into machine-readable form, a compiler checks for rule violations. Compilers do not
convert any statements into machine language until all syntax errors are removed. Code
can be interpreted as well as compiled. Intepreters translate one statement of code into
machine-readable form and then they execute that line. They then translate the next
instruction, execute it, and so on. Unlike compilers, which look at entire pieces of code,
interpreters check for rule violations line by line. If the line does not contain an error, it
is converted to machine language. Interpreters are normally slower than compilers. Many
languages offer both compilers and interpreters, including C, BASIC, Python, and Lisp.
Assemblers convert the assembly programming language, which is a low-level

Copyright 2013 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Roland
Furieux, tome 3
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Roland Furieux, tome 3


Traduction nouvelle par Francisque Reynard

Author: Lodovico Ariosto

Translator: Francisque Reynard

Release date: January 9, 2024 [eBook #72671]

Language: French

Original publication: Paris: Lemerre, 1880

Credits: Laurent Vogel and the Online Distributed Proofreading Team


at https://www.pgdp.net (This book was produced from
scanned images of public domain material from the Google
Books project.)

*** START OF THE PROJECT GUTENBERG EBOOK ROLAND


FURIEUX, TOME 3 ***
ARIOSTE

ROLAND FURIEUX
Traduction nouvelle
PAR

FRANCISQUE REYNARD
TOME TROISIÈME

PARIS
ALPHONSE LEMERRE, ÉDITEUR
27-31, PASSAGE CHOISEUL, 27-31

M DCCC LXXX
ROLAND FURIEUX

CHANT XXVI.

Argument. — Le chevalier rencontré sur le lieu où Maugis et Vivian


doivent être livrés est Marphise. Les Mayençais, auxquels s’était
adjointe une nombreuse troupe de Maures, sont défaits, et les
deux prisonniers sont délivrés. Maugis donne la signification des
figures sculptées sur la fontaine de Merlin. Survient Hippalque
sans Frontin. Roger va avec elle pour le ravoir. Combat entre
Mandricard et Marphise, interrompu par Rodomont qui décide
Marphise à se rendre au camp d’Agramant. Roger vient à la
fontaine, où, par suite de divers incidents, s’élève une querelle
entre les guerriers païens. Maugis y met fin en éloignant Doralice
par ses enchantements. Les quatre guerriers se dirigent vers
Paris.

Il y eut, dans l’antiquité, des dames courtoises qui aimèrent la


vertu et non les richesses. De notre temps, elles sont rares celles qui
ne mettent pas l’intérêt au-dessus de tout. Aussi, celles qui, dans
leur générosité d’âme, n’imitent pas la cupidité du plus grand
nombre, méritent-elles d’être heureuses de leur vivant, et
éternellement glorifiées après leur mort.
C’est ainsi que Bradamante est digne d’une louange immortelle,
elle qui n’aima ni les richesses, ni la puissance, mais la vertu, mais
l’âme chevaleresque, mais la haute noblesse de Roger. Elle mérita
bien d’avoir pour amant un si valeureux chevalier ; elle mérita
surtout qu’il accomplît pour elle des choses dont les siècles à venir
devaient s’émerveiller.
Roger, comme il vous a été dit plus haut, s’était mis en route
avec les deux chevaliers de la maison de Clermont, — je veux dire
avec Aldigier et Richardet — pour aller au secours des deux frères
prisonniers. Je vous ai dit aussi qu’ils avaient vu venir à eux un
chevalier portant sur ses armes l’oiseau qui se renouvelle de ses
propres cendres, et qui est unique au monde.
Le chevalier les ayant aperçus qui se tenaient prêts à combattre,
il lui prit envie d’éprouver si leur valeur était égale à leur air martial.
« — Est-il un de vous — dit-il — qui veuille essayer lequel, de lui ou
de moi, est le plus vaillant, soit à la lance, soit à l’épée, jusqu’à ce
qu’un de nous deux reste en selle après avoir renversé l’autre ? — »
« — Je lutterais volontiers avec toi — dit Aldigier — soit que tu
voulusses croiser l’épée, soit que tu préférasses rompre une lance ;
mais une autre entreprise, dont tu pourras être témoin si tu restes
ici, m’empêche d’accepter ta proposition ; loin de pouvoir jouter
ensemble, j’ai à peine le temps de te dire ces quelques mots, car
nous attendons, au passage, six cents hommes, ou même
davantage, contre lesquels nous devons aujourd’hui lutter.
« Pour leur arracher deux des nôtres qu’ils doivent amener ici
prisonniers, la pitié et l’affection nous ont conduits en cet endroit. —
» Il poursuivit en racontant les motifs qui les avaient fait venir armés
de pied en cap. « — L’excuse que tu m’opposes est si juste — dit le
guerrier — que je ne puis y contredire ; et je vous tiens certainement
pour trois chevaliers qui avez peu d’égaux.
« Je désirais échanger avec vous un coup de lance ou deux, pour
voir quelle était votre valeur. Mais dès que vous vous proposez de
m’en donner la preuve contre d’autres adversaires, cela me suffit, et
je ne tiens plus à jouter avec vous. Mais je vous prie de me
permettre de joindre aux vôtres mon casque et mon écu. J’espère
vous prouver, si je vais avec vous, que je ne suis point indigne d’une
telle compagnie. — »
Je crois m’apercevoir que quelques-uns de mes lecteurs désirent
savoir le nom de ce chevalier qui, arrivé près de Roger et de ses
amis, s’offrait à eux comme compagnon d’armes dans cette
périlleuse entreprise. C’était Marphise, la même qui donna au
malheureux Zerbin l’ordre d’accompagner partout Gabrine, la vieille
ribaude si ardente à toute espèce de mal.
Les deux chevaliers de Clermont et le brave Roger l’acceptèrent
volontiers parmi eux, car ils la prenaient pour un chevalier et non
pour une damoiselle, et surtout pour la damoiselle qu’elle était. Peu
après, Aldigier aperçut et fit voir à ses compagnons une bannière
agitée par le vent, et autour de laquelle force gens étaient groupés.
Quand ces gens furent plus près, et qu’on put mieux distinguer
leur costume mauresque, les chevaliers les reconnurent pour des
Sarrasins, et virent au milieu d’eux, liés et conduits sur deux petits
roussins, les prisonniers qui devaient être échangés contre de l’or.
Marphise dit aux autres : « — Puisque les voilà, qu’attendons-nous
pour commencer la fête ? — »
Roger répondit : « — Tous les invités ne sont pas encore arrivés ;
il en manque une grande partie. C’est un grand bal qui s’apprête, et
pour qu’il soit tout à fait solennel, usons de toute notre adresse.
Mais les retardataires ne peuvent être loin. — » A peine ces mots
étaient-ils achevés, qu’ils voient les traîtres de Mayence venir de leur
côté, comme s’ils étaient prêts à commencer la danse.
Les Mayençais s’avançaient d’un côté, conduisant des mulets
chargés d’or, de riches vêtements et d’autres objets précieux. De
l’autre côté, au milieu des lances, des épées et des arbalètes,
venaient les deux frères, tristes de se voir attendus au passage et
d’entendre leur impitoyable ennemi Bertolas traiter de leur livraison
avec le capitaine maure.
A la vue du Mayençais, le fils de Beuves, non plus que le fils
d’Aymon, ne purent se contenir plus longtemps. Tous deux mettent
leur lance en arrêt ; tous deux frappent le traître. L’un lui transperce
le ventre et la cuisse, l’autre les deux joues. Sous ces coups,
Bertolas tombe. Ainsi puissent périr tous les méchants !
A ce signal, et sans attendre les trompettes, Marphise et Roger
s’élancent. La lance de la première, mise en arrêt, ne se relève pas
avant d’avoir jeté à terre, l’un après l’autre, trois ennemis. Roger
juge digne de son premier coup de lance le païen qui commande aux
autres, et l’occit en un tour de main. Du même coup, il en envoie
deux autres avec lui aux sombres royaumes.
Cette brusque attaque produisit parmi les deux troupes assaillies
une erreur qui causa leur perte. D’un côté, les Mayençais se croient
trahis par les Sarrasins ; de l’autre, les Maures traitent les Mayençais
d’assassins. S’attaquant à coups de flèches, de lances et d’épées, ils
se massacrent entre eux.
Roger se rue tantôt sur une troupe, tantôt sur l’autre ; il terrasse
dix, vingt adversaires. La damoiselle en jette çà et là un même
nombre par terre, blessés ou morts. Tous ceux que touchent les
épées tranchantes tombent de selle. Les casques et les cuirasses
n’arrêtent pas plus le fer que, dans un bois, les branches desséchées
n’arrêtent le feu.
Si vous vous rappelez avoir jamais vu, ou si l’on vous a raconté
ce qui se passe parmi les abeilles, alors que, la discorde s’étant mise
dans l’essaim, elles se battent dans les airs et servent de proie à
l’avide hirondelle qui se précipite sur elles, vous vous imaginerez
facilement ce que devaient être Roger et Marphise parmi ces gens.
Richardet et son cousin ne partageaient pas leurs coups entre les
deux troupes ; laissant de côté les Sarrasins, ils ne prenaient garde
qu’à ceux de Mayence. Le frère du paladin Renaud joignait une
grande force à un grand courage, et la haine qu’il portait aux
Mayençais redoublait, en cette circonstance, sa vigueur et son
énergie.
Une même haine fait du bâtard de Beuves un lion féroce. De son
épée, à laquelle il ne laisse pas une minute de repos, il fend les
casques ou les brise comme un œuf. Mais qui donc n’aurait pas senti
doubler son audace, qui donc n’aurait pas montré le courage
d’Hector, ayant pour compagnons Roger et Marphise, l’élite et la
fleur des guerriers ?
Marphise, tout en combattant, jetait souvent les yeux sur ses
compagnons ; en voyant les preuves de leur force, elle s’étonnait et
s’en réjouissait. Mais ce qui la stupéfiait le plus, et lui paraissait sans
égal au monde, c’était la vaillance de Roger. Parfois elle croyait que
c’était Mars lui-même descendu du cinquième ciel en cet endroit.
Elle admirait les coups horribles qu’il portait ; elle s’étonnait de ce
qu’ils ne tombaient jamais en vain. Il lui semblait que, contre
Balisarde, le fer était du carton et non un dur métal. L’épée terrible
partageait les cuirasses épaisses, fendait les cavaliers jusqu’à la
croupe du cheval, et les jetait de chaque côté sur l’herbe en deux
parties égales.
Souvent le même coup d’estoc tuait le cheval avec le maître. Les
têtes volaient loin des épaules, et les bustes étaient séparés net des
hanches. Parfois, d’un seul coup, cinq combattants, et même plus,
étaient fendus en deux ; j’en dirais davantage, si je ne craignais
d’être accusé de mensonge ; mais c’est inutile.
Le bon Turpin, qui sait qu’il dit la vérité, laisse croire à chacun ce
qui lui plaît, et raconte, au sujet de Roger, des choses si
merveilleuses, qu’en les entendant, vous le traiteriez de menteur. De
même, chaque guerrier paraît de glace près de Marphise, plus
ardente que le feu. Elle n’attire pas moins les regards de Roger, que
la haute valeur de celui-ci n’excite sa propre admiration.
Et si elle l’avait comparé à Mars, il l’aurait, de son côté, comparée
à Bellone s’il avait su qu’elle était femme. Mais tout, dans l’aspect de
sa personne, semblait indiquer le contraire. Une sorte d’émulation
s’élève entre eux, au grand détriment de leurs malheureux ennemis,
dont la chair, le sang, les nerfs, les os, servent à montrer lequel des
deux déploie le plus de force.
L’audace et le courage des quatre champions suffisent à mettre
les deux troupes en déroute. Les fuyards ne conservaient que leurs
armes de dessous. Heureux ceux dont le cheval était bon coureur,
car ce n’était point là le cas d’aller à l’amble ou au trot. Ceux qui
n’avaient point de destrier purent s’apercevoir combien le métier des
armes est triste à pied.
Le camp, et tout ce qu’il renfermait, demeura au pouvoir des
vainqueurs, pas un des gens de pied et des muletiers n’étant restés.
Les Mayençais fuyaient d’un côté, les Maures de l’autre, les uns
abandonnant leurs prisonniers, les autres leurs trésors. Les quatre
chevaliers, la joie sur le visage et dans le cœur, s’empressèrent de
délivrer Maugis et Vivian de leurs liens. Les écuyers ne furent pas
moins empressés à décharger les mulets.
Outre une bonne quantité d’argenterie, consistant en vases de
formes diverses, outre des vêtements de femme richement ornés,
des tapisseries d’or et de soie, ouvrées en Flandre et dignes
d’appartements royaux, ils trouvèrent une foule d’autres objets
précieux, ainsi que des flacons de vin, du pain et des vivres.
Lorsqu’ils ôtèrent leurs casques, ils virent qu’ils avaient été aidés
dans leur entreprise par une damoiselle, ainsi qu’ils purent en juger
à ses cheveux dorés retombant en boucles, et à sa belle et délicate
figure. Ils lui prodiguèrent les marques de respect et la prièrent de
ne pas leur cacher le nom qu’elle portait si glorieusement ; et elle,
toujours courtoise envers ses amis, ne refusa pas de se faire
connaître.
Ils ne peuvent se rassasier de la regarder, se rappelant ce qu’ils
lui avaient vu faire pendant la bataille. Pour elle, elle ne voit que
Roger, elle ne parle qu’à lui ; elle fait peu de cas des autres.
Cependant les serviteurs viennent l’inviter, elle et ses compagnons, à
prendre part au repas qu’ils ont préparé près d’une fontaine abritée
par un coteau des rayons brûlants du soleil.
C’était une des quatre fontaines que Merlin avait élevées en
France. Elle était entourée d’un beau marbre fin, brillant et poli, et
plus blanc que le lait. Merlin y avait sculpté des figures avec un art
vraiment divin. On aurait dit qu’elles respiraient, et, si la voix ne leur
avait fait défaut, qu’elles étaient vivantes.
On y voyait une bête qui paraissait sortir d’une forêt. Son aspect
était féroce et haineux. Elle avait les oreilles d’un âne, la tête et les
dents d’un loup qu’une grande faim aurait desséché, les pattes d’un
lion ; tout le reste du corps était d’un renard. Elle semblait parcourir
la France, l’Italie, l’Espagne, l’Angleterre, l’Europe et l’Asie, toute la
terre enfin.
Partout elle avait porté la dévastation et la mort chez les nations,
s’attaquant aussi bien à la plèbe qu’aux gens de condition élevée.
Cependant elle nuisait de préférence aux rois, aux grands seigneurs,
aux princes, aux puissants barons. C’était à la cour de Rome qu’elle
avait causé le plus de ravages ; elle avait tué des cardinaux et des
papes, souillé le siège de Pierre et porté le scandale au sein de la foi.
Il semblait que, devant cette bête horrible, toute muraille, tout
rempart touché par elle s’écroulât. Point de cité, de château ou de
forteresse qui pût s’en défendre. On la voyait pourtant prétendre aux
honneurs divins, adorée qu’elle était par la multitude imbécile, et se
vanter d’avoir en sa puissance les clefs du ciel et du ténébreux
abîme.
Derrière elle, on voyait s’avancer un chevalier, la tête couronnée
du laurier impérial, et accompagné de trois jeunes hommes portant
les lis d’or brodés sur leurs vêtements royaux. Recouvert des mêmes
insignes, on voyait un lion marcher avec eux contre le monstre. Ils
avaient leur nom écrit, qui au-dessus de la tête, qui sur le bord de
leur vêtement.
Au-dessus de l’un d’eux, dont l’épée était plongée jusqu’à la
garde dans le ventre de la bête féroce, était écrit : François Ier, de
France. A côté de lui, sur le même rang, était Maximilien d’Autriche.
L’empereur Charles-Quint avait transpercé de sa lance la gorge du
monstre ; l’autre, dont la flèche se voyait fichée dans sa poitrine,
était désigné sous le nom d’Henri VIII d’Angleterre.
Le lion, dont les dents étaient enfoncées dans les oreilles du
monstre, portait, écrit sur le dos, le chiffre X. Il avait déjà tellement
harassé et secoué la bête, que les autres assaillants avaient eu le
temps d’arriver. A cette vue, le monde semblait avoir rejeté toute
crainte, et, pour racheter leurs vieilles erreurs, des gens de noble
race accouraient, non en foule cependant, à l’endroit où la bête
expirait.
Les chevaliers et Marphise regardaient, désireux de connaître
ceux par qui était mise à mort cette bête qui avait jeté l’épouvante
et le deuil en tant de contrées. Bien que leurs noms fussent inscrits
sur le marbre, ils ne leur étaient point connus. Ils s’interrogeaient
mutuellement, demandant que celui d’entre eux qui connaîtrait cette
histoire voulût bien la dire aux autres.
Vivian, se tournant enfin vers Maugis qui les écoutait tous sans
rien leur répondre : « — A toi — dit-il — de nous raconter cette
histoire que tu connais, à ce que je vois. Quels sont ces gens qui, à
coups de flèches et de lances, ont mis l’animal à mort ? — » Maugis
répondit : « — C’est une histoire dont aucun auteur n’a pu jusqu’ici
avoir connaissance.
« Sachez que ceux dont les noms sont écrits sur ce marbre n’ont
pas encore existé en ce monde. Ils vivront seulement dans six cents
ans d’ici, pour le grand honneur des siècles futurs. Merlin, le savant
enchanteur de Bretagne, construisit cette fontaine, au temps du roi
Artus ; il y fit sculpter, par de bons artistes, les événements à venir.
« Cette bête cruelle sortit du fond de l’enfer, à l’époque où des
bornes furent posées dans les champs, où l’on commença à se servir
de poids et de mesures, et à passer les engagements par écrits.
Mais tout d’abord elle n’envahit pas le monde entier. Elle laissa
intactes un grand nombre de contrées. De notre temps, elle porte le
trouble en beaucoup de pays, s’attaquant au populaire et à la tourbe
vile.
« Depuis son apparition, jusqu’au siècle présent, elle a toujours
été en augmentant ses ravages, et elle ira les augmentant toujours.
Le monstre ira croissant lui-même, pendant un long espace de
temps, jusqu’à ce qu’il devienne le plus énorme, le plus horrible de
ceux qui aient jamais existé. Python, que les chroniques et les
documents nous donnent comme si gigantesque et si épouvantable,
n’atteignit jamais la moitié de la taille de celle-ci, et fut loin de
l’égaler en perversité et en laideur.
« Elle se livrera à un cruel carnage, et il n’y aura point de contrée
où elle ne porte le trouble, le ravage et l’infection. Ce que marque
cette sculpture est peu de chose, en comparaison de ses
abominables méfaits. Le monde sera déjà enroué de crier merci,
quand ceux dont nous venons de lire les noms, qui brillent plus que
le rubis, viendront à son secours.
« Celui d’entre eux qui se montrera le plus terrible envers la bête
cruelle sera François, le roi des Français. Et il est bien naturel qu’en
cette circonstance il l’emporte sur la plupart de ses rivaux, et en
laisse peu prendre place à ses côtés, puisque sa splendeur royale et
ses autres qualités auront depuis longtemps éclipsé les plus illustres.
Ainsi toute autre splendeur s’efface dès que le soleil paraît.
« La première année de son règne glorieux, et la couronne
n’étant pas encore bien assurée sur son front, il franchira les Alpes,
brisant la résistance de quiconque voudra lui disputer le passage, et
justement indigné, dans son cœur généreux, que les hontes infligées
à l’armée de France par des pâtres et des montagnards n’aient pas
encore été vengées.
« De là, il descendra dans la riche plaine de Lombardie, entouré
de la fleur des guerriers de France. Il écrasera tellement l’armée
suisse, qu’elle ne songera plus jamais à relever le front. A la grande
honte de l’Église, de l’Espagne et de Florence, il s’emparera de la
forteresse réputée jusque-là imprenable.
« Pour s’en rendre maître, celle de ses armes qui lui servira le
plus sera l’épée illustre avec laquelle il aura d’abord arraché la vie au
monstre corrupteur des nations. Devant cette épée, tout étendard
fuira ou sera foulé aux pieds. Il n’y aura fossés, remparts, ni murs
assez forts pour défendre les cités contre lui.
« Ce prince aura toutes les vertus que doit posséder un empereur
victorieux : l’âme du grand César, la prudence du vainqueur de
Trasimène et de Trebbia, et la fortune d’Alexandre, sans laquelle
toute entreprise s’en irait en fumée et en nuages. Sa libéralité sera
telle, que je ne vois personne qui puisse lui être comparé sur ce
point. — »
Ainsi disait Maugis, et son récit inspira aux chevaliers le désir de
connaître le nom des autres personnages qui devaient tuer la bête
infernale. Parmi les premiers, on lisait le nom d’un Bernard [1] , dont
Merlin faisait un grand éloge. Par lui — disait Maugis — Bibiena
deviendra aussi célèbre que Sienne et que Florence sa voisine.
Personne ne passait avant Sigismond, Jean et Ludovic ; le
premier était un Gonzague ; le second, un Salviati ; le troisième, un
Aragon. Tous trois se montraient ennemis acharnés du monstre. Il y
avait également François de Gonzague, dont le fils Frédéric suivait
les traces. Près de lui étaient son beau-frère et son gendre, les
seigneurs de Ferrare et d’Urbino.
Fils de l’un d’eux, Guidobalde ne veut pas rester en arrière de
son père ni des autres. Accompagné d’Ottobon, de Fiesque et de
Sinibald, il donne la chasse à la bête, et tous marchent de front et
d’un pas pressé. Louis de Gazoles a plongé dans le cou du monstre
le fer encore fumant d’une flèche lancée par l’arc que lui donna
Phébus, bien qu’il porte aussi au côté l’épée que Mars lui ceignit lui-
même.
Deux Hercule, deux Hippolyte d’Este, un autre Hercule, un autre
Hippolyte de Gonzague, un autre Hippolyte de Médicis, suivent les
traces du monstre harassé de leur longue poursuite. Julien ne se
laisse point dépasser par son fils, ni Ferrante par son frère ; Andrea
Doria est prompt à courir sur leurs pas, et Francesco Sforza ne
permet à personne de prendre les devants.
Deux d’entre ces personnages, issus du généreux et illustre sang
d’Avalos, ont pour insignes un rocher qui, de la tête aux pieds, paraît
écraser l’impie Typhée, à la queue de serpent. Aucun ne court avec
plus d’empressement que ces deux guerriers à la rencontre de
l’horrible monstre. Au bas de l’un est écrit le nom de François de
Pescaire, l’invincible ; au bas de l’autre on lit : Alphonse du Guast.
Mais comment ai-je oublié Consalve Ferrante, l’honneur de
l’Espagne, tenu en si grande estime, et dont Maugis fit un tel éloge
que peu d’entre ces héros auraient pu lui être comparés ? On voyait
Guillaume de Montferrat, parmi ceux qui mettaient la bête à mort.
Cependant ils étaient peu nombreux, en comparaison de tous ceux
qu’elle avait tués ou blessés.
C’est ainsi qu’en honnêtes passe-temps et en joyeuses causeries,
après le repas, ils passaient les heures brûlantes du jour, couchés
sur de fins tapis, sous les arbres dont la rive était ornée. Maugis et
Vivian, afin de protéger le repos de leurs compagnons, veillaient tout
autour sous les armes. Soudain ils virent une dame, seule, accourir
vers eux en toute hâte.
C’était cette Hippalque à qui Frontin, le bon destrier, avait été ravi
par Rodomont. Elle avait, pendant tout le jour précédent, suivi le
ravisseur, tantôt le suppliant, tantôt l’accablant d’injures. Mais,
n’obtenant aucun résultat, elle avait rebroussé chemin pour aller
retrouver Roger dans Aigremont. En route, elle avait appris, je ne
sais comment, qu’elle le trouverait en cet endroit avec Richardet.
Et comme elle connaissait bien le lieu, y étant allée d’autres fois,
elle s’en vint droit à la fontaine. C’est ainsi qu’elle le rejoignit,
comme je viens de vous le dire. Mais, en bonne et rusée messagère,
qui sait encore mieux s’acquitter de sa mission qu’on ne lui a dit de
le faire, elle fit semblant de ne pas connaître Roger, en le voyant
avec le frère de Bradamante.
Elle se dirigea vers Richardet, comme si c’était pour lui qu’elle fût
venue, et celui-ci, dès qu’il l’eut reconnue, vint à sa rencontre, et lui
demanda où elle allait. Elle, les yeux encore rouges des pleurs
qu’elle avait longuement versés, dit en soupirant, mais assez haut
pour que ses paroles parvinssent à Roger :
« — J’emmenais — dit-elle — par la bride, comme me l’avait
ordonné ta sœur, un cheval beau et bon à merveille. Ta sœur l’aime
beaucoup, et il s’appelle Frontin. Je l’avais conduit déjà plus de
trente milles du côté de Marseille, où elle-même devait se rendre au
bout de quelques jours, et où elle m’avait dit de l’attendre.
« Je cheminais sans crainte, ne croyant pas que quelqu’un fût
assez hardi pour m’enlever ce cheval, quand je lui aurais dit qu’il
était à la sœur de Renaud. Mais hier j’ai été détrompée, car un
ribaud de Sarrasin me l’a pris. J’ai eu beau lui dire à qui appartenait
Frontin, il n’a jamais voulu me le rendre.
« Tout hier et tout aujourd’hui, je l’ai prié, et quand j’ai vu que
prières et menaces étaient vaines, je l’ai laissé, après l’avoir accablé
de malédictions et d’injures, à peu de distance d’ici, défendant de
son mieux le cheval et lui-même contre un guerrier qui lui donne
une telle besogne, que j’espère bien ne pas tarder à être vengée. —
»
A ce récit, Roger est soudain sur pieds. Il s’était contenu pour
l’écouter jusqu’au bout. Se tournant vers Richardet, il lui demande,
pour prix du service qu’il lui a rendu — et cela avec des prières sans
fin — de le laisser aller seul avec la dame, jusqu’à ce qu’elle lui ait
fait voir le Sarrasin qui lui a enlevé des mains le bon destrier.
Bien qu’il semble peu loyal à Richardet de laisser à un autre le
soin de terminer une affaire qui lui incombe, il finit cependant par se
rendre aux prières de Roger ; celui-ci prend aussitôt congé de ses
compagnons, et s’éloigne avec Hippalque, laissant les chevaliers non
pas seulement émerveillés, mais stupéfaits de sa vaillance.
Quand ils furent à une certaine distance, Hippalque lui raconta
qu’elle était envoyée vers lui par celle qui portait son image gravée
au plus profond du cœur. Et, sans plus feindre, elle lui dit tout ce
que sa maîtresse l’avait chargée de dire, ajoutant que si elle avait
d’abord parlé d’une autre façon, c’était à cause de la présence de
Richardet.
Elle dit que celui qui lui avait pris le destrier avait ajouté d’un air
plein d’orgueil : « — Puisque je sais que le cheval est à Roger, je le
prends encore plus volontiers justement à cause de cela. S’il a envie
de le ravoir, fais-lui savoir — car je ne tiens pas à le lui cacher — que
je suis ce Rodomont, dont la vaillance projette son éclat sur le
monde entier. — »
Roger écoute, et, sur son visage, il montre de quelle indignation
son cœur est embrasé. Frontin lui est cher ; de plus, il lui est envoyé
par Bradamante, et voilà qu’on le lui enlève avec des paroles de
mépris ! Il voit quel déshonneur l’atteindra s’il ne s’empresse de
reprendre son cheval à Rodomont et d’en tirer une éclatante
vengeance.
La dame conduit Roger sans s’arrêter, désireuse de le mettre face
à face avec le païen. Elle arrive à un endroit où la route se divise en
deux branches. L’une va vers la plaine, et l’autre sur la montagne.
Toutes deux conduisent à la vallée où elle a laissé Rodomont. Le
chemin qui prend par la montagne est rude, mais plus court que
celui de la plaine ; celui-ci est beaucoup plus long, mais plus facile.
Le désir qui pousse Hippalque de ravoir Frontin et de venger
l’offense qu’on lui a faite lui fait choisir le sentier de la montagne, qui
doit abréger de beaucoup leur voyage. Pendant ce temps, le roi
d’Alger chevauche par l’autre sentier, en compagnie du Tartare et
des autres chevaliers dont j’ai parlé plus haut. Comme il suit la route
plus facile qui traverse la plaine, il ne peut se rencontrer avec Roger.
Ils ont différé leurs querelles pour porter secours à Agramant.
Cela, vous le savez déjà ; Doralice, cause de tous leurs débats, est
avec eux. Écoutez maintenant la suite de l’histoire. La route qu’ils
suivent conduit droit à la fontaine où Aldigier, Marphise, Richardet,
Maugis et Vivian se livrent aux douceurs du repos.
Marphise, cédant aux prières de ses compagnons, avait revêtu
des vêtements de femme pris parmi ceux que le traître de Mayence
croyait envoyer à Lanfuse. Bien qu’elle se montrât rarement sans son
haubert et sans ses autres bonnes armes, elle consentit à les retirer
ce jour-là, et, sur leurs prières, elle se laissa voir à eux sous des
habits de dame.
Aussitôt que le Tartare voit Marphise, il conçoit l’espérance de la
conquérir, et il lui vient à la pensée de la donner à Rodomont, en
échange de Doralice ; comme si l’amour pouvait s’accommoder de
pareilles façons d’agir ! comme si un amant pouvait vendre ou
changer sa dame, et se consoler de sa perte en en prenant une
autre !
Donc, pour le pourvoir d’une donzelle en remplacement de celle
qu’il lui a enlevée, il conçoit le projet de lui donner Marphise,
laquelle lui semble charmante et belle, et digne de devenir la
compagne de tout chevalier. Il pense qu’elle lui deviendra tout de
suite aussi chère que l’autre. C’est pourquoi, il provoque au combat
tous les chevaliers qu’il voit auprès d’elle.
Maugis et Vivian, qui étaient restés armés pour veiller à la sûreté
du reste de la troupe, s’élancent du lieu où ils se trouvaient, tous
deux prêts au combat et croyant avoir affaire à deux agresseurs.
Mais l’Africain, qui n’est pas venu pour cela, ne fait ni un signe ni un
mouvement pour leur répondre ; de sorte qu’ils se trouvent en
présence d’un seul adversaire.
Vivian arrive le premier ; plein d’ardeur, il met en arrêt sa lourde
lance. De son côté, le roi païen, habitué aux vaillantes prouesses,
s’en vient à sa rencontre avec une énergie plus grande encore. Tous
deux dirigent leur lance là où ils croient que le coup sera plus
dangereux. Vivian frappe en vain le casque du païen ; loin de le faire
tomber, il ne le fait pas même ployer.
Le roi païen, dont la lance est plus dure, fait voler en éclats l’écu
de Vivian, comme s’il eût été de verre, et l’envoie lui-même hors de
selle au milieu du pré, parmi les herbes et les fleurs. Maugis survient
et tente à son tour l’aventure, désireux de venger son frère. Mais il
est si promptement jeté à terre à côté de lui, qu’au lieu de le venger,
il doit se contenter de lui tenir compagnie.
Leur autre frère, plus prompt que leur cousin à revêtir ses armes,
s’est élancé sur son destrier. Défiant le Sarrasin, il accourt à toute
bride à sa rencontre, et brûlant d’ardeur. Sa lance frappe d’un coup
retentissant le casque à fine trempe du païen, à un doigt au-dessous
de la visière. La lance vole au ciel, rompue en quatre tronçons. Mais
le païen n’est pas même ébranlé sous cette botte terrible.
Le païen le frappe au flanc gauche. Le coup est tellement fort,
que l’écu et la cuirasse, n’y pouvant résister, s’entr’ouvrent comme
une écorce. Le fer cruel transperce la blanche épaule. Aldigier, percé
de part en part, ploie sous le coup, et tombe enfin parmi l’herbe et
les fleurs, pâle sous ses armes rouges de sang.
Richardet accourt derrière lui plein de rage, sa lance en arrêt, et
son aspect montre bien, comme toujours, qu’il est un digne paladin
de France. Et il l’eût bien prouvé au païen si les chances fussent
restées égales. Mais il n’arrive pas jusqu’à lui, car, sans qu’il y ait de
sa faute, son cheval tombe et l’entraîne.
Aucun autre chevalier ne se montrant pour lutter avec le païen,
celui-ci pense avoir gagné le prix de la bataille, c’est-à-dire la dame.
Il vient à elle, près de la fontaine, et dit : « — Damoiselle, vous êtes
à moi, à moins que quelqu’un ne monte encore en selle pour
combattre en votre faveur. Vous ne pouvez vous refuser à le
reconnaître, car c’est la loi de la guerre. — »
Marphise, levant la tête d’un air altier, dit : « — Tu te trompes
beaucoup. Je reconnais que tu dirais vrai, en prétendant que je
t’appartiens selon le droit de guerre, si l’un de ceux que tu as jetés à
terre eût été mon seigneur ou mon chevalier. Mais je ne suis à aucun
d’eux ; je ne suis à personne autre qu’à moi. Donc, c’est à moi-
même que celui qui désire m’avoir doit m’enlever.
« Moi aussi, je sais manier l’écu et la lance, et j’ai jeté à terre plus
d’un chevalier. — » Et, se tournant vers les écuyers : « — Donnez-
moi — dit-elle — mes armes et mon destrier. — » Elle enlève ses
vêtements de femme et apparaît en simple chemisette, montrant les
beautés et les admirables proportions d’un corps dont chaque partie,
si ce n’est le visage, semble appartenir à Mars.
A peine armée, elle ceint son épée, saute légèrement à cheval, le
fait caracoler trois ou quatre fois de côté et d’autre, puis, défiant le
Sarrasin, elle saisit sa forte lance et commence l’assaut. Telle, dans
le camp troyen, devait être Pentésilée [2] , combattant contre Achille
le Thessalien.
A la terrible rencontre, les deux lances se brisent jusqu’à la
poignée, comme verre. Pourtant les adversaires ne plient pas d’un
doigt. Marphise, voulant voir si elle ne réussirait pas mieux contre le
fier païen en le serrant de plus près, revient sur lui, l’épée à la main.
Le cruel païen, en la voyant rester en selle, blasphème le ciel et
les éléments. Elle, qui pensait lui avoir rompu le bouclier,
n’apostrophe pas le ciel d’une manière moins courroucée. Déjà l’un
et l’autre ont le fer nu en main et martellent de coups leurs armures
enchantées. Les armures sont de part et d’autre enchantées, et
jamais elles n’en eurent plus besoin qu’en ce jour.
Les hauberts et les cottes de mailles sont d’une si bonne trempe,
qu’ils ne peuvent être entamés par l’épée ou la lance. De sorte que
l’âpre bataille aurait pu durer tout ce jour et l’autre jour encore, si
Rodomont ne s’était jeté au milieu d’eux, et n’avait réprimandé son
rival sur le retard qu’il leur occasionnait. « — Si cependant tu veux
batailler à toute force — lui dit-il — achevons la lutte déjà
commencée entre nous.
« Nous avons conclu, comme tu sais, une trêve, pour porter
secours à notre armée. Nous ne devons, avant d’avoir rempli cette
obligation, entreprendre aucune autre bataille ni joute. — » Ensuite,
se tournant avec déférence vers Marphise, il lui montre le messager
envoyé par Bradamante, et lui raconte comment il était venu
réclamer leur aide.
Puis il la prie de renoncer à cette lutte, ou de la différer et de
venir avec eux au secours du fils du roi Trojan. Sa renommée
montera ainsi au ciel d’un vol plus rapide que par une querelle d’un
moment, dont le seul résultat serait d’entraver un si noble dessein.
Marphise brûlait toujours d’éprouver, l’épée ou la lance à la main,
les chevaliers de Charles. Elle n’avait été amenée de si loin en
France que par le désir de constater par elle-même si leur éclatante
renommée était méritée ou mensongère. Aussitôt qu’elle apprit le
grand besoin dans lequel se trouvait Agramant, elle se décida à
partir avec Rodomont et Mandricard.
Cependant Roger avait suivi en vain Hippalque par le sentier de
la montagne. Arrivé à l’endroit où il croyait trouver Rodomont, il vit
que celui-ci était parti par un autre chemin. Pensant qu’il n’était pas
loin, et qu’il avait pris le sentier qui conduisait droit à la fontaine, il
se lança au grand trot derrière lui, guidé par les traces fraîches,
empreintes sur le sol.
Il ordonna à Hippalque de prendre la route de Montauban qui
n’était qu’à une journée de marche. Il ne voulut pas qu’elle revînt
avec lui à la fontaine, afin de ne pas trop la détourner du droit
chemin. Il lui recommanda de dire à Bradamante que s’il n’avait pas
eu à recouvrer Frontin, il serait allé à Montauban, ou partout où elle
aurait été, prendre de ses nouvelles.
Il lui donna la lettre qu’il avait écrite à Aigremont et qu’il portait
sur son sein. Il lui dit encore de vive voix beaucoup d’autres choses,
et la chargea de l’excuser auprès de sa dame. Hippalque, ayant bien
fixé tout cela dans sa mémoire, prit congé de lui, et fit faire volte-
face à son palefroi. La fidèle messagère ne s’arrêta plus qu’elle ne
fût arrivée le soir même à Montauban.
Roger suivait en toute hâte le Sarrasin, dont les traces se
voyaient tout le long du chemin, mais il ne put le rejoindre que près
de la fontaine où il le vit escorté de Mandricard. Les deux guerriers
s’étaient promis de ne point s’attaquer pendant la route, jusqu’à ce
qu’ils eussent délivré le camp de leur maître, auquel Charles
s’apprêtait à imposer le joug.
Arrivé près d’eux, Roger reconnut Frontin, et par là vit sur-le-
champ auquel des deux chevaliers il avait à faire. Otant sa lance de
dessus l’épaule, il défia l’Africain d’une voix altière. Ce jour-là,
Rodomont surpassa Job en patience, car, domptant son orgueil
féroce, il refusa le combat que d’habitude il était le premier à
chercher avec insistance.
Ce fut la première et la dernière fois que le roi d’Alger refusa le
combat. Mais le désir qu’il avait de courir au secours de son roi lui
semblait tellement sacré, que, même s’il avait cru tenir Roger entre
ses mains aussi facilement que le léopard agile et preste tient le
lièvre, il n’aurait pas consenti à s’arrêter le temps d’échanger avec lui
un coup d’épée ou deux.
Ajoutez qu’il savait que c’était Roger qui le défiait au combat à
cause de Frontin, Roger si fameux qu’il n’y avait pas un autre
chevalier qui pût l’égaler en gloire ; Roger dont il avait toujours
désiré éprouver, par expérience, la force sous les armes. Pourtant il
ne voulut pas accepter le combat avec lui, tellement il avait à cœur
de secourir son roi assiégé.
Sans cette circonstance, il aurait fait trois cent milles et plus pour
courir au-devant d’une telle rencontre. Mais en ce moment, si Achille
lui-même l’avait défié, il n’aurait pas agi autrement que comme vous
venez de l’entendre, tant il avait réussi à assoupir la flamme de sa
colère. Il raconte à Roger pourquoi il refuse le combat, et le prie de
l’aider dans son entreprise.
Ce faisant, il fera ce que doit à son seigneur tout chevalier fidèle.
Lorsque le siège sera levé, ils auront toujours bien le temps de vider
leur querelle. Roger lui répond : « — Il me sera facile de différer ce
combat jusqu’à ce qu’Agramant ait échappé aux forces de Charles,
pourvu que tu me rendes sur-le-champ mon cheval Frontin.
« Si tu veux que je consente à remettre à notre arrivée à la cour
de prouver que tu as commis une chose indigne d’un homme brave
en enlevant mon cheval à une dame, abandonne Frontin, et mets-le
à ma disposition. Ne crois pas qu’autrement j’accepterai de différer
entre nous la bataille seulement d’une heure. — »
Pendant que Roger réclame de l’Africain ou Frontin ou la bataille
immédiate, et que celui-ci le renvoie à plus tard et ne veut ni donner
le destrier, ni s’arrêter, Mandricard s’avance de son côté, et soulève
un nouveau sujet de querelle en voyant que Roger porte sur ses
armes l’oiseau qui règne sur tous les autres.
Roger portait, sur champ d’azur, l’aigle blanche qui fut jadis
l’emblème glorieux des Troyens. Il avait le droit de la porter, puisqu’il
tirait son origine de l’illustre Hector. Mais Mandricard ignorait cela, et
ne voulait pas souffrir, car il le considérait comme une grande injure,
qu’un autre que lui portât sur son écu l’aigle blanche du fameux
Hector.
Mandricard portait également sur ses armes l’oiseau qui ravit
Ganymède sur l’Ida. Comment il obtint ces armes pour prix de sa
victoire, le jour où il fut victorieux dans le château où il courut de si
grands périls [3] , cela vous est, je crois, présent à l’esprit avec
d’autres histoires. Vous savez également comment la fée lui donna
toute la belle armure que Vulcain avait donnée jadis au chevalier
troyen.
Mandricard et Roger s’étaient déjà battus une autre fois rien que
pour ce motif. Comment ils avaient été séparés par hasard, je n’ai
pas à le dire ici. Sachez seulement que, depuis ce moment, ils ne
s’étaient pas encore rencontrés. Mandricard, aussitôt qu’il vit l’écu,
se mit à pousser des cris hautains et à menacer Roger en lui disant :
« — Je te défie !
« Ce sont mes armoiries que tu portes, téméraire. Ce jour n’est
pas le premier où je te l’ai dit. Et tu crois, fou que tu es, que parce
que je t’ai épargné une fois, je le supporterai encore aujourd’hui !
Puisque ni les menaces ni les ménagements n’ont pu t’enlever cette
folie de la tête, je te montrerai combien c’eût été pour toi un
meilleur parti de m’avoir obéi sur-le-champ. — »
De même que le bois sec et bien échauffé s’enflamme
subitement au moindre souffle, ainsi s’allume l’indignation de Roger
au premier mot qu’il entend de cette menace. « — Tu crois — dit-il
— m’intimider d’un signe, parce que je suis en contestation avec cet
autre. Mais je te montrerai que je suis bon pour arracher à lui
Frontin et à toi le bouclier d’Hector.
« Une autre fois, il est vrai, j’en suis venu aux mains avec toi pour
ce motif, et il n’y a pas encore longtemps de cela. Mais je me retins
alors de te tuer, parce que tu n’avais pas d’épée au flanc. Ce qui
n’était qu’une menace va devenir un fait accompli. Cet oiseau blanc
t’attirera malheur, car, dès l’antiquité, il sert d’armoiries à ma race ;
tu l’as usurpé, et moi je le porte à juste titre. — »
« — C’est toi, au contraire, qui as usurpé mes armoiries, — »
répond Mandricard ; et il tire son épée. C’était celle que, peu
auparavant, Roland, dans sa folie, avait jetée par la forêt. Le brave
Roger, qui ne pouvait en aucune circonstance se départir de sa
courtoisie, laissa tomber sa lance sur le chemin, quand il vit que le
païen avait tiré l’épée.
En même temps il saisit Balisarde, la bonne épée, et assujettit
son écu à son bras. Mais l’Africain pousse son destrier entre les deux
adversaires, suivi de Marphise. Les prenant chacun à part, ils les
prient de ne point en venir aux mains. Rodomont se plaint que
Mandricard ait deux fois rompu le pacte qu’ils ont fait ensemble ;
La première fois, s’imaginant conquérir Marphise, il s’était arrêté
pour rompre plus d’une lance. Maintenant, pour disputer à Roger
une devise, il montre peu de souci du roi Agramant. « — Si,
cependant — ajoute-t-il — tu veux continuer à agir de cette façon,
terminons d’abord notre propre querelle. Elle est plus juste et plus
pressée qu’aucune de celles que tu t’es faites depuis.
« C’est à cette condition qu’une trêve a été conclue entre nous
d’un commun accord. Quand j’en aurai fini avec toi, je ferai raison à
celui-ci au sujet du destrier. Pour toi, si tu sors de mes mains la vie
sauve, tu lutteras avec lui pour ton bouclier. Mais je te donnerai,
j’espère, une telle besogne, que Roger n’aura plus grand’chose à
faire. — »
« — Il n’en arrivera pas comme tu penses — répond Mandricard
à Rodomont. — C’est moi qui te donnerai plus de besogne que tu ne
voudras, et te ferai suer des pieds à la tête. Il me restera encore
assez de vigueur — de même que l’eau ne manque jamais à la
fontaine — pour tenir tête à Roger, à mille autres avec lui, et à tout
l’univers s’il veut lutter contre moi. — »
La colère et les paroles de défi allaient se multipliant de tous les
côtés. L’irritable Mandricard veut combattre en même temps
Rodomont et Roger. Celui-ci, qui n’est pas habitué à supporter
l’outrage, ne veut plus entendre parler d’accommodement ; il ne
respire que bataille et dispute. Marphise va de l’un à l’autre pour
rétablir la paix, mais elle ne peut suffire seule à une aussi forte
tâche.
Souvent, lorsque le fleuve a franchi ses rives élevées et cherche à
se creuser un nouveau lit, le villageois, ardent à défendre contre
l’inondation ses verts pâturages et la moisson en laquelle il espère,
se morfond à combler tantôt une brèche, tantôt une autre. Pendant
qu’il répare le côté qui menace de tomber, il voit sur un autre point
céder la digue trop faible, et l’eau se précipiter par-dessus avec plus
d’impétuosité.
Ainsi, pendant que Roger, Mandricard et Rodomont sont tous les
trois à se disputer, chacun d’eux voulant se montrer le plus vaillant,
et prendre l’avantage sur ses compagnons, Marphise s’efforce de les
apaiser. Mais elle perd sa fatigue et son temps. A peine a-t-elle
réussi à en tirer un hors de la bagarre, qu’elle voit les deux autres
recommencer leur querelle avec une colère nouvelle.
Marphise, voulant les mettre d’accord, disait : « — Seigneurs,
écoutez mon conseil. Il convient de remettre toute querelle jusqu’à
ce qu’Agramant soit hors de péril. Si personne ne veut céder, je vais
me reprendre moi aussi avec Mandricard, et je verrai enfin si,
comme il l’a dit, il est assez fort pour me conquérir par les armes.
« Mais si nous devons aller au secours d’Agramant, allons-y sans
retard, et qu’entre nous cesse toute contestation. — » « — Pour
moi, je n’irai pas plus avant — dit Roger — à moins que mon destrier
ne me soit rendu. Sans plus de paroles, qu’il me donne mon cheval,
ou qu’il le défende contre moi. Je resterai mort ici, ou je retournerai
au camp sur mon destrier. — »
Rodomont lui répond : « — Obtenir ce dernier résultat ne te sera
pas aussi facile que d’obtenir le premier — » Et il poursuit en
disant : « — Je te préviens que s’il arrive malheur à notre roi, ce
sera par ta faute, car pour moi, je suis prêt à faire pour lui ce que je
dois. — » Roger ne s’arrête pas à cette observation ; saisi de fureur,
il tire son épée.
Comme un sanglier, il se précipite sur le roi d’Alger, le heurte de
l’écu et de l’épaule, l’ébranle et le met dans un tel désordre, qu’il lui
fait perdre un étrier. Mandricard lui crie : « — Roger, diffère cette
bataille, ou combats avec moi. — » Et ce disant, plus cruel, plus
félon qu’il ne s’était jamais montré, il frappe Roger sur son casque.
Roger s’incline jusque sur le cou de son destrier. Lorsqu’il veut se
relever, il ne peut, car il est atteint par un nouveau coup que lui
porte le fils d’Ulien. Si son casque n’eût pas été d’une trempe aussi
dure que le diamant, il aurait été fendu jusqu’au menton. Roger,
suffoqué, ouvre les deux mains, abandonnant les rênes et son épée.
Son destrier l’emporte à travers la campagne ; derrière lui
Balisarde reste à terre. Marphise, qui ce jour même avait été sa
compagne d’armes, frémit, et s’indigne de voir qu’un seul soit ainsi
attaqué par deux à la fois. La magnanime et vaillante guerrière se
dresse contre Mandricard, et, faisant appel à toute sa vigueur, elle le
frappe à la tête.
Rodomont se précipite à la poursuite de Roger, et Frontin va lui
appartenir comme au vainqueur, si un autre adversaire n’intervient.
Mais Richardet, suivi de Vivian, accourt en toute hâte et se jette
entre Roger et le Sarrasin. L’un heurte Rodomont, le fait reculer et
l’entraîne de force loin de Roger. L’autre, c’est-à-dire Vivian, place sa
propre épée dans la main de Roger, qui a déjà repris ses sens.
Aussitôt que le brave Roger est revenu à lui, et qu’il tient l’épée
que Vivian lui présente, il n’est pas long à venger son injure. Il fond
sur le roi d’Alger, rapide comme le lion débarrassé des cornes du
taureau, et qui ne sent plus la douleur. L’indignation, la colère
stimulent, fouettent son désir d’une prompte vengeance.
Roger s’abat comme la tempête sur la tête du Sarrasin. S’il avait
pu reprendre son épée qui, ainsi que je l’ai dit, lui était échappée
des mains dès le commencement de la bataille, par suite de la
félonie dont il avait été victime, je crois que la tête de Rodomont
n’eût pas été préservée par son casque, bien que ce casque fût
l’œuvre du roi qui éleva la tour de Babel pour faire la guerre aux
cieux étoilés.
La Discorde, persuadée que ce lieu ne peut plus être que le
théâtre de conflits et de risques, et qu’il ne saurait y être conclu ni
paix ni trêve, dit à sa sœur qu’elle peut désormais revenir en toute
sécurité avec elle auprès de leurs bons petits moines. Laissons-les
partir toutes deux, et restons auprès de Roger qui a frappé
Rodomont au front.
Le coup de Roger fut porté avec une si grande force, qu’il fit
résonner, jusque sur la croupe de Frontin, le casque et la dure
cuirasse d’écailles dont le Sarrasin était armé. Lui-même chancela
trois ou quatre fois à droite et à gauche, comme s’il allait tomber la
tête la première. Il aurait, lui aussi, laissé échapper son épée, si elle
n’avait été attachée à sa main.
Cependant Marphise avait fait couler la sueur du front, du visage
et de la poitrine de Mandricard qui, de son côté, lui rendait bien la
pareille. Mais leurs hauberts, à tous les deux, étaient si parfaits,
qu’ils n’avaient pu être entamés sur aucun point, de sorte que les
combattants se maintenaient à avantages égaux. Soudain, un écart
de son destrier fit que Marphise eut besoin de l’aide de Roger.
Le destrier de Marphise, en voulant tourner trop court, glissa sur
l’herbe humide d’une si malheureuse façon, que la guerrière ne put
le retenir et qu’il tomba sur le côté droit. Au moment où il cherchait
à se relever, il fut heurté en plein flanc par Bride-d’Or, sur lequel
s’avançait le païen peu courtois, et forcé de tomber de nouveau.
Roger, voyant la damoiselle par terre et en grand danger, se hâta
de la secourir. Il le pouvait d’autant plus facilement que son
adversaire, tout étourdi, avait été emporté au loin. Il frappa sur le
casque du Tartare un coup terrible qui lui aurait fendu la tête comme
un trognon de chou, si Roger avait eu Balisarde en main, ou si
Mandricard avait eu sur la tête un autre armet.
Le roi d’Alger cependant, ayant repris ses sens, tourna ses
regards tout autour de lui et aperçut Richardet. Se souvenant que
c’était lui qui l’avait attaqué et qui avait secouru Roger, il piqua droit
à lui, et il allait lui faire payer cher son intervention, si Maugis, avec
un grand art et par un nouvel enchantement, n’était venu
s’interposer.
Maugis, en fait de maléfices, en savait autant que le plus habile
magicien. Bien qu’il n’eût pas avec lui le livre avec lequel il aurait pu
arrêter le soleil, il avait parfaitement à l’esprit la formule par laquelle
il conjurait d’habitude les démons. Il en envoie un sur-le-champ dans
le corps du roussin de Doralice, et le met en fureur.
Avec une seule parole, le frère de Vivian fait entrer un des anges
de Minos dans le paisible coursier qui porte sur son dos la fille du roi
Stordilan, et celui-ci, qui jamais auparavant ne s’était emporté, et qui
avait toujours obéi à la main, fait soudain un saut de trente pieds de
long et de seize pieds de haut.
Le saut fut grand, mais non cependant de nature à faire vider la
selle à la cavalière. Quand elle se vit en l’air, la donzelle, se tenant
pour morte, se mit à crier de toutes ses forces. Le roussin, après ce
saut énorme, partit emporté par le diable, avec Doralice qui criait au
secours, et d’une course si rapide, qu’une flèche ne l’aurait pas
rejoint.
Aux premiers sons de cette voix, le fils d’Ulien quitte la bataille,
et pique des deux derrière le palefroi qui s’enfuit furieux, afin de
porter secours à la dame. Mandricard en fait autant, sans plus
s’occuper de Roger et de Marphise. Sans leur demander ni paix ni
trêve, il suit les traces de Rodomont et de Doralice.
Cependant Marphise s’était relevée de terre. Toute ardente
d’indignation et de colère, elle croit qu’elle va se venger, mais elle
est trompée dans son espoir ; elle aperçoit son ennemi trop loin
d’elle. Roger, voyant la bataille se terminer de la sorte, pousse des
soupirs qui ressemblent au rugissement d’un lion. Tous deux savent
bien qu’avec leurs chevaux ils ne peuvent rejoindre Frontin et Bride-
d’Or.
Roger ne veut point lâcher prise avant que ne soit vidée sa
querelle avec le roi d’Alger à propos de son cheval ; Marphise ne veut
pas laisser le Tartare aller en paix avant de s’être encore mesurée
avec lui. Abandonner leur querelle ainsi paraît à l’un et à l’autre une
lâcheté. D’un commun accord, ils prennent le parti de suivre les pas
de ceux dont ils ont à se plaindre.
Ils les retrouveront dans le camp sarrasin, s’ils ne peuvent les
rejoindre avant, car ils savent qu’ils s’y rendent pour faire lever le
siège du camp, avant que le roi de France ne s’en soit complètement
emparé. Ils s’en vont donc tout droit où ils pensent les rencontrer
sans faute. Roger, cependant, ne s’éloigne pas avant d’avoir dit
adieu à ses compagnons.
Roger s’approche de l’endroit où le frère de sa belle dame se
tient à l’écart, et l’assure de son amitié partout où il sera, dans la
bonne comme dans la mauvaise fortune. Puis il le prie — et cela
avec beaucoup d’adresse — de saluer sa sœur en son nom. Il lui fait
cette dernière recommandation avec tant de prudence, qu’il ne
donne de soupçon ni à lui ni aux autres.
Puis il prend congé de lui, de Vivian, de Maugis et d’Aldigier qui
est blessé. Eux aussi, en souvenir des services rendus, l’assurent de
leur reconnaissance éternelle. Quant à Marphise, elle avait tellement
à cœur d’aller à Paris, qu’elle avait oublié de dire adieu à ses amis.
Mais Maugis et Vivian coururent sur ses pas jusqu’à ce qu’ils pussent
la saluer de loin.
Richardet en fit autant. Aldigier, qui gisait à terre, fut forcé, bien
contre son gré, de rester. Marphise et Roger prirent le chemin que
Rodomont et Mandricard avaient suivi et qui conduisait vers Paris.
J’espère, seigneur, vous dire dans l’autre chant les exploits
merveilleux et surhumains qu’au grand détriment des guerriers de
Charles accomplirent les deux couples dont je vous parle.
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!

ebookgate.com

You might also like