100% found this document useful (2 votes)
42 views55 pages

Programming Problem Solving Abstraction With C Moffat Instant Download

The document provides links to various programming ebooks, including titles focused on problem solving and abstraction in C, Java, and data structures. It also outlines the contents of a programming textbook, covering topics such as functions, loops, arrays, and more. Additionally, it offers instant digital product downloads in multiple formats.

Uploaded by

gcukqfiyr894
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
42 views55 pages

Programming Problem Solving Abstraction With C Moffat Instant Download

The document provides links to various programming ebooks, including titles focused on problem solving and abstraction in C, Java, and data structures. It also outlines the contents of a programming textbook, covering topics such as functions, loops, arrays, and more. Additionally, it offers instant digital product downloads in multiple formats.

Uploaded by

gcukqfiyr894
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Programming problem solving abstraction with C

Moffat pdf download

https://ebookname.com/product/programming-problem-solving-
abstraction-with-c-moffat/

Get the full ebook with Bonus Features for a Better Reading Experience on ebookname.com
Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Problem solving with C Ninth Edition Walter Savitch

https://ebookname.com/product/problem-solving-with-c-ninth-
edition-walter-savitch/

Programming and Problem Solving with Java 1st edition


Edition Nell B. Dale

https://ebookname.com/product/programming-and-problem-solving-
with-java-1st-edition-edition-nell-b-dale/

ADTs Data Structures and Problem Solving with C 2nd


Edition Nyhoff

https://ebookname.com/product/adts-data-structures-and-problem-
solving-with-c-2nd-edition-nyhoff/

Programming Logic and Design Comprehensive 6th Edition


Joyce Farrell

https://ebookname.com/product/programming-logic-and-design-
comprehensive-6th-edition-joyce-farrell/
Unsilencing the Past Track Two Diplomacy and Turkish
Armenian Reconciliation 1st Edition David L. Phillips

https://ebookname.com/product/unsilencing-the-past-track-two-
diplomacy-and-turkish-armenian-reconciliation-1st-edition-david-
l-phillips/

Celibacy in Crisis A Secret World Revisited 1st Edition


Sipe

https://ebookname.com/product/celibacy-in-crisis-a-secret-world-
revisited-1st-edition-sipe/

Climate Change in the Polar Regions 1st Edition John


Turner

https://ebookname.com/product/climate-change-in-the-polar-
regions-1st-edition-john-turner/

Dairy Microbiology A Practical Approach 1st Edition


Photis Papademas

https://ebookname.com/product/dairy-microbiology-a-practical-
approach-1st-edition-photis-papademas/

Three Dimensional Partonic Structure of the Nucleon 1st


Edition Edited By M. Anselmino

https://ebookname.com/product/three-dimensional-partonic-
structure-of-the-nucleon-1st-edition-edited-by-m-anselmino/
Nelson Essentials of Pediatrics Seventh Edition Karen
J. Marcdante

https://ebookname.com/product/nelson-essentials-of-pediatrics-
seventh-edition-karen-j-marcdante/
Contents

Preface vii

1 Computers and Programs 1


1.1 Computers and computation . . . . . . . . . . . . . . . . . . . . . 2
1.2 Programs and programming . . . . . . . . . . . . . . . . . . . . . 3
1.3 A first C program . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 The task of programming . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Be careful . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Numbers In, Numbers Out 13


2.1 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Constants and variables . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Operators and expressions . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Numbers in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Numbers out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 Assignment statements . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7 Case study: Volume of a sphere . . . . . . . . . . . . . . . . . . . . 25
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Making Choices 29
3.1 Logical expressions . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Pitfalls to watch for . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4 Case study: Calculating taxes . . . . . . . . . . . . . . . . . . . . . 36
3.5 The switch statement . . . . . . . . . . . . . . . . . . . . . . . . . 38
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Loops 45
4.1 Controlled iteration . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Case study: Calculating compound interest . . . . . . . . . . . . . 49
4.3 Program layout and style . . . . . . . . . . . . . . . . . . . . . . . 50
4.4 Uncontrolled iteration . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5 Iterating over the input data . . . . . . . . . . . . . . . . . . . . . . 56
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

iii
PAGE IV P ROGRAMMING , P ROBLEM S OLVING , AND A BSTRACTION

5 Getting Started with Functions 63


5.1 Abstraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 Compilation with functions . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Library functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.4 Generalizing the abstraction . . . . . . . . . . . . . . . . . . . . . 72
5.5 Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.6 Case study: Calculating cube roots . . . . . . . . . . . . . . . . . . 76
5.7 Testing functions and programs . . . . . . . . . . . . . . . . . . . . 78
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6 Functions and Pointers 83


