jueves, 23 de abril de 2009

ejercicio en clase

23/04/09
ejercicio con numeros y un menu


lunes, 20 de abril de 2009

ejercicio

20/04/09


#include
int main ()
{
int opcion;
printf("* * * * * * * * * * * * * *\n");
printf("* *\n");
printf("* menu principal *\n");
printf("* *\n");
printf("* suma ------------ [1] *\n");
printf("* resta ----------- [2] *\n");
printf("* multiplicacion ---[3] *\n");
printf("* salir ----------- [0] *\n");
printf("* *\n");
printf("* * * * * * * * * * * * * * \n");
printf("dame la opcion:");
scanf("%d",&opcion);
switch (opcion)
{
case 1: puts("suma...");
break;
case 2: puts("resta...");
break;
case 3: puts("multiplicacion...");
break;
case 0: puts("salir...");
default: printf(" salir");
}
return 0;
}





martes, 14 de abril de 2009

resumen capitulo 5

estructuras de seleccion: sentecias if y switch


5.1 estucturas de control

controlan el flujo de ejecucion de un progama o funcion. las estructuras de control permiten cambiar instruciones o sentencias individuales en una simple unidad logica con un punto de estrada y un punto de salida.
se organizan en tes tipos de estructuras de ocntrol que sirven para constolar el fljo de la ejecucion:
  • secuencia
  • seleccion (desicion)
  • epeticion

5.2 la sentecia if

la estructura de control de seleccion principal es una sentencia if. la sentecia if tiene dos alternativas o formas positivas.

la sentencia is funciona de la siguiente manera. cuando se alcanza la sentencia if dentro de un programa, se evalua la expesion entre paentesis que viene a continuaciion de if. si expresion es verdadea, se ejecuta accion, en caso contrairo no se ejecuta accion (en su formato mas simple, accion es una sentencia simple y en los restantes formatos es una sentencia compuesta). en cualquier caso la ejecucion del programa continua con la siguiente sentencia del programa.

5.3 senetecia if de dos alternativas: if - else

un segundo formato de la sentecia if es la sentencia if-else. este fomato de la sentecia if tiene la siguiente sintaxis:

if (expesion) accion1 else accion2

if: expresion logica que determina la accion a ajecuta.

accion1: que se realiza si la expresion logica es verdadea.

accion2: que se ejecuta si la expresion logica es falsa.

este formato accion1 y accion2 son individualmente, o bien una unica sentencia que termina en un punto y coma (;) o un grupo de sentencias encerrado entre llaves. cuando se ejecuta la sentencia if-else, se evalua expesion. si expesion es verdadea, se ejecuta accion1 y en caso contrario se ejecuta la accion2.

5.4 sentencias if-else anidadas

hasta ente punto, las sentencias if implementan decisiones que implican una o dos alternaivas. en esta seccion, se mostrara comom se puede utilizar la sentencia if paa implementar decisiones que implique diferentes alternativas.

una sentencia if es anidada cuando la sentencia de la rama verdadera o la ama flasa es a su vez una sentencia if. una sentencia if anidada e puede utiliza para implementar decisiones con varias alternativas o multi-alternativas.

5.4.1 sangria en las sentencias if anidadas

el formato multibifurcacion se compone de una seie de sentecnias if anidadas, en cada linea se puede escribirr un sentencia if.

5.4.2 comparacion de sentencias if anidadas y secuencias de sentencias if

los programas tienen dos alternativas: 1) usar una secuencia if; 2) una unica sentencia if anidada. aunque la secuencia anteior es logicamente equivalente a la orriginal, no es tan legible ni eficiente. al contrario que la sentencia if anidada, la secuencia no muestra claamente cual es la sentencia a ejecutar para un valor determinado de x. con respectpo a la eficiencia, la sentencias if anidada se ejecuta mas rapidamente cuando x es positivo ya que la primera condicion (x>0) es verdadera. lo que significa que la parte de la sentencia if a continuacion del pimer else se salta.

