0% found this document useful (0 votes)
17 views41 pages

Starting Out With Programming Logic and Design, 6e 6th Edition Tony Gaddis

The document provides links to various educational ebooks authored by Tony Gaddis, including titles on programming logic, Visual Basic, Python, and C++. It also includes information about Pearson's commitment to diversity, equity, and inclusion in educational content. Additionally, it outlines the structure and contents of the 'Starting Out with Programming Logic and Design' textbook.

Uploaded by

karpebleeskd
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
0% found this document useful (0 votes)
17 views41 pages

Starting Out With Programming Logic and Design, 6e 6th Edition Tony Gaddis

The document provides links to various educational ebooks authored by Tony Gaddis, including titles on programming logic, Visual Basic, Python, and C++. It also includes information about Pearson's commitment to diversity, equity, and inclusion in educational content. Additionally, it outlines the structure and contents of the 'Starting Out with Programming Logic and Design' textbook.

Uploaded by

karpebleeskd
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/ 41

Download the Full Ebook and Access More Features - ebookmass.

com

Starting Out With Programming Logic and Design, 6e


6th Edition Tony Gaddis

https://ebookmass.com/product/starting-out-with-programming-
logic-and-design-6e-6th-edition-tony-gaddis/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookmass.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Starting Out with Visual Basic - 8th Edition Tony Gaddis

https://ebookmass.com/product/starting-out-with-visual-basic-8th-
edition-tony-gaddis/

ebookmass.com

Starting Out With Python ( 5th International Edition )


Tony Gaddis

https://ebookmass.com/product/starting-out-with-python-5th-
international-edition-tony-gaddis/

ebookmass.com

Starting out with c++ From control structures through


objects Ninth Edition, Global Edition Tony Gaddis

https://ebookmass.com/product/starting-out-with-c-from-control-
structures-through-objects-ninth-edition-global-edition-tony-gaddis/

ebookmass.com

Boss Witch Ann Aguirre

https://ebookmass.com/product/boss-witch-ann-aguirre-3/

ebookmass.com
Essentials of Pharmacology for Nurses 4th Edition Paul
Barber

https://ebookmass.com/product/essentials-of-pharmacology-for-
nurses-4th-edition-paul-barber/

ebookmass.com

Ferrets For Dummies 3rd Edition Kim Schilling

https://ebookmass.com/product/ferrets-for-dummies-3rd-edition-kim-
schilling/

ebookmass.com

Psychic Spirits: Psychic Mystery Romance (Woodward Hill


Mystery Romance Book 2) Aj Nuest

https://ebookmass.com/product/psychic-spirits-psychic-mystery-romance-
woodward-hill-mystery-romance-book-2-aj-nuest/

ebookmass.com

The Outsider: the Life and Work of Lafcadio Hearn Steve


Kemme

https://ebookmass.com/product/the-outsider-the-life-and-work-of-
lafcadio-hearn-steve-kemme/

ebookmass.com

Naked City: True Stories of Crimes, Cock-Ups, Crooks &


Cops John Silvester

https://ebookmass.com/product/naked-city-true-stories-of-crimes-cock-
ups-crooks-cops-john-silvester/

ebookmass.com
eTextbook 978-1259565403 Fundamentals of Cost Accounting
5th Edition

https://ebookmass.com/product/etextbook-978-1259565403-fundamentals-
of-cost-accounting-5th-edition/

ebookmass.com
Sixth
Edition Starting Out with

Programming
Logic &
Design
This page intentionally left blank
Contents iii

Sixth
Edition Starting Out with

Programming
Logic &
Design

Tony Gaddis
Haywood Community College
Content Development: Dawn Murrin
Content Management: Tracy Johnson
Content Production: Ishan Chaudhary and Carole Snyder
Product Management: Holly Stark
Product Marketing: Wayne Stevens
Rights and Permissions: Anjali Singh
Please contact https://support.pearson.com/getsupport/s/ with any queries on this content.
Cover Image by Patrick de grijs/123RF.
Microsoft and/or its respective suppliers make no representations about the suitability of the information contained in the
documents and related graphics published as part of the services for any purpose. All such documents and related graphics
are provided “as is” without warranty of any kind. Microsoft and/or its respective suppliers hereby disclaim all warranties
and conditions with regard to this information, including all warranties and conditions of merchantability, whether express,
implied or statutory, fitness for a particular purpose, title and non-infringement. In no event shall Microsoft and/or its
respective suppliers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from
loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in
connection with the use or performance of information available from the services.
The documents and related graphics contained herein could include technical inaccuracies or typographical errors. Changes
are periodically added to the information herein. Microsoft and/or its respective suppliers may make improvements and/or
changes in the product(s) and/or the program(s) described herein at any time. Partial screen shots may be viewed in full
within the software version specified.
Microsoft® and Windows® are registered trademarks of the Microsoft Corporation in the U.S.A. and other countries. This
book is not sponsored or endorsed by or affiliated with the Microsoft Corporation.
Copyright © 2023, 2019 by Pearson Education, Inc. or its affiliates, 221 River Street, Hoboken, NJ 07030. All Rights
Reserved. Manufactured in the United States of America. This publication is protected by copyright, and permission should
be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any
form or by any means, electronic, mechanical, photocopying, recording, or otherwise. For information regarding
permissions, request forms, and the appropriate contacts within the Pearson Education Global Rights and Permissions
department, please visit www.pearsoned.com/permissions/.
Acknowledgments of third-party content appear on the appropriate page within the text.
PEARSON is exclusive trademarks owned by Pearson Education, Inc. or its affiliates in the U.S. and/or other countries.
Unless otherwise indicated herein, any third-party trademarks, logos, or icons that may appear in this work are the property
of their respective owners, and any references to third-party trademarks, logos, icons, or other trade dress are for
demonstrative or descriptive purposes only. Such references are not intended to imply any sponsorship, endorsement,
authorization, or promotion of Pearson’s products by the owners of such marks, or any relationship between the owner and
Pearson Education, Inc., or its affiliates, authors, licensees, or distributors.

Library of Congress Cataloging-in-Publication Data


Starting Out with Programming Logic & Design
Library of Congress Cataloging in Publication Control Number: 2021057225

