lunes, 20 de abril de 2009

viernes, 17 de abril de 2009

examensito

Realizar un programa que traduzca de numero o palabra basada en la entrada que le da el usuario; por ejemplo si el usuario le da un cero 0 el sitema debe decir cero en palabra el rango sera de 0 a 5







Realizar un programa que lea un caracter y determine si es vocal o no vocal

jueves, 16 de abril de 2009

Ejercisio que vale por 2 y tarea

Un fabricante de montañas rusas desea un sistema que escanee la altura de los prospectos y determine si son aptos para utilizar el juego el sistema debe de mostrar el mensaje aceptado para utilixar el juego y/o para utilizar el juego el limite de altura es 1.30 mts. Realizar la lectura en centimetros.




Realizar un programa que determine si una persoan puede o no votar.






martes, 14 de abril de 2009

Capitulo 5 (resumen)

ESTRUCTURAS DE SELECCION SENTENCIAS IF Y SWITCH

5.1 Estructuras de control

Las estructuras de control controlan el flujo de ejecución de un programa o función. Las estructuras de control permiten combinar instrucciones o sentencias individuales en una simple unidad lógica con un punto de entrada y un punto de salida.
Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven para controlar el flujo de la ejecución: secuencia, selección (decisión) y repetición. Una sentencia compuesta es un conjunto de sentencias encerradas entre llaves ({ y }) que se utiliza para especificar un flujo secuencial.
El control fluye de la sentencia1 a la sentencia2 y así sucesivamente. Sin embargo, existen problemas que requieren etapas con dos o más opciones o alternativas a elegir en función del valor de una condición o expresión.

5.2 La sentencia if

En C, la estructura de control de selección principal es una sentencia it. La sentencia it tiene dos alternativas o formatos posibles.
La sentencia if funciona de la siguiente manera. Cuando se alcanza la sentencia if dentro de un programa, se evalúa la expresión entre paréntesis que viene a continuación de if. Si expresión es verdadera, se ejecuta Acción; en caso contrario no se ejecuta Acción (en su formato más simple, Acción es una sentencia simple y en los restantes formatos es una sentencia compuesta).

5.3 Sentencia if de dos alternativas: if-else

Un segundo formato de la sentencia if es la sentencia if-else. Este formato de la sentencia if tiene la siguiente sintaxis:



En este formato Acción1 y Accion2 son individualmente, o bien una única sentencia que termina en un punto y coma (;) o un grupo de sentencias encerrado entre llaves. Cuando se ejecuta la sentencia if - else, se evalúa Expresión. Si Expresión es verdadera, se ejecuta Acción1 y en caso contrario se ejecuta Acción.

5.4 Sentencias if-else anidadas

Hasta este punto, las sentencias if implementan decisiones que implican una o dos alternativas. Una sentencia if es anidada cuando la sentencia de la rama verdadera o la rama falsa, es a su vez una sentencia if. Una sentencia if anidada se puede utilizar para implementar decisiones con varias alternativas o multi-alternativas.
La sentencia if anidada tiene tres alternativas. Se incrementa una de las tres variables (num_pos, num_neg y num_ceros) en 1, dependiendo de que x sea mayor que cero, menor que cero o igual a cero respectivamente. Las cajas muestran la estructura lógica de la sentencia if anidada; la segunda sentencia if es la acción o tarea Falsa (a continuación de else) de la primera sentencia if. La ejecución de la sentencia if anidada se realiza como sigue: se comprueba la primera condición (x > O); si es verdadera, num_pos se incrementa en 1 y se salta el resto de la sentencia if. Si la primera condición es falsa, se comprueba la segunda condición (x <>


5.4.1. Sangría en las sentencias if anidadas

El formato multibiturcación se compone de una serie de sentencias if anidadas, en cada línea se puede escribir una sentencia if.


5.4.2. Comparación de sentencias if anidadas y secuencias de sentencias if

Los programadores tienen dos alternativas: 1) usar una secuencia de sentencias if; 2) una única sentencia if anidada. Por ejemplo, la sentencia if del Ejemplo 5.7. se puede reescribir como la siguiente secuencia de sentencias if:

5.5 Sentencia de control switch