5.5 sentencia de control switch

la sentencia switch es una sentencia C que se utiliza para seleccion una de ente multiples alternativas. especialemente itul cuando la seleccion se basa en el valor de una variable simple o de una expesion denominada expesion de control o selecto. el valor de esta expresion puede se de tipo int o cha, pero no de tipo loat ni double.

esta permitido e¡tener vaias expresiones case en una alternativa dada de la sentencia switch.

la sentencia if-else es mas vesatil que la sentencias switch y se puede utilizar unas sentencias if-else anidadas o multidecision, en cualquier parte que se utilice una sentencia case. sin embargo, normalmente la sentencia switch es mas cla.

5.6 expresiones condicionales: el opeador ?:

las sentencias de seleccion consideradas hasta ahora, son similares a las sentencias previstas en otro lenguaje, tales como pascal y fortan 90. C tiene tecar mecanismo de seleccion, una epresion que produce uno de dos calores, resultados de una expresion logica o booleana. este mecanismo epesion condicional. una expresion condicional tiene el formato c ? A : B y es realmente una opeacion tenaria en el que C, A y B son los tres operadores y ? : es el operador.

5.7 evaluacion en cortocircuito de expresiones logicas

cuando se evalua expresiones logicas en C se emplea una tecnica denominada evaluacion en cortocircuito. este tipoo de evaluacion significa que se puede detene la evaluacion de una expesion logica tan pornto como su valor pueda ser determinado con absoluta ceteza.

la razon es que una expresion logica del tipo falso && (...)

debe se siempre falsa, cuando uno de los operadores de la opeacion and es falso. en consecuencia no hay necesidad de continuar la evaluacion de las otras condiciones cuando (soltero == `s`) se evalua a falso.

C realiza evaluacion en cortocircuito con los operadores && o bien por //, de modo que evalua primeo la expesion mas a la izquieda de las dos expresiones unidas por && o bien por //. si de esta evaluacion se deduce la informacion suficiente paa determinar el valor final de la expesion, el compilador C no evalua la segunda expresion.

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.

ejercicios de 5.1 a 5.10

5.1
#include
int main ()
{
int n, d;
printf ( "Introduzca dos enteros: ");
scanf("%d %d",&n,&d);if (n%d == 0)
printf(" %d es divisible por %d\n",n,d);
return 0;
}

5.2
#include
void main ()
{
float nota;
printf("Introduzca la nota obtenida (0-10): ");
scanf("%f", &nota);
/* compara Nota con 5 */if (nota >= 5)
puts("Aprobado");
}


5.3
#include
void main (){ float numero;
printf("Introduzca un numero positivo o negativo: ");
scanf("%f",&numero); /* comparar numero */if (numero > 0)
printf("%f es mayor que cero\n",numero);
if (numero < 0)
printf("%f es menor que cero\n",numero);
if (numero == 0) printf("%f es igual a cero\n",numero);
}


5.4
#include
int main()
{
int n, d;
printf( "Introduzca dos enteros; ");
scanf("%D %d",&n,&d);if (n%d == 0)
printf("%d es divisible por %d\n",n,d);
else printf("%d no es divisible por %d\n",n,d);
return 0;
}


5.5
#include
int main()
{
int x, y;
printf( "Introduzca dos enteros: ");
scanf("%d %d",&x,&y);if (x > y)
printf("%6d\n",x);
else printf("%6d\n",y);
return 0;
}


5.6
#include
#include int
main()
{
float f,x;
printf("\n Elige un valor de x: ");
scanf("%f",&x);
/* seleccion del rango en que se encuentra x */if (x <= 0.0) f = pow(x,2) - x;
else f = -pow(x,2) + 3*x;
printf("f(%.1f) = %.3f",x,f);
return 0;
}



