miércoles, 15 de abril de 2009

Capitulo 5 Resumen

ESTRUCTURA DE SELECCION: SENTENCIAS if Y switch

Resumen

Estructura de control:
Controlan el flujo de ejecución de un programa o función. Las estructuras permiten combinar instrucciones o sentencias individuales en una simple lógica con un punto de entrada y un punto de salida. Hay tres instrucciones o sentencias son: secuencia, selección (decisión) y repetición.

La sentencia if:
La función if funciona se 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 mas simple, acción es una sentencia simple y en los restantes formatos es una sentencia compuesta).

Sentencia if de dos alternativas: if-else

Este formato de la sentencia if-else tiene la siguiente sintaxis: if(expresión) “expresión lógica que determina la acción a ejecutar”, accion1(acción que se realiza si la expresión lógica es verdadera),else (accion2) “acción que se ejecuta si la expresión lógica es falsa”.

Sentencias if-else animadas
: Una sentencia if es animada cuando la sentencia de la rama verdadera o la rama falsa, es a su vez una sentencia if. Una sentencia if animada se puede utilizar para implementar decisiones con varias alternativas o multi-alternativas.

Sangria en las sentencias if animadas:

El formato multibifurcacion se compone de una serie de sentencias if animadas, en cada línea se puede escribir una sentencia if.

Comparación de sentencias if animadas y secuencias de sentencias if:

Los programadores tienen dos alternativas: 1) usar una secuencia de sentencias if; 2) una única sentencia if animada. La secuencia if no estan legible ni eficiente, al contrario que la secuencia if animada, la sentencia if animada se ejecuta mas rápidamente cuando x es positivo ya que la primera condición (x>0) es verdadera, lo que significa que la parte de la sentencia if a continuación del primer else se salta.

Sentencia de control switch:
La sentencia switch 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 tipo int o char, pero no de tipo flota ni double.

Capitulo 4

1.Defina los siguientes conceptos y proporciones al menos 3 ejemplos:

Operadores aritméticos: Sirven para realizar operaciones aritméticas básicas. Los operadores aritméticos C siguen las reglas algebraicas típicas de jerarquía o prioridad. Estas reglas especifican la precedencia de las operaciones aritméticas.
Suma + Ejemplo: x+y
Resta - ejemplo: b-c
Producto * ejemplo: x*y

Operadores lógicos: Estos operadores se utilizan con expresiones para devolver un valor verdadero (cualquier distinto de 0) o un valor falso (0). Los operadores lógicos se denominan también operadores booleanos.

Operador Operación lógica Ejemplo
Negación (!) No lógica !(x >= y)
Y lógica(&&) Operando_1 && operando_2 m <> j
O lógica Operando_1 || operando_2 m =5 || n != 10

Operadores relacionales: Se usan normalmente en sentencias de selección (if) o de iteración (while, for), que sirven para comprobar una condición. Utilizando operadores relacionales se realizan operaciones de igualdad, desigualdad diferencias relativas.

Ejemplos: x<5.75,>=5.0*a*c, numero==100, inicial != ‘5’
Comparar x=3.1, x<7.5, produce 0.
Comparar x=27, x==100, produce 0.

2. Que son la reglas de prioridad y asociatividad?

La prioridad do precedencia de operadores determina el orden de en el que se aplican los operadores a un valor. Los operadores C vienen en una tabla con quince grupos. Los operadores del grupo 1 tienen mayor prioridad que los del grupo 2.
*Si dos operadores se aplican al mismo operando, e operador con mayor prioridad se aplica primero.
*Todos los operadores del mismo grupo tienen igual prioridad y asociatividad.
*La asociatividad izquierda-derecha significa aplicar el operador más a la izquierda primero, y en la asociatividad derecha-izquierda se aplica el operador más a la derecha.
*Los paréntesis tienen la máxima prioridad.

3. Proporcione un ejemplo de cada tipo de operador de asignación que existe y describa su función.

Símbolo Uso Descripción
= A=b Asigna el valor de b a a
*= A*=b Multiplica a por b y asigna el valor a la variable a
/= A/=b Divide a entre b y asigna el valor a la variable a
%= A%=b Fija a el resto de a/b
+= A+=b Suma b y a y lo asigna a la variable a
-= A-=b Resta b y a y lo asigna a la variable a.

4. Explique que son los operadores de incremento y decremento, proporcione 2 ejemplos de cada uno y su función.
Los operadores ++ y --, denominados de incrementación y decrementacion, suman o restan 1 a su argumento, respectivamente, cada vez que se aplican a una variable. Estos operadores tienen la propiedad de que pueden utilizarse como sufijo o prefijo, el resultado de la expresión puede ser distinto, dependiendo del contexto.
Incrementación Decrementacion
++n --n
n += 1 n -= 1
n= n+1 n= n-1

5. Enliste los operadores relacionales, proporcione un ejemplo y su función.
Operador Significado Ejemplo
== Igual a A==b
!= No igual a A!=b
> Mayor que a>b
< Menor que A>= Mayor o igual que a>=b
<= Menor o igual que a<=b

