100% found this document useful (3 votes)
46 views

Programming for Problem Solving- GTU 2018 - eBook PDF pdf download

The document is an eBook titled 'Programming for Problem Solving' published by McGraw Hill Education, focusing on the C programming language and its application in problem-solving. It covers fundamental concepts of C, including control structures, arrays, functions, pointers, and file management, organized into chapters with learning objectives and exercises. The author, E Balagurusamy, is a recognized figure in IT and education, aiming to provide a comprehensive resource for students and professionals in programming.

Uploaded by

jedzilary
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 (3 votes)
46 views

Programming for Problem Solving- GTU 2018 - eBook PDF pdf download

The document is an eBook titled 'Programming for Problem Solving' published by McGraw Hill Education, focusing on the C programming language and its application in problem-solving. It covers fundamental concepts of C, including control structures, arrays, functions, pointers, and file management, organized into chapters with learning objectives and exercises. The author, E Balagurusamy, is a recognized figure in IT and education, aiming to provide a comprehensive resource for students and professionals in programming.

Uploaded by

jedzilary
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/ 59

Programming for Problem Solving- GTU 2018 -

eBook PDF pdf download

https://ebooksecure.com/download/programming-for-problem-solving-
ebook-pdf/

Download more ebook from https://ebooksecure.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebooksecure.com
to discover even more!

(eBook PDF) Programming, Problem Solving and


Abstraction with C

http://ebooksecure.com/product/ebook-pdf-programming-problem-
solving-and-abstraction-with-c/

Problem Solving and Python Programming 1st edition -


eBook PDF

https://ebooksecure.com/download/problem-solving-and-python-
programming-ebook-pdf/

Programming and Problem Solving with Python 1st Edition


- eBook PDF

https://ebooksecure.com/download/programming-and-problem-solving-
with-python-ebook-pdf/

(eBook PDF) Java: An Introduction to Problem Solving


and Programming 7th Edition

http://ebooksecure.com/product/ebook-pdf-java-an-introduction-to-
problem-solving-and-programming-7th-edition/
(eBook PDF) Java: An Introduction to Problem Solving
and Programming 8th Edition

http://ebooksecure.com/product/ebook-pdf-java-an-introduction-to-
problem-solving-and-programming-8th-edition/

Mathematics-1, GTU–2018 - eBook PDF

https://ebooksecure.com/download/mathematics-1-gtu-2018-ebook-
pdf/

(eBook PDF) Matlab: A Practical Introduction to


Programming and Problem Solving 4th Edition

http://ebooksecure.com/product/ebook-pdf-matlab-a-practical-
introduction-to-programming-and-problem-solving-4th-edition/

(eBook PDF) Introduction to Programming with Java: A


Problem Solving Approach 3rd Edition

http://ebooksecure.com/product/ebook-pdf-introduction-to-
programming-with-java-a-problem-solving-approach-3rd-edition/

(eBook PDF) Community Policing: Partnerships for


Problem Solving 8th Edition

http://ebooksecure.com/product/ebook-pdf-community-policing-
partnerships-for-problem-solving-8th-edition/
PROGRAMMING
fOR
PRObleM SOlvING
Gujarat Technological University - 2018
About the Author

E Balagurusamy, is presently the Chairman of EBG Foundation, Coimbatore. In the past he has also held
the positions of member, Union Public Service Commission, New Delhi and Vice-Chancellor, Anna University,
Chennai. He is a teacher, trainer and consultant in the fields of Information Technology and Management.
He holds an ME (Hons) in Electrical Engineering and PhD in Systems Engineering from the Indian Institute
of Technology, Roorkee. His areas of interest include Object-Oriented Software Engineering, E-Governance:
Technology Management, Business Process Re-engineering and Total Quality Management.
A prolific writer, he has authored a large number of research papers and several books.
A recipient of numerous honors and awards, he has been listed in the Directory of Who's Who of Intellectuals
and in the Directory of Distinguished Leaders in Education.
PROGRAMMING
fOR
PRObleM SOlvING
Gujarat Technological University - 2018

E Balagurusamy
Chairman
EBG Foundation
Coimbatore

McGraw Hill Education (India) Private Limited


CHENNAI

McGraw Hill Education Offices


Chennai New York St Louis San Francisco Auckland Bogotá Caracas
Kuala Lumpur Lisbon London Madrid Mexico City Milan Montreal
San Juan Santiago Singapore Sydney Tokyo Toronto
McGraw Hill Education (India) Private Limited
Published by McGraw Hill Education (India) Private Limited
444/1, Sri Ekambara Naickr Industrial Estate, Alapakkam, Porur, Chennai-600 116

Programming for Problem Solving


Copyright © 2019 by McGraw Hill Education (India) Private Limited.
No part of this publication may be reproduced or distributed in any form or by any means, electronic, mechanical,
photocopying, recording, or otherwise or stored in a database or retrieval system without the prior written permission of
the publishers. The program listings (if any) may be entered, stored and executed in a computer system, but they may not
be reproduced for publication.
This edition can be exported from India only by the publishers,
McGraw Hill Education (India) Private Limited.
Print Edition
ISBN (13 digit): 978-93-5316-278-8
ISBN (10 digit): 93-5316-278-5
E-book Edition
ISBN (13 digit): 978-93-5316-279-5
ISBN (10 digit): 93-5316-279-3
1 23456789 D101417 22 21 20 19 18
Printed and bound in India.
Director—Science & Engineering Portfolio: Vibha Mahajan
Senior Portfolio Manager—Science & Engineering: Hemant K Jha
Associate Portfolio Manager —Science & Engineering: Tushar Mishra
Production Head: Satinder S Baveja
Copy Editor: Taranpreet Kaur
Assistant Manager—Production: Suhaib Ali
General Manager—Production: Rajender P Ghansela
Manager—Production: Reji Kumar

Information contained in this work has been obtained by McGraw Hill Education (India), from sources believed to be
reliable. However, neither McGraw Hill Education (India) nor its authors guarantee the accuracy or completeness of any
information published herein, and neither McGraw Hill Education (India) nor its authors shall be responsible for any errors,
omissions, or damages arising out of use of this information. This work is published with the understanding that McGraw
Hill Education (India) and its authors are supplying information but are not attempting to render engineering or other
professional services. If such services are required, the assistance of an appropriate professional should be sought.

Typeset at The Composers, 260, C.A. Apartment, Paschim Vihar, New Delhi 110 063 and printed at

Cover Printer:
Cover Designer: APS Compugraphics
Cover Image Source: Shutterstock
Visit us at: www.mheducation.co.in
Write to us at: info.india@mheducation.com
CIN: U22200TN1970PTC111531
Toll Free Number: 1800 103 5875
Preface

P
rogramming for Problem Solving requires a deep understanding of C. C is a powerful, flexible, portable
and elegantly structured programming language. Since C combines the features of high-level language
with the elements of the assembler, it is suitable for both systems and applications programming. It
is undoubtedly the most widely used general-purpose language today in operating systems, and embedded
system development. Its influence is evident in almost all modern programming languages. Since its
standardization in 1989, C has undergone a series of changes and improvements in order to enhance the
usefulness of the language.

Organization of the Book


Programming for Problem Solving starts with an Introduction to Computer Programming, Chapter 2 discusses
fundamentals of C. Control Structures in C is presented in Chapter 3. Chapter 4 deals with Arrays and
Strings. Chapter 5 discusses Functions. In Chapter 6 students can study Pointers. While Chapter 7 details
Structure. Dynamic Memory Allocation is discussed in Chapter 8. Chapter 9 details on File Management.

Salient Features of the Book


∑ Learning Objectives
∑ Key Concepts
∑ Content Tagged with LO
∑ Worked Out Problems
∑ Tips
∑ Closing Vignette
∑ Review Exercises – True False, Fill in the blanks, Questions, Programming Exercises – categorized into
LO and Difficulty level (E for Easy, M for Medium and H for High)

Acknowledgements
I owe special thanks to the entire team of McGraw Hill Education India.
A note of acknowledgement is due to the following reviewers for their valuable feedback.

Ms. Kalpana Mudaliar Gandhinagar Institute of Technology, Gandhinagar, Gujarat


