Programming with Turing and Object Oriented Turing

Size: px
Start display at page:

Download "Programming with Turing and Object Oriented Turing"

Transcription

1 Programming with Turing and Object Oriented Turing

2 Peter Grogono Programming with Turing and Object Oriented Turing Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Barcelona Budapest

3 Peter Grogono Department of Computer Science Concordia University Montreal, Quebec H3G 1MB Canada Cover Image Q1995 Michael Schimpf/Panoramic Images, Chicago, All Rights Reserved Windows is a registered trademark of Microsoft Corporation. UNIX is a registered trademark of AT&T. The term "PC" refers to all members of the IBM-PC family and also to compatible clones. The term "Macintosh" refers to all members of the Macintosh family of computers manufactured by Apple. Library of Congress Cataloging-in-Publication Data Grogono, Peter. Programming with Turing and Object Oriented Turing / Peter Grogono p. em. Includes bibliographical references and index. Additional material to this book can be downloaded from ISBN 13: 978 ()' (l 1. Object-oriented programming (Computer science) 2. Turing (Computer program language) 3. Windows (Computer programs) I. Title. QA G '3 --dc20 Printed on acid-free paper. Q 1995 Springer-Verlag New York, Inc. All rights reserved. This work may not be translated or copied in whole or in part without the written pennission of the publisher (Springer-Verlag New York, Inc., 175 Fifth Avenue, New York, NY 10010, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any fonn of infonnation storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden. The use of general descriptive names, trade names, trademarks, etc., in this publication, even if the fonner are not especially identified, is not to be taken as a sign that such names, as under stood by the Trade Marks and Merchandise Marks Act, may accordingly be used freely by anyone. Production managed by Laura Carlson; manufacturing supervised by Joe Quatela. Edited by Sharon H. Nelson, Metonymy Productions. Photocomposed from text prepared by Metonymy Productions using T~ and LATVC. Printed and bound by Hamilton Printing Co., Rensselaer, NY ISBN-1 3: e-isbn- IJ: DOl: /

4 Preface The programming language Thring is Damed for the British mathematician and computer scientist Alan Mathison 'luring ( ). Thring's contributions to computer science began in 1936, when he published a landmark paper on the limits of mechanical computation. The mathematical model introduced in the paper is now known as a unuing machine" and forms the basis of the modern theory of computability. During World War II, Thring played an important role in the design of the Colossus, an electronic machine that deciphered. coded messages. In 1951, he proposed a test, now called the Thring test, to answer the question: Can a machine think? Today, the most distinguished award given by the world's largest association for computing professionals, the Association for Computing Machinery, is called the Thring Award. The programming language Thring was designed by Richard C. Holt and James R. Cordy at the University of Toronto as a first language for computer science courses. Thring is a practical language suited to general-purpose applications. Like the work of the person for whom it is named, the language Thring serves well in both the theoretical and practical domains. Most of the software that supports Thring, including the Turing compiler, is written in Turing. This book includes all the features of Thring and provides an introduction to the object oriented features of the more recent language, Object Oriented Thring (OOT).

5 vi Preface Thring is particularly appropriate as a first language for learning and teaching. It incorporates many of the advantages while avoiding most of the disadvantages of earlier languages. The following four features make Thring particularly suitable as a first language and as a pedagogical tool. Turing is learned in easy stages. As a first step, we can write one-line programs in Turing. We can continue by writing programs of increasing complexity, adding one or two new features at a time. This distinguishes Thring from languages that require knowledge of advanced programming concepts before even simple programs can be written. Turing is defined by simple rules with few exceptions. With a little effort, it is easy to learn the entire language. This distinguishes Thring from languages that breed gurus and wizards who revel in arcane and obscure features. Turing is a standardized language. Most Thring programs written on a PC will run on a Macintosh or a UNIX workstation and give the same results. Only a few features of Thring, such as graphics, do not work in the same way on all systems. This distinguishes Thring from languages that require programs to be adapted for different systems. Thring has a formal definition and semantics. This distinguishes Thring from languages defined by a lengthy, complex, and potentially ambiguous report written in a natural language. Effective programming requires capabilities in four separate but related areas. First, we achieve the capability to write programs in a particular language. This requires knowledge of the syntax, semantics, and style of the language. Second, we learn how to choose control and data structures that are appropriate for each problem and to demonstrate that they do in fact solve the problem correctly. Although the techniques vary from one language paradigm to another, this capability is largely independent of any particular language. Third, because most programming problems can be solved using techniques that are well understood and widely documented, we acquire a repertoire of standard algorithms and data structures. Fourth, because new problems arise, we learn to design new algorithms and data structures. Programming with Turing focuses on the capabilities of writing programs and of choosing appropriate control and data structures. A book that teaches a programming language ideally satisfies two requirements. It provides a narrative that reveals successively more advanced features of the language and a reference source in which particular features of the language can be found quickly. Each section of Programming with Turing is constructed to make use of the material and examples presented in previous sections. Each chapter ends with a collection of exercises intended to develop confidence and

6 Preface vii familiarity with Turing and with general principles of programming. At the same time, Programming with Thring is organized to serve as a reference source: each section covers a specific topic; each chapter includes summaries; and appendices offer quick reference for particular features. Many of the examples and exercises are about hobbies, physics, and other areas of application. They show some of the ways in which the ability to understand and use basic computational skills can enrich our lives. In addition, they offer a sample of programming tasks and of what programming is about. I could not have written Programming with Thring without the Turing software and technical assistance provided by Ric Holt and Chris Stephenson at Holt Software Associates. I am grateful to Sharon H. Nelson at Metonymy Productions for detailed and thorough editing. January 1995 P.G. Montreal How to Install the Software Appendix K, on page 375, explains how to install WinOOT from the disk included with this book. Appendix L, on page 376, explains how to run WinOOT. Before installing WinOOT, you should ensure that at le8bt 2 megabytes of virtual memory are available to Windows

7 Contents Preface 1 First Concepts 1.1 Writing Simple Programs 1.2 Learning to Read Programs introduction to Standard Types Declarations Output and Input 1.6 Comments Summary 1.8 Exercises.. 2 Assignment and Control 2.1 The Assignment Statement 2.2 Sequences Decisions Repetition Scopes and Local Declarations... v

8 x Contents 2.6 The Form and Content of Statements Summary Exercises Standard Types and Expressions The Role of Types in Programs The Types int and real The Type boolean The Type string Type Conversion Summary Exercises Defining New Types Subranges Enumerations Arrays Summary Exercises Procedures and Functions Predefined Procedures and Functions Declaring New Procedures New Functions Recursive Subprograms Rules for Subprograms Preconditions and Postconditions Summary Exercises Input and Output Managing the Keyboard Managing the Screen Text Files

9 Contents x; 6.4 Summary 6.5 Exercises 7 Sound and Graphics 7.1 Sound Graphics Animation. 7.4 Summary 7.5 Exercises 8 Sets, Records, and Unions 8.1 Sets Reco"ls 8.3 Unions. 8.4 The bind Statement 8.5 Summary 8.6 Exercises 9 Collections 9.1 From Arrays to Collections 9.2 Linked Lists The new and free Statements 9.4 Collections and Recursion Designing a Symbolic Calculator 9.6 Summary 9.7 Exercises 10 Organizing Large Programs 10.1 Modules The include Directive Summary 10.4 Exercises

10 xii Contents 11 Additional Features 11.1 Binary Files Subprogram Arguments 11.3 Summary 11.4 Exercises Object Oriented. 'luring 12.1 Classes and Objects 12.2 Inheritance Frameworks Ancestors and Descendants 12.5 Summary 12.6 Exercises Appendixes A B C D E F G H I J K L Index 'luring Keywords Expression Operators Assignment Operators Predefined Functions and Procedures. Codes for the ASCII Graphic Character Set ASCII Codes for Border Characters Values Returned by getch The Procedure play..... The Procedure setscreen Colors for the mm PC and Compatibles. Installing WinOOT. Running WinOOT

11 List of Figures 1.1 Evaluation of Numeric Operators Comparison Operators and Their Meanings Using the get Statement to Read Strings Abbreviated Assignments Tax Rates in Thringia Nested Scopes Operator Precedence Expressions and Their Types Properties of the Exponent Operator Predefined Numeric FUnctions Truth Table for Boolean Operators Using "\ " in Strings Conversion Functions and put Statements A Real Variable, Average, and an Array, Scores Plotting a Random Distribution

12 xiv List of Figures 5.2 Dividing the Line Procedures for Measuring and Displaying Time 5.4 The Odometer of a Car The Coordinate System for Pixel Graphics. 7.2 Coordinate Systems for Scaling Transformation 7.3 Conventions for Angles Using takepic and drawpic Set Operations and Predicates 8.2 Properties of Food Displaying a Bridge Hand A Value of the Type RoseRecord 9.1 Declaring a Pointer Variable Allocating Memory for the String. 9.3 Storing a String in a Collection Two Pointers to the Same Component 9.5 Copying Pointers and Copying Components 9.6 A Linked List The First Two Components Adding a New Component to a Linked List 9.9 A Dangling Pointer A Binary Search Tree Representing a State of the Calculator 9.12 Scanning the Input 11.1 File Position Pumping Numbers and Filtering Primes 12.2 Operations for a Graphics Program Adding a Method to the Graphics Program 12.4 Adding a Class to the Graphics Program A Program Using Components from a Library A Program Using a Framework from a Library 12.7 The Model-View-Controller Framework

Using MSC/NASTRAN: Statics and Dynamics

Using MSC/NASTRAN: Statics and Dynamics Using MSC/NASTRAN: Statics and Dynamics A.D. Cifuentes Using MSC/NASTRAN Statics and Dynamics With 94 Illustrations Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Arturo O. Cifuentes

More information

The MATLAB 5 Handbook

The MATLAB 5 Handbook The MATLAB 5 Handbook Springer New York Berlin Heidelberg Barcelona Budapest Hong Kong London Milan Paris Singapore Tokyo Darren Redfern Colin Campbell The MATLAB 5 Handbook Springer Darren Redfern Practical

More information

Visualization in Supercomputing

Visualization in Supercomputing Visualization in Supercomputing Raul H. Mendez Editor Visualization in Supercomputing With 166 Illustrations, 25 in Color Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Raul H.

More information

Norman D. Thomson Raymond P. Polivka. APL2 in Depth. Springer-Verlag. New York Berlin Heidelberg London Paris Tokyo Hong Kong Barcelona Budapest

Norman D. Thomson Raymond P. Polivka. APL2 in Depth. Springer-Verlag. New York Berlin Heidelberg London Paris Tokyo Hong Kong Barcelona Budapest APL2 in Depth Norman D. Thomson Raymond P. Polivka APL2 in Depth Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Barcelona Budapest Nonnan D. Thomson Finnock House Cliff Terrace

More information

ITSM: An Interactive Time Series Modelling Package for the pe

ITSM: An Interactive Time Series Modelling Package for the pe ITSM: An Interactive Time Series Modelling Package for the pe Peter J. Brockwell Richard A. Davis ITSM: An Interactive Time Series Modelling Package for the pe With 53 Illustrations and 3 Diskettes Written

More information

Computer-Aided Design in Magnetics

Computer-Aided Design in Magnetics Computer-Aided Design in Magnetics D. A. Lowther P. P. Silvester Computer-Aided Design in Magnetics With 84 illustrations Springer-Verlag Berlin Heidelberg New York Tokyo D. A. Lowther Associate Professor

More information

PROBLEM SOLVING WITH FORTRAN 90

PROBLEM SOLVING WITH FORTRAN 90 David R. Brooks PROBLEM SOLVING WITH FORTRAN 90 FOR SCIENTISTS AND ENGINEERS Springer Contents Preface v 1.1 Overview for Instructors v 1.1.1 The Case for Fortran 90 vi 1.1.2 Structure of the Text vii

More information

Graphics Programming in c++

Graphics Programming in c++ Graphics Programming in c++ Springer London Berlin Heidelberg New York Barcelona Budapest Hong Kong Milan Paris Santa Clara Singapore Tokyo Mark Walmsley Graphics Programming in c++ Writing Graphics Applications

More information

Interfacing with C++

Interfacing with C++ Interfacing with C++ Jayantha Katupitiya Kim Bentley Interfacing with C++ Programming Real-World Applications ABC Dr. Jayantha Katupitiya Senior Lecturer School of Mechanical and Manufacturing Engineering

More information

Guide to RISC Processors

Guide to RISC Processors Guide to RISC Processors Sivarama P. Dandamudi Guide to RISC Processors for Programmers and Engineers Sivarama P. Dandamudi School of Computer Science Carleton University Ottawa, ON K1S 5B6 Canada sivarama@scs.carleton.ca

More information

Computer Science Workbench. Editor: Tosiyasu L. Kunii

Computer Science Workbench. Editor: Tosiyasu L. Kunii Computer Science Workbench Editor: Tosiyasu L. Kunii H. Kitagawa T.L. Kunii The U nnortnalized Relational Data Model F or Office Form Processor Design With 78 Figures Springer-Verlag Tokyo Berlin Heidelberg

More information

Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4

Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Stephen L. Campbell, Jean-Philippe Chancelier and Ramine Nikoukhah Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 Second Edition

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

Research Directions in Database Security

Research Directions in Database Security Research Directions in Database Security Teresa F. Lunt Editor Research Directions in Database Security With 16 Illustrations Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Barcelona

More information

Overview : Table Of Content :

Overview : Table Of Content : Book Title:-A Workbook on C++ Author :-Sumit Mittu ISBN :-9788131520666 Price :-INR 499 Pages :-396 Edition :-2 Imprint :-Cengage Learning India Year :-2013 'A Workbook on C++ covers the topics required

More information

TEXTS IN COMPUTER SCIENCE

TEXTS IN COMPUTER SCIENCE TEXTS IN COMPUTER SCIENCE Editors David Gries Fred B. Schneider Springer New York Berlin Heidelberg Barcelona Hong Kong London Milan Paris Singapore Tokyo Peter Z. Revesz INTRODUCTION TO CONSTRAINT DATABASES

More information

Excel for Chemists. Second Edition

Excel for Chemists. Second Edition Excel for Chemists Second Edition This page intentionally left blank ExceL for Chemists A Comprehensive Guide Second Edition E. Joseph Billo Department of Chemistry Boston College Chestnut Hill, Massachusetts

More information

LOGICAL DATA MODELING

LOGICAL DATA MODELING LOGICAL DATA MODELING INTEGRATED SERIES IN INFORMATION SYSTEMS Professor Ramesh Sharda Oklahoma State University Series Editors Prof. Dr. Stefan VoB Universitat Hamburg Expository and Research Monographs

More information

The Art of Lisp Programming

The Art of Lisp Programming The Art of Lisp Programming Robin Jones Clive Maynard Ian Stewart The Art of Lisp Programming With 12 Illustrations Springer-Verlag London Berlin Heidelberg N ew York Paris Tokyo Hong Kong Robin Jones

More information

About Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals

More information

Workbook for C++ THIRD EDITION. Yedidyah Langsam, Ph.D. Brooklyn College of the City University of New York. Custom Publishing

Workbook for C++ THIRD EDITION. Yedidyah Langsam, Ph.D. Brooklyn College of the City University of New York. Custom Publishing 9200134_CH00_FM_pi-viii.qxd 6/23/09 3:08 AM Page i Workbook for C++ THIRD EDITION Yedidyah Langsam, Ph.D. Brooklyn College of the City University of New York Custom Publishing New York Boston San Francisco

More information

Yves Nievergelt. Wavelets Made Easy. Springer Science+Business Media, LLC

Yves Nievergelt. Wavelets Made Easy. Springer Science+Business Media, LLC Wavelets Made Easy Yves Nievergelt Wavelets Made Easy Springer Science+Business Media, LLC Yves Nievergelt Department of Mathematics Eastem Washington University Cheney, WA 99004-2431 USA Library of Congress

More information

Database Performance Tuning and Optimization. Using Oracle

Database Performance Tuning and Optimization. Using Oracle Database Performance Tuning and Optimization Using Oracle Springer New York Berlin Heidelberg Hong Kong London Milan Paris Tokyo Sitansu S. Mittra Database Performance Tuning and Optimization Using Oracle

More information

An Introduction to Programming with IDL

An Introduction to Programming with IDL An Introduction to Programming with IDL Interactive Data Language Kenneth P. Bowman Department of Atmospheric Sciences Texas A&M University AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

Interactive 3D Graphics in Windows

Interactive 3D Graphics in Windows Interactive 3D Graphics in Windows Springer New York Berlin Heidelberg Barcelona Budapest Hong Kong London Milan Paris Tokyo Roy Hall Danielle Forsyth Springer Additional material to this book can be downloaded

More information

Graph Data Model. and Its Data Language. Hideko S. Kunii. Foreword by Gio Wiederhold

Graph Data Model. and Its Data Language. Hideko S. Kunii. Foreword by Gio Wiederhold Hideko S. Kunii Graph Data Model and Its Data Language Foreword by Gio Wiederhold With 35 Figures Springer-Verlag Tokyo Berlin Heidelberg New York London Paris Hong Kong HIDEKO S. KUNII General Manager

More information

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.

Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. 9 Self-Test Exercises p. 11 History Note p. 12 Programming and

More information

Chapter 2 Basic Elements of C++

Chapter 2 Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 2-1 Chapter 2 Basic Elements of C++ At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion

More information

George Grätzer. Practical L A TEX

George Grätzer. Practical L A TEX Practical L A TEX George Grätzer Practical L A TEX 123 George Grätzer Toronto, ON, Canada Additional material to this book can be downloaded from http://extras.springer.com ISBN 978-3-319-06424-6 ISBN

More information

Absolute C++ Walter Savitch

Absolute C++ Walter Savitch Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents

More information

Java Quick Syntax Reference. Second Edition. Mikael Olsson

Java Quick Syntax Reference. Second Edition. Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Mikael Olsson Hammarland, Länsi-Suomi, Finland ISBN-13 (pbk):

More information

CLASSIC DATA STRUCTURES IN JAVA

CLASSIC DATA STRUCTURES IN JAVA CLASSIC DATA STRUCTURES IN JAVA Timothy Budd Oregon State University Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal CONTENTS

More information

St. MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

St. MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad St. MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-00 014 Subject: PPL Class : CSE III 1 P a g e DEPARTMENT COMPUTER SCIENCE AND ENGINEERING S No QUESTION Blooms Course taxonomy level Outcomes UNIT-I

More information

Open Geometry: OpenGL + Advanced Geometry

Open Geometry: OpenGL + Advanced Geometry Open Geometry: OpenGL + Advanced Geometry Springer-Science+Business Media, LLC Open Geometry: OpenGL + Advanced Geometry Georg Glaeser Hellmuth Stachel Springer Georg G laeser University of Applied Arts,

More information

An Object Oriented Programming with C

An Object Oriented Programming with C An Object Oriented Programming with C By Tanmay Kasbe Dr. Ravi Singh Pippal IDEA PUBLISHING WWW.ideapublishing.in i Publishing-in-support-of, IDEA PUBLISHING Block- 9b, Transit Flats, Hudco Place Extension

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : I Year / II Semester Section : CSE - I Subject Code : CS7203 Subject Name : PRINCIPLES OF PROGRAMMING LANGUAGES Degree & Branch : M.E C.S.E.

More information

How invariants help writing loops Author: Sander Kooijmans Document version: 1.0

How invariants help writing loops Author: Sander Kooijmans Document version: 1.0 How invariants help writing loops Author: Sander Kooijmans Document version: 1.0 Why this document? Did you ever feel frustrated because of a nasty bug in your code? Did you spend hours looking at the

More information

SQL Queries. for. Mere Mortals. Third Edition. A Hands-On Guide to Data Manipulation in SQL. John L. Viescas Michael J. Hernandez

SQL Queries. for. Mere Mortals. Third Edition. A Hands-On Guide to Data Manipulation in SQL. John L. Viescas Michael J. Hernandez SQL Queries for Mere Mortals Third Edition A Hands-On Guide to Data Manipulation in SQL John L. Viescas Michael J. Hernandez r A TT TAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco

More information

Practical C++ Programming

Practical C++ Programming SECOND EDITION Practical C++ Programming Steve Oualline O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Preface xv Part I. The Basics 1. What Is C++? 3 A Brief History of C++ 3 C++

More information

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents. Chapter 1 SPECIFYING SYNTAX 1 Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren

More information

Prelude to Programming

Prelude to Programming GLOBAL EDITION Prelude to Programming Concepts and Design SIXTH EDITION Stewart Venit Elizabeth Drake Prelude toprogramming Sixth Edition Global Edition Concepts and Design Stewart Venit Elizabeth Drake

More information

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object CHAPTER 1 Introduction to Computers and Programming 1 1.1 Why Program? 1 1.2 Computer Systems: Hardware and Software 2 1.3 Programs and Programming Languages 8 1.4 What is a Program Made of? 14 1.5 Input,

More information

Springer Books on Professional Computing. Edited by Henry Ledgard

Springer Books on Professional Computing. Edited by Henry Ledgard Springer Books on Professional Computing Edited by Henry Ledgard Springer Books on Professional Computing Computer Confidence: A Human Approach to Computers Bruce D. Sanders. viii, 90 pages. 23 figures.

More information

Welcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p.

Welcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p. Welcome to Teach Yourself p. viii Acknowledgments p. xv Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p. 6 Standard C++: A Programming Language and a Library p. 8

More information

Topic IV. Parameters. Chapter 5 of Programming languages: Concepts & constructs by R. Sethi (2ND EDITION). Addison-Wesley, 1996.

Topic IV. Parameters. Chapter 5 of Programming languages: Concepts & constructs by R. Sethi (2ND EDITION). Addison-Wesley, 1996. References: Topic IV Block-structured procedural languages Algol and Pascal Chapters 5 and 7, of Concepts in programming languages by J. C. Mitchell. CUP, 2003. Chapter 5 of Programming languages: Concepts

More information

The Architectural Logic of Database Systems

The Architectural Logic of Database Systems The Architectural Logic of Database Systems E. J. Yannakoudakis The Architectural Logic of Database Systems With 69 Figures Springer-Verlag london Berlin Heidelberg New York Paris Tokyo E. 1. Yannakoudakis,

More information

Scheduling in Distributed Computing Systems Analysis, Design & Models

Scheduling in Distributed Computing Systems Analysis, Design & Models Scheduling in Distributed Computing Systems Analysis, Design & Models (A Research Monograph) Scheduling in Distributed Computing Systems Analysis, Design & Models (A Research Monograph) by Deo Prakash

More information

Computer Networks and Systems

Computer Networks and Systems Computer Networks and Systems Queueing Theory and Performance Evaluation Third Edition Springer Science+Business Media, LLC Thomas G. Robertazzi Computer Networks and Systems Queueing Theory and Performance

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information

Problem Solving Using UCSD Pascal Second Edition

Problem Solving Using UCSD Pascal Second Edition Problem Solving Using UCSD Pascal Second Edition Related Titles From The Original Publisher of Pascal Books... PASCAL: USER MANUAL AND REPORT 2nd Edition Kathleen Jensen and Niklaus Wirth "One work that

More information

About Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals

More information

A Structured Programming Approach to Data

A Structured Programming Approach to Data A Structured Programming Approach to Data Derek Coleman A Structured Programming Approach to Data Springer-Verlag New York Derek Coleman Department of Computation Institute of Science Technology University

More information

MIDTERM EXAMINATION - CS130 - Spring 2003

MIDTERM EXAMINATION - CS130 - Spring 2003 MIDTERM EXAMINATION - CS130 - Spring 2003 Your full name: Your UCSD ID number: This exam is closed book and closed notes Total number of points in this exam: 120 + 10 extra credit This exam counts for

More information

The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured

The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured Introduction p. xxix The Foundation of C++: The C Subset An Overview of C p. 3 The Origins and History of C p. 4 C Is a Middle-Level Language p. 5 C Is a Structured Language p. 6 C Is a Programmer's Language

More information

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered

More information

THE DESIGNER S GUIDE TO VERILOG-AMS

THE DESIGNER S GUIDE TO VERILOG-AMS THE DESIGNER S GUIDE TO VERILOG-AMS THE DESIGNER S GUIDE BOOK SERIES Consulting Editor Kenneth S. Kundert Books in the series: The Designer s Guide to Verilog-AMS ISBN: 1-00-80-1 The Designer s Guide to

More information

Functional Programming Using F#

Functional Programming Using F# Functional Programming Using F# This introduction to the principles of functional programming using F# shows how to apply theoretical concepts to produce succinct and elegant programs. The book shows how

More information

R13 SET Discuss how producer-consumer problem and Dining philosopher s problem are solved using concurrency in ADA.

R13 SET Discuss how producer-consumer problem and Dining philosopher s problem are solved using concurrency in ADA. R13 SET - 1 III B. Tech I Semester Regular Examinations, November - 2015 1 a) What constitutes a programming environment? [3M] b) What mixed-mode assignments are allowed in C and Java? [4M] c) What is

