Computer Programming Objectives Program and Programming Algorithms Programs

  • Slides: 22
Download presentation
Computer Programming

Computer Programming

Objectives Program and Programming Algorithms & Programs Software Life Cycle Computer Language Generations Flowchart

Objectives Program and Programming Algorithms & Programs Software Life Cycle Computer Language Generations Flowchart

Program and Programming

Program and Programming

Program and Programming Program: ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻷﻮﺍﻣﺮ ﺍﻟﻤﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ ﺑﺮﻣﺠﺔ ﻳﻘﻮﻡ ﺍﻟﺤﺎﺳﺐ ﺑﺘﻨﻔﻴﺬﻫﺎ •

Program and Programming Program: ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻷﻮﺍﻣﺮ ﺍﻟﻤﻜﺘﻮﺑﺔ ﺑﻠﻐﺔ ﺑﺮﻣﺠﺔ ﻳﻘﻮﻡ ﺍﻟﺤﺎﺳﺐ ﺑﺘﻨﻔﻴﺬﻫﺎ • A set of instruction written in a programming language that a computer can execute so that the machine acts in a predetermined way. • Program solves a problem ﺍﻟﺒﺮﻧﺎﻣﺞ ﻳﺤﻞ ﻣﺸﻜﻠﺔ ﻣﻌﻴﻨﺔ • Before writing a program: – Have a thorough understanding of the problem – Carefully plan an approach for solving it. Programming: ﺍﻟﺒﺮﻣﺠﺔ ﻫﻲ ﻋﻤﻠﻴﺔ ﻛﺘﺎﺑﺔ ﺃﻮﺍﻣﺮ ﻟﻠﺤﺎﺳﺐ ﺗﺨﺒﺮ ﺍﻟﻤﻌﺎﻟﺞ ﺑﻤﺎ ﻳﺠﺐ ﺃﻦ ﻳﻘﻮﻡ ﺑﻪ • The Process of providing instructions to the computer that tells the processor what to do. 4

Algorithms and Programs

Algorithms and Programs

Algorithms and Programs ﺍﻟﺨﻮﺍﺭﺯﻣﻲ ﻳﻘﺪﻡ ﺣﻼ ﻟﻤﺸﻜﻠﺔ ﺩﻭﻥ ﺍﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺃﻲ ﻟﻐﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻴﻨﻤﺎ

Algorithms and Programs ﺍﻟﺨﻮﺍﺭﺯﻣﻲ ﻳﻘﺪﻡ ﺣﻼ ﻟﻤﺸﻜﻠﺔ ﺩﻭﻥ ﺍﻻﻋﺘﻤﺎﺩ ﻋﻠﻰ ﺃﻲ ﻟﻐﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺑﻴﻨﻤﺎ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻋﺒﺎﺭﺓ ﻋﻦ ﺧﻮﺍﺭﺯﻣﻲ ﻣﻜﺘﻮﺏ ﺑﻠﻐﺔ ﻣﻌﻴﻨﺔ An Algorithm is a solution to a problem that is independent of any programming language. While A program is an algorithm expressed using a specific set of instructions from any programming language. 6

Algorithm Example • Maximum of two numbers Steps: 1. Read/input two numbers 2. Compare

Algorithm Example • Maximum of two numbers Steps: 1. Read/input two numbers 2. Compare two numbers 3. Print the Greater number • Average of three numbers Steps: 1. Read/input three numbers 2. Add three numbers 3. divide the sum by 3. 4. Print the result of divison 7

Software Life Cycle

Software Life Cycle

Software Life Cycle What Requirements Gathering, Problem definition Analysis and Design (Programming techniques) How

Software Life Cycle What Requirements Gathering, Problem definition Analysis and Design (Programming techniques) How Coding Do it Testing Test Use Implementation and Maintenance 9

Computer Language Generations

Computer Language Generations

Computer Language generations Machine language Assembly languages High-level languages Very high-level languages Natural languages

Computer Language generations Machine language Assembly languages High-level languages Very high-level languages Natural languages ﻟﻐﺔ ﺍﻵﻠﺔ ﻟﻐﺔ ﺍﻟﺘﺠﻤﻴﻊ ﻟﻐﺔ ﺍﻟﻤﺴﺘﻮﻯ ﺍﻟﻌﺎﻟﻲ ﺟﺪﺍ ﺍﻟﻠﻐﺎﺕ ﺍﻟﻄﺒﻴﻌﻴﺔ 11

