Lenguaje C Bucles, Condicionales, operadores y Algoritmos - Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) ...
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
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",÷ndo); 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