More information

CMSC 132: Object-Oriented Programming II

CMSC 132: Object-Oriented Programming II CMSC 132: Object-Oriented Programming II Problem Specification & Software Architecture Department of Computer Science University of Maryland, College Park Overview Problem specification Obstacles Software

More information

Algorithms for Discrete Fourier Transform and Convolution

Algorithms for Discrete Fourier Transform and Convolution Algorithms for Discrete Fourier Transform and Convolution Second Edition Springer Science+Business Media, LLC Signal Processing and Digital Filtering Synthetic Aperture Radar J.P. Fitch Multiplicative

More information

ony Gaddis Haywood Community College STARTING OUT WITH PEARSON Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto

ony Gaddis Haywood Community College STARTING OUT WITH PEARSON Amsterdam Cape Town Dubai London Madrid Milan Munich Paris Montreal Toronto STARTING OUT WITH J^"* 1 Ti * ony Gaddis Haywood Community College PEARSON Boston Columbus Indianapolis New York San Francisco Upper Saddle River Amsterdam Cape Town Dubai London Madrid Milan Munich Paris

More information

Logic Programming with Prolog

Logic Programming with Prolog Logic Programming with Prolog Max Bramer Logic Programming with Prolog Max Bramer, BSc, PhD, CEng, FBCS, FIEE, FRSA, ILTM Department of Computer Science and Software Engineering University of Portsmouth

