ITECH7410 Project Report: Quadratic Equation Analysis and Testing

Verified

Added on  2023/05/23

|8
|871
|104
Project
AI Summary
This project report provides a comprehensive analysis of quadratic equations, including a detailed explanation of the equation's properties, input/output requirements, and constraints. It includes test cases with expected outputs to validate the implementation. The report also covers hardware and software requirements for the development environment, using Turbo C++ with a Windows environment and C++ as the coding language. Interface design is discussed using flow charts and state transition diagrams. Sample source code is provided. The project further details the testing process, including valid data entry, boundary value analysis, equivalence class partitioning, and validation of alpha and special characters, as well as handling of numbers exceeding text box limits. The report focuses on ensuring the application correctly solves for x with constant inputs, detailing functional requirements and technical specifications.
Document Page
PROJECT REPORT
ON QUADRATIC
EQUQTION
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
User Analysis:
A quadratic equation is in the form of ax2 + bx + c, where a, b,c are the non zero coefficients.
Input: First line contains an integer, the number of test cases 'T'. Each test case should contain three
positive numbers a,b and c.
Output: If roots of equations exits, then print the two roots separated by space (Higher valued root
should be printed before lower valued). Else if a = 0, then print "Invalid" as equation is not
quadratic. If roots are imaginary, then print "Imaginary"
Constraints:
1<=T<=50
1<=a<=1000
1<=b<=1000
1<=c<=1000
Example:
Input:
3
1 -2 1
1 -7 12
1 4 8
Output:
1 1
4 3
Imaginary
Display Content Analysis:
A quadratic equation ax2 + bx + c, with input as three positive integers a, b, c having value ranging
from [0,100]. The program output may have one of the following.
1. Not a quadratic equation
2. Real Roots
3. Imaginary Roots
4. Roots are Equal
Test
Case
ID
a b c Expected Output
1 50 50 0 Real Roots
Document Page
2 50 50 1 Real Roots
3 50 50 50 Imaginary Roots
4 50 50 99 Imaginary Roots
5 50 50 100 Imaginary Roots
6 50 0 50 Imaginary Roots
7 50 1 50 Imaginary Roots
8 50 99 50 Imaginary Roots
9 50 100 50 Equal Roots
10 0 50 50 Not a Quadratic Equation
11 1 50 50 Real Roots
12 99 50 50 Imaginary Roots
13 100 50 50 Imaginary Roots
Note: Consider the minimum value as either 0 or 1, nominal value as 50, 99 as just below
maximum value, and 100 is the maximum value.
Screenshot with output as “Imaginary Roots”
Document Page
Screenshot with output as “Real Roots”
Screenshot with output as “Roots are Equal”
Screenshot with output as “Not a quadratic equation”
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Work Environment Analysis:
Hardware Requirements:
1. Processor: Minimum 1 GHz Pentium.
2. PC Memory: 4 GB RAM.
3. Hard Disk: 20 GB free disk space.
4. Display: 800 X 600 or higher resolution display with 256 colours.
Software Requirements:
The application required for the development is the Turbo C++ with windows environment.
1. Operating System: Windows xp/7/8 and Linux Ubantu or RedHat.
2. Language used for coding: C++
3. Tool Used: Turbo C++
Interface Design:
Document Page
Modelling of the Problem:
Flow chart is the pictorial representation of a problem. This design model provides a clear idea in a
step to step process to solve a problem. It is easy to understand and easy to implement.
Document Page
State Transition Diagram:
Sample Source Code:
Test Case for Quadratic Equation:
The quadratic equation is a polynomial of the second degree.
Its general form is
ax^2 + bx + c = 0
where x represents a variable and a, b, and c are constants.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
I would study the functional requirements and technical specifications and create test cases based
on my knowledge. The requirements might include the following features:
1) Text which describes the quadratic equation and how to use the application.
2) A graphical representation of the quadratic function.
3) Text which decribes the first and second root of the equation.
4) Text which describes the equation's descriminant.
I will assume the requirements indicate that the application simply solves for x when all of the
constants are input into the equation. I will also assume there is no
graphical representation supplied by the application. In this case, I would do the following:
1) Enter valid data in all fields and verify result.
2) Enter valid data in all but one field and invalid numeric data in remaining field and ensure
validation.
3) Enter valid data in all but one field and no data in remaining field and ensure validation.
4) Enter a = 0 to verify it becomes linear.
5) Data set should include the following types:
a) Integers
- Positive
- Zero
- Negative
b) Decimal (applying greatest number of significant digits)
- Postive
- Negative
6) For each data type, I would
a) Use boundary value analysis to select input data for all data types.
b) Use equivalence class partitioning to minimize input data.
7) Enter alpha characters in all fields and verify validation.
8) Enter special characters in all fields and verify validation.
9) On each text box, I would try to enter numbers that extend beyond the range that the text box
can accept.
chevron_up_icon
1 out of 8
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]