La sentencia switch es una sentencia C que se utiliza para seleccionar una de entre múltiples alternativas. La sentencia switch es especialmente útil cuando la selección se basa en el valor de una variable simple o de una expresión simple denominada expresión de control o selector. El valor de esta expresión puede ser de tipo int o char, pero no de tipo float ni double.
La expresión de control o selector se evalúa y se compara con cada una de las etiquetas de case. La expresión selector debe ser un tipo ordinal (por ejemplo, it, char, pero no float o string). Cada etiqueta es un valor único, constante y cada etiqueta debe tener un valor diferente de los otros. Si el valor de la expresión selector es igual a una de las etiquetas case —por ejemplo, etiquetar— entonces la ejecución comenzará con la primera sentencia de la secuencia sentencia1 y continuará hasta que se encuentra el final de la sentencia de control switch, o hasta encontrar la sentencia break.
Es habitual que después de cada bloque de sentencias correspondiente a una secuencia se desee terminar la ejecución del switch; para ello se sitúa la sentencia break como última sentencia del bloque. La sentencia break; hace que siga la ejecución en la siguiente sentencia al switch.

5.5.1. Caso particular de case

Está permitido tener varias expresiones case en una alternativa dada dentro de la sentencia switch. Por ejemplo, se puede escribir:


5.5.2. Uso de sentencias switch en menús

La sentencia if - else es más versátil que la sentencia switch y se pueden utilizar unas sentencias if else anidadas o multidecisión, en cualquier parte que se utilice una sentencia case. Sin embargo, normalmente, la sentencia switch es más clara. Por ejemplo, la sentencia switch es idónea para implementar menús. Un menú en un programa de computadora hace la misma función: presentar una lista de alternativas en la pantalla para que el usuario elija una de ellas.

5.6 Expresiones condicionales: el opreador ?:

Las sentencias de selección (if y switch) consideradas hasta ahora, son similares a las sentencias previstas en otros lenguajes, tales como Pascal y Fortran 90. C tiene un tercer mecanismo de selección, una expresión que produce uno de dos valores, resultado de una expresión lógica o booleana (también denominada condición). Este mecanismo se denomina expresión condicional. Una expresión condicional tiene el formato C ? A : B y es realmente una operación ternaria (tres operandos) en el que C, A y B son los tres operandos y ? : es el operador.

Se evalúa condición, si el valor de condición es verdadera (distinto de cero) entonces se devuelve como resultado el valor de expresión1 si el valor de condición es falsa (cero) se devuelve como resultado el valor de expresion2. Una aplicación del operador condicional (?:) es llamar a una de dos funciones según el valor de la variable.


5.7 Evaluacion al cortocircuito de expresiones logicas

Cuando se evalúan expresiones lógicas en C se emplea una técnica denominada evaluación en cortocircuito. Este tipo de evaluación significa que se puede detener la evaluación de una expresión lógica tan pronto como su valor pueda ser determinado con absoluta certeza. Por ejemplo, si el valor de (soltero == ‘s‘) es falso, la expresión lógica (soltero == ‘s’) && (sexo ‘h’) && (edad > 18) && (edad <= 45) será falsa con independencia de cual sea el valor de las otras condiciones. La razón es que una expresión lógica del tipo falso && (...) debe ser siempre falsa, cuando uno de los operandos de la operación AND es falso. En consecuencia no hay necesidad de continuar la evaluación de las otras condiciones cuando (soltero == ‘s’) se evalúa a falso.


El compilador C utiliza este tipo de evaluación. Es decir, la evaluación de una expresión lógica de la forma, a && a. se detiene si la subexpresión a de la izquierda se evalúa a falsa.


C realiza evaluación en cortocircuito con los operadores && y , de modo que evalúa primero la expresión más a la izquierda de las dos expresiones unidas por && o bien por . Si de esta evaluación se deduce la información suficiente para determinar el valor final de la expresión (independiente del valor de la segunda expresión), el compilador C no evalúa la segunda expresión.


5.9 Errores frecuentes de programacion

Uno de los erores mas comunes es una sentencias if es utilizar un operador de asignacion (=) en lugar de un operador de igualdad (==).
en una sentencia if anidada cada clausula else coesponde con la if precedente mas cecana.
las comparaciones con operadores == de contidades algebraicamente iguales pueden poducir una expresion logica falsa.
cuando en una sentencia switch o en un bloqueo de sentencias falta una de las llaves, aparece un mensaje de orror.
el selector de una sentencia switch debe se de tipo entero o compatible entero. asi las contantes reales.
cuando se utiliza una sentencia switch asegurese que el selecto de switch y las etiquetas case son del mismo tipo.
normalmente debera escribirr la sentencia break despues de la accion que se desea que ejecute cada uno de los case de la sentencia switch.