Download C Programming From Problem Analysis to Program Design 2nd Edition Barbara Doyle ebook All Chapters PDF
Download C Programming From Problem Analysis to Program Design 2nd Edition Barbara Doyle ebook All Chapters PDF
com
https://ebookname.com/product/c-programming-from-problem-
analysis-to-program-design-2nd-edition-barbara-doyle/
OR CLICK BUTTON
DOWNLOAD EBOOK
https://ebookname.com/product/c-programming-from-problem-
analysis-to-program-design-5th-edition-barbara-doyle/
https://ebookname.com/product/c-programming-from-problem-
analysis-to-program-design-6th-edition-d-s-malik/
https://ebookname.com/product/c-programming-program-design-
including-data-structures-fourth-edition-d-s-malik/
https://ebookname.com/product/advances-in-imaging-and-electron-
physics-141-1st-edition-peter-hawkes-eds/
Divided by Borders Mexican Migrants and Their Children
1st Edition Joanna Dreby
https://ebookname.com/product/divided-by-borders-mexican-
migrants-and-their-children-1st-edition-joanna-dreby/
https://ebookname.com/product/oxford-reading-tree-level-3-more-
songbirds-phonics-stop-chatting-bill-julia-donaldson/
https://ebookname.com/product/kase-on-technical-analysis-
workbook-video-course-trading-and-forecasting-1st-edition-
cynthia-kase/
https://ebookname.com/product/bench-to-bedside-microbiology-for-
clinicians-first-edition-khardori/
https://ebookname.com/product/risky-transactions-trust-kinship-
and-ethnicity-1st-edition-frank-k-salter-editor/
Elementary Number Theory and Its Applications 5th
edition Instructor s Solutions Manual Kenneth H. Rosen
https://ebookname.com/product/elementary-number-theory-and-its-
applications-5th-edition-instructor-s-solutions-manual-kenneth-h-
rosen/
C# Programming:
From Problem Analysis
to Program Design,
Second Edition
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
C# Programming:
From Problem Analysis
to Program Design,
Second Edition
Barbara Doyle
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
C# Programming: From Problem Analysis to Program Design, Second Edition
by Barbara Doyle
COPYRIGHT © 2008 Course Technology, ALL RIGHTS RESERVED. No part of this Disclaimer
a division of Thomson Learning, Inc. work covered by the copyright hereon Course Technology reserves the right
Thomson Learning™ is a trademark may be reproduced or used in any to revise this publication and make
used herein under license. form or by any means—graphic, elec- changes from time to time in its con-
tronic, or mechanical, including photo- tent without notice. The programs in
Printed in the United States of America copying, recording, taping, Web this book are for instructional purposes
distribution, or information storage only. They have been tested with care
1 2 3 4 5 6 7 8 9 TC 11 10 09 08 07 and retrieval systems—without the but are not guaranteed for any partic-
written permission of the publisher. ular intent beyond educational pur-
For more information, contact Course poses. The author and the publisher do
Technology, 25 Thomson Place, Boston, For permission to use material from not offer any warranties or representa-
Massachusetts, 02210. this text or product, contact us by tions, nor do they accept any liabilities
Or find us on the World Wide Web at: Tel (800) 730-2214 with respect to the programs.
www.course.com Fax (800) 730-2215
www.thomsonrights.com 10-digit ISBN: 1-4239-0146-0
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Brief
Contents
PREFACE xix
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
vi C# Programming: From Problem Analysis to Program Design
GLOSSARY 965
INDEX 979
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of
Contents
PREFACE xix
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
viii C# Programming: From Problem Analysis to Program Design
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents ix
Types 89
Classes 89
Objects 90
Predefined Data Types 91
Value Types 92
Integral Data Types 93
Floating-Point Types 95
Decimal Types 97
Boolean Variables 98
Declaring Strings 98
Making Data Constant 99
Assignment Statements 100
Basic Arithmetic Operations 103
Increment and Decrement Operations 105
Compound Operations 108
Order of Operations 110
Mixed Expressions 112
Casts 114
Formatting Output 114
Programming Example: CarpetCalculator 118
Resources 126
Quick Review 126
Exercises 127
Programming Exercises 132
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
x C# Programming: From Problem Analysis to Program Design
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xi
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xii C# Programming: From Problem Analysis to Program Design
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xiii
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xiv C# Programming: From Problem Analysis to Program Design
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xv
Exceptions 658
Raising an Exception 661
Bugs, Errors, and Exceptions 662
Exception-Handling Techniques 664
Try…Catch…Finally Blocks 665
Exception Object 668
Exception Classes 670
Derived Classes of the Base Exception Class 670
ApplicationException Class 671
SystemException Class 671
Filtering Multiple Exceptions 673
Custom Exceptions 677
Throwing an Exception 679
Input Output (IO) Exceptions 681
Programming Example: ICW WaterDepth Application 682
Quick Review 697
Exercises 698
Programming Exercises 703
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xvi C# Programming: From Problem Analysis to Program Design
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Table of Contents xvii
ASP.NET 841
Visual Web Developer 842
IIS 842
Web Forms Page 847
Creating a Web Page 847
Controls 854
HTML Controls 855
HTML Server Controls 860
Web Forms Server Controls 864
Available Web Forms Controls 864
Web Forms Controls of the Common Form Type 866
Adding Common Form-Type Controls 869
Validation, Custom, and Composite Controls 873
Validation Controls 873
Calender Control 876
DataGrid and GridView Controls 882
AccessDataSource 888
Using Visual Tools to Connect 889
Setting the Visibility Property 893
Other Controls 895
Web Services 898
Web Services Protocols 898
Building a Web Service 900
Using or Consuming Web Services 904
Smart Device Applications (Optional) 909
The .NET Compact Framework 909
Creating a Smart Device Application 909
Quick Review 916
Exercises 918
Programming Exercises 922
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xviii C# Programming: From Problem Analysis to Program Design
Compiling Program Statements from the Visual Studio Command Prompt 931
Executing the Application from the Command Prompt 932
Compiler Options 933
Other Platforms 933
GLOSSARY 965
INDEX 979
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface
C # Programming: From Problem Analysis to Program Design requires no previous introduction
to programming and only a mathematical background of high school algebra.The book
uses C# as the programming language for software development; however, the basic pro-
gramming concepts presented can be applied to a number of other languages. Instead of
focusing on the syntax of the C# language, this book uses the C# language to present gen-
eral programming concepts. It is the belief of the author that once you develop a thorough
understanding of one programming language, you can effectively apply those concepts to
other programming languages.
Why C#?
C# is a true object-oriented language that includes a rich set of instruction statements. C#
was the language used for development of much of .NET, the new Microsoft programming
paradigm that includes a collection of more than 2,000 predefined classes that make up the
Framework Class Library (FCL). Thus, C# has access to a large collection of predefined
classes similar to those available to Java. C# provides tools that make it easy to create graphi-
cal user interfaces—similar to the tools Visual Basic programmers have employed for years.
C# also provides the pure data crunching horsepower to which C/C++ programmers have
become accustomed. But unlike other languages, C# was designed from scratch to accom-
modate Internet and Windows applications. For these reasons, C# was chosen as the lan-
guage for this book.
Advanced Topics
After building a solid programming foundation, this book presents rapid application develop-
ment techniques that can be used to build a number of advanced types of applications.
Generics and partial classes,which are new to .NET 2.0 are introduced. Illustrating the drag
and drop construction approach used with Visual Studio, Windows and Web applications are
created. Readers are introduced to the event-driven programming model, which is based on
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xx C# Programming: From Problem Analysis to Program Design
interactively capturing and responding to user input on Windows and Web forms. In the past,
CS1 courses and even CS2 courses did not include this model.
As a book for first-time programmers, this book is unusual in introducing applications that
retrieve and update data in databases such as those created using Microsoft Access or SQL
Server. Other interesting topics include creating and using XML Web Services, program-
ming applications for mobile devices—such as personal digital assistants (PDAs), and devel-
oping stand-alone .dll components (class libraries). All of these advanced features are
discussed after you have gained a thorough understanding of the basic components found
in programming languages.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface xxi
APPROACH
A problem solving methodology based on object-oriented software development is intro-
duced early and used throughout the book. Programming Examples are presented at the end
of each chapter, and each example follows a consistent approach: analyzing the problem spec-
ifications, designing a solution, implementing the design, and verifying or validating the solu-
tion structures.
The author believes that the best way to learn to program is to experience programming.
This assumption drives the material presented in this textbook. As new concepts are intro-
duced, they are described using figures and illustrations. Examples are shown and discussed
as they relate to the concept being presented. With a hands-on approach to learning, you
practice and solidify the concepts presented by completing the end of the chapter exercises.
You are also encouraged throughout the book to explore and make use of the more than
2,000 classes that make up the Framework Class Library (FCL).
Every chapter begins with a list of objectives and a short overview of the previous chapter.
Text in each chapter is supplemented with figures and tables to help visual learners grasp the
concepts being presented. Each chapter is sprinkled with useful tips and hints on the con-
cepts being presented, and code snippets are embedded as new concepts are introduced in
each chapter. In addition, each chapter contains complete working programs illustrating an
application using C#. Every chapter ends with a summary of the major points covered in
that chapter and review exercises in both objective and subjective formats. Every chapter con-
tains ten programming exercises that give you an opportunity to experience programming.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xxii C# Programming: From Problem Analysis to Program Design
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface xxiii
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xxiv C# Programming: From Problem Analysis to Program Design
FEATURES
Every chapter in this book includes the following features.These features are both conducive
to learning in the classroom and enable you to learn the material at your own pace.
■ Four-color interior design shows accurate C# code and related comments.
■ Learning objectives offer an outline of the concepts discussed in detail in the chapter.
■ Hundreds of visual diagrams throughout the text illustrate difficult concepts.
■ Syntax boxes show the general form for different types of statements.
■ Numbered examples illustrate the key concepts with their relevant code, and the code
is often followed by a sample run.An explanation follows that describes the functions
of the most difficult lines of code.
■ Notes highlight important facts about the concepts introduced in the chapter.
■ Numerous tables are included which describe and summarize information compactly
for easy viewing.
■ Programming Examples are complete programs featured at the end of the chapter.The
examples contain the distinct stages of preparing a problem specification, analyzing the
problem, designing the solution, and coding the solution.
■ Quick Reviews offer a summary of the concepts covered in the chapter.
■ Exercises further reinforce learning and ensure that students have, in fact, absorbed the
material.
■ Programming Exercises challenge students to write C# programs with a specified
outcome.
■ Glossary at the end of the book lists all the key terms in alphabetical order along with
definitions, for easy reference.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface xxv
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.
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 numer-
ous 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 tech-
niques, 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 and Visual C# Standard Edition, using both Windows 2000
and Windows XP.
Microsoft® Visual C# ® can be packaged with this text. Please contact your Course Technology
Sales Representative for more information.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Visual Preview of Key Features
switchƒ(expression)
{
ƒƒƒƒcaseƒvalue1:ƒƒstatement(s);
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒbreak;
ƒƒƒƒcaseƒvalue2:ƒƒstatement(s);
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒbreak;
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒ.ƒ.ƒ.
ƒƒƒƒcaseƒvalueN:ƒƒstatement(s);
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒbreak;
ƒƒƒ[default:ƒƒƒƒƒƒstatement(s);
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒbreak;]
}
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
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 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
QUICK REVIEW
1. An array may contain any number of variables of the same type. One common identi-
fier names the entire structure.
2. The individual variables in the array are called the elements of the array.
3. To access an array element, use an index enclosed in square brackets.The index (or
subscript) references the location of the variable relative to the beginning location.The
first index is always zero.
PROGRAMMING EXERCISES
1. Write a program that generates 100 random numbers between 0 and 1000. Display
the number of even values generated as well as the smallest, largest, and the range of
values. Output should be displayed in a Windows message box.
2. Prompt the user for the length of three line segments as integers. If the three lines
could form a triangle, print the integers and a message indicating they form a triangle.
Recall that the sum of the lengths of any two sides must be greater than the length of
the third side in order to form a triangle. For example, 20, 5, and 10 cannot be the
lengths of the sides of a triangle because 5 + 10 is not greater than 20. For line seg-
ments that do not form a triangle, print the integers and an appropriate message indi-
cating no triangle can be created. Use a state-controlled loop to allow users to enter as
many different combinations as they like.
3. Write a program to calculate the average of all scores entered between 0 and 100. Use
a sentinel-controlled loop variable to terminate the loop. After values are entered and
the average calculated, test the average to determine whether an A, B, C, D, or F
should be recorded.The scoring rubric is as follows:
A—90-100; B—80-89; C—70-79; D—60-69; F < 60.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
EXERCISES
1. The value contained within the square brackets that is used to indicate the length of
the array must be a(n):
a. class
b. double
c. string
d. integer
e. none of the above
2. Which of the following would be the best declaration for an array to store the high
temperature for each day of one full week?
a. int temp1, temp2, temp3, temp4, temp5, temp6, temp7;
b. int temp [7] = new int [7];
c. temp int [ ] = new temp[7];
d. int [ ] temp = new temp [7];
e. int [ ] temp = new temp [8];
3. Assume an array called num is declared to store four elements.Which of the following
statements correctly assigns the value 100 to each of the elements?
a. for(x = 0; x < 3; ++x) num [x] = 100
b. for(x = 0; x < 4; ++x) num [x] = 100;
c. for(x = 1; x < 4; ++x) num [x] = 100;
d. for(x = 1; x < 5; ++x) num [x] = 100;
e. none of the above
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
xxx C# Programming: From Problem Analysis to Program Design
TEACHING TOOLS
The following supplemental materials are available when this book is used in a classroom set-
ting.All of the teaching tools available with this book are provided to the instructor on a sin-
gle CD-ROM.
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 ref-
erences for further review.These computer-based and Internet testing components allow stu-
dents 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 avail-
able to students on the network for chapter review, or to be printed for classroom distribu-
tion. Instructors can add their own slides for additional topics that they introduce to the class.
Distance Learning. Course Technology is proud to present online courses in WebCT and
Blackboard to provide the most complete and dynamic learning experience possible.When
you add online content to one of your courses, you’re providing a gateway to the 21st cen-
tury’s most important information resource.We hope you will make the most of your course,
both online and offline. For more information on how to bring distance learning to your
course, contact your local Course Technology sales representative.
Examples Source Code. The complete Visual Studio project files for the examples
included within each chapter are available at www.course.com, and are also available on the
Teaching Tools CD-ROM. The 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 chapter are available at
www.course.com , and are also available on the Teaching Tools CD-ROM.The individual
source code files are stored with a .cs extension inside the project subdirectory.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Preface xxxi
ACKNOWLEDGEMENTS
I would like to express my gratitude for the opportunity to complete the second edition of
this book. Like the first edition, it was a huge undertaking for me. Special thanks go out to
Alyssa Pratt, Senior Product Manager at Thomson, for her positive comments, guidance, and
support. She was a pleasure to work with throughout the project. I am grateful to Nicole
Ashton and the other Quality Assurance team members who verified that each of the exam-
ples and exercise solutions worked properly. Also thanks to the Content Manager, Pam Eliz-
ian. Pam joined the project late, but worked many nights and weekends to keep the project
on time.
Thanks go out to a number of my students for their involvement in the project, in particular
Corey Kelly for reading the manuscript and solving the programming exercises at the end of
chapters.
I am very grateful to the following reviewers for their uplifting comments and suggestions
for improvements:
Matthew Alimagham: Spartanburg Technical College
Steve Conger: Seattle Central Community College
Paul Rosenberg: DePaul University
I hope that the reviewers will see that many of their suggestions were implemented. The
textbook is much improved through their contributions.
I would also like to thank my family for their understanding while I was writing.Thanks to
my parents, Howard and Alma King, who even though they are hundreds of miles away, have
always been sources of encouragement and inspiration to me. And finally, a super special
thanks goes to David for the pats on the back and the confidence and faith he showed in me
that I could complete this project.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
1 Introduction to
Computing and
Programming
° software
° Learn the steps of software development
° together
° Learn why C# is being used today for software
development
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
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 mail? 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, word processing, e-mail, and ATMs were
unknown. 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. Mobile applications for Web-enabled phones, pocket and tablet PCs,
iPods, and personal digital assistants (PDAs) 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 pro-
grams. 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, which is pictured in
Figure 1-1, 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.
Copyright 2008 Cengage Learning, Inc. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part.
Another Random Document on
Scribd Without Any Related Topics
Fig. 384.—Diagram of Berberis.
Fig. 395.—Fumaria
officinalis: A the flower in
longitudinal section; B the
andrœcium and gynœceum;
nectary to the right.
Fig. 396.—Corydalis cava: a a flower (lateral view);
b the anthers lying round the stigma; c the anthers
shortly before the opening of the flower; d the head of
the stigma; e relative position of the parts of the flower
during the visit of an insect.
130 species; mostly from the northern temperatures.
Pollination. Fumaria, with its inconspicuous flowers, has to a great extent to
resort to self-pollination. Corydalis, on the other hand, is dependent on cross-
pollination; C. cava is even absolutely sterile with its own pollen. Corydalis is
pollinated by insects with long probosces (humble-bees, bees), which are able to
reach the honey secreted in the spur; as they alight on the flowers they press the
exterior petals on one side (Fig. 396 e), so that the stigma, surrounded by the
anthers, projects forward; the proboscis is introduced in the direction of the arrow
in the figure, and during this act the under-surface of the insect is covered with
pollen, which is transferred by similar movements to the stigma of another (older)
flower.—Ornamental plants; Dicentra (spectabilis and eximia), Adlumia, Corydalis.
Fig. 397.—Diagram of a
Cruciferous flower.
Fig. 398.—Brassica oleracea: A raceme; B, C siliqua; D
seed; E embryo; F transverse section of seed.
Fig. 399.—Transverse section of
seed and embryo of Cheiranthus
cheiri.