390 likes | 415 Views
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.
E N D
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 • 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
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 ?
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
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
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
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
Plan the Logic • Basic flowchart symbols Start/Stop (Terminator) Process (Rectangle) Input/Output (Parallelogram) Decision (Diamond) Connector (Circle) Flowlines (Arrows) Predefined Process (Rectangle)
exit exit Sequence, Selection, Repetition sequence selection repetition entrance entrance entrance exit
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
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
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
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 ?
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
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
Translate the Program • Creating an executable program
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
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
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
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.
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
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
Flowchart & Pseudocode • To represent an output statement, you use the parallelogram, which is also the same symbol used for input statements
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)
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
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
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
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,
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
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.
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, ….
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
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
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
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
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
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
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
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