Fundamental Programming

Slides:



Advertisements
Similar presentations
Introduction to Flowcharting A Supplement to Starting Out with C++, 4th Edition by Tony Gaddis Published by Addison-Wesley.
Advertisements

Computer Programming Rattapoom Waranusast Department of Electrical and Computer Engineering Faculty of Engineering, Naresuan University.
ITEC113 Algorithms and Programming Techniques
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall.
Chapter 9 Describing Process Specifications and Structured Decisions
Program Design and Development
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Chapter 1 Program Design
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Problem Solving Chapter 2. What is an algorithm? n A solution to a problem that is: –Precise –Effective –Terminating.
Chapter 3 Planning Your Solution
The Program Design Phases
BPC.1 Basic Programming Concepts
ALGORITHMS AND FLOWCHARTS
DCT 1123 Problem Solving & Algorithms
PROGRAMMING, ALGORITHMS AND FLOWCHARTS
Design the program Create a detailed description of program –Use charts or ordinary language (pseudocode) Identify algorithms needed –Algorithm: a step-by-step.
COIT29222 Structured Programming Slide 1 COIT29222-Structured Programming Lecture Week 06  Reading: Study Guide Book 2, Modules 9 & 10 Textbook (4 th.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Fundamental Programming: Fundamental Programming Introduction to C++
1 Program Planning and Design Important stages before actual program is written.
COIT29222 Structured Programming1 COIT29222-Structured Programming Lecture Week01 Reading: Course Profile Textbook (4 th Ed.), Chapter 1 Textbook (6 th.
COIT29222 Structured Programming 1 COIT29222-Structured Programming Lecture Week 02  Reading: Textbook(4 th Ed.), Chapter 2 Textbook (6 th Ed.), Chapters.
 Software Development Life Cycle  Software Development Tools  High Level Programming:  Structures  Algorithms  Iteration  Pseudocode  Order of.
Fundamental Programming Fundamental Programming Introduction to Functions.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
Evolution of C and C++ n C was developed by Dennis Ritchie at Bell Labs (early 1970s) as a systems programming language n C later evolved into a general-purpose.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Fundamental Programming Fundamental Programming Data Processing and Expressions.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
310201: Fundamental Programming Fundamental Programming Introduction to Arrays.
CMSC 104, Version 8/061L05Algorithms2.ppt Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode Control Structures Reading Section 3.1.
ALGORITHMS AND FLOWCHARTS
3.1 Fundamentals of algorithms
Chapter 2- Visual Basic Schneider
Algorithms and Flowcharts
The Selection Structure
Introduction To Flowcharting
Chapter Topics 2.1 Designing a Program 2.2 Output, Input, and Variables 2.3 Variable Assignment and Calculations 2.4 Variable Declarations and Data Types.
Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode
Algorithm and Ambiguity
ALGORITHMS AND FLOWCHARTS
Designing and Debugging Batch and Interactive COBOL Programs
Unit# 9: Computer Program Development
Problem Solving Techniques
Programming & languages
Algorithms & Pseudocode
An Introduction to Structured Program Design in COBOL
ALGORITHMS AND FLOWCHARTS
Chapter 2- Visual Basic Schneider
Introduction to Algorithms and Programming
Chapter 1 Introduction(1.1)
` Structured Programming & Flowchart
Chapter 2- Visual Basic Schneider
Algorithm and Ambiguity
Writing a Complete Program
Chapter 11 Describing Process Specifications and Structured Decisions
Language Constructs Construct means to build or put together. Language constructs refers to those parts which make up a high level programming language.
Flowcharts and Pseudo Code
Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
ICS 3U Thursday, September 9.
Basic Concepts of Algorithm
Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode
Chapter 4: Writing and Designing a Complete Program
Programming Logic and Design Eighth Edition
Introduction to Programming
Presentation transcript:

310201 Fundamental Programming Tools for Analysis & Design Fundamental Programming: 2006

Review 5-step SDLC: task analysis is important task analysis and specification algorithm design coding testing maintenance task analysis is important to avoid expensive re-design and coding, you must have a clear understanding of the task(s) the program must perform Fundamental Programming: 2006

Task Analysis task analysis may include: two important skills are: interviews with users studying documentation for an existing systems studying other documents that describe requirements for the program two important skills are: analysis – dissect task to expose sub-tasks synthesis – combine different views into a “whole” analysts have tools for documenting their understanding of the requirements Fundamental Programming: 2006

Modelling Tools the analyst uses graphical tools to describe the system a program will support a DFD shows the data flows in a system StudentID, CourseCode Enrolments Enrolment Form Enrolment Student Process Address Enrolment Advice Student Details Fundamental Programming: 2006

Modelling Tools an ERD describes entities and relationships that will be recoded in a database StudentID Students Name M Address Enrol In FacultyCode CourseCode M Name M 1 Name Offered Dean Course Faculties By Fundamental Programming: 2006

Written Specifications analysts also produce a written specification of the requirements the specification is verified by the client to ensure that the right program is being built this is where we start in this course: we start with written specifications students assume role of designer/programmer however, this does still involve some analysis you will be analysing written specifications Fundamental Programming: 2006

Written Specifications the Study Guide describes a 6-step process to analyse a written specification: (1) read the description fully (2) rewrite the task in your own words (3) mark action, naming and information words and phrases (4) make sure you understand the actions required (5) put the actions in the correct sequence (6) check your work Fundamental Programming: 2006

Written Specifications (1) read the description fully don’t be a dumb hare, be a clever turtle (2) rewrite the task in your own words use pictures and rough notes - whatever works (3) mark action, naming and information words and phrases “…Karen’s job is to transfer the herbs and spices from the pallets to the shelves. The drums always go on the left-hand side of the shelves, the square containers on the right…” Fundamental Programming: 2006

Written Specifications (4) make sure you understand the actions required research any unknown details example: deg F = 32 + (deg C * 1.8) (5) put the actions in the correct sequence (6) check your work if you can, get someone else to check it – ideally, the client, or a colleague (another student?) Fundamental Programming: 2006

Program Design with a clear understanding of the task(s) to be performed, we start to design the program in industry the design of a program is often written in pseudocode pseudocode is like to a high-level programming language, but easier to read we will use pseudocode in this course the pseudocode used in the Study Guide is as simple as we can possibly make it... Fundamental Programming: 2006

Pseudocode in Study Guide why a simpler pseudocode? to keep the examples simple, but also… at the core of all programming languages are 5 base statement types we want you to understand that programming languages are very simple - so, the pseudocode in the Study Guide uses one statement of each type when you are familiar with these statements, you will understand the basics of programming in all popular programming languages Fundamental Programming: 2006

The Building Blocks the 3 most important statements are: input statements - read output statements - write assignment statements - set (to store values in memory) other 2 statements control flow of a program they control which input, output and assignment statements are performed by the program they control the number of input, output and assignment statements performed by the program Fundamental Programming: 2006

Sample Program Revisited output “Number of marks in exam ==> “ to display input number from keyboard - store in M1 output “Student’s mark ==> “ to display input number from keyboard - store in M2 divide number in M2 by number in M1 - store in M3 multiply number in M3 by 100 - store in M4 output “ Student’s percentage: “ to display output number in M4 to display Fundamental Programming: 2006

Example Pseudocode write “Number of marks in exam ==> “ read M1 write “Student’s mark ==> “ read M2 set M3 to M2 / M1 set M4 to 100 * M3 write “ Student’s percentage: “ write M4 Fundamental Programming: 2006

Variables instead of using memory locations directly, all modern programming languages use names to refer to memory locations we call these things variables – the values they refer to vary as the program runs using names, instead of memory locations, makes programs easier to read instead of… Fundamental Programming: 2006

Example Pseudocode write “Number of marks in exam ==> “ read M1 write “Student’s mark ==> “ read M2 set M3 to M2 / M1 set M4 to 100 * M3 write “ Student’s percentage: “ write M4 Fundamental Programming: 2006

Variables write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set ProportionOfMarks to StudentMark / NbrMarks set Percentage to 100 * ProportionOfMarks write “ Student’s percentage: “ write Percentage 4 variables: NbrMarks, StudentMark, ProportionOfMarks, Percentage Fundamental Programming: 2006

Alternative Design write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage 3 variables: NbrMarks, StudentMark,Percentage Fundamental Programming: 2006

Branching our example program always performs the exact same actions: get number of marks in exam get student’s mark calculate the student’s percentage display the student’s percentage in practice, most programs are capable of performing different actions, depending on the inputs provided by the user e.g., we may want to also state if the student passed the exam – so, sometimes the program will need to output “Pass”, otherwise “Fail” Fundamental Programming: 2006

Sample Dialogs or… Number of marks in exam ==> 80 Student’s mark ==> 60 Student’s percentage: 75 (Pass) or… Student’s mark ==> 20 Student’s percentage: 25 (Fail) Fundamental Programming: 2006

Branching Statements to enable programs to perform different actions (depending on user input) all programming languages include one or more branching or selection statements the branching statement selects between one of more possible paths through the program all programming languages include some form of if-then-else statement Fundamental Programming: 2006

Pseudocode Example write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” else write “ (Pass)” Fundamental Programming: 2006

Example of if-then-else => write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: ? else StudentMark: ? write “ (Pass)” Percentage: ? Fundamental Programming: 2006

Example dialog Number of marks in exam ==> Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: ? else StudentMark: ? write “ (Pass)” Percentage: ? => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: ? else StudentMark: ? write “ (Pass)” Percentage: ? => Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: ? write “ (Pass)” Percentage: ? => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Student’s mark ==> Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: ? write “ (Pass)” Percentage: ? => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Student’s mark ==> Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Student’s mark ==> 20 Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: ? write “ (Pass)” Percentage: ? => Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: 20 write “ (Pass)” Percentage: ? => Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: 20 write “ (Pass)” Percentage: 25 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Student’s mark ==> 20 Student’s percentage: Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: 20 write “ (Pass)” Percentage: 25 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Student’s mark ==> 20 Student’s percentage: 25 Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: 20 write “ (Pass)” Percentage: 25 => Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: 20 write “ (Pass)” Percentage: 25 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Student’s mark ==> 20 Student’s percentage: 25 (Fail) Fundamental Programming: 2006

Example of if-then-else write “Number of marks in exam ==> “ read NbrMarks write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage if Percentage < 50 then write “ (Fail)” NbrMarks: 80 else StudentMark: 20 write “ (Pass)” Percentage: 25 => Fundamental Programming: 2006

Activity What is the value of Number3 at the end of the following pseudocode? set Number1 to 12 set Number2 to 14 set Number3 to 0 if Number1 > Number2 then set Number3 to Number1 * Number2 else set Number3 to (Number1 + Number2)/2 Fundamental Programming: 2006

Activity Break Fundamental Programming: 2006

Looping our program to calculate the exam percentage for a single student performs the following 5 tasks: get number of marks in exam get student’s mark calculate the student’s percentage display the student’s percentage display “Pass” or “Fail” to calculate the exam percentage for more than one student, a program must perform some of these tasks more than once… Fundamental Programming: 2006

Looping to calculate the percentage for 2 students, a program must perform 9 tasks: get number of marks in exam get student’s mark calculate the student’s percentage display the student’s percentage display “Pass” or “Fail” Fundamental Programming: 2006

Looping to calculate the percentage for 3 students, a program must perform 13 tasks: get number of marks in exam get student’s mark calculate the student’s percentage display the student’s percentage display “Pass” or “Fail” Fundamental Programming: 2006

Looping we could have: one program to handle 2 students, another program to handle 3 students, etc it would be better to have a single program to handle any number of students we would like to design a program to repeat some actions more than once Fundamental Programming: 2006

Looping we want our program to: get the number of marks in exam from user - repeat as required - get student’s mark calculate the student’s percentage display the student’s percentage display “Pass” or “Fail” we will have to ask the user how many repetitions are required one design is… Fundamental Programming: 2006

Looping ask user for number of students at start: another design is… get number of marks in exam get number of students - repeat once for each students - get student’s mark calculate the student’s percentage display the student’s percentage display “Pass” or “Fail” another design is… Fundamental Programming: 2006

Looping keep asking if the user has more students: get number of marks in exam - repeat while user wants has more students - get student’s mark calculate the student’s percentage display the student’s percentage display “Pass” or “Fail” ask user if they have more students Fundamental Programming: 2006

Looping Statements to enable programs to perform different numbers of actions (depending on data inputs) all programming languages include one or more looping or repetition statements all programming languages include some form of while statement... Fundamental Programming: 2006

Pseudocode Example write “Number of marks in exam ==> “ read NbrMarks write “Number of students ==> “ read NbrStudents set NbrProcessed to 0 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 Fundamental Programming: 2006

Example of while => write “Number of marks in exam ==> “ NbrMarks: ? read NbrMarks NbrStudents: ? write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 Fundamental Programming: 2006

Example dialog Number of marks in exam ==> Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: ? read NbrMarks NbrStudents: ? write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: ? read NbrMarks NbrStudents: ? write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: ? write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: ? write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: ? write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: ? read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: ? set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: ? while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: 25 Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 0 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: 25 Student’s mark ==> Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: 25 Student’s mark ==> Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: 25 Student’s mark ==> 40 Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 20 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => l Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 25 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 50 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 50 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: 25 Student’s mark ==> 40 Student’s percentage: Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 50 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example dialog Number of marks in exam ==> 80 Number of students ==> 2 Student’s mark ==> 20 Student’s percentage: 25 Student’s mark ==> 40 Student’s percentage: 50 Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 1 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 50 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 2 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 50 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Example of while write “Number of marks in exam ==> “ NbrMarks: 80 read NbrMarks NbrStudents: 2 write “Number of students ==> “ NbrProcessed: 2 read NbrStudents StudentMark: 40 set NbrProcessed to 0 Percentage: 50 while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark set Percentage to 100 * StudentMark / NbrMarks write “ Student’s percentage: “ write Percentage set NbrProcessed to NbrProcessed + 1 => Fundamental Programming: 2006

Activity Show the output produced by the following pseudocode. set TotalCost to 20 set ItemCost to 5 set NumberOfItems to 0 while TotalCost > 0 set TotalCost to TotalCost - ItemCost set NumberOfItems to NumberOfItems + 1 write “Number of items purchased: “ write NumberOfItems Fundamental Programming: 2006

Activity Break Fundamental Programming: 2006

Pseudocode in Study Guide one data input statement: read one data output statement: write one assignment statement: set two flow control statements: one selection statement: if-then-else if Percentage < 50 then write “(Fail)” else write “(Pass)” one repetition statement: while while NbrProcessed < NbrStudents write “Student’s mark ==> “ read StudentMark : Fundamental Programming: 2006

Flowchart A graphical tools for writing an algorithm Flow lines Start/Stop Input/Output Processing Fundamental Programming: 2006

การเขียนผังงาน (Flowchart) Decision Connection Predefined Process (Subprogram) Printer output Storage Fundamental Programming: 2006

Fundamental Programming: 2006

Programming Languages all programming languages consist of a collection of input, output, assignment, selection and repetition statements most have: only one assignment statement one or more input and output statements several selection and repetition statements sample assignment statements: C++: NbrProcessed = 0 ; Visual Basic: NbrProcessed = 0 Pascal: NbrProcessed := 0 ; COBOL: MOVE 0 TO NBR-PROCESSED. Fundamental Programming: 2006

Summary we start from written specifications a 6-step process has been provided to help with the analysis of written specifications program designs are written in pseudocode Study Guide uses very simple pseudocode five base programming statements are: input, output, assignment, selection, repetition these statements provide a platform for programming in all popular languages Fundamental Programming: 2006

Study Guide this week you should read the first three modules in the Study Guide (Book 1) and make a start on Module 4 also, you should read Assignment 1 by the end of this week you will be in a position to make a start on Assignment 1 start Assignment 1 as soon as you can! Fundamental Programming: 2006