INtroduction to Programming

Introduction to
Programming
Prof. George Zolla
Prof. Gary Porter (IS 2020)
.
Programs
 A program is a set of step-
by-step instructions that
directs the computer to
do the tasks you want it to
do and produce the
results you want.
Programming Languages
 A programming
language is a set of
rules that provides a
way of telling a
computer what
operations to perform.
What Can a Program Do?
 A program can only instruct a computer to:
•
•
•
•
•
•
•
Read Input
Sequence
Calculate
Store data
Compare and branch
Iterate or Loop
Write Output
Sequence Control Structures
 Sequence control structures direct the
order of program instructions.
 The fact that one instruction follows
another—in sequence—establishes the
control and order of operations.
Calculate
 A program can
instruct a computer
to perform
mathematical
operations.
Add 1 to
Counter
Store
 A program will often
instruct a computer to
store intermediate
results.
Place 1
in
Counter
Compare and Branch
 A program can instruct a computer to compare
two items and do something based on a match
or mismatch which, in turn, redirect the
sequence of programming instructions.
• There are two forms:
• IF-THEN
• IF-THEN-ELSE
IF-THEN
Entry
Test
condition p
Exit
false
true
True
statement a
IF-THEN-ELSE
Entry
Test
condition p
false
“false”
statement a
true
Exit
“true”
statement a
Iterate
 A program loop is a
form of iteration. A
computer can be
instructed to repeat
instructions under
certain conditions.
No
Iteration Control Structures
 Iteration control structures are looping
mechanisms.
 Loops repeat an activity until stopped. The
location of the stopping mechanism
determines how the loop will work:
 Leading decisions
 Trailing decisions
Leading Decisions
 If the stop is at the beginning of the
iteration, then the control is called a
leading decision.
 The command DO WHILE performs the
iteration and places the stop at the
beginning.
DO WHILE Loop
Entry
Exit
No
Test
condition p
Yes
Loop
statement a
Trailing Decisions
 If the stop is at the end of the iteration, the
control mechanism is called a trailing
decision.
 The command DO UNTIL performs the
iteration and puts the stop at the end of the
loop.
DO UNTIL Loop
Entry
Loop
statement a
Test
condition p
Exit
No
Yes
Programs are Solutions
to Problems
 Programmers arrive at these solutions by
using one or more of these devices:
 Logic flowcharts
 Structure charts
 Pseudocode
 Structured Programming
Logic Flowcharts
 These represent the
flow of logic in a
program and help
programmers “see”
program design.
Common Flowchart Symbols
Common Flowchart Symbols
Terminator. Shows the starting and ending points of the program. A terminator has
flowlines in only one direction, either in (a stop node) or out (a start node).
Data Input or Output. Allows the user to inputdata and results to be displayed.
Processing. Indicates an operation performed by the computer, such as a variable
assignment or mathematical operation.
Decision. The diamond indicates a decision structure. A diamond always has two
flowlines out. One flowlineout is labeled the “yes” branch and the other is labeled the
“no” branch.
Predefined Process. One statement denotes a group of previously defined statements.
For instance, “Calculate m!” indicates that the program executes the necessary commands
to compute m factorial.
Connector. Connectors avoid crossing flowlines, making the flowchart easier to read.
Connectors indicate where flowlines are connected. Connectors come in pairs, one with
a flowline in and the other with a flowline out.
Off-page connector. Even fairly small programs can have flowcharts that extend several
pages. The off-page connector indicates the continuation of the flowchart on another
page. Just like connectors, off-page connectors come in pairs.
Flowline. Flowlines connect the flowchart symbols and show the sequence of operations
during the program execution.
Flowchart for a
Cash Register Program
Start
sum=0
Input price
sum=sum+price
Yes
More
items?
No
tax=sum x 0.0725
total=sum+tax
Output sum, tax,
and total
Stop
Structure Charts
 Structure charts illustrate the structure of
a program by showing independent
hierarchical steps.
 Major divisions are subdivided into smaller
pieces of information.
Psuedocode
 This device is not visual but is considered a
“first draft” of the actual program.
 Pseudocode is written in the programmer’s
native language and concentrates on the logic
in a program—not the syntax of a
programming language.
Pseudocode for a
Cash Register Program
sum=0
While More items do
Input price
sum=sum+price
End While
tax=sum x 0.0725
total=sum+tax
Output sum, tax, total
Structured Programming
 Structured program languages lend
themselves to flowcharts, structure charts,
and pseudocode.
 Structured programming languages work
best where the instructions have been
broken up into small, manageable parts.
The Program Development Cycle
Analyze the problem
Design the solution algorithm
Design the user interface
Write the code
Test and debug the program
Complete the documentation
Levels of Programming
Languages
 Machine language
 Assembly Language
 High Level Languages
 Fourth Generation Languages (4GL)
Machine Languages

different for each computer processor
0100
001101 100000 001101 110001
00101 10001 10000
01110
111001
. . .
Assembly Languages

different for each computer processor
main
proc pay
mov ax, dseg
mov ax, 0b00h
add ax, dx
mov a1, b1
mul b1, ax
mov b1, 04h
High-Level Languages
 Higher Level Languages
• Use traditional programming logic where the
programming instructions tell the computer
what to do and how to perform the required
operations.
 4GLs
• Use high-level English-like instructions to
specify what to do, not how to do it .
Interpreter vs Compiler
 Interpreter
• Translates instructions to machine code lineby-line.
 Compiler
• Translates the entire program to machine code
before running it.
Types of Programming
Languages
 Machine language
 Procedure-oriented languages
 Object-oriented languages
 Event-driven languages
Procedure-Oriented Languages
FORTRAN
 COBOL
 Pascal
C
 Ada

OOED Languages
 Object-oriented languages
• Smalltalk
• C++
• Ada 95
 Event-driven languages
• Visual Basic
• most Visual languages
Programmer’s Lingo
Program - detailed set of instructions for a computer
Programming Language - tool used to create a
program; defined by semantics and syntax
Semantics - the meaning of words in a language
Syntax - rules for combining symbols of a language
Programmer’s Lingo
Source Code (code) - program you write using a
programming language
Interpreter - translates and executes source code
statement by statement
Programmer’s Lingo
Interpreter Process
Programmer’s Lingo
Compiler Process