Download the entire Test Bank for Building Python Programs Plus MyLab Programming with Pearson eText, Stuart Reges, Marty Stepp, Allison Obourn book (PDF) now
Download the entire Test Bank for Building Python Programs Plus MyLab Programming with Pearson eText, Stuart Reges, Marty Stepp, Allison Obourn book (PDF) now
https://testbankmall.com/product/test-bank-for-building-java-
programs-3-e-3rd-edition-stuart-reges-marty-stepp/
def main():
x = "happy"
y = "pumpkin"
z = "orange"
pumpkin = "sleepy"
orange = "vampire"
orange(y, x, z)
orange(x, z, y)
orange(pumpkin, z, "y")
z = "green"
orange("x", "pumpkin", z)
orange(y, z, orange)
2 of 23
3. If/Else Simulation
For each call of the function below, write the value that is returned:
def mystery(n):
if (n < 0):
n = n * 3
return n
else:
n = n + 3
if (n % 2 == 1):
n = n + n % 10
return n
mystery(-5) _______________________________
mystery(0) _______________________________
mystery(7) _______________________________
mystery(18) _______________________________
mystery(49) _______________________________
3 of 23
4. Programming
Write a function named month_apart that accepts four integer parameters representing two calendar dates. Each
date consists of a month (1 through 12) and a day (1 through the number of days in that month [28-31]). Assume that
all dates occur during the same year. The method returns whether the dates are at least a month apart. For example,
the following dates are all considered to be at least a month apart from 9/19 (September 19): 2/14, 7/25, 8/2, 8/19,
10/19, 10/20, and 11/5. The following dates are NOT at least a month apart from 9/19: 9/20, 9/28, 10/1, 10/15,
and 10/18. Note that the first date could come before or after (or be the same as) the second date. Assume that all
parameter values passed are valid.
Sample calls:
month_apart( 6, 14, 9, 21) should return True, because June 14 is at least a month before September 21
month_apart( 4, 5, 5, 15) should return True, because April 5 is at least a month before May 15
month_apart( 4, 15, 5, 15) should return True, because April 15 is at least a month before May 15
month_apart( 4, 16, 5, 15) should return False, because April 16 isn't at least a month apart from May 15
month_apart( 6, 14, 6, 8) should return False, because June 14 isn't at least a month apart from June 8
month_apart( 7, 7, 6, 8) should return False, because July 7 isn't at least a month apart from June 8
month_apart( 7, 8, 6, 8) should return True, because July 8 is at least a month after June 8
month_apart(10, 14, 7, 15) should return True, because October 14 is at least a month after July 15
4 of 23
5. Programming
Write a function named print_grid that accepts two integer parameters rows and cols. The output is a comma-
separated grid of numbers where the first parameter (rows) represents the number of rows of the grid and the second
parameter (cols) represents the number of columns. The numbers count up from 1 to (rows x cols). The output are
displayed in column-major order, meaning that the numbers shown increase sequentially down each column and wrap
to the top of the next column to the right once the bottom of the current column is reached.
Assume that rows and cols are greater than 0. Here are some example calls to your function and their expected
results:
5 of 23
6. Programming
Write a function named count_even_digits that accepts two integers as parameters and returns the number of
even-valued digits in the first number. An even-valued digit is either 0, 2, 4, 6, or 8. The second value represents how
many digits the number has. The second value is guaranteed to match the number of digits in the first number.
For example, the number 8546587 has four even digits (the two 8s, the 4, and the 6),
so the call count_even_digits(8346387, 7) should return 4.
You may assume that the values passed to your function are non-negative.
6 of 23
Midterm Exam 1, Sample 1 Solutions
1. Expressions
Expression Value
8 + 5 * 3 / 2 15.5
1.5 * 4 * 7 // 8 + 3.4 8.4
73 % 10 - 6 % 10 + 28 % 3 -2
4 + 1 + 9 + (-3 + 10) + 11 // 3 24
3 // 14 // 7 / (1.0 * 2) + 10 // 6 1.0
10 > 11 == 4 / 3 > 1 False
not (2 >= 11 or 10 < 67 or 4 / 4 >= 1) False
(True or not 2 < 3) and 6 == 4 / 3 False
2. Parameter Mystery
happy and pumpkin were orange
orange and happy were pumpkin
orange and sleepy were y
pumpkin and x were green
green and pumpkin were vampire
3. If/Else Simulation
7 of 23
def month_apart(m1, d1, m2, d2):
return (m2 - m1 > 1) or (m1 - m2 > 1) or
(m2 - m1 == 1 and d1 <= d2) or
(m1 - m2 == 1 and d1 >= d2)
6. Programming
def count_even_digits(n, length):
count = 0
for i in range(0,length):
digit = n % 10
n = n // 10
if (digit % 2 == 0):
count += 1
return count
Midterm 2 Sample 1
1. List Mystery
Consider the following function:
def list_mystery(list):
int x = 0
for i in range(0, len(list) - 1):
if (list[i] > list[i + 1]):
x += 1
return x
In the left-hand column below are specific lists of integers. Indicate in the right-hand column what value would be
returned by function list_mystery if the integer list in the left-hand column is passed as its parameter.
a2 = [14, 7]
result2 = list_mystery(a2) _____________________________
8 of 23
a3 = [7, 1, 3, 2, 0, 4]
result3 = list_mystery(a3) _____________________________
a4 = [10, 8, 9, 5, 6]
result4 = list_mystery(a4) _____________________________
a5 = [8, 10, 8, 6, 4, 2]
result5 = list_mystery(a5) _____________________________
9 of 23
2. Reference Semantics Mystery
The following program produces 4 lines of output. Write the output below, as it would appear on the console.
def main():
y = 1
x = 3
a = [0] * 4
mystery(a, y, x)
print(str(x) + " " + str(y) + " " + str(a))
x = y - 1
mystery(a, y, x)
print(str(x) + " " + str(y) + " " + str(a))
10 of 23
3. Assertions
For the following function, identify each of the three assertions in the table below as being either ALWAYS true,
NEVER true or SOMETIMES true / sometimes false at each labeled point in the code. You may abbreviate these
choices as A/N/S respectively.
def mystery():
y = 0
z = 1
next = input()
# Point A
while (next >= 0):
# Point B
if (y > z):
# Point C
z = y
y += 1
next = input()
# Point D
# Point E
return z
11 of 23
4. File Processing
Write a function named word_stats that accepts as its parameter the name of a file that contains a sequence of
words and that reports the total number of words (as an integer) and the average word length (as an un-rounded real
number). For example, suppose file contains the following words:
For the purposes of this problem, we will use whitespace to separate words. That means that some words include
punctuation, as in "be,". For the input above, your function should produce exactly the following output:
Total words = 10
Average length = 3.2
12 of 23
6. List Programming
Write a function named min_gap that accepts an integer list as a parameter and returns the minimum 'gap' between
adjacent values in the list. The gap between two adjacent values in a list is defined as the second value minus the first
value. For example, suppose a variable called list is a list of integers that stores the following sequence of values.
The first gap is 2 (3 - 1), the second gap is 3 (6 - 3), the third gap is 1 (7 - 6) and the fourth gap is 5 (12 - 7). Thus, the
call of min_gap(list) should return 1 because that is the smallest gap in the list. Notice that the minimum gap
could be a negative number. For example, if list stores the following sequence of values:
[3, 5, 11, 4, 8]
The gaps would be computed as 2 (5 - 3), 6 (11 - 5), -7 (4 - 11), and 4 (8 - 4). Of these values, -7 is the smallest, so it
would be returned.
This gap information can be helpful for determining other properties of the list. For example, if the minimum gap is
greater than or equal to 0, then you know the array is in sorted (nondecreasing) order. If the gap is greater than 0, then
you know the list is both sorted and unique (strictly increasing).
If you are passed an list with fewer than 2 elements, you should return 0.
13 of 23
6. Programming
Write a function named longest_sorted_equence that accepts a list of integers as a parameter and that returns the
length of the longest sorted (nondecreasing) sequence of integers in the list. For example, if a variable named list
stores the following values:
List = [3, 8, 10, 1, 9, 14, -3, 0, 14, 207, 56, 98, 12]
then the call of longest_sorted_sequence(list) should return 4 because the longest sorted sequence in the
array has four values in it (the sequence -3, 0, 14, 207). Notice that sorted means nondecreasing, which means that
the sequence could contain duplicates. For example, if the list stores the following values:
Then the function would return 5 for the length of the longest sequence (the sequence 3, 5, 5, 5, 8). Your function
should return 0 if passed an empty list. Your function should return 1 if passed a list that is entirely in decreasing
order or contains only one element.
a2 = [14, 7]
result2 = list_mystery (a2) 1
a3 = [7, 1, 3, 2, 0, 4]
result3 = list_mystery (a3) 3
a4 = [10, 8, 9, 5, 6]
result4 = list_mystery (a4) 2
a5 = [8, 10, 8, 6, 4, 2]
result5 = list_mystery (a5) 4
2.
2 3 [0, 0, 17, 0]
3 1 [0, 0, 17, 0]
1 0 [17, 0, 17, 0]
0 1 [17, 0, 17, 0]
3.
next < 0 y > z y == 0
Point A SOMETIMES NEVER ALWAYS
Point B NEVER SOMETIMES SOMETIMES
14 of 23
Point C NEVER ALWAYS NEVER
Point D SOMETIMES SOMETIMES NEVER
Point E ALWAYS SOMETIMES SOMETIMES
4.
def word_stats(file_name):
words = open(file_name).read().split()
count = 0
sum_length = 0
5.
def min_gap(list):
if (len(list) < 2):
return 0
else:
min = list[1] - list[0]
for i in range(2, len(list)):
gap = list[i] - list[i - 1]
if (gap < min):
min = gap
return min
6.
def longest_sorted_sequence(list):
if (len(list) == 0):
return 0
max = 1
count = 1
for i in range(1, len(list)):
if (list[i] >= list[i - 1]):
count += 1
else:
count = 1
15 of 23
Final Sample 1
1. While Loop Simulation
For each call of the function below, write the output that is printed:
mystery(5, 0) _______________________________
mystery(3, 2) _______________________________
mystery(16, 5) _______________________________
mystery(80, 9) _______________________________
16 of 23
2. Inheritance Mystery
Assume that the following classes have been defined:
Given the classes above, what output is produced by the following code?
3. Collections Mystery
Consider the following method:
def mystery(data, pos, n):
result = set()
for i in range(0, n):
for j in range(0, n):
result.add(data[i + pos][j + pos])
return result
mystery(grid, 2, 2) ___________________________________________________
mystery(grid, 0, 2) ___________________________________________________
17 of 23
mystery(grid, 3, 3) ___________________________________________________
4. List Programming
Write a function named is_unique that takes a list of integers as a parameter and that returns a boolean value indicating
whether or not the values in the list are unique (True for yes, False for no). The values in the list are considered
unique if there is no pair of values that are equal. For example, if a variable called list stores the following values:
list = [3, 8, 12, 2, 9, 17, 43, -8, 46, 203, 14, 97, 10, 4]
Then the call of is_unique(list) should return True because there are no duplicated values in this list.
If instead the list stored these values:
Then the call should return False because the value 3 appears twice in this list. Notice that given this definition, a list of
0 or 1 elements would be considered unique.
5. Dictionary/Set Programming
Write a function called count_in_area_code that accepts two parameters, a dictionary from names (strings)
to phone numbers (strings) and an area code (as a string), and returns how many unique phone numbers in the
map use that area code. For example, if a map m contains these pairs:
{Marty=206-685-2181, Rick=520-206-6126, Beekto=206-685-2181,
Jenny=253-867-5309, Stuart=206-685-9138, DirecTV=800-494-4388,
Bob=206-685-9138, Benson=206-616-1246, Hottline=900-520-2767}
The call of count_in_area_code(m, "206") should return 3, because there are 3 unique phone numbers
that use the 206 area code: Marty/Beekto's number of "206-685-2181", Stuart/Bob's number of "206-685-
9138", and Benson's number of "206-616-1246".
You may assume that every phone number value string in the dictionary will begin with a 3-digit numeric area
code, and that the area code string passed will be a numeric string exactly 3 characters in length. If the
dictionary is empty or contains no phone numbers with the given area code, your function should return 0.
You may create one collection (list, dictionary, set) of your choice as auxiliary storage to solve this problem.
You can have as many simple variables as you like. You should not modify the contents of the dictionary
passed to your function.
18 of 23
19 of 23
6. Programming
Write a function called same_pattern that returns true or false depending upon whether two strings have the same
pattern of characters. More precisely, two strings have the same pattern if they are of the same length and if two
characters in the first string are equal if and only if the characters in the corresponding positions in the second string
are also equal. Below are some examples of patterns that are the same and patterns that differ (keep in mind that the
method should return the same value no matter what order the two strings are passed).
Your function should take two parameters: the two strings to compare. You are allowed to create new strings, but
otherwise you are not allowed to construct extra data structures to solve this problem (no list, set, dictionary, etc).
You are limited to the string functions on the cheat sheet.
7. 2-d Lists
Write a function called find_max that takes a two dimensional list as a parameter and returns the number of the row
that sums to the greatest value. For example if you had the following list of lists:
list = [[1, 2, 3], [2, 3, 3], [1, 3, 3]]
The first row would be 6, the second 8 and the third 7. The function would therefore return 1.
You can assume the passed in list of lists has at least one row and one column. You cannot assume that it is square.
8. Critters
Write a class Ostrich that extends the Critter class from the Critters assignment, including its get_move and
get_color methods. An Ostrich object first stays in the same place for 10 moves, then moves 10 steps to either the
WEST or the EAST, then repeats. In other words, after sitting still for 10 moves, the ostrich randomly picks to go west
or east, then walks 10 steps in that same direction. Then it stops and sits still for 10 moves and repeats. Whenever an
Ostrich is moving (that is, whenever its last call to get_move returned a direction other than DIRECTION_CENTER),
its color should be white ("white"). As soon as it stops moving, and initially when it first appears in the critter world,
its color should be cyan ("cyan"). When randomly choosing west vs. east, the two directions should be equally likely.
You may add anything needed (fields, other methods) to implement the above behavior appropriately. All other
critter behavior not discussed here uses the default values.
20 of 23
9. Classes and Objects
Suppose that you are provided with a pre-written class Date as # Each Date object stores a single
described at right. (The headings are shown, but not the method # month/day such as September 19.
# This class ignores leap years.
bodies, to save space.) Assume that the fields, constructor, and
methods shown are already implemented. You may refer to them class Date:
or use them in solving this problem if necessary. # Constructs a date with
# the given month and day.
Write an instance method named compare that will be placed inside def __init__(self, m, d):
the Date class to become a part of each Date object's behavior. self.__ month = m
The compare method accepts another Date as a parameter and self.__ day = d
compares the two dates to see which comes first in chronological
# Returns the date's day.
order. It returns an integer with one of the following values: def get_day(self)
• a negative integer (such as -1) if the date represented by # Returns the date's month.
this Date comes before that of the parameter def get_month(self)
• 0 if the two Date objects represent the same month and
# Returns the number of days
day # in this date's month.
• a positive integer (such as 1) if the date represented by def days_in_month(self)
this Date comes after that of the parameter
# Modifies this date's state
# so that it has moved forward
For example, if these Date objects are declared in client code:
# in time by 1 day, wrapping
# around into the next month
sep19 = Date(9, 19)
# or year if necessary.
dec15 = Date(12, 15)
# example: 9/19 -> 9/20
temp = Date(9, 19)
# example: 9/30 -> 10/1
sep11 = Date(9, 11)
# example: 12/31 -> 1/1
The following boolean expressions should have True results. def next_day()
sep19.compare(sep11) > 0
sep11.compare(sep19) < 0 # your method would go here
temp.compare(sep19) == 0
dec15.compare(sep11) > 0
Your method should not modify the state of either Date object (such
as by changing their day or month field values).
2. Inheritance Mystery
21 of 23
b
c 1
a 2 c 1
b
c 1
b 2 c 2
c
c 1
c 2
b
d 1 b 2 c 2
b 2 c 2
3. Collections Mystery
Function Call Contents of Set Returned
-----------------------------------------------
mystery(grid, 2, 2) [6, 7]
mystery(grid, 0, 2) [1, 2, 5, 8]
mystery(grid, 3, 3) [1, 2, 3, 7, 9]
4. List Programming
def is_unique(list):
for i in range(1, len(list)):
for j in range(i, len(list)):
if (list[i - 1] == list[j]):
return False
return True
5. Collections Programming
def count_in_area_code(numbers, area_code):
unique_numbers = set()
for name, phone in numbers.items():
if (phone[0:3] == area_code):
unique_numbers.add(phone)
return len(unique_numbers)
6. Programming
def same_pattern(s1, s2):
if (len(s1) != len(s2)):
return False
for i in range(0, len(s1)):
for j in range(i + 1, len(s1)):
if (s1[i] == s1[j] and s2[i] != s2[j]):
return False
if (s2[i] == s2[j] and s1[i] != s1[j]):
return False
return True
22 of 23
7. 2d Lists
def find_max(lis):
max_sum = 0
max_row = 0
for i in range(0, len(lis)):
cur_sum = 0
cur_row = i
for j in range(0, len(lis[i])):
cur_sum += lis[i][j]
if cur_sum > max_sum:
max_sum = cur_sum
max_row = cur_row
return max_row
8. Critters
class Ostrich(Critter):
def __init__(self):
super(Ostrich, self).__init__()
self.__hiding = True
self.__steps = 0
self.__west = randint(0, 1) == 0
def get_color(self):
if (self.__hiding):
return "cyan"
else:
return "white"
def get_move(self):
if (self.__steps == 10):
self.__steps = 0 # Pick a new direction and re-set the steps counter
self.__hiding = not self.__hiding
self.__west = randint(0, 1) == 0
self.__steps += 1
if (self.__hiding):
return DIRECTION_CENTER
elif (self.__west):
return DIRECTION_WEST
else:
return DIRECTION_EAST
9. Classes
def compare(other):
if (self.__month < other.__month or (self.__month == other.__month and
self.__day < other.__day)):
return -1
elif (self.__month == other.__month and self.__day == other.__day):
return 0
else:
return 1
23 of 23
Exploring the Variety of Random
Documents with Different Content
de gedachte mochten hebben hem na te volgen?”—„Er zijn in alle
tijden en in alle landen, vooral wanneer die landen door
verschillende godsdienstige sekten worden verdeeld, geestdrijvers,
die niets liever begeeren dan als martelaars te sterven. En ziedaar, ik
herinner mij juist, dat de Puriteinen woedend zijn op den hertog van
Buckingham, en dat hun predikanten hem als den Antichrist
voorstellen.”—„Welnu?” vroeg milady.
„Welnu,” ging de kardinaal op ongedwongen toon voort, „men
zou voor het oogenblik, bijvoorbeeld, slechts een jonge, schoone,
behendige vrouw moeten kennen, die zich op den hertog zou willen
wreken. Zoodanige vrouw kan gevonden worden. De hertog is in de
liefde een zeer gelukkig man, en indien hij door zijn belofte van
eeuwige trouw veel liefde heeft gezaaid, heeft hij tevens veel haat
moeten zaaien door zijn eeuwigdurende ongetrouwheden.”—„Zeker,”
zeide milady koel, „een dergelijke vrouw kan gevonden worden.”—
„Welnu! zoodanige vrouw, door het mes van Jacques Clement of van
Ravaillac in de handen van een geestdrijver te stellen, zou Frankrijk
redden.”—„Ja, maar zij zou de medeplichtige van een moordenaar
zijn.”—„Heeft men ooit de medeplichtigen van Ravaillac of van
Jacques Clement gekend?”—„Neen, want zij waren misschien te
hooggeplaatst om hen te durven zoeken, waar zij waren. Men zal
het gerechtshof niet voor iedereen in den brand steken, Uwe
Eminentie!”—„Gelooft gij dan dat de brand van het gerechtshof door
een andere oorzaak dan het toeval heeft plaats gehad?” vroeg
Richelieu op den toon, alsof hij een vraag van niet het minste belang
zou hebben gedaan.—„Ik, Uwe Eminentie!” antwoordde milady, „ik
geloof niets. Ik haal een daadzaak aan, meer niet. Ik wil alleen
zeggen, indien ik Mademoiselle de Montpensier of Maria de Médicis
heette, ik minder voorzorgen zou nemen dan ik doe, omdat ik
eenvoudig lady de Winter heet.”—„Dat is waar,” zeide Richelieu. „Wat
begeert gij dan?”
„Ik begeer een volmacht, die vooraf alles goedkeurt, wat ik tot
het welzijn van Frankrijk noodzakelijk acht te doen.”—„Maar ik zou
eerst de vrouw moeten hebben gevonden, waarvan ik spreek, eene,
die zich op den hertog zoude willen wreken.”—„Deze is gevonden,”
zeide milady.—„Vervolgens zou die ellendige geestdrijver moeten
worden gevonden, die der rechtvaardigheid Gods tot een werktuig
moet strekken.”—„Men zal hem vinden.”—„Welnu!” zeide de
kardinaal, „dan is het tijd genoeg de volmacht te vragen, die gij
verlangt.”
„Uwe Eminentie heeft gelijk,” hernam milady, „en ik had ongelijk
in de zending, waarmede zij mij vereert, iets anders te zien dan
hetgeen werkelijk het geval is, namelijk: aan Zijne Genade vanwege
Zijne Eminentie te berichten, dat gij de verschillende vermommingen
kent, met behulp van welke hij er in geslaagd is de koningin te
naderen gedurende het door de echtgenoot van den konnetabel
gegeven feest; dat gij het bewijs hebt der samenkomst, door de
koningin aan zekeren Italiaanschen waarzegger vergund, die
niemand anders dan de hertog van Buckingham was; dat gij een
zeer geestigen, kleinen roman hebt besteld, het avontuur te Amiëns
tot onderwerp hebbende, met den platten grond van den tuin, waar
het is voorgevallen, en de portretten der voornaamste acteurs, die er
zich op hebben vertoond; dat Montaigu in de Bastille is en de
pijnbank hem zaken kan doen openbaren, welke hij zich herinnert,
en zelfs die, welke hij vergeten heeft; eindelijk, dat gij zekeren brief
van mevrouw de Chevreuse bezit, in het hoofdkwartier van Zijne
Genade gevonden, die niet alleen de schrijfster er van blootstelt,
maar ook haar, in wier naam hij is geschreven. Als hij nu ondanks dit
alles mocht volharden, blijft mij, dewijl mijn last zich niet verder
uitstrekt, niets anders te doen over dan Gode te bidden een mirakel
te doen, ter redding van Frankrijk. Het is immers wel alles, Uwe
Eminentie, en ik heb niets anders te doen?”—„Dat is alles,” hernam
de kardinaal droogjes.
„En nu,” zeide milady, zonder den schijn aan te nemen de
toonsverandering van den kardinaal jegens haar op te merken, „nu
ik de voorschriften Uwer Eminentie ten aanzien zijner vijanden heb
ontvangen, zal het mij wel veroorloofd zijn Uwe Eminentie twee
woorden over de mijnen te zeggen?”—„Gij hebt dus vijanden?”
vroeg Richelieu.—„Ja, Uwe Eminentie! vijanden tegen welke ik uw
bijstand noodig heb; want zij zijn zulks jegens mij in uw dienst
geworden.”—„En wie zijn dat?” vroeg de kardinaal.—„Vooreerst een
kleine intriguante, zekere juffrouw Bonacieux.”—„Zij is in de
gevangenis te Mantes.”—„Ja, zij is er geweest,” hernam milady;
„maar de koningin heeft van den koning een bevelschrift weten te
krijgen, met welks hulp zij haar naar een klooster heeft doen
vervoeren.”—„In een klooster?” vroeg de kardinaal.—„Ja, in een
klooster.”—„En in welk?”—„Dat weet ik niet; men heeft het geheim
zeer goed bewaard.”—„Maar ik zal het weten.”—„En zal Uwe
Eminentie mij dan zeggen in welk klooster die vrouw is?”—„Hierin zie
ik geen bezwaar,” antwoordde de kardinaal.
„Goed, nu heb ik nog een anderen vijand, voor wien ik oneindig
meer ben bevreesd dan voor dat juffertje Bonacieux.”—„En wie?”—
„Haar minnaar.”—„Hoe heet hij?”—„O! Uwe Eminentie kent hem!”
riep milady, door gramschap vervoerd; „dat is ons beider kwade
geest; hij is het, die in een gevecht met uw gardes de overwinning
naar de zijde der musketiers heeft doen overhellen; hij is het, die de
Wardes, uw zendeling, vier degensteken heeft toegebracht en de
zaak der diamanten haken heeft doen mislukken; hij is het eindelijk,
die, wetende dat ik het was, die juffrouw Bonacieux deed ontvoeren,
mij den dood heeft gezworen.”—„Ha! ha! nu weet ik van wien gij wilt
spreken.”—„Ik bedoel dien ellendigen d’Artagnan.”—„Dat is een
stoutmoedige knaap,” zei de kardinaal.—„En juist wegens zijn
stoutmoedigheid is hij het meest te vreezen.”—„Men moest,” hernam
de kardinaal, „slechts één bewijs hebben van zijn verstandhouding
met Buckingham.”—„Eén bewijs!” riep milady, „ik zal er tien
krijgen!”—„Welnu! dan is het de eenvoudigste zaak der wereld;
bezorg mij dat bewijs en ik zend hem naar de Bastille.”—„Goed, Uwe
Eminentie! maar verder?”—„Wanneer men in de Bastille is, is er niets
verder,” hernam de kardinaal op doffen toon.
„O, pardieu!” vervolgde hij, „ware het mij even gemakkelijk mij
van mijn vijand te ontslaan als het gemakkelijk valt u van den uwen
te bevrijden, en gij mij jegens dergelijke lieden straffeloosheid
verzocht....”—„Uwe Eminentie!” hernam milady, „ruilen wij; leven
voor leven, man voor man, geef mij hem, ik geef u den anderen.”—
„Ik weet niet, wat gij wilt zeggen, en ik wil het ook niet weten,”
zeide de kardinaal, „maar ik wensch u aangenaam te zijn en ik zie
volstrekt geen beletsel u toe te staan, wat gij verlangt ten aanzien
van een zoo nietig schepsel, te meer daar, zooals gij mij zegt, de
jonge d’Artagnan een losbol, een voorvechter, een verrader is.”—
„Een eerlooze! Uwe Eminentie! een eerlooze!”—„Geef mij dan papier,
pen en inkt,” zeide de kardinaal.—„Ziehier, Uwe Eminentie!”—„Goed.”
Er heerschte een oogenblik stilte, welke bewees, dat de kardinaal
bezig was de woorden te zoeken, welke het briefje, dat hij wilde
schrijven, moest behelzen, of dat hij het werkelijk schreef. Athos,
wien geen woord van het gesprek was ontgaan, nam zijn beide
vrienden elk bij de hand en geleidde hen naar het andere einde der
kamer.
„Welnu!” zeide Porthos, „wat wilt gij en waarom laat gij ons niet
naar het einde van het gesprek luisteren?”—„Stil,” zeide Athos, „wij
hebben alles gehoord, wat wij noodig hadden te hooren; buitendien,
ik belet u niet naar het overige te luisteren, maar ik moet
vertrekken.”—„Gij moet vertrekken?” zeide Porthos; „en indien de
kardinaal naar u vraagt, wat zullen wij antwoorden?”—„Gij zult niet
wachten, totdat hij u vraagt; gij zult hem dadelijk zeggen, dat ik ter
verkenning vooruit ben gegaan, dewijl eenige den kastelein
ontvallen woorden mij hebben doen vermoeden, dat de weg niet
veilig was; ik zal er overigens een paar woorden aan den stalmeester
van den kardinaal over zeggen; laat het andere aan mij over; weest
niet ongerust.”—„Wees voorzichtig, Athos!” zeide Aramis.—„Wees
gerust,” hernam Athos, „gij weet, ik ben koelbloedig.”
Porthos en Aramis hernamen hun plaatsen bij de kachelpijp.
Athos vertrok zonder de minste geheimhouding; ging zijn paard, dat
met die zijner vrienden aan de vensterluiken was gebonden,
losmaken, verzekerde den stalmeester van de noodzakelijkheid
eener voorhoede om terug te keeren, onderzocht met geveinsde
nauwkeurigheid de pan van zijn pistool, nam den degen tusschen de
tanden en begaf zich als een verloren kind op den weg, die naar het
legerkamp leidde.
HOOFDSTUK XIV.
Huwelijkstooneel.
„En thans,” zeide Athos, zich in zijn mantel hullende en zijn hoed
op het hoofd drukkende, „thans, nu ik u de tanden heb uitgebroken,
bijt nu als gij kunt.”—En hij verliet de kamer, zonder zelfs om te zien.
Voor de deur vond hij de beide mannen en het paard, dat zij bij
den toom hielden.—„Mijne heeren!” zeide hij, „gij weet, dat Zijne
Eminentie bevolen heeft zonder tijdverlies die vrouw naar het fort la
Pointe te voeren, en haar niet te verlaten, alvorens zij aan boord
is.”—Daar deze woorden volkomen met het bevel, dat zij hadden
ontvangen, overeenstemden, bogen zij het hoofd, ten teeken van
gehoorzaamheid.
Wat Athos betreft, deze sprong vlug in den zadel en vertrok in
galop. Maar in plaats van den weg te volgen, ging hij het veld over,
zijn paard geweldig aansporende en van tijd tot tijd stilhoudende om
te luisteren.
Gedurende een dier halten hoorde hij op den weg het getrappel
van eenige paarden. Hij twijfelde er niet aan, dat het de kardinaal en
zijn geleide was. Hij begaf zich dan ook onmiddellijk weer op weg,
en na eenigen tijd te hebben voortgedraafd, bleef hij staan, wreef
zijn paard met mos en boombladeren en ging ongeveer
tweehonderd schreden van het kamp dwars op den weg staan.
„Werda!” riep hij in de verte, toen hij de ruiters bespeurde.—„Dat
is onze moedige edelman, geloof ik,” zeide de kardinaal.—„Ja, Uwe
Eminentie!” antwoordde Athos, „hij is het.”—„Mijnheer Athos!” zeide
Richelieu, „ontvang mijn welgemeenden dank voor de goede
waakzaamheid, die gij ons hebt betoond. Mijne heeren! wij zijn
aangekomen; gaat de poort ter linkerzijde binnen; het wachtwoord
is: Koning en Ré.”—Dit zeggende, groette de kardinaal met een
hoofdknik de drie vrienden en ging rechts, gevolgd door zijn
stalmeester; want dien nacht zou hij in het legerkamp slapen.
„Wel?” vroegen eenparig Porthos en Aramis, toen de kardinaal
ver genoeg vertrokken was om niet meer te kunnen hooren; „welnu,
hij heeft het papier geteekend, dat zij hem vroeg.”—„Ik weet het
wel,” antwoordde Athos bedaard, „want ik heb het.”—En de drie
vrienden spraken geen enkel woord vóór zij in hun kwartieren waren
gekomen, behalve dat zij aan de schildwachten het wachtwoord
zeiden. Alleen zond men Mousqueton naar Planchet om dezen te
zeggen, dat zijn meester verzocht werd, zoodra hij van de wacht in
de loopgraven zou zijn afgelost, zich onmiddellijk naar het kwartier
der musketiers te begeven.
Van den anderen kant, en zooals Athos had voorzien, maakte
milady, toen zij de mannen aantrof, die haar voor de deur wachtten,
niet de minste moeilijkheid hen te volgen. Zij was wel een oogenblik
van meening geweest zich voor den kardinaal te doen voeren en
dezen alles te verhalen; maar een openbaring van haar zou er eene
van Athos ten gevolge hebben gehad. Zij zou wel kunnen zeggen,
dat Athos haar had opgehangen, maar daarentegen zou Athos
zeggen, dat zij gebrandmerkt was; zij geloofde daarom, dat het nog
beter was het stilzwijgen te bewaren, stilletjes te vertrekken en met
haar gewone behendigheid de moeilijke zending te volbrengen,
waarmede zij zich had belast. Vervolgens, na alles volkomen naar
het genoegen van den kardinaal te hebben volvoerd, zou zij van
dezen haar wraak komen eischen.
Bijgevolg was zij, na den geheelen nacht te hebben doorgereisd,
te zeven uur des ochtends aan het fort de la Pointe gekomen, te
acht uur was zij scheep gegaan en te negen uur lichtte het vaartuig
het anker en ging onder zeil naar Engeland.
HOOFDSTUK XV.
Het bolwerk Saint Gervais.
Zooals Athos het had voorzien, was het bolwerk slechts bevolkt
door een twaalftal gesneuvelden, zoowel eigen volk als vijanden.
„Mijne heeren!” zeide Athos, die het bevel der onderneming op
zich had genomen, „terwijl Grimaud de tafel zal dekken, zullen wij
beginnen de geweren en patronen bij elkander te zoeken. Wij
kunnen tegelijkertijd onder dat werk over onze zaken spreken. Die
heeren,” vervolgde hij, de gesneuvelden aanwijzende, „zullen ons
niet beluisteren.”—„Maar wij zouden hen toch in de gracht kunnen
werpen,” zeide Porthos, „na ons vooraf verzekerd te hebben, dat hun
zakken niets bevatten.”—„Ja,” hernam Athos, „dat is de zaak van
Grimaud.”—„Welnu dan,” zeide d’Artagnan, „laat Grimaud hen
onderzoeken en ze daarna over den muur werpen.”—„Wachten wij er
ons wel voor,” zeide Athos, „zij kunnen ons nog dienen.”—„Kunnen
die dooden ons nog dienen?” vroeg Porthos. „Maar waarlijk, gij
wordt gek, beste vriend!”—„Oordeel niet lichtzinnig, zegt het
Evangelie en de kardinaal,” antwoordde Athos. „Hoeveel geweren
zijn er, heeren?”—„Twaalf,” antwoordde Aramis.—„Dat is juist zooveel
als wij noodig hebben; laden wij de geweren.”
De vier musketiers begonnen met dat werk. Toen het laatste
geweer geladen was, gaf Grimaud door een wenk te kennen, dat het
ontbijt gereed was. Athos antwoordde, zooals altijd, met een gebaar,
dat het goed was, en wees Grimaud een soort van schilderhuis aan,
waarin deze begreep, dat hij op den uitkijk moest gaan staan. Maar
om de verveling zijner wacht te verzachten, veroorloofde Athos hem
een brood, twee koteletten en een flesch wijn mede te nemen.
„En nu aan tafel, heeren!” riep Athos.
De vier vrienden zetten zich met over elkaar geslagen beenen,
als Turken of kleermakers, op den grond.
„Maar thans,” zeide d’Artagnan, „nu gij niet meer behoeft te
vreezen gehoord te worden, vertrouw ik, dat ge ons uw geheim zult
mededeelen!”—„Ik hoop u tevens vermaak en glorie te bezorgen,
mijne heeren!” zeide Athos. „Ik heb u een aangename wandeling
bezorgd, ziedaar nu een zeer smakelijk ontbijt, en vijf personen
daarginder, zooals gij door de schietgaten kunt zien, die ons voor
dwazen of helden houden, en een paar soorten van krankzinnigen,
die elkander tamelijk gelijken.”—„Maar het geheim?” vroeg
d’Artagnan.—„Het geheim,” antwoordde Athos, „is, dat ik
gisterenavond milady heb gesproken.”
D’Artagnan bracht het glas aan zijn lippen, maar bij den naam
van milady begon hij zoo geweldig te beven, dat hij het weer op den
grond zette, om den inhoud niet te storten.
„Gij hebt uw vr....”—„Stil toch!” viel Athos hem in de rede, „gij
vergeet, mijn waarde! dat die heeren niet, zooals gij, met mijn
huiselijke geheimen zijn bekend. Ik heb milady gesproken.”—„En
waar dat?” vroeg d’Artagnan.—„Ongeveer twee uren van hier, in de
herberg de Roode Duiventoren.”—„In dat geval ben ik verloren,”
zeide d’Artagnan.—„Neen, nog niet geheel,” hernam Athos, „want op
dit uur moet zij de kust van Frankrijk hebben verlaten.”—D’Artagnan
haalde adem.—„Maar bij slot van rekening,” vroeg Porthos, „wat is
toch die milady?”—„Een zeer lieve vrouw,” antwoordde Athos, terwijl
hij een glas schuimenden wijn ledigde.
„Schurkachtige hospes!” riep hij, „hij heeft ons wijn van Anjou in
plaats van Champagne gegeven, in de meening dat wij het niet
zouden bemerken.”
„Ja,” hernam hij, „een zeer lieve vrouw, jegens welke onze vriend
d’Artagnan ik weet niet welke boosaardigheden heeft bedreven,
waarover zij, een maand geleden, getracht heeft zich te wreken,
door hem te willen doodschieten, en nu, acht dagen geleden,
pogingen heeft aangewend om hem te vergiftigen, terwijl zij
gisteren den kardinaal zijn hoofd vroeg.”—„Wat! den kardinaal mijn
hoofd vragen?” riep d’Artagnan, bleek van schrik.—„Ja,” zeide
Porthos, „zoo waar als het evangelie! ik heb het met mijn beide
ooren gehoord.”—„Ik ook,” zeide Aramis.—„Dan,” zeide d’Artagnan,
zijn armen moedeloos langs zijn zijden latende vallen, „is het
vruchteloos langer te worstelen, het is het beste, dat ik mij voor het
hoofd schiet, dan is alles geëindigd.”—„Dat is de laatste dwaasheid,
waartoe men kan overgaan,” zeide Athos, „en wel eene, waaraan
niets meer te veranderen is.”—„Maar ik zal nooit de handen van
dergelijke vijanden ontkomen,” zeide d’Artagnan. „Vooreerst, mijn
onbekende van Meung, vervolgens de Wardes, dien ik vier
degensteken heb toegebracht, daarna milady, wier geheim ik heb
ontdekt, en eindelijk de kardinaal, wiens wraak ik heb doen
mislukken.”—„Welnu! dat zijn er niet meer dan vier, en wij zijn met
ons vieren, één tegen één, pardieu! Als ik de teekens versta, die
Grimaud ons maakt, dan zullen wij met eenige lieden meer te doen
krijgen. Wat is er, Grimaud? Uit hoofde van het gewicht der
omstandigheden veroorloof ik u te spreken, mijn vriend! maar wees
kort en zakelijk, als ’t u blieft. Wat ziet gij?”—„Een bende.”—„Van
hoeveel personen?”—„Van twintig mannen.”—„Welke mannen?”—
„Zestien schansgravers en vier soldaten.”—„Op hoeveel schreden
afstands zijn zij?”—„Op vijfhonderd schreden.”—„Goed, wij hebben
den tijd nog dat hoen af te kluiven en een glas wijn te drinken. Op
uw gezondheid, d’Artagnan!”—„Op uw gezondheid!” herhaalden
Porthos en Aramis.—„Het zij dan zoo, op mijn gezondheid, hoewel ik
niet geloof, dat uw wenschen mij veel zullen baten.”—„Och!” zeide
Athos, „God is groot, zooals de belijders van Mahomeds leer zeggen,
en de toekomst is in zijn handen.”
En daarop den inhoud van zijn glas geledigd hebbende, dat hij
naast zich neerzette, stond Athos bedaard op, nam het eerste het
beste geweer en naderde een schietgat. Porthos, Aramis en
d’Artagnan volgden zijn voorbeeld. Wat Grimaud betreft, dezen werd
bevolen zich achter de vier vrienden te plaatsen, ten einde de
geweren te laden.