More information

INSTITUTE OF AERONAUTICAL ENGINEERING

INSTITUTE OF AERONAUTICAL ENGINEERING INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Name : PRINCIPLES OF PROGRAMMING LANGUAGES Code : A40511 Class : II B. Tech

More information

CIS24 Project #3. Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec. Subject: Functional Programming Language (ML)

CIS24 Project #3. Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec. Subject: Functional Programming Language (ML) CIS24 Project #3 Student Name: Chun Chung Cheung Course Section: SA Date: 4/28/2003 Professor: Kopec Subject: Functional Programming Language (ML) 1 Introduction ML Programming Language Functional programming

More information

Research on Industrial Security Theory

Research on Industrial Security Theory Research on Industrial Security Theory Menggang Li Research on Industrial Security Theory Menggang Li China Centre for Industrial Security Research Beijing, People s Republic of China ISBN 978-3-642-36951-3

More information

CJT^jL rafting Cm ompiler

CJT^jL rafting Cm ompiler CJT^jL rafting Cm ompiler ij CHARLES N. FISCHER Computer Sciences University of Wisconsin Madison RON K. CYTRON Computer Science and Engineering Washington University RICHARD J. LeBLANC, Jr. Computer Science

More information

C for Electronic Engineering

C for Electronic Engineering C for Electronic Engineering with applied software engineering William Buchanan Prentice Hall London New York Toronto Sydney Tokyo Singapore Madrid Mexico City Munich CONTENTS PREFACE 1 INTRODUCTION 1.1

