Internet Programming Chapter 1 Introduction to Programming Logic.
-
date post
22-Dec-2015 -
Category
Documents
-
view
225 -
download
0
Transcript of Internet Programming Chapter 1 Introduction to Programming Logic.
Objectives
Understand the nature of computers and programming
Explore the programming process Use pseudocode Use and name variables Describe data types
Objectives (cont.)
Understand decision-making and loop execution
Understand modularization and abstraction in procedural programs
Describe object-oriented programming
Understanding the Nature of Computers and Programming
Together, hardware and software accomplish:– Input– Processing– Output– Storage
Syntax Errors
Syntax errors are mistakes in a software code’s grammar. Just as misspelling a word is a mistake when writing, misspelling a command word or forgetting to close a module will cause a syntax error. If you’re supposed to use a semi-colon (;) and you use a colon (:) instead, you’ve made a syntax error.
– Where is the train station?– Station is the train where?
Faulty Logic
Harder to find than syntax errors– Why?
1. Stop at Pump2. Open Gas Cap3. Turn off engine4. Close Gas Cap5. Pump Gas6. Leave Pump7. Turn on Engine
Run-Time Errors
Run-time errors are mistakes that occur when you run the software code.
Software not displaying a window correctly is a run-time error.
Compiling and Interpreting
Language-translation software (a compiler or interpreter) changes your programming statements into machine language.
What's the difference between the two?
Exploring the Programming Process
Understand the problem Plan the logic Code the program Translate the program into machine language Test the program Put the program into production Maintain the program Prepare to start the process again (iterative)
Using Pseudocode
English statements Uses terminal statements and indentation
Start
Get inputNumber
Compute calculatedAnswer
as inputNumber times 2
Print calculatedAnswer
End
Pseudocode Guides
Use simple English. Put one command on a line. Place any important words in bold.
– Reserved words, for example
Start from the top and work toward the bottom. Separate processes with spaces to form modules. Use indentation
Using and Naming Variables
Naming rules vary between languages We will follow camel casing
– Classes start with Caps
Variable names must be one wordGood examples:
myRate
interestRate
Bad example:
interest Rate
Using and Naming Variables
Variable names must have some appropriate meaningGood examples:
finalBalance
initialInvestment
Bad example:
f
Assigning Values to Variables
The equal sign (=) often is used as the assignment symbol (or operator)
Whatever operation is performed to the right of the assignment operator results in a value that is assigned to the memory location named to the left of the assignment operator
Example:
answer = inputValue * 2
Describing Data Types
A specific numeric value is a numeric constant, for example: 43
A specific character value is a character constant, or string, and often enclosed in double quotes, for example: “Chris”– Exceptions: Java uses ' ' for character and " " for strings
Similarly, programming languages allow at least two types of variables – numeric, and character, text, or string.
Understanding Decision Making
A dual-alternative, binary, or if-then-else decision structure:if the answer to the question is yes then
do something
else
do something else
Understanding Decision Making
A single-alternative, unary, or if-then selection:
if the answer to the question is yes then
do something
Understanding Decision Making
A Boolean expression is one that represents only one of two states: true or false
For any two values, you can decide whether:– they are equal (=)– the first is greater than the second (>)– the first is less than the second (<)
Understanding Decision Making
In addition to the three basic comparisons, most programming languages support three more. For any two values you can decide whether:– The first is greater than or equal to the second
(>=)– The first is less than or equal to the second (<=)– The two are not equal (!= or <>0)
Understanding Loop Execution (aka repetition control structure)
A loop is a structure than repeats actions while some condition continues.
Almost every program contains a main loop – a basic set of instructions that is repeated for every record.
Additionally, loops are used any time you need to perform a similar task several times.
Understanding Loop Execution
Three steps must occur in every loop:1. You must initialize a variable, called the loop control variable, that controls the loop.2. You must compare the loop control variable to some value that stops the loop – a sentinel value.3. Within the loop, you must alter the loop control variable.
Understanding Loop Execution
A typical loop:count = 1
while count < 5
print “Danger, Will Robinson!”
count = count + 1
Understanding Modularization and Abstraction in Procedural Programs
No longer need to write an entire program from start to finish in a series of steps – this is procedural
Use units or modules of code Modularization allows multiple programmers to work
on a problem, each contributing one or more modules that later can be combined into a whole program.
Modularization allows you to reuse your work; you can call the same module from multiple locations within a program.
Scope in Modules
Global variables are known to an entire program.
Local variables are known only to their own module.
Declaring local variables employs the principle known as encapsulation, information hiding, or data hiding.
Why Use Encapsulation?
Using encapsulation provides advantages:– Programmers can create modules without
knowing variable names used in other modules.– Programmers can use the same names for
variables as those in other modules, and no conflicts arise.
Passing Values to a Module
Passing a variable means that you send a copy of data in one module to another module for use.
You declare a name for a passed value in a module header, or introductory title statement.
The passed value is called a parameter or argument.
Let's make a pass…
getDrill()
num usersChoice
print “Enter 1 for addition drill, 2 for subtraction”
read usersChoice
displayDrill(usersChoice)
return
Send it on back…
displayDrill(num option)num usersAnswerif option = 1
print “What is 3 + 4?”else
print “What is 8 – 1?”read usersAnswerif usersAnswer = 7 then
print “Very good”return
Returning a Value from a Module
Just as you can pass a value into a module, you can pass back, or return, a value from a module.
getDrill()
num usersChoice
num answer
print “Enter 1 for addition drill, 2 for subtraction”
read usersChoice
answer = displayDrill(usersChoice)
if answer = 7 then
print “Very good”
return
Returning a Value from a Module
displayDrill(num option)
num usersAnswer
if option = 1
print “What is 3 + 4?”
else
print “What is 8 – 1?”
read usersAnswer
return usersAnswer
Understanding the Advantages of Encapsulation
When you use others’ modules you deal with only the interface.
Self-contained modules are reusable. Pre-written and tested modules are reliable. Code reuse is the basis for most
contemporary software development environments and techniques
What is OOP?
Object-oriented programming is a style of programming that focuses on an application’s data and the methods you need to manipulate that data.
OOP Tenets
You analyze the objects you are working with and the tasks that need to be performed with and on those objects.
You pass messages to objects, requesting the objects to take action.
The same message works differently (and appropriately) when applied to different objects.
OOP Tenets (cont.)
A module or procedure can work appropriately with different types of data it receives, without the need to write separate modules.
Objects can share or inherit traits of objects that have already been created, reducing the time it takes to create new objects.
Encapsulation and information hiding are more complete than with the modules used in procedural programs.
OOP Overview
In order to understand object-oriented programming, you must understand four concepts that are integral components of all object-oriented programming languages:– Classes– Objects– Inheritance– Polymorphism
Classes
A class is a category of things. An object is a specific instance of a class. A class contains three parts:
– Every class must have a name. Employee, Dog, Car
– Although not required, most classes contain data. employeeID, dogSpecies, carModel
– Although not required, most classes contain methods calculatePay(), teachTrick(), lockDoors()
Defining Classes
Programmers often use a class diagram to illustrate class features.
The class diagram contains the class name, and the attributes and the methods of the class.
Defining Classes
The Employee class diagram to the right is a typical class diagram.
Usually programmers use public class methods to set and return private class data.
Instantiating and Using Objects
When you declare an object, you instantiate it.
Each object automatically contains all the data fields, or attributes, that are part of the class.
Each object automatically has all the capabilities, or methods, that are part of the class.
Understanding Inheritance
You can create new classes that are descendants of existing classes.
Descendant, or child, classes have all the attributes and methods of their parent class.
Within a child class you can override any attributes or methods of the parent that are not appropriate.– Square versus Cube
Understanding Polymorphism
Polymorphism allows the same operation to be carried out differently depending on the context.
Method overloading occurs when you create multiple methods with the same name but different argument lists.
Much time spent at the front end, but creates a multi-use module
Understanding Polymorphism
Three polymorphic methods:changeData(char desc)
itemDescription = descreturnchangeData(num pr)
price = prreturnchangeData(char desc, num pr)
itemDescription = descprice = pr
return