1 / 39

Programming Process

Programming Process. The programmer ’ s job can be broken down into six programming steps : Understand the problem Plan the logic Code the program Translate the program into machine language Test the program Put the program into production. Understand the Problem.

irat
Download Presentation

Programming Process

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. Programming Process • The programmer’s job can be broken down into six programming steps: • Understand the problem • Plan the logic • Code the program • Translate the program into machine language • Test the program • Put the program into production

  2. Understand the Problem • Programmers must first understand what it is the user wants • To understand the problem, you must analyze it • Really understanding the problem may be one of the most difficult aspects of programming • The description of what the user needs may be vague • The user may not even really know what he or she wants • Users who think they know what they want frequently change their minds after seeing sample output

  3. Understand the Problem • Analysis & Really Understanding • Example • To invite some people, I need the list of people who work during five more years. • Definite problem or ambiguous problem ?

  4. Understand the Problem • Analysis & Really Understanding • Example • To invite some people, I need the list of people who work during five more years. • Definite problem or ambiguous problem ? • Ambiguous problem • Full-time or part-time worker or both of them ? • Regular employee or contract employee ? • Which type of list ? • A good programmer is often part counselor, part detective

  5. Programming Process • The programmer’s job can be broken down into six programming steps: • Understand the problem • Plan the logic • Code the program • Translate the program into machine language • Test the program • Put the program into production

  6. Plan the Logic • Programmer plans the steps to the program, deciding what steps to include and how to order them • Example • Planning tour • Planning party • The two most common tools • flowcharts : pictorial representation • Pseudocode : English-like representation

  7. Plan the Logic • Flowcharts • A pictorial representation of the logical steps it takes to solve a problem. • Uses Standardized Symbols • Utilize Formula Notation • Typically Read from Top to Bottom or from • Left to Right on a Page

  8. Plan the Logic • Basic flowchart symbols Start/Stop (Terminator) Process (Rectangle) Input/Output (Parallelogram) Decision (Diamond) Connector (Circle) Flowlines (Arrows) Predefined Process (Rectangle)

  9. exit exit Sequence, Selection, Repetition sequence selection repetition entrance entrance entrance exit

  10. Plan the Logic • Pseudocode • An English-like representation of the logical steps it takes to solve a problem • pseudo – a prefix that means false • Short English-Like Statements • Not Standardized • Proper use of indentation • Example start get InputNumber compute calculatedAnswer as InputNumber times 2 print calculatedAnswer stop

  11. Programming Process • The programmer’s job can be broken down into six programming steps: • Understand the problem • Plan the logic • Code the program • Translate the program into machine language • Test the program • Put the program into production

  12. Code the program • Writing the program in one of more than 400 programming languages • Pascal, Fortran, C, C++, Java….. • Concentrate on the syntax of the language • Exact instruction, symbol, …. ? • Some very experienced programmers • successfully combining the logic planning and the actual instruction writing, or coding of the program, in one step • Writing a post card • Writing a cinema scenario

  13. Code the program • Which is harder: Planning the Logic or Coding the Program? • Example • Planning the logic :Planning mystery novel • Coding the program : Writing English or Spanish based on the original scenario. • Who gets more annual salary ?

  14. Programming Process • The programmer’s job can be broken down into six programming steps: • Understand the problem • Plan the logic • Code the program • Translate the program into machine language • Test the program • Put the program into production

  15. Translate the Program • Objective • Each computer knows only one language, Machine Language. • High-level Languages must be translated into Machine Language • Need to compiler or interpreter • Compiler catches every syntax error. • When writing a program, a programmer might need to recompile the code several times • An executable program is created only when the code is free of syntax errors

  16. Translate the Program • Creating an executable program

  17. Programming Process • The programmer’s job can be broken down into six programming steps: • Understand the problem • Plan the logic • Code the program • Translate the program into machine language • Test the program • Put the program into production

  18. Logically incorrect Test the Program • Why does it need to be tested ? • Syntax Errors : by compile • Logical Errors : by test • Test • Executing the program with some sample data • Seeing whether or not the results are logically correct. • being tested with many sets of data carefully • Example start get InputNumber compute calculatedAnswer as InputNumber times 20 print calculatedAnswer stop

  19. Programming Process • The programmer’s job can be broken down into six programming steps: • Understand the problem • Plan the logic • Code the program • Translate the program into machine language • Test the program • Put the program into production

  20. Put the program into the production • Once the program is tested adequately, it is ready for the organization to use. • Putting the program into production might mean simply running the program once if it was written to satisfy a user’s request for a special list.

  21. Flowchart & Pseudocode • Flowcharts (pictorial representations) and pseudocode (English-like representations)are used by programmers to plan the logical steps for solving a programming problem • Some professional programmers prefer writing pseudocode to drawing flowcharts, because using pseudocode is more similar to writing final statements in programming language

  22. Flowchart & Pseudocode • Almost every program involves the steps of input, processing, and output, necessitating some graphical way to separate them • Arithmetic operation statements are examples of processing in a flowchart, where you use a rectangle as the processing symbolcontaining a processing statement

  23. Flowchart & Pseudocode • To represent an output statement, you use the parallelogram, which is also the same symbol used for input statements

  24. Flowchart & Pseudocode • In flowcharts: • Arrows, or flowlines, connect and show the appropriate sequence of steps • A terminal symbol, or start/stop symbol, should be included at each end • Often, “start” or “begin” is used as the first terminal symbol and “end” or “stop” is used in the other • The standard terminal symbol is shaped like a racetrack; often called a lozenge, because it resembles the shape of a medicated candy lozenge you might use to soothe a sore throat Flowlines (Arrows) Start/Stop (Terminator)

  25. Flowchart & Pseudocode • Complete flowchart for the program that doubles a number, and the pseudocode for the same problem start get InputNumber compute calculatedAnswer as InputNumber times 2 print calculatedAnswer stop

  26. Naming Variables • Variables • memory locations, whose contents can vary or differ over time. • reasonable and descriptive variable names • Example • InputNumber • caluculatedAnswer start get InputNumber compute calculatedAnswer as InputNumber times 2 print calculatedAnswer stop

  27. Naming Variables • Naming Rules • Every programming language has its own set of rules for naming variables. • most languages allow both letters and digits : a,b,c, 1,2,3 • some languages allow hyphens and/or underscores : - _ • some allow dollar signs or other special characters : $, #, @ • some allow for foreign characters : Japanese, Spanish • different languages put different limits on lengths • some languages are case sensitive, others are not : name, Name • in general, variable names may not begin with a digit : name1

  28. Naming Variables • Textbook Conventions – two rules: (1) Variable names must be one word • can contain letters, digits, hyphens, underscores, with the exception of spaces. (2) Variable names should have some appropriate meaning • Undesirable : G, u84, fred, mike, richard, pink, • Desirable : rate, name, age, count, score, index, lastName employeeLastName, 5employeeLastName, employeeLast, empLast, emlstnam, lastNameofTheEmployeeInQuestion, last name (x), employeelastname,

  29. Naming Variables • Assignment values to variables • Whatever operation is performed to the right of the equal sign results in a value that is placed in the memory location to the left of the equal sign. • compute calculatedAnswer • as InputNumber times 2 • is the same as • calculatedAnswer = InputNumber * 2

  30. Naming Variables • Constant • A memory location, similar to a variable, except its value never changes during a program. • taxRate = .0825 • Pi = 3.141592 • Variables • memory locations, whose contents can vary or differ over time.

  31. Naming Variables • Data Types – two basic types • Character • Character : ‘a’ ‘b’ ‘c’ ‘d’ ‘e’ • Character string : “Richard” “Michale” • Numeric • Integer : …, -3, -2, -1, 0, 1, 2, 3, …. • Floating-Point : …, -2.0, -1.5, -1, -0.5, 0, 0.5, 1.0, ….

  32. Ending a Program • Infinite loop start get InputNumber compute calculatedAnswer as InputNumber times 2 print calculatedAnswer get InputNumber compute calculatedAnswer as InputNumber times 2 print calculatedAnswer get InputNumber compute calculatedAnswer as InputNumber times 2 print calculatedAnswer ……… stop start get InputNumber calculatedAnswer=InputNumber*2 Print calculatedAnswer

  33. Ending a Program • An infinite loop is a repeating flow of logic with no end • To end the program, • set a predetermined value for inputNumber that means “Stop the program!” • The program can then test any incoming value for inputNumber and, if it is a 0, stop the program • Testing a value is also called making a decision • Represented in flowchart by diamond shape called a decision symbol

  34. inputNumber = 0 ? Ending a Program • Decision symbol start start get InputNumber get InputNumber Yes inputNumber = 0 ? stop No calculatedAnswer=InputNumber*2 calculatedAnswer=InputNumber*2 Print calculatedAnswer Print calculatedAnswer

  35. Ending a Program • Dummy value • A pre-selected value that stops the execution of a program is often called a dummy value since it does not represent real data, but just a signal to stop • Sometimes, such a value is called a sentinel value because it represents an entry or exit point, like a sentinel who guards a fortress

  36. Using a Connector • If a flowchart has six processing steps and a page provides room for only three, you might represent the logic as shown below: • On-page connector symbol • Off-page connector symbol

  37. Evolution of Programming Technique • Currently, there are two major techniques used to develop programs and their procedures • Procedural programming focuses on the procedures that programmers create • Object-oriented programming, focuses on objects, or “things”, and describes their features, or attributes, and their behaviors

  38. Summary • A programmer’s job involves six steps: • Understanding the problem • Planning the logic • Coding the problem • Translating the program into machine language • Testing the program • Putting the program into production • When programmers plan the logic for a solution to a programming problem, they often use flowcharts or pseudocode

  39. Summary • Testing a value involves making a decision • Most programming languages use the equal sign to assign values to variables • Procedural and object-oriented programmers approach program problems differently

More Related