W2 ProblemSolving
W2 ProblemSolving
4. Testing
To check the correctness of the above solution we calculate
x + y and x * y.
◼ Non-Algorithmic Problems
Example: Consider the following instructions:
Step1: Make a list of all odd positive integers.
Step2: Compute their sum.
Step3: Compute their average.
Step4: Print the average.
◼ This is not an algorithm because it is impossible to
make an infinite list of numbers, and the problem of
finding the sum (or average) of all odd positive
integers is not algorithmic.
◆ Flow Chart
◆ Programming Languages
◼ Software engineering
◆ The area of computing is concerned with
building scalable software systems
◼ Challenge
◆ Tremendous advances in hardware have
not been matched by comparable advances
in software
◆ Model properties
◼ Algorithm Design
◆ Decompose into smaller problems
◼ Implementation/Coding
◆ Writing the algorithm (programming language)
◼ Documentation
◆ Key part of the development process
◼ Reliability
◆ An unreliable life-critical system can be fatal
◼ Understandability
◆ Future development becomes challenging if the
software is hard to understand
◼ Cost Effectiveness
◆ Cost to develop and maintain should not exceed
profit
◼ Adaptability
◆ SW system that is adaptive is easier to alter and
expand
◼ Reusability
◆ Improves reliability and maintainability, and
reduces development costs