6. Construya las tablas de verdad de las operaciones and y or.

Tabla de operador lógico &&
Operandos
a b a&&b
Verdadero(1) Verdadero Verdadero
Verdadero(1) Falso Falso
Falso(0) Verdadero Falso
Falso(0) Falso Falso

Tabla del operador lógico ||
Operandos
a b a||b
Verdadero(1) Verdadero Verdadero
Verdadero(1) Falso Verdadero
Falso(0) Verdadero Verdadero
Falso(0) Falso Falso

7. Que es un operador de dirección. Cuales existen y explique su funcionamiento.

Son operadores que permiten las direcciones de las variables y registros en general.
Operador Acción
* Lee el valor de apuntado por la expresión. El operando corresponde con un puntero y el resultado del tipo apuntado.
& Devuelve un puntero al objeto utilizado como operando, que debe ser un lvalue(variable dotada de una dirección de memoria). El resultado es un puntero de tipo idéntico al del operando.
. Permite acceder a un miembro de un dato agregado(unión, estructura)
-> Accede a un miembro de un dato agregado (unión, estructura) apuntado por el operando de la izquierda.

8. Proporcione 3 ejemplos de operadores condicionales y explique su función.
Es un operador ternario que devuelve un resultado cuyo valor depende de la condición comprobada. Tiene asociatividad a derechas.
ventas>150000? Comisión=100: comisión=0; evalúa ventas para ver qué comisión se ejecuta.
n>= 0? 1:1 1 si n es positivo, -1 si n es negativo
m>=n? m:n devuelve el mayor valor de m y n

9. Proporciones 2 ejemplos que utilicen el operador coma y explique su función.
Permite combinar dos o más expresiones separadas por comas en una sola línea. Se evalúa primero la expresión de la izquierda y luego las restantes expresiones de izquierda a derecha. La expresión mas ala derecha determina el resultado global.
i++, j++; equivale a i++; j++;
i++; j++, k++; equivale a i++; j++; k++;
i=10; j=(i=12, i+8); y vale j vale 20 ya q la segunda i vale 12

10. Explique la función del operador corchete [] y proporcione 2 ejemplos.
Sirve para dimensionar las arrays y designar un elemento un array. Ejemplos:
double v[20] Define un array de 20 elementos
printf (“v[2]=%e”, v[2]);

11. A que se refiera a la conversión de tipos.
Con frecuencia se necesita convertir un valor de un tipo a otro sin cambiar el valor que representa. Las conversiones de tipos pueden ser implícitas (ejecutadas automáticamente) o explicitas (solicitadas específicamente por el programador).

12. Enliste los operadores con mayor grado de prioridad(al menos 4 niveles).
Prioridad Operadores Asociatividad
1 . -> [] () i-d
2 ++ -- ~ ! - + & sizeof (tipo) d-i
3 */ % i-d
4 + - i-d
5 << >> i-d
6 < <= > >= i-d
7 == != i-d
8 & i-d
9 ^ i-d
10 | i-d
11 && i-d
12 || i-d
13 ?: (expression conditional) i-d
14 = *= /= %= += -=
<<= >>= &= /= ^= i-d
15 , (operator coma) d-i

lunes, 30 de marzo de 2009

Cuestionario Capitulo 4- 3er PARCIAL

1. Defina los siguientes conceptos y proporciones al menos 3 ejemplos:
Operadores aritmeticos
Operadores logicos
Operasores relacionales

2. Que son la reglas de prioridad y asociatividad?
3. Proporcione un ejemplo de cada tipo de opèrador de asignacion que existe y describa su funcion.
4. Explique que son los operadores de incremento y decremento, proporcione 2 ejemplos de cada uno y su funcion.
5. Enliste los operadores relacionales, proporcione un ejemplo y su funcion.
6. Construya la tablas de verdad de la operaciones and y or.
7. Que es un operador de direccion. Cuales existen y explique su funcionamiento.
8. Proporcione 3 ejemlpos de operadores condicionales y su funcion.
9. Proporciones 2 ejemplos que utlicen el operador coma y explique su funcion.
10. Explique la funcion del operador corchete [] y proporcione 2 ejemplos.
11. A que se refiera ala conversion de tipos.
12. Enliste los operadores con mayor grado de prioridad(al menos 4 niveles).

jueves, 19 de marzo de 2009

Ejercicio de unidad 4

#include
int main()
{
int i;
i=5;
printf ("el valor de i es igual %d\n",i);
i*=10;
printf ("ahora el valor de i es %d",i);
}

Este programa primero declara una variable y despues le asigna un valor ala variable, despues muestra l valor de esta, siguiente multiplica la variable por 10 y muestra el nuevo valor de la variable.

jueves, 12 de marzo de 2009

Programas

3.1

Este programa llama a un archivo con informacion que ocupas.

3.2

Este programa muestra la palabra imprime la palabra atapuerca pro emite una copia..

3.3


Este micro programa aniliza datos y los compara para si tomar una decision de que operacion siguente se va hacer.




3.4