ScoutAutomatedPrintCode
Rental:
ISBN-10: 0-13-760214-6
ISBN-13: 978-0-13-760214-8
Print offer:
ISBN-10: 0-13-760191-3
ISBN-13: 978-0-13-760191-2
Contents v

Pearson’s Commitment
to Diversity, Equity,
and Inclusion

Pearson is dedicated to creating bias-free content that reflects the diversity,


depth, and breadth of all learners’ lived experiences.

We embrace the many dimensions of diversity, including but not limited to race, ethnicity, gender,
sex, sexual orientation, socioeconomic status, ability, age, and religious or political beliefs.

Education is a powerful force for equity and change in our world. It has the potential to deliver
opportunities that improve lives and enable economic mobility. As we work with authors to create
content for every product and service, we acknowledge our responsibility to demonstrate inclusivity
and incorporate diverse scholarship so that everyone can achieve their potential through learning.
As the world’s leading learning company, we have a duty to help drive change and live up to our
purpose to help more people create a better life for themselves and to create a better world.

Our ambition is to purposefully contribute to a world where:


• Everyone has an equitable and lifelong opportunity • Our educational products and services are inclusive
to succeed through learning. and represent the rich diversity of learners.
• Our educational content accurately reflects the • Our educational content prompts deeper
histories and lived experiences of the learners discussions with students and motivates them to
we serve. expand their own learning (and worldview).

Accessibility Contact Us
We are also committed to providing products that While we work hard to present unbiased, fully
are fully accessible to all learners. As per Pearson’s accessible content, we want to hear from you about
guidelines for accessible educational Web media, any concerns or needs with this Pearson product so
we test and retest the capabilities of our products that we can investigate and address them.
against the highest standards for every release,
Please contact us with concerns about any
following the WCAG guidelines in developing new
potential bias at
products for copyright year 2022 and beyond.
https://www.pearson.com/report-bias.html
You can learn more about Pearson’s
For accessibility-related issues, such as using
commitment to accessibility at
assistive technology with Pearson products,
https://www.pearson.com/us/accessibility.html
alternative text requests, or accessibility
documentation, email the Pearson Disability Support
team at [email protected]
vi Contents

Brief Contents

Preface xiii
Acknowledgments xxi
About the Author xxv
Chapter 1 Introduction to Computers and Programming 1
Chapter 2 Input, Processing, and Output 27
Chapter 3 Decision Structures and Boolean Logic 103
Chapter 4 Repetition Structures 161
Chapter 5 Modules 227
Chapter 6 Functions 285
Chapter 7 Input Validation 335
Chapter 8 Arrays 353
Chapter 9 Sorting and Searching Arrays 419
Chapter 10 Files 469
Chapter 11 Menu-Driven Programs 543
Chapter 12 Text Processing 595
Chapter 13 Recursion 623
Chapter 14 Object-Oriented Programming 649
Chapter 15 GUI Applications and Event-Driven Programming 715
Appendix A ASCII/Unicode Characters 747
Appendix B Flowchart Symbols 749
Appendix C Pseudocode Reference 751
Appendix D Converting Decimal Numbers to Binary 765
Appendix E Answers to Checkpoint Questions 767
Index 783
vi
Contents vii

Contents

Preface xiii
Acknowledgments xxi
About the Author xxv

Chapter 1 Introduction to Computers and Programming 1


1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 How Computers Store Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 How a Program Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Types of Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Chapter 2 Input, Processing, and Output 27


2.1 Designing a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 Output, Input, and Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3 Variable Assignment and Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IN THE SPOTLIGHT: Calculating Cell Phone Overage Fees . . . . . . . . . . . . . . . . . . 47
IN THE SPOTLIGHT: Calculating a Percentage . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
IN THE SPOTLIGHT: Calculating an Average . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
IN THE SPOTLIGHT: Converting a Math Formula to a Programming Statement. . . 55
2.4 Variable Declarations and Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5 Named Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.6 Hand Tracing a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.7 Documenting a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
IN THE SPOTLIGHT: Using Named Constants, Style Conventions,
and Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.8 Designing Your First Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.9 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . . 72
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

vii
viii Contents

Chapter 3 Decision Structures and Boolean Logic 103


3.1 Introduction to Decision Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
IN THE SPOTLIGHT: Using the If-Then Statement . . . . . . . . . . . . . . . . . . . . . . 110
3.2 Dual Alternative Decision Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
IN THE SPOTLIGHT: Using the If-Then-Else Statement . . . . . . . . . . . . . . . . . 114
3.3 Comparing Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.4 Nested Decision Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
IN THE SPOTLIGHT: Multiple Nested Decision Structures . . . . . . . . . . . . . . . . . 125
3.5 The Case Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
IN THE SPOTLIGHT: Using a Case Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.6 Logical Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.7 Boolean Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3.8 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 142
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Chapter 4 Repetition Structures 161


4.1 Introduction to Repetition Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.2 Condition-Controlled Loops: While, Do-While, and Do-Until . . . . 162
IN THE SPOTLIGHT: Designing a While Loop . . . . . . . . . . . . . . . . . . . . . . . . . . 167
IN THE SPOTLIGHT: Designing a Do-While Loop . . . . . . . . . . . . . . . . . . . . . . . 174
4.3 Count-Controlled Loops and the For Statement . . . . . . . . . . . . . . . . . 179
IN THE SPOTLIGHT: Designing a Count-Controlled Loop
with the For Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.4 Calculating a Running Total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.5 Sentinels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
IN THE SPOTLIGHT: Using a Sentinel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
4.6 Nested Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
4.7 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 210
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Chapter 5 Modules 227


5.1 Introduction to Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5.2 Defining and Calling a Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
IN THE SPOTLIGHT: Defining and Calling Modules . . . . . . . . . . . . . . . . . . . . . . 239
5.3 Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
5.4 Passing Arguments to Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
IN THE SPOTLIGHT: Passing an Argument to a Module . . . . . . . . . . . . . . . . . . . 251
Contents ix

IN THE SPOTLIGHT: Passing an Argument by Reference . . . . . . . . . . . . . . . . . . . 257


5.5 Global Variables and Global Constants . . . . . . . . . . . . . . . . . . . . . . . . 260
IN THE SPOTLIGHT: Using Global Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
5.6 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 265
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Chapter 6 Functions 285