H K Patnaik Kalinga Institute of Industrial Technology, KIIT University, Bhubaneswar
T V Gopal College of Engineering, Anna University, Chennai, Tamil Nadu
Unnati Nitin Chaudhari Tolani Maritime Institute, Pune, Maharashtra
Tanveer Ahmed Jamia Millia Islamia, Delhi
Ravindra Divekar KJ Somaiya College of Engineering, Mumbai, Maharashtra
SC Dutta Birsa Institute of Technology, Sindri, Dhanbad, Jharkhand
D Lakshmi Adithya Institute of Technology, Coimbatore, Tamil Nadu
vi Preface

This book is my sincere attempt to make a footprint on the immensely vast and infinite sands of knowledge.
I would request the readers to utilize this book to the maximum extent.
E Balagurusamy

Publisher’s Note
McGraw Hill Education (India) invites suggestions and comments from you, all of which can be sent to info.
india@mheducation.com (kindly mention the title and author name in the subject line).
Piracy-related issues may also be reported.
Contents

About the Author ii


Preface v

1. Introduction to Computer and Programming 1


Learning Objectives 1
Introduction 1
Generations of Computers 2
Classification of Computers 5
Basic Anatomy of a Computer System 7
Input Devices 8
Processor 9
Output Devices 10
Memory Management 12
Types of Computer Software 13
Overview of Operating System 14
MS Word 19
MS Excel System 21
MS Powerpoint System 22
Networking Concepts 23
Network Topologies 25
Network Protocols and Software 29
Decimal System 31
Binary System 32
Hexadecimal System 33
Octal System 34
Conversion of Numbers 35
Binary Arithmetic Operations 44
Logic Gates 52
Programming Languages 55
viii Contents

Translator Programs 58
Problem-Solving Techniques 59
Using the Computer 70
Learning Outcomes 70
Key Concepts 71
Review Questions 73
Discussion Questions 84

2. Fundamentals of C 87
Learning Objectives 87
History of C 87
Importance of C 89
Sample Program 1: Printing a Message 89
Sample Program 2: Adding Two Numbers 92
Sample Program 3: Interest Calculation 93
Sample Program 4: Use of Subroutines 95
Sample Program 5: Use of Math Functions 96
Basic Structure of C Programs 97
Programming Style 98
Executing a ‘C’ Program 99
UNIX System 99
MS-DOS System 102
Key Concepts 102
Always Remember 103
Review Questions 103
Debugging Exercises 105
Programming Exercises 105

3. Control Structure in C 107


Learning Objectives 107
Introduction 107
Decision Making with if Statement 108
Simple If Statement 108
The If.....Else Statement 111
Nesting of If....Else Statements 114
The Else If Ladder 117
The Switch Statement 121
The ? : Operator 125
The goto Statement 129
Key Concepts 132
Contents ix

Always Remember 132


Brief Cases 132
Review Questions 137
Debugging Exercises 141
Programming Exercises 141

4. Array & String 145


Learning Objectives 145
Introduction 145
One-Dimensional Arrays 147
Declaration of One-dimensional Arrays 148
Initialization of One-dimensional Arrays 151
Two-Dimensional Arrays 156
Initializing Two-dimensional Arrays 161
Multi-dimensional Arrays 168
Dynamic Arrays 169
More About Arrays 170
Declaring and Initializing String Variables 170
Reading Strings from Terminal 171
Writing Strings to Screen 177
Arithmetic Operations on Characters 181
Putting Strings Together 183
Comparison of Two Strings 184
String-Handling Functions 184
Table of Strings 190
Other Features of Strings 192
Key Concepts 192
Always Remember 193
Brief Cases 194
Review Questions 210
Debugging Exercises 214
Programming Exercises 215

5. Functions 220
Learning Objectives 220
Introduction 220
Need for User-Defined Functions 221
A Multi-Function Program 221
Elements of User-Defined Functions 224
x Contents

Definition of Functions 224


Return Values and Their Types 227
Function Calls 228
Function Declaration 229
Category of Functions 231
No Arguments and No Return Values 231
Arguments but No Return Values 233
Arguments with Return Values 236
No Arguments but Returns a Value 241
Functions that Return Multiple Values 242
Nesting of Functions 243
Recursion 244
Passing Arrays to Functions 245
Passing Strings to Functions 250
The Scope, Visibility and Lifetime of Variables 251
Multifile Programs 260
Key Concepts 262
Always Remember 262
Brief Cases 263
Review Questions 266
Debugging Exercises 270
Programming Exercises 270

6. Pointers 273
Learning Objectives 273
Introduction 273
Understanding Pointers 274
Accessing the Address of a Variable 276
Declaring Pointer Variables 277
Initialization of Pointer Variables 278
Accessing a Variable Through its Pointer 279
Chain of Pointers 281
Pointer Expressions 282
Pointer Increments and Scale Factor 284
Pointers and Arrays 284
Pointers and Character Strings 288
Array of Pointers 290
Pointers as Function Arguments 291
Functions Returning Pointers 294
Contents xi

Pointers to Functions 295


Pointers and Structures 297
Troubles with Pointers 299
Key Concepts 300
Always Remember 300
Brief Cases 301
Review Questions 306
Debugging Exercises 309
Programming Exercises 309

7. Structure 311
Learning Objectives 311
Introduction 311
Defining a Structure 312
Declaring Structure Variables 313
Accessing Structure Members 315
Structure Initialization 316
Copying and Comparing Structure Variables 318
Operations on Individual Members 320
Arrays of Structures 320
Arrays within Structures 323
Structures within Structures 324
Structures and Functions 326
Unions 329
Size of Structures 330
Bit Fields 330
Key Concepts 333
Always Remember 333
Brief Cases 334
Review Questions 338
Debugging Exercises 341
Programming Exercises 341

8. Dynamic Memory Allocation 344


Learning Objectives 344
Introduction 344
Dynamic Memory Allocation 344
Allocating a Block of Memory: malloc 345
Allocating Multiple Blocks of Memory: calloc 347
xii Contents

Releasing the Used Space: free 348


Altering the Size of a Block: realloc 348
Concepts of Linked Lists 350
Advantages of Linked Lists 353
Types of Linked Lists 354
Pointers Revisited 354
Creating a Linked List 356
Inserting an Item 360
Deleting an Item 363
Application of Linked Lists 365
Key Concepts 365
Always Remember 366
Brief Cases 366
Review Questions 372
Debugging Exercises 374
Programming Exercises 374

9. File Management 376


Learning Objectives 376
Introduction 376
Defining and Opening a File 377
Closing a File 378
Input/Output Operations on Files 379
Error Handling During I/O Operations 385
Random Access to Files 387
Command Line Arguments 394
Key Concepts 396
Always Remember 396
Review Questions 397
Debugging Exercises 398
Programming Exercises 398
Roadmap to the Syllabus
Programming For Problem Solving
Code: 3110003

Introduction to computer and programming: Introduction, Basic block diagram and functions of various
components of computer, Concepts of Hardware and software, Types of software, Compiler and interpreter,
Concepts of Machine level, Assembly level and high level programming, Flowcharts and Algorithms

GO TO Chapter 1 Introduction to Computer and Programming

Fundamentals of C: Features of C language, structure of C Program, comments, header files, data types,
constants and variables, operators, expressions, evaluation of expressions, type conversion, precedence
and associativity, I/O functions

GO TO Chapter 2 Fundamentals of C

Control structure in C: Simple statements, Decision making statements, Looping statements, Nesting of
control structures, break and continue, goto statement

GO TO Chapter 3 Control Structure in C

Array & String: Concepts of array, one and two dimensional arrays, declaration and initialization of arrays,
string, string storage, Built-in-string functions
Recursion: Recursion, as a different way of solving problems. Example programs, such as Finding
Factorial, Fibonacci series, Ackerman function etc. Quick sort or Merge sort.

GO TO Chapter 4 Array & String


xiv Roadmap to the Syllabus

Functions: Concepts of user defined functions, prototypes, definition of function, parameters, parameter
passing, calling a function, recursive function, Macros, Pre-processing

GO TO Chapter 5 Functions