More information

Modern Information Retrieval

Modern Information Retrieval Modern Information Retrieval Ricardo Baeza-Yates Berthier Ribeiro-Neto ACM Press NewYork Harlow, England London New York Boston. San Francisco. Toronto. Sydney Singapore Hong Kong Tokyo Seoul Taipei. New

More information

Topic IV. Block-structured procedural languages Algol and Pascal. References:

Topic IV. Block-structured procedural languages Algol and Pascal. References: References: Topic IV Block-structured procedural languages Algol and Pascal Chapters 5 and 7, of Concepts in programming languages by J. C. Mitchell. CUP, 2003. Chapters 10( 2) and 11( 1) of Programming

More information

C & Data Structures syllabus

C & Data Structures syllabus syllabus Overview: C language which is considered the mother of all languages, is and will be the most sought after programming language for any beginner to jump start his career in software development.

More information

Problem Solving with C++

Problem Solving with C++ GLOBAL EDITION Problem Solving with C++ NINTH EDITION Walter Savitch Kendrick Mock Ninth Edition PROBLEM SOLVING with C++ Problem Solving with C++, Global Edition Cover Title Copyright Contents Chapter

More information

Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters. Corky Cartwright January 26, 2018

Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters. Corky Cartwright January 26, 2018 Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters Corky Cartwright January 26, 2018 Denotational Semantics The primary alternative to syntactic semantics is denotational semantics.

