Estructuras de control
|
|
|
- Gonzalo Raúl San Segundo Alvarado
- hace 10 años
- Vistas:
Transcripción
1 Estructuras de control Programación estructurada Estructuras condicionales La sentencia if La cláusula else Encadenamiento y anidamiento El operador condicional?: La sentencia switch Estructuras repetitivas/iterativas El bucle while El bucle for El bucle do while Bucles anidados Cuestiones de estilo Vectores y matrices Algoritmos de ordenación Algoritmos de búsqueda Las estructuras de control controlan la ejecución de las instrucciones de un programa
2 Programación estructurada IDEA CENTRAL: Las estructuras de control de un programa sólo deben tener un punto de entrada y un punto de salida. La programación estructurada... mejora la productividad de los programadores. mejora la legibilidad del código resultante. La ejecución de un programa estructurado progresa disciplinadamente, en vez de saltar de un sitio a otro de forma impredecible Gracias a ello, los programas resultan más fáciles de probar se pueden depurar más fácilmente se pueden modificar con mayor comodidad Estructuras de control - C Fernando Berzal
3 En programación estructurada sólo se emplean tres construcciones: Secuencia Conjunto de sentencias que se ejecutan en orden Ejemplos: Sentencias de asignación y llamadas a rutinas. Selección Elige qué sentencias se ejecutan en función de una condición. Ejemplos: Estructuras de control condicional if-then-else y case/switch Iteración Las estructuras de control repetitivas repiten conjuntos de instrucciones. Ejemplos: Bucles while, do...while y for. Teorema de Böhm y Jacopini (1966): Cualquier programa de ordenador puede diseñarse e implementarse utilizando únicamente las tres construcciones estructuradas (secuencia, selección e iteración; esto es, sin sentencias goto). Böhm, C. & Jacopini, G.: Flow diagrams, Turing machines, and languages only with two formation rules. Communications of the ACM, 1966, Vol. 9, No. 5, pp Dijkstra, E.W.: Goto statement considered harmful. Communications of the ACM, 1968, Vol. 11, No. 3, pp Estructuras de control - C Fernando Berzal
4 Estructuras de control condicionales Por defecto, las instrucciones de un programa se ejecutan secuencialmente: El orden secuencial de ejecución no altera el flujo de control del programa respecto al orden de escritura de las instrucciones. Sin embargo, al describir la resolución de un problema, es normal que tengamos que tener en cuenta condiciones que influyen sobre la secuencia de pasos que hay que dar para resolver el problema: Según se cumplan o no determinadas condiciones, la secuencia de pasos involucrada en la realización de una tarea será diferente Las estructuras de control condicionales o selectivas nos permiten decidir qué ejecutar y qué no en un programa. Ejemplo típico Realizar una división sólo si el divisor es distinto de cero. Estructuras de control - C Fernando Berzal
5 La estructura de control condicional if La sentencia if nos permite elegir si se ejecuta o no un bloque de instrucciones. Condición_1 Cierta Cierta Condición_2 Falsa Falsa Bloque_1 Bloque_3 Bloque_ Bloque_2 Bloque_5 SI ENTONCES SI ENTONCES SINO Sintaxis if (condición) sentencia; if (condición) bloque donde bloque representa un bloque de instrucciones. Bloque de instrucciones: Secuencia de instrucciones encerradas entre dos llaves... Estructuras de control - C Fernando Berzal
6 Consideraciones acerca del uso de la sentencia if - Olvidar los paréntesis al poner la condición del if es un error sintáctico (los paréntesis son necesarios) - Confundir el operador de comparación == con el operador de asignación = puede producir errores inesperados - Los operadores de comparación ==,!=, <= y >= han de escribirse sin espacios. - => y =< no son operadores válidos en C. - El fragmento de código afectado por la condición del if debe sangrarse para que visualmente se interprete correctamente el ámbito de la sentencia if: if (condición) // Aquí se incluye el código // que ha de ejecutarse sólo // si se cumple la condición del if // (sangrado para que se vea dónde // empieza y dónde acaba el if) Error común: if (condición); sentencia; es interpretado como if (condición) ; // Sentencia vacía sentencia; La sentencia siempre se ejecutaría!!! Estructuras de control - C Fernando Berzal
7 Ejemplo Decir si un número es positivo #include <stdio.h> int main (int argc, char *argv[]) int x; printf( Déme un numero ); scanf( %d,&x); if (x>0) printf( El numero %d es positivo,x); return 0; Estructuras de control - C Fernando Berzal
8 La cláusula else Una sentencia if, cuando incluye la cláusula else, permite ejecutar un bloque de código si se cumple la condición y otro bloque de código diferente si la condición no se cumple. Condición_1 Cierta Cierta Condición_2 Falsa Falsa Bloque_1 Bloque_3 Bloque_4 Bloque_2 Bloque_5 SI ENTONCES SI ENTONCES SINO Sintaxis if (condición) sentencia1; else sentencia2; if (condición) bloque1 else bloque2 Los bloques de código especificados representan dos alternativas complementarias y excluyentes Estructuras de control - C Fernando Berzal
9 Ejemplo Decir si un número es positivo o negativo #include <stdio.h> void main () int x; printf( Déme un numero: ); scanf( %d,&x); if (x>=0) printf( El numero %d es positivo, x); else printf( El numero %d es negativo, x); La sentencia if anterior es equivalente a if (x>=0) printf( El numero %d es positivo, x); if (x<0) // Condición complementaria a x>=0 printf( El numero %d es negativo, x); si bien nos ahorramos comprobar una condición al usar else. Estructuras de control - C Fernando Berzal
10 Encadenamiento Las sentencias if se suelen encadenar: if else if #include <stdio.h> void main () float nota; printf( Déme una nota: ); scanf( %f,¬a); if (nota>=9) printf( Sobresaliente ); else if (nota>=7) printf( Notable ); else if (nota>=5) printf( Aprobado ); else printf( Suspenso ); El if encadenado anterior equivale a: if (nota>=9) printf( Sobresaliente ); if ((nota>=7) && (nota<9)) printf( Notable ); if ((nota>=5) && (nota<7)) printf( Aprobado ); if (nota<5) printf( Suspenso ); Estructuras de control - C Fernando Berzal
11 Anidamiento Las sentencias if también se pueden anidar unas dentro de otras. Ejemplo Resolución de una ecuación de primer grado ax+b = 0 #include <stdio.h> void main() float a,b; printf( Coeficientes de la ecuación ax+b=0: ); scanf ( %f %f,&a,&b); if (a!=0) printf( La solución es %f, -b/a); else if (b!=0) printf( La ecuación no tiene solución. ); else printf( Solución indeterminada. ); El if anidado anterior equivale a if (a!=0) printf( La solución es %f, -b/a); if ((a==0) && (b!=0)) printf( La ecuación no tiene solución. ); if ((a==0) && (b==0)) printf( Solución indeterminada. ); En este caso, se realizarían 5 comparaciones en vez de 2. Estructuras de control - C Fernando Berzal
12 El operador condicional?: C proporciona una forma de abreviar una sentencia if El operador condicional?: permite incluir una condición dentro de una expresión. Sintaxis condición? expresión1: expresión2 equivale a if (condición) expresión1 else expresión2 Sólo se evalúa una de las sentencias, por lo que deberemos ser cuidadosos con los efectos colaterales. Ejemplos max = (x>y)? x : y; min = (x<y)? x : y; med = (x<y)? ((y<z)? y: ((z<x)? x: z)): ((x<z)? x: ((z<y)? y: z)); Estructuras de control - C Fernando Berzal
13 Selección múltiple con la sentencia switch Permite seleccionar entre varias alternativas posibles Sintaxis switch (expresión) case expr_cte1: sentencia1; case expr_cte2: sentencia2;... case expr_cten: sentencian; default: sentencia; Se selecciona a partir de la evaluación de una única expresión. La expresión del switch ha de ser de tipo entero. Los valores de cada caso del switch han de ser constantes. La etiqueta default marca el bloque de código que se ejecuta por defecto (cuando al evaluar la expresión se obtiene un valor no especificado por los casos del switch). En C, se ejecutan todas las sentencias incluidas a partir del caso correspondiente, salvo que explícitamente usemos break: switch (expresión) case expr_cte1: sentencia1; break; case expr_cte2: case expr_cte3: sentencian; switch (expresión) case expr_cte1: sentencia1; break; case expr_cte2: sentencia2; break; default: sentencia; Estructuras de control - C Fernando Berzal
14 Ejemplo #include <stdio.h> void main() int nota; printf( Calificación: ); scanf( %d, ¬a); switch (nota) case 0: case 1: case 2: case 3: case 4: printf( Suspenso ); break; case 5: case 6: printf( Aprobado ); break; case 7: case 8: printf( Notable ); break; case 9: printf( Sobresaliente ); break; case 10: printf( Matrícula ); break; default: printf( Error ); Si trabajamos con datos de tipo real, tendremos que usar sentencias if encadenadas. Estructuras de control Fernando Berzal
15 Estructuras de control repetitivas/iterativas A menudo es necesario ejecutar una instrucción o un bloque de instrucciones más de una vez. Ejemplo Implementar un programa que calcule la suma de N números leídos desde teclado. Podríamos escribir un programa en el que apareciese repetido el código que deseamos que se ejecute varias veces, pero ß Nuestro programa podría ser demasiado largo. ß Gran parte del código del programa estaría duplicado, lo que dificultaría su mantenimiento en caso de que tuviésemos que hacer cualquier cambio, por trivial que fuese éste. ß Una vez escrito el programa para un número determinado de repeticiones (p.ej. sumar matrices 3x3), el mismo programa no podríamos reutilizarlo si necesitásemos realizar un número distinto de operaciones (p.ej. matrices 4x4). Las estructuras de control repetitivas o iterativas, también conocidas como bucles, nos permiten resolver de forma elegante este tipo de problemas. Algunas podemos usarlas cuando conocemos el número de veces que deben repetirse las operaciones. Otras nos permiten repetir un conjunto de operaciones mientras se cumpla una condición. Iteración: Cada repetición de las instrucciones de un bucle. Estructuras de control - C Fernando Berzal
16 El bucle while while (condición) sentencia; while (condición) bloque Condición Sí Bloque No MUY IMPORTANTE En el cuerpo del bucle debe existir algo que haga variar el valor asociado a la condición que gobierna la ejecución del bucle. Estructuras de control - C Fernando Berzal
17 Ejemplo Tabla de multiplicar de un número #include <stdio.h> void main () int n, i; printf ( Introduzca un número: ); scanf ( %d, &n); i=0; // Inicialización del contador while (i<=10) printf ( %d x %d = %d\n, n, i, n*i); i++; Ejemplo Divisores de un número #include <stdio.h> void main () int n; int divisor; printf ( Introduzca un número: ); scanf ( %d, &n); printf ( Los divisores del número son:\n ); divisor = n; while (divisor>0) if ((n%divisor) == 0) printf ( %d\n, divisor); divisor--; Estructuras de control - C Fernando Berzal
18 Ejemplo Suma de N números #include <stdio.h> void main() int total; // Número de datos double suma; // Suma de los datos double n; // Número leído desde el teclado int i; // Contador printf ( Número total de datos: ); scanf ( %d,&total); suma = 0; // Inicialización de la suma i = 0; // Inicialización del contador while (i<total) printf ( Dato %d:, i); scanf ( %lf,&n); suma = suma + n; i++; printf ( Suma total = %lf\n, suma); Tal como está implementado el programa, fácilmente podríamos calcular la media de los datos (suma/total). EJERCICIO Ampliar el programa anterior para que, además de la suma y de la media, nos calcule también el máximo, el mínimo, la varianza y la desviación típica de los datos. Pista: La varianza se puede calcular a partir de la suma de los cuadrados de los datos. Estructuras de control - C Fernando Berzal
19 En los ejemplos anteriores se conoce de antemano el número de iteraciones que han de realizarse (cuántas veces se debe ejecutar el bucle): En este caso, la expresión del while se convierte en una simple comprobación del valor de una variable contador (una variable que se incrementa o decrementa en cada iteración y nos permite contabilizar la iteración en la que nos encontramos). En otras ocasiones, puede que no conozcamos de antemano cuántas iteraciones se han de realizar. Ejemplo Sumar una serie de números hasta que el usuario introduzca un cero #include <stdio.h> void main() double suma; double n; // Suma de los datos // Número leído desde el teclado suma = 0; // Inicialización de la suma printf ( Introduzca un número (0 para terminar): ); scanf ( %lf, &n); while (n!=0) suma = suma + n; printf ( Introduzca un número (0 para terminar): ); scanf ( %lf, &n); printf ( Suma total = %lf\n, suma); El valor introducido determina si se termina o no la ejecución del bucle. Estructuras de control - C Fernando Berzal
20 El bucle for Se suele emplear en sustitución del bucle while cuando se conoce el número de iteraciones que hay que realizar. Sintaxis for (exp1; exp2; exp3) bloque; Equivalencia entre for y while for (expr1; expr2; expr3) bloque; equivale a expr1; while (expr2) bloque; expr3; Estructuras de control - C Fernando Berzal
21 Ejemplo Cálculo del factorial de un número Bucle for #include <stdio.h> void main() long i, n, factorial; printf ("Introduzca un número: "); scanf ("%ld", &n); factorial = 1; for (i=1; i<=n; i++) factorial *= i; printf ("factorial(%ld) = %ld", n, factorial); Bucle while #include <stdio.h> void main() long i, n, factorial; printf ("Introduzca un número: "); scanf ("%ld", &n); factorial = 1; i = 1; while (i<=n) factorial *= i; i++; printf ("factorial(%ld) = %ld", n, factorial); Estructuras de control - C Fernando Berzal
22 for (expr1; expr2; expr3) bloque; En un bucle for La primera expresión, expr1, suele contener inicializaciones de variables separadas por comas. En especial, siempre aparecerá la inicialización de la variable que hace de contador. Las instrucciones que se encuentran en esta parte del for sólo se ejecutarán una vez antes de la primera ejecución del cuerpo del bucle (bloque). La segunda expresión, expr2, es la que contiene una expresión booleana (la que aparecería en la condición del bucle while equivalente para controlae la ejecución del cuerpo del bucle). La tercera expresión, expr3, contiene las instrucciones, separadas por comas, que se deben ejecutar al finalizar cada iteración del bucle (p.ej. el incremento/decremento de la variable contador). El bloque de instrucciones bloque es el ámbito del bucle (el bloque de instrucciones que se ejecuta en cada iteración). Estructuras de control - C Fernando Berzal
23 Cabecera del bucle for (i=0; i<n; i++) Número de iteraciones N for (i=0; i<=n; i++) N+1 for (i=k; i<n; i++) for (i=n; i>0; i--) N-k N for (i=n; i>=0; i--) N+1 for (i=n; i>k; i--) for (i=0; i<n; i+=k) for (i=j; i<n; i+=k) for (i=1; i<n; i*=2) for (i=0; i<n; i*=2) N-k N/k (N-j)/k log 2 N for (i=n; i>0; i/=2) log 2 N + 1 suponiendo que N y k sean enteros positivos Bucles infinitos Un bucle infinito es un bucle que se repite infinitas veces: for (;;) while (1) /*bucle infinito*/ /*bucle infinito*/ Si nunca deja de cumplirse la condición del bucle, nuestro programa se quedará indefinidamente ejecutando el cuerpo del bucle, sin llegar a salir de él. Estructuras de control - C Fernando Berzal
24 El bucle do while Tipo de bucle, similar al while, que realiza la comprobación de la condición después de ejecutar el cuerpo del bucle. Sintaxis do sentencia; while (condición); do bloque while (condición); El bloque de instrucciones se ejecuta al menos una vez. Especialmente indicado para validar datos de entrada (comprobar que los valores obtenidos están dentro del rango de valores esperados). Estructuras de control - C Fernando Berzal
25 Ejemplo Cálculo del factorial comprobando el valor del dato de entrada #include <stdio.h> void main() long i, n, factorial; do printf ("Introduzca un número (entre 1 y 12): "); scanf ("%ld", &n); while ((n<1) (n>12)); factorial = 1; for (i=1; i<=n; i++) factorial *= i; printf ("factorial(%ld) = %ld", n, factorial); IMPORTANTE En todos nuestros programas debemos asegurarnos de que se obtienen datos de entrada válidos antes de realizar cualquier tipo de operación con ellos. Estructuras de control - C Fernando Berzal
26 Ejemplo Cálculo de la raíz cuadrada de un número #include <stdio.h> #include <math.h> void main() // Declaración de variables double n; // Número real double r; // Raíz cuadrada del número double prev; // Aproximación previa de la raíz // Entrada de datos do printf("introduzca un número positivo: "); scanf("%lf", &n); while (n<0); // Cálculo de la raíz cuadrada r = n/2; do prev = r; r = (r+n/r)/2; while (fabs(r-prev) > 1e-6); // Resultado printf("la raíz cuadrada de %lf es %lf", n, r); NOTA: La función abs nos da el valor absoluto de un númeo entero. Para trabajar con reales hemos de usar fabs. Estructuras de control - C Fernando Berzal
27 Bucles anidados Los bucles también se pueden anidar: for (i=0; i<n;i++) for (j=0; j<n; j++) printf( (%d,%d),i,j); genera como resultado: Ejemplo #include <stdio.h> void main () int n,i,k; (0,0) (0,1) (0,2) (0,N) (1,0) (1,1) (1,2) (1,N) (N,0) (N,1) (N,2) (N,N) n = 0; // Paso 1 for (i=1; i<=2; i++) // Paso 2 for (k=5; k>=1; k-=2) // Paso 3 n = n + i + k; // Paso 4 // Paso 5 // Paso 6 printf("n vale %d", n); // Paso 7 Paso N i? k? Estructuras de control - C Fernando Berzal
28 Cuestiones de estilo Escribimos código para que lo puedan leer otras personas, no sólo para que lo traduzca el compilador. Identificadores q Los identificadores deben ser descriptivos ß p, i, s... precio, izquierda, suma... q En ocasiones, se permite el uso de nombres cortos para variables locales cuyo significado es evidente (p.ej. bucles controlados por contador) for (elemento=0; elemento<n; elemento++ ) for (i=0; i<n; i++) Constantes q Se considera una mala costumbre incluir literales de tipo numérico ( números mágicos ) en medio del código. Se prefiere la definición de constantes simbólicas (con #define o, mejor aún, con enum). ß for (i=0; i<79; i++) for (i=0; i<columnas-1; i++) Estructuras de control - C Fernando Berzal
29 Expresiones q Expresiones booleanas: Es aconsejable escribirlas como se dirían en voz alta. ß if (!(bloque<actual) ) if ( bloque >= actual ) q Expresiones complejas: Es aconsejable dividirlas para mejorar su legibilidad ß x += ( xp = ( 2*k<(n-m)? c+k: d-k )); if ( 2*k < n-m ) xp = c+k; else xp = d-k; x += xp; max = (a > b)? a : b; Comentarios q Comentarios descriptivos: Los comentarios deben comunicar algo. Jamás se utilizarán para parafrasear el código y repetir lo que es obvio. ß i++; /* Incrementa el contador */ /* Recorrido secuencial de los datos*/ for (i=0; i<n; i++)... Estructuras de control - C Fernando Berzal
30 Estructuras de control q Sangrías: Conviene utilizar espacios en blanco o separadores para delimitar el ámbito de las estructuras de control de nuestros programas. q Líneas en blanco: Para delimitar claramente los distintos bloques de código en nuestros programas dejaremos líneas en blanco entre ellos. q Salvo en la cabecera de los bucles for, sólo incluiremos una sentencia por línea de código. q Sean cuales sean las convenciones utilizadas al escribir código (p.ej. uso de sangrías y llaves), hay que ser consistente en su utilización. while ( ) for ( ; ; ) if ( ) while ( ) for ( ; ; ) if ( ) El código bien escrito es más fácil de leer, entender y mantener (además, seguramente tiene menos errores) Estructuras de control - C Fernando Berzal
! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes
Modificador final Introducción a la Programación IV Curso de Programación en Java Luis Guerra [email protected] Enero 2012 Una variable declarada con final no puede volver a ser reinicializada final int
Tema 4: Estructuras de Control Estructura y Contenidos
Tema 4: Estructuras de Control Estructura y Contenidos 4.1. ESTRUCTURA SECUENCIAL. 4.2. ESTRUCTURAS DE SELECCIÓN. 4.2.1. Selección simple ( if ). 4.2.2. Selección binaria ( if... ). 4.2.3. Selección múltiple
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio
Tema 5 Sentencias de control de flujo. Fundamentos de Informática
Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación
Informática I. While & do While
Asignatura: Informática I Trabajo práctico Nº5 While & do While Estructura repetitiva MIENTRAS o while En C la sentencia while (condición o expresión) instrucciones; es seguramente la más utilizada. La
Lenguaje C Bucles, Condicionales, operadores y Algoritmos.
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
Ejemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Preliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
Elementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Tema 7: Programación con Matlab
Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas
Estructuras de Control en C
Departamento de Informática Universidad Técnica ederico Santa María Estructuras de Control en C Programación de Computadores Profesor Teddy Alfaro Secuencia El secuencialismo está inserto en todo programa
Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas
Ejercicios Tema 4 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira SOLUCIONES 1. Escriba un programa en C que
PHP y MySQL. Indice: Switch Bucles For While do...while
PHP y MySQL Indice: Switch Bucles For While do...while Switch switch...case es otra opción para trabajar con condiciones. Y suplanta al if, cuando lo único que se quiere hacer es comparar si son iguales
Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.
Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden
Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011
Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias
Hoja de problemas Estructuras de Control
Departamento de Estadística, I.O. y Computación Ingeniería Técnica Industrial - Electrónica Industrial Fundamentos de Informática Hoja de problemas Estructuras de Control 1. Cuál es el efecto de las siguientes
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 2. Algoritmos, diagramas de flujo y pseudocódigo Contenido Algoritmos Diagramas de flujo
Matrices equivalentes. El método de Gauss
Matrices equivalentes. El método de Gauss Dada una matriz A cualquiera decimos que B es equivalente a A si podemos transformar A en B mediante una combinación de las siguientes operaciones: Multiplicar
Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.
CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA
PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04)
PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04) EJERCICIOS DE ESTRUCTURAS ALTERNATIVAS : 1.- Haga el algoritmo en pseudo código que, dada una variable cuyo valor
CONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras.
Actividades de Divulgación del Centro Atómico Bariloche Qué hay detrás de un programa de computadora? Expositores: Daniela Arnica Pablo E. Argañaras División Mecánica Computacional Gerencia de Investigación
TEMA 3: EL LENGUAJE C: PRESENTACIÓN
TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de
Fundamentos de programación
Fundamentos de programación Objetivo: Traducir nuestras ideas a un nuevo lenguaje de programación para resolver un problema. Problema Método de resolución Lenguaje (C++) dónde está la dificultad? Solución!!...en
Lenguaje C. Tipos de Datos Simples y Estructuras de Control
Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje
Estructuras de Repetición Repita Mientras
Estructuras de Repetición Repita Mientras Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Estructuras de Repetición Las estructuras de repetición son sentencias que permiten
PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.
PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. 1. Introducción. En esta práctica veremos todos los conceptos explicados en la segunda parte del Tema 5 de teoría: las Sentencias de Control Repetitivas,
Se guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
CI 2125, Computación I
Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI 2125, Computación I Práctica 5: ESTRUCTURAS DE REPETICIÓN Como ya hemos visto, el procedimiento desarrollado para resolver
Presentación. Programación I. Conceptos Avanzados de Programación. :: Prof. Yeniffer Peña
Presentación Conceptos Avanzados de Programación :: Prof. Yeniffer Peña Unidad I: Conceptos Avanzados de Programación Recursividad: El concepto de recursividad va ligado al de repetición. Son recursivos
Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.
ESTRUCTURAS DE REPETICIÓN OBJETIVOS Aprender a construir grandes y complejos problemas a través de la ejecución repetida de una secuencia de proposiciones llamados ciclos o estructuras repetitivas. Distinguir
3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES
3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES 3.1 Estructuras de repetición Una estructura de repetición, también llamada lazo o bucle, hace posible la ejecución repetida de secciones específicas de código.
Tema 2 Conceptos básicos de programación. Fundamentos de Informática
Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Tutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
Curso 0 de Informática
Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Introducción a PHP. * No es necesario declarar previamente las variables.
Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los
EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)
EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO) Luis José Sánchez 1. Realiza un programa que sume los 100 números siguientes a un número entero y positivo introducido por teclado. Se debe
Sintaxis y Convenciones de Java. M. en C. Erika Vilches
Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando
Programación: QBASIC
1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato
Ecuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1
Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio
Esquema de un programa en C: bloques básicos
Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,
Carmen. Estándares de codificación. Manuel Arias Calleja
Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................
CLASE # 5 TÉCNICAS DE CAJA BLANCA
CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente
El lenguaje C. 1. Más sobre Instrucciones de control
Principios de ción El lenguaje C 1. Más sobre Instrucciones de control Estudiaremos con mayor detalle la repetición y presentaremos estructuras adicionales de control de la repetición a saber las estructuras
8. Sentencia return y métodos
92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente
CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.
CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia
Estructuras de repetición
Estructuras de repetición Fundamentos de Programación Fundamentos de Programación I FP-PFI Curso 2005-2006 1 Estructuras iterativos Sentencia for for(inic; cond; increm) sentencia1; sentencia2; Sentencia
Capítulo 4 Procesos con estructuras de repetición
Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa
República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores
República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Prof. Elías Cisneros. Lenguaje C++ Contadores y Acumuladores Usted es libre de: * Copiar, distribuir y comunicar públicamente
Módulo 9 Sistema matemático y operaciones binarias
Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional
Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.
Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código
2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Introducción a la Programación en MATLAB
Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Ejercicio 1 (2 puntos. Tiempo: 25 minutos)
Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C
If anidado: /*ifani.c*/ main() { if (getche()=='s') if (getche()=='i') printf("\n tu tecleaste si"); }
El IF: Es muy parecido al while en formato y en operacion, en ambos si la condición no se cumple (es falsa) no se ejecutará el cuerpo de la declaracion. char ch; ch=getche(); if (ch=='s') printf("\ntu
Introducción al tipo de dato ARRAY
CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción
Creación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
1. MANEJO DE SUMATORIOS. PROPIEDADES Y EJERCICIOS.
1. MANEJO DE SUMATORIOS. PROPIEDADES Y EJERCICIOS. El sumatorio o sumatoria) es un operador matemático, representado por la letra griega sigma mayúscula Σ) que permite representar de manera abreviada sumas
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES
CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que
Programas. Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial:
Programas Estructura de un programa simple Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial: Entrada de datos Procesamiento de los datos Salida
GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)
APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I
Divisibilidad y números primos
Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Operadores aritméticos
Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado
BREVE MANUAL DE SOLVER
BREVE MANUAL DE SOLVER PROFESOR: DAVID LAHOZ ARNEDO PROGRAMACIÓN LINEAL Definición: Un problema se define de programación lineal si se busca calcular el máximo o el mínimo de una función lineal, la relación
Soporte lógico de computadoras
Soporte lógico de computadoras Software: Sistemas Operativos Lenguajes de programación Lenguajes de Programación. Clasificación Proximidad del lenguaje al que entiende el ordenador: Bajo nivel: específico
Estructuraremos el código con el condicional CASE-ENDCASE que vimos anteriormente, para controlar las diferentes funciones.
SUBRUTINAS Qué son las Subrutinas? Las subrutinas forman parte de la programación modular, esto es, ejecutar cierta porción de código en un lugar externo con respecto al flujo de sentencias principal.
ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)
APRENDERAPROGRAMARCOM ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK EJEMPLOS DE USO Y EJERCICIOS RESUELTOS (CU00820B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero
Tema 3. Estructuras de control
Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)
Contenido. Capítulo 1. Introducción a lenguaje C 1
Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje
Aplicaciones lineales continuas
Lección 13 Aplicaciones lineales continuas Como preparación para el cálculo diferencial, estudiamos la continuidad de las aplicaciones lineales entre espacios normados. En primer lugar probamos que todas
Estructuras de repetición hacer-mientras y repita hasta
Estructuras de repetición hacer-mientras y repita hasta Programación 1 Cátedra de Programación Departamento de Computación Escuela de Ingeniería de Sistemas Hacer mientras Diagrama de flujo Acciones S1
Estadística con Excel Informática 4º ESO ESTADÍSTICA CON EXCEL
1. Introducción ESTADÍSTICA CO EXCEL La estadística es la rama de las matemáticas que se dedica al análisis e interpretación de series de datos, generando unos resultados que se utilizan básicamente en
Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones.
Refactorización Definición Refactorización (n) Cambio realizado a la estructura interna del software para hacerlo más fácil de comprender y más fácil de modificar sin cambiar su comportamiento observable.
1 La Resolución de Problemas utilizando la Computadora
La Resolución de Problemas utilizando la Computadora Lissette Alvarez Abril-Julio, 2004 El Computador es una máquina que no puede trabajar por si sola, únicamente realiza aquellas órdenes que el hombre
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.
Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios
UNIDAD 1. LOS NÚMEROS ENTEROS.
UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }
Curso PHP Módulo 1 R-Luis
Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.
Programación básica C++
Programación en Lenguaje C++ Programación básica C++ 6.3.1 Declaración de variables Introducción 6 Las variables sirven para identificar un determinado valor. Es importante tener en cuenta, que una variable
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Funciones y subrutinas
Funciones y subrutinas Introducción En lecciones anteriores se ha descrito el concepto de diseño descente; esta técnica permite desarrollar algoritmos que resuelvan un problema mediante un proceso de reamiento
ETS Caminos Santander. Curso 2012. Ejercicios de introducción a la programación.
Ejercicio 1. Saludo. El programa preguntará el nombre al usuario y a continuación le saludará de la siguiente forma "Hola, NOMBRE" donde NOMBRE es el nombre del usuario. Ejercicio 2. Suma. El programa
Tema 9. Vectores y Matrices
Tema 9. Vectores y Matrices OBJETIVO En temas anteriores hemos declarado variables simples de tipo int, float, o de cualquier otro tipo simple. A menudo necesitaremos declarar una colección de variables,
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010
Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3
1. NÚMEROS NATURALES POTENCIAS DE UN NÚMERO NATURAL Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3 El factor que se repite es la base, y el número de veces que se repite
SOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.
BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades
1. DML. Las subconsultas
1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se
LENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Tema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco.
2010 Tema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco. Manuel González de León mgdl 01/01/2010 INDICE: 01. DE LOS NÚMEROS NATURALES A LOS NÚMEROS ENTEROS. 02. VALOR