Pointers: Basics of pointers, pointer to pointer, pointer and array, pointer to array, array to pointer, function
returning pointer

GO TO Chapter 6 Pointers

Structure: Basics of structure, structure members, accessing structure members, nested structures, array
of structures, structure and functions, structures and pointers

GO TO Chapter 7 Structure

Dynamic memory allocation: Introduction to Dynamic memory allocation, malloc, calloc

GO TO Chapter 8 Dynamic Memory Allocation

File management: Introduction to file management and its functions

GO TO Chapter 9 File Management


Introduction to
Chapter
Computer and
Programming 1
LEARNING OBJECTIVES
LO 1.1 Identify the various generations of computers
LO 1.2 Classify computers on the basis of different criteria
LO 1.3 Describe the computer system
LO 1.4 Classify various computer software
LO 1.5 Discuss various operating systems
LO 1.6 Discuss Microsoft software
LO 1.7 Know various networking concepts and protocols
LO 1.8 Identify the various positional number systems
LO 1.9 Carry out number conversions from one number system to another
LO 1.10 Explain how binary arithmetic operations are performed
LO 1.11 Describe primary logic gates
LO 1.12 Discuss various levels of programming languages
LO 1.13 Know various problem solving techniques and computer applications

introduction
A computer is an electronic machine that takes input from the user, processes the given input and generates
output in the form of useful information. A computer accepts input in different forms such as data, programs
and user reply. Data refer to the raw details that need to be processed to generate some useful information.
Programs refer to the set of instructions that can be executed by the computer in sequential or non-
sequential manner. User reply is the input provided by the user in response to a question asked by the
computer.
A computer includes various devices that function as an integrated system to perform several tasks
described above (Fig. 1.1). These devices are:
Central Processing Unit (CPU)
It is the processor of the computer that is responsible for controlling and executing instructions in the computer.
It is considered as the most significant component of the computer.
2 Programming for Problem Solving

Monitor
It is a screen, which displays information in visual form, after receiving the video signals from the computer.
Keyboard and Mouse
These are the devices, which are used by the computer, for receiving input from the user.

Fig. 1.1 The components of computer

Computers store and process numbers, letters and words that are often referred to as data.
l How do we communicate data to computers?
l How do the computers store and process data?
Since the computers cannot understand the Arabic numerals or the English alphabets, we should use
some ‘codes’ that can be easily understood by them.
In all modern computers, storage and processing units are made of a set of silicon chips, each contain-
ing a large number of transistors. A transistor is a two-state device that can be put ‘off’ and ‘on’ by passing
an electric current through it. Since the transistors are sensitive to currents and act like switches, we can
communicate with the computers using electric signals, which are represented as a series of ‘pulse’ and
‘no-pulse’ conditions. For the sake of convenience and ease of use, a pulse is represented by the code ‘1’
and a no-pulse by the code ‘0’. They are called bits, an abbreviation of ‘binary digits’. A series of 1s and
0s are used to represent a number or a character and thus they provide a way for humans and computers
to communicate with one another. This idea was suggested by John Von Neumann in 1946. The numbers
represented by binary digits are known as binary numbers. Computers not only store numbers but also
perform operations on them in binary form.
In this chapter, we discuss how the numbers are represented using what are known as binary codes, how
computers perform arithmetic operations using the binary representation, how digital circuits known as logic
gates are used to manipulate data, how instructions are designed using what are known as programming
languages and how algorithms and flow charts might help us in developing programs.

generations of computers
The history of computer development is often discussed in terms of different LO 1.1
generation of computers, as listed below. Identify the various
l First generation computers generations
l Second generation computers of computers
l Third generation computers
l Fourth generation computers
l Fifth generation computers
Introduction to Computer and Programming 3

These computers used the vacuum tubes


technology (Fig. 1.2) for calculation as well as
for storage and control purposes. Therefore,
these computers were also known as vacuum
tubes or thermionic valves based machines.
Some examples of first generation computers
are ENIAC, EDVAC, EDSAC and UNIVAC.
Advantages
l Fastest computing devices of their time.
l Able to execute complex mathematical
problems in an efficient manner.
Disadvantages
l These computers were not very easy to
program being machine dependent.
l They were not very flexible in running
different types of applications as designed
for special purposes.
l The use of vacuum tube technology made
these computers very large and bulky and
also required to be placed in cool places.
l They could execute only one program at a
time and hence, were not very productive.
l They generated huge amount of heat and
hence were prone to hardware faults.
Fig. 1.2 A vacuum tube

These computers use transistors in place of vacuum tubes in building


the basic logic circuits. A transistor is a semiconductor device that is
used to increase the power of the incoming signals by preserving the
shape of the original signal (Fig. 1.3).
Some examples of second generation computers are PDP-8, IBM
1401 and IBM 7090.
Advantages
l Fastest computing devices of their time.
l Easy to program because of the use of assembly language.
l Small and light weight computing devices.
l Required very less power in carrying out operations.
Disadvantages
l Input and output media for these computers were not improved
to a considerable extent.
l Required to be placed in air-conditioned places. Fig. 1.3 A transistor
4 Programming for Problem Solving

l Very expensive and beyond the reach of home users.


l Being special-purpose computers they could execute only specific applications.

The major characteristic feature of third generation


computer systems was the use of Integrated Circuits
(ICs). ICs are the circuits that combine various electronic
components, such as transistors, resistors, capacitors, etc.
onto a single small silicon chip.
Some examples of third generation computers are NCR
395, B6500, IBM 370, PDP 11 and CDC 7600.
Advantages
l Computational time for these computers was usually
in nanoseconds hence were the fastest computing
devices
l Easily transportable because of their small size.
l They used high-level languages which is machine
independent hence very easy to use. Fig. 1.4 An integrated circuit
l Easily installed and required less space.
l Being able to execute any type of application (business and scientific) these were considered as
general-purpose computers.
Disadvantages
l Very less storage capacity.
l Degraded performance while executing complex computations because of the small storage capacity.
l Very expensive.

The progress in LSI and VLSI technologies led to the development of microprocessor, which became the
major characteristic feature of the fourth generation
computers. The LSI and VLSI technology allowed
thousands of transistors to be fitted onto one small silicon
chip.
A microprocessor incorporates various components
of a computer—such as CPU, memory and Input/Output
(I/O) controls—onto a single chip. Some popular later
microprocessors include Intel 386, Intel 486 and Pentium.
Some of the examples of fourth generation computers
are IBM PC, IBM PC/AT, Apple and CRAY-1.
Advantages
l LSI and VLSI technologies made them small,
cheap, compact and powerful.
l high storage capacity
l highly reliable and required very less maintenance. Fig. 1.5 The Intel P4004 microprocessor chip
Introduction to Computer and Programming 5

l provided a user-friendly environment with the development of GUIs and interactive I/O devices.
l programs written on these computers were highly portable because of the use of high-level languages.
l very versatile and suitable for every type of applications.
l required very less power to operate.
Disadvantages
l the soldering of LSI and VLSI chips on the wiring board was complicated
l still dependent on the instructions given by the programmer.

Fifth generation computers are based on the Ultra Large Scale Integration (ULSI) technology that allows
almost ten million electronic components to be fabricated on one small chip.
Advantages
l faster, cheaper and most efficient computers till date.
l They are able to execute a large number of applications at the same time and that too at a very high
speed.
l The use of ULSI technology helps in decreasing the size of these computers to a large extent.
l very comfortable to use because of the several additional multimedia features.
l versatile for communications and resource sharing.
Disadvantage
They are not provided with an intelligent program that could guide them in performing different operations.
Figure 1.6 shows a tree of computer family that illustrates the area-wise developments during the last
four decades and their contributions to the various generations of computers.