More information

A Structured Programming Approach to Data

A Structured Programming Approach to Data A Structured Programming Approach to Data Macmillan Computer Science Series Consulting Editor: Professor F. H. Sumner, University of Manchester J. K. Buckle, The ICL 2900 Series Andrew J. T. Colin, Programming

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc CST Semester / Year : EVEN / II Subject Name

More information

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES Hristo Hristov Abstract. In the article, we have reviewed the

More information

G COURSE PLAN ASSISTANT PROFESSOR Regulation: R13 FACULTY DETAILS: Department::

G COURSE PLAN ASSISTANT PROFESSOR Regulation: R13 FACULTY DETAILS: Department:: G COURSE PLAN FACULTY DETAILS: Name of the Faculty:: Designation: Department:: Abhay Kumar ASSOC PROFESSOR CSE COURSE DETAILS Name Of The Programme:: BTech Batch:: 2013 Designation:: ASSOC PROFESSOR Year

More information

Web Development with Java

Web Development with Java Web Development with Java Tim Downey Web Development with Java Using Hibernate, JSPs and Servlets Tim Downey, BS, MS Florida International University Miami, FL 33199, USA British Library Cataloguing in

More information

Building High Integrity Applications with Spark

Building High Integrity Applications with Spark Building High Integrity Applications with Spark Software is pervasive in our lives. We are accustomed to dealing with the failures of much of that software restarting an application is a very familiar

