invitation to computer science 5 th edition chapter c# programming in c#
TRANSCRIPT
![Page 1: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/1.jpg)
Invitation to Computer Science 5th Edition
Chapter C#
Programming in C#
![Page 2: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/2.jpg)
Invitation to Computer Science, 5th Edition 2
Objectives
In this chapter, you will learn about:
• Creating and running a simple program in C#
• Virtual data storage
• Statement types
• An example of a complete program
![Page 3: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/3.jpg)
Invitation to Computer Science, 5th Edition 3
Objectives (continued)
• Managing complexity
• Object-oriented programming
• Graphical programming
![Page 4: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/4.jpg)
Introduction to C#
• Figure 1 shows a simple but complete C# program
• Figure 2 shows the general form of a typical C# program
• Comments– Anything appearing on a line after the double slash
symbol (//) is ignored by the compiler
• Prologue comment – Introductory comment that comes first
Invitation to Computer Science, 5th Edition 44
![Page 5: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/5.jpg)
Invitation to Computer Science, 5th Edition 5
Figure 1 A Simple C# Program
![Page 6: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/6.jpg)
Invitation to Computer Science, 5th Edition 6
Figure 1 A Simple C# Program (continued)
![Page 7: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/7.jpg)
Invitation to Computer Science, 5th Edition 7
Figure 2 The Overall Form of a Typical C# Program
![Page 8: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/8.jpg)
Invitation to Computer Science, 5th Edition 8
Figure 3 The Program of Figure 1 (line numbers added for reference)
![Page 9: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/9.jpg)
Introduction to C# (continued)
• Using directive – Refers to the System library
• Class header– Announces that a class is about to be defined
• + sign– The C# concatenation operator joins two strings
together
• Free-format language– Does not matter where things are placed on a line
Invitation to Computer Science, 5th Edition 9
![Page 10: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/10.jpg)
Creating and Running a C# Program
• Three-step process– First step: type the program into a text editor– Second step: the program must be compiled using
a C# compiler for your computer– Third step: loads and executes the program file
• Integrated Development Environment– Lets the programmer perform a number of tasks
within the shell of a single application program
Invitation to Computer Science, 5th Edition 10
![Page 11: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/11.jpg)
Virtual Data Storage
• Assembly language – Does not require us to give the actual memory
address of the storage location to be used for each item
• Identifiers– Names in a programming language– Cannot be one of the few reserved words
• C# is a case-sensitive language– Uppercase letters are distinguished from lowercase
letters
Invitation to Computer Science, 5th Edition 11
![Page 12: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/12.jpg)
Virtual Data Storage (continued)
• Constants– Quantities are fixed throughout the duration of the
program– Values are known ahead of time
• Variables– Values that change as the program executes
• Variable declaration – Consists of a data type followed by a list of one or
more identifiers of that type
Invitation to Computer Science, 5th Edition 12
![Page 13: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/13.jpg)
Invitation to Computer Science, 5th Edition 13
Figure 4 Some of the C# Primitive Data Types
![Page 14: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/14.jpg)
Virtual Data Storage (continued)
• Array – Groups together a collection of memory locations, all
storing data of the same type – Enables us to talk about an entire table of values or
the individual elements making up that table
Invitation to Computer Science, 5th Edition 14
![Page 15: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/15.jpg)
Invitation to Computer Science, 5th Edition 15
Figure 5 A 12-Element Array hits
![Page 16: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/16.jpg)
Invitation to Computer Science, 5th Edition 16
Statement Types
• Input statement – Collects a value from the user for a variable within
the program
• Output statement – Writes a message or the value of a program variable
to the user’s screen
• Assignment statement– Assigns a value to a program variable
![Page 17: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/17.jpg)
Invitation to Computer Science, 5th Edition 17
Statement Types (continued)
• Control statements– Affect the order in which instructions are executed
• Flow of control in the program– The path through the program that is traced by
following the currently executing statement
![Page 18: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/18.jpg)
Invitation to Computer Science, 5th Edition 18
Input/Output Statements
• String – Can be composed of items joined by the
concatenation operator +
• Literal string – Enclosed in double quotes
• Format specifier– Used to control the appearance of numerical output
• Fixed-point format– Real number written in the form 11.34
![Page 19: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/19.jpg)
Invitation to Computer Science, 5th Edition 19
The Assignment Statement
• Pseudocode operationSet the value of “variable” to “arithmetic expression”
– C# equivalent
variable = expression;
• Basic arithmetic operations+ Addition
- Subtraction
* Multiplication
/ Division
![Page 20: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/20.jpg)
Invitation to Computer Science, 5th Edition 20
Control Statements
• Control mechanisms– Sequential: instructions are executed in order– Conditional: which instruction executes next
depends on some condition– Looping: a group of instructions may be executed
many times
• Boolean condition– Can be either true or false– Often involves comparing the values of two
expressions and determining whether they are equal
![Page 21: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/21.jpg)
Invitation to Computer Science, 5th Edition 21
Figure 6 Sequential Flow of Control
![Page 22: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/22.jpg)
Invitation to Computer Science, 5th Edition 22
Figure 7 C# Comparison Operators
![Page 23: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/23.jpg)
Invitation to Computer Science, 5th Edition 23
Figure 8 C# Boolean Operators
![Page 24: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/24.jpg)
Invitation to Computer Science, 5th Edition 24
Figure 9 Conditional Flow ofControl (if-else)
![Page 25: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/25.jpg)
Invitation to Computer Science, 5th Edition 25
Figure 10 If-Else with Empty Else
![Page 26: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/26.jpg)
Control Statements (continued)
• Compound statement – Can be used anywhere a single statement is allowed– Example
{
Console.WriteLine(“This is the first statement.”);
Console.WriteLine(“This is the second statement.”);
Console.WriteLine(“This is the third statement.”);
}
Invitation to Computer Science, 5th Edition 26
![Page 27: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/27.jpg)
Invitation to Computer Science, 5th Edition 27
Figure 11 The TravelPlanner Programwith a Conditional Statement
![Page 28: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/28.jpg)
Invitation to Computer Science, 5th Edition 28
Figure 12 while Loop
![Page 29: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/29.jpg)
Control Statements (continued)
• Initialization of variables– Using assignment statements to set the values of
certain variables before they are used by the program
• Sentinel value– One extra integer that is not part of the legitimate
data but is instead a signal that there are no more data
• Infinite loop– The condition, once true, would remain true forever,
and the loop body would be endlessly executedInvitation to Computer Science, 5th Edition 29
![Page 30: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/30.jpg)
Invitation to Computer Science, 5th Edition 30
Figure 13 The TravelPlanner Program with Looping
![Page 31: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/31.jpg)
Invitation to Computer Science, 5th Edition 31
Figure 13 The TravelPlanner Program with Looping (continued)
![Page 32: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/32.jpg)
Another Example
• Example– Write a program to assist SportsWorld, a company
that installs circular swimming pools
• To estimate costs for swimming pool covers or for fencing – SportsWorld needs to know the area or
circumference of a pool, given its radius
Invitation to Computer Science, 5th Edition 32
![Page 33: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/33.jpg)
Invitation to Computer Science, 5th Edition 33
Figure 14 A Pseudocode Version of the SportsWorld Program
![Page 34: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/34.jpg)
Invitation to Computer Science, 5th Edition 34
Figure 15 The SportsWorld Program
![Page 35: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/35.jpg)
Invitation to Computer Science, 5th Edition 35
Figure 15 The SportsWorld Program (continued)
![Page 36: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/36.jpg)
Invitation to Computer Science, 5th Edition 36
Figure 16 A Sample Session Using the Program of Figure 15
![Page 37: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/37.jpg)
Managing Complexity
• Divide and conquer – A problem-solving approach and not just a computer
programming technique
• Figure 17(a)– An example of a structure chart or structure
diagram
Invitation to Computer Science, 5th Edition 37
![Page 38: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/38.jpg)
Invitation to Computer Science, 5th Edition 38
Figure 17 Structure Charts
![Page 39: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/39.jpg)
Using Functions
• Functions– Each function in a program should do one and only
one subtask
• Argument list– List of identifiers for variables pertinent to that
function
Invitation to Computer Science, 5th Edition 39
![Page 40: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/40.jpg)
Invitation to Computer Science, 5th Edition 40
Figure 18 Structure Chart for the SportsWorld Task
![Page 41: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/41.jpg)
Invitation to Computer Science, 5th Edition 41
Figure 19 A High-Level Modular View of the SportsWorld Program
![Page 42: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/42.jpg)
Invitation to Computer Science, 5th Edition 42
Figure 20 The Main Function in a Modularized Version of the SportsWorld Program
![Page 43: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/43.jpg)
Writing Functions
• Any function can invoke another function
• A function can invoke itself
• The function header consists of three parts– A return indicator– The function identifier– A parameter list
Invitation to Computer Science, 5th Edition 43
![Page 44: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/44.jpg)
Invitation to Computer Science, 5th Edition 44
Figure 21 The Outline for a C# Function
![Page 45: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/45.jpg)
Writing Functions (continued)
• Return indicator – Classifies a function as a “void” or a “nonvoid”
function
• Function identifier– Can be any legitimate C# identifier
• Argument is passed by value – If the value is one that the function must know to do
its job but should not change
Invitation to Computer Science, 5th Edition 45
![Page 46: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/46.jpg)
Writing Functions (continued)
• Argument is passed by reference – If value passed to the function is one that the
function should change, and the main function should know the new value
• By default– Arguments in C# are passed by value, which
protects them from change by the function
• getInput function– Both radius and taskToDo are values that getInput
obtains from the user
Invitation to Computer Science, 5th Edition 46
![Page 47: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/47.jpg)
Invitation to Computer Science, 5th Edition 47
Figure 22 The getInput Function
![Page 48: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/48.jpg)
Invitation to Computer Science, 5th Edition 48
Figure 23 The doCircumference Function
![Page 49: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/49.jpg)
Invitation to Computer Science, 5th Edition 49
Figure 24 The Complete Modularized SportsWorld Program
![Page 50: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/50.jpg)
Invitation to Computer Science, 5th Edition 50
Figure 24 The Complete Modularized SportsWorld Program (continued)
![Page 51: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/51.jpg)
Invitation to Computer Science, 5th Edition 51
Figure 25 The SportsWorld Program Using Nonvoid Functions
![Page 52: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/52.jpg)
Invitation to Computer Science, 5th Edition 52
Figure 25 The SportsWorld Program Using Nonvoid Functions (continued)
![Page 53: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/53.jpg)
Invitation to Computer Science, 5th Edition 53
Figure 26 Some C# Terminology
![Page 54: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/54.jpg)
Object-Oriented Programming
• A program is considered a simulation of some part of the world that is the domain of interest– “Objects” populate this domain
• When an object-oriented program is executed– The program generates requests for services that go
to the various objects
• Terms associated with object-oriented programming– Encapsulation– Inheritance– Polymorphism
Invitation to Computer Science, 5th Edition 54
![Page 55: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/55.jpg)
Invitation to Computer Science, 5th Edition 55
Figure 27 Three Key Elements of OOP
![Page 56: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/56.jpg)
C# and OOP
• Member variables– Properties of a class
• Member functions– Services that any object of the class can perform
• Objects– Instances of classes
Invitation to Computer Science, 5th Edition 56
![Page 57: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/57.jpg)
Invitation to Computer Science, 5th Edition 57
Figure 28 An Object-Oriented SportsWorld Program
![Page 58: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/58.jpg)
Invitation to Computer Science, 5th Edition 58
Figure 28 An Object-Oriented SportsWorld Program (continued)
![Page 59: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/59.jpg)
Invitation to Computer Science, 5th Edition 59
Figure 28 An Object-Oriented SportsWorldProgram (continued)
![Page 60: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/60.jpg)
One More Example
• In Figure 29– The Circle object has a radius property– The Rectangle object has a width property and a
height property– Any Circle object can set the value of its radius and
can compute its area– A Square object has a side property– The Square2 object doesn’t have any properties or
any way to compute its area
Invitation to Computer Science, 5th Edition 60
![Page 61: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/61.jpg)
Invitation to Computer Science, 5th Edition 61
Figure 29 A C# Program with Polymorphism and Inheritance
![Page 62: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/62.jpg)
Invitation to Computer Science, 5th Edition 62
Figure 29 A C# Program with Polymorphism and Inheritance (continued)
![Page 63: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/63.jpg)
Invitation to Computer Science, 5th Edition 63
Figure 29 A C# Program with Polymorphism and Inheritance (continued)
![Page 64: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/64.jpg)
Invitation to Computer Science, 5th Edition 64
Figure 30 Output from the Program of Figure 29Figure 29
![Page 65: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/65.jpg)
One More Example (continued)
• Square – A stand-alone class with a side property and a
doArea function
• Square2 class– Recognizes the fact that squares are special kinds of
rectangles– Subclass of the Rectangle class– Inherits the width and height properties from the
“parent” Rectangle class
Invitation to Computer Science, 5th Edition 65
![Page 66: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/66.jpg)
What Have We Gained?
• Reasons why OOP is a popular way to program– Software reuse– A more natural “worldview”
• Software reuse – Useful class that has been implemented and tested
becomes a component available for use in future software development
Invitation to Computer Science, 5th Edition 66
![Page 67: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/67.jpg)
Invitation to Computer Science, 5th Edition 67
Figure 31 A Hierarchy of Geometric Classes
![Page 68: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/68.jpg)
A More “Natural” Worldview
• Object-oriented programming– Recognizes that in the “real world,” tasks are done
by entities (objects)– Allows the programmer to come closer to modeling
or simulating the world as we see it
• Object-oriented program design – Begins by identifying objects that are important in the
domain of the program
Invitation to Computer Science, 5th Edition 68
![Page 69: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/69.jpg)
Graphical Programming
• Graphics – Make it easier to manage tasks of the operating
system– Can help us visualize and make sense of massive
amounts of output produced by programs that model complex physical, social, and mathematical systems
Invitation to Computer Science, 5th Edition 69
![Page 70: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/70.jpg)
Graphics Hardware
• Bitmapped display– Screen is made up of thousands of individual picture
elements, or pixels, laid out in a two-dimensional grid
• High-resolution terminals– Terminals with a high density of pixels
• Frame buffer– Memory that stores the actual screen image
Invitation to Computer Science, 5th Edition 70
![Page 71: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/71.jpg)
Invitation to Computer Science, 5th Edition 71
Figure 32 Pixel-Numbering System in a Bitmapped Display
![Page 72: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/72.jpg)
Invitation to Computer Science, 5th Edition 72
Figure 33 Display of Information on the Hardware Terminal
![Page 73: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/73.jpg)
Graphics Software
• Graphics library– Collection of functions
• Graphics functions at our disposal– DrawLine(Pen, x1, y1, x2, y2)– DrawRectangle(Pen, x, y, width, height)– DrawEllipse(Pen, x, y, width, height)– DrawString(string, font, brush, x, y)
Invitation to Computer Science, 5th Edition 73
![Page 74: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/74.jpg)
Summary
• In a high-level language, the programmer:– Need not manage the storage or movement of data
values in memory– Can think about the problem at a higher level– Can use program instructions that are both more
powerful and more natural language-like– Can write a program that is much more portable
among various hardware platforms
Invitation to Computer Science, 5th Edition 74
![Page 75: Invitation to Computer Science 5 th Edition Chapter C# Programming in C#](https://reader036.vdocuments.site/reader036/viewer/2022062321/56649e7c5503460f94b7e77f/html5/thumbnails/75.jpg)
Summary (continued)
• Modularization, through the use of functions and parameters– Allows the program to be more cleanly structured
• Object-oriented programming – Allows a more intuitive view of the problem solution – Provides the possibility for reuse of helpful classes
Invitation to Computer Science, 5th Edition 75