Lenguaje C Bucles, Condicionales, operadores y Algoritmos - Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) ...

Página creada Sebastian Gació
 
SEGUIR LEYENDO
Lenguaje C Bucles, Condicionales, operadores y Algoritmos - Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) ...
Lenguaje C
Bucles, Condicionales, operadores y
Algoritmos.
 Omar Andrés Zapata Mesa
 Grupo de Fenomenología de
 Interacciones Fundamentales,
 (Gfif)
 Universidad de Antioquia
Operadores

 Los  operadores son aquellos elementos del
  lenguaje     que    nos     permiten      hacer
  asignaciones, operaciones matemáticas y
  comparación lógica.
 Se clasifican según la cantidad de términos a
  operar como unarios, binarios y terciarios.
 Los operadores son comúnmente usados en
  conjunto con los bucles y los condicionales
  para controlar el flujo de información en el
  programa.
Operadores Aritméticos

Operador     Propósito          Tipo
x++          Post incremento    Unario
++x          Pre incremento     Unario
x--          Post decremento    Unario
--x          Pre decremento     Unario
a-b          Resta o cambio a   Binario
-a           negativo           Unario
a*b          Multiplicacion     Binario
a/b          Division           Binario
a%b          Modulo             Binario
a+b          Suma               Binario
Operadores de Asignación.
  Operador   Proposito             Tipo

  =          Iguala                Binario

  -=         Resta e iguala        Binario

  +=         Suma e iguala         Binario

  /=         Divide e iguala       Binario

  *=         Multiplica e iguala   Binario

  %=         Saca el modulo e      Binario
             iguala
Operadores Lógicos
 Operador   Proposito     Tipo
 >          Mayor que     Binario
 <          Menor que     Binario
 >=         Mayor Igual   Binario
Otros Operadores

Operador       Proposito              Tipo

*x             Puntero a memoria      Unario

&x             Referencia a memoria   Unario

[]             Indice                 Unario

sizeof         Capacida               Unario

()             Llmado a funcion o     Unario
               casting
?:             Condicional            Terciario
Condicionales

Los     condicionales    son     aquellas
expresiones encargadas de controlar el
flujo de información en el programa, a
través de operaciones lógicas.
C soporta los siguientes condicionales:
if Evalúa si una expresión lógica o
aritmética es falsa o verdadera para
acceder a un segmento de código.
Condicionales

else    se usa en conjunto con if
(anidado), para tomar una acción en
caso de no cumplir con el primer
condicional.
switch (casos) se usa para tomar
acciones diferentes de acuerdo al
parámetro, se usa en conjunto con
sentencias como case, default y break
Ejemplos Condicionales
   #include 

   int main()
   {
       float dividendo,divisor;

        printf ("Dime el dividendo:\n");
        // scanf se usa para obtener datos desde el teclado
        scanf ("%f",&dividendo);
        printf ("Dime el divisor:\n");
        scanf ("%f",&divisor);
        if (divisor==0)
              printf ("\nNo podemos dividir un número por 0\n");
        else
              printf ("El resultado es: %f\n",dividendo/divisor);
   }
