Estructura Selectiva y Switch (1)

download Estructura Selectiva y Switch (1)

of 26

Transcript of Estructura Selectiva y Switch (1)

  • 7/22/2019 Estructura Selectiva y Switch (1)

    1/26

    ESTRUCTURAS CONDICIONALES :

    IF y SWIT H

    Universidad Nacional del Callao

    Ingeniera MecanicaEnergia

    Prof.: JOSE LUIS YUPANQUI PEREZ

    Correo: [email protected]

  • 7/22/2019 Estructura Selectiva y Switch (1)

    2/26

    OPERADORES Y EXPRESIONES

    Los programas C++ constan de instrucciones o expresiones.

    Una expresin es una ecuacin matemtica, tal como 3+5. En esta expresin,

    el smbolo ms (+) es el operador de suma, y los nmeros 3 y 5 se llaman

    operandos.

    En sntesis, una expresin es una secuencia de operaciones y operandos que

    especifica un clculo.Cuando se utiliza el + entre nmeros (o variables) se denomina operador

    binario, debido a que el operador + suma dos nmeros. Otro tipo de

    operador de C++ es el operador unitario (), que acta sobre

    un nico valor. Si la variable x con-tiene el valor 5, -x es el valor -5. El

    signo menos (-) es el operador unitario menos.

    OPERADOR DE ASIGNACIN

    El operador = asigna el valor de la expresin derecha a la variable situada a

    su izquierda.

    codigo = 3467 fahrenheit = 123.456; coordX = 525;

    2

  • 7/22/2019 Estructura Selectiva y Switch (1)

    3/26

    Operadores de asignacin de C++

    3

    Equivalencia de operadores de asignacin

  • 7/22/2019 Estructura Selectiva y Switch (1)

    4/26

    OPERADORES ARITMETICOS

    4

  • 7/22/2019 Estructura Selectiva y Switch (1)

    5/26

    OPERADORES DE INCREMENTACIN YDECREMENTACiN

    De las muchas caractersticas de C++ heredadas de C, una de las ms tilesson los operadores de incremento ++ y decremento --.

    Los operadores ++ y --, denominados de incrementacin y decrementacin,

    suman o restan 1 a su argumento, respectivamente, cada vez que se

    aplican a una variable.

    Incrementacion Decrementacion

    ++ n --n

    N + = 1 N - = 1

    N = n + 1 n = n - 1

    Ejemplo:

    a++ es igual que a+1

    5

  • 7/22/2019 Estructura Selectiva y Switch (1)

    6/26

    Ejemplo:

    int a = 1, b;

    b = a++; //b vale 1 y a vale 2

    int a = l, b;

    b = ++a; //b vale 2 y a vale 2

    Si los operadores ++ yestan de prefijos; la operacin de incremento se

    efecta antes que la operacin de asignacin, si los operadores ++ y

    estn de sufijos, la asignacin se efecta en primer lugar y la

    incrementacion o decrementacion a continuacin.

    Ejemplo: int i = 10:

    int j;

    J = i++;

    La variable j vale 10, ya que cuando aparece ++ despus del

    operando (la variable i) el valor que se asigna a j es el valor de i

    (10) Y luego posteriormente se incrementa a i, que toma el valor

    1 1.6

  • 7/22/2019 Estructura Selectiva y Switch (1)

    7/26

    Demostracin del funcionamiento de losoperadores de incremento/decremento.

    {

    int m = 45, n = 75;cout " m = " m endl;

    cout " n = " n endl;

    ++m;

    --n ;

    cout " m = " m " n = " n endl;

    m++;

    n--;

    cout "m=" m " , n= " n endl;

    }

    Ejecucion:

    7

    m = 45, n = 75m = 46, n = 74

    m = 46, n = 73

  • 7/22/2019 Estructura Selectiva y Switch (1)

    8/26

    {

    int m = 99, n;

    n = ++m;

    cout

  • 7/22/2019 Estructura Selectiva y Switch (1)

    9/26

    Operadores relacionales

    Operador Ejemplo

    Igual a a = = b

    No igual a a ! = b

    Mayor que a > b

    Menor que a < b

    Mayor o igual que a >= b

    Menor o igual que a < = b

    Operador operador lgico ejemplo

    Negacin ( ! ) No lgica ! (x >= y)

    Y (&&) operando_1 && operando_2 m < n && i > j

    O | | operando_1 | | operando_2 m = 5 | | n != 10

    9

    OPERADORES LOGICOS

  • 7/22/2019 Estructura Selectiva y Switch (1)

    10/2610

    IN REMENTO Y DE REMENTO

    reincremento (++k): primero se u ti lizar elvalor de k y luego de eso se incrementara en 1.

    posinc remento (k++): Primero incrementa ydespus se u ti l iza

    predecremento (--k): primero se u ti lizar el

    valo r de k y luego de eso se decrementar en 1.

    posdecremento (k --) : Pr imero se decrementa y

    despues se ut i l iza

  • 7/22/2019 Estructura Selectiva y Switch (1)

    11/2611

    ESTRUCTURA CONDICIONAL - IF

    i f ( a > b)dentro del parentesis debe colocarse lacondicin, que debe ser del tipo lgica. Sepueden usar ">=" (mayor igual) "

  • 7/22/2019 Estructura Selectiva y Switch (1)

    12/2612

    Variables

    Unidad bsica de almacenamiento, la creacines la combinacin de un identificador, un tipo

    y un mbito. Todas las variables en Visual C++

    tienen que ser declaradas antes de ser

    usadas. El lugar donde se declaran las

    variables puede ser dentro o en la definicin

    de una funcin, fuera de todas las funciones.

  • 7/22/2019 Estructura Selectiva y Switch (1)

    13/2613

    VARIABLES

    El nombre de las variables conocido comoident i f icadores debe cumplir las siguientes

    normas. La longitud puede ir de un carcter a 31.

    El primero de ellos debe ser siempre una letra. No

    puede contener espacios en blanco, ni acentos ycaracteres gramaticales. Hay que tener en cuenta

    que el compilador distingue entre maysculas y

    minsculas. SINTAXIS:

    tipo nombre=valor_numerico; tipo nombre=letra;

    tipo nombre[tamao]=cadena de letras,

    tipo nombre=valor_entero

    tipo nombre=valor_decimal;

  • 7/22/2019 Estructura Selectiva y Switch (1)

    14/2614

    CONVERSION (casting):

    Las conversiones automticas pueden sercontroladas por el programador. Bastar con

    anteponer y encerrar entre parentesis, el tipo al

    que se desea convertir. Este tipo de

    conversiones solo es temporal y la variable a

    convertir mantiene su valor.

    SINTAXIS:

    variable_destino=(tipo)variable_a_convertir;

    variable_destino=(tipo) (variable1+variable2+variableN);

  • 7/22/2019 Estructura Selectiva y Switch (1)

    15/2615

    EJEMPLO: convertimos 2 variables float para

    guardar la suma en un entero.

    {float num1=25.75, num2=10.15, total1;

    int total2;

    cout

  • 7/22/2019 Estructura Selectiva y Switch (1)

    16/2616

    LAS CONSTANTES:

    Se refieren a los valores fijos que no pueden sermodificados por el programa. Pueden ser decualquier tipo de datos bsicos. Las constantesde carcter van encerradas en comillas simples.Las constantes enteras se especifican con

    nmeros sin parte decimal y las de coma flotantecon su parte entera separada por un punto de suparte decimal.

    SINTAXIS:

    const tipo nombre=valor_entero; const tipo nombre=valor_entero.valor_decimal;

    const tipo nombre=carcter;

  • 7/22/2019 Estructura Selectiva y Switch (1)

    17/26

    17

    La directiva #define es un identificador y unasecuencia de caracteres que sustituir sesustituir cada vez que se encuentre ste en elarchivo fuente. Tambin pueden ser utilizadospara definir valores numricos constantes.

    SINTAXIS:#define IDENTIFICADOR valor_numerico

    EJEMPLO:

    #define EURO 166.386

    #define TEXTO "Esto es una prueba"

    const int peseta=1;

    cout

  • 7/22/2019 Estructura Selectiva y Switch (1)

    18/26

    18

    ESTRUCTURA CONDICIONAL SIMPLE

    If ( condicin ){

    Instruccin_1;

    Instruccin_2;

    .

    Instruccin_P;}

    instruccin_R;

    instruccin_S;

    Las Instrucciones de la 1,2,P se ejecutan solamente cuandola respuesta de la condicion es verdadera. Y continua conlas instrucciones R, S ..

    Si la Condicin su respuesta es FALSA, no se ejecutan lasinstrucciones_1,2,P, solamente se ejecutan lasinstrucciones R, S . Porque estan fuera del bloque.

    Se ejecutan las Instruccionessolamente cuando la condicin esverdadera

  • 7/22/2019 Estructura Selectiva y Switch (1)

    19/26

    19

    ESTRUCTURA CONDICIONAL DOBLE

    If ( condicin ){ Instruccin_1;

    Instruccin_2;

    .

    Instruccin_P;

    }Else

    { Instruccin_Q;

    Instruccin_R;

    .

    Instruccin_X;

    }

    instruccin_Y;

    instruccin_Z;

    Se ejecutan las Instrucciones

    solamente cuando la condicin su

    respuesta es verdadera.

    Se ejecutan las Instrucciones

    solamente cuando la condicin su

    respuesta es Falsa

  • 7/22/2019 Estructura Selectiva y Switch (1)

    20/26

    20

    Ejemplo: Realizar un programa que pida una edad. Si la edad es

    igual o menor a 10 poner el mensaje MENOR DE EDAD, si la

    edad es mayor a 65 poner el mensaje JUBILADO, y si la edad es

    mayor a 10 y menor o igual 65 poner el mensaje ADULTO.

    SOLUCION:int xedad;

    cout xedad;

    if (xedad

  • 7/22/2019 Estructura Selectiva y Switch (1)

    21/26

    21

    ESTRUCTURA CONDICIONAL MULTIPLE - switch

    Realiza distintas operaciones en base al valor deuna nica variable o expresin. Es una sentencia

    muy similar a if-else, pero esta es mucho ms

    cmoda y fcil de comprender. Si los valores con

    los que se compara son nmeros se ponedirectamente el pero si es un carcter se debe

    encerrar entre comillas simples. Sintaxis:

  • 7/22/2019 Estructura Selectiva y Switch (1)

    22/26

    22

    SINTAXIS

    Switch (expresin){

    case valor1: sentencia1; break;

    case valor2: sentencia2; break;

    case valor3: sentencia3; break;

    . . . . .

    case valorN: sentenciaN; break;

    default:

    accion x;

    }

    El valor de la expresin se compara con cada uno de los literalesde la sentencia case si coincide alguno se ejecuta el cdigo que le

    sigue, si ninguno coincide se realiza la sentencia default(opcional), si no hay sentencia default no se ejecuta nada.

    La sentencia break realiza la salida de un bloque de cdigo. En elcaso de sentencia switch realiza el cdigo y cuando ejecuta breaksale de este bloque y sigue con la ejecucin del programa. En elcaso que varias sentencias case realicen la misma ejecucin sepueden agrupar, utilizando una sola sentencia break.

  • 7/22/2019 Estructura Selectiva y Switch (1)

    23/26

    23

    switch (expresin)

    {

    case valor1: case valor2: case valor5:

    sentencia_P;break;

    case valor3: case valor4 : sentencia_Q;

    break;

    }

  • 7/22/2019 Estructura Selectiva y Switch (1)

    24/26

    24

    EJEMPLO: Programa que ingresa 2 numero y elije la operacin

    (+ , - , * , / ) a realizar. Obtener el resultado de la operacion indicada

    {int xn1, xn2, xr=0; char xop;

    cout > xn1;

    cout > xn2;

    cout > xop;

    if (xop=='+')

    xr = xn1 + xn2;else

    if (xop=='-')

    xr = xn1 - xn2;

    else

    if (xop=='*')

    xr = xn1 * xn2;else

    if (xop=='/')

    xr = xn1 / xn2;

    else

    cout

  • 7/22/2019 Estructura Selectiva y Switch (1)

    25/26

    25

    EJEMPLO: Programa que ingresa 2 numero y elije la operacin

    (+ , - , * , / ) a realizar. Obtener el resultado de la operacion indicada

    {int xn1, xn2, xr=0; char xop;

    cout > xn1;

    cout > xn2;

    cout > xop;

    /* FORMA DE SOLUCIONAR EL PROBLEMA USANDO SWITCH */

    switch(xop)

    {

    case '+': xr = xn1 + xn2; break;

    case '-': xr = xn1 - xn2; break;

    case '*': xr = xn1 * xn2; break;case '/': xr = xn1 / xn2; break;

    default:

    cout

  • 7/22/2019 Estructura Selectiva y Switch (1)

    26/26

    26

    EJEMPLO: Ingrese un numero de mesa. Que muestre la

    informacin del representante de cada mesa, donde: 1 para

    Jess, 2 para Milagros y 3 para JUAN.{

    int nummesa;

    cout > nummesa;

    switch(nummesa)

    {

    case 1:

    cout