classification of computers
Computers can be classified into several categories depending on their LO 1.2
computing ability and processing speed. These include Classify computers on
l Microcomputer the basis of different
l Minicomputer criteria
l Mainframe computers
l Supercomputers
Microcomputers
A microcomputer is defined as a computer that has a microprocessor as its CPU and can perform the
following basic operations:
l Inputting — entering data and instructions into the microcomputer system.
l Storing — saving data and instructions in the memory of the microcomputer system, so that they can
be use whenever required.
l Processing — performing arithmetic or logical operations on data, where data, such as addition,
subtraction, multiplication and division.
l Outputting — It provides the results to the user, which could be in the form of visual display and/or
printed reports.
l Controlling — It helps in directing the sequence and manner in which all the above operations are
performed.
Minicomputers
A minicomputer is a medium-sized computer that is more powerful than a microcomputer. It is usually
designed to serve multiple users simultaneously, hence called a multiterminal, time-sharing system.
6 Programming for Problem Solving

Fig. 1.6 Tree of computer family


Introduction to Computer and Programming 7

Minicomputers are popular among research and business organizations today. They are more expensive
than microcomputers.
Mainframe Computers
Mainframe computers help in handling the information processing of various organizations like banks,
insurance companies, hospitals and railways. Mainframe computers are placed on a central location and
are connected to several user terminals, which can act as access stations and may be located in the same
building. Mainframe computers are larger and expensive in comparison to the workstations.
Supercomputers
In supercomputers, multiprocessing and parallel processing technologies are used to promptly solve
complex problems. Here, the multiprocessor can enable the user to divide a complex problem into smaller
problems. A supercomputer also supports multiprogramming where multiple users can access the computer
simultaneously. Presently, some of the popular manufacturers of supercomputers are IBM, Silicon Graphics,
Fujitsu, and Intel.

Basic anatomy of a computer system


A computer system comprises hardware and software components. Hardware refers to the physical
parts of the computer system and software is the set of instructions or programs that are necessary for the
functioning of a computer to perform certain tasks. Hardware includes the following components:
l Input devices — They are used for accepting the data on which the operations are to be performed.
The examples of input devices are keyboard, mouse and track ball.

Magnetic Magnetic
Tape Disk

EXTERNAL STORAGE UNITS

Input Input Memory Output Output


Media Unit Unit Unit Media

Arithmetic
Unit

Control
Unit

CPU
Data and results flow
Control Instructions to units
Instructions to control unit
Fig. 1.7 Interaction among hardware components
8 Programming for Problem Solving

l Processor — Also known as CPU, it is used to perform the calculations and information processing
on the data that is entered through the input device.
l Output devices — They are used for providing the output of a program that is obtained after
performing the operations specified in a program. The examples of output devices are monitor and
printer.
l Memory — It is used for storing the input data as well as the output of a program that is obtained
after performing the operations specified in a program. Memory can be primary memory as well as
secondary memory. Primary memory includes Random Access Memory (RAM) and secondary
memory includes hard disks and floppy disks.
Software supports the functioning of a computer system internally and cannot be seen. It is stored on
secondary memory and can be an application software as well as system software. The application
software is used to perform a specific task according to requirements and the system software (operating
system and networking system) is mandatory for running application software.

input DeVices
LO 1.3
Input devices are electromechanical devices that are used to provide data
Describe the computer
to a computer for storing and further processing, if necessary. Depending
system
upon the type or method of input, the input device may belong to one of the
following categories:

Keyboard is used to type data and text and execute commands. A standard keyboard, as shown in Fig. 1.8,
consists of the following groups of keys:

Fig. 1.8 The presently used keyboard


Alphanumeric Keys include the number keys and alphabet keys arranged in QWERTY layout.
Function Keys help perform specific tasks, such as searching a file or refreshing a web page.
Central Keys include arrow keys (for moving the cursor) and modifier keys such as SHIFT, ALT and CTRL
(for modifying the input).
Introduction to Computer and Programming 9

Numeric Keypad looks like a calculator’s keypad with its 10 digits and mathematical operators.
Special Purpose Keys The special purpose keys help perform a certain kind of operation, like exiting a
program (Escape) or deleting some characters (Delete) in a document, etc.

Mouse is a small hand-held pointing device that basically controls the two-dimensional movement of the
cursor on the displayed screen. It is an important part of the Graphical User Interface (GUI) based Operating
Systems (OS) as it helps in selecting a portion of the screen and copying and pasting the text.
The mouse, on moving, also moves the pointer appearing on the display device (Fig. 1.9).
Wheel
Right Button
Left Button

Fig. 1.9 A mechanical mouse

Scanning devices are the input devices that can electronically


capture text and images, and convert them into computer readable
form (Fig. 1.10).
There are the following types of scanners that can be used to
produce digitized images:
l Flatbed scanner — It contains a scanner head that moves
across a page from top to bottom to read the page and
converts the image or text available on the page in digital
form. The flatbed scanner is used to scan graphics, oversized
documents, and pages from books.
l Drum scanner — In this type of scanner, a fixed scanner
head is used and the image to be scanned is moved across Fig. 1.10 A Scanner
the head. The drum scanners are used for scanning prepress
materials.
l Slide scanner — It is a scanner that can scan photographic slides directly to produce files
understandable by the computer.
l Handheld scanner — It is a scanner that is moved by the end user across the page to be scanned.
This type of scanner is inexpensive and small in size.

processor
The CPU consists of Control Unit (CU) and ALU. CU stores the instruction set, which specifies the
operations to be performed by the computer. CU transfers the data and the instructions to the ALU for
10 Programming for Problem Solving

an arithmetic operation. ALU performs arithmetical or logical operations on the data received. The CPU
registers store the data to be processed by the CPU and the processed data also. Apart from CU and ALU,
CPU seeks help from the following hardware devices to process the data:
Motherboard
It refers to a device used for connecting the CPU with the input and output devices. The components on the
motherboard are connected to all parts of a computer and are kept insulated from each other. Some of
the components of a motherboard are:
l Buses: Electrical pathways that transfer data and instructions among different parts of the computer.
For example, the data bus is an electrical pathway that transfers data among the microprocessor,
memory and input/output devices connected to the computer.
l System clock: It is a clock used for synchronizing the activities performed by the computer. The
electrical signals that are passed inside a computer are timed, based on the tick of the clock.
l Microprocessor: CPU component that performs the processing and controls the activities performed
by the different parts of the computer.
l ROM: Chip that contains the permanent memory of the computer that stores information, which cannot
be modified by the end user.
RAM
It refers to primary memory of a computer that stores information and programs, until the computer is used.
RAM is available as a chip that can be connected to the RAM slots in the motherboard.
Video Card/Sound Card
The video card is an interface between the monitor and the CPU. Video cards also include their own RAM
and microprocessors that are used for speeding up the processing and display of a graphic. A sound card is
a circuit board placed on the motherboard and is used to enhance the sound capabilities of a computer.

output DeVices
The main task of an output device is to convert the machine-readable information into human-readable form
which may be in the form of text, graphics, audio or video.

A monitor produces visual displays generated by the computer. The monitor is connected to the video card
placed on the expansion slot of the motherboard.

Fig. 1.11 A CRT monitor and the internal components of a CRT


Introduction to Computer and Programming 11

The monitors can be classified as cathode ray tube (CRT) monitors or liquid crystal display (LCD)
monitors. The CRT monitors are large, occupy more space in the computer, whereas LCD monitors are thin,
light weighted, and occupy lesser space. Both the monitors are available as monochrome, gray scale and
color models.
A monitor can be characterized by its monitor size and resolution. The monitor size is the length of the
screen that is measured diagonally. The resolution of the screen is expressed as the number of picture
elements or pixels of the screen. The resolution of the monitor is also called the dot pitch. The monitor with a
higher resolution produces a clearer image.

The printer is an output device that transfers the text displayed on the screen, onto paper sheets that can
be used by the end user. Printers can be classified based on the technology they use to print the text and
images:
l Dot matrix printers — Dot matrix printers are impact printers that use perforated sheet to print the
text. Dot matrix printers are used to produce multiple copies of a print out.
l Inkjet printers — Inkjet printers are slower than dot matrix printers and are used to generate high
quality photographic prints.
l Laser printers — The laser printer may or may not be connected to a computer, to generate an
output. These printers consist of a microprocessor, ROM and RAM, which can be used to store the
textual information.

These systems record the simple messages in human speech form and then combine all these simple
messages to form a single message. The voice response system is of two types—one uses a reproduction
of human voice and other sounds, and the other uses speech synthesis.
The basic application of a voice output system is in Interactive Voice Response (IVR) systems, which are
used by the customer care or customer support departments of an organization, such as telecommunication
companies, etc.