More information

PYTHON. p ykos vtawynivis. Second eciitiovl. CO Ve, WESLEY J. CHUN

PYTHON. p ykos vtawynivis. Second eciitiovl. CO Ve, WESLEY J. CHUN CO Ve, PYTHON p ykos vtawynivis Second eciitiovl WESLEY J. CHUN. PRENTICE HALL Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney

More information

C++ Quick Syntax Reference

C++ Quick Syntax Reference C++ Quick Syntax Reference Mikael Olsson C++ Quick Syntax Reference Copyright 2013 by Mikael Olsson This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part

More information

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...

More information

Appendix Set Notation and Concepts

Appendix Set Notation and Concepts Appendix Set Notation and Concepts In mathematics you don t understand things. You just get used to them. John von Neumann (1903 1957) This appendix is primarily a brief run-through of basic concepts from

More information

COMPUTATIONAL DYNAMICS

COMPUTATIONAL DYNAMICS COMPUTATIONAL DYNAMICS THIRD EDITION AHMED A. SHABANA Richard and Loan Hill Professor of Engineering University of Illinois at Chicago A John Wiley and Sons, Ltd., Publication COMPUTATIONAL DYNAMICS COMPUTATIONAL

More information

Curves and Fractal Dimension

Curves and Fractal Dimension Claude Tricot Curves and Fractal Dimension With a Foreword by Michel Mendes France With 163 Illustrations Springer-Verlag New York Berlin Heidelberg London Paris Tokyo Hong Kong Barcelona Budapest Contents