6.1 Introduction to Functions: Generating Random Numbers . . . . . . . . . . 285
IN THE SPOTLIGHT: Using Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 289
IN THE SPOTLIGHT: Using Random Numbers to Represent Other Values . . . . . 292
6.2 Writing Your Own Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
IN THE SPOTLIGHT: Modularizing with Functions . . . . . . . . . . . . . . . . . . . . . . . 300
6.3 More Library Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
6.4 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 319
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Chapter 7 Input Validation 335


7.1 Garbage In, Garbage Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
7.2 The Input Validation Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
IN THE SPOTLIGHT: Designing an Input Validation Loop . . . . . . . . . . . . . . . . . 338
7.3 Defensive Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
7.4 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 344
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

Chapter 8 Arrays 353


8.1 Array Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
IN THE SPOTLIGHT: Using Array Elements in a Math Expression . . . . . . . . . . . 360
8.2 Sequentially Searching an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
8.3 Processing the Contents of an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
IN THE SPOTLIGHT: Processing an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
8.4 Parallel Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
IN THE SPOTLIGHT: Using Parallel Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
8.5 Two-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
IN THE SPOTLIGHT: Using a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . 395
8.6 Arrays of Three or More Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
x Contents

8.7 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 401


Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

Chapter 9 Sorting and Searching Arrays 419


9.1 The Bubble Sort Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
IN THE SPOTLIGHT: Using the Bubble Sort Algorithm . . . . . . . . . . . . . . . . . . . . 426
9.2 The Selection Sort Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
9.3 The Insertion Sort Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
9.4 The Binary Search Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
IN THE SPOTLIGHT: Using the Binary Search Algorithm . . . . . . . . . . . . . . . . . . . 449
9.5 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 451
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Debugging Exercise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

Chapter 10 Files 469


10.1 Introduction to File Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . 469
10.2 Using Loops to Process Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
IN THE SPOTLIGHT: Working with Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
10.3 Using Files and Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
10.4 Processing Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
IN THE SPOTLIGHT: Adding and Displaying Records . . . . . . . . . . . . . . . . . . . . . 496
IN THE SPOTLIGHT: Searching for a Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
IN THE SPOTLIGHT: Modifying Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
IN THE SPOTLIGHT: Deleting Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
10.5 Control Break Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
IN THE SPOTLIGHT: Using Control Break Logic . . . . . . . . . . . . . . . . . . . . . . . . . 510
10.6 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 516
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

Chapter 11 Menu-Driven Programs 543


11.1 Introduction to Menu-Driven Programs . . . . . . . . . . . . . . . . . . . . . . . . 543
11.2 Modularizing a Menu-Driven Program . . . . . . . . . . . . . . . . . . . . . . . . . 554
11.3 Using a Loop to Repeat the Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
IN THE SPOTLIGHT: Designing a Menu-Driven Program . . . . . . . . . . . . . . . . . . 564
11.4 Multiple-Level Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
11.5 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 584
Contents xi

Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590


Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592

Chapter 12 Text Processing 595


12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
12.2 Character-by-Character Text Processing . . . . . . . . . . . . . . . . . . . . . . . . 597
IN THE SPOTLIGHT: Validating a Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
IN THE SPOTLIGHT: Formatting and Unformatting Telephone Numbers . . . . . . 606
12.3 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 611
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Debugging Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620

Chapter 13 Recursion 623


13.1 Introduction to Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
13.2 Problem Solving with Recursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
13.3 Examples of Recursive Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
13.4 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 640
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

Chapter 14 Object-Oriented Programming 649


14.1 Procedural and Object-Oriented Programming. . . . . . . . . . . . . . . . . . . 649
14.2 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
14.3 Using the Unified Modeling Language to Design Classes . . . . . . . . . . . 664
14.4 Finding the Classes and Their Responsibilities in a Problem . . . . . . . . . 667
IN THE SPOTLIGHT: Finding the Classes in a Problem . . . . . . . . . . . . . . . . . . . . 667
IN THE SPOTLIGHT: Determining Class Responsibilities . . . . . . . . . . . . . . . . . . . 671
14.5 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
14.6 Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
14.7 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 689
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710

Chapter 15 GUI Applications and Event-Driven


Programming 715
15.1 Graphical User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
15.2 Designing the User Interface for a GUI Program . . . . . . . . . . . . . . . . . . 718
IN THE SPOTLIGHT: Designing a Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
15.3 Writing Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
xii Contents

IN THE SPOTLIGHT:Designing an Event Handler . . . . . . . . . . . . . . . . . . . . . . . . 728


15.4 Designing Apps for Mobile Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
15.5 Focus on Languages: Java, Python, and C++ . . . . . . . . . . . . . . . . . . . . . 740
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
Programming Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744

Appendix A ASCII/Unicode Characters 747


Appendix B Flowchart Symbols 749
Appendix C Pseudocode Reference 751
Appendix D Converting Decimal Numbers to Binary 765
Appendix E Answers to Checkpoint Questions 767

Index 783
Contents xiii

Preface

W
elcome to Starting Out with Programming Logic and Design, Sixth Edition.
This book uses a language-independent approach to teach programming
concepts and problem-solving skills, without assuming any previous pro-
gramming experience. By using easy-to-understand pseudocode, flowcharts, and other
tools, the student learns how to design the logic of programs without the complication
of language syntax.
Fundamental topics such as data types, variables, input, output, control structures,
modules, functions, arrays, and files are covered as well as object-oriented concepts,
GUI development, and event-driven programming. As with all the books in the Starting
Out with . . . series, this text is written in clear, easy-to-understand language that stu-
dents find friendly and inviting.
Each chapter presents a multitude of program design examples. Short examples that
highlight specific programming topics are provided, as well as more involved examples
that focus on problem solving. Each chapter includes at least one In the Spotlight
section that provides step-by-step analysis of a specific problem and demonstrates a
solution to that problem.
This book is ideal for a programming logic course that is taught as a precursor to a
language-specific introductory programming course, or for the first part of an intro-
ductory programming course in which a specific language is taught.

Changes in the Sixth Edition