A projector is a device that is connected to a


computer or a video device for projecting an
image from the computer or video device onto
the big white screen. The images projected
by a projector are larger in size as compared
to the original images. A projector consists of
an optic system, a light source and displays,
which contain the original images. Projectors
were initially used for showing films but now
they are used on a large scale for displaying
presentations in business organizations and for
viewing movies at home. Fig. 1.12 A portable projector
12 Programming for Problem Solving

memory management
The memory unit of a computer is used to store data, instructions for processing data, intermediate results
of processing and the final processed information. The memory units of a computer are classified as primary
and secondary memory. Computers also use a third type of storage location known as the internal process
memory. This memory is placed either inside the CPU or near the CPU (connected through special fast
bus).

Fig. 1.13 Memory unit categories of computer

The primary memory is available in the computer as a built-in unit of the computer. The primary memory is
represented as a set of locations with each location occupying 8 bits. Each bit in the memory is identified by
a unique address. The data is stored in the machine-understandable binary form in these memory locations.
The commonly used primary memories are as follows:
l ROM — ROM represents Read Only Memory that stores data and instructions, even when the
computer is turned off. It is the permanent memory of the computer where the contents cannot be
modified by an end user. ROM is a chip that is inserted into the motherboard. It is generally used to
store the Basic Input/Output system (BIOS), which performs the Power On Self Test (POST).
l RAM — RAM is the read/write memory unit in which the information is retained only as long as there
is a regular power supply. When the power supply is interrupted or switched off, the information stored
in the RAM is lost. RAM is volatile memory that temporarily stores data and applications as long as
they are in use. When the use of data or the application is over, the content in RAM is erased.
l Cache memory — Cache memory is used to store the data and the related application that was last
processed by the CPU. When the processor performs processing, it first searches the cache memory
and then the RAM, for an instruction. The cache memory can be either soldered into the motherboard
or is available as a part of RAM.
Introduction to Computer and Programming 13

Secondary memory represents the external storage devices that are connected to the computer. They
provide a non-volatile memory source used to store information that is not in use currently. A storage
device is either located in the CPU casing of the computer or is connected externally to the computer. The
secondary storage devices can be classified as:
l Magnetic storage device — The magnetic storage devices store information that can be read,
erased and rewritten a number of times. These include floppy disk, hard disk and magnetic tapes.
l Optical storage device — The optical storage devices are secondary storage devices that use laser
beams to read the stored data. These include CD-ROM, rewritable compact disk (CD-RW), digital
video disks with read only memory (DVD-ROM), etc.
l Magneto-optical storage device — The magneto-optical devices are generally used to store
information, such as large programs, files and back-up data. The end user can modify the information
stored in magneto-optical storage devices multiple times. These devices provide higher storage
capacity as they use laser beams and magnets for reading and writing data to the device.

types of computer software


A computer program is basically a set of logical instructions, written in a LO 1.4
computer programming language that tells the computer how to accomplish Classify various computer
a task. The software is therefore an essential interface between the hardware software
and the user (Fig. 1.14).
A computer software performs two distinctive tasks. The first task is to control and coordinate the
hardware components and manage their performances and the second one is to enable the users to
accomplish their required tasks. The software that is used to achieve the first task is known as the system
software and the software that is used to achieve the second task is known as the application software.

Fig. 1.14 Layers of software and their interactions

System software consists of many different programs that manage and support different tasks. Depending
upon the task performed, the system software can be classified into two major groups (Fig. 1.15):
l System management programs used for managing both the hardware and software systems. They
include:
∑ Operating system
14 Programming for Problem Solving

∑ Utility programs
∑ Device drivers
l System development programs are used for developing and executing application software. These
are:
∑ Language translators
∑ Linkers
∑ Debuggers
∑ Editors

Fig. 1.15 Major categories of computer software

Application software includes a variety of programs that are designed to meet the information processing
needs of end users. They can be broadly classified into two groups:
l Standard application programs that are designed for performing common application jobs. Examples
include:
∑ Word processor
∑ Spreadsheet
∑ Database Manager
∑ Desktop Publisher
∑ Web Browser
l Unique application programs that are developed by the users themselves to support their specific
needs. Examples include:
∑ Managing the inventory of a store
∑ Preparing pay-bills of employees in an organization
∑ Reserving seats in trains or airlines

oVerView of operating system


An operating system (OS) is a software that makes the computer hardware LO 1.5
to work. While the hardware provides ‘raw computer power’, the OS is Discuss various operating
responsible for making the computer power useful for the users. OS is the systems
main component of system software and therefore must be loaded and
activated before we can accomplish any other task. The main functions
include:
l Operates CPU of the computer.
l Controls input/output devices that provide the interface between the user and the computer.
Introduction to Computer and Programming 15

Fig. 1.16 The roles of an operating system

l Handles the working of application programs with the hardware and other software systems.
l Manages the storage and retrieval of information using storage devices such as disks.
Based on their capabilities and the types of applications supported, the operating systems can be divided
into the following six major categories:
l Batch operating system — This is the earliest operating system, where only one program is allowed
to run at one time. We cannot modify any data used by the program while it is being run. If an error
is encountered, it means starting the program from scratch all over again. A popular batch operating
system is MS DOS.
l Interactive operating system — This operating system comes after the batch operating system,
where also only one program can run at one time. However, here, modification and entry of data
are allowed while the program is running. An example of an interactive operating system is Multics
(Multiplexed Information and Computing Service).
l Multiuser operating system — A multiuser operating system allows more than one user to use a
computer system either at the same time or at different times. Examples of multiuser operating
systems include Linux and Windows 2000.
l Multi-tasking operating system — A multi-tasking operating system allows more than one program
to run at the same time. Examples of multi-tasking operating systems include Unix and Windows 2000.
l Multithreading operating system — A multithreading operating system allows the running of
different parts of a program at the same time. Examples of multithreading operating system include
UNIX and Linux.
l Real-time operating systems — These operating systems are specially designed and developed for
handling real-time applications or embedded applications. Example include MTOS, Lynx, RTX
l Multiprocessor operating systems — The multiprocessor operating system allows the use of
multiple CPUs in a computer system for executing multiple processes at the same time. Example
include Linux, Unix, Windows 7.
l Embedded operating systems — The embedded operating system is installed on an embedded
computer system, which is primarily used for performing computational tasks in electronic devices.
Example include Palm OS, Windows CE

MS DOS or Microsoft Disk Operating System, which is marketed by Microsoft Corporation and is one of the
most commonly used members of the DOS family of operating systems. MS DOS is a command line user
interface, which was first introduced in 1981 for IBM computers. Although MS DOS, nowadays, is not used
as a stand-alone product, but it comes as an integrated product with the various versions of Windows.
16 Programming for Problem Solving

In MS DOS, unlike Graphical User Interface (GUI)-based operating systems, there is a command line
interface, which is known as MS DOS prompt. Here, we need to type the various commands to perform
the operations in MS DOS operating system. The MS DOS commands can be broadly categorized into the
following three classes:
l Environment command — These commands usually provide information on or affects operating
system environment. Some of these commands are:
∑ CLS: It allows the user to clear the complete content of the screen leaving only the MS-DOS
prompt.
∑ TIME: It allows the user to view and edit the time of the computer.
∑ DATE: It allows the user to view the current date as well as change the date to an alternate date.
∑ VER: It allows us to view the version of the MS-DOS operating system.
l File manipulation command — These commands help in manipulating files, such as copying a file or
deleting a file. Some of these commands include:
∑ COPY: It allows the user to copy one or more files from one specified location to an alternate
location.
∑ DEL: It helps in deleting a file from the computer.
∑ TYPE: It allows the user to view the contents of a file in the command prompt.
∑ DIR: It allows the user to view the files available in the current and/or parent directories.
l Utilities — These are special commands that perform various useful functions, such as formatting a
diskette or invoking the text editor in the command prompt. Some of these commands include:
∑ FORMAT: It allows the user to erase all the content from a computer diskette or a fixed drive.
∑ EDIT: It allows the user to view a computer file in the command prompt, create and modify the
computer files.

Windows Architecture
The architecture of Windows operating system comprises a modular structure that is compatible with a
variety of hardware platforms. Figure 1.17 shows the architecture of Windows 2000; the later releases of
Windows operating systems are based on similar architecture.
At a high level, the architecture is divided into three layers, viz.
l User mode: Comprises application and I/O specific software components
l Kernel mode: Has complete access to system resources and hardware
l Hardware: Comprises underlying hardware platform
User Mode
The various subsystems in the user mode are divided into the following two categories:
l Environment subsystems: Comprise subsystems that run applications written for other operating
systems. These subsystems cannot directly request hardware access; instead such requests are
processed by virtual memory manager present in the kernel mode. The three main environment
subsystems include Win32, OS/2 and POSIX. Each of these subsystems possess dynamic link
libraries for converting user application calls to Windows calls.
l Integral subsystems: Takes care of the operating system specific functions on behalf of the
environment subsystems. The various integral subsystems include workstation service, server service
and security.
Discovering Diverse Content Through
Random Scribd Documents
pretext for refusing it on account of its being broken
money.—Vide Edmerum Hist. Novor. p. 94.
488
Suger relates, that Henry was so terrified by a
conspiracy among his chamberlains, that he frequently
changed his bed, increased his guards, and caused a
shield and a sword to be constantly placed near him at
night: and that the person here mentioned, who had
been favoured and promoted in an especial manner by
the king, was, on his detection, mercifully adjudged to
lose only his eyes and his manhood, when he justly
deserved hanging.—De Vit. Lud. Grossi. Duchesne, iv.
308.
489
“Compare Malmesbury’s character of Henry in this
particular with that given of him by Henry of
Huntingdon.”—Hardy.
490
The ceremony of giving possession of lands or offices,
was, by the feudal law, accompanied with the delivery
of certain symbols. In conformity to this practice,
princes conferred bishoprics and abbeys by the
delivery of a crozier and a ring, which was called their
investiture: and as consecration could not take place
till after investiture, this, in fact, implied their
appointment also. The popes at length finding how
much such a practice tended to render the clergy
dependent on the temporal power, inhibited their
receiving investiture from laymen by the staff and ring,
which were emblems of their spiritual office. The
compromise of Henry with Paschal enacted, that in
future the king would not confer bishoprics by the staff
and ring; but that the bishops should perform the
ceremony of homage, in token of submission for their
temporals: the election by these means, remaining,
nominally, in the chapter, or monastery.
491
The printed copy, as well as such manuscripts as have
been consulted, read, “investituras consecrationum:”
evidently wrong; the true reading, as appears from
Edmer, p. 72, where the whole instrument is inserted,
being “investituram vel consecrationem.”
492
On Anselm’s return, shortly after Henry’s accession, it
was agreed that all matters should remain in
abeyance, until both parties should have sent
messengers to the pope, for his decision on the
subject of investitures. See Edmer, p. 56.
493
He had been recalled on the king’s accession, but
afterwards quitted the kingdom again.
494
“Henry married Adala, daughter of Godfrey, conte de
Louvain, in February, 1121.”—Hardy.
495
“Bromton (col. 1013, x. Scrip.) ascribes to Malmesbury
words which are no where to be found in this author,
‘Willelmus Malmesbiriensis dicit, quod ille Willelmus
regis primogenitus palam Anglis fuerat comminatus,
quod, si aliquando super eos regnaret, faceret eos ad
aratrum trahere quasi boves: sed spe sua coruscabili
Dei vindicta cum aliis deperiit.’”—Hardy.
496
“The nuptials of prince William with Matilda, daughter
of the earl of Anjou, were celebrated in June, 1119,
before the council of Rheims.”—Hardy.
497
See page 252.
498
Virgil Æneid. v. 206.
499
He is called a butcher by Orderic Vitalis, p. 867, who
has many particulars of this event.
500
“The marriage of William, son of the duke of
Normandy, with Sibilla, in 1123, was dissolved, at the
instance of king Henry, in the following year, by the
pope’s legate.”—Hardy.
501
“Matilda was betrothed to the emperor Henry V. in
1109, but was not married to him until the 7th
January, 1114.”—Hardy.
502
The church of St. Maria, in Scuola Græca, is so called,
from a tradition that St. Augustine, before his
conversion, there taught rhetoric.—See Lumisden, 318.
503
Trastevere, that part in which St. Peter’s is situated.
504
Three beautiful columns, supposed to be remains of
the temple of Jupiter Stator.
505
The principal entrance to St. Peter’s church, so called
by way of pre-eminence.
506
The Rota, which seems to have been a part of St.
Peter’s church, is not enumerated by Fontana, de
Basilica Vaticana.
507
The chapel, in which the tombs of the apostles are
said to be placed.
508
The patrician of Rome appears to have been its chief
magistrate; derived from the office of prefect or
patrician under the emperors of Constantinople.
509
As pope Calixtus II.
510
The church of St. Saviour, or St. John Lateran, built by
Constantine the Great.
511
MS. pravilegium, a play on the words privilegium and
pravilegium.
512
Cosenza, L’Abbe, tom. x.
513
Another MS. reads Troianus instead of Turianus.
514
“Septimo decimo. More correctly octavo decimo, as the
emperor went before Easter in the year 1117.”—Hardy.
515
“Paschal died in Jan. 1118.”—Hardy.
516
“Maurice Bourdin, archbishop of Brague, was elected
pope by the influence of the emperor Henry V, on the
9th of March, 1118, and took the name of Gregory
VIII.”—Hardy.
517
“Gelasius II, died at Clugny, 29th Jan. 1119.”—Hardy.
518
A monastery near Salerno, inaccessible, except by one
passage. Here were kept such as from their conduct
had become either dangerous or scandalous: they
were supplied with every thing necessary, according to
their order, but were held in close confinement. Its
name was given from the untameable disposition of its
inmates. See Orderic. Vital. 870.
519
This was a high compliment to the ancient Briton.
520
Guibert of Nogent excuses himself from
commemorating the valour of many of the crusaders,
because, after their return, they had run headlong into
every kind of enormity. Opera, p. 431.
521
Robert de Arbrisil founded the monastery of
Fontevrault in 1099, and died in 1117.
522
“Bernard founded the abbey of Tyron in 1109, and
died in 1116.”—Hardy.
523
At Lewes in Sussex.
524
The uppermost garment of the priest, covering the
rest entirely.
525
Those who officiated were enjoined to fold up their
garments.
526
It was customary to hold a short chapter immediately
after primes.
527
Odo, second abbat of Clugny, was founder of the
Clugniac rule in the tenth century. Odilo was elected
the fifth abbat of Clugny in 994.
528
Godfrey was prior of Winchester from A.D. 1082 to
1107. His verses in commendation of the chief
personages of England are in the manner of those
already inserted on Serlo abbat of Gloucester. Many of
his epigrams have very considerable merit.
529
He probably has Henry Huntingdon in view, who wrote
a History of England shortly after him.
530
Terentii Andria, i. 1.
531
What these were is unknown, as it is believed there is
no MS. of them now to be met with.
532
“The emperor Henry V. died on the 23rd of May, A.D.
1125; and in September, A.D. 1126, king Henry
returned from Normandy, with his daughter the
empress.”—Hardy.
533
“The union of the kingdoms under Egbert did not take
place for several years after his accession in 802.”—
Hardy.
534
This must be understood with the exception of Canute
and his sons, between Edmund Ironside, and Edward
the Confessor.
535
Here seems a mistake. Margaret was given to Malcolm
by her brother Edgar Atheling, while in exile in
Scotland, A.D. 1067. See the Saxon Chronicle.
536
“Robert was created earl of Gloucester in the year
1119. On the Pipe-roll, 31 Hen. I., this entry occurs:
‘Glœcecestrescire. Et comiti Glœc. xxii. numero pro
parte sua comitatus.’”—Hardy.
537
“The nuptials of Matilda with Geoffrey Plantagenet,
afterwards earl of Anjou, were celebrated in the
presence of her father, in Sept. 1127.”—Hardy.
538
“Henry completed the twenty-eighth year of his reign
the 4th of August, 1128; but the Saxon Chronicle
places his return from Normandy during the autumn of
1129.”—Hardy.
539
It is very remarkable what excessive pains were
employed to prevail on the young men to part with
their locks. In the council held at London by
archbishop Anselm, A.D. 1102, it is enacted, that those
who had long hair should be cropped, so as to show
part of the ear, and the eyes. From the apparently
strange manner in which this fashion is coupled in
Edmer, p. 81, one might be led to suspect, it was
something more than mere spleen which caused this
enactment. See also Orderic. Vitalis.
540
An allusion to his name, which signifies a lion.
541
Pope Innocent died A.D. 1143.
542
“Philippe, eldest son of Louis VI, was consecrated by
command of his father on the 14th April, 1129; but
meeting with an accidental death on the 13th October,
1131, the king, twelve days afterwards, caused his
second son, Louis, to be crowned at Rheims by the
Roman pontiff, Innocent II.”—Hardy.
543
Both the printed copy and the MSS., which have been
consulted, read here tricesimo primo, ‘thirty-first,’
[1131]; but it should be the thirty-second, 1132.—See
Hen. Hunt.
544
“Malmesbury seems to have committed two oversights
here. Henry went to Normandy for the last time on the
third before the nones of August, (that is, third,
instead of fifth), A.D. 1133. This is evident from the
eclipse he mentions, which took place on that day, as
well as from the testimony of the continuator of
Florence of Worcester, a contemporary Writer.”—
Sharpe. “Although all the MSS. read ‘tricesimo secundo,’
yet it is evident, from the context, that it should be
‘tricesimo tertio;’ the completion of Henry’s thirty-third
regnal year being on the 4th of August, 1133. This,
and other passages show, that Malmesbury reckoned
Henry’s reign to commence on the 5th of August, the
day of his consecration, and not on the 2nd of that
month, the day of his brother’s death.”—Hardy.
545
“The eclipse of the sun took place on the 2nd of
August, 1133, at mid-day.”—Hardy.
546
From what has been said above this should be two.
547
“Liberationes,” signifies, sometimes, what we now call
liveries, that is garments; sometimes money at stated
periods, or, as we should say, wages: it is here
rendered in the latter sense, as being distinct from
“solidatæ,” pay or stipends. Perhaps it was intended to
distinguish two orders of persons by this bequest;
servants and soldiers: otherwise it may mean
garments and wages.
548
“The majority of contemporary writers state that
Stephen’s coronation took place on the 26th
December.”—Hardy.
549
“The author of the Dialogus de Scaccario states that
for some time after the Norman conquest there was
very little money in specie in the realm, and that, until
the reign of Henry the First, all rents and farms due to
the king were rendered in provisions and necessaries
for his household; but Henry I ordered the payments
to be made in money: they were consequently made
‘ad scalam,’ and ‘ad pensum;’ ‘in numero,’ or by tale;
and ‘per combustionem,’ or melting, which latter mode
was adopted to prevent payment being made in
debased money; hence perhaps it was that Henry’s
money was of the best quality.”—Hardy.
550
The progress of some of Henry’s treasure is curious.
Theobald, earl of Blois, gave many jewels, which had
been bestowed on him by Stephen, his brother, to
certain abbeys, and these again sold them for four
hundred pounds to Suger, abbat of St. Denis. Henry,
Suger observes, used to have them set in most
magnificent drinking vessels. Suger, ap. Duchesne, t.
iv. p. 345.
551
Church-yards were, by the canons, privileged, so that
persons in turbulent times conveyed their property
thither for security.
552
It had been the practice to seize, to the king’s use,
whatever property ecclesiastics left behind them.
Henry of Huntingdon relates, that on the death of
Gilbert the Universal, bishop of London, who was
remarkable for his avarice, all his effects, and among
the rest, his boots crammed with gold and silver, were
conveyed to the exchequer. Anglia Sacra, ii. 698.
Sometimes, even what had been distributed on a
death-bed, was reclaimed for the king. Vide G. Neub.
3, 5. “This practice of seizing the property of
ecclesiastics at their death seems subsequently to
have settled down into a claim on the part of the king
of the cup and palfrey of a deceased bishop, prior, and
abbat. See Rot. Claus. 39 Hen. III, m. 17, in dorso.”—
Hardy.
553
It seems to have been a vexatious fine imposed on
litigants when, in their pleadings, they varied from
their declaration. Murder is sometimes taken in its
present acceptation; sometimes it means a certain fine
levied on the inhabitants where murder had been
committed.
554
Earls, till this time, had apparently been official; each
having charge of a county, and receiving certain
emoluments therefrom: but these created by Stephen,
seem to have been often merely titulary, with
endowments out of the demesnes of the crown. Rob.
Montensis calls these persons Pseudo-Comites,
imaginary earls, and observes that Stephen had
completely impoverished the crown by his liberalities
to them. Henry the Second, however, on being firmly
seated on the throne, recalled their grants of crown
lands, and expelled them the kingdom.
555
The term “miles” is very ambiguous: sometimes it is a
knight; sometimes a trooper; sometimes a soldier
generally. In later times it signified almost always a
knight; but in Malmesbury, it seems mostly a
horseman, probably of the higher order.
556
“Roger, the chancellor of England, was the son of
Roger, bishop of Salisbury, by Maud of Ramsbury, his
concubine.”—Hardy.
557
The author of the “Gesta Stephani,” says, the king
ordered both bishops to be kept without food, and
threatened, moreover, to hang the son of bishop
Roger. Gest. Stephani, 944. The continuator of Flor.
Wigorn. adds, that one was confined in the crib of an
ox-lodge, the other in a vile hovel, A.D. 1138.
558
It has before been related that Stephen made many
earls, where there had been none before: these seem
the persons intended by Malmesbury in many places,
when speaking of some of the king’s adherents.
559
It would seem from this passage that he had seen Livy
in a more complete state than it exists at present.
560
Horat. Epist. i. 1, 100.
561
The meaning of vavassour is very various: here it
seems to imply what we call a yeoman.
562
This he effected by means of scaling ladders, made of
thongs of leather. Gest. Stephani, 951.
563
Several MSS., as well as the printed copy, read 1142,
but one has 1141, which is right.
564
“Ranulf, earl of Chester, and his uterine brother,
William de Romare, were the sons of Lucia, countess
of Lincoln.”—Hardy.
565
The joust signifies a contest between two persons on
horseback, with lances: each singled out his opponent.
566
That is, as appears after, to acknowledge her publicly
as their sovereign.
567
Marchio: this latterly signified marquis in the sense we
now use it; but in Malmesbury’s time, and long after, it
denoted a guardian of the borders: hence the lords
marchers on the confines of Scotland and Wales;
though it does not appear very clearly how this should
apply to Wallingford, unless it was his place of birth.
568
This seems an oversight: as he had before related,
more than once that Stephen preceded Robert in
taking the oath to Matilda.
569
Virgil, Æn. i. 33.
570
The garrison having sallied out against him, he
suddenly passed a ford which was not generally known
and, repelling the enemy, entered the town with them.
Gesta Regis Stephani, 958.
571
One of the MSS. omits from, “This circumstance,” to
the end, and substitutes, ... “but these matters, with
God’s permission, shall be more largely treated in the
following volume.”
Transcriber’s Notes
Simple typographical errors were silently corrected,
except as noted below.
Punctuation, hyphenation, and spelling were made
consistent when a predominant preference was found in
this book; otherwise they were not changed.
Many names were spelled in more than one way; in
most cases, all variants have been retained here.
The spelling of non-English words was not checked.
Ambiguous hyphens at the ends of lines were
retained.
The page headers of the original book contained a
timeline. It is represented in this eBook by sidenotes,
beginning with “[A.D. year]”, placed between paragraphs
nearby their originally-printed positions, and shaded in
some versions of this eBook. Redundant headers have
been omitted, some of the dates are not in sequence,
and some headers were not printed near the topics to
which they refer.
All but three of the chapter headings used the
abbreviation “CHAP.”, so the three that were spelled out
have been changed to abbreviations.
The Index entries were not checked for proper
alphabetization or correct page references, but all of the
“U” entries have been moved to precede the “V” entries
rather than to follow them.
In the Index, inconsistent usage of periods and semi-
colons at the ends of main and sub-entries has not been
changed; occasional mis-capitalization following such
punctuation has not been changed; spellings that differ
from the ones on the referenced pages have not been
changed.
Unbalanced quotation marks in footnotes citing Hardy
have been remedied.
Page 19: “unluckly” was printed that way.
Page 196: Shows “1017–1031” as the years of
Canute’s reign, and also says he “reigned twenty years”.
Page 232: “to his day” appears to be a typographical
error for “to this day”.
Page 256: Text uses “Standford Brigge” and
“Stanford-bridge”; Index uses “Standford Bridge” to refer
to this page. All retained here.
Page 462: The opening quotation mark before “A.D.
1112, the fifth of the indiction,” has no obvious matching
closing mark.
Page 496: “none before, appropriating” was changed
here from “none before, appropropriating”, which
appears to be a typesetting error.
*** END OF THE PROJECT GUTENBERG EBOOK WILLIAM OF
MALMESBURY'S CHRONICLE OF THE KINGS OF ENGLAND ***

Updated editions will replace the previous one—the old editions


will be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States
copyright in these works, so the Foundation (and you!) can copy
and distribute it in the United States without permission and
without paying copyright royalties. Special rules, set forth in the
General Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the


free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree
to abide by all the terms of this agreement, you must cease
using and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only


be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project Gutenberg™
works in compliance with the terms of this agreement for
keeping the Project Gutenberg™ name associated with the
work. You can easily comply with the terms of this agreement
by keeping this work in the same format with its attached full
Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.

1.E. Unless you have removed all references to Project


Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project
Gutenberg” appears, or with which the phrase “Project
Gutenberg” is associated) is accessed, displayed, performed,
viewed, copied or distributed:

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.

1.E.2. If an individual Project Gutenberg™ electronic work is


derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of
the copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is


posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files
containing a part of this work or any other work associated with
Project Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute


this electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the
Project Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™
works unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or


providing access to or distributing Project Gutenberg™
electronic works provided that:

• You pay a royalty fee of 20% of the gross profits you


derive from the use of Project Gutenberg™ works
calculated using the method you already use to calculate
your applicable taxes. The fee is owed to the owner of
the Project Gutenberg™ trademark, but he has agreed to
donate royalties under this paragraph to the Project
Gutenberg Literary Archive Foundation. Royalty payments
must be paid within 60 days following each date on
which you prepare (or are legally required to prepare)
your periodic tax returns. Royalty payments should be
clearly marked as such and sent to the Project Gutenberg
Literary Archive Foundation at the address specified in
Section 4, “Information about donations to the Project
Gutenberg Literary Archive Foundation.”

• You provide a full refund of any money paid by a user


who notifies you in writing (or by e-mail) within 30 days
of receipt that s/he does not agree to the terms of the
full Project Gutenberg™ License. You must require such a
user to return or destroy all copies of the works
possessed in a physical medium and discontinue all use
of and all access to other copies of Project Gutenberg™
works.

• You provide, in accordance with paragraph 1.F.3, a full


refund of any money paid for a work or a replacement
copy, if a defect in the electronic work is discovered and
reported to you within 90 days of receipt of the work.

• You comply with all other terms of this agreement for


free distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project


Gutenberg™ electronic work or group of works on different
terms than are set forth in this agreement, you must obtain
permission in writing from the Project Gutenberg Literary
Archive Foundation, the manager of the Project Gutenberg™
trademark. Contact the Foundation as set forth in Section 3
below.

1.F.
1.F.1. Project Gutenberg volunteers and employees expend
considerable effort to identify, do copyright research on,
transcribe and proofread works not protected by U.S. copyright
law in creating the Project Gutenberg™ collection. Despite these
efforts, Project Gutenberg™ electronic works, and the medium
on which they may be stored, may contain “Defects,” such as,
but not limited to, incomplete, inaccurate or corrupt data,
transcription errors, a copyright or other intellectual property
infringement, a defective or damaged disk or other medium, a
computer virus, or computer codes that damage or cannot be
read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except


for the “Right of Replacement or Refund” described in
paragraph 1.F.3, the Project Gutenberg Literary Archive
Foundation, the owner of the Project Gutenberg™ trademark,
and any other party distributing a Project Gutenberg™ electronic
work under this agreement, disclaim all liability to you for
damages, costs and expenses, including legal fees. YOU AGREE
THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT
LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT
EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE
THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY
DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE
TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL,
PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE
NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of
receiving it, you can receive a refund of the money (if any) you
paid for it by sending a written explanation to the person you
received the work from. If you received the work on a physical
medium, you must return the medium with your written
explanation. The person or entity that provided you with the
defective work may elect to provide a replacement copy in lieu
of a refund. If you received the work electronically, the person
or entity providing it to you may choose to give you a second
opportunity to receive the work electronically in lieu of a refund.
If the second copy is also defective, you may demand a refund
in writing without further opportunities to fix the problem.

1.F.4. Except for the limited right of replacement or refund set


forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’,
WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of
damages. If any disclaimer or limitation set forth in this
agreement violates the law of the state applicable to this
agreement, the agreement shall be interpreted to make the
maximum disclaimer or limitation permitted by the applicable
state law. The invalidity or unenforceability of any provision of
this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the


Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and
distribution of Project Gutenberg™ electronic works, harmless
from all liability, costs and expenses, including legal fees, that
arise directly or indirectly from any of the following which you
do or cause to occur: (a) distribution of this or any Project
Gutenberg™ work, (b) alteration, modification, or additions or
deletions to any Project Gutenberg™ work, and (c) any Defect
you cause.
Section 2. Information about the Mission
of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new
computers. It exists because of the efforts of hundreds of
volunteers and donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project
Gutenberg™’s goals and ensuring that the Project Gutenberg™
collection will remain freely available for generations to come. In
2001, the Project Gutenberg Literary Archive Foundation was
created to provide a secure and permanent future for Project
Gutenberg™ and future generations. To learn more about the
Project Gutenberg Literary Archive Foundation and how your
efforts and donations can help, see Sections 3 and 4 and the
Foundation information page at www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-
profit 501(c)(3) educational corporation organized under the
laws of the state of Mississippi and granted tax exempt status
by the Internal Revenue Service. The Foundation’s EIN or
federal tax identification number is 64-6221541. Contributions
to the Project Gutenberg Literary Archive Foundation are tax
deductible to the full extent permitted by U.S. federal laws and
your state’s laws.

The Foundation’s business office is located at 809 North 1500


West, Salt Lake City, UT 84116, (801) 596-1887. Email contact
links and up to date contact information can be found at the
Foundation’s website and official page at
www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission
of increasing the number of public domain and licensed works
that can be freely distributed in machine-readable form
accessible by the widest array of equipment including outdated
equipment. Many small donations ($1 to $5,000) are particularly
important to maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws


regulating charities and charitable donations in all 50 states of
the United States. Compliance requirements are not uniform
and it takes a considerable effort, much paperwork and many
fees to meet and keep up with these requirements. We do not
solicit donations in locations where we have not received written
confirmation of compliance. To SEND DONATIONS or determine
the status of compliance for any particular state visit
www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states


where we have not met the solicitation requirements, we know
of no prohibition against accepting unsolicited donations from
donors in such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot


make any statements concerning tax treatment of donations
received from outside the United States. U.S. laws alone swamp
our small staff.
Please check the Project Gutenberg web pages for current
donation methods and addresses. Donations are accepted in a
number of other ways including checks, online payments and
credit card donations. To donate, please visit:
www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could
be freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose
network of volunteer support.

Project Gutenberg™ eBooks are often created from several


printed editions, all of which are confirmed as not protected by
copyright in the U.S. unless a copyright notice is included. Thus,
we do not necessarily keep eBooks in compliance with any
particular paper edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg
Literary Archive Foundation, how to help produce our new
eBooks, and how to subscribe to our email newsletter to hear
about new eBooks.

You might also like