answer.
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]
2 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]2 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
A large Internet merchandise provider determines its shipping charges based on the number of items purchased. As the number incr
blsea [12.9K]

Answer:

A C# programming language (console application) was used in this given question. below in the explanation section is the code used in executing the task that was carried out.

Explanation:

Solution

C# Programming language code (Console Application):

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;  

namespace ShippingProgram  

{

class Program  

{

public static double ShippingCharge(int items)  

{  

if(items==1)  

{  

return 2.99;  

}  

else if ((items>=2)&&(items<=5))  

{

return (2.99) + ((items - 1) * 1.99);  

}  

else if((items>5)&&(items<15))  

{  

return (2.99) + (4* 1.99)+((items-5)*1.49);  

}  

else  

{  

return (2.99) + (4 * 1.99) + ((10) * 1.49)+((items-14)*0.99);

}

}  

 static void Main(string[] args)  

{  

System.Console.Write("Enter the no of items: ");

int n = Convert.ToInt16(System.Console.ReadLine());

System.Console.WriteLine("Your shipping charges are: $"+ ShippingCharge(n));  

System.Console.ReadLine();  

}  

}  

}

7 0
2 years ago
Using evidence to dispel myths or false beliefs is one way to move closer to evidence-based practice. Please select the best ans
Marrrta [24]
The correct answer is TRUE
7 0
2 years ago
Read 2 more answers
Show how the recursive multiplication algorithm computes XY, where X = 1234 and Y = 4321. Include all recursive computations.
lozanna [386]

Answer:

The result of recursive multiplication algorithm is 5332114 . Here karatsuba algorithm with recursive approach is used to compute XY where X = 1234 and Y = 4321.

Explanation:

The steps for karatsuba algorithm with recursive approach:

base case:

if(X<10) or (Y<10) then multiply X with Y

For example if X is 1 and Y is 2. Then XY = 1*2 = 2

Recursive case:

Now when the above if condition is not true then follow these steps to compute XY

Compute the size of numbers.

Notice that there are 4 digits in X i.e. 1 2 3 4 and a 4 digits in Y i.e. 4 3 2 1

So n = 4

Now divide the numbers in 2 parts as:

n/2 = 4/2 = 2

Since these are decimal numbers so we can write it as:

10^n/2

Now split the digits

X = 1234 is divided into 2 parts as:

12 and 34

Let a represent the first part and b represent the second part of X. So,

a = 12

b = 34

Y = 4321 is divided into 2 parts as:

43 and 21

Let c represent the first part and d represent the second part of Y. So,

c = 43

d = 21

Let multiplication reprsents the karatsuba recursive multiplication algorithm

Now recursively compute products of inputs of size n/2  

   multiplication (a, c)

   multiplication (b, d)

   multiplication (add(a, b), add(c, d))  

  Combine the above 3 products to compute XY  

As we know these decimal numbers have base 10 and X and Y are divided into two parts So X can be written as:

X = 10^{\frac{n}{2} }  a+b

Y can be written as:

Y = 10^{\frac{n}{2} }  c+d

Now compute XY as:

XY = (10^{\frac{n}{2} }  a+b) ( 10^{\frac{n}{2} }  c+d)

XY = 10^{\frac{2n}{2} }  ac + 10^{\frac{n}{2} }  ad +  10^{\frac{n}{2} }  bc + bd

     =  10^{n}  ac + 10^{\frac{n}{2} } (ad + bc) + bd

Now put the values of n = 4, a = 12, b = 34 , c = 43 and d = 21

      = 10⁴ (12*43) + 10² (12*21 + 34*43) + (34*21)

      = 10⁴ (516) + 10² (252 + 1462) + 714

      = 10000*516 + 100*1714 + 714

      = 5160000 + 171400 + 714

XY  = 5332114

Hence the karatsuba multiplication algorithm with recursive appraoch computes XY = 5332114

3 0
2 years ago
10. There is repeated code in these onevent blocks. Choose the correct code for the updateScreen() function which would be calle
Lorico [155]

Answer:

front zise24

Explanation:

on event down botton

6 0
2 years ago
Lucy is completing a project as part of a science class using materials she found online. Which of the following is MOST LIKELY
const2013 [10]

Answer:

D.

Explanation:

Most students would fail to realize that the pictures they use also need citations so that would be the MOST LIKELY to lead to legal consequence.

7 0
2 years ago
Other questions:
  • How many frequencies does a full-duplex qam-64 modem use?
    8·2 answers
  • Adrian has decided to create a website to catalog all the books he has in his personal library. He wants to store this informati
    11·2 answers
  • Tina reported a safety hazard at her workplace to OSHA. Representatives from OSHA
    5·1 answer
  • Why can't you use Friedman's attack on block ciphers?
    12·1 answer
  • True or False: A class that implements an interface may only implement a few of that interface's method declarations
    13·1 answer
  • Assume there is a class AirConditioner that supports the following behaviors: turning the air conditioner on and off. The follow
    7·1 answer
  • Write a program that removes all spaces from the given input.
    6·1 answer
  • Create a program that includes a function called toUpperCamelCase that takes a string (consisting of lowercase words and spaces)
    9·1 answer
  • Graduating from college can boost your income 60% compared to high school graduates. An average high school graduate without a c
    8·1 answer
  • Which argument forces a writer to return to and change the input before resolving a “UnicodeError”?
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!