Previous editions of this book introduced modules, which are procedures that do not
return a value, in Chapter 3. Feedback from adopters and reviewers indicate that stu-
dents sometimes have trouble learning about modules before they have been exposed
to control structures, such as If statements and loops. In this edition, the chapter on
modules has been moved to Chapter 5. Now, the students will learn about control
structures, then modules, and then value-returning functions. This improved pedagogy
gradually introduces the students to the different ways a program’s flow of execution
can be directed.

Brief Overview of Each Chapter


Chapter 1: Introduction to Computers and Programming
This chapter begins by giving a concise and easy-to-understand explanation of how
computers work, how data is stored and manipulated, and why we write programs in
high-level languages.

xiii
xiv Preface

Chapter 2: Input, Processing, and Output


This chapter introduces the program development cycle, data types, variables, and
sequence structures. The student learns to use pseudocode and flowcharts to design
simple programs that read input, perform mathematical operations, and produce
screen output.

Chapter 3: Decision Structures and Boolean Logic


In this chapter students explore relational operators and Boolean expressions and are
shown how to control the flow of a program with decision structures. The If-Then,
If-Then-Else, and If-Then-Else If statements are covered. Nested decision struc-
tures, logical operators, and the case structure are also discussed.

Chapter 4: Repetition Structures


This chapter shows the student how to use loops to create repetition structures. The
While, Do-While, Do-Until, and For loops are presented. Counters, accumulators,
running totals, and sentinels are also discussed.

Chapter 5: Modules
This chapter demonstrates the benefits of modularizing programs and using the top-
down design approach. The student learns to define and call modules, pass arguments
to modules, and use local variables. Hierarchy charts are introduced as a design tool.

Chapter 6: Functions
This chapter begins by discussing common library functions, such as those for generat-
ing random numbers. After learning how to call library functions and how to use val-
ues returned by functions, the student learns how to define and call his or her own
functions.

Chapter 7: Input Validation


This chapter discusses the importance of validating user input. The student learns to
write input validation loops that serve as error traps. Defensive programming and the
importance of anticipating obvious as well as unobvious errors is discussed.

Chapter 8: Arrays
In this chapter the student learns to create and work with one- and two-dimensional
arrays. Many examples of array processing are provided including examples illustrat-
ing how to find the sum, average, and highest and lowest values in an array, and how
to sum the rows, columns, and all elements of a two-dimensional array. Programming
techniques using parallel arrays are also demonstrated.

Chapter 9: Sorting and Searching Arrays


In this chapter the student learns the basics of sorting arrays and searching for data
stored in them. The chapter covers the bubble sort, selection sort, insertion sort, and
binary search algorithms.
Exploring the Variety of Random
Documents with Different Content
Die Frage der alten Steinkreuze, die uns hier an dem Buch allein
interessiert, ist durchaus einseitig vom kirchlich-legendären
Standpunkt aus behandelt. Wie fast alle übrigen Altertümer im
slawischen Sprachgebiet, so bringt der Verfasser auch sämtliche
Steinkreuze, die er auf seinen Reisen antraf oder sonstwie in
Erfahrung brachte, ohne weiteres mit den beiden Slawenaposteln in
Verbindung. Selbst der Name »Heilige Quelle, Heiliges Wasser,
Heiliger See, Heiliger Hain«, der allerorten einmal wiederkehrt,
genügt ihm als Beweis, daß Cyrill und Methodius dort die Heiden
getauft und das Christentum verkündet haben. Weder hier noch bei
Kirchen- und Klosterbauten aus älterer Zeit wird auch nur der
geringste Versuch gemacht, einen geschichtlichen Nachweis
irgendwelcher Art zu erbringen. Ohne weitere allgemeine oder
einzelne Begründung behandelt er infolgedessen auch jedes alte
Steinkreuz als Zeugnis dafür, daß einer der Heiligen an der Stelle
geweilt und gepredigt oder wenigstens auf Missionsreisen
vorübergekommen sei. Bei dieser vorgefaßten Meinung erwähnt er
nicht einmal die nächstliegende und offenkundige Tatsache, daß
jene Kreuzsteine nur in gewissen Gegenden vom Volksmunde als
Cyrill- und Methodiuskreuze bezeichnet werden.
Phot. K. Sippel, Plauen i. V.
Abb. 99 Kemnitzbachtal bei Plauen i. V.
Anderseits gibt er aber ebensowenig die erforderlichen
Erklärungen dafür, daß genau die gleichen Steinkreuze weit über
den geschilderten Wirkungskreis der Slawenapostel in ganz Europa
von Spanien bis zum Kaukasus, von Norditalien bis in den hohen
Norden, ja vielleicht sogar auf brasilianischem Boden in Südamerika
zu finden sind; er gibt auch keine Deutung für ihre Mannigfaltigkeit
an Größe, Alter, Form, Inschrift und Waffenschmuck, die einen
gemeinsamen kirchlichen Ursprung um 800 nach Christi völlig in
Frage stellt. Das Vorhandensein von mehreren hundert deutscher
und slawischer Urkunden aus dem zwölften bis siebzehnten
Jahrhundert läßt dagegen mindestens für einen erheblichen Teil
dieser vermeintlichen »Cyrill- und Methodiussteine« einen weit
späteren und viel weltlicheren Ursprung vermuten.

Abb. 100 Mügeln bei Oschatz


Der orthodoxe Prälat Dr. Přicryl verfällt bei seiner Behandlung der
Steinkreuzfrage also in denselben Fehler, wie der sächsische
evangelische Pfarrer Helbig, der 1906 auf Grund einer
engbegrenzten Kenntnis von etwa hundert sächsischen
Steinkreuzen, die Theorie verfocht, sie als Grenzzeichen kirchlicher
Hoheitsgebiete hinzustellen. Er schwieg sich bis heute über
dieselben Fragen aus, an denen die slawische Heiligenlegende
scheitert. Nachdem die Zahl der bekannten sächsischen Steinkreuze
aber durch weitere Forschungen mehr als verdreifacht ist und noch
viele Tausend gleichartiger Denkmäler in Europa verzeichnet worden
sind, ist es mit der einst heißumstrittenen Grenzzeichentheorie von
selber zu Ende gegangen. In ähnlicher Weise fällt also die Annahme
Dr. Přicryls, daß seine fünfzig Kreuze in Mähren, Böhmen und
Sachsen samt und sonders auf Cyrill und Methodius hinweisen
sollen, auch in sich zusammen, falls sich der Verfasser nicht mit den
übrigen europäischen und überseeischen Funden und mit den
widersprechenden urkundlichen Belegen in wissenschaftlich
einwandfreier Weise auseinandersetzt.
Abb. 101 Liebstadt

