Introduction • Without software, the computer is useless. • Software is developed with programming languages. • C++ is one of the most popular programming languages. – TIOBE Index – LangPop.com – IEEE • C++ is suited for a wide variety of programming tasks.

C++ Versus C • C++ evolved from C, and you can think of C as being a subset of C++. • So in learning C++, you’re also learning C (and then some). C C++

• Other popular languages that evolved from C include Java, C#, Objective-C.

Software • Software: programs that do specific tasks. • System programs control the computer. – Operating system monitors the overall activity of the computer and provides services such as: • Memory management • Input/output activities • Storage management

• Application programs perform a specific task. – Word processors – Spreadsheets – Games

The Language of a Computer • Digital devices (computers, iPods, cell phones, …) use binary code to represent information. This means they store all information (numbers, text, images, music, …) as sequences of 0s and 1s. • Each 0 or 1 in such a sequence is called a bit (short for binary digit). • Example of an 8-bit sequence: 01101100 • A typical song in an MP3 file might contain 40 million bits.

The Language of a Computer (cont’d.) • Byte: – A sequence of eight bits

• Kilobyte (KB): 210 bytes = 1024 bytes • Table 1-1 on page 7(next slide) shows some other related terms. • This is useful general information, but not critical to what we’ll do in this course.

The Language of a Computer (cont’d.)

The Language of a Computer (cont’d.) • At least three different encodings have been used to represent text as sequences of 0s and 1s. • ASCII (American Standard Code for Information Interchange) – 128 characters; see Appendix C in textbook.

• EBCDIC – Formerly used by IBM.

• Unicode – 65,536 characters; covers most modern alphabets.

The Evolution of Programming Languages • Early computers were programmed in machine language., which required the programmer to type sequences of 0s and 1s. • To calculate wages = rate * hours in machine language: 100100 010001

//Load

100110 010010

//Multiply

100010 010011

//Store

The Evolution of Programming Languages (cont’d.) • Assembly language replaces sequences of 0s and 1s with mnemonics (abbreviations such as LOAD or MULT). • Using assembly language instructions, wages = rate * hours can be written as: LOAD rate MULT hour STOR wages

The Evolution of Programming Languages (cont’d.) • High-level languages include Basic, FORTRAN, COBOL, Pascal, C, C++, C#, and Java. Programs written in these language look much more like English. • Compiler: translates a program written in a highlevel language into machine language. • The equation wages = rate * hours can be written in C++ as: wages = rate * hours;

Processing a C++ Program

Processing a C++ Program (cont’d.) • Steps in processing a C++ program: – Use an editor to create source code in C++. – Preprocessor directives begin with # and are processed by the preprocessor. – Compiler: • Checks that the program obeys the language rules. • Translates into machine language (object program).

Processing a C++ Program (cont’d.) • Steps in processing a C++ program (cont’d.): – Linker: • Combines object program with other files to create executable code. • Library: contains prewritten code you can use.

– Loader: • Loads executable program into main memory.

– The last step is to execute the program.

Programming with the Problem Analysis– Coding–Execution Cycle • Algorithm: – Step-by-step problemsolving process – Solution achieved in finite amount of time

• Programming is a process of problem solving.

The Problem Analysis–Coding–Execution Cycle (cont’d.) • Step 1: Analyze the problem. – Outline the problem and its requirements. – Design steps (algorithm) to solve the problem.

• Step 2: Implement the algorithm. – Implement the algorithm in code. – Verify that the algorithm works.

• Step 3: Maintain. – Use and modify the program if the problem domain changes.

Example 1-1 • Design an algorithm to find the perimeter and area of a rectangle. • The perimeter and area of the rectangle are given by the following formulas:

perimeter = 2 * (length + width) area = length * width

Example 1-1 (cont’d.) • Algorithm: – Get length of the rectangle.

– Get width of the rectangle. – Find the perimeter using the following equation: perimeter = 2 * (length + width)

– Find the area using the following equation: area = length * width

chapter 1.pdf

Operating system monitors the overall activity of the computer and provides ... means they store all information (numbers, text, ... to what we'll do in this course.

845KB Sizes 6 Downloads 143 Views

Recommend Documents

No documents