Overview of course, Introduction

advertisement
COSC 120 Computer Programming
 Instructor: Dr. Enyue (Annie) Lu
 Office hours: click here
 Office room: HS114
 Email: ealu@salisbury.edu
 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
Download