Daß die übrige Behandlung der Steinkreuzfunde bei so unsicherer


Grundlage keinen allzugroßen geschichtlichen Wert beanspruchen
kann, mag nach einigen Beispielen beurteilt werden, die ich aus
bekannten sächsischen Gegenden wähle, die aber natürlich auch
anderwärts zu ergänzen wären. So ist folgendes zu lesen, S. 118:
»Nach den Denkmalen zu urteilen, begab sich das heilige
Bruderpaar um den Cernoboh über Löbau nach Bautzen.« – S. 122:
»Zwischen Flins bei Bautzen und dem Heiligen See (Baselitzer
Teich) bei Kamenz fand ich zehn Steinkreuze, die von der liebevollen
Aufnahme der heiligen Slawenapostel Zeugnis ablegen.« – S. 126:
»Mit dem Steinkreuz in Arnsdorf und dem Steinkreuz vor Zittau ist
die Rückreise der heiligen Slawenapostel nach Welejrad
angedeutet.« – S. 130: »Steinkreuze bezeichnen den apostolischen
Weg des heiligen Methodius von Lebus nach Dresden.« – Auf diese
Weise würden sich auf der sächsischen Steinkreuzkarte, die meinen
ersten Veröffentlichungen in Heft 6 von 1914 beilag, die
verschiedensten Missionsreisen im Zickzackkurs einzeichnen
lassen.
Auch hinter viele Einzelschilderungen von Steinkreuzen muß man
bei näherer Prüfung ein großes Fragezeichen machen, denn neben
erweislich unrichtigen Angaben wird manche Sage als geschichtliche
Wahrheit aufgetischt, wenn sie sich dazu eignet, die »beiden Zierden
der Menschheit« als Heidenbekehrer zu verherrlichen oder den
Ruhm des Slawentums im allgemeinen zu mehren.
Nach alledem möchte ich mein Urteil über das Přicrylsche Buch,
soweit es die Steinkreuzforschung betrifft, dahin zusammenfassen,
daß es uns mit einigen Dutzend neuer mährischer Standorte – ohne
nähere Beschreibung der Kreuze – flüchtig bekannt macht, an der
Lösung des Steinkreuzproblems aber genau in dem Maße
irreführend und verwirrend beteiligt ist, wie seinerzeit die
Helbigschen Aufsätze.
Wenn man diese literarischen Veröffentlichungen des letzten
Jahrzehntes also nochmals überblickt, so läßt sich zwar
erfreulicherweise eine wachsende Tätigkeit bei der örtlichen
Aufsuchung der Steinkreuze feststellen, von nennenswerten
Fortschritten bei der wissenschaftlichen Forschung und Deutung, ist
mir aber nichts zur Kenntnis gekommen.
Für die allgemeinere volkstümliche Ausbreitung des Interesses an
der alten germanischen Sitte, erschien es mir schließlich schon
früher bemerkenswert, daß das Steinkreuz in der darstellenden
Kunst und der Literatur vielfach als charakteristisches Begleitstück
deutscher Landschaft in phantasievoller Weise erwähnt oder
abgebildet wird. Zu den damals erwähnten Proben (vgl. Bd. VI,
Heft 11, Seite 299 und Abb. 77 aus Kaulbachs Reineke Fuchs) ließe
sich eine lange Reihe weiterer Beispiele bis herauf zu Liliencron und
Löns anführen.
Wichtiger als die einzelne Aufzählung solch dichterischer oder
künstlerischer Verwertung aus neuer Zeit, erscheint mir aber die
dauernde Ergänzung der alten Urkundsverzeichnisse, soweit sie
sächsische Ortschaften betreffen. Neben den von Meiche
wiedergegebenen, aus Leipzig usw., seien deshalb zwei unbekannte
aus dem westlichen Erzgebirge genannt, die 1487 in Zwickau und
1490 in Schneeberg das Setzen eines Steinkreuzes als
Totschlagsühne verlangen und in Herzogs Chronik von Zwickau
1845, II. Teil, S. 149, sowie in Christian Meltzers Stadt- und
Bergchronik von Schneeberg, 1716, S. 1166, abgedruckt sind. Im
weiteren Verlauf der Forschung wird sich auch für solche
Sühneverträge oder Wahrsprüche, die von mir bereits 1914
aufgezählt wurden, eine Fortsetzung der listenmäßigen
Zusammenstellung nützlich erweisen, damit die urkundliche Seite
der Sache zu den Funden an Ort und Stelle in bestimmte Beziehung
gebracht werden kann. Wenn der Sühnegedanke wohl auch nicht
der Ursprung und der alleinige Zweck der gesamten Steinkreuzsitte
gewesen ist, so dürfte er doch fast ein halbes Jahrtausend lang und
bis zum Ausgang der Sache am Anfang des achtzehnten
Jahrhunderts den Hauptgrund für die Errichtung der überwiegenden
Mehrzahl abgegeben haben. Ich bitte also bei archivalischen Studien
nebenbei auf solche Gerichtsurteile weltlicher oder geistlicher
Stühle, auf Wahrsprüche städtischer oder fürstlicher Machthaber,
Sühneverträge und Vergleichsurkunden aller Art zu achten und mich
durch Quellenangabe und Auszüge freundlichst auch auf diese
papiernen Fundstätten aufmerksam zu machen.
Damit schließe ich die textliche Darstellung meiner bisherigen
Forschungen zur sächsischen Steinkreuzkunde; neben weiteren
Nachträgen hoffe ich, meine nach Tausenden zählenden
Steinkreuzfeststellungen im übrigen Europa auch einmal in
schriftstellerischer Weise veröffentlichen zu können.
I. Vorhandene Steinkreuze
a) Nachträge zu früher genannten Kreuzen