More information

On the correctness of template metaprograms

On the correctness of template metaprograms Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007 Vol 2 pp 301 308 On the correctness of template metaprograms Ádám Sipos, István Zólyomi, Zoltán

More information

Evaluation Issues in Generic Programming with Inheritance and Templates in C++

Evaluation Issues in Generic Programming with Inheritance and Templates in C++ Evaluation Issues in Generic Programming with Inheritance and Templates in C++ Emil Vassev, Joey Paquet Department of Computer Science and Software Engineering Concordia University Montreal, Quebec, H3G

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

Chapter 3. Describing Syntax and Semantics

Chapter 3. Describing Syntax and Semantics Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:

More information

Arrays and Other Data Types

Arrays and Other Data Types 241 Chapter 14 Arrays and Other Data Types 14.1 Array Data Types 14.2 Manipulating Lists 14.3 When to Use an Array 14.4 Initialization of Arrays 14.5 Sorting an Array 14.6 Related Lists 14.7 Subrange Data

More information

Programming. In Ada JOHN BARNES TT ADDISON-WESLEY

Programming. In Ada JOHN BARNES TT ADDISON-WESLEY Programming In Ada 2005 JOHN BARNES... TT ADDISON-WESLEY An imprint of Pearson Education Harlow, England London New York Boston San Francisco Toronto Sydney Tokyo Singapore Hong Kong Seoul Taipei New Delhi