Machine Language Programs and memory locations are written in strings of 0 s and

Machine Language Programs and memory locations are written in strings of 0 s and 1 s ﺃﺼﻔﺎﺭ ﻭآﺤﺎﺩ Problems with machine languages n n Programs are difficult to write and debug Each computer has its own machine language Only option available to early programmers ﻛﺎﻧﺖ ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﺑﺮﻣﺠﺔ ﺣﺎﺳﺒﺎﺕ ﺍﻟﺠﻴﻞ ﺍﻷﻮﻝ 12

Assembly Languages : ﺗﺴﺘﺨﺪﻡ ﺣﺮﻭﻑ ﺑﺪﻻ ﻣﻦ ﺍﻟﺼﻔﺮ ﻭﺍﻟﻮﺍﺣﺪ ﻣﺜﻞ n n For example,

Assembly Languages : ﺗﺴﺘﺨﺪﻡ ﺣﺮﻭﻑ ﺑﺪﻻ ﻣﻦ ﺍﻟﺼﻔﺮ ﻭﺍﻟﻮﺍﺣﺪ ﻣﺜﻞ n n For example, A for add, C for compare, etc. Use names rather than binary addresses for memory locations Require an assembler to translate the program into machine language ﺗﺤﺘﺎﺝ ﻟﺒﺮﻧﺎﻣﺞ ﻳﺴﻤﻲ ﺍﻟﻤﺠﻤﻊ ﻟﻠﺘﺮﺟﻤﺔ Still used for programming chips and writing utility programs ﻣﺎﺯﺍﻟﺖ ﺗﺴﺘﺨﺪﻡ ﻟﺒﺮﻣﺠﺔ ﺍﻟﺸﺮﺍﺋﺢ 13

High-Level Languages Transformed programming n n Programmers could focus on solving problems rather than

High-Level Languages Transformed programming n n Programmers could focus on solving problems rather than manipulating hardware Programs could be written and debugged much more quickly Requires a compiler to convert the statements into machine language n Each computer has its own version of a compiler for each language. 14

Very High-Level Languages Also called fourth-generation languages (4 GLs) Considered nonprocedural languages n n

Very High-Level Languages Also called fourth-generation languages (4 GLs) Considered nonprocedural languages n n The programmer specifies the desired results, and the language develops the solution Programmers can be about 10 times more productive using a fourth-generation language than a third-generation language 15

Natural Languages Resemble written or spoken English n Programs can be written in a

Natural Languages Resemble written or spoken English n Programs can be written in a natural syntax, rather than in the syntax rules of a programming language The language translates the instructions into code the computer can execute 16

Major Programming Languages FORTRAN COBOL BASIC RPG Visual Basic C Java 17

Major Programming Languages FORTRAN COBOL BASIC RPG Visual Basic C Java 17

Object-Oriented Languages C++ Java C# Visual Basic 18

Object-Oriented Languages C++ Java C# Visual Basic 18

Flowchart

Flowchart

Flowchart ﺧﺮﻳﻄﺔ ﺳﻴﺮ ﺍﻟﻌﻤﻠﻴﺎﺕ – Graphical representation of an algorithm – Components: • Arrows/lines:

Flowchart ﺧﺮﻳﻄﺔ ﺳﻴﺮ ﺍﻟﻌﻤﻠﻴﺎﺕ – Graphical representation of an algorithm – Components: • Arrows/lines: Flow of control • Parallelogram: Indicates input and output operations • Rectangle symbol (action symbol): Indicates any type of action/computational step • Oval symbol: Indicates the start or the end of a program or a section of code • Diamond: Decision. 20

Flowchart Notations Arrows Diamond Parallelogram Rectangle Oval 21

Flowchart Notations Arrows Diamond Parallelogram Rectangle Oval 21

Example: Add two Numbers START READ A, B Sum = A+B PRINT Sum Stop

Example: Add two Numbers START READ A, B Sum = A+B PRINT Sum Stop 22