Gesteinsart
Nr. Standort Maße
Ergänzungen
3 Auerbach i. V.: Zwei Kreuze aus
der Ufermauer
herausgenommen und gleich
den anderen beiden (Nr. 4) im
Stadtpark 1921 aufgestellt.
Beide standen auf oder neben
der alten Göltzschbrücke, die
1883 abgebrochen wurde.
34 Crostwitz bei Kamenz: Am
selben Platz im Dorfe beim
zugeschütteten Teich 1922
wieder aufgestellt.
45 Großer Garten, Dresden: Im
August 1920 böswilligerweise
in Stücke zerschlagen. Mit
Zement ausgebessert und
flach auf den Boden gelegt.
63 Gorknitz bei Pirna: Ausgegraben
und am selben Orte 1920 neu
aufgestellt. Mitteilungen X,
Heft 4/6, S. 85.
70 Gröbern bei Meißen: Aus der 78 : 56 : 15 Sandstein
Scheunenmauer im Gutshofe
herausgenommen und am
Dorfplatz aufgestellt.
128 Liebstadt: Das stehende Kreuz 88 : 48 : 23
war zerbrochen und wurde
auf Stadtkosten 1919 neu
aufgestellt. – Das liegende an
der Wegweisersäule nach
Bertelsdorf wurde gehoben
und neu aufgestellt.
141 Mügeln bei Oschatz: In der
Südostecke des Friedhofes
bei der Totengräberwohnung
neu aufgestellt.
153 Oberau bei Meißen a. E.:
Ausgegraben und am selben
Orte neu aufgestellt.
187a Rochlitz: Im Museum. Drei
Kreuze aus der Rochlitzer
Gegend.
222 Weißig bei Dresden: Am Bahnhof
weggenommen und nördlich
der Straße unter alten
Bäumen in der Wiese neu
aufgestellt.

b) Neuentdeckte Kreuze

Nr. Standort Maße Gesteinsart


232 Bockwen bei Meißen: An der 122 : 84 : 35 Sandstein
Straße Bockwen–Reichenbach
(alter Bischofsweg Meißen–
Briesnitz–Stolpen). 1922
ausgegraben und neu
aufgestellt.
233 Böhla bei Großenhain: Beim 120 : 42 : 20 Sandstein
Birkenwald an der Straße nach
Ortrand, etwa 800 m westlich
von Böhla. Krummer Säbel.
234 Dippoldiswalder Haide: In 72 : 56 : 22 Sandstein
Forstabteilung 54 mitten in
jungem Bestand, etwa 180 m
nördlich der Straße Malter–
Wendischcarsdorf. Erhabenes
symmetrisches Kreuz auf der
Vorderseite.
235 Fischheim bei Wechselburg a. 64 : 55 : 19 Porphyr
M.: Im Herbst 1923 wieder
ausgegraben und am
schmalen Fußweg, der vor der
Steudtener Schänke von der
Dorfstraße abzweigt und
östlich an den Fischheimer
Gütern entlang führt, neu
aufgestellt. Messer auf der
Vorderseite.
236 Fürstenwalde bei Lauenstein: 87 : 69 : 21 Sandstein
Östlich der alten Teplitzer
Straße und 600 m südlich des
Harthewaldes an einem
Feldwege. Inschrift: 1622 G. S.
und Bild einer Schere.
»Leichenstein«.
[8]
237 Geyersdorf bei Annaberg: Ein
Kreuz und ein Bruchstück am
Dorfplatz neben der
ehemaligen Schule.
238 Gospersgrün bei Treuen i. V.: 50 : 42 : 22 Granit
Zwei Kreuze am sogenannten 40 : 85 : 24 Granit
oberen Teich beim
Straßenkreuz.
239 Grillenburger Wald: Auf 98 : 57 : 2 Sandstein
Forstabteilung 48 im
Nordwestteil. Längere
verwitterte Inschrift von 1592.
240 Haberfeldwald bei Lauenstein: 120 hoch Gneis
Auf Forstabteilung 56 nahe der
Grenze. Inschrift: E. T. 16...
241 Kemnitzbachtal bei Plauen i. V.: 54 : 58 : 20 Granit
Auf der Bachbrücke im Zuge
der Straße Geilsdorf–
Staatsstraße Plauen–Hof bei
Zöbern. Im Jahre 1915 nach
der
Frühjahrsüberschwemmung im
Bach gefunden. Inschriften:
1862, 1870.
242 Kürbitz bei Plauen i. V.: In der 92 : 60 : ? Granit
Außenwand der
Friedhofsmauer südwestlich
der Kirche eingemauert. Zwei
senkrechte Striche. 1923 beim
Wegebau verschüttet.
[8]
243 Limbach bei Reichenbach:
Oberhalb der Pfarre.
(Mitteilung der
Straßenbaubehörde von
1916.)
244 Löbau: Bei Ausschachtungen an 105 : 85 : 28 Sandstein
der Kittlitzer Landstraße in 3 m
Tiefe gefunden und am
Schnittpunkt der
Mücklichstraße mit der
Ziegelstraße aufgestellt.
Runde Aushöhlung in der Mitte
des Kreuzes.
245 Markranstädt: Im Vorgarten an 105 : 54 : 16 Sandstein
dem von der Lützener Straße
abzweigenden Weg nach
Schkeitbar. Spieß oder
Schwert.
246 Markranstädt: An der Weggabel
der Zwenkauer Straße und
des Lausaner Wegs.
Antoniuskreuz.
247 Meißen a. E.: Seit etwa dreißig 165 : 102 : 31 Sandstein
Jahren aufgestellt im Hofe des
Franziskaner-Klosters
(Museum) am Heinrichplatz.
Früher am Schweizerhaus
beim Eingange des
Rauhentales im Triebischtal.
248 Pirna a. E.: Westlich der 145 : 105 : 30 Sandstein
Malzfabrik auf dem Gelände
der alten Dresdner Landstraße
1922 im Acker ausgegraben.
Unterteil ergänzt. Fünf
achtfach geteilte Kreuze im
Kreis.
249 Porschdorf bei Bad Schandau: 59 : 53 : 26 Sandstein
Im obersten Ortsteil vor Haus
32.
250 Röhrsdorf bei Meißen: Vor dem 87 : 56 : 21 Sandstein
nordöstlichen
Friedhofspförtchen als
Kriegerdenkmal aufgestellt.
1896 bei Aufgrabungen in 3 m
Tiefe unter der Dorfstraße
gefunden.
251 Schönau bei Borna, Bez. Leipzig: 50 : 30 : 25 Porphyr
Bruchstück. Vorderseite Beil;
Rückseite: Schwert ohne Griff.
[8]
252 Schönau bei Bergen östlich
Plauen: Im Dorfe. (Mitteilung
der Straßenbaubehörde.)
253 Schrebitz bei Mügeln, Bez. 66 : 52 : 21 Granit
Leipzig: Antoniuskreuz. Vor
dem Gute Nr. 63 am Gasthof.
254 Thümmlitzwald bei Leisnig: Im 72 : 63 : 24 Sandstein
Forstort 29 einige Schritte
nordwestlich vom Griesenweg.
»Beatenkreuz«.
255 Stadt Wehlen a. E.: Um 1900 70 : 39 : 12 Sandstein
beim Umpflastern des
Pfarrhofs neben der alten
abgebrochenen Kirche
gefunden. Im Pfarrgarten
vorläufig aufgestellt. Inschrift
1750.
[8]
256 Wiesa bei Annaberg: In der
Grundmauer des Hauses Nr.
65 auf der nach der Dorfstraße
gelegenen Seite eingemauert.
[8]
257 Zaulsdorf bei Oelsnitz i. V.: Beim
Dorfe. (Mitteilung der
Straßenbaubehörde von
1916.)