6.1 The main function . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.2 Use of void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4 Global variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.5 Static variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.6 Pointers and pointer operations . . . . . . . . . . . . . . . . . . . . 90
6.7 Pointers as arguments . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.8 Case study: Reading numbers . . . . . . . . . . . . . . . . . . . . 95
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7 Arrays 99
7.1 Linear collections of like objects . . . . . . . . . . . . . . . . . . . 99
7.2 Reading into an array . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.3 Sorting an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.4 Arrays and functions . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.5 Two-dimensional arrays . . . . . . . . . . . . . . . . . . . . . . . . 109
7.6 Array initializers . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.7 Arrays and pointers . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.8 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.9 Case study: Distinct words . . . . . . . . . . . . . . . . . . . . . . 121
7.10 Arrays of strings . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.11 Program arguments . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

8 Structures 129
8.1 Declaring structures . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.2 Operations on structures . . . . . . . . . . . . . . . . . . . . . . . 131
8.3 Structures, pointers, and functions . . . . . . . . . . . . . . . . . . 135
8.4 Structures and arrays . . . . . . . . . . . . . . . . . . . . . . . . . 137
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
PAGE V

9 Problem Solving Strategies 141


9.1 Generate and test . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.2 Divide and conquer . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.4 Approximation techniques . . . . . . . . . . . . . . . . . . . . . . 152
9.5 Physical simulations . . . . . . . . . . . . . . . . . . . . . . . . . 156
9.6 Solution by evolution . . . . . . . . . . . . . . . . . . . . . . . . . 159
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

10 Dynamic Structures 163


10.1 Run-time arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
10.2 Linked structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
10.3 Binary search trees . . . . . . . . . . . . . . . . . . . . . . . . . . 176
10.4 Function pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
10.5 Case study: A polymorphic tree library . . . . . . . . . . . . . . . . 183
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

11 File Operations 193


11.1 Text files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
11.2 Binary files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
11.3 Case study: Merging multiple files . . . . . . . . . . . . . . . . . . 199
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

12 Algorithms 203
12.1 Measuring performance . . . . . . . . . . . . . . . . . . . . . . . . 203
12.2 Dictionaries and searching . . . . . . . . . . . . . . . . . . . . . . 205
12.3 Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
12.4 Quick sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
12.5 Merge sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
12.6 Heap sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
12.7 Other problems and algorithms . . . . . . . . . . . . . . . . . . . . 225
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

13 Everything Else 229


13.1 Some more C operations . . . . . . . . . . . . . . . . . . . . . . . 229
13.2 Integer representations and bit operations . . . . . . . . . . . . . . 230
13.3 The C preprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . 235
13.4 What next? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

Index 241
PAGE VI P ROGRAMMING , P ROBLEM S OLVING , AND A BSTRACTION
Preface to the Revised Edition

When I commenced this project in 2002, I was motivated by twenty years of teaching
programming to first-year university students, watching their reactions to and behav-
ior with a range of texts and programming languages. My observations at that time
led to the following specification:

• Length: To be palatable to undergraduate students, and accessible when re-


ferred to, a programming text must be succinct. Books of 500+ pages are
daunting because of their sheer size, and the underlying message tends to get
lost among the trees. I set myself a length target of 250 pages, and have
achieved what I wanted within that limit. For the most part I have avoided
terseness; but of necessity some C features have been glossed over. I don’t
think that matters in a first programming subject.

• Value for money: Students are (quite rightly) sceptical of $100 books, and will
often commence the semester without owning it. Then, if they do buy one, they
sell it again at the end of the semester, in order to recoup their money. I sought
to write a book that students would not question as a purchase, nor consider
for later sale. With the cooperation of the publishers, and use of the “Pearson
Original” format, this aim has also been met.

• Readability: More than anything else, I wanted to write a book that students
would willingly read, and with which they would engage as active learners.
The prose is intended to be informative rather than turgid, and the key points
in each section have been highlighted, to allow students to quickly remind
themselves of important concepts.

• Practicality: I didn’t want to write a reference manual, containing page upon


page of function descriptions and formatting options. Students learning pro-
gramming for the first time instead need to be introduced to a compact core
of widely-applicable techniques, and be shown a pool of examples exploring
those techniques in action. The book I have ended up with contains over 100
examples, each a working C program.

• Context: I wanted to do more than describe the syntax of a particular language.