5.8
#include
void main()
{
float numero;
printf( " Introduzca un numero positivo o negativo: ");
scanf("%f",&numero); /* comparar numero con cero */if (numero > 0){printf("%.2f %s", numero, "es mayor que cero\n");
puts( "Pruebe de nuevo introduciendo un numero negativo");
}
else if (numero <10)
{
printf("%.2f %s", numero, "es menor que cero\n");
puts( "pruebe de nuevo introduciendo un numero positivo");
}
else{printf("%.2f %s", numero, "es igual a cero\n");
puts( " ¿por que no introduce otro numero? ");
}
}



5.10
#include
int main()
{
int a, b, c, mayor;
printf("\nIntroduzca tres enteros:");
scanf("%d %d %d",&a,&b,&c);if (a > b)if (a > c) mayor =a;
else mayor =c;elseif (b > c) mayor =b;
else mayor =c;
printf("El mayor es %d \n",mayor);
return 0;
}

lunes, 30 de marzo de 2009

cuestionario pag. 140-167Prop

30/03/09

1. Defina los sig. conceptos y proporcione al menos tres ejemplos:
  1. operadores aritmeticos:
  2. operadores logicos:
  3. operadores relacionales:

2. Que son las reglas de prioridad y asociatividad:

3. Proporcione un ejemplo de cada tipo de operador de asignacion que existe y descriva su funcion:

4. Explique que son los operadores de incremento y decremento, proporcione dos ejemplos de cada uno y su funcion:

5. Liste los operadores relacionales, porporcione un ejemplo y su funcion:

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

7. Qué es un operador de dirección. Cuáles existen y emplique su funcionamiento.

8. Proporcione tres ejemplos de operadores condicionales y su función.

9. Porporcione dos ejemplos que utilice el operador(,) y explique su función.

10. Explique la función del opeador [] y porporciones dos ejemplos.

11. Aque se refiere al convercion de tipos de datos.

12. Liste los operadores con mayor grado de priopidad (al menos cuatro niveles).

viernes, 27 de marzo de 2009

jueves, 19 de marzo de 2009

ejercicio dibujo

19/03/09


ejercicio

19/03/09


aqui se nota que podemos hacer reduccion cuando estamos multiplicando por ejemplo i=i*10 y tambien se puede escriver asi i*=10
esto al final resulta lo mismo y se imprime lo mismo.

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

miércoles, 11 de marzo de 2009

ejercicios notas

11/03/09

nota: este programa nomas declara atapuerta y lo imprime.

#include
int main()
{
char mensaje[20];
strcpy (mensaje, "atapuerta\n");
printf(mensaje);
return 0;
}


nota: este programa imprime tambor de hojalata y tambien todo puede hacerse y permiso para salir en la foto. el puts se utiliza para insertar diferentes entradas.

#
#define T "tambor de hojalata."
int main()
{
char st[21]="Todo puede hacerse.";
puts(T);
puts("permiso para salir en la foto");
puts(st);
puts(&st[8]);
return 0;
}


nota: este programa nomas saca los valores e imprime los resultados de x y y1

#include
int main (){
int x, y1;x = 75;
y1 = 89;
if (x > 10);
{
int y2 = 50;
y1 = y1+y2;
}
printf("x = %d, y1 = %d\n", x,y1);
return 0;
}



nota: ente programa imprimes las primeras dos iniciales de una palabra. separandolos de un espacio y u punto.

#include
int main()
{
char primero, ultimo;
printf("introdusca su primera y ultima inicial:");
scanf("%c %c", &primero,&ultimo);
printf("hola, %c . %c .\n", primero,ultimo);
return 0;
}



nota: se declara la variable sonido pero como el sonido no se escrive pues lo imprime el blanco.

#include
int main()
{
char sonidos = '\a';
char bs = '\b';
printf ("%c%c", sonidos, sonidos);
printf ("ZZ");
printf ("%c%c",bs,bs);
return 0;
}

ejercicios

11/03/09