II. Verschwundene Steinkreuze

Zahl
Nr. Ort der Erwähnung
Kreuze
19 Falkenstein i. V. – Das Kreuz war mit der Zeichnung
eines ungespannten Bogens und
eines Pfeils versehen. (Mitteilung
von Lehrer L. Viehweg in Bad
Elster von 1919.)
28 Helmsdorf – Abgebildet in »Über Berg und Tal«,
1904, S. 300.
33 Königsbrück 1 Das fünfte der dortigen Kreuze (Nr.
109–111) ist 1908 beim Bau
eines Schuppens am
Krankenhaus mit in die Erde
geworfen worden.
68 Falkenstein i. V. 1 Bis zum großen Brand der achtziger
Jahre in einer engen Gasse nach
Grünbach zu. Mitteilung von
Fräulein E. v. Cotta.
69 Gottleuba, am 1 Nach einer Aktennotiz vom Jahre
Hellendorfer 1500 an einen Bauer als
Weg Schleifstein verkauft worden.
70 Kamenz 1 Vgl. Störzner: Was die Heimat
erzählt. S. 252 und 285.
71 Nieder- 1 Beim Aufgang zum Schloß auf dem
Reinsberg b. Mühlgrundstück in der Nähe des
Nossen Mühlgrabens. Mitteilung von W.
Krumbiegel, Klotzsche.
72 Schöneck i. V. 3 Bis 1882 auf einer Wiese vor der
Stadt. Mitteilung von Fräulein E.
v. Cotta.
73 Trieb bei 1 Früher an der Falkensteiner Straße.
Falkenstein i. Beim Bau eines Bauernhauses
V. als Mauerstein verwendet.
Heimatschutzakten betr.
Kulturdenkmale, S. 39.
74 Unterlauterbach 1 Beim Dungerschen Gute. Beim
Straßenbau zerschlagen worden.
Heimatschutzakten betr.
Kulturdenkmale, S. 39.

III. Literaturverzeichnis
Charles Darwin, Journal of Researches into the Natural History
and Geology of the Countries visited during the voyage of H. M.
S. Beagle: Round the world. London. Verlag John Murray 1860.
Seite 26 enthält eine Notiz vom 19. April 1832 über einen
Ausflug von Rio de Janeiro: »The road is often marked by
crosses in the place of milestones, to signify where human
blood has been spilled«.
Vogtländischer Anzeiger und Tageblatt vom 13. August 1916,
S. 14. Beschreibung der Kreuze von Kürbitz und
Kemnitzbachtal.
Neues Archiv für Sächsische Geschichte und
Alterstumskunde. XL, Heft 1/2, S. 189. Zur
Steinkreuzforschung. Von Alfred Meiche. Besprechung der
Arbeit von Dr. Kuhfahl, in Mitteilungen 1914 bis 1916, mit
Angabe neuer Sühneurkunden usw.
Dresdner Anzeiger vom 20. April 1919. Dr. Kuhfahl: Zur
Steinkreuzforschung. Ebenda vom 6. Mai 1914, Dr. Kuhfahl:
Aus dem Sagenkreis der alten Steinkreuze. Ebenda vom 11.
Mai 1924 mit illustrierter Beilage: Alte Steinkreuze im Dresdner
Weichbild, von Dr. Kuhfahl.
Monatsschrift für Photographie, März 1919, Berlin. Dr. Kuhfahl.
Photographische Steinkreuzforschung.
Emil Obst, Über Mord- und Sühnekreuze in den Muldenkreisen
Bitterfeld und Delitzsch. 2. Auflage. Selbstverlag. Bitterfeld
1921.
Dr. Franz Přicryl, Denkmale der Heiligen Konstantin und
Methodius in Europa. Wien 1920. Verlag von Heinrich Kirsch.
Max Walter, Ernsttal, Baden. Steinkreuze des hinteren Odenwalds
in »Vom Bodensee zum Main«, Heimatblätter Nr. 25. 1923.
Wilhelm Lange, Über Steinkreuze in Touristische Mitteilungen aus
beiden Hessen usw. 1909 Nr. 2 und 3, 1910 Nr. 5.
(Besprechung hessischer Standorte.)
Gustav Metscher, Märkische Sühnekreuze in Deutsche Zeitung
vom 23. Juli 1921.
Karl Zimmermann, Zur Steinkreuzforschung, in Mitteilungen des
Nordböhmischen Vereins für Heimatforschung. Leipa 1919, Heft
2 bis 4, S. 80. (Besprechung der Dr. Kuhfahlschen Arbeit von
1914 bis 1915. Kleinere Nachrichten.)
E. Mogk, Zur Deutung der Steinkreuze in Mitteilungen des Vereins
für Sächsische Volkskunde. 1919, Heft 12.
R. Krieg, Die Steinkreuze im Harz. Zeitschrift »Der Harz«,
September 1922, S. 113.
Rottler, Kreuzsteine und Steinkreuze im Bezirk des Landbauamts
Bamberg in »Deutsche Gaue«. 1920, Heft 407 bis 410.
Max Hellwig, Steinerne Zeugen mittelalterlichen Rechts in
Schlesien (Steinkreuze, Bildstöcke, Staupsäulen, Galgen,
Gerichtstische). Liegnitz 1923, Selbstverlag. 8°, 34 S. 13
Bildertafeln.
Über Berg und Tal. 1924. Die alten Steinkreuze der Sächsischen
Schweiz, von Dr. Kuhfahl.
Rund um den Geisingberg, Monatsbeilage des Boten vom
Geising. Januar, Februar und März 1924. Mord- und
Sühnekreuze, von A. Klengel, Meißen a. E. Allgemeine
Schilderung der Steinkreuzsitte, sowie Einzelbeschreibung der
Erzgebirgischen Standorte im Umkreis vom Geising.