I also wanted to establish a context, by discussing the programming process
itself, instead of presenting programs as static objects. I have also not shirked
from expressing my personal opinions where appropriate – students should be
PAGE VIII P ROGRAMMING , P ROBLEM S OLVING , AND A BSTRACTION

encouraged to actively question the facts they are being told, to better cement
their own understanding.

• Excitement: Last, but certainly not least, I wanted a book that would enthuse
students, and let them see some of the excitement in computing. Few programs
can match the elegance of quick sort, for example.

Those thoughts led to the first edition, finalized in late 2002, and published in early
2003. Now it is nearly 2013, and another decade has gone by. I have used this book
every year since then in my classes, and slowly built up a list of “I wish I hadn’t done
it that way” issues. Those “I wishes” are all addressed in this revised edition. Most of
the changes are modest, and I think I have remained true to the original goals. (One
of the more interesting changes is that I have removed all mention of floppy disks!)

How to use this book


In terms of possible courses, this book is intended to be used in two slightly different
ways. Students who are majoring in non-computing disciplines require C program-
ming skills as an adjunct rather than a primary focus. Chapters 1 to 8 present the
core facilities available in almost all programming languages. Chapter 9 then rounds
out that treatment with a discussion of problem solving techniques, including some
larger programs, to serve as models. There are also six case studies in the first nine
chapters, intended to provide a basis on which the exercises at the ends of the chap-
ters can be tackled. For a service course, use Chapters 1 to 9, and leave the more able
students to read the remainder of the book on their own.
Chapters 10 to 13 delve deeper into the facilities that make C the useful tool that
it is, and consider dynamic structures, files, and searching and sorting algorithms.
They also include two more case studies. These four chapters should be included in
a course for computer science majors, either in the initial programming subject, or,
as we do at the University of Melbourne, as a key component of their second subject.
In terms of presentation, I teach programming as a dynamic activity, and hope that
you will consider doing the same. More than anything else, programmers learn by
programming, in the same way that artists learn by drawing and painting. Art students
also learn by observing an expert in action, and then mimicking the same techniques
in their own work. They benefit by seeing the first lines drawn on a canvas, the way
the paint is layered, and the manner in which the parts are balanced against each other
to make a cohesive whole.
The wide availability of computers in lecture theaters has allowed the introduc-
tion of similarly dynamic lessons in computing classes. By always having the com-
puter available, I have enormous flexibility to show the practical impact of whatever
topic is being taught in that lecture. So my lectures consist of a mosaic of prepared
slides; pre-scripted programming examples using the computer; and a healthy dose
of unscripted exploratory programming. With the live demonstrations I am able to let
the students see me work with the computer exactly as I am asking them to, including
making mistakes, recognizing and fixing syntax errors, puzzling over logic flaws, and
halting infinite loops.
P REFACE PAGE IX

The idea is to show the students not just the end result of a programming exercise
as an abstract object, but to also show them, with a running commentary, how that
result is achieved. That the presentation includes the occasional dead end, judicious
backtracking and redesign, and sometimes quite puzzling behavior, is all grist for
the mill. The students engage and, for example, have at times chorused out loud at
my (sometimes deliberate, sometimes inadvertent) introduction of errors. The web
also helps with this style of teaching – the programs that are generated in class can
be made accessible in their final form, so students are free to participate, rather than
frantically copy.
Running a lecture in this way requires a non-trivial amount of confidence, both
to be able to get it right, and to deal with the consequences of sometimes getting it
wrong. More than once I have admitted that I need to go and read a manual before
coming back to them in the next class with an explanation of some obscure behav-
ior that we have uncovered. But the benefits of taking these risks are considerable:
“what will happen if. . . ” is a recurring theme in my lectures, and whether it is a
rhetorical question from me, or an actual interjection from a student, we always go to
the computer and find out.
Supervised laboratory classes should accompany the lecture presentations. Stu-
dents learn the most when trying it for themselves, but need to be able to ask questions
while they do. Having students work on programming projects is also helpful. The
exercises at the end of each chapter include broader non-programming questions, for
use in discussion-based tutorial classes.

Software and teaching support


All of the program fragments in this book exist and are available for your use, as are
sample answers to many of the exercises. If you are planning to make use of this book
in an educational environment, please contact me ([email protected])
identifying your institution, and the subject you are teaching. I will gladly reply with
a complete set of programs, and a guide as to which page of the book each is from. A
set of PDF lecture slides to match the book is also available on request. For obvious
reasons, I do not plan to make these resources publicly available via a web page,
so you do have to ask. An errata page listing known defects in the book appears at
http://www.csse.unimelb.edu.au/˜alistair/ppsaa/errata2.pdf.

