1 / 22

Programming in C++

Prerequisite: CS1 or some programming experience Text: C++ How to Program , Deitel & Deitel. Programming in C++. 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

arvid
Télécharger la présentation

Programming in C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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. C++ Course SarMag Trimester 3

  3. 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. C++ Course SarMag Trimester 3

  4. 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 C++ Course SarMag Trimester 3

  5. 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. C++ Course SarMag Trimester 3

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

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

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

  9. 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. Machine Language Assembly Language C++ Course SarMag Trimester 3

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

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

  12. 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. C++ Course SarMag Trimester 3

  13. 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 C++ Course SarMag Trimester 3

  14. 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. C++ Course SarMag Trimester 3

  15. 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); } C++ Course SarMag Trimester 3

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

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

  18. 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 C++ Course SarMag Trimester 3

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

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

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

  22. 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 C++ Course SarMag Trimester 3

More Related