IV. Alphabetisches Verzeichnis der


Steinkreuzabbildungen
nach Dr. Kuhfahl seit 1914
Abbildungen Nr. 1 bis 25 in Heft 6, Bd. IV, Nr. 26 bis 65 in Heft 1, Bd.
V, Nr. 66 bis 77 in Heft 11, Bd. VI, Nr. 78 bis 101 im vorstehenden
Heft
26 Auerbach i. V.
39 Auligk bei Pegau
34 Basteiwald bei Rathen
45 Bautzen
8 Bautzen (Kreuzstein)
69 Beutha bei Hartenstein
78 Bockwen bei Meißen
82 Böhla bei Großenhain
14 Boritz bei Riesa
46 Börnersdorf bei Lauenstein
33 Borsbergwald bei Pillnitz
25a Burk bei Bautzen
59 Burkhardswalde, siehe Sachsendorf
5 Chursdorf bei Penig
62 Claußnitz bei Burgstädt
65 Colditz
52 Colditzer Wald
85 Crostwitz bei Kamenz
21 Demitz bei Bischofswerda
93 Dippoldiswalder Haide
37 Dohna bei Pirna
22 Dresden, Großer Garten
32 Eichgraben bei Zittau
78 Fischheim bei Wechselburg a. M.
43 Frauenhain bei Großenhain
42 Gatzen bei Pegau
74 Geising
56 Glashütte
55 u. 83 Gorknitz bei Pirna
98 Gospersgrün bei Plauen i. V.[10]
53 Gottleuba
81 Gräfenhain bei Königsbrück (Kreuzstein)
7 Gränze bei Kamenz (Kreuzstein)
95, 96 Grillenburger Wald
72 Gröbern bei Meißen
28 Großcotta bei Pirna
22 Großer Garten, Dresden
9 u. 10 Großraschütz bei Großenhain
4 Großröhrsdorf bei Pirna
20 Grünstädtel bei Schwarzenberg
11 Hausdorf bei Kamenz
65a Heidenholz bei Börnersdorf
17 Hertigswalde bei Sebnitz
19 Höckendorf bei Königsbrück
25 Jahnshain bei Penig
76 Jauernick Bez. Görlitz[9] (außerhalb Sachsens)
40 Kamenz
99 Kemnitzbachtal bei Plauen i. V.[10]
68 Klaffenbach bei Chemnitz
47 Kleinwolmsdorf bei Radeberg
66 Knatewitz bei Oschatz
64 Königsbrück
58 Kreckwitz bei Bautzen
97 Kürbitz bei Plauen i. V.[11]
16 Langenhennersdorf bei Pirna
71 Leppersdorf bei Radeberg
101 Liebstadt
79 Löbau
15 Lommatzsch
2 Luga bei Bautzen
67 Mannewitz bei Pirna
92 Meißen a. E.
100 Mügeln bei Oschatz
35 Nauleis bei Großenhain
27 u. 49 Neukirch bei Königsbrück
24 Niederschlottwitz bei Dippoldiswalde
75 u. 84 Oberau bei Meißen
12 Oberfrauendorf bei Dippoldiswalde
38 Oberseifersdorf bei Zittau
51 Oehna bei Bautzen
23 Ölsen bei Pirna
36 u. 66 Ölzschau bei Bad Lausigk
1 Oschatz
31 Oßling bei Kamenz
3 Oybin
90 Pirna a. E.
89 Porschdorf bei Bad Schandau
54 Radibor bei Bautzen
48 Ralbitz bei Kamenz
94 Rathendorf bei Penig
30 Reinholdshain bei Dippoldiswalde
80 Röhrsdorf bei Meißen a. E.
18 Rosenthal bei Königstein
59 Sachsendorf bei Wurzen (Burkhardswalde)
63 Schmerlitz bei Kamenz
13 Schönau bei Borna
29 Schönfeld bei Pillnitz
87 Schrebitz bei Mügeln
61 Schwand bei Plauen
57 Seifersdorf bei Radeberg
50 Thoßfell bei Plauen i. V.
91 Thümmlitzwald bei Leisnig
6 Waltersdorf bei Liebstadt
88 Stadt Wehlen
44 Weifa bei Niederneukirch
70 Zittau
41 Zschoppelshain bei Mittweida

Fußnoten:
[1] Vgl. Mitteilungen Bd. IV, Heft 6, S. 202.
[2] Mitteilungen Bd. IV, Heft 6, S. 202.
[3] Vgl. Mitteilungen X 4/6 S. 85.
[4] Dresdner Lokalvisitation samt derselben Instruktion
10599/1539 Blatt 134 b.
[5] Vgl. auch Mitteilung des Vereins für Sächsische Volkskunde
1899. Heft 12, Seite 11.
[6] Nr. 25/1923, Verlag von C. F. Müller, Karlsruhe.
[7] Verlag von Heinrich Kirsch, vorm. Mechitharisten-
Buchhandlung, Wien 1920.
[8] Genauere Angaben und Photographien erbeten.
[9] Aufnahme von Rittergutsbesitzer von Craushaar auf Jauernick.
[10] Aufnahme von Curt Sippel, Plauen i. V.
[11] Aufnahme von Werner Rosenmüller, Hamburg.
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!

ebookmass.com

You might also like