Acknowledgements
I learned programming in the first half of the 1970s as a secondary school student in
Wellington, New Zealand, and will always be grateful to my two maths teachers, Bob
Garden and Ron Ritz, for their vision and enthusiasm. Our programming involved
a dialect of Fortran, and was carried out with a bent paper clip; special preprinted
cards that you popped chads out of; and a bike ride to the local bank branch to drop
the completed programs into a courier bag for transmission to their “Electronic Data
Processing Center”. Each compile/execute cycle took about three days, so we quickly
learned to be accurate.
My interest in computing was deepened during my University study, and I thank
PAGE X P ROGRAMMING , P ROBLEM S OLVING , AND A BSTRACTION

all of the Computer Science staff that worked at the University of Canterbury in New
Zealand during the period 1977–1979. Worth special mention is Tadao Takaoka: in
his own inimitable way, it was he who interested me in algorithms, and who served
as a role model for the academic life that I have pursued for thirty years.
Since then, it has primarily been academic colleagues at the University of Can-
terbury and at the University of Melbourne that have influenced me, by sharing their
knowledge and skills. I first taught introductory programming in 1982, and have done
so every year since then. The people that I have worked with on those subjects, or on
other academic projects, have all left a mark on this book. In roughly chronological
order, they include: Rod Harries, Robert Biddle, Tim C. Bell, Ian Witten, Ed Morris,
Rodney Topor, Justin Zobel, Liz Sonenberg, Lee Naish, Harald Søndergaard, Roy
Johnston, Peter Stuckey, Tim A.H. Bell, Bernie Pope, Peter Hawkins, Martin Sulz-
mann, Owen de Kretser, Michael Kirley, Lars Kulik, and Alan Blair. Many students
have pointed out errors or assisted in various ways, and will continue to do so into
the future; I thank them all.
Finally, there is family, and I gratefully acknowledge the long-ago input of my
parents, Duncan and Hilda Moffat; and the more recent encouragement supplied by
my wife Thau Mee, and our own children, Anne and Kate.