Emite un sonido y aqui no lo podemos oir x q no tngo bocinas ni drivers de sonido.

3.5
















Este te indica q introduzcas las iniciales tuyas y t muestra un letreto q dice "hola (tus iniciales)".


3.6



Este muestra mensajes definidos y etalbecidos y la parte de ellos que entre en l num de caracteres establecidos n el valor anteriror.

viernes, 6 de marzo de 2009

Ejercicios.


3.3





3.1






3.2



Primera parte del resumen del capitulo 3

CHAPTER 3

3.1 EXTRUCTURA GENERAL DE UN PROGRAMA EN C
Un programa en C se compone de una o mas funciones. una de las funciones debe ser obligatoriamente main. una funcion en c es un grupo de de instrucciones que realiza una o mas acciones.


3.1.1. Directivas del preprocesador
Es un programa en C se puede considerar como un editor de texto inteligente que consta de directivas (instrucciones al copilador antes de que se compile el programa principal). las directivas mas usuales son #include y #define.


3.1.2. Declaraciones globales
Las declaraciones globales indican al compilador que las funciones definidas por el usuario o variables asi declaradas son comunmente a todas las funciones de su programa. Las declaraciones globales se situan antes de la funcion main().


3.1.3. Funcion main
Cada programa main tiene una funcion main () que es el punto de entrada al programa. su estructura es main ().Las secuencias incluidas entre las llaves {...} se denomina bloque. Un programa debe tener solo una funcion main (). Si intenta hacer dos funciones main () se produce un error. ademas de la funcion main (), un programa en C consta de una coleccion de funciones.


3.1.4. Funciones de unidades por el usuario

Un programa en C es una coleccion de funciones. Todos los programas se construyen a traves de una o mas funciones que se integran para crear una aplicacion. todas las instrucciones tienen una o mas secuencias C y se crean generalmente para para realizar una unica tarea, como imprimir la pantalla, escribir un archivo, o cambiar el color de la pantalla.

3.1.5. Comentario
Es cualquier informacion que añade a su archivo fuente para proporcionar documentacion de cualquier tipo.


3.2 Creacion de un programa

Una vez un programa creado en C como el anterior; el anterior los pasos a dar dependeran del compilador C q se utilice. Sin embargo, seran similares para crear un programa se utilizan las siguientes etapas:
1. Definir su programa.

2. Definir directivas del procesador.
3. Definir declaraciones globales.
4. Crear main().
5. Crear el cuerpo del programa.
6. Crear sus propias funciones definidas por el usuario.
7. Compilar, enlazar, ejecutar y comprobar su programa.
8. utilizar comentarios.

3.4 Depuracion de un programa en C
el proceso de encontrar errores se denomina depuracion del programa. Existen diferentes situaciones en las cuales se suelen introducir errores en un programa. dos de las mas frecuentes son:
violacion de las reglas gramaticales del lenguaje de alto nivel en el que se escribe el programa.
los errores de diseño del algoritmo nn el que esta basado el programa.


3.4.1 Errores de sintaxis
son aquellos que se producen cuando el programa viola la sintaxis, es decir, las reglas de gramatica del lenguaje. estos errores se suelen detectar por el copilador durante un proceso de compilacion. algunos errores tipicos:
punto y coma despues de la cabecera de main().
omision de punto y coma al final de una sentencia.
olvido se la secuencia */ para finalizar un comentario.
olvido de las dobles comillas al cerrar una cadena.


3.4.2 errores logicos
representa errores del programa en el diseño del algoritmo y posterior programa. son mas dificiles de encontrar y aislar ya que no suelen ser detectado por el copilador.


3.4.3 errores de regresion
son aquellos que se crean accidentalmente cuando se intenta corregir un error logico


3.4.4 mensajes de error
los compiladores emiten mensajes de error o de advertencia durante las faces de copilacion, de enlace o de ejecucion de un programa.


errores fatales: son raros. algunos de ellos indican un error interno del copilador. cuando ocurre un erros fatal, la compilacion se detiene inmediatamente, se debe tomar la accion apropiada y a continuacion se vuelve a iniciar la compilacion.


errores de sintaxis: son los erres tipicos de sintaxis, errores de linea de ordenes y errores de acceso a memoria o disco. el compilador terminara la fase actua de compilacion y se detiene.


adevertencias: no impiden la compilacion. indican condiciones que son sospechas, pero son legitimas como parte del lenguaje.


3.5 pruebas
los errores de ejecución ocurren después que el programa se ha copilado con exito y aun se esta ejecutando. existen ciertos errores que la computadora solo puede detectar cuando se ejecuta el programa. los errores logicos pueden aparecer por un mal diseño de algoritmo y posterior programa. para determinar si un´programa contiene un error logico, se debe ejecutar utilizando datos de muestra y comprobar la salida verificando su exactitud. esta prueba se debe hacer varias veces utilizando diferentes entradas, preparadas, por personas diferentes al programador, que pueden indicar suposiciones no evidentes en la leccion de prueba, una vez que se ha determinado que un programa contiene un error logico, la localizacion del error es una de las partes mas dificiles de la programacion.