1 cosc 120 computer programming instructor: dr. enyue (annie) lu office hours: click herehere office...

29
1 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/COSC12 0.html .

Upload: justina-gaines

Post on 19-Dec-2015

226 views

Category:

Documents


2 download

TRANSCRIPT

1

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.

2

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

3

Chapter 1

Introduction to Computers and Programming

4

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

5

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

6

Hardware CPU (central processing unit): CU, ALUFetch/decode/execute

Main Memory: RAM Byte, bits Memory address volatile

Secondary storage Programs are stored in secondary memory and loaded

into main memory Hard disks, floppy disks, Zip disks and CD

Input/Output devices

Software

Elements of a Computer System

7

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

8

Programs and Programming Languages

Program: a set of instructions to a computer to perform a task

Programming Language: a language used to write programs

9

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 low-level languages.

10

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 Formula Translator. A language designed for programming complex mathematical algorithms.

Pascal A structured, general purpose language designed primarily for teaching programming.

11

From a High-level Program to an Executable File

Source Code

Preprocessor

ModifiedSource Code

Compiler

Object Code

Linker

Executable Code

convert source file directives to source code program statements

convert source program statements into machine language instructions

connect hardware-specific code (library routines) to machine instructions, producing an executable file

12

What Is a Program Made Of?

Common elements in programming languages: Key Words Programmer-Defined Symbols Operators Punctuation Syntax

13

Language Elements, Table 1-2

Language Element

Description

Keywords Words that have a special meaning. Keywords may only be used for their intended purpose. AKA reserved words.

Programmer-Defined Symbols

Words or names defined by the programmer. They are symbolic names (identifiers) that refer to variables or 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.

14

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;}

15

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;}

16

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

17

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()

18

Operators

Used to perform operations on data Many types of operators:

Arithmetic: +, -, *, / Assignment: =

Examples in program: << stream insertion operator >> stream extraction operator

19

Punctuation

Characters that mark the end of a statement, or that separate items in a list

Examples in program: ; (),}

20

Syntax

The rules of grammar that must be followed when writing a program

Controls the use of:

key words

operators

programmer-defined symbols

punctuation

21

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

22

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;

23

Input, Processing, and Output

Three steps many programs perform:1) Gather input data:

- from keyboard- from files on disk drives

2) Process the input data

3) Generate output:- send it to the screen- write it to a file

24

Input, Processing, and Output

Outputcout << "Enter your hours and rate " << "separated by a space: ";

Input:cin >> hours; cin >> rate;

Processing:pay = hours * rate;

Outputcout << “You have earned $” << pay;

25

Program Output

How many hours did you work? 10How much do you get paid per hour? 15You have earned $150

26

The Programming Process

The programming process consists of several steps, which include: Design Code Test Debug Document

27

The Programming Process

1. Clearly define what the program is to do.Purpose, Inputs /Outputs, Process

2. Visualize the program running on the computer3. Design using a Hierarchy chart, flowchart or pseudocode.4. Desk check for logical errors.5. Enter/Edit the code and compile it.6. Correct any errors found during compilation.

• Compile-time error (syntax/grammatical error)• Repeat steps 5 and 6 as many times as necessary

7. Run the program with test data for input8. Correct any errors found while running the program

• Run-time errors• Repeat steps 5 through 8 as many times as necessary.

9. Validate the results of the program.

28

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.

29

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