C++ For Science and Engineering Lecture 16
|
|
- Maud Fields
- 7 years ago
- Views:
Transcription
1 C++ For Science and Engineering Lecture 16 John Chrispell Tulane University Friday October 1, 2010
2 arrfun1.cpp Notes on the previous listing: The name of an array is the same as if it were a pointer. c o o k i e s == &c o o k i e s [ 0 ] // a r r a y name i s a d d r e s s o f f i r s t element. There are two exceptions to this rule. 1 Array declarations use the array name to lable the storage. 2 Applying sizeof to an array name yields the size of the whole array in bytes. The notations i n t a r r and i n t a r r [ ] // a r e o n l y synonymous i n the f u n c t i o n header and p r o t o t y p e. we can not use int arr[] to declare a pointer in the body of a function. RECALL a r r [ i ] == ( a r r + i ) // v a l u e s i n two n o t a t i o n s &a r r [ i ] == a r r + i // a d d r e s s e s i n two n o t a t i o n s Consider the following example: John Chrispell, Friday October 1, 2010 slide 3/25
3 arrfun2.cpp #include <iostream > const i n t A r S i z e = 8 ; i n t sum arr ( i n t a r r [ ], i n t n ) ; // use s t d : : i n s t e a d o f u s i n g d i r e c t i v e i n t main ( ) { i n t c o o k i e s [ A r S i z e ] = { 1, 2, 4, 8, 1 6, 3 2, 6 4, ; std : : cout << cookies << = array address, ; s t d : : cout << s i z e o f c o o k i e s << = s i z e o f c o o k i e s \n ; i n t sum = sum arr ( cookies, ArSize ) ; s t d : : cout << Total c o o k i e s e a t e n : << sum << s t d : : e n d l ; sum = sum arr ( c o o k i e s, 3 ) ; // a l i e s t d : : cout << F i r s t t h r e e e a t e r s a t e << sum << c o o k i e s. \ n ; sum = sum arr ( c o o k i e s + 4, 4 ) ; // a n o t h e r l i e std : : cout << Last f o u r e a t e r s ate << sum << c o o k i e s. \ n ; return 0 ; / ==================================== / / r e t u r n the sum o f an i n t e g e r a r r a y / / ==================================== / i n t sum arr ( i n t a r r [ ], i n t n ){ i n t t o t a l = 0 ; s t d : : cout << a r r << = a r r, ; s t d : : cout << s i z e o f a r r << = s i z e o f a r r \n ; f o r ( i n t i = 0 ; i < n ; i ++){ t o t a l = t o t a l + a r r [ i ] ; return t o t a l ; John Chrispell, Friday October 1, 2010 slide 5/25
4 Think about your program Consider writing a program that takes an array of values. For our purposes they can be collectible pez dispenser values. Consider your collection to have a max size of 1000 dispensers. You wish to store and update the value of each integer indexed dispenser. You program should have a nice way to display the current value. We can create a program for this example using three user defined functions. Each function performs a simple task. These functions make writing the main function of the program quick and easy. Consider the following code: John Chrispell, Friday October 1, 2010 slide 7/25
5 arrfun3.cpp #include <iostream > const i n t Max = 100 0; // f u n c t i o n p r o t o t y p e s i n t f i l l a r r a y ( double ar [ ], i n t l i m i t ) ; void s h o w a r r a y ( const double ar [ ], i n t n ) ; // don t change data void r e v a l u e ( double ar [ ], i n t n ) ; i n t main ( ) { using namespace s t d ; double p r o p e r t i e s [ Max ] ; i n t s i z e = f i l l a r r a y ( p r o p e r t i e s, Max ) ; s h o w a r r a y ( p r o p e r t i e s, s i z e ) ; r e v a l u e ( p r o p e r t i e s, s i z e ) ; s h o w a r r a y ( p r o p e r t i e s, s i z e ) ; return 0 ; John Chrispell, Friday October 1, 2010 slide 9/25
6 arrfun3.cpp count / ============================================== / / Simple f u n c t i o n used to f i l l the a r r a y and / / to determine i t s length. / / ============================================== / i n t f i l l a r r a y ( double ar [ ], i n t l i m i t ){ using namespace std ; double temp ; i n t i ; f o r ( i = 0 ; i < l i m i t ; i ++) { cout << Enter v a l u e # << ( i + 1) << : ; cin >> temp ; i f (! c i n ){ // bad i n p u t c i n. c l e a r ( ) ; while ( c i n. get ( )!= \n ){ continue ; cout << Bad i n p u t ; i n p u t p r o c e s s terminated. \ n ; break ; e l s e i f ( temp < 0){ // s i g n a l to t e r m i n a t e break ; ar [ i ] = temp ; return i ; John Chrispell, Friday October 1, 2010 slide 11/25
7 arrfun3.cpp count / =============================================== / / The f o l l o w i n g f u n c t i o n can use, but not a l t e r, / / the a r r a y whose a d d r e s s i s ar / / =============================================== / void s h o w a r r a y ( const double ar [ ], i n t n ){ using namespace std ; f o r ( i n t i = 0 ; i < n ; i ++) { cout << Pez # << ( i + 1) << : $ ; cout << ar [ i ] << e n d l ; / ======================================= / / m u l t i p l i e s each element o f ar [ ] by a / / r e q u e s t e d f a c t o r / / ======================================= / void r e v a l u e ( double ar [ ], i n t n ){ s t d : : cout << Enter r e v a l u a t i o n f a c t o r : ; double f a c t o r ; s t d : : c i n >> f a c t o r ; f o r ( i n t i = 0 ; i < n ; i ++){ ar [ i ] = f a c t o r ; John Chrispell, Friday October 1, 2010 slide 13/25
8 Array Approach Two approaches to array data. In C/C++ the traditional approach to dealing with array data is to pass a pointer to the array to a function. A second argument to the function will be the size of the array. A second approach is to pass a pointer to the start and to the end of an array. The following listing is a modified version of the arrfun2.cpp lsiting given earlier. It passes a pointer to the start and the end of the array. John Chrispell, Friday October 1, 2010 slide 15/25
9 arrfun4.cpp #i n c l u d e <i o s t r e a m > const i n t A r S i z e = 8 ; i n t sum arr ( const i n t begin, const i n t end ) ; i n t main ( ) { using namespace std ; i n t c o o k i e s [ A r S i z e ] = { 1, 2, 4, 8, 1 6, 3 2, 6 4, ; i n t sum = sum arr ( cookies, cookies + ArSize ) ; cout << Total c o o k i e s eaten : << sum << endl ; sum = sum arr ( cookies, cookies + 3 ) ; // f i r s t 3 elements cout << F i r s t t h r e e e a t e r s a t e << sum << c o o k i e s. \ n ; sum = sum arr ( cookies + 4, cookies + 8 ) ; // l a s t 4 elements cout << Last f o u r e a t e r s ate << sum << c o o k i e s. \ n ; return 0 ; i n t sum arr ( const i n t begin, const i n t end ){ const i n t pt ; i n t t o t a l = 0 ; f o r ( pt = begin ; pt!= end ; pt++){ t o t a l = t o t a l + pt ; return t o t a l ; John Chrispell, Friday October 1, 2010 slide 17/25
10 Pointers and const We have now come across two distinct uses of const with pointers. Declaring a constant pointer. This prevents you from ever changing the address it points to. i n t myage = 3 0 ; const i n t pt = & myage ; The integer pointer pt will always points to the address of integer variable myage. We can therefor not use assignments with the pointer pt to change the value of myage. pt += 1 ; // BAD pt p o i n t s to a c o n s t a n t i n t e g e r. c i n >> pt ; // BAD Again pt p o i n t s to a c o n s t a n t i n t e g e r. myage = 20 // GOOD As myage i s not c o n s t a n t. Note these assignments woudl work if pt was not of constant type. Using a constant prototype to protect array values (see previous example). const i n t months [ 1 2 ] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;... i n t sum ( i n t a r r [ ], i n t n ) ; // p r o t o t y p e with u n p r o t e c t e d v a l u e s. i n t sum ( months, 1 2 ) ; // W i l l not work as months i s a c o n s t a n t. John Chrispell, Friday October 1, 2010 slide 19/25
11 Pointers and const Consider the following i n t age = 3 9 ; const i n t pt = &age ; The const in the second declaration is only declaring the integer to which the pointer points is constant. Not the pointers address. Thus, we could change the address by: i n t v a l u e = 1 2 ; pt = &v a l u e ; // This i s p e r f e c t l y ok. / The v a l u e pt p o i n t s to i s now 12 / A second posibility is: i n t s l o t h = 3 ; const i n t ps = &s l o t h ; // p o i n t e r to c o n s t i n t. i n t const s n i p e = &s l o t h ; // a c o n s t p o i n t e r to i n t. Note we can even declare both value and the pointer to be constants. This is useful if you are passing around data using pointers. John Chrispell, Friday October 1, 2010 slide 21/25
12 Functions and Two-D arrays If we qre given the two dimensional array and sum fucntion: i n t data [ 3 ] [ 4 ] = {{1,2,3,4, { 9, 8, 7, 6, { 2, 4, 6, 8 ; i n t t o t a l = sum ( data, 3 ) ; What does the function prototype look like? John Chrispell, Friday October 1, 2010 slide 23/25
13 Functions and Two-D arrays If we qre given the two dimensional array and sum fucntion: i n t data [ 3 ] [ 4 ] = {{1,2,3,4, { 9, 8, 7, 6, { 2, 4, 6, 8 ; i n t t o t a l = sum ( data, 3 ) ; What does the function prototype look like? Idea: the data element is an array with each element an array of size 4. i n t sum ( i n t ( ar2 ) [ 4 ], i n t s i z e ) ; // or e q u i v e l e n t l y i n t sum ( i n t ar2 [ ] [ 4 ], i n t s i z e ) ; Note we need the parentheses, as int *ar2[4] declares and array of 4 pointers to type int instead of the desired pointer single pointer to an array of four ints. The first cannot work as C/C++ dosn t allow passing of arrays. John Chrispell, Friday October 1, 2010 slide 23/25
14 the sum function The sum function in the previous example would look something like: i n t sum ( i n t ar2 [ ] [ 4 ], i n t s i z e ){ i n t t o t a l = 0 ; f o r ( i n t r =0; r < s i z e ; r++){ f o r ( i n t c = 0 ; c < 4 ; c++){ t o t a l += ar2 [ r ] [ c ] ; return t o t a l ; Note we are passing in the number of rows to be looped over. Note the equivalence of the following: ar2 [ r ] [ c ] == ( ( ar2 + r ) + c ) // These a r e the same. John Chrispell, Friday October 1, 2010 slide 25/25
Comp151. Definitions & Declarations
Comp151 Definitions & Declarations Example: Definition /* reverse_printcpp */ #include #include using namespace std; int global_var = 23; // global variable definition void reverse_print(const
More informationName: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
More informationPassing 1D arrays to functions.
Passing 1D arrays to functions. In C++ arrays can only be reference parameters. It is not possible to pass an array by value. Therefore, the ampersand (&) is omitted. What is actually passed to the function,
More informationAn Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
More informationMember Functions of the istream Class
Member Functions of the istream Class The extraction operator is of limited use because it always uses whitespace to delimit its reads of the input stream. It cannot be used to read those whitespace characters,
More informationGoals for This Lecture:
Goals for This Lecture: Understand the pass-by-value and passby-reference argument passing mechanisms of C++ Understand the use of C++ arrays Understand how arrays are passed to C++ functions Call-by-value
More information7.7 Case Study: Calculating Depreciation
7.7 Case Study: Calculating Depreciation 1 7.7 Case Study: Calculating Depreciation PROBLEM Depreciation is a decrease in the value over time of some asset due to wear and tear, decay, declining price,
More informationMoving from C++ to VBA
Introduction College of Engineering and Computer Science Mechanical Engineering Department Mechanical Engineering 309 Numerical Analysis of Engineering Systems Fall 2014 Number: 15237 Instructor: Larry
More informationAnswers to Review Questions Chapter 7
Answers to Review Questions Chapter 7 1. The size declarator is used in a definition of an array to indicate the number of elements the array will have. A subscript is used to access a specific element
More informationPART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
More informationCalling the Function. Two Function Declarations Here is a function declared as pass by value. Why use Pass By Reference?
Functions in C++ Let s take a look at an example declaration: Lecture 2 long factorial(int n) Functions The declaration above has the following meaning: The return type is long That means the function
More informationStorage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage
More informationChapter 5 Functions. Introducing Functions
Chapter 5 Functions 1 Introducing Functions A function is a collection of statements that are grouped together to perform an operation Define a function Invoke a funciton return value type method name
More informationThe University of Alabama in Huntsville Electrical and Computer Engineering CPE 112 01 Test #4 November 20, 2002. True or False (2 points each)
True or False (2 points each) The University of Alabama in Huntsville Electrical and Computer Engineering CPE 112 01 Test #4 November 20, 2002 1. Using global variables is better style than using local
More informationBasics of I/O Streams and File I/O
Basics of This is like a cheat sheet for file I/O in C++. It summarizes the steps you must take to do basic I/O to and from files, with only a tiny bit of explanation. It is not a replacement for reading
More informationLecture 3. Arrays. Name of array. c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] c[9] c[10] c[11] Position number of the element within array c
Lecture 3 Data structures arrays structs C strings: array of chars Arrays as parameters to functions Multiple subscripted arrays Structs as parameters to functions Default arguments Inline functions Redirection
More informationChapter One Introduction to Programming
Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of
More informationWhat is a Loop? Pretest Loops in C++ Types of Loop Testing. Count-controlled loops. Loops can be...
What is a Loop? CSC Intermediate Programming Looping A loop is a repetition control structure It causes a single statement or a group of statements to be executed repeatedly It uses a condition to control
More informationC++ Input/Output: Streams
C++ Input/Output: Streams 1 The basic data type for I/O in C++ is the stream. C++ incorporates a complex hierarchy of stream types. The most basic stream types are the standard input/output streams: istream
More informationShort Notes on Dynamic Memory Allocation, Pointer and Data Structure
Short Notes on Dynamic Memory Allocation, Pointer and Data Structure 1 Dynamic Memory Allocation in C/C++ Motivation /* a[100] vs. *b or *c */ Func(int array_size) double k, a[100], *b, *c; b = (double
More informationChapter 9 Text Files User Defined Data Types User Defined Header Files
Chapter 9 Text Files User Defined Data Types User Defined Header Files 9-1 Using Text Files in Your C++ Programs 1. A text file is a file containing data you wish to use in your program. A text file does
More information1. The First Visual C++ Program
1. The First Visual C++ Program Application and name it as HelloWorld, and unselect the Create directory for solution. Press [OK] button to confirm. 2. Select Application Setting in the Win32 Application
More informationAppendix K Introduction to Microsoft Visual C++ 6.0
Appendix K Introduction to Microsoft Visual C++ 6.0 This appendix serves as a quick reference for performing the following operations using the Microsoft Visual C++ integrated development environment (IDE):
More informationBoolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
More informationVB.NET Programming Fundamentals
Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decision-making statements
More informationEP241 Computer Programming
EP241 Computer Programming Topic 10 Basic Classes Department of Engineering Physics University of Gaziantep Course web page www.gantep.edu.tr/~bingul/ep241 Sep 2013 Sayfa 1 Introduction In this lecture
More informationFunctions and Parameter Passing
Chapter 5: Functions and Parameter Passing In this chapter, we examine the difference between function calls in C and C++ and the resulting difference in the way functions are defined in the two languages.
More informationIllustration 1: Diagram of program function and data flow
The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline
More informationOperator Overloading. Lecture 8. Operator Overloading. Running Example: Complex Numbers. Syntax. What can be overloaded. Syntax -- First Example
Operator Overloading Lecture 8 Operator Overloading C++ feature that allows implementer-defined classes to specify class-specific function for operators Benefits allows classes to provide natural semantics
More informationMemory management. Announcements. Safe user input. Function pointers. Uses of function pointers. Function pointer example
Announcements Memory management Assignment 2 posted, due Friday Do two of the three problems Assignment 1 graded see grades on CMS Lecture 7 CS 113 Spring 2008 2 Safe user input If you use scanf(), include
More informationArrays. number: Motivation. Prof. Stewart Weiss. Software Design Lecture Notes Arrays
Motivation Suppose that we want a program that can read in a list of numbers and sort that list, or nd the largest value in that list. To be concrete about it, suppose we have 15 numbers to read in from
More informationObject Oriented Software Design II
Object Oriented Software Design II C++ intro Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 26, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February 26,
More information13 Classes & Objects with Constructors/Destructors
13 Classes & Objects with Constructors/Destructors 13.1 Introduction In object oriented programming, the emphasis is on data rather than function. Class is a way that binds the data & function together.
More informationLecture 22: C Programming 4 Embedded Systems
Lecture 22: C Programming 4 Embedded Systems Today s Goals Basic C programming process Variables and constants in C Pointers to access addresses Using a High Level Language High-level languages More human
More informationSources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
More informationArrays in Java. Working with Arrays
Arrays in Java So far we have talked about variables as a storage location for a single value of a particular data type. We can also define a variable in such a way that it can store multiple values. Such
More informationCpSc212 Goddard Notes Chapter 6. Yet More on Classes. We discuss the problems of comparing, copying, passing, outputting, and destructing
CpSc212 Goddard Notes Chapter 6 Yet More on Classes We discuss the problems of comparing, copying, passing, outputting, and destructing objects. 6.1 Object Storage, Allocation and Destructors Some objects
More informationarrays C Programming Language - Arrays
arrays So far, we have been using only scalar variables scalar meaning a variable with a single value But many things require a set of related values coordinates or vectors require 3 (or 2, or 4, or more)
More informationConditions & Boolean Expressions
Conditions & Boolean Expressions 1 In C++, in order to ask a question, a program makes an assertion which is evaluated to either true (nonzero) or false (zero) by the computer at run time. Example: In
More informationSimple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language
Simple C++ Programs Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs Program Structure Constants and Variables C++ Operators Standard Input and Output Basic Functions from
More informationFormatting Numbers with C++ Output Streams
Formatting Numbers with C++ Output Streams David Kieras, EECS Dept., Univ. of Michigan Revised for EECS 381, Winter 2004. Using the output operator with C++ streams is generally easy as pie, with the only
More informationObject Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationParameter Passing. Parameter Passing. Parameter Passing Modes in Fortran. Parameter Passing Modes in C
Parameter Passing In this set of notes you will learn about: Parameter passing modes Call by Call by reference Call by sharing Call by result Call by /result Call by name Subroutine closures as parameters
More informationSequential Program Execution
Sequential Program Execution Quick Start Compile step once always g++ -o Realtor1 Realtor1.cpp mkdir labs cd labs Execute step mkdir 1 Realtor1 cd 1 cp../0/realtor.cpp Realtor1.cpp Submit step cp /samples/csc/155/labs/1/*.
More informationData Structures using OOP C++ Lecture 1
References: 1. E Balagurusamy, Object Oriented Programming with C++, 4 th edition, McGraw-Hill 2008. 2. Robert Lafore, Object-Oriented Programming in C++, 4 th edition, 2002, SAMS publishing. 3. Robert
More information2.6 Exponents and Order of Operations
2.6 Exponents and Order of Operations We begin this section with exponents applied to negative numbers. The idea of applying an exponent to a negative number is identical to that of a positive number (repeated
More informationLecture 2 Notes: Flow of Control
6.096 Introduction to C++ January, 2011 Massachusetts Institute of Technology John Marrero Lecture 2 Notes: Flow of Control 1 Motivation Normally, a program executes statements from first to last. The
More informationLecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists
Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse
More informationBase Conversion written by Cathy Saxton
Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,
More informationFondamenti di C++ - Cay Horstmann 1
Fondamenti di C++ - Cay Horstmann 1 Review Exercises R10.1 Line 2: Can't assign int to int* Line 4: Can't assign Employee* to Employee Line 6: Can't apply -> to object Line 7: Can't delete object Line
More information5 Arrays and Pointers
5 Arrays and Pointers 5.1 One-dimensional arrays Arrays offer a convenient way to store and access blocks of data. Think of arrays as a sequential list that offers indexed access. For example, a list of
More informationClass 16: Function Parameters and Polymorphism
Class 16: Function Parameters and Polymorphism SI 413 - Programming Languages and Implementation Dr. Daniel S. Roche United States Naval Academy Fall 2011 Roche (USNA) SI413 - Class 16 Fall 2011 1 / 15
More informationCommon Beginner C++ Programming Mistakes
Common Beginner C++ Programming Mistakes This documents some common C++ mistakes that beginning programmers make. These errors are two types: Syntax errors these are detected at compile time and you won't
More informationSchedule. Structures and Classes in C++ Outline. Goals for This Topic. Another Example of a Structure. What is a Structure? Classes May 12-17, 2005
Classes May -7, 005 Schedule Structures and Classes in C++ Larry Caretto Computer Science 06 Computing in Engineering and Science May and 7, 005 Today and Tuesday: Lecture on classes Thursday (May 9) Project
More informationPointers and Linked Lists
15 Pointers and Linked Lists 15.1 Nodes and Linked Lists 828 Nodes 828 Linked Lists 834 Inserting a Node at the Head of a List 835 Pitfall:Losing Nodes 839 Searching a Linked List 840 Pointers as Iterators
More informationCOMPUTER SCIENCE. Paper 1 (THEORY)
COMPUTER SCIENCE Paper 1 (THEORY) (Three hours) Maximum Marks: 70 (Candidates are allowed additional 15 minutes for only reading the paper. They must NOT start writing during this time) -----------------------------------------------------------------------------------------------------------------------
More informationSyllabus OBJECT ORIENTED PROGRAMMING C++
1 Syllabus OBJECT ORIENTED PROGRAMMING C++ 1. Introduction : What is object oriented programming? Why do we need objectoriented. Programming characteristics of object-oriented languages. C and C++. 2.
More informationC++FA 3.1 OPTIMIZING C++
C++FA 3.1 OPTIMIZING C++ Ben Van Vliet Measuring Performance Performance can be measured and judged in different ways execution time, memory usage, error count, ease of use and trade offs usually have
More informationIntroduction to C++ Introduction to C++ Week 7 Dr Alex Martin 2013 Slide 1
Introduction to C++ Introduction to C++ Week 7 Dr Alex Martin 2013 Slide 1 Introduction to Classes Classes as user-defined types We have seen that C++ provides a fairly large set of built-in types. e.g
More informationBasics of C++ and object orientation in OpenFOAM
Basics of C++ and object orientation in OpenFOAM To begin with: The aim of this part of the course is not to teach all of C++, but to give a short introduction that is useful when trying to understand
More informationIS0020 Program Design and Software Tools Midterm, Feb 24, 2004. Instruction
IS0020 Program Design and Software Tools Midterm, Feb 24, 2004 Name: Instruction There are two parts in this test. The first part contains 50 questions worth 80 points. The second part constitutes 20 points
More informationCOMPUTER SCIENCE 1999 (Delhi Board)
COMPUTER SCIENCE 1999 (Delhi Board) Time allowed: 3 hours Max. Marks: 70 Instructions: (i) All the questions are compulsory. (ii) Programming Language: C++ QUESTION l. (a) Why main function is special?
More information9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements
9 Control Statements 9.1 Introduction The normal flow of execution in a high level language is sequential, i.e., each statement is executed in the order of its appearance in the program. However, depending
More informationOne Dimension Array: Declaring a fixed-array, if array-name is the name of an array
Arrays in Visual Basic 6 An array is a collection of simple variables of the same type to which the computer can efficiently assign a list of values. Array variables have the same kinds of names as simple
More informationC++ Language Tutorial
cplusplus.com C++ Language Tutorial Written by: Juan Soulié Last revision: June, 2007 Available online at: http://www.cplusplus.com/doc/tutorial/ The online version is constantly revised and may contain
More informationC++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
More informationEmbedded SQL. Unit 5.1. Dr Gordon Russell, Copyright @ Napier University
Embedded SQL Unit 5.1 Unit 5.1 - Embedde SQL - V2.0 1 Interactive SQL So far in the module we have considered only the SQL queries which you can type in at the SQL prompt. We refer to this as interactive
More informationAP Computer Science Java Mr. Clausen Program 9A, 9B
AP Computer Science Java Mr. Clausen Program 9A, 9B PROGRAM 9A I m_sort_of_searching (20 points now, 60 points when all parts are finished) The purpose of this project is to set up a program that will
More informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
More informationCh 7-1. Object-Oriented Programming and Classes
2014-1 Ch 7-1. Object-Oriented Programming and Classes May 10, 2014 Advanced Networking Technology Lab. (YU-ANTL) Dept. of Information & Comm. Eng, Graduate School, Yeungnam University, KOREA (Tel : +82-53-810-2497;
More informationCSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17 System Calls for Processes Ref: Process: Chapter 5 of [HGS]. A program in execution. Several processes are executed concurrently by the
More informationCOMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012
Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about
More informationC++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 3: Input/Output
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 3: Input/Output Objectives In this chapter, you will: Learn what a stream is and examine input and output streams Explore
More informationCreating a Simple Visual C++ Program
CPS 150 Lab 1 Name Logging in: Creating a Simple Visual C++ Program 1. Once you have signed for a CPS computer account, use the login ID and the password password (lower case) to log in to the system.
More informationSolving Problems Recursively
Solving Problems Recursively Recursion is an indispensable tool in a programmer s toolkit Allows many complex problems to be solved simply Elegance and understanding in code often leads to better programs:
More informationChapter 9 Delegates and Events
Chapter 9 Delegates and Events Two language features are central to the use of the.net FCL. We have been using both delegates and events in the topics we have discussed so far, but I haven t explored the
More informationUEE1302 (1102) F10 Introduction to Computers and Programming
Computational Intelligence on Automation Lab @ NCTU UEE1302 (1102) F10 Introduction to Computers and Programming Programming Lecture 03 Flow of Control (Part II): Repetition while,for & do..while Learning
More informationCurriculum Map. Discipline: Computer Science Course: C++
Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code
More informationLet s put together a Manual Processor
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
More informationIntroduction to Data Structures
Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate
More informationC++FA 5.1 PRACTICE MID-TERM EXAM
C++FA 5.1 PRACTICE MID-TERM EXAM This practicemid-term exam covers sections C++FA 1.1 through C++FA 1.4 of C++ with Financial Applications by Ben Van Vliet, available at www.benvanvliet.net. 1.) A pointer
More informationMAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push) -----------------------------------------
=============================================================================================================================== DATA STRUCTURE PSEUDO-CODE EXAMPLES (c) Mubashir N. Mir - www.mubashirnabi.com
More informationObject-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,
More informationECE 250 Data Structures and Algorithms MIDTERM EXAMINATION 2008-10-23/5:15-6:45 REC-200, EVI-350, RCH-106, HH-139
ECE 250 Data Structures and Algorithms MIDTERM EXAMINATION 2008-10-23/5:15-6:45 REC-200, EVI-350, RCH-106, HH-139 Instructions: No aides. Turn off all electronic media and store them under your desk. If
More informationCS193D Handout 06 Winter 2004 January 26, 2004 Copy Constructor and operator=
CS193D Handout 06 Winter 2004 January 26, 2004 Copy Constructor and operator= We already know that the compiler will supply a default (zero-argument) constructor if the programmer does not specify one.
More informationNote: Syntactically, a ; is needed at the end of a struct definition.
Structs, Classes, and Arrays Structs A type representation containing a set of heterogeneous members with possibly varying types. struct Student { string name; int id; double tuition; ; Note: Syntactically,
More informationC++ Outline. cout << "Enter two integers: "; int x, y; cin >> x >> y; cout << "The sum is: " << x + y << \n ;
C++ Outline Notes taken from: - Drake, Caleb. EECS 370 Course Notes, University of Illinois Chicago, Spring 97. Chapters 9, 10, 11, 13.1 & 13.2 - Horstman, Cay S. Mastering Object-Oriented Design in C++.
More information1 Description of The Simpletron
Simulating The Simpletron Computer 50 points 1 Description of The Simpletron In this assignment you will write a program to simulate a fictional computer that we will call the Simpletron. As its name implies
More information5 CLASSES CHAPTER. 5.1 Object-Oriented and Procedural Programming. 5.2 Classes and Objects 5.3 Sample Application: A Clock Class
CHAPTER 5 CLASSES class head class struct identifier base spec union class name 5.1 Object-Oriented and Procedural Programming 5.2 Classes and Objects 5.3 Sample Application: A Clock Class 5.4 Sample Application:
More informationIntegrating the C++ Standard Template Library Into the Undergraduate Computer Science Curriculum
Integrating the C++ Standard Template Library Into the Undergraduate Computer Science Curriculum James P. Kelsh James.Kelsh@cmich.edu Roger Y. Lee lee@cps.cmich.edu Department of Computer Science Central
More information1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
More informationVisual C++ 2010 Tutorial
Visual C++ 2010 Tutorial Fall, 2011 Table of Contents Page No Introduction ------------------------------------------------------------------- 2 Single file program demo --------- -----------------------------------------
More informationThe C++ Language. Loops. ! Recall that a loop is another of the four basic programming language structures
The C++ Language Loops Loops! Recall that a loop is another of the four basic programming language structures Repeat statements until some condition is false. Condition False True Statement1 2 1 Loops
More informationC++ DATA STRUCTURES. Defining a Structure: Accessing Structure Members:
C++ DATA STRUCTURES http://www.tutorialspoint.com/cplusplus/cpp_data_structures.htm Copyright tutorialspoint.com C/C++ arrays allow you to define variables that combine several data items of the same kind
More informationArrays. Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.
Arrays Atul Prakash Readings: Chapter 10, Downey Sun s Java tutorial on Arrays: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html 1 Grid in Assignment 2 How do you represent the state
More information- Hour 1 - Introducing Visual C++ 5
- Hour 1 - Introducing Visual C++ 5 Welcome to Hour 1 of Teach Yourself Visual C++ 5 in 24 Hours! Visual C++ is an exciting subject, and this first hour gets you right into the basic features of the new
More informationBuilding Java Programs
Building Java Programs Chapter 3 Lecture 3-3: Interactive Programs w/ Scanner reading: 3.3-3.4 self-check: #16-19 exercises: #11 videos: Ch. 3 #4 Interactive programs We have written programs that print
More informationA brief introduction to C++ and Interfacing with Excel
A brief introduction to C++ and Interfacing with Excel ANDREW L. HAZEL School of Mathematics, The University of Manchester Oxford Road, Manchester, M13 9PL, UK CONTENTS 1 Contents 1 Introduction 3 1.1
More information