More information

c-xsc R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch A C++ Class Library for Extended Scientific Computing Springer-Verlag Berlin Heidelberg GmbH

c-xsc R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch A C++ Class Library for Extended Scientific Computing Springer-Verlag Berlin Heidelberg GmbH R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch c-xsc A C++ Class Library for Extended Scientific Computing Translated by G. F. Corliss C. Lawo R. Klatte A. Wiethoff C. Wolff Springer-Verlag Berlin Heidelberg

More information

Computer Programming C++ (wg) CCOs

Computer Programming C++ (wg) CCOs Computer Programming C++ (wg) CCOs I. The student will analyze the different systems, and languages of the computer. (SM 1.4, 3.1, 3.4, 3.6) II. The student will write, compile, link and run a simple C++

More information

^l^s^^^^^^^^^^s^^^ ^.1^L^ gs *^gs (s^s^^^^s^^ ^S^^^^ls

^l^s^^^^^^^^^^s^^^ ^.1^L^ gs *^gs (s^s^^^^s^^ ^S^^^^ls THE PRACTICE OF COMPUTING USING ^l^s^^^^^^^^^^s^^^ ^.1^L^ gs *^gs (s^s^^^^s^^ ^S^^^^ls M&T M M mlklkmam sssr 'SSf iffy (*jw>> (ggu ^SBBfr

More information

KLiC C Programming. (KLiC Certificate in C Programming)

KLiC C Programming. (KLiC Certificate in C Programming) KLiC C Programming (KLiC Certificate in C Programming) Turbo C Skills: The C Character Set, Constants, Variables and Keywords, Types of C Constants, Types of C Variables, C Keywords, Receiving Input, Integer

More information

Organization of Programming Languages CS3200/5200N. Lecture 11

Organization of Programming Languages CS3200/5200N. Lecture 11 Organization of Programming Languages CS3200/5200N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Functional vs. Imperative The design of the imperative languages

More information

CNG 140 C Programming. Syllabus. Course Info Fall Semester. Catalog Description

CNG 140 C Programming. Syllabus. Course Info Fall Semester. Catalog Description CNG 140 C Programming 2012-2013 Fall Semester Syllabus Course Info Catalog Description Advanced programming with C: Storage and control structures, recursion and programming with dynamic data structures.

More information

C Programming for Electronic Engineers

C Programming for Electronic Engineers C Programming for Electronic Engineers Keith Jackson BSc CEng MIEE with acknowledgement to Gavin Eamshaw MEng School of Electronic, Communication and Electrical Engineering University of Plymouth MACMILLAN

More information

G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool

G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool-518014 BRANCH: COMPUTER SCIENCE AND ENGINEERING COURSE DESCRIPTION FORM Course Title Course Code Regulation Course

More information

Visual C# Tony Gaddis. Haywood Community College STARTING OUT WITH. Piyali Sengupta. Third Edition. Global Edition contributions by.

Visual C# Tony Gaddis. Haywood Community College STARTING OUT WITH. Piyali Sengupta. Third Edition. Global Edition contributions by. STARTING OUT WITH Visual C# 2012 Third Edition Global Edition Tony Gaddis Haywood Community College Global Edition contributions by Piyali Sengupta PEARSON Boston Columbus Indianapolis New York San Francisco

More information