Overview of course, Introduction
Download
Report
Transcript Overview of course, Introduction
COSC 120 Computer Programming
Instructor: Dr. Enyue (Annie) Lu
Office hours: click here
Office room: HS114
Email: [email protected]
Course information:
Website:
http://faculty.salisbury.edu/~ealu/COSC120/COSC120.html.
1
Course overview
Introduction to Programming
Introduction to C++
Data types
Control structures
Functions
Scope, overloading functions, files
Arrays
Searching & Sorting Arrays
Characters, Strings, and the string Class
Structured Data
Introduction to class
Pointers
Operator overloading
Optional topics
2
Chapter 1
Introduction to Computers and
Programming
3
Contents
Why Program?
Computer Systems: Hardware and Software
Programs and Programming Languages
What Is a Program Made of?
Input, Processing, and Output
The Programming Process
Procedural and Object-Oriented
Programming
4
Why Program:
Program: a set of instructions to a computer
to perform a task
Computer can do many different jobs
because of its programmability.
Programmer->software->computer
5
Elements of a Computer System
Hardware
CPU (central processing unit): CU, ALU
Fetch/decode/execute
Main Memory: RAM
Secondary storage
Byte, bits
Memory address
volatile
Programs are stored in secondary memory and loaded
into main memory
Hard disks, floppy disks, Zip disks and CD
Input/Output devices
Software
6
Software – Programs That Run on
a Computer
Categories of software:
Operating system:
programs that manage the computer hardware and the programs that
run on them. Ex: Windows, UNIX, Linux
- Single tasking, multitasking
- Single user, multiuser
Application software:
programs that provide services to the user. Ex: word processing,
games, programs to solve specific problems
7
Programs and Programming
Languages
Program: a set of instructions to a computer
to perform a task
Programming Language: a language used to
write programs
8
Programs and
Programming Languages
Types of languages:
Low-level (machine): used for
communication with computer hardware
directly. Often written in binary machine code
(0’s/1’s) directly.
High-level: closer to human language
A compiler or interpreter are programs that
make the translations from high-level to lowlevel languages.
9
Table 1-1
Language
Description
C
A structured, general purpose language developed at Bell Labs. C offers
both high-level and low-level features.
C++
Based on the C language, C++ offers object-oriented features not found in
C. Also invented at Bell Laboratories.
Java
An object-oriented language invented at Sun Microsystems. Java may be
used to develop programs that run over the Internet, in a web browser.
BASIC
Beginners All-purpose Symbolic Instruction Code. A general
programming language originally designed to be simple enough for
beginners to learn.
COBOL
Common Business-Oriented Language. A language designed for business
applications.
RPG
A programming language for business applications used primarily on IBM
midrange and mainframe computers.
FORTRAN
Pascal
Formula Translator. A language designed for programming complex
mathematical algorithms.
A structured, general purpose language designed primarily for teaching
programming.
10
From a High-level Program to an
Executable File
connect hardware-specific
Source Code
Preprocessor
Modified
Source Code
code (library routines) to
convert source file
directives to source code machine instructions,
Object
Codean executable
producing
program statements
file
Linker
convert source program
Executable Code
statements into machine
language instructions
Compiler
11
What Is a Program Made Of?
Common elements in programming
languages:
Key Words
Programmer-Defined Symbols
Operators
Punctuation
Syntax
12
Language Elements, Table 1-2
Language
Element
Keywords
Description
Words that have a special meaning. Keywords may
only be used for their intended purpose. AKA reserved
words.
Programmer- Words or names defined by the programmer. They are
Defined
symbolic names (identifiers) that refer to variables or
Symbols
programming routines.
Operators
Operators perform operations on one or more operands.
An operand is a piece of data, like a number.
Punctuation
Punctuation characters that mark the beginning or
ending of a statement, or separate items in a list.
Syntax
Rules that must be followed when construction a
program. Syntax dictates how key words and operators
may be used, and where punctuation symbols must
appear.
13
Example Program
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "What is your name? ";
cin >> name;
cout << "Hello there, " << name;
return 0;
}
14
Program 1-1
// This program calculates gross pay.
#include <iostream>
using namespace std;
int main()
{
float hours, rate, pay;
cout << “How many hours did you work? ”;
cin >> hours;
cout << “How much do you get paid per hour? ”;
cin >> rate;
pay = hours * rate;
cout << “You have earned $” << pay << endl;
return 0;
}
15
Key Words
Also known as reserved words
Have a special meaning in C++
Can not be used for another purpose
Examples in program:
using, namespace, int, main
16
Programmer-Defined Symbols
( Identifiers )
Names made up by the programmer
Not part of the C++ language
Used to represent various things:
variables (memory locations), functions, etc.
Example in program:
name, hours, rate, calcPay()
17
Operators
Used to perform operations on data
Many types of operators:
Arithmetic: +, -, *, /
Assignment: =
Examples in program:
<<
stream insertion operator
>>
stream extraction operator
18
Punctuation
Characters that mark the end of a statement, or
that separate items in a list
Examples in program:
; (),}
19
Syntax
The rules of grammar that must be followed
when writing a program
Controls the use of:
key words
operators
programmer-defined symbols
punctuation
20
Lines and Statements
cout << "How many hours did you work? ";
cout << "How many hours "
<< "did you work? ";
There are 2 statements above.
The first statement uses one line
the second statement spans two lines
the semicolon ( ; ) is the statement
terminator
21
Variable Definitions
Two types of information:
numbers and characters
Numbers may be integers or floating-point
The statement below creates three variables in
memory named hours, rate, and pay that each
can store a floating-point number
float hours, rate, pay;
22
Input, Processing, and Output
Three steps many programs perform:
Gather input data:
1)
-
from keyboard
from files on disk drives
Process the input data
Generate output:
2)
3)
-
send it to the screen
write it to a file
23
Input, Processing, and Output
Output
cout << "Enter your hours and rate "
<< "separated by a space: ";
Input:
cin
>> hours; cin >> rate;
Processing:
pay = hours * rate;
Output
cout << “You have earned $” << pay;
24
Program Output
How many hours did you work? 10
How much do you get paid per hour? 15
You have earned $150
25
The Programming Process
The programming process consists of
several steps, which include:
Design
Code
Test
Debug
Document
26
The Programming Process
Clearly define what the program is to do.
Purpose, Inputs /Outputs, Process
Visualize the program running on the computer
Design using a Hierarchy chart, flowchart or pseudocode.
Desk check for logical errors.
Enter/Edit the code and compile it.
Correct any errors found during compilation.
1.
2.
3.
4.
5.
6.
•
•
Run the program with test data for input
Correct any errors found while running the program
7.
8.
•
•
9.
Compile-time error (syntax/grammatical error)
Repeat steps 5 and 6 as many times as necessary
Run-time errors
Repeat steps 5 through 8 as many times as necessary.
Validate the results of the program.
27
Procedural and Object-Oriented
Programming
Procedural programming: focus is on the
process. Procedures/functions are written to
process data.
Object-Oriented programming: focus is on
objects, which contain data and the means to
manipulate the data. Messages are sent to
objects to perform operations.
28
Class Review
Program
A set of instructions to a computer to perform a task
Why computer can do lots of job
Programmability
Elements of computer system
Hardware (CPU, main memory, second storage, I/O), software
Software categories
OS, application software
Programming languages
Low-level, high-level
Transfer a high-level program to an executable file
Preprocess, compile, link
Common elements in programming languages
Keyword, programmer-defined symbols, operators, punctuation, syntax
Which 3 steps most programs perform
Gather input data, process data, generate output
29