Full Computer Science A Structured Approach Using C Behrouz A. Forouzan PDF All Chapters
Full Computer Science A Structured Approach Using C Behrouz A. Forouzan PDF All Chapters
com
https://ebookgate.com/product/computer-science-a-structured-
approach-using-c-behrouz-a-forouzan/
OR CLICK HERE
DOWLOAD NOW
https://ebookgate.com/product/cryptography-network-security-1st-
edition-behrouz-forouzan/
ebookgate.com
https://ebookgate.com/product/computer-science-a-concise-
introduction-2nd-edition-sinclair/
ebookgate.com
https://ebookgate.com/product/101-design-methods-a-structured-
approach-for-driving-innovation-in-your-organization-vijay-kumar/
ebookgate.com
https://ebookgate.com/product/practical-programming-an-introduction-
to-computer-science-using-python-jennifer-campbell/
ebookgate.com
Supply Chain Project Management A Structured Collaborative
and Measurable Approach 1st Edition James B. Ayers
https://ebookgate.com/product/supply-chain-project-management-a-
structured-collaborative-and-measurable-approach-1st-edition-james-b-
ayers/
ebookgate.com
https://ebookgate.com/product/computer-networks-a-systems-
approach-3rd-edition-larry-l-peterson/
ebookgate.com
https://ebookgate.com/product/c-for-computer-science-and-
engineering-4th-edition-vic-broquard/
ebookgate.com
https://ebookgate.com/product/computer-ethics-a-case-based-
approach-1st-edition-robert-n-barger/
ebookgate.com
https://ebookgate.com/product/structured-surfaces-as-optical-
metamaterials-1st-edition-a-a-maradudin/
ebookgate.com
COMPUTE R SCIENCE
A Structured Programming Approach Using C
Behrouz A . Forouzan & Richard F. Gilberg
— THIRD EDITION
Operator Description Example * Assoc Pr
Identifiers amount
3.14159 N N /A 16
' Constants
Parenthetical Expressions (a + b)
[ ]. Array Index ary[i] N
ninction Call doIt(x, y) Y
Direct Member Selection str.mem N Left - Right 16
-> Indirect Member Selection ptr >mem - N
++ Postfix Increment • Decrement a++ Y
++ Prefix Increment • Decrement ++a Y
sizeof Size in Bytes sizeof(int) N
!
Ones Complement
Not
-a
la
N
N Right - Left 15
+ Plus • Minus +a N
& Address &a N
* Dereference / Indirection *ptr N
( )Type Cast (int)ptr N Right -Left 14
* /% Multiply • Divide • Modulus a * b N Left - Right 13
+ - Addition • Subtraction a + b N Left - Right 12
« » Bit Shift Left • Bit Shift Right a << 3 N Left - Right 1 1
< <= > >= Comparison a < 5 N Left - Right 10
ss ! = Equal • Not Equal N Left - Right 9
a == b
& Bitwise And a & b N Left - Right 8
A
Bitwise Exclusive Or a
A
b N Left - Right 7
Bitwise Or a b N Left - Right 6
&& Logical And a b ScSc N Left - Right 5
Logical Or a b N Left - Right 4
? : Conditional a ? x • Y * N Right - Left 3
= + = -= a = 5
*= / = % =
Assignment a %= b
>> =
A
<< =
a &= c Y Right - Left 2
& = = a |= d
> Comma a, b, c N Left - Right 1 i
* Side Effects ( Yes / No )
Precedence Table
>H
' . '
i -t X .U 6
\/o
*+ - - M i | J, -
' X AH .v A f\ £ w \/ dUe
Computer Science:
A Structured Programming
Approach Using C,
Third Edition
DATE DUE
Nov o 5 rm
LI 2o / H
1ft
March
/tprt I a ao\ ( p
2-6 ^6
AA 3 Z7
^i y
Wt ~ 7 IS7 %
JW 3 0 2( 17 <15
i m 1 o : Qi8 Clb
DEC 17 BtS
fa
IAUG 0 ! 2012
»7
Standard C ( 1999 )
I he following topics, in alphabetical order, are explicitly discussed in the text .
• the Boolean type
• character set extensions ( including Unicode and wide-characters)
• complex arithmetic
• extended math library
• for statement declarations
• integer type extensions
• line comments
IV
Preface to Third Edition v
A C Language Perspective
While C is a complex and professional language, our classroom experience
using the previous editions of this book has shown that beginning students can
easily understand it . We believe that if the language is put into a perspective
that allows the student to understand its design , C is not a difficult language.
There are two aspects of C that separate it from most other languages:
expressions and pointers. The concept of expressions, as used in C , is unique.
The first half of this text builds a firm understanding of expressions. We intro-
duce pointers only to the extent necessary to cover passing them to functions
7
in Chapter 4 and arrays in Chapter 8. Our experiences have shown that with
a firm grasp of the expression concept , much of the mystery of C disappears.
In Chapters 9 , we begin to develop the concept of pointers, which are
further developed in Chapter 10. Chapter 1 1 provides a discussion of C’s
approach to strings. Finally, Chapter 14 provides an extensive discussion of
bitwise operators, a subject that is needed to make the book complete.
The last chapter is a simple introduction to data structures. While not
all courses will have time to cover this chapter, those that do will give the
ce to Third Edition
Visual Approach
A brief scan of the hook will demonstrate that our approach is visual . 1 here
are more than 400 figures, plus more than 70 tables and 180 program exam -
pies. While this amount of material tends to create a large hook, the visual
approach makes it easy for students to follow the material .
Examples
While the programming examples vary in
style. Our experience
complexity, each uses a consistent
working with productional programs that live for 10 to
20 years convinced us that
readable and understandable programs are easier
to work with than programs
written in a terse, cryptic manner. For that reason ,
Preface to Third Edition vii
Coding Techniques
Throughout the text we include coding techniques that make programs more
readable and often more efficient. For example, in the analyTsis of Program 5 - 4
you will find the following discussion:
Where do we check for greater than } The answer is that we
default the greater than condition to the outer else . . . . When cod -
ing a two - way selection statement , try to code the most probable
condition first; with nested selection statements, code the most
probable first and the least probable last.
These techniques are drawn from our extensive industry and classroom
experience.
Software Engineering
A discussion of software engineering principles concludes each chapter. Our
intent is not to replace a separate course in software engineering. Rather, we
firmly believe that by incorporating basic software engineering principles
early in their studies, students will be better prepared for a formal treatment
of the subject . Even more important, by writing well-engineered programs
from the beginning, students will not be forced to unlearn and relearn. I hey
will better understand software discussions in their subsequent classes.
While the software engineering sections are found at the end of each
chapter, they are most successfully taught by introducing them as the chapter
unfolds. Then, a short review at the end of the chapter summarizes the prin-
ciples that have been demonstrated during the lectures.
These sections are visually distinguishable from the rest of the chapter.
They have been set apart for several reasons. First, they are in reality a small
book within a book. While these sections contain important material, the book
stands on its own without them. You may, therefore, decide to cover the soft -
ware engineering sections as formal lecture topics or informally while the
chapter material is being covered. You may decide to assign them to the stu -
dent as additional reading, or, you may decide to exclude them entirely from
the course.
In general, software engineering sections directly or indirectly pertain to
the chapter material. Where they don’t, they discuss general software engi-
neering subjects, such as cohesion, coupling, and quality.
vjjj Preface to Third Edition
Pedagogical Material
first , it helps the stu -
End chapter material meets two pedagogical objectives:
dents to review or summarize what they have learned , and second , it tests the
students’ mastery of the chapter material .
Review Material
• Tips and Common Programming Errors points out helpful hints and
possible problem areas.
• Key Terms provides a list of the important terms introduced in the chapter.
• Summary contains a concise overview of the key points for students to
understand in the chapter.
Practice Sets
• Review Questions contain several multiple choice questions that are
similar to the questions found in the examination database. The answers
to the odd - numbered questions are included in the solutions on the
Course Technology web site .
• Exercises are short questions covering the material in the chapter. The
answers to the odd - numbered exercises are also included in the solutions
on the Course Technology web site.
• Problems are short coding problems, generally intended to be run on a
computer. They can usually be developed in two to three hours. Once
again , odd - numbered solutions are found on the web site .
• Projects are longer, major assignments that may take the average student
six to nine hours to develop.
Professor Materials
The professors materials include the solutions to all review questions, exer-
cises , and problems. Because the projects are more complex assignments lor
which there is no standard answer, we do not provide solutions for them .
In addition to the end - material solutions , there are three other sets ol
support materials: ( 1 ) Copies of all programs in the text. The programs have
been extensively tested on at least two different computers with different
operating systems. All of them conform to the C99 Standard.
( 2 ) PowerPoint materials covering objectives, figures, programs, impor -
tant points , and chapter summaries. The PowerPoint materials can be used as
is or edited to suit individual class needs. This flexibility allows professors to
argument the text materials with their own . It also allows them to rearrange
the materials to suit their individual needs and style .
( 3) New with the third edition is the availability of ExamView®. This
objective- based test generator lets the professor create paper, LAN , or Web-
based tests from testhanks designed specifically for this text . Using the
QuickTest Wizard , they can easily and quickly create true/false and multiple -
choice tests. It is also possible to add questions that cover supplemental
material provided by the professor.
Student Materials
I he student materials include the solutions to the odd - numbered review
questions , exercises , and problems. They also have access to the copies of the
programs used in the text
Acknowledgments
No book of this scope can he developed without the support ol many people.
Reviewers
To anyone who has not been through the process, the value ol peer reviews
cannot he appreciated enough . Writing a text rapidly becomes a myopic pro -
cess. The important guidance of reviewers who can stand hack and review the
text as a whole cannot be measured. We would especially like to acknowledge
the contributions of the reviewers of all three editions.
Stephen Allen , Utah State University
Mary Astone, / roy State University
Ali Behforooz, Towson State University
George Berrv, Wentworth Institute oj technology
Ernest Carey, Utah Valley State College
Ping Chu Chu , Fayetteville State University
Preface tojhird Edition
r
of San Francisco
Constance Conner, City College
Connecticut State University
John S. DaPonte, Southern University
Maurice L. Eggen , Trinity
/
BehrouzA. Forouzan
Richard F. Gilberg
1
Unary Expressions 99
Binary Expressions 101
3.2 Precedence and Associativity 106
Precedence 107
Associativity 108
3.3 Side Effects 110
3.4 Evaluating Expressions 111
Expressions without Side Effects 111
Expressions with Side Effects 112
Warning 113
3.5 Type Conversion 114
Implicit Type Conversion 114
Explicit Type Conversion (Cast) 118
3.6 Statements 120
Statement Type 120
The Role of the Semicolon 124
Statements and Defined Constants 124
3.7 Sample Programs 125
3.8 Software Engineering 135
KISS 135
Parentheses 135
User Communication 136
3.9 Tips and Common Errors 138
3.10 Key Terms 138
3.11 Summary 139
3.12 Practice Sets 140
Review Questions 140
Exercises 142
Problems 144
Projects 146
Glossary 1129
Index 1145
t
I
Introduction to Computers
and
Welcome to computer science! You are about to explore a wonderful
exciting world — a world that offers many challengin g and
In this chapter, we introduce you to the concepts of computer
exciting careers .
science ,
especially as they pertain to computer programming . You will study the con -
cept of a computer system and how it relates to computer hardware
and soft -
ware. We will also present a short history of computer programmi ng
languages so that you understand how they have evolved and how the C lan -
guage fits into the picture.
We will then describe how to write a program , lirst with a review ot the
tools and steps involved , and then with a review of a system development
methodology.
Objectives
To review basic computer systems concepts
To be able to understand the different computing environments and
their
components
To review the history of computer languages
To be able to list and describe the classifications of computer language
s
To understand the steps in the development of a computer program
To review the system development life cycle
1
2 Section 1.1 Computer Systems
Computer
System
Hardware Software
Computer Hardware
The hardware component of the computer system consists of five parts:
input devices, central processing unit (CPU ), primary storage, output
devices, and auxiliary storage devices (Figure 1 - 2 ).
Primary Monitor
Keyboard CPU
Storage
Input Devices
t
Printer
Auxiliary Storage Devices Output Devices
one, tyvo ,
movement of data inside the system . Today’s computers may have
main memory is a place
or more CPUs. Primary storage , also known as
,
where the programs and data are stored temporarily during processing. The
data in primary storage are erased when we turn off a personal computer or
when we log off from a time -sharing computer.
The output device is usually a monitor or a printer to show output . If the
output is shown on the monitor, we say we have a soft copy. If it is printed
on
the printer, we say we have a hard copy .
Auxiliary storage, also known as secondary storage, is used for both
input and output. It is the place where the programs and data are stored per-
manently. When we turn off the computer, our programs and data remain in
the secondary storage, ready for the next time we need them .
Computer Software
Computer software is divided into two broad categories: system software and
application software. This is true regardless of the hardware system architec -
ture. System software manages the computer resources. It provides the inter-
face between the hardware and the users hut does nothing to directly serve
the users’ needs. Application software, on the other hand , is directly responsi -
ble for helping users solve their problems. Figure 1 - 3 shows this breakdown
of computer software .
Software
System Application
Software Software
System Software
System software consists of programs that manage the hardware resources
of a computer and perform required information processing tasks . These pro -
grams are divided into three classes: the operating system , system support
,
and system developme nt .
The operating system provides services such as a user interface, file and
database access, and interfaces to communication systems such as Internet
protocols. The primary purpose of this software is to keep the system operat -
.
ing in an efficient manner while allowing the users access to the system
System support software provides system utilities and other operating
services . Examples of system utilities are sort programs and disk format
4 Section 1.1 Computer Systems
perlormance
consist of programs that provide
programs. Operating services and security monitors to protect the system
statistics for the operational
staff
and data. software ,
, system development
The last system software category lan -
convert programs into machine
includes the language translators that ensure that the programs are error-
guage for execution , debugging tools
to
engineering ( CASE ) systems that
are
free , and computer-assisted software
beyond the scope of this hook .
Application Software
classes: general-purpose software
Application software is broken into two
purpose software is purchased
and application -specific software. General-
he used lor more than one application .
from a software developer and can
word processors , database
Examples of general - purpose software include
management systems, and computer-aided
design systems. I hey are labeled
computing problems.
general purpose because they can solve a variety of user
purpose.
Application -specific software can he used only for its intended
requirements
A general ledger system used by accountants and a material
are examples of
planning system used by a manufacturing organization
only for the task for which
application -specific software. They can he used
they were designed ; they cannot he used for other generaliz ed tasks .
User
Software
W
If users cannot buy software that supports their needs , then a custom -
developed application must be built . In today’s computing environment , one
of the tools used to develop software is the C language that we will he study-
ing in this text .
this situation , we have the whole computer for ourself ; we can do whatever
we want . A typical personal computer is shown in Figure 1 - 5 .
Monitor
Hard Drive
(Internal)
DVD ^
CD
Keyboard Mouse
operating
1 . PC is now generally accepted to mean any hardware using one of Microsoft s Windows
’
Central Computer
Central Storage
Shared Printers
Client/Server Environment
A client/server computing environment splits the computing function
between a central computer and users’ computers. The users are given per-
sonal computers or workstations so that some of the computation responsi -
bility can he moved Irom the central computer and assigned to the
workstations. In the client/server environment , the users’ microcomputers or
workstations are called the client . The central computer, which may be a
powerful microcomputer, minicomputer, or central mainframe system , is
known as the server. Because the work is now shared between the users
computers and the central computer, response time and monitor display are
aster and the users are more productive. Figure 1 - 7 shows a tvpical client /
server environment.
Chapter 1 Introduction to Computers 7
Server
Shared Printers
Central Storage
Clients
Distributed Computing
A distributed computing environment provides a seamless integration of
computing I unctions between different servers and clients. The Internet pro-
vides connectivity to different servers throughout the world . For example ,
eBay uses several computers to provide its auction service. This environment
provides a reliable, scalable, and highly available network. Figure 1 -8 shows a
distributed computing system.
Server
Internet
Server Clients
(browsers)
1940s 1950s
Machine Languages
only programming languages available
In the earliest days of computers , the
computer has its own machine language ,
were machine languages. Each
1 - 1 shows an example of a
which is made of streams of Os and fs. Program
two numbers and prints the
machine language. This program multiplies
results.
Symbolic Languages
It became obvious that few programs would be written if programmers contin-
.
ued to work in machine language In the early 1950s, Admiral Grace I topper, a
mathematician and naval officer, developed the concept of a special computer
program that would convert programs into machine language. I hese early
programming languages simply mirrored the machine languages using
symbols, or mnemonics, to represent the various machine language instructions.
Because they used symbols, these languages were known as symbolic
.
languages Program 1 - 2 shows the multiplication program in a symbolic
language. 2
2. The symbolic language format is label , operators, and operands. There are no labels in this example,
so the left column is empty.
10 Section 1.3 Computer Languages
continued
3. FORTRAN is an acronym for
4. COBOL is an acronym FORmula TRANslation.
for COmmon Business-Ori
rientcd Language.
Chapter 1 Introduction to Computers 11
} // main
Source
00110 100
10101 010
Compiler
01001 011
10110 100
is Object
Loader
Results
Compiling Programs
The code in a source file stored on the disk must he translated into machine
language . This is the job of the compiler. The C compiler is actually tw o sep -
arate programs: the preprocessor and the translator.
The preprocessor reads the source code and prepares it for the transla -
tor. While preparing the code , it scans for special instructions known as
preprocessor commands. These commands tell the preprocessor to look for
special code libraries, make substitutions in the code, and in other ways pre -
pare the code for translation into machine language . The result of prepro-
cessing is called the translation unit .
After the preprocessor has prepared the code for compilation , the trans-
lator does the actual work of converting the program into machine language.
I he translator reads the translation unit and writes the resulting object
module to a file that can then be combined with other precompiled units to
form the final program . An object module is the code in machine language .
Even though the output of the compiler is machine language
code, it is not
yet ready to run ; that is, it is not yet executable
because it does not have the
required C and other functions included .
Linking Programs
fomTofof theseSeVatT
omc th ’
functions
3
uam maJe UPof °f source> Unctions. However
C P 8
and?they
iS man ’ We write
processes^and m.them..icai
, are a part our program
W L , " ,T that " ."elsewhere
libra
°
functions
" T1' f •
^
exist and
The linker assembles be attached
must our program
to .
all of these functio ns, ours and
final executable program . the system s , into our
Chapter 1 Introduction to Computers 13
Executing Programs
Once our program has been linked , it is ready for execution . To execute a pro-
gram , we use an operating system command , such as run , to load the pro-
gram into primary memory and execute it . Getting the program into memory
is the function of an operating system program known as the loader. It
locates the executable program and reads it into memory. When everything is
loaded , the program takes control and it begins execution . In todays inte -
grated development environments, these steps are combined under one
mouse click or pull-down window.
In a typical program execution , the program reads data lor processing,
either from the user or from a file . After the program processes the data , it
prepares the output. Data output can he to the user ’s monitor or to a file .
When the program has finished its job, it tells the operating system , which
then removes the program from memory.
—
5. Many computer scientists believe that all programs contain at least one hug an undetected error —
that is just waiting to cause problems, given the right set of circumstances. Programs have run for
years without problems only to fail when an unusual situation occurs. Perhaps the most famous bug
was the one known as Y 2 K because it caused programs to fail on January 1.20( H ).
6. For a discussion of various models, see Software Engineering : A Practitioner ' s Approach , 5 th. ed . by
Roger S . Pressman , ( New York . NY: McGraw- Hill , 2001 ).
/
Systems
Requirements
Analysis
Design
Maintenance
The waterfall model starts with systems requirements . In this phase, the
systems analyst defines requirements that specif ) what the proposed system
is to accomplish. The requirements are usually stated in terms that the user
understands. The analysis phase looks at different alternatives from a system ’s
point of view, while the design phase determines how the system will be built .
In the design phase, the functions of the individual programs that will make
up the system are determined and the design of the liles and/or the databases
is completed . Finally, in the fourth phase, code , we write the programs. This
is the phase that is explained in this book. After the programs have been writ -
ten and tested to the programmer’s satisfaction , the project proceeds to sys -
tem test . All of the programs arc tested together to make sure the system
works as a whole . The final phase, maintenance , keeps the system working
once it has been put into production .
Although the implication of the waterfall approach is that the phases
( low in a continuous stream from the first
to the last, this is not really the
case. Note the iteration as indicated by the backward - flowing arrows in
Figure 1 - 1 1 . As each phase is developed , errors and omissions will often be
found in the previous work. When this happens, it is necessary to go back to
the previous phase to rework it lor consistency and to analyze the
impact
caused hv the changes. Hopefully, this is a short rework. We are aware of at
least three major projects, however, that were in the code
and test phases
when it was determined that they could not be implemented
and had to be
canceled. When this happens, millions of dollars and years
of development
are lost .
Program Development
Program Development is a multistep process
stand the problem , develop a solution , that requires that we under-
write the program , and then test it.
Chapter 1 Introduction to Computers 15
understand the problem and also due to their excitement about solving new
a
problem . In the first case , what they find is that they did not fully understand
the problem. By taking the time to design the program , they will raise more
questions that must be answered and therefore will gain a better understand -
ing ol the problem .
.
1 The purpose of calculating the square footage is to install new floor cov-
ering.
. .
2 Only the living space will be carpeted The garage and closets will not he
considered.
.
3 The kitchen and bathrooms will he covered with linoleum; the rest ol the
house is to he carpeted.
With this understanding, we decide to write separate modules lor the
kitchen, bathroom( s), bedrooms, family room, and living room. We use sepa -
rate modules because the various rooms may require a dilferent quality ol lino-
leum and carpeting. The structure chart for our design is shown in Figure 1 - 12.
flooring
Cost
get print
calculate Report
Userlnfo
calc calc
Linoleum Carpeting
calc calc
FamilyRoom DineLiving
Pseudocode
are used
a loosely defined syntax and
to
English-like statements that follow
convey the design of an algorithm.
Flowchart
A flowchart is a program design tool in which standard graphical symbols arc
used to represent the logical flow of data through a function. Appendix C
contains complete instructions lor creating flowcharts. If you are not f amiliar
with flowcharts, we suggest you read Appendix C now.
I In flowchart in Figure 1 - 13 shows the design for
*
calculating the area
and cost for the bathrooms . A few points merit
comment here. This flow-
chart is basically the same as the pseudocode. We begin with
prompts for the
Pnce °f the bnoleum and the number of bathrooms and read these two
pieces of data. ( As a general rule ,
flowcharts do not explicitly show standard
1
concepts such as prompts ) The loop reads the dimensions for each bath -
.
.
room Finally, when we know the total area, we calculate the price and return
to calcLinoleum.
O
/ bathProc < \ no
f calcbathRooms ^\ numbath w
7
yes
READ
/
( linoPrice) READ
( bathLngth,
bathWdth )
bathArea
READ
( numbath )
/
-*— zero
bathArea
bathArea +
bathLngth * bathWdth
bathProc
bathProc zero bathProc + 1
o
»
linoCost ^
bathArea ‘ linoPrice
RETURN
When we write a program, we start with the top hox on the structure
chart and work our way to the bottom. This is known as top-down implemen -
tation. You will find that it is a very easy and natural way to write programs,
especially if you have done a solid job on your design.
For our first few programs, there will he only one module, representing
the top hox of the structure chart . The first programs are quite simple and do
20 Section 1.5 System Development
n . When .
we g f 4 however
rlumter
.
, we will begin to
„
subdivisio
.
tjme we wi
not require
write functions an our
struc urt
writing structured
^^
programs . In the
.
point out some more techn | d
good pseudocodede or flowchart s for the
meantime , concentrate on writing
main part of our programs.
Blackbox Jesting
with -
Blackbox testing gets its name from the concept of testing the program
out knowing what is inside it
like a black
—
box
without
that we
knowing
can ’t see
how
into.
it works . In other words ,
the program is
Blackbox test plans are developed by looking only at the requirements
statement ( this is only one reason why it is so important to have a good set ol
requirements ) . The test engineer uses these requirements and his or her
knowledge of systems development and the user working environment to cre-
ate a test plan that will then he used when the system is tested as a whole. We
should ask to see this test plan before we write our program . The test engi -
neer 's plan will help us make sure we fully understand the requirements and
also help us create our own test plan .
Whitebox Jesting
Whereas blackbox testing assumes that the tester knows nothing about the
program , whitebox testing assumes that the tester knows everything about
the program . In this case , the program is like a glass house in which every -
thing is visible.
Whitebox testing is our responsibility. As the programmer, we know
exactly what is going on inside the program . We must make sure that every
instruction and even possible situation has been tested . That iis not a
simple task!
fmnf„ iTTi r, Wil' hClP” UuV g00d tCSt data but one thing we can do
f Witi S « ’P ans. We should star the,
st T ‘
n
ask oursetf
S gC
° " '
dt'sign stage. As we build your structure chart ,
““
and make a note of th m
hour later.
^^ WC eed l teSt f r
" °them an
we won ’t remember
°
Chapter 1 Introduction to Computers 21
Except for the most simple program, one set of test data will not completely
validate a program.
When it is time to construct our test cases, we review our notes and orga -
nize them into logical sets. Except for very simple student programs, one set
of test data will never completely validate a program . For large -scale develop -
ment projects, 20, 30, or even more test cases may need to he run to validate
a program .
Finally, while we arc testing, we will think of more test cases. Again , write
them down and incorporate them into our test plan . After our program is fin -
ished and in production , we will need the test plan again when we make mod -
ifications to the program .
I low do we know when our program is completely tested ? In reality, there
is no way to know lor sure. But there are a few things we can do to help the
odds. While some of these concepts will not be clear until you have read
other chapters , we include them here for completeness.
1 . Verify that every line of code has been executed at least once . Fortu -
nately, there are programming tools on the market today that will do this
for us.
2. Verify that every conditional statement in our program has executed both
the true and false branches, even if one of them is null . ( See Chapter 5 . )
3. For every condition that has a range, make sure the tests include the first
and last items in the range, as well as items below the first and above the
—
last the most common mistakes in array range tests occur at the
extremes of the range. (See Chapter 8. )
4 . If error conditions are being checked , make sure all error logic is tested .
I bis may require us to make temporary modifications to our program to
force the errors. ( For instance, an input /output error usually cannot be
—
created it must he simulated . )
22 Section 1.6 Software Engineering
.
Software engineer and that works on
methods and
*
principles
to obtain software that is reliable
, from the first interna
tional conference on
7 !
real machines This definition
was proposed 30 years
after the first computer
software engineering in 969 , art than a science. In
, software was more of
an
was built . During that period ing desenbes it as
treatments of programm
fact, one of the most authoritative . This three -volume senes, origi -
an art : The Art of Computer
Programming
1970 s , is con -
nally written by Donald E. Knuth in
the late 1960s and early
of many computer science concepts .
sidered the most complete discussion base for building reliable softwar e
Because the science and engineering 1960 s were a maze of
the 1950 s and
did not yet exist , programs written in
known as “ spaghet ti code .” It was not until Edsger Dijkstra wrote
complexity
a letter to the editor of the Communication
s of the ACM ( Association of Com -
Machinery ) 9 in 1968 that the concept
of structured programming
puting
began to emerge.
Dijkstra was working to develop algorithms
that would mathematically
d that any program could he \ \ i ittcn w ith
prove program accuracy. He propose
es, ( 2 ) the if ...else
only three constructs or types of instructions: 1 sequenc
( )
selection statement , and ( 3 ) the while loop . As we will
see , language develop -
and the switch in C . These
ers have added constructs, such as the for loop
ments to Dijkstra s basic constructs
additional statements are simply enhance
that make programming easier . Today , virtually all program ming languages
offer structure d program ming capabili ties.
Throughout this text we will he emphasizing the concepts of good soft -
ware engineering. Chief among them is the concept of structured program -
ming and a sound programming style. A section in each chapter will include a
discussion of these concepts with specific emphasis on the application of the
material in the chapter.
The tools of programming design have also changed over the years . In the
first generation of programming, one primary tool was a block diagram. This
tool provided boxes, diamonds, and other flowchart symbols to represent dif -
ferent instructions in a program . Each instruction was contained in a sepa -
rate symbol . Ibis concept allowed programmers to write a program on paper
and check its logic flow before they entered it in the computer.
With the advance of symbolic programming, the block diagram gave way
to the flowchart. Although the block diagram and flowchart look similar, the
flowchart does not contain the detail of the block diagram . Many instructions
are implied by the descriptive names put into the boxes ; for example, the read
1 r~
9 . Edsger W . Dijkstra , "Go To Slatemenl
no. 3 ( March 1968 ).
Considered Harmful r
Harmful ," Commun
'
,
2 < Third Edi ion '
É
mondaná a füstnek, a lángnak: «féljetek én tőlem! Én vagyok a
bakó!»
E perczben csattanó dördülés hangzott háta mögött. A falnak
támasztott fegyver a hőségben magától elsült, a golyók befuródtak a
falba.
E csattanás eszére téríté Zudárt, ki már közel volt az őrület
pillanatához, hirtelen lebukott a földre, az ágyról lerántotta a párnát
s azt maga után vonva, a tört nyilásig csúszott; a párnát leveté
előre, s maga óvatosan utána ugrott.
A hűs pinczelég lassankint magához téríté, a forróság nyomása
elmult agyából, tűztől elvakult szemeire jótékonyan hatott e
félhomály, mit csak a nyiláson besütő tűzvilág deríte fel.
Eszébe jutott, hogy az a nyílás is fölösleges már most.
A pincze ászokain kisebb-nagyobb hordók voltak elhelyezve,
üresen, vagy tele sörrel, borral.
Egy üreset odahengerített a tört rés alá, s ott felállítá a fenekére.
Akkor beüté egy sörös hordó fenekét, s a párnát belemártotta,
míg az egészen teleszítta magát vele.
Azzal felállt az üres hordóra, s a nedves párnával betömte a
nyílást.
Most már sötét volt a pinczében, hanem azért Zudár Péter tudta
benne jól a járást. Értette, hol áll a legjobb sörös hordó csapra ütve,
a fülkében meglelte a vászonkorsót, teleereszté friss sörrel; leült a
hordó mellé az ászokra és ivott belőle szörnyű hosszút, azután
megmosta vele a fejét és orczáját, és azután újra töltött magának és
ivott.
Odafenn nagy recsegéssel, ropogással omlott össze a háztető; a
lángok népei úgy kaczagtak, úgy süvöltöttek örömükben, hogy
sikerült nekik ez a munka.
– Ezzel bevégeztük a számadást; szólt Zudárné odakívül; a
czimborák, a czinkosok kaczagtak és tomboltak odafenn.
A vén hóhér pedig odalenn a hűs menedékben éneklé buzgó
szívvel:
És végig – végig hordozá ujjait a pallos mind két élén; jól ki volt
az köszörülve, sehol, sehol egy csorba rajta.
XIII. A BŐRHARANG.
Köznépünk igen adakozó czímek dolgában, s ez érdemben
túlmegy phantasiája a kelet-indiai fejedelmekén is, s czímei
találóbbak amazokéinál.
Bőrharang volt Hétfaluban egy sajátságos ember czíme, a kinek
más nevét nem igen szokta valaki eszében tartani. Igy csúfolták őt a
házi asszonyok, a kiknek hírül vitte, hogy ki halt meg ma? mikor
temetik? Kin van a sor a kastélyba menni hetesnek? ki főz ma a
rektor számára? Igy tisztelték a gazdák, a kiknek hivatalosan jelenté,
hogy ki lesz a soros forspontra menni? ki nem adta még meg a
papbért? ki tartozik a robottal? Igy nevezték őt a parochián, mikor
bejött jelenteni, hogy kinél lesz keresztelő, eskető, vagy temetés?
kinek van szüksége az utolsó vigaszra? mennyi bort ad az uraság az
úr asztalára? Igy fogadták a kastélyban, a hová híven bemondá: hol
kaphatni szegődő cselédet? kinek van eladó holmija? mi a piaczon a
búzának, baromfinak az ára? Félig az uraság szolgája volt, félig a
községé, egy kicsinyt a papé és azután minden jó emberé, a kinek
kinálni való pohár bora volt. Belevágott a hivatala egy kicsinyt a
kisbiróéba, jó nagyon az egyházfiéba; igen erősen a levélhordóéba;
feljebb állt az urasági hajdunál, összeköttetésben volt az
ispánsággal. Ebben a minőségben szüntelen házról házra járván, a
birólakból a piaczra, piaczról a kastélyba, a kastélyból a paplakra,
innen a malomba, a szeszgyárba, a csapszékbe, megint a mezőre,
azután ismét az udvarba: itt is hallott valamit, ott is valamit; a
haranglábnál ezt beszélték, a templomajtóban meg amazt; a heti
vásáros szekerek között megütötte valami a fülét, azt elmondta a
szárazmalom alatt. Mire a kocsmába ért, már akkor tulajdon
ujdonságát kibővítve, kiczifrázva hallotta elbeszéltetni, azzal futott a
kastélyba; útközben nem állhatta meg, hogy minden szemközt
találkozónak el ne mondja, nehány neki megtetsző változtatással;
ilyen formán igen szépen megérdemelte, hogy rajta hagyják a
«bőrharang» nevet, mint olyan szerszámét, mely a harang
szolgálatait végzi és csakugyan bőrbe van foglalva.
E viszontagságos estén nagy hévvel-lével rohant be a kastély
pitvarába a bőrharang, hol az öreg nagyságos úr lábbadozó
egészséggel üldögélt egy rácsos padon, magát úgy helyeztetve,
hogy a bágyadt naplementi eget bámulhassa.
A bőrharang magas ember lehetett valaha, de a sok
köszöngetésben annyira meggörbült már a háta, s a sok lótás-
futásban annyira előre ment a feje, hogy a ki először látja, nem
képzel egyebet róla, mint hogy ez most az asztal alatt akar
keresztülbujni. Egészen az alázatosság alakja; szinte tartja a hátát a
világnak, mintha mondaná, hogy üssön rá, a kinek tetszik.
Az öreg Hétfalusy örömest látja e furcsa embert. Minden
perczben szabad neki belépni hozzá; szabad neki mosolygó arczával
elmondani komoly eseményeket, s panaszló hangon mulatságos
kalandokat, a mik rendesen az ő rovására történtek meg.
– Csókolom kezeit, nagyságos uram, szólt a bőrharang, kalapját,
pálczáját letéve az ajtóban, csókolom kezeit, (meg is csókolá
igazán). Jaj de iszonyú nagy hőség van odakünn, milyen nagy a por!
Ezek a parasztok mind felverik az ökrös szekereikkel. Mind ezek
csinálják a port. Egészen a mellemre meg a torkomra szállott… oh
köszönöm alássan, ne tessék fárasztani magát, kedves nagyságos
uram, bizony nem iszom; nem azért mondtam; nem veszi be a
természetem ilyenkor délután a bort, azután meg hogy már
voltaképen volt is részem benne; mert hogy nem állhattam ki ezt a
rettentő melegséget, meg ezt az irtózatos port, hogy úgy a mellemre
szállott, kénytelen voltam betekinteni a Sámsihoz, oh bizony nem
azért, nem azért, hanem csak azért, hogy tán a biró komámat majd
ott találom, de biz az nem volt már ott, hanem a helyett ott ültek
már a Spletykó, meg a Hamza esküdtek, meg még egy pár paraszt,
a kik azonnal előfogtak és kináltak, hogy igyam pálinkát. Méltóztatik
tudni, én nem nagyon szeretem a pálinkát, nem veszi be a
természetem, meg aztán délután is volt, akkor az nem egészséges;
hát én csak azt mondtam, hogy köszönöm, nem iszom. Hát erre
mind valamennyi egyszerre rám támad: «úgy-e? úgy-e kend is meg
van már tanítva, hogy miből igyék, miből nem? úgy-e kendnek is
megmondták már, hogy a pálinkába mérget tettek». – «Micsoda?» –
«Mérget hát.» – «Kicsoda?» – «Kicsoda más, mint a nagyságos urak
maguk?» – «Ejnye, lánczos, lobogós.» kiálték elförmedve én is, s
elkeseredésemben rögtön kiittam valamennyi elől egyenkint a
poharakat. «No hát! méreg van ebben, méreg? Hát nem megiszom
én ezt? Hát meghaltam én ettől?» Az a sunyi Hamza megint
lekiabált: «No ha ebben nincs a méreg, akkor a másik hordóban van.
Hozz abból, Sámsi.» A Sámsi maga nem mert kijönni a szobából, azt
vetette, hogy a hideg leli, hanem a felesége szolgált helyette, az
lement a pinczébe mind a két esküdt jelenlétében s hozott
mindegyik hordóból kóstolót. Nagyságos uram! Nehezemre esett,
mert nem jár belém a pálinka; de nagyságod iránti háladatosságból
mind megittam azt is. Csoda, hogy most olyan részeg nem vagyok,
mint a ki az orrával turja a földet. «No hát meghaltam-e tőle, ha
méreg van benne?» már ekkor én kiáltottam jobban. A sunyi Hamza
nem tudott már egyebet mondani, mint hogy: ha még nincs benne,
hát majd benne lesz holnap. «No jól van, hát én eljövök holnap is,
holnapután is, eljövök mindennap; megmutatom, hogy sorba
kóstolom a kendtek italát mind és nem lesz tőle semmi bajom.» Ezt
mondtam nekik. És megteszem nagyságos uram, megteszem, bárha
nehezemre esik is, mert nem élek italfélével; de a nagyságod úri
familiáját, a kinek én annyi javával éltem, nem engedem holmi
bitang parasztok által rágalmaztatni.
Az öreg Hétfalusy hagyta szólni a harangot. Tán rá sem
hallgatott. Annyi volt előtte meséket mondani a bőrharangnak,
mintha a toronyban húznák a harangot. Még ez is több annál, mert
ebben az egyhangú, búskomoly bilimbalam szóban holtak beszédét
hallani, annyi mindenféle titkos szókat, a ki figyelmezni tud rá és ért
az emlékezéshez!
Megzavarta e jeles előadást doktor Sarkantyús megérkezése, ki
rossz csézájában, forspontos gebékkel hajtatott be az udvarra és
sietett rögtön fel a földesúrhoz.
A bőrharang törte magát a csézához, hogy a doktor úr holmiját
felhordja abból, s miután ambitiója volt a szolgálattevő hajduk
odaérkezte előtt valamennyi bundát és skatulyát összenyalábolni, azt
érte el a nagyravágyás által, hogy három skatulyát elejtett a földre,
az egyiknek felpattant a zárja, s végig ömlött belőle valami fehéres
por a folyosó márvány koczkáin.
Az orvos mérgesen támadt rá:
– Mondtam, hogy ne nyaláboljon kend fel annyit! ahol van ni:
kiszórta a viszmuth-porokat.
– Majd felszedem, kérem alássan, szólt a bőrharang
meghunyászkodva, s letérdelt, hogy majd összesepri a tenyerébe a
kihullottat s visszateszi a többihez.
Ezért megint majd megverte a doktor.
– A mi a porral összevegyült, azt visszatenni a tiszta közé!
Menjen kend az operencziákra.
– Hát kérem alássan, nem jó ez így a birkáknak? kérdé alázatos
mosolygással a kárttevő.
– Birkáknak? E biz azt gondolja, hogy birkaveszély ellen hordok
gyógyszert.
– Mert hogy olyan sok.
– Igy is kevés lesz ez a kendtek fejének. No most el kell a
kiszórtat seperni az útból.
Az orvos kivette mérgesen a sérült skatulyát az ember kezéből, s
maga vitte azt be a szobába.
A bőrharang elbámulva maradt ottan térden, s nézte ostoba
szemekkel a földre öntött porfélét. Azután megnyálazta a mutatóujja
hegyét, s belemártotta a porba, hozzá értette egy kicsinyt a nyelve
hegyéhez, s köpködött azután tőle mindenfelé; végre hevenyében
összekapargált belőle nehány csipetet, kivonta a zsebkendőjét a
mellénye zsebéből, annak egyik szegletébe belekötötte a gyanús
szert, s azzal körültekingetve, ha nem látta-e meg valaki, kiosont a
tornáczból, elkerült az udvarból a kertek alá s azzal rohant nagy
sebesen a faluvégi korcsma felé, a leggyorsabb veszély idejéni
lépésben. Ilyenkor a feje egy lépéssel előbb járt, mint a lába.
A mint benyitott a korcsmába, nem tünt fel neki, hogy ott milyen
szép rend és béke uralkodik ez órában. Csicseri Márton uram, a biró
ott ült az asztalfőn, és az asztalon végig volt fektetve a hosszú
mogyorófa-pálczája.
– Szerencsés jó estét kivánok, kedves biró uram, komám uram.
Ugyan jó, hogy kelmed is itt van. Hát a Hamza, meg a Spletykó
merre vannak?
A biró haragosan nézett rá:
– Jó helyt vannak. A kalodában.
– Úgy-e? No ott igazán jó helyen vannak. Kár, hogy most nem
lehetnek itten.
– No, komám uram, most már én is azt mondom, hogy végünk
van; szólt a bőrharang titkolózva a biróhoz.
– Hát hogyan van végünk? Kérdezé Csicseri Márton, két
könyökkel nehezkedve az asztalra.
– Oh, mindenképen végünk van, végünk, végünk! jajgatott a
bőrharang, s fel s alá szaladgált a korcsmaszobában és fejét két
kezébe fogta. Vége az egész falunak.
– Felelj hát, hogyan van végünk? te vén banya. Nem tudod, hogy
ennek a botnak is van vége, s majd a hátadra találom tenni?
Az ember úgy tett, mintha csak a birónak akarna felelni, azonban
addig tekintgetett félelmesen maga körül, míg öt-hat parasztot maga
körül csődített, akkor azután jó hangosan súgta oda:
– Megérkezett már a méreg…
– Bolond kend, szólt a biró visszahökkenve.
– Nem én. Láttam, kóstoltam, hoztam is belőle. Most érkezett
meg a doktor, a vármegye küldte egy nagy láda méreggel, hogy azt
itassa meg velünk. Kezemben volt a láda, én vettem le azt a hintóról.
Az isteni gondviselés rendelte, hogy kiejtettem a kezemből, erre
kidőlt belőle valami fehér por. Egészen tele volt olyan porral. A
doktor megijedt nagyon szörnyen, szidott a hibámért; láttam:
egészen elsárgult. Én csak annyit kérdeztem tőle, hogy talán a
birkáknak lesz ez az orvosság. Arra ő kikapta kezemből a ládát, s azt
felelte, hogy majd a mi fejünket fájdítja ő meg azzal.
– Igaz ez? kérdezé egy megrémült paraszt az asztalon keresztül.
– Olyan igaz, mint hogy élek. A doktor mindjárt megparancsolta a
házi cselédségnek, hogy a kidőlt port eltakarítsák, hogy valami állat
meg ne egye, mert mindjárt elveszne tőle, de én mégis eltettem
belőle egy csipetet, itt van a zsebkeszkenőmben.
A bőrharang kibontá a zsebkendőt, s kiönté a fehér port az
asztalra.
A parasztok szörnyűködő műértéssel nézték körül az idegen,
rémületgerjesztő port, melynek emberölés, népkiirtás rettentő
munkáját kelle végbevinni.
Valamelyik hallott valaha olyasmit, hogy a mérget lelketlen
állatokon szokás előbb megkisérteni. Egy darabka kenyeret
belehengerített a porba s az asztal alatt heverő komondort
megkinálta vele. A kutya megszagolta és ott hagyta a kenyeret.
– Méreg! méreg! zúgák elszörnyedve a körülállók.
– Mondtam úgy-e? szólt diadalmas arczczal a bőrharang, de
győzelmi öröme egyszerre megkeserítődött, mert mikor legkevésbbé
várt volna hasonló megtiszteltetést, azon vevé észre magát, hogy
biró uram hosszú mogyorófa pálczája elkezdi a hátát és a vállait
püfölni irgalmatlanul.
– Hát te semmirevaló, hazug szószátyár! Igy rágalmazod te a
tulajdon földesuradat? Te egész falu kutyája, a ki minden embert
megugatsz a háta mögött s mindenkinek megnyalod a kezét
szemben; ilyen mesékkel jösz te ide, mikor a nélkül is annyi
háborúság van már a nép között? Te semmire való betyár! Ugy-e azt
akarod, hogy a földesuradat agyonverjék, mi? hogy a kastélyát
felgyújtsák, kirabolják? Te gyalázatos lázító, akasztófára való. No
megállj! vasra verletlek, beküldelek a vármegyére, majd ülhetsz ott,
a míg rád kerül a sor. Te gyújtogató, te!
A bőrharang igazán megijedt, s elkezdett szabódni.
– Jaj, kedves, édes biró uram, komám uram. Ne haragudjék, az
Isten áldja meg. Nem akarom én a földesuramat agyonveretni. Az
Isten őrizzen meg attól.
– Hát kit?
– Nem én, senkit sem, a világért sem. Oh dehogy akarok. Csak
azért mondtam ezt, hogy a szegény ember fia tudja magát előre
őrizni.
– Mitől?
– Hát a veszedelemtől.
– Hát ki mondta neked, hogy itt veszedelem van? Az orvos úr
nagy körútat tesz, sok beteg embert gyógyít, sok orvosságot hord
magával. Te ügyetlen szamár, elejted az orvosságot, ellopsz belőle s
még ráfogod, hogy az méreg. Méreg az öreg apád lelke! Hisz az
bizonyos, hogy az orvosságot, ha egészséges ember beveszi, a
gyomra felháborodik tőle, de a beteget meg kigyógyítja. Hisz azt
tudja minden ember. A gyógyszer nem enni való.
Egy-két józanabb paraszt helyeslőleg morgott hátul. A bőrharang
meghunyászkodva állt a biró előtt s kalapjával olyan forma
legyintéseket tett, mintha szeretné az asztalra döntött port onnan
suttyomban elszelelni.
– Már most te, népháborító! ha ezeknek a becsületes
embereknek itten több eszük nem volna, mint neked, mi történnék
akkor? Ha elhinnék azt az irtózatos vádat, a mit egy pár zúgolódó
semmiházi költött rájuk veled egyetemben, s féltükben neki
mennének annak a te jámbor ifjuuradnak, a ki annyi jót tett veled, s
agyoncsapnák a szemed előtt, ha azt az ősz beteg nagyságos urat
kihúznák az ágyából pőrén s vinnék megégetni, mit csinálnál akkor?
Te semmire való! Tán még magad köszörülnéd a kést, a mivel torkát
messék?
A bőrharangnak a térdei verődtek egymáshoz, sopánkodva
rebegé, hogy ő nem gondolta, miszerint olyan rettenetes dolgok
következhetnek abból, a mit mondott, nem gondolta meg, hogy mit
beszél.
– No iszen majd meggondolhatja kend a vármegye tömlöczében.
A bőrharang szabódott, hogy csak oda ne küldjék, inkább
csukassa a kalodába, oda a Hamza mellé. Elismeri, hogy azt
megérdemli; még ha husz-harmincz botot rá olvasnak, azt sem
bánja; csak azután ne vallassák többet, mert ő nem akart semmi
rosszat mondani.
E közben senki sem vette észre, hogy az ivóterem lassankint
meggyült hallgatag marczona alakokkal, a kik közül egy figyelmesen
hallgatva a beszédre, az asztalról a gyanus port mind a markába
seperte.
Csicseri Márton biró uram a bőrharang sok rimánkodására
annyira alább hagyott a fenyegetéséből, hogy tehát nem vereti őt
vasra, mint lázítót s nem küldi a vármegye kezére; «de a kalodában
ott fogsz ülni reggelig, komám! Esküdtek! Kisérjék kendtek odáig.»
– De nem ezt az embert! szólt akkor a tömeg közül egy hang, s a
biró Bodza Tamást látta előlépni a hosszú asztal mellé.
– Hát kit? kérdé tőle.
– Hanem kendet magát! kiálta Numa Pompilius, igazi római
taglejtéssel kisérve szavait.
Biró uramnak eleinte az ötlött eszébe, hogy a jámbor rektort, ki
különben nem szokott szeszes italokkal élni, bizonyosan valaki
leitatta édes borral s elkezdett rajta nevetni.
Azonban megdöbbenve vevé észre, hogy két idegen ember
odaugrik mellé a mester intésére, s megragadják a kezeit.
Soha sem látta ez arczokat, nem e faluból való emberek.
– Mi dolog ez? hej! ordíta reájok: egyiket orron üté vitézül, a
másikat hanyattlökte, azonban erre tizen rohantak reája, elkapták
kezeit-lábait, leteperték a földre, megkötözték; egy-két ismerőse
védelmezni akarta, azokat félre taszigálták.
Bodza Tamás fennállt az asztalon, míg a tusa tartott, egy
capitoliumi szobor magatartásával, onnan vezényelt diktatori
hangon.
– Most én parancsolok.
A megkötözött biró szidta, fenyegette a lázadókat, míg száját be
nem tömték, a bőrharang elbujt a kemencze mellé, egyrészt az
ütlegektől, másrészt attól félve, hogy ebből még nagy baj
kerekedhetik, s a jelenlevőknek tanuságot kell vallani. Ő nem akart
sem látni, sem hallani semmit.
XIV. A HALÁLITÉLET.
A gyertyákat meggyujtották az asztalon, pedig még fényes
nappal volt; – a lélekharangot is megcsendítették, pedig még beteg
sem volt senki, a koporsót is elkészíték már, pedig még senki sem
halt meg.
A szegény bűnösre kimondták a kemény itéletet: meg kell neki
halni. Fejére szól a törvény. Ha egész nap könyörgene érte édes
apja, anyja, minden atyafia, azokat a betüket le nem könyöröghetné
onnan.
A kik ott a hosszú asztal mellett ülnek: főtisztek, altisztek,
közkatonák, mind úgy szánják, mind úgy szeretnék, ha nem kellene
azt a szót kimondani. Maga a tábornok is eltakarja arczát két
kezébe:
«Istennél van a kegyelem.»
Kezében tart egy kis pálczát, fehér pálczát, meg-megnézi: még
most egész; semmi törés nincsen rajta.
Odajön hozzá a vén őrmester; csákója fejében, még a viharszíj is
állára csatolva, egy keze a zsinóron, másik a csákó ernyőjén.
– Uram, tábornok úr, adj kegyelmet szegény elitéltnek.
«Istennél van a kegyelem.»
Másodszor is megemeli az őrmester tenyere hegyét a kalpag
ernyőjeig és újra könyörög:
– Uram, tábornok úr, adj kegyelmet szegény elitéltnek.
«Istennél van a kegyelem.»
Harmadszor is könyörög.
«Istennél van a kegyelem.»
A fehér pálcza ketté törve hull a földre; a bűnös felsóhajt,
megköszöni szépen a jelenvolt uraknak, hogy vele vesződtek, a jó
őrmesternek, hogy kegyelmet kért neki és a szigorú birónak, hogy a
törvény szavait kimondá fejére.
Azután elviszik a siralomházba, adnak reá tiszta fehér ruhát,
adnak neki ételt, italt, hogy egyék, igyék utoljára.
A vas ember félt hazamenni szállására.
Ha Kornélia kérdeni fogja, mi itéletet mondál ellenséged fiának
fejére?
Nem mert haza menni: félt.
A mint sokáig ott időzött, a porkoláb jő hozzá jelenteni, miszerint
az elitélt néhány szót kivánna a tábornokkal négy szem közt váltani.
Vértessy rögtön sietett hozzá:
– Ön rosszul védte magát, szólt, a mint belépett hozzá,
szemrehányólag. Ön lehetetlenné tette, hogy más itéletet
mondhassunk.
– Tudom. Akartam azt; szólt az ifju derült, nyugodt arczczal.
Ennek már vége van, tábornok úr: katonadolog volt. Három nap
mulva meghalok. Vegyük úgy, mintha nagy beteg volnék s az
orvosok előre megmondták volna, hogy csak három napig élek.
– Fel fogom küldeni az itéletet a felséghez.
– Eredménytelen lesz. Hiszen kegyed semmit sem tud
mentségemre felhozni. Én nem mondtam semmit.
– De én azért tudok. Védték önt mások. S ha daczos feleleteivel
be nem vágja útamat a hadtörvényszék előtt, tudtam volna önnek
megszabadítására valamit kigondolni.
– Csodálkozom, hogy engem védett valaki. Nem ismerek senkit, a
ki rólam megemlékezhetnék.
– De igen. Legelső volt tulajdon nőm.
– Ah, tábornok úr. Ez a tudat enyhíteni fogja halálomat.
– Második volt azon férfi, a kire ön rálőtt ostoba
szerelemféltésből.
– Tehát nem halt meg? kiálta fel öröm hangján az ifju. Ah, ez
megvigasztal.
– Ez önre nézve mindegy. Vétsége halálos.
– De lelkem megkönnyebbül. Nem nyomja oly nagyon.
Köszönöm. A halál órái rövidebbek lesznek ezáltal.
– A harmadik védő volt önnek édes atyja.
– Hogyan? rebegé az ifju reszkető ajakkal. Atyám? az én atyám?
– Tulajdon édes atyja. Ő irt azokkal a reszkető kezekkel hozzám,
miket a szél ütött meg. Tudja ön, mit jelent az? Én hozzám irt ő!
– Én értem irt? susogá az elitélt, lánczos kezeit összetéve és
nehéz szempilláit lecsukva nedves szemeire.
– A negyedik volt Kamienszki gróf, kinek nőtestvérére ön
bizonyosan fog emlékezni.
Az ifju bámulva tekinte föl.
– Nem emlékszem ilyen férfira. Neki nincs testvére.
Vértessy vállat vont.
– Ő maga mondta, hogy az: itt volt ma nálam.
Az ifju katona valami kinos gyanuval küzdött szorongó lelkében;
azután derült arczczal fordult ismét a tábornokhoz, könnyelmű ifju
tekintetével.
– Ezek mind enyhítik büntetésemet, tábornok úr, köszönöm, hogy
tudatta velem. Sajnálom, hogy balvégzetem másoknak könyeket fog
okozni, miket nem reméltem, miket nem érdemeltem, de
fájdalmamat enyhítik azok. Ön szive fenekén megbocsát nekem és
szegény családomnak; ugy-e bár, megbocsát nekik? Annak a
szegény öreg embernek, a kinek már most senkije nem lesz és
védeni fogja őt, ha valami nagy, igen nagy baj fenyegetné.
A tábornok megszorítá az ifjunak eléje nyujtott jobbját. A lánczok
úgy csörömpöltek a megrázott kézen.
– És most engedje meg tábornok úr, hogy egy igen komoly
ügyről szóljak önhöz. Lesz-e kegyes kihallgatni?
Beszéljen ön.
– És a miket mondok, nem fogja ön agyrémeknek tartani. Sok
embernek az agyát a halál közelléte lázba hozza; nem fogja ön hinni,
hogy én is lázban beszélek? Elhiszi ön, hogy bátor vagyok és józan,
és szivem, eszem helyén van?
A tábornok fejével intett.
– Legelőször arra akarom önt kérni, hogy kivégeztetésemet ne
halaszsza ön három napig. Tűzzön ki arra rövidebb határidőt; nem
én értem. Velem be van végezve a számadás. Én már nem létezek.
– Tehát miért?
– Elmondom. Azonkívül ne vitessen ön a városon kívül, itt a
kaszárnya belső udvarán is megtörténhetik az velem.
– Jó, ezt megigérem.
– És utoljára: hirdettesse ön e végrehajtást délutánra és tetesse
délelőtt, korán hajnalban, mielőtt valaki ébren volna.
– Mi okai vannak önnek ily különös kérelemre?
– Elmondom azokat, tábornok úr. Ön tudja, hogy e rendkívüli,
hirből sem ismert járvány miatt minő izgatott hangulat van az egész
országban. Alkalmam volt bizonyos rosszakaratú emberek tervét
véletlenül megismerhetni, kik e rémületes napokat valami borzalmas
munka kivitelére találják alkalmasnak. A néposztályok
legmiveletlenebb salakja fel van kavarodva s csak egy jelszóra vár,
hogy kiöntsön az egész országra. Nem meséket mondok, tábornok
úr. Hallottam a lázító suttogásokat, olvastam leveleiket, láttam a
nevek lajstromát, a kiknek legelébb kell esniök. Az én apám neve áll
a legelsők között. Jobbágyai annyira gyülölték mindig, a mennyire
szerettek engem. Ezen titkon forrongók egyik főnöke hajdan
katonatársam volt; onnan elbocsátották. A véletlen összehozott vele
Galicziában, hol ő titkos czéljai után járt. Azt igérte, hogy el fog
rejteni. És azután épen ő jelentett fel. Most az a pokoli terve van,
hogy a mint engem a városon kívül visznek, a mint a roppant nép
összecsoportosul, azt fellázítsa, a csekély számú katonaságot
szétverje, s engemet megszabadítva, mint egyszerre elhirhedett
hőst, ijesztő név gyanánt használjon fel egy pokoli gyujtogató
lázadáshoz… Tábornok úr, ön láthatja, hogy a legnagyobb irtózat fog
el, a midőn e tárgyról beszélek, hogy nem álmodtam, nem
képzeltem ezt a dolgot, hanem rettegek tőle, és siettetem
meghalásomat.
A tábornok pedig valóban azt hitte, hogy az ifju meg van
zavarodva.
Ez észre vette a tábornok arczán a hideg mosolyt, s kétségbeesve
ragadá meg lánczos kezeivel annak kezét és erőszakosan kiáltá:
– Tábornok úr! Meg akarják gyilkolni atyámat! Fel akarják
gyujtani hazámat, nemzetemet!
– Kik? kérdé a tábornok végtelen megvetéssel. Ezek a kalap alá
búvó emberek? Én nem akarom kétségbevonni, hogy a mit ön
mondott, az tervben létezhetik; valami bolondnak a feje
kigondolhatta. Nem gondolom azonban, hogy volna valaha olyan idő,
a mely alkalmatosnak látszanék egy ilyen terv megmozdítására. És
ha mégis meg találna mozdulni valaki, bizony mondom, hogy az első
kiáltása után némává fogom őt tenni!
És büszke önérzettel csapott kardjára.
E pillanatban sietve lépett be az ajtón a tábornok egyik segéde s
jelenté, hogy a vásártéreken és az utczákon gyanus forrongást lehet
észrevenni a nép között. Az urak és katonák ellen kiabálnak,
egymást lázítják izgató beszédekkel. A megyeház kapuit már
kénytelenek voltak előlök bezárni, s egy gyógyszertár ablakait mind
beverték. Úgy látszik, hogy leginkább a kaszárnya és a megyeház
felé tartanak.
A mint a tábornok a folyosóra kilépett, már jól hallatszott a közeli
utczákról az a határozatlan zaj, melynek zürzavaros hangjaitól
gyönge szivű ember annyira megretten: nem tudva, tűz van-e vagy
gyilkost kergetnek?
Most az egyszer tűz is volt, gyilkos is volt. Lázadás volt.
Valami távoli városrészben túlbuzgó hivek elkezdtek egy harangot
félreverni, melynek bántó félhangjai kikipendültek a csunya hangzűr
közől.
A tábornok az udvarra sietett. A katonaság fegyverben állt már.
Alig volt pár száz embere. A többi hosszadalmas határzár
fentartására volt kirendelve.
Hanem hiszen elég volt ez neki.
Ő félt volna tán, hogy ezek a jámbor kapa- s kaszaforgató
emberek, ezek a gyaluval, árral, vetélővel foglalkozó polgárok
erőszakkal támadhatnák meg őt? és kényszeríthetnék, hogy előlük
hátráljon.
Hirtelen, de a legnagyobb hidegvérrel tevé intézkedéseit.
Félszázad a kapun kívüli őrhelyt foglalja el s elzárja az utczát; a
többi az udvaron belül marad.
A kívül állók fegyverei töltetlenek maradnak.
Három dobütésre a többi csapatok is kivonulnak az utczára.
A többire nézve parancsszó fog határozni.
A szomszéd ház kapuit be kell zárni, s belül két őrt állítani töltött
fegyverrel.
Mindent a legnagyobb csendben, lárma, csörömpölés nélkül.
Azon szomszédházban lakott a tábornok neje; a kerten keresztül
a kaszárnyából át lehetett oda jutni.
Még végzé intézkedéseit Vértessy, a mint egy nőcselédje
Kornéliának sietve jő hozzá, s valamit súg fülébe.
A tábornok arczán az első pillanatra valami gyönyörteljes mosoly
villámlott át: hogy aztán annál sötétebb redőknek adjon ismét
helyet.
Hirtelen rábizta a parancsnokságot első századosára és sietett
lakására, igérve, hogy egy pillanat mulva visszajön.
Nagy dolognak kellett történni, hogy Vértessy elhagyja azt a
helyet, mely a katonát illeti, egy ily pillanatban!
Sietve futott át a szobákon, melyek neje hálószobájához
vezetnek.
A függönyök le voltak eresztve, a félhomályos alkovenben egy
halvány hölgy feküdt, egy halott, a ki az élet kínjait szenvedi.
Az ágy körül szolgálattevő nők álltak, az asztalnál orvos ült és irt.
Vértessy még ott künn letette kardját, hogy ne csörögjön vele.
Oda futott Kornéliához, megfogta annak reszkető, izzadó kezét s
ajkaihoz szorítva kérdezé:
– Hogy vagy?
– A halál küszöbén, felelt a nő és másik karjával odavonta férje
fejét, hogy megcsókolhassa őt.
Egész arcza oly fehér volt, mint a márvány és a hideg veríték
mint gyöngycsepp rajta.
– A jövő órának titkai vannak, Vértessy, szólt lihegve a hölgy,
kezével erősen szorítva Vértessy kezét. – Lehet jó, lehet rossz; lehet
öröm, lehet halál.
Vértessy az orvost kereste szemeivel, mintegy biztatást remélve
tőle.
Az orvos félreintette. Súgva mondá neki:
– Iszonyúan szenved, de nem akarja ön előtt mutatni.
– Hangjával titkolja; de én a lehelletén érzem. Nagy-e a veszély?
Az orvos vállat vonított.
– Szokás szerint. Nagyon idegzetes s valami nyugtalanítja.
– Mi lehet az?
– Jó lenne, ha megtudná tőle nagyságod. Ilyen esetben a
léleknyugalom élethalálkérdés, s a félelem, nehéz indulat lehet egy
új életre nézve rossz befolyással.
Az «egy új élet» szónál ismét megvillant Vértessy ajkai körül
amaz önkénytelen örömrándulat. Visszament nejéhez s odatérdelt a
szőnyegpárnára.
– Kornélia, hogy van ön?
– Az Isten kezében, susogá a hölgy, megdicsőülő szemeit felfelé
emelve. Isten kegyelmez, Isten büntet, – tetszése szerint.
Vértessy érzé a görcsös kézszorításról, mit kell szenvednie.
– Istennél a kegyelem… susogá azután halkan a hölgy.
Vértessy reszketni érzé szivét e szónál. Egy óra előtt ő is azt
mondá: «Istennél a kegyelem!» egy olyan embernek, ki magának
hosszú életet igért.
A nő bágyadt tekintettel fordult oda hozzá s két kezével keblére
vonva férje kezét és szemeivel annak szemeibe tekintve mélyen,
fájdalmasan, oly kérve kérdezé:
– Fog-e nekem kegyelmezni az Isten?
– Igen, oh igen, neked, angyalának; rebegé a tábornok.
– Kegyelmeztél-e te annak, a ki te hozzád könyörgött?
Vértessy nem állhatá ki e tekintetet, nem tudott felelni e
szavakra.
– Vértessy! A halál halálért jön. Az itélet itéletet hoz. A koporsó
szélén fekszem. Oh ne hagyj engem meghalni.
– Mit tegyek? mit tehetek? szólt rebegő hangon a férj.
– Látod, monda a nő, karjára fonva karjait, mint repkény az erős
fára; ha te ölsz, én is meghalok; a mi kínt e szomszédházban egy
halálra itélt szenved, azt én is mind kiállom. Annak a rettegését,
annak a kétségbeesését, annak a halálos tusáját! Oh szánj meg
engem, férjem. Légy irgalommal ebben az órában ahhoz, a ki vétett,
hogy úgy legyen én hozzám irgalommal az Isten!
Vértessy lelkében meg volt rendülve. Az orvos oda lépett hozzá s
komolyan mondá neki:
– Tábornok úr, én úgy hiszem, hogy ez nem példátlan eset,
miszerint halálra itélt raboknak hasonló szenvedők kérésére
kegyelmet adtak.
Vértessy érdekelten tekinte reá, mintha kérné tőle, hogy
folytassa.
É
– Én magam tudok hasonló esetet a komáromi várőrségnél
szolgáltomban, hol egy háromszor szökött ifju hasonló kérelemre
kegyelmet nyert.
– S hiszi ön, hogy ez segíteni fog?
– Uram, midőn az idegzet-erő ennyire hatványaira van emelve, a
képzelet mindenható, egy örömhir életet ad, egy ijedelem halált; egy
édes gondolat többet segít minden gyógyszernél.
Vértessy megcsókolá halvány, szenvedő szerelme homlokát s
biztató férfi-szóval mondá neki:
– Meg fogom őt menteni.
A hölgy égfelé emelte reszkető kezeit és halvány orczáját; szemei
lassan lecsukódtak és fehér arcza elkezdett mosolyogni szeliden.
… Odakünn hallatszott a hármas dobpördülés.
A tábornok hirtelen föleszmélt, sietett ki az ajtón, felkötötte
kardját és futott át a laktanyába.
A zaj, a lárma közelről hallatszott már és ő arról volt kénytelen
gondolkozni, hogy e zajos polgártársakat szép szavakkal rábeszélje,
hogy menjenek haza vásznat szőni, csizmát varrni, s más aféle; a
mikor e helyett kedve lett volna közéjök rontani és szétszelelni őket,
mint a polyvát!
XV. OLAJ A TENGERRE.
Az egész utczát, a milyen széles volt, ellepte a sok kalap.
Nem lehetett egyebet látni, mint a kalapokat. Itt-amott ugyan
kaszák és vasvillák is álltak ki a tömegből, de az emberek
legnagyobb része még fegyvertelen volt, nem számítva a gyarló
botok sokaságát.
A forrongó tömeg között lehetett látni tisztes polgárokat is, kik
bár egyenruha nélkül jöttek, de elhozták szuronyos puskáikat s
azokkal különös bátorságára szolgáltak a többi népnek, mely hasonló
esetekben azt képzeli, hogy a szuronyos nationalgarde tökéletesen
megfelel a katonaságnak.
«Megállj!» Hangzott a tolongó néptömeg elé.
Egy perczre elhallgatott e szóra a zaj. Megállt a népség.
«Fegyvert tölts!»
A katonaság, mint egyetlen sokkezű gép, egyszerre bocsátá
lábához fegyverét, hallatszott a vas puskavesszők koppanása a
fegyverek csöveiben. Azután megint egy zördülés: minden fegyver
kézben volt egyszerre.
A tolongók kezdtek egymásra nézni s az előljöttek gondolkoztak a
hátuljövőkről, hogy milyen jó azoknak ott kiabálni.
A tábornok a lármázó tömeg elé lovagolt s kemény hangon kiálta
rájok:
– Mit akarnak önök? Mi bajuk? Miért tolongnak az utczán?
Az emberek egymást taszigálták előre; végre egy elkiáltá magát:
– Itt van Mátyás mester. Beszéljen Mátyás mester.
– Éljen Mátyás mester.
A tömeg közől egyszerre egy bőrkötényes polgártárs emeltetett
ki, fején csákóval, kezében szuronyos puskával, ki a többiek vállain
át a tábornokig szállíttatott s ott letevődött.
Itt van Mátyás mester.
Ha kezei nem árulnák is el, miknek bötykei lemoshatatlanul be
voltak balzsamozva szurokkal, a bőrkötény mellett feledett kármentő
bizonyságot tenne róla, hogy a kérdéses férfiu azon érdemes
polgárok osztályához tartozik, a kik az emberiséget tyúkszemekkel
ellátják. Bajusza hetvenhét karikába volt sodorva szépen, s azonkívül
minden mondásnál szokott egyet rántani a fejével és a vállával,
mintegy nagyobb bizonyságul.
Mátyás mester hirhedett piaczi szónok, toasztivó czéhgyüléseken,
kitanult násznagy és elismert disznó-ölő, annálfogva szélesen
ismeretes az egész városban.
Nem is fél ő sem a várostól, sem a vármegyétől, még a
generálistól sem, a hogy azt most is megmutatja.
Oda áll bátran a tábornok elé, végig sodorintja kacskaringós
bajszát s olyakat csap a puskával a földre, mintha az volna szándéka,
hogy mentől hamarább letörje az agyát. Megköszörüli a torkát, s
nem egészen rekedt, hanem éles hangon tesz hozzá ilyetén
mondást:
– Nagyságos generális úr. Mivel hogy úgy lévén, és aképen
származván, hogy a mi emberi massánk ebben a comitivában (értsd
comitátus) rendkívüli módon elszaporodott; mindazonáltal a
tekintetes impostoratus (értsd compossessoratus) arra a causara
vetemedett, hogy ez így semmiképen sem jól vagyon, és abban
igaza is vagyon, mert a czéhbeliek már nagyon nagy qualicitással
vagynak, ellenben nincsen igaza, a szükséges legények számtalan
kevesen levén tehát. Elhatároztatott eképen, hogy miután minden
ember azt beszéli; nincsen is különben, a mi igaz is. Nagy az
ellenségnek az országba való impulsusra kivánatos óhajtása.
Mindamellett, hogy ennek eleje vétessék, és confirmáltassék, a
plenipotentiák mellett az határoztatott, hogy a patikárusok
készítsenek valami miasmát, a melynek decretuma által az emberek
üdvös korlátok között tartatódjanak. Immár pedig ez így lévén, és
ezt a nép megtudván, már is a szomszéd tractusokban és
sequestrumokban lakozó seculáris népség fellázadott és tudni akarja,
hogy hogyan és miképen? Ezt én meg nem mondhatom, nem
akarván magamat apprehendálni, de annyit bizonyosan mondhatok,
hogy már egy vásárra járó legényemnek összehúzta a lábait a görcs;
és én tudom, a mit tudok. Ha tehát a nagyságos generális úr kivánja
és helyesnek találja, hogy az emberek, az ország közhasználatára
megcsinálják a revolucziót, eziránt egészen alázattal és tisztelettel
megkéretik. És mi nem vagyunk bolond emberek.
Ez elmés és különösen értelmes dictio alatt azonban a népség
merészebb csoportjai egészen előre tolakodtak, s igen valószinű volt,
hogy a magyarázatot néhány pillanat mulva kézzelfoghatóbb tények
fogják megadni.
A tábornoknak pedig az általános emberiség és hazafiúság
érzelmein kívül még egy nagy oka volt a zajos és véres jelenet
elkerülésére.
Beteg neje tán épen a halál küszöbén van e perczben. Egy sor
lövés, egy órai utczai harcz annak bizonyos halála lenne.
Ez aggasztó helyzetben az utcza átelleni oldaláról egy lovas
látszott közelítni, ki nagy bajjal bírt keresztül törtetni a sűrű
néptömegen, mely csak azért nyitott előtte útat, mert a lovag egy
iratot lobogtatott kezében, szüntelen azt kiáltozva, hogy ez felszólítás
a néphez, ő a vezérrel akar szólani.
– Ki itt ez érdemes honfiak vezére?
Vértessy rejtélyes lengyelét ismeré meg a lovagban, kiben gyanút
kezdett vetni, azóta, hogy az elitélt nem akart emlékezni rá.
Az elitélt szavaiban mégis összefüggésnek kell lenni. Egy óra előtt
egészen őrült beszédnek tartotta azokat.
– Hol a nép vezére? kiálta Kamienszka, izzadt lovával a nyilt térig
vergődve.
Mátyás mester büszkén mutatott a bőrkötény alatt dobogó hő
keblére, hogy ő lesz az.
Kamienszka nagyszerű pathoszszal nyújtá át az érdemes
hazafinak Numa Pompilius felszólítását, melyben a székvárosi
csizmadiák, szabók és pékek azon bizalommal tiszteltetnek meg,
hogy a főhadiszállás számára bizonyos ezerekbe vágó csizmákat,
nadrágokat és megfelelő zsemlyéket süssenek, varrjanak és
öntsenek és azokat haladéktalanul átküldjék.
– Mit cselekszik ön? kiálta rá a tábornok franczia nyelven. Én az
első moczczanásra szétveretem az embereket.
– Olajat töltök a tengerre, felelt az ifjú lovag hasonlóul. Egy óra
alatt haza fog menni minden ember.
Mátyás mester két kézre fogta az írást, puskáját az alatt térdei
közé szorítva, s elolvasta azt figyelmesen.
Szemlátomást képzelhető volt, hogy egyenesedett ki a bajusza
ijedtében, a mint annak a végére jutott.
– Hatezer pár csizma!
Egy sovány, állig begombolt polgártárs nyújtogatta a nyakát
szörnyen, három közben álló ember háta mögül, szemeit előre
meresztve, a távoli irás felé; az Csihos mester volt, jellemére nézve
becsületes szabó.
– Itt van, olvassa kend is, – szólt Mátyás mester.
Az hosszú kezét kinyújtá három előtte álló emberen keresztül s
egy csomó szabó hitsorsos fejét oda csődítve magához, felolvasá a
proclamatiót fenhangon is.
– Háromezer nadrág.
Az oroszlánpék nem hallotta, mit beszélnek, de füleit megütötte a
kenyér és zsemlye.
A veszedelmes felhivás egy percz alatt megtette a körutat a
sokaság közt, lassankint eltűnve a hátul álló csőcselékben.
És a hol egyszer megfordult, ott bámulatra méltó módon kezdtek
hosszúra nyúlni az arczok, elcsendesülni a szájak; mozgás, zúgás lett
a zajból. Mátyás mester, Csihos mester, meg az oroszlánpék hült
pofákkal kezdtek értekezni. A hátrább állók húzódoztak a fal mellé,
mint a kik nem akarnak idetartozni.
Végre Mátyás mester neki támasztotta a puskáját valaki hátának,
maga levette a kalpagját, lesimitotta a bajuszát odalépett nagy
kételkedő ábrázattal a tábornok elé, elől, hátul vakarva a nyakát.
– Megkövetem nagyságos tábornok úr. Mert talán nem is tetszett
engemet egész voltaképen megérteni. Ámbátor én sem azt nem
mondottam, hogy így, vagy amúgy: ez, vagy amaz; azt pedig épen
nem akartam mondani, hogy talán s a többi; de mégis hanemha
netalántán tulajdonképen koránsem lehetett volna kivenni a dolgok
mivoltából, hogy az instantiák hová infestálnak? arra nézve bátor
vagyok kényteleníttetni azon szivességre, miszerint a nagyságos
tábornok urat az érdemes polgárság és az itteni lakosok részéről
azon nyilatkozatban szerencséltessem, hogy nem is mi akarjuk a
tekintetes vármegye urait és a nagyságos katonaságot deliberatum
elé vonni, sőt inkább præstanter arra akartuk kérni a nagyságos
tábornok urat, hogy ama gonosz országháborítókat, a kik tűzzel,
vassal közelednek békességes városunkhoz, ezt mi tőlünk távol
tartani méltóztassék: a mire való nézve, mi is és az összes fegyveres
polgárság a mi szolgálatainkat felajánlván, hogy a nagyságos
tábornok úr parancsolatjára a mi hazánkért, városunkért, a
tekintetes vármegyéért és a fölségért vérünket és életünket ontani
készek lehessünk. Akasztófára valók tudniillik. A kiknek még hatezer
pár csizma kellene!
Alázatos szegény szolgája.
A tábornok nem állhatá meg, hogy csendesen el ne mosolyodjék
e szerény köpönyegfordítási mondolatra.
Vértessy kivont kardjával inte a katonaságnak, hogy bocsássák le
fegyvereiket s a szokott őrségen kívül vonuljanak vissza a
laktanyába.
A lármás gyülekezet még egyszer hangos vivátot kiáltott a
tábornoknak, azután botjaival és ökleivel mindenféle távol eső
tárgyakat fenyegetve, nagy zúgással széjjeloszlott.
Az oroszlánpék maradt legutoljára, mint a kinek legjobban
megfeküdte a gyomrát bizonyos számú kenyér és zsemlye kivetése.
Csak akkor tért magához, midőn már a többiek mind eltávoztak;
akkor odament az ifjú lengyel lovaghoz, s kövér újjával szétpiszkálva
a levegőt, mondá neki:
– Nem lesz abból semmi, uram.
Azzal köszönt és futott haza.
Kamienszka a furcsa zendülés eloszlása után a tábornokkal
együtt belovagolt a kaszárnya udvarára, ott mindketten leszálltak
lovaikról és siettek a kihallgatási terembe.
Mindkettőnek volt valami sürgetős mondani valója, a mit nem
lehetett a közönség előtt tenni.
– Uram, sietett a tábornok elébb elmondani a magáét. Bárki
legyen ön, nekem igen kellemes szolgálatot tett, a mit én önnek
reménylek visszafizethetni.
– A veszély közepéből jövök, tábornok úr; felelt vissza gyorsan a
hős delnő, mint a kinek perczeivel gazdálkodni kell még a beszédben
is. A megye közepében gonosz szellemű lázadás ütött ki; melynek
legelső összetartó csomója kezembe jutott. Úgy jutottam hozzá,
hogy szinte a nyakamra hurkolódott az. A természeti csapás, mely
ránk közelg, alkalmat adott egy rég készítgetett terv végrehajtására
a legfélelmetesebb rajongóknak. Im itt a kiáltvány, mely egy nap
múlva az egész országot be fogja repkedni.
A tábornok bámulva olvasá az átnyújtott iratot.
– A rablásvágy, a bosszúállás, a nép butasága erős szövetségesei
ez őrült merényletnek, mely ha erőre kap, néhány hét alatt más
alakot adhat Európa térképének. Még most csekély a láng. Csupán
néhány faluban tört ki. Ez éjjel meg fogják rohanni a hétfalusi
kastélyt. Ez lesz a kezdet.
A tábornok arcza vonaglott. Az elitélt szava igaz volt.
– Ott urat és cselédet megölnek. Meg kell őket ölniök, hogy a
lázadás részeseinek lehetetlenné tegyék a visszatérésre való
gondolatot. Ez a kezdete a kétségbeesési harcznak.
A tábornok csengetett. Egy belépő hadsegéd fülébe néhány szót
sugott, azzal leült és írt nagy sebesen, intve Kamienszkának, hogy
folytassa.
– Tábornok úr! még most egy csapással elfojtható a tűz. Még
most egy merész tenyér, mely nem félti magát a megégéstől,
letakarhatja a vulkán száját, ha az rögtön cselekszik, nem várva a
napot, nem órát, nem perczet, hanem téve rögtön. Egy nap, egy
óra, egy percz alatt minden történhetik, a mi soha jóvá nem tehető.
Az ajtó előtt lánczcsörrenés volt hallható; két őr az elitéltet
vezeté be: a porkoláb utána jött.
A tábornok folyvást leveleket írva, beszélt hozzá.
– Ifjú ember, vetesse le kezeiről azokat a lánczokat. Kérjen
magának hadsegédemtől egy kardot. Azt kösse fel.
Az ifjú Hétfalusy bámulva mereszté szemeit maga elé, s hagyta
levétetni lánczait és hagyta oldalára köttetni a kardot, s nem vette
észre, hogy mellette két lépésnyire egy idegen ifjú áll, a kinek oly
nehezére esik könyekre nem fakadhatni, nyakába nem borulhatni,
midőn őt ily nyomorúnak látja.
A tábornok készen volt a levélírással; odafordult hozzá egészen:
– Fiatal ember, önt ezelőtt egy órával, méltó okoknál fogva,
halálra itélte a haditörvényszék. Én az itéletet vissza nem vonhatom,
de végrehajtását bízom az igazságos Isten kezeire. Olyan idők
vannak ránk mérve, a midőn a haza egy harczos fia kezeit sem
nélkülözheti. Én saját felelősségemre fölmentem önt a vesztőhelyi
halál alól. Önre más helyen vár Isten itélete. E perczben lázadás tört
ki az ország belsejében, ugyanazon helységben, a hol önnek családja
lakik.
Az ifju rettenve kapott kardjához.
– Hallgassa ön végig nyugodtan, a mit mondok. Vegye magához
e leveleket, válaszsza ki ólamból legjobb paripámat és siessen az
őrtanyákon elszórt cordon-vezetőkhöz. Csapatjainak felét mindenki
az önnel siető százados úr rendelkezésére fogja bocsátani. Mihelyt
félszázad együtt lesz, siessen vele Hétfaluba; a többi teendőkre
nézve irásbeli rendeletei vannak. Mit és hogyan cselekedjék? azt
önnek sugja meg szive. Ön családját megy megszabadítani és
családját oltalmazni. Ott Isten keze lesz ön felett. Ha ő neki tetszik
az itéletet végrehajtani ön felett, legyen meg akarata; ha élve tér ön
vissza, a multak feledve vannak.
Az ifjú nem tudott mit felelni, a hang elszorult torkában; csak
odaborult némán a tábornok elé, és annak kezét szorítá ajkaihoz és
könyeit hagyta ráhullani.
– Keljen ön, keljen innen. Ezt nem nekem köszönheti, hanem
Istennek, és ezen derék úrnak itt, ki önért oly sokat merészelt.
Az ifju csak most tekintett Kamienszkára, s úgy tetszék neki,
mintha könyes szemeinek ködfátyolán át egy idevarázsolt álomkép
állana előtte.
A lengyel nő odasietett hozzá s megölelte, és sietett fülébe sugni:
– Egy szót se hozzám! Még lesz idő.
– Tehát önök mégis ismerik egymást? szólt Vértessy; ez ifju
bizonyosan meg volt zavarodva, midőn barátját megtagadta.
Azzal derekasan megrázta a delnő kezét, kit még mindig oka volt
úrnak czímezni.
– Uram, úgy hiszem, nem teszek rossz ajánlatot önnek, ha azt
mondom, hogy siessen egy rövid reggelizést végezni ifjú barátjával,
s azután rendelkezzék szintén egy paripámmal és egy kardommal;
félre ismerném önt, ha kételkedném abban, hogy bajtársát követni
szándékozik a veszélybe.
Hétfalusy ijedten akart közbe szólani, de a hölgy visszarántotta s
villámló szemekkel inte neki hallgatást.
– Köszönöm, tábornok úr, felelt azután vissza bátran. Ez ajánlatot
vártam és elfogadom. A reggelizést végezhetjük lóháton is. Időnk
nincs pihenésre.
– Igaza van önnek, szólt Vértessy, megszorítva azt a gyöngéd
hamvas kezet, melynek aczél izmai nem árulák el a nőt; önöknek
sietniök kell. A mily váratlan jött e merénylet, oly hirtelen kell azt
torkon ragadnunk. Ha a megye több részében is kitörne e lázadás,
nem fog többé készületlen találni.
A paripákat ezalatt a kapu alá vezették. A megbizott százados
felkészülten lépett be, s Kamienszka számára is hozott egy kardot,
mit az sietett derekára csatolni.
A tábornok lekisérte őket a paripákig. A három lovag nyergébe
vetette magát. Vértessy még egyszer megszorítá a delnő kezét, és
katonás őszinteséggel mondá neki:
– Én igen nagyra becsülöm önt, Kamienszki úr.
ebookgate.com