Alistair Moffat,
Melbourne, Australia
http://www.csse.unimelb.edu.au/˜alistair
November 28, 2012
Exploring the Variety of Random
Documents with Different Content
Comeau, P.Q. 60 Dibgate Blvd., Agincourt, Ont. 51 Forest Hill
Avenue, Ottawa, Ont. K2C 1P7. 51 Forest Hill Avenue, Ottawa, Ont.
K2C 1P7. Highway 17 East, Sturgeon Falls, Ont. 345 Archibald Street,
Renfrew, Ont. 818 Norton Avenue, Ottawa, Ont. K2B 5P6. 6
Amberley Place, Ottawa, Ont. K1J 7J8. 72c Chesterton Drive,
Ottawa, Ont. K2E 5S9. 603 Chester Street, Brooklyn, New York,
U.SA. 603 Chester Street, Brooklyn, New York, U.S.A. 61 Burnside
Avenue, Wakefield, P.Q. 169 Clemow Avenue, Ottawa, Ont. K1S 2B3.
2108 Grafton Crescent, Ottawa, Ont. K1J 6K8. 387 Maple Lane,
Rockcliffe Park, Ottawa, Ont. KIM 1H7. 24 Clemow Avenue, Ottawa,
Ont. K1S 2B2. 2531 Labelle, Chomedey, Laval, P.Q. 6 Hazel Street,
Ottawa, Ont. K1S 0E8. 1 1 1 Robinson Road, 3rd Fir., Hong Kong. 1 1
1 Robinson Road, 3rd Fir., Hong Kong. 23 Linden Terrace, Ottawa,
Ont. K1S 1Z1. 201 Metcalfe Avenue, Westmount, Montreal 215, P.Q.
80 Park Avenue. Ottawa, Ont. K2P 1B2. Station "F\ P.O. Box 664,
Thunder Bay, Ont. Apt. 803, 45 Balliol Street, Toronto 295, Ont.
4394 Gilles Street. Pierrefonds, P.Q. 149 Crichton Street, Ottawa,
Ont. KIM 1W1. 275 Cloverdale Road, Rockcliffe Park, Ottawa, Ont.
KIM 0Y3. 275 Cloverdale Road, Rockcliffe Park, Ottawa, Ont. KIM
0Y3. 251 Park Road, Rockcliffe Park, Ottawa, Ont. KIM 0C9. 251 Park
Road, Rockcliffe Park, Ottawa, Ont. KIM 0C9. 112
Pitfield, Jaime Weldon Plummer, William Richard Polk,
Nicholas Power I, Sean Michael Power II, Christopher Noble Pryde,
Derek Puttick I, Stephen Richard Puttick II, Michael Paul Ernest
Ramsay, Roger Gordon Ray, Arindam Rennie, Donald Richardson,
Peter John Richter, Mark Andrew Rickard, John Paul Rigby, Stephen
James Rimsa, Kostas Robertson I, Magnus Ian Leslie Robertson II,
Richard Scot Robertson III, Robert Scott Ronalds, H. Jay Rogers,
Paul Rosen, Jeffrey Stephen Rosenhek, Lenny Ross, Douglas John H.
Rowlinson, Matthew Charles Sanderson, James Paul Scarth, Ian
Campbell Schofield, Charles Andrew Schwarzmann, Juan Scott I,
Andrew Nicholas Scott II, Christopher Blair Seay, James Anthony
Sherman, Gary Neil Sirotek I, Robert Frederick Sirotek II, Norman
Allan Siversky, David Jonathan Skolnik, Arthur Smallwood, Leo
Alexander Smith I, Robert Bruce Smith II, Ian Henderson Smith III,
Robin Hayeur Smith IV, Robert George Spencer I, Stephen Derek
Spencer II, Nigel John Srencer III, Gregory Charles Steacy, Harold
Peter Stenger, Peter Stewart I, David Macdonald 100 Park Road,
Rockcliffe Park, Ottawa, Ont. KIM 0C2. 1077 Pinewood Crescent,
Ottawa, Ont. K2B 5Y3. 34 Union Street, Ottawa, Ont. KIM 1R4. P.O.
Box 166, 36 Queen Street, Nassau, Bahamas. Basswoodhill, R.R. No.
1, Dunrobin, Ont. 2126 Casey Avenue, Beacon Hill North, Ottawa,
Ont. K1J 6E8. 473 Brierwood Avenue, Ottawa, Ont. K2A 2H2. 473
Brierwood Avenue, Ottawa, Ont. K2A 2H2. c/o Canadian Consulate
General, One Maritime Plaza, Golden Gateway Centre, San Francisco,
California 94111, U.S.A. 1312 Stanton Road, Ottawa, Ont. K2C 3E1.
318 Bayswater Avenue, Ottawa, Ont. K1Y 2H3. c/o Pan American
Health Organization, P.A.S.B., Medical Dept., P.O. Box 430, Belize,
British Honduras. 322 Mildred Street, Midland, Ont. 1102 Lynbrook
Road, Oakville, Ont. 35 Lambton Avenue, Ottawa, Ont. KIM 0Z8. 267
de Chateauguay, Longueuil, P.Q. 344 Manor Avenue, Rockcliffe Park,
Ottawa, Ont. KIM 0H8. 83 Woodridge Crescent, Apt. No. 11, Ottawa,
Ont. K2B 7T2. 17 Rothwell Drive, Ottawa, Ont. K1J 7G5. Apt. No.
907, 1212 Pine Avenue West, Montreal 112, P.Q. 2196E Halifax
Drive, Ottawa, Ont. K1G 2W6. 2368 Renfield Road, Ottawa, Ont.
K1H 7W2. Apt. 1402, 5500 MacDonald Avenue, Cote St. Luc,
Montreal 254, P.Q. 38 Sioux Crescent, Ottawa, Ont. K2H 7E5. 434
Fortier Street, St. Hilaire, P.Q. 66 Marina Drive, R.R. No. 3, Manotick,
Ont. 8 Qualicum Street, Ottawa, Ont. K2H 7G8. 778 Eastbourne
Avenue, Manor Park, Ottawa, Ont. K1K 0H7. Paseo Reding 31,
Malaga, Spain. 455 Holland Avenue, Ottawa, Ont. K1Y 0Z4. 470
Acacia Avenue, Rockcliffe Park, Ottawa, Ont. KIM 0M2. Marsa El
Brega, P.O. Box 385, Tripoli, Libya. 6571 Norwood Street, Halifax,
N.S. 1485 Prince of Wales Drive, Ottawa, Ont. K2C IN 8. 1485 Prince
of Wales Drive, Ottawa, Ont. K2C 1N8. 514 Stanley Street,
Hawkesbury, Ont. 1331 Duquet Avenue, Sillery 6, P.Q. 944 Walkley
Road. Ottawa, Ont. K1V 6R5. 42 Moorecroft Road, Ottawa, Ont. K2G
0M7. 62 Jasper Avenue, Town of Mount Royal, Montreal 304, P.Q. 10
Cherry wood Drive, Ottawa, Ont. K2H 6G6. 20 Range Road, Ottawa,
Ont. KIN 8J3. Athol Doune Drive, R.R. No. 2, Aylmer East, P.Q. Athol
Doune Drive, R.R. No. 2, Aylmer East, P.Q. 3014 Southmore Drive E.,
Ottawa, Ont. K1V 6Z4. 328 Island Park Drive, Ottawa, Ont. K1Y 0A7.
1631 Prince of Wales Drive, Ottawa, Ont. K2C 1P2. Le Cartier, Apt.
2501, 1115 Sherbrooke St. West, Montreal 110, P.Q. 113
Stilborn, Douglas Keith Scott Stiles, Alexander John Stirling,
Stephen Michael Stoddard I, Isaac Allerton Stoddard II, Frederick
Lothrop Stratton, Walter William Stuart II, Blair Duff Tanos, Stephen
Thomas Taticek, Peter Teron, Christopher Noel Thompson I, Grant
William Thompson II, James Cameron Tkachuk, Michael Wilson
Torontow, Michael Torrens, Kenneth James Towe, Christopher
Milburn Tross, Anthony Squire Valera (Carreno), Jose Gregorio
Veilleux I, Hugues Veilleux II, Clermont Walker I, Jeffrey Ward
Walker III, Ian Michael Walker II, Robert Scott Warren, Timothy
Michael Webster, Mark Allan Bryan Weiner I, Bruce Howard Went,
Harold Stephen Whitwill, Stephen Thomas Wiener II, Philippe-Marc
Wilansky, Sydney Melvin Wilgress, Edward Dana Cameron Wilson I,
Peter William Wilson II, Eric Chester Wilson III, Richard McClain
Winterton, Stephen Scott Wong, Cheung Pei Jackson Wright I,
Philemon David Wright II, James Wright III, Palmer Howard Yaxley
I, Eric Lindsay Yaxley II, David Thomas Zagerman I, Mark David
Zagerman II, Joel Wolf Zunenshine, Leslie Zwirewich, Charles
Vincent 40 Westward Way, Rockcliffe Park, Ottawa, Ont. K1L 5A7.
c/o Canadian High Commission, P.O. Box 660, Georgetown, Guyana,
South America. 154 McLeod Street, Ottawa, Ont. K2P 0Z7. 180
Acacia Avenue, Rockcliffe Park, Ottawa, Ont. KIM 0R3. 180 Acacia
Avenue, Rockcliffe Park, Ottawa, Ont. KIM 0R3. 25 Southern
Parkway, Rochester, New York, 14618, N.Y., U.S.A. 831 Edgeworth
Avenue, Ottawa, Ont. K2B 7Y3. 2172 Benjamin Avenue, Ottawa,
Ont. K2A 1P4. 94 Maple Lane, Ottawa, Ont. KIM 1H5. 7 Crescent
Road, Rockcliffe Park, Ottawa, Ont. KIM ONI. 24 Canter Blvd.,
Ottawa, Ont. K2G 2M2. 22 Canter Blvd., Ottawa, Ont. K2G 2M2. R.R.
No. 3, Brampton, Ont. 1969 Bromley Road, Ottawa, Ont. K2A 1C3.
79 Oakland Road, Beaconsfield, P.Q. 3550 Tilden Street, N.W.,
Washington, D.C. 20008, U.S.A. 64 The Driveway, Ottawa, Ont. K2P
1E3. Box No. 14427, Candelaria, Caracas, D.F., Venezuela. 74 Gall
Blvd., Drummondville, P.Q. 74 Gall Blvd., Drummondville, P.Q. 9
Rebecca Crescent, Ottawa, Ont. K1J 6B7. 9 Rebecca Crescent,
Ottawa, Ont. K1J 6B7. Apt. No. 1205, Champlain Towers, 200 Rideau
Terrace, Ottawa, Ont. KIM 0Z3. 7 Eleanor Drive E., Ottawa, Ont. K2E
6A3. Cotnam Island, R.R. No. 1, Pembroke, Ont. 418 Roger Road,
Ottawa, Ont. K1H 5C4. "Wanstead House", Cave Hill, St. Michael,
Barbados, W.I. 231 Buena Vista Road, Rockcliffe Park, Ottawa, Ont.
KIM 0V8. Apt. No. 909A, 4850 Cote des Neiges, Montreal 247, P.Q.
15 Chestnut Place, St. John's Nfld. 230 Manor Avenue, Rockcliffe
Park, Ottawa, Ont. KIM 0H4 161 Carleton Street, Rockcliffe Park,
Ottawa. Ont. KIM 0G6. 161 Carleton Street, Rockcliffe Park, Ottawa.
Ont. KIM 0G6. 14 Maple Lane, Ottawa, Ont. KIM 1G7. 59 Kingsford
Court, P.O. Box 59, Kanata, Ont. 1 1 Observatory Road, 6th Fir.,
Kowloon, Hong Kong. Meach Lake, P.Q. Meach Lake, P.Q. 147 Kinzua
Road, Rockcliffe Park, Ottawa, Ont. KIM 0C7. Island Park Drive, Long
Island, Manotick, Ont. Island Park Drive, Long Island, Manotick, Ont.
208 Island Park Drive, Ottawa, Ont. K1Y 0A4. 208 Island Park Drive,
Ottawa. Ont. K1Y 0A4. 27 Belsize Road, Hampstead, Montreal 254,
P.Q. 234 Irving Place, Ottawa, Ont. K1Y 1Z8. 114
E. T. WILSON TYPEWRITER LIMITED • TYPEWRITERS •
ADDING MACHINES • • OFFICE FURNITURE AND SUPPLIES • 25
MONTREAL ROAD 745-7156 OTTAWA 7, ONT. mUm RESTAURANT 13
CARLING AVE. 728-1660 restaurant 733-8596 BILLINGS BRIDGE
SHOPPING PLAZA OPEN DAILY 7 AM TO 1 AM BANQUET FACILITIES
FOR 45 PERSONS TAKE OUT ORDERS Italian spaghetti & pizza
CHAS. McKINLEY CO. PLUMBING— HEATING City Wide
Repairs — Installations Hot Water Tanks G. T. Higginbottom, Prop.
209 Ann St., Vanier 749-2886 MORRISON-LAMOTHE FOODS LTD.
Manufacturers and Distributors of Donald Duck — Pan Dandy Bread
Sunibake Fresh Baked Goods Subsidiary Galla Bakery Limited —
Institutional Division THE BORDEN COMPANY LIMITED 2370
LANCASTER ROAD OTTAWA 731-2430 • DAIRY PRODUCTS • ICE
CREAM • Compliments of M. ZAGERMAN & CO. LTD. LUMBER —
PLYWOOD — STEEL 100 Bayview Road Phone 729-5111
TOUCHE, ROSS & Co. Resident Partners - Charles G. Gale.
F.C.A. Thomas C. Dawson, C.A. CHARTERED ACCOUNTANTS Halifax,
Saint John, Quebec, Montreal, Ottawa, Toronto, Hamilton, London,
Winnipeg, Regina, Saskatoon, North Battleford, Calgary, Edmonton,
Vancouver, Victoria, Nassau, Bahamas. CUTTLES TWb apt MONT
TREMBLANT. QUEBEC, CANADA. WITH OUR COMPLIMENTS By Ward
Market since 1867 FISH (OTTAWA) LIMITED EST. 1867 TELEPHONE
ANSWERING BUREAU 722-6541 3 Branches Serving All Exchanges
Ottawa and Area 24 HOURS A DAY Makes Appointments — Quotes
Prices — Accepts Orders DOES EVERYTHING A SECRETARY CAN DO
BY TELEPHONE 150 Metcalfe 508 Dawson 1568 Merivale
When You Think of Travels Think Voyageur Colonial Limited
• Organized Tours year round • Express trips to suit your needs •
Charter coaches anywhere, anytime • 7 days a week parcel express
You Name It — We Will Provide It VOYAGEUR COLONIAL LIMITED
Telephone 236-9681 William Teron and Associates Royal Trust Bi
jilding 116 Albert St. Ottawa REAL ESTATE DEVELOPMENT &
INVESTMENT jamesbury canada ltd Ottawa, Ontario 'Double-Seal"
"Wafer-Sphere" Ball Valves Butterfly Valves Pneumatic & Electric
Actuators Electronic Positioners
Head Office: Branch Offices: 67 Sparks St. 233-1132 180- A
Metcalfe St. 232-7470 340 McLeod St. 234-3425 St. Laurent
Shopping Centre — 746-6418 Geo. H. Nelms Ltd. PRESCRIPTION
OPTICIAN A GOOD NAME TO KNOW.. .IN EASTERN ONTARIO.
HNWll MORRISBURG KMIlll LUmBERBBLimiTED LUMBER - BUILDING
MATERIALS - MILLWORK - TOOLS HARDWARE - QUALITY HOMES
AND COTTAGES :j & u u i« u — jwinaina *Jjh feen5 DOWNTOWN -
BILLINGS BRIDGE
H. A. HART, Phm.B J. B. HART, Phm.B. HART'S PHARMACY
LIMITED 33 "BEECHWOOD AVE. (COR. MACKAYI OTTAWA 2, t)NT. 3
Conveniently Located Stores in Ottawa 185-187 SPARKS ST. 235-
1481 262 RIDEAU ST. 235-4466 356 RICHMOND RD. 722-4523 Our
Name is Your Guarantee SILVERSMITHS M1a GOLDSMITHS BIRKS
OTTAWA Gifts of Quality and Distinction HENRY BIRKS & SONS LTD.
Billings Bridge Plaza 101 Sparks St. St. Laurent Shopping Centre
737-4600 236-3641 745-7186
P^Jrmstrong and |j^ichardson Lid, "Family Shoe Fitting
Specialists" • Sparks Street Mall • Carlingwood • Billings Bridge • St.
Laurent • Exclusive Shop for Men - 87 Sparks St Compliments of a
FRIEND COMPLIMENTS OF PURE SPRING (CANADA) LIMITED
MANUFACTURERS OF CANADA'S FINEST SOFT DRINKS
COMPLIMENTS OF CAPITAL COACH LINES CO., LTD.
Compliments of John Clifford and Three Great Ski Areas
CAMP FORTUNE MONT STE-MARIE CARLINGTON PARK JOHN
CLIFFORD SKI TOWS LIMITED Old Chelsea, Quebec 827-1594 LET
"Qeorge " DO IT! ROGER ST. LOUIS PRESIDENT INDUSTRIAL
ELECTRICITY • REPAIRS • WIRING • ELECTRIC HEAT • 1181 CECIL
AVENUE, OTTAWA 8 Telephone 731-7842 Sav&Jbr tfieFPun Start
today— saving for some fun. Open a 'Blue Chip' Savings Account. At
our big interest rate, you'll get there faster. Come and see us. The
Bank of Nova Scotia
S*t has been our pleasure to print . . . ®lj£ AsJjbttrtan •
COMMERCIAL PRINTING • LETTERPRESS • LITHOGRAPHY • DESIGN
• LETTERHEADS • OFFICE FORMS • BROCHURES • INVITATIONS
LO-MOR PRINTERS 86 GLOUCESTER STREET 236-3608
Best Wishes from H. FINE & SONS LIMITED Wholesale
Supplier of Food Products D, KEMP EDWARDS LIMITED "THE
LUMBER MART AND HOME RENEWAL CENTRE" Dependable Service
25 Bays water Ave. Ottawa M©bil DISTRIBUTOR PAINTS
QUINCAILLERIE JOLICOEUR LTD. HARDWARE PEINTURE - PAINT
ACCESSOIRES DE MAISON - HOUSEWARE 19-21 Beechwood 749-
5959
FISHER AND WEXLER LIMITED INDUSTRIAL AND PUBLIC
AFFAIRS CONSULTANTS SUITE 505. 151 SLATER STREET OTTAWA
4. CANADA PRESIDENT JAMES D. FISHER TELEPHONE (613) 237-
3598 BLUE LINE Jltct. 238-1111 250 CARS TO SERVE YOU G. T.
Green Ltd. DECORATORS 750 Bar lk St — Ottawa, Ont. 236-2338
^M YOU'LL ENJOY ^x> SchneiderS foods ® "TASTE THE
DIFFERENCE QUALITY MAKES" J. M. SCHNEIDER LTD. KITCHENER,
ONT.
HARRIS FUELS LIMITED FUEL OIL - AIR CONDITIONERS
182 ISABELLA STREET - OTTAWA Compliments of THOMAS FULLER
CONSTRUCTION CO. (1958) LIMITED METCALFE REALTY COMPANY
LIMITED
Compliments of CONTINENTAL SKI IMPORTS LIMITED
IMPORTERS AND DISTRIBUTORS OF QUALITY SKI EQUIPMENT 825-
2497 85 MACFARLANE ROAD OTTAWA, ONTARIO The Double-Check
Chequing Account «M That's really what the Bank of Montreal True
Chequing Account is. For students it's especially useful. Not only do
we provide you with your own personalized cheques, but we mail
you a statement of your account each month with your cancelled
cheques. So you can double-check your cheques. Open a True
Chequing Account at your nearest Bank of Montreal branch. Bank of
Montreal The First Canadian Bank
The text on this page is estimated to be only 0.00%
accurate

lytutograph'
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookname.com

You might also like