Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ Course SarMag Trimester 31 Programming in C++ Prerequisite: CS1 or some programming experience Text: C++ How to Program, Deitel & Deitel.

Similar presentations


Presentation on theme: "C++ Course SarMag Trimester 31 Programming in C++ Prerequisite: CS1 or some programming experience Text: C++ How to Program, Deitel & Deitel."— Presentation transcript:

1 C++ Course SarMag Trimester 31 Programming in C++ Prerequisite: CS1 or some programming experience Text: C++ How to Program, Deitel & Deitel

2 C++ Course SarMag Trimester 32 Computers and Programs A simplified model of a computer consists of a processing unit (CPU) and a memory. CPU can understand simple instructions: –read/write a memory location –add two numbers –compare numbers –etc.

3 C++ Course SarMag Trimester 33 Machine Code An executable program is a sequence of these simple instructions. The sequence is stored in memory. The CPU processes the simple instructions sequentially. –Some instructions can tell the CPU to jump to a new place in memory to get the next instruction.

4 C++ Course SarMag Trimester 34 Instructions Each instruction is stored in memory as a bunch of bits. The CPU decodes the bits to determine what should happen. For example, the instruction to add 2 numbers might look like this: 10100110

5 C++ Course SarMag Trimester 35 Memory The Memory can hold programs and data. Each piece of data is also just a bunch of bits. Typically the memory is organized in chunks of 8 bits (called a byte). Each chunk (byte) has an address.

6 C++ Course SarMag Trimester 36 A Picture CPU... MEMORY 0 1 2 3 4 5 81345 81346 81347 Address...

7 C++ Course SarMag Trimester 37 Sample Program #Instruction 1Set memory[801] to hold 00000001 2Set memory[802] to hold 00000000 3If memory[802] = 10 jump to instruction #8 4increment memory[802] 5set memory[803] to 2 times memory[801] 6put memory[803] in to memory[801] 7jump to instruction #3 8print memory[801]

8 C++ Course SarMag Trimester 38 Another Picture CPU Instruction #1 Instruction #2 Instruction #3 Instruction #4 Instruction #5 Instruction #6... MEMORY 0 1 2 3 4 5 801 802 803 Address

9 C++ Course SarMag Trimester 39 Human vs Machine Programs The computer can only understand the bits (the encoded program) Humans don't like to deal with bits, so they developed english-like abbreviations for programs. Assembly Language Machine Language

10 C++ Course SarMag Trimester 310 Assembly & Machine Language ST 1,[801] ST 0,[802] TOP:BEQ [802],10,BOT INCR [802] MUL [801],2,[803] ST [803],[801] JMPTOP BOT:LD A,[801] CALL PRINT Assembly Language 00100101 11010011 00100100 11010100 10001010 01001001 11110000 01000100 01010100 01001000 10100111 10100011 11100101 10101011 00000010 00101001 11010101 11010100 10101000 10010001 01000100 Machine Language

11 C++ Course SarMag Trimester 311 An Assembler Assembly Language Program ST 1,[801]... Assembly Language Program ST 1,[801]... Machine Language Program 01001001 10010100 Machine Language Program 01001001 10010100 Assembler

12 C++ Course SarMag Trimester 312 Higher-Level Languages Assembly Language is much easier to deal with than Machine Language, but you need to know about all the instructions. People developed languages that were independent of the specific machine language. –More abstract representation of instructions.

13 C++ Course SarMag Trimester 313 High-Level Languages Many high-level languages have been developed. –Different ways of representing computations. –Different languages for different needs: symbolic vs. numeric computation human efficiency vs. program efficiency portability extensibility

14 C++ Course SarMag Trimester 314 C++ C++ is an extension of C. C++ was first developed in the early 1980s (back in the last century!). Focus was on Object Oriented Programming –view computer programs as collection of objects. –Objects have attributes and actions.

15 C++ Course SarMag Trimester 315 As a C/C++ program set memory[801] to hold 00000001 set memory[802] to hold 00000000 if memory[802] = 10 jump to instruction #8 increment memory[802] set memory[803] to 2 times memory[801] put memory[803] in to memory[801] jump to instruction #3 print memory[801] x=1; i=0; while (i!=10) { i++; x=x*2; } printf("%d",x); }

16 C++ Course SarMag Trimester 316 Compiler C++ Program int main() { int i=1;... C++ Program int main() { int i=1;... Machine Language Program 01001001 10010100 Machine Language Program 01001001 10010100 C++ Compiler Created with text editor or development environment

17 C++ Course SarMag Trimester 317 Many Different Compilers There are many different C++ Compilers: –Microsoft Visual C++ –Borland C++ –GNU g++ –IBM xlc –Sun CC

18 C++ Course SarMag Trimester 318 What is an Algorithm? Algorithm = Calculation Procedure The traditional definition of "algorithm" is that it is a formally defined procedure for performing some calculation A finite ordered set of well defined rules for the solution of a problem. Algorithms are often written in pseudocode, so that they can be easily converted in many different programming languages

19 C++ Course SarMag Trimester 319 What is an Algorithm? algorithm is a set of step-by-step commands or instructions designed to reach a particular goal algorithm A mathematical procedure used to solve problems with a series of steps.

20 C++ Course SarMag Trimester 320 Properties of Algorithms 1. Finiteness/ Terminate 2. Absence of Ambiguity 3. Definite/ Clear 4. Efective 5. Input 6. Output (KNU-69, HOR-90)

21 C++ Course SarMag Trimester 321 Prinsip Pemrograman Harus dapat menentukan masalah sesungguhnya. Design program Struktur data Coding program Testing program Pemeliharaan program + Dokumentasi

22 C++ Course SarMag Trimester 322 Aturan pemrograman Buat dokumentasi Buat semudah mungkin Gunakan modul jika dirasa program cukup besar Gunakan fungsi untuk suatu hal yg sering di gunakan Hindari penggunaan var global


Download ppt "C++ Course SarMag Trimester 31 Programming in C++ Prerequisite: CS1 or some programming experience Text: C++ How to Program, Deitel & Deitel."

Similar presentations


Ads by Google