C Programming From Problem Analysis To Program Design 6th Edition D S Malik pdf download
C Programming From Problem Analysis To Program Design 6th Edition D S Malik pdf download
https://ebookbell.com/product/c-programming-from-problem-
analysis-to-program-design-6th-edition-d-s-malik-4334672
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-5th-5th-edition-d-s-malik-2336846
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-3rd-edition-3rd-edition-barbara-doyle-2416182
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-2nd-barbara-doyle-2444624
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-8th-edition-ds-malik-33556422
C Programming From Problem Analysis To Program Design 4th Edition Ds
Malik
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-4th-edition-ds-malik-38548048
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-4th-edition-barbara-doyle-4178294
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-7th-edition-ds-malik-5163210
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-5th-edition-barbara-doyle-10810090
https://ebookbell.com/product/c-programming-from-problem-analysis-to-
program-design-barbara-doyle-5498550
C++ PROGRAMMING:
FROM PROBLEM ANALYSIS TO PROGRAM DESIGN
SIXTH EDITION
D.S. MALIK
Australia Brazil Japan Korea Mexico Singapore Spain United Kingdom United States
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.
C++ Programming: From Problem Analysis
to Program Design, Sixth Edition For product information and technology assistance, contact us at
Cengage Learning Customer & Sales Support,
D.S. Malik www.cengage.com/support
For permission to use material from this text or product,
Executive Editor: Marie Lee submit all requests online at www.cengage.com/permissions
Acquisitions Editor: Brandi Shailer Further permissions questions can be emailed to
Senior Product Manager: Alyssa Pratt [email protected]
Associate Product Manager: Stephanie
Lorenz Library of Congress Control Number:
Content Project Manager: Matthew ISBN- : -- - -
Hutchinson
Cengage Learning
Art Director: Faith Brosnan
Channel Center Street
Print Buyer: Julio Esperas Boston, MA
Cover Designer: Roycroft Design/ USA
www.roycroftdesign.com Some of the product names and company names used in this
Cover Photo: ª Masterfile Royalty Free book have been used for identification purposes only and may
Proofreader: Andrea Schein be trademarks or registered trademarks of their respective
manufacturers and sellers.
Indexer: Elizabeth Cunningham
Compositor: Integra Software Services 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
Cengage Learning reserves the right to revise this publication
ALL RIGHTS RESERVED. No part of this work
and make changes from time to time in its content without
covered by the copyright herein may be
notice.
reproduced, transmitted, stored or used in any
form or by any means graphic, electronic, or The programs in this book are for instructional purposes only.
mechanical, including but not limited to They have been tested with care, but are not guaranteed
photocopying, recording, scanning, digitizing, for any particular intent beyond educational purposes. The
taping, Web distribution, information author and the publisher do not offer any warranties or
networks, or information storage and retrieval representations, nor do they accept any liabilities with respect
systems, except as permitted under Section to the programs.
or of the United States Copyright
Cengage Learning is a leading provider of customized
Act, without the prior written permission of
learning solutions with office locations around the globe,
the publisher.
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
My Daughter
Shelly Malik
This page intentionally left blank
B RIEF C ONTENTS
PREFACE xxix
3. Input/Output 121
INDEX 1371
TABLE OF C ONTENTS
Preface xxix
Programming Methodologies 20
Structured Programming 20
Object-Oriented Programming 20
Quick Review 22
Exercises 24
viii | C++ Programming: From Problem Analysis to Program Design, Sixth Edition
Data Types 37
Simple Data Types 38
Floating-Point Data Types 41
string Type 53
Output 72
Preprocessor Directives 79
namespace and Using cin and cout in a Program 80
Using the string Data Type in a Program 81
Table of Contents | ix
Exercises 105
INPUT/OUTPUT 121
3 I/O Streams and Standard I/O Devices 122
cin and the Extraction Operator >> 123
Exercises 171
Exercises 240
Exercises 315
Exercises 422
Namespaces 471
Exercises 496
Exercises 573
Exercises 622
Exercises 695
Exercises 767
Exercises 840
Templates 916
Function Templates 916
Class Templates 918
Exercises 928
Exercises 980
RECURSION 985
15
Recursive Definitions 986
Direct and Indirect Recursion 988
Infinite Recursion 988
Exercises 1009
Exercises 1050
Exercises 1138
Queues 1199
Queue Operations 1200
Implementation of Queues as Arrays 1202
Linked Implementation of Queues 1211
Queue Derived from the
class unorderedLinkedListType 1216
Exercises 1238
Iterators 1318
IOStream Iterators 1319
Container Adapters 1319
Algorithms 1323
STL Algorithm Classification 1323
STL Algorithms 1326
Functions fill and fill_n 1326
Functions find and find_if 1328
Functions remove and replace 1329
Functions search, sort, and binary_search 1331
Chapter 2 1338
Chapter 3 1340
Chapter 4 1341
Chapter 5 1344
Chapter 6 1347
Chapter 7 1350
Chapter 8 1351
Chapter 9 1353
Chapter 10 1354
Chapter 11 1358
Chapter 12 1360
Table of Contents | xxvii
Chapter 13 1361
Chapter 14 1362
Chapter 15 1364
Chapter 16 1364
Chapter 17 1366
Chapter 18 1367
INDEX 1371
This page intentionally left blank
P REFACE
WELCOME TO THE SIXTH EDITION OF C++ Programming: From Problem Analysis to Program
Design. Designed for a first Computer Science (CS1) C++ course, this text provides a
breath of fresh air to you and your students. The CS1 course serves as the cornerstone of
the Computer Science curriculum. My primary goal is to motivate and excite all CS1
students, regardless of their level. Motivation breeds excitement for learning. Motivation
and excitement are critical factors that lead to the success of the programming student. This
text is a culmination and development of my classroom notes throughout more than fifty
semesters of teaching successful programming to Computer Science students.
Warning: This text can be expected to create a serious reduction in the demand for
programming help during your office hours. Other side effects include significantly
diminished student dependency on others while learning to program.
C++ Programming: From Problem Analysis to Program Design started as a collection of brief
examples, exercises, and lengthy programming examples to supplement the books that were
in use at our university. It soon turned into a collection large enough to develop into a text.
The approach taken in this book is, in fact, driven by the students’ demand for clarity and readability.
The material was written and rewritten until the students felt comfortable with it. Most of the
examples in this book resulted from student interaction in the classroom.
As with any profession, practice is essential. Cooking students practice their recipes.
Budding violinists practice their scales. New programmers must practice solving
problems and writing code. This is not a C++ cookbook. We do not simply list the
C++ syntax followed by an example; we dissect the ‘‘why’’ behind all the concepts. The
crucial question of ‘‘why?’’ is answered for every topic when first introduced. This
technique offers a bridge to learning C++. Students must understand the ‘‘why?’’ in
order to be motivated to learn.
Traditionally, a C++ programming neophyte needed a working knowledge of another
programming language. This book assumes no prior programming experience. However,
some adequate mathematics background, such as college algebra, is required.
xxx | C++ Programming: From Problem Analysis to Program Design, Sixth Edition
Approach
The programming language C++, which evolved from C, is no longer considered an
industry-only language. Numerous colleges and universities use C++ for their first program-
ming language course. C++ is a combination of structured programming and object-oriented
programming, and this book addresses both types.
This book can be easily divided into two parts: structured programming and object-oriented
programming. The first 9 chapters form the structured programming part; Chapters 10
through 14, 17, and 18 form the object-oriented part. However, only the first six chapters
are essential to move on to the object-oriented portion.
In July 1998, ANSI/ISO Standard C++ was officially approved. This book focuses on ANSI/
ISO Standard C++. Even though the syntax of Standard C++ and ANSI/ISO Standard C++
is very similar, Chapter 7 discusses some of the features of ANSI/ISO Standard C++ that are
not available in Standard C++.
Chapter 1 briefly reviews the history of computers and programming languages. The reader can
quickly skim through this chapter and become familiar with some of the hardware components
and the software parts of the computer. This chapter contains a section on processing a C++
program. This chapter also describes structured and object-oriented programming.
Chapter 2 discusses the basic elements of C++. After completing this chapter, students
become familiar with the basics of C++ and are ready to write programs that are complicated
enough to do some computations. Input/output is fundamental to any programming
language. It is introduced early, in Chapter 3, and is covered in detail.
Chapters 4 and 5 introduce control structures to alter the sequential flow of execution.
Chapter 6 studies user-defined functions. It is recommended that readers with no prior
programming background spend extra time on Chapter 6. Several examples are provided to
help readers understand the concepts of parameter passing and the scope of an identifier.
Preface | xxxi
Chapter 7 discusses the user-defined simple data type (enumeration type), the namespace
mechanism of ANSI/ISO Standard C++, and the string type. The earlier versions of C did
not include the enumeration type. Enumeration types have very limited use; their main
purpose is to make the program readable. This book is organized such that readers can skip
the section on enumeration types during the first reading without experiencing any disconti-
nuity, and then later go through this section.
Chapter 8 discusses arrays in detail. This chapter also discusses a sequential search algorithm
and a selection sort algorithm. Chapter 9 introduces records (structs). The introduction of
structs in this book is similar to C structs. This chapter is optional; it is not a prerequisite
for any of the remaining chapters.
Chapter 10 begins the study of object-oriented programming (OOP) and introduces classes.
The first half of this chapter shows how classes are defined and used in a program. The second
half of the chapter introduces abstract data types (ADTs). This chapter shows how classes in
C++ are a natural way to implement ADTs. Chapter 11 continues with the fundamentals of
object-oriented design (OOD) and OOP and discusses inheritance and composition. It
explains how classes in C++ provide a natural mechanism for OOD and how C++ supports
OOP. Chapter 11 also discusses how to find the objects in a given problem.
Chapter 12 studies pointers in detail. After introducing pointers and how to use them in a
program, this chapter highlights the peculiarities of classes with pointer data members and
how to avoid them. Moreover, this chapter also discusses how to create and work with
dynamic two-dimensional arrays. Chapter 12 also discusses abstract classes and a type of
polymorphism accomplished via virtual functions.
Chapter 13 continues the study of OOD and OOP. In particular, it studies polymorphism in C++.
The chapter specifically discusses two types of polymorphism—overloading and templates.
Chapter 14 discusses exception handling in detail. Chapter 15 introduces and discusses recursion.
Moreover, this is a stand-alone chapter, so it can be studied anytime after Chapter 9. Chapter 16
describes various searching and sorting algorithms as well as an introduction to the vector class.
Chapters 17 and 18 are devoted to the study of data structures. Discussed in detail are linked
lists in Chapter 17 and stacks and queues in Chapter 18. The programming code developed in
these chapters is generic. These chapters effectively use the fundamentals of OOD.
Appendix A lists the reserved words in C++. Appendix B shows the precedence and
associativity of the C++ operators. Appendix C lists the ASCII (American Standard Code
for Information Interchange) and EBCDIC (Extended Binary Coded Decimal Interchange
Code) character sets. Appendix D lists the C++ operators that can be overloaded.
Appendix E has three objectives. First, we discuss how to convert a number from decimal to
binary and binary to decimal. We then discuss binary and random access files in detail.
Finally, we describe the naming conventions of the header files in both ANSI/ISO Standard
C++ and Standard C++. Appendix F discusses some of the most widely used library
routines, and includes the names of the standard C++ header files. The programs in
Appendix G show how to print the memory size for the built-in data types on your system
as well as how to use a random number generator. Appendix H gives an introduction to
xxxii | C++ Programming: From Problem Analysis to Program Design, Sixth Edition
the Standard Template Library, and Appendix I provides the answers to odd-numbered
exercises in the book.
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7 Chapter 8*
Chapter 13
Chapter 15
Chapter 17
Chapter 18
In Figure 1, dotted lines mean that the preceding chapter is used in one of the sections of the
chapter and is not necessarily a prerequisite for the next chapter. For example, Chapter 8
covers arrays in detail. In Chapters 9 and 10, we show the relationship between arrays and
structs and arrays and classes, respectively. However, if Chapter 10 is studied before
Chapter 8, then the section dealing with arrays in Chapter 10 can be skipped without any
discontinuation. This particular section can be studied after studying Chapter 8.
It is recommended that the first six chapters be covered sequentially. After covering the first
six chapters, if the reader is interested in learning OOD and OOP early, then Chapter 10 can
be studied right after Chapter 6. Chapter 7 can be studied anytime after Chapter 6.
After studying the first six chapters in sequence, some of the approaches are:
1. Study chapters in the sequence: 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18.
2. Study chapters in the sequence: 8, 10, 12, 13, 11, 15, 17, 18, 16, 15.
3. Study chapters in the sequence: 10, 8, 16, 12, 13, 11, 15, 17, 18, 14.
4. Study chapters in the sequence: 10, 8, 12, 13, 11, 15, 17, 18, 16, 14.
FEATURES OF THE BOOK
Four-color interior
design shows
accurate C++
code and related
comments.
One video is
available for each
chapter on the
optional
CourseMate that
accompanies this
text. Each video is
designed to
explain how a
program works.
More than 300
visual diagrams,
both extensive
and exhaustive,
illustrate difficult
concepts.
Numbered Examples
illustrate the key
concepts with their
relevant code. The
programming code in
these examples is
followed by a Sample
Run. An explanation
then follows that
describes what each
line in the code does.
Notes highlight
important facts
about the concepts
introduced in the
chapter.
Programming Examples are
where everything in the
chapter comes together.
These examples teach
problem-solving skills and
include the concrete stages
of input, output, problem
analysis and algorithm
design, class design, and
a program listing. All
programs are designed to
be methodical, consistent,
and user-friendly. Each
Programming Example
starts with a problem
analysis that is followed
by the algorithm design
and/or class design, and
every step of the algorithm
is coded in C++. In
addition to helping
students learn problem-
solving techniques, these
detailed programs show
the student how to
implement concepts in
an actual C++ program.
We strongly recommend
that students study the
Programming Examples
carefully in order to learn
C++ effectively. Students
typically learn much from
completely worked-out
programs. Further,
programming examples considerably reduce the students’ need for help outside the classroom and bolster the
students’ self-confidence.
Exercises further
reinforce learning
and ensure that
students have, in
fact, mastered the
material.
Programming
Exercises challenge
students to write
C++ programs with
a specified
outcome.
S UPPLEMENTAL
R ESOURCES
CourseMate
Make the most of your study time with everything you need to succeed in one place. Read
your textbook, highlight and take notes, review flashcards, watch videos, and take practice
quizzes online. Learn more at www.cengage.com/coursemate.
The C++ Programming CourseMate includes the following features:
• Videos step you through programs in each chapter, while integrated quizzes provide
immediate feedback to gauge your understanding.
• Lab Manual lets you apply material with a wealth of practical, hands-on exercises.
• Interactive Quizzes and Study Games drill key chapter concepts, while open-
ended Assignments develop critical thinking skills.
• Interactive eBook, flashcards, and more!
Instructors may add CourseMate to the textbook package, or students may purchase
CourseMate directly through www.cengagebrain.com.
Source Code
The source code, in ANSI/ISO Standard C++, is available for students to download at
www.cengagebrain.com and through the CourseMate available for this text. These files are also
available to instructors on the Instructor Resources CD and at login.cengage.com. The input
files needed to run some of the programs are also included with the source code.
Instructor Resources
The following supplemental materials are available when this book is used in a classroom
setting. All instructor teaching tools are available with this book on a single CD-ROM. Many
are also available for download at login.cengage.com.
Supplemental Resources | xli
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. The test banks are also available in Blackboard, WebCT, and Angel
compatible formats.
PowerPoint Presentations
This book comes with PowerPoint slides to accompany each chapter. Slides may be used to
guide classroom presentation, to make available to students for chapter review, or to print as
classroom handouts. Instructors can add their own slides for additional topics that they
introduce to the class, as well as customize the slides with the complete Figure Files from
the text.
Solution Files
The solution files for all Programming Exercises, in ANSI/ISO C++, are available at
login.cengage.com, and are also available on the Instructor Resources CD-ROM. The input files
needed to run some of the Programming Exercises are also included with the solution files.
A CKNOWLEDGMENTS
There are many people that I must thank who, one way or another, contributed to the success
of this book. First, I would like to thank all the students who, during the preparation, were
spontaneous in telling me if certain portions needed to be reworded for better understanding
and clearer reading. Next, I would like to thank those who e-mailed numerous comments to
help improve upon the next edition. I am thankful to Professors S.C. Cheng and Randall
Crist for constantly supporting this project. I am also very grateful to the reviewers who
reviewed earlier versions of this book and offered many critical suggestions on how to
improve it.
I owe a great deal to the following reviewers who made helpful, critical suggestions for
improving this edition of the text: Gary Bricher, Lane Community College; Cliff Brozo,
Monroe College; and Marie Pullan, Farmingdale State College.
Next, I express thanks to Brandi Shailer, Acquisition Editor, for recognizing the importance
and uniqueness of this project. All this would not have been possible without the careful
planning of Senior Product Manager, Alyssa Pratt. I extend my sincere thanks to Alyssa, as
well as to Content Project Manager, Mathew Hutchinson. My special thanks are to Stephanie
Lorenz for using her expertise in carefully editing the videos. I also thank Sreemannarayana
Reddy of Integra Software Services for assisting us in keeping the project on schedule.
I would like to thank Chris Scriver and Serge Palladino of the QA department at Cengage
Learning for patiently and carefully testing the code and discovering typos and errors.
I am thankful to my parents for their blessings.
Finally, I am thankful for the support of my wife Sadhana and especially my daughter, Shelly,
to whom this book is dedicated. They cheered me up whenever I was overwhelmed during
the writing of this book.
I welcome any comments concerning the text. Comments may be forwarded to the following
e-mail address: [email protected]
D. S. Malik
1
CHAPTER
A N O VERVIEW OF
COMPUTERS AND
P ROGRAMMING
L ANGUAGES
I N T H I S C H A P T E R , YO U W I L L :
. Learn about different types of computers
. Explore the hardware and software components of a computer system
. Learn about the language of a computer
. Learn about the evolution of programming languages
. Examine high-level programming languages
. Discover what a compiler is and what it does
. Examine a C++ program
. Explore how a C++ program is processed
. Learn what an algorithm is and explore problem-solving techniques
. Become aware of structured design and object-oriented design programming methodologies
. Become aware of Standard C++ and ANSI/ISO Standard C++
2 | Chapter 1: An Overview of Computers and Programming Languages
Introduction
Terms such as ‘‘the Internet,’’ which were unfamiliar just 20 years ago are now common.
Students in elementary school regularly ‘‘surf ’’ the Internet and use computers to design their
classroom projects. Many people use the Internet to look for information and to commu-
nicate with others. This is all made possible by the availability of different software, also
known as computer programs. Without software, a computer is useless. Software is devel-
oped by using programming languages. The programming language C++ is especially well
suited for developing software to accomplish specific tasks. Our main objective is to help you
learn how to write programs in the C++ programming language. Before you begin
programming, it is useful to understand some of the basic terminology and different
components of a computer. We begin with an overview of the history of computers.
Hollerith founded the Tabulating Machine Company, which later became the computer
and technology corporation known as IBM. 1
The first computer-like machine was the Mark I. It was built, in 1944, jointly by IBM and
Harvard University under the leadership of Howard Aiken. Punched cards were used to feed
data into the machine. The Mark I was 52 feet long, weighed 50 tons, and had 750,000 parts.
In 1946, the ENIAC (Electronic Numerical Integrator and Calculator) was built at the
University of Pennsylvania. It contained 18,000 vacuum tubes and weighed some 30 tons.
The computers that we know today use the design rules given by John von Neumann in
the late 1940s. His design included components such as an arithmetic logic unit, a control
unit, memory, and input/output devices. These components are described in the next
section. Von Neumann’s computer design makes it possible to store the programming
instructions and the data in the same memory space. In 1951, the UNIVAC (Universal
Automatic Computer) was built and sold to the U.S. Census Bureau.
In 1956, the invention of transistors resulted in smaller, faster, more reliable, and more
energy-efficient computers. This era also saw the emergence of the software development
industry, with the introduction of FORTRAN and COBOL, two early programming
languages. In the next major technological advancement, transistors were replaced by tiny
integrated circuits, or ‘‘chips.’’ Chips are smaller and cheaper than transistors and can contain
thousands of circuits on a single chip. They give computers tremendous processing speed.
In 1970, the microprocessor, an entire CPU on a single chip, was invented. In 1977,
Stephen Wozniak and Steven Jobs designed and built the first Apple computer in their
garage. In 1981, IBM introduced its personal computer (PC). In the 1980s, clones of the
IBM PC made the personal computer even more affordable. By the mid-1990s, people
from many walks of life were able to afford them. Computers continue to become faster
and less expensive as technology advances.
Modern-day computers are powerful, reliable, and easy to use. They can accept spoken-word
instructions and imitate human reasoning through artificial intelligence. Expert systems assist
doctors in making diagnoses. Mobile computing applications are growing significantly. Using
hand-held devices, delivery drivers can access global positioning satellites (GPS) to verify
customer locations for pickups and deliveries. Cell phones permit you to check your e-mail,
make airline reservations, see how stocks are performing, and access your bank accounts.
Although there are several categories of computers, such as mainframe, midsize, and
micro, all computers share some basic elements, described in the next section.
Hardware
Major hardware components include the central processing unit (CPU); main memory
(MM), also called random access memory (RAM); input/output devices; and secondary
storage. Some examples of input devices are the keyboard, mouse, and secondary storage.
Examples of output devices are the screen, printer, and secondary storage. Let’s look at
each of these components in greater detail.
. .
Input . .
Central . .
Device
Processing 1000 54
Unit (CPU) 1001
Output A
. .
Device . .
. .
Main Memory 2000
2001
. .
. .
. .
Secondary Storage Main Memory
(a) (b)
Main memory, or random access memory, is connected directly to the CPU. All
programs must be loaded into main memory before they can be executed. Similarly, all
data must be brought into main memory before a program can manipulate it. When the
computer is turned off, everything in main memory is lost.
Main memory is an ordered sequence of cells, called memory cells. Each cell has a
unique location in main memory, called the address of the cell. These addresses help
you access the information stored in the cell. Figure 1-1(b) shows main memory with
some data.
Elements of a Computer System | 5
Today’s computers come with main memory consisting of millions to billions of cells.
Although Figure 1-1(b) shows data stored in cells, the content of a cell can be either a 1
programming instruction or data. Moreover, this figure shows the data as numbers and
letters. However, as explained later in this chapter, main memory stores everything as
sequences of 0s and 1s. The memory addresses are also expressed as sequences of 0s and 1s.
SECONDARY STORAGE
Because programs and data must be stored in main memory before processing and
because everything in main memory is lost when the computer is turned off, information
stored in main memory must be transferred to some other device for permanent storage.
The device that stores information permanently (unless the device becomes unusable or
you change the information by rewriting it) is called secondary storage. To be able to
transfer information from main memory to secondary storage, these components must
be directly connected to each other. Examples of secondary storage are hard disks, flash
drives, floppy disks, ZIP disks, CD-ROMs, and tapes.
Software
Software are programs written to perform specific tasks. For example, word processors
are programs that you use to write letters, papers, and even books. All software is written
in programming languages. There are two types of programs: system programs and
application programs.
System programs control the computer. The system program that loads first when you
turn on your PC is called the operating system. Without an operating system, the
computer is useless. The operating system monitors the overall activity of the computer
and provides services. Some of these services include memory management, input/output
activities, and storage management. The operating system has a special program that
organizes secondary storage so that you can conveniently access information.
Application programs perform a specific task. Word processors, spreadsheets, and
games are examples of application programs. The operating system is the program that
runs application programs.
Udine, 83
Udney, 204
Ulster, canton of, 136, 137;
King of Arms, 29, 33, 46, 47, 421;
badges of, 598;
arms and insignia of, 587;
official arms of, 48;
office, 72, 86, 180, 267, 416, 439
Umbo, 64
Umfraville, 89;
arms, 268
Undy, 91
Unguled, 207
Unicorn, 39, 202, 219, 220, 221, 232
United Kingdom, Royal Arms,
compartment, 444
Union Banner, 611, 614, 615
Union Jack, 471, 611
Unmarried lady, lozenge of, 572
Unter-Walden, supporter, 409
Uphaugh, Duppa de, arms, 284
Upton, 36
Urbino, Duke of, Frederick, 392;
mantling, 388
Urcheon, 216
Urdy, 91, 95;
at the foot, 155
Utermarch, arms, 266
Vaile, 113, 207
Vaillant, 34
Vair, 50, 77, 79, 81, 84;
appointé, 82;
in bend, 82;
bellies, 85;
ondé, 81;
en pal, 82;
in pale, 82
Vairé, 79, 81, 94;
corrupted form of, 81;
en pal, 82
Vairpière, 83
Valence, De, 155;
William, 525
Vallary, Coronet, 378
Vambraced, 171
Vambraces, 45
Van Eiden, Sir Jacob, 145
Van Houthem, Barons, arms, 82
Van Schorel, 163
Vane, arms, 171, 293
Varano, 83
Varenchon, 83
Varroux, arms, 82
Varry, tassy, 85;
cuppy, 85
Varus, 79
Vase, 288
Vaughan, 169
Vavasseur, arms, 284
Veitch, arms, 207
Venus, 77
Vera, De, 83
Verden, 49
Verdon, arms, 149
Verdun, Alix de, 410
Vere, arms, 134, 296
Verelst, crest, 214
Veret, 83
Verhammes, 200
Vernon, motto, 451
Verona, 83, 163
Verre, 79
Verschobenes, 85
Vert, 70, 76, 90
Veruled, 292
Vervelled, 241
Vesci, de, Viscount, supporters, 433
Vesentina, 163
Vesili's, Andreas, 439
Vested, 170
Vestments, 5
Vice-Admiral, insignia of, 581
Vice-Connétable, insignia of, 582
Victoria, Queen, 41, 358, 361, 364, 421,
488, 496;
seal, 475;
Cross, 567;
those entitled to the, insignia of, 584;
Princess, label, 496, 497;
and Albert, Order of, members of,
insignia of, 584
Victorian Order, Royal, 567;
insignia of, 584
Victory, 164
Viennois, Dauphin de, Charles, supporter,
411
Vigilance, 247, 286
Vine, 264
Virgil de Solis, 144
Virgin Mary, 159;
lilies of the, 606
Virolled, 292
Visconti, arms, 257
Viscountess robe or mantle, 366;
coronet, 366
Viscounts, robe or mantle of, 365, 367;
coronet of, 365, 368
Visitations, mottoes in, 449
Vivian, crest, 166
Vohlin, arms, 411
Void, 73
Voiders, 150
Vol, 240
Volant, 34, 245;
en arrière, 266
Volunteer Officer's Decoration, 568;
insignia of, 584
"Von," German, 68
Von Burtenback, Captain Sebastian
Schärtlin (Schertel), arms, 185
Von Dälffin, Grauff, arms, 254
Von Fronberg, Herr, 203
Von Lechsgemünd, Count Heinrich von,
seal, 195
Von Pauli, 164
Vree, 84
Vulned, 187, 242
Vulture, 241
Vyner, Sir Robert, 358
Xantoigne, 34
Yacht, 294
Yarborough, Earl of, 205, 590;
badge, 288, 458;
supporter, 437
Yarmouth, 525;
arms, 182
Yeates, 255
Yeatman-Biggs, arms, 141
Yellow, 70
Yerburgh, crest, 242
Yeropkin, 250
Yockney, arms, 266
Yonge, crest, 222
York, 588;
Archbishop of, 127;
arms, 297, 601, 602;
pallium, 583;
Cardinal, 359;
Herald, 37;
badge of, 48;
Duke of, 37, 488;
Duke of, label, 498;
Duke of (Edward), seal, 466;
blazing sun of, badge, 468;
white rose of, badge, 468;
and Lancaster, badges, 468
Yorke, 112;
crest, 215
Youghal, Provosts of, seal, 525
Young, Sir Charles, crest, 226, 348
Zachary, 514
Zebra, 217, 438
Zobel, 77
Zoë, Queen, 351
Zorke, 112
Zorn, crests, 344
Zug, supporters, 409
Zurich, 384;
supporter, 409;
Wappenrolle, 397
THE END
NOTES
[1]
"Norreys and Surreis, that service aught the
kyng,
With horse and harneis at Carlele, made
samning."
Page 47. "The reverse exhibits the arms of the Office of Ulster"
corrected from "The reserve exhibits ..."
Page 327. "Then it was found that" corrected from "Then it was
found than"
Page 482. "the bearer was not the person chiefly entitled" corrected
from "the hearer ..."
Index "Layland-Barratt" corrected from "Llanday-Burratt" to match
text, and placed in correct sequence
*** END OF THE PROJECT GUTENBERG EBOOK A COMPLETE
GUIDE TO HERALDRY ***
ebookbell.com