1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ksenya-84 [330]
3 years ago
11

Describe a strategy for avoiding nested conditionals. Give your own example of a nested conditional that can be modified to beco

me a single conditional, and show the equivalent single conditional.
Computers and Technology
1 answer:
Alex787 [66]3 years ago
4 0

Answer:

One of the strategies to avoid nested conditional is to use logical expressions such as the use of AND & operator.

One strategy is to use an  interface class with a method. That method can be created to be used for a common functionality or purpose. This is also called strategy design pattern. You can move the chunk of conditional statement to that method. Then each class can implement that interface class and use that shared method according to their own required task by creating objects of sub classes and call that common method for any such object. This is called polymorphism.

Explanation:

Nested conditionals refers to the use of if or else if statement inside another if or else if statement or you can simply say a condition inside another condition. For example:

if( condition1) {  

//executes when condition1 evaluates to true

  if(condition2) {

//executes when condition1  and condition2 evaluate to true

  }  else if(condition3) {

 //when condition1 is true and condition3 is true

} else {

 //condition1  is true but neither condition2 nor conditions3 are true

}  }

The deeply nested conditionals make the program difficult to understand or read if the nested conditionals are not indented properly. Also the debugging gets difficult when the program has a lot of nested conditionals.

So in order to avoid nested conditionals some strategies are used such as using a switch statement.

Here i will give an example of the strategies i have mentioned in the answer.

Using Logical Expressions:

A strategy to avoid nested conditionals is to use logical expressions with logical operators such as AND operator. The above described example of nested conditionals can be written as:

if(condition1 && condition2){  //this executes only when both condition1 and condition2 are true

} else if(condition1 && condition3) {

this executes only when both condition1 and condition3 are true

} else if(condition1 ){

//condition1  is true but neither condtion2 nor condtion3 are true  }

This can further be modified to one conditional as:

if(!condition3){

// when  condition1 and condition2 are true

}

else

// condition3 is true

Now lets take a simple example of deciding to go to school or not based on some conditions.

if (temperature< 40)

{

   if (busArrived=="yes")

   {

       if (!sick)

       {

           if (homework=="done")

           {

               printf("Go to school.");

           }

       }                    

   }

}

This uses nested conditionals. This can be changed to a single conditional using AND logical operator.

if ((temperature <40) && (busArrived=="yes") &&

(!sick) && (homework=="done"))

{    cout<<"Eligible for promotion."; }

The second strategy is to use an interface. For example you can

abstract class Shape{

//declare a method common to all sub classes

  abstract public int area();

// same method that varies by formula of area for different shapes

}

class Triangle extends Shape{

  public int area() {

     // version of area code for Triangle

return (width * height / 2);

  }

}

class Rectangle extends Shape{

  public int area() {

     // version of area code for Rectangle

    return (width * height)

  }

}

// Now simply create Rectangle or Triangle objects and call area() for any such object and the relevant version will be executed.

You might be interested in
Sorry to bother you guys but for some reason it wont let me comment. How can i fix this?
Step2247 [10]

Explanation:

I would just say close the app and come back in after

7 0
3 years ago
Read 2 more answers
How to turn off new macbook pro when it is frozen 2017
Maksim231197 [3]
To unfreeze the mac book pro, there are two ways :
a. <span>Click the apple logo which is at the top left of the menu bar and then select 'force quit'.
b. Hold down the option, command, and escape buttons and then select 'force quit'. </span>
If all else fails, best option is to hold down the power button on the keyboard till it shuts down.
3 0
3 years ago
Read 2 more answers
Which tag pair contains the items in an ordered or unordered list?
Serga [27]
```
<ul>
  <li>item1</li>
  <li>item2</li>
</ul>
```
It's the same for ol.
7 0
3 years ago
9. What is the difference between a hand-drawn sketch, a working drawing, and a 3D model?
jarptica [38.1K]
A hand draw sketch is drawing with just a pencil and paper. Also, a working drawing is a drawing on at a job. The 3D sketch is on the computer.

3 0
3 years ago
Which statement about broadcasting a slideshow online is true?
9966 [12]

Answer: PowerPoint has a free, built-in service for broadcasting online.

Explanation:

The statement that's true about the broadcast of a slideshow online is that PowerPoint has a free, built-in service for broadcasting online.

Option 1 is wrong as all transitions are not properly displayed to the audience when broadcasting online.

Option 2 is wrong as broadcasting as slideshow online is an option for most PowerPoint users.

Option 3 is wrong because when broadcasting online, third party desktop sharing software isn't necessarily an option and it isn't a must that it must be used.

Therefore, the correct option is 4.

4 0
3 years ago
Read 2 more answers
Other questions:
  • Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins with a
    13·1 answer
  • Rebooting the computer is a good troubleshooting technique.<br><br> True<br> False
    6·2 answers
  • To generate a report with exact results based on specific criteria it is best to base the report on a(n) ____________________ cr
    6·1 answer
  • Did anyone do 5.7.5 Factorial on Code HS??<br><br><br><br> 20 POINTS
    9·1 answer
  • You are configuring NIC teaming on a server with two network adapters. You chose Switch Independent Mode. You now must choose be
    15·1 answer
  • 2. Released in 1992, Street Fighter II, the revolutionary fighting game, was developed by which company?
    8·2 answers
  • Type the correct answer in the box. Spell all words correctly.
    13·1 answer
  • The term used to describe an OS designed mainly to share network resources.
    10·1 answer
  • Write the importance of program in computer​
    9·1 answer
  • Continue your S3 and S4 assignment for a young soccer league with the following specification. Do not include the previous queri
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!