Ejemplos Condicionales
 #include                     switch (opcion){
 //para la función exit stdlib.h      case 1:{/* Código para cargar fichero de
                                      datos*/
 #include                      printf("\"Se cargo el fichero de datos\"\n");
 int main()                               break; }
 {                                    case 2:{ /* Código para almacenar datos */
 int opcion;                              printf("\"Se guardo el fichero de
 printf ("\nEjemplo de Menú de        datos\"\n");
                                          break; }
 Programa");                          case 3:{ /* Código para modificar datos */
 printf ("\n1.-Cargar fichero de          printf("\"Se modifico el fichero de
 datos");                             datos\"\n");
 printf ("\n2.-Almacenar fichero de       break; }
 datos");                             case 4:{ /* Salir del programa */
                                          printf("\"Saliendo del programa\"\n");
 printf ("\n3.-Modificar datos");         exit (0); }
 printf ("\n4.-Salir");               default :{
 printf ("\n\nDime tu opción :");          printf ("\nSu opción no está disponible");
 scanf ("%d",&opcion);                     printf ("\nCorra de nuevo e intente con
                                      otra.\n");
                                       }}}
Bucles
Los bucles son instrucciones que nos
permiten hacer tareas que deben ser
repetitivas o iterativas
C cuenta con los siguientes tipos de
sentencias para los bucles:
while (mientras), encargado de repetir
segmentos de código mientras una condición
esta dada.
do while es un ciclo anidado usado
principalmente para indicar que haga la
operación a priori y después valide si continua
o no.
Bucles

for (para), permite hacer iteraciones
controladas determinando cuanto incrementar
o disminuye un valor y poniendo una
condición de ruptura.
break se usa comúnmente con while, para
indicar el rompimiento del ciclo.
continue funciona de forma algo similar a
break, solo que en vez de terminar omite el
código que sigue desde el punto en que es
llamado y pasa a evaluar la condición
directamente.
Ejemplos Bucles
#include 

int main()
{
int i;
int tabla1,tabla2;

tabla1 = 2; /* Primero la tabla del dos */
tabla2 = 5; /* y a continuación la tabla del cinco*/
//analizar con i-- y hacer para que avance de a dos
for (i=1;i
Ejemplos Bucles
#include 

int main()
{
int numero=1;
int salida=0;
//probar con bucle infinito y rompimiento break
while (numero!=salida)
     {
      printf ("\nAdivina cual es el numero para salirme entre [-10:10 ]:");
      scanf ("%d",&numero);
      if((numero>10)&&(numero
goto y etiquetas

goto es una sentencia que indica al programa
ir hasta determinado punto indicado por una
etiqueta. La etiqueta es solo una señal dejada
en el programa para indicar un punto
estratégico
Los programadores avanzados sugieren que
goto y el sistema de etiquetas no se debería
usar, debido a que hace ilegible el programa,
además C cuenta con una serie de sentencias
como break y continue que son necesarias
para hacer un código bien diseñado.
Ejemplo goto
   #include 
   int main(){
     int n, a=0;
     do{
       printf( "Introduzca un numero entero: " );
       scanf( "%d", &n );
       if ( n == 0 ){
        printf( "ERROR: El cero no tiene opuesto.\n" );
        goto etiqueta_1;/* En el caso de que n sea un cero, el control de
                    programa salta a la primera instrucción después de
                    etiqueta_1. */
       }
       printf( "El opuesto es: %d\n", -n );
       a += n;
     } while ( n >= -10 && n
Pruebas de escritorio

La prueba de escritorio consiste en hacer del
algoritmo general una pequeña parte para
verificar la consistencia del mismo.
Las pruebas de escritorio se suelen hacer en
tablas que contengan         las variables más
sobresalientes del código y partir de algunos
supuestos iniciales como valores iniciales del
código para hacer un seguimiento.
Ejercicio

  Hacerun programa en c que me pida un
   número y me le haga la sumatoria.

  Hacer  una prueba de escritorio con una
   tabla de valores donde se verifique que
   el algoritmo funciona.
Solución

  #include 
  int main(){
    int n, a=0,i;
    printf( "Introduzca un numero entero mayor que cero:");
    scanf( "%d", &n );
      if ( n
Prueba de escritorio
 i                    a

 0                    0

 1                    1

 2                    3

 3                    6

 Nota: el supuesto fue n=3
Ejercicios

  Usando    tipos de datos static, register y
   volatile, probar los bucles.
  Hacer un programa que calcule la
   productoria de un número.
  Hacer un programa que calcule el
   factorial de un número.
  Hacer un programa que calcule los
   numero primos hasta un número dado
   por línea de comando.
Tarea

  ¿Qué son las funciones?
  ¿Qué son funciones recursivas?
  ¿Qué es el prototipo de una función?
Referencias
  http://es.wikipedia.org/wiki/Operadores_de_C_y_C%2B%2B
  http://www.gratiszona.com/apuntes/lenguaje_c/04_operadores.htm
  http://www.ulpgc.es/otros/tutoriales/mtutor/mt2c.html
  http://www.carlospes.com/curso_de_lenguaje_c/04_03_inst
   ruccion_goto.php
También puede leer