The if else if ladder


The if else if ladder

The if else if ladder is very popular because it chooses one group of instructions from a set of groups of instructions. The conditional expressions are evaluated from top downward. As soon as one of the conditional expressions is true, the respective group of instructions will be executed; the rest of the groups in the ladder are bypassed. If none of the conditional expressions is true, the group of instructions associated with the final else group will be executed. The final else often acts as a default condition; that is, if all other conditional tests fails, then the last else group of instructions is performed. If there is no final else and all conditions are false, then no instruction in the ladder will be executed. The code shown below illustrates the use of the if else if ladder.
La escalera if else if es muy popular porque escoge un grupo de instrucciones desde un conjunto de grupos de instrucciones. Las expresiones condicionales son evaluadas de arriba hacia abajo. Tan pronto como una expresión condicional es verdadera, el grupo de instrucciones asociado con ese if será ejecutado. La instrucción final else a menudo actúa como una condición por defecto; esto es, si todas las pruebas de las condiciones fallan, entonces el último grupo asociado el else se ejecutara. Si no hay un else final y todas las condiciones son falsas, entonces no se ejecuta ninguna instrucción de la escalera. El código de abajo ilustra el uso de if else if.

Program.cpp
void Program::Window_Open(Win::Event& e)
{
     const double input = tbxInput.DoubleValue;
     if (input > 0.0)
     {
          // When the input is positive (Se ejecuta cuando la entrada es positiva)
          ...
     }
     else if (input < 0.0)
     {
          // When the input is negative (Se ejecuta cuando la entrada es negativa)
          ...
     }
     else
     {
          // When the input is zero (Se ejecuta cuando la entrada es cero)
          ...
     }

}

Problem 1
Compute the output and table of variables of the following code.
Calcule la salida y la tabla de variables del código siguiente.

Program.cpp
void Program::Window_Open(Win::Event& e)
{
     const double input = 18.0;
     double output = 0.0;
     if (input > 0.0)
     {
          output += 10.0;
     }
     else if (input < 0.0)
     {
          output -= 10.0;
     }
     else
     {
          output *= 10.0;
     }
     this->MessageBox(Sys::Convert::ToString(output), L"Output", MB_OK);
}

Problem 2
Compute the output and table of variables of the following code.
Calcule la salida y la tabla de variables del código siguiente.

Program.cpp
void Program::Window_Open(Win::Event& e)
{
     const int input = 33;
     double output = 0.0;
     if (input%2 == 0)
     {
          output += 10.0;
     }
     else if (input%3 == 0)
     {
          output -= 10.0;
     }
     else
     {
          output *= 10.0;
     }
     this->MessageBox(Sys::Convert::ToString(output), L"Output", MB_OK);
}

Problem 3
Write a program called Cuadratica to find the two solutions of a second order polynomial. The user will provide the values of a, b and c to find the real or imaginary solutions.
Escriba un programa llamado Cuadratica para calcular las dos soluciones de la fórmula cuadrática. El programa debe aceptar los valores de a, b, y c para encontrar soluciones reales e imaginarias.

CuadraticaEq

Cuadratica

Problem 4
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline.
Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea.

Program.cpp
void Programa::Window_Open(Win::Event& e)
{
     int a = 5, b = 2, c = 0;
     double x = 0.0;

     if (b != 0) // Is b diferent from zero?
          x=a/b;
     else
          tbx1.Text += L"Error: division by zero";

     if (x != 0.0) // Is x diferent from zero?
          x = a/c;
     else
          tbx1.Text += L"Error: division by zero";
     wstring texto;
     Sys::Format(texto, L"%f", x);
     tbx1.Text += texto;
}

VariableTableAbcXTexto

Problem 4
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline.
Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea.

Program.cpp
void Programa::Window_Open(Win::Event& e)
{
     int a = 5, b = 2, c = 0;
     double x = 0.0;

     if (b != 0) // Is b diferent from zero?
          x=a/b;
     else
          tbx1.Text += L"Error: division by zero";

     if (c != 0.0) // Is c diferent from zero?
          x = a/c;
     else
          tbx1.Text += L"Error: division by zero";
     wstring texto;
     Sys::Format(texto, L"%f", x);
     tbx1.Text += texto;
}

VariableTableAbcXTexto

Problem 5
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline.
Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea.

Program.cpp
void Programa::Window_Open(Win::Event& e)
{
     int a=5, b=2, c=12;
     wstring texto;
     if (a != 0)
     {
          a++;
          if (c >= 10)
               a+=5;
          else
               b+=11;
          Sys::Format(texto, L"a=%d, b=%d, c=%d\r\n", a, b, c);
          tbx1.Text += texto;
     }
     else
          tbx1.Text += L"+++++";
     tbx1.Text += L"******";
}

VariableTableAbcTexto

Problem 6
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline.
Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea.

Program.cpp

void Programa:Window_Open(Win::Event& e)
{
     int a=5, b=2, c=12;
     wstring texto;
     if (b != 2)
     {
          a++;
          if (c >= 10) a+=5;
     }
     else if (c >= 12)
     {
          b += 11;
          c--;
          Sys::Format(texto, L"a=%d, b=%d, c=%d\r\n", a, b, c);
          tbx1.Text += texto;
     }
     else
     {
          tbx1.Text += L"*****";
     }
}

VariableTableAbcTexto

© Copyright 2000-2019 Wintempla selo. All Rights Reserved. Sep 05 2019. Home