El concepto de función en programación se fundamenta en el concepto de función matemática 1

Tamaño: px
Comenzar la demostración a partir de la página:

Download "El concepto de función en programación se fundamenta en el concepto de función matemática 1"

Transcripción

1 FUNCIONES Y PROCEDIMIENTOS OBJETIVOS Aprender a resolver problemas grandes y complejos dividiendo un problema en subproblemas a través del uso de procedimientos y funciones. Distinguir entre parámetros de entrada (valor) y parámetros de salida (referencia). Analizar las diferencias entre funciones y procedimientos. Aprender a escribir funciones recursivas. Distinguir entre locales y globales. 1. FUNCIONES El concepto de función en programación se fundamenta en el concepto de función matemática 1 Una función, desde el punto de vista de la programación, se define como un proceso que recibe valores de entrada (llamados parámetros) y el cual retorna un valor resultado. Adicionalmente, las funciones son subprogramas dentro de un programa, que se pueden invocar (ejecutar) desde cualquier parte del programa, es decir, desde otra función, desde la misma función o desde el programa principal, cuantas veces sea necesario. Las funciones se usan cuando existen dos o más porciones de algoritmo dentro de un programa que son iguales o muy similares, por ejemplo, en un algoritmo se puede emplear varias veces una porción de algoritmo que eleva a una potencia dada un número real. De esta manera conviene definir una función que al ser invocada ejecute dicho código, y en el lugar donde estaba la porción de algoritmo original, se hace un llamado (ejecución) de la función creada. En el seudolenguaje una función se declara de la siguiente manera: funcion <nombre> ( param 1 : tipo 1,..., param n : tipo n ) : tipo <declaraciones> <instrucciones> retornar <expresión> Donde, <nombre>: representa el nombre de la función param i : representa el parámetro i-ésimo de la función. tipo i : representa el tipo del i-ésimo parámetro de la función. 1 Una función es una relación que asocia con cada elemento de un conjunto llamado el dominio, uno y solo un elemento de otro conjunto llamado el codominio. La relación puede ser establecida mediante una tabla, un proceso o un cálculo. f:dom Codom x f(x) Ejemplo 1. f:a,b,c 0,1,2 a 1 b 0 c 2 Ejemplo 2. g: Naturales Naturales x x 2 Ejemplo 3. h: Reales x Reales Reales ( a, b ) a 2 +2*b. 1

2 tipo: representa el tipo de dato que retorna la función. <declaraciones>: representa el conjunto de definidas para la función (diferentes a los parámetros). <instrucciones>: representa el conjunto de instrucciones que realiza la función. <expresión>: representa el valor que retorna la función. EJEMPLOS Ejemplo 1. La función h que en matemáticas se define como sigue: h: Reales x Reales Reales (a, b) a 2 +2*b En programación se define así: funcion h ( a : real, b : real): real retornar a*a + 2*b Ejemplo 2. La función minimo que en matemáticas se define como sigue: minimo: Reales x Reales x Reales Reales minimo( a, b, c ) = a,si a b y a c minimo( a, b, c ) = b,si b a y b c minimo( a, b, c ) = c,si c a y c b En programación se define así: funcion minimo( a : real, b : real, c : real ): real si (a <=b & a <=c) entonces retornar a si (b <=a & b<=c)entonces retornar b retornar c 1.1 FUNCIONES RECURSIVAS Una función recursiva es una función que se define en términos de si misma, es decir, que el resultado de la función depende de resultados obtenidos de evaluar la misma función con otros valores. Se debe tener mucho cuidado en la definición de funciones recursivas, pues si no se hace bien, la función podría requerir de un cálculo infinito o no ser calculable. Observe las siguientes defnes, una correcta y la otra incorrecta: DEFINICIÓN RECURSIVA CORRECTA 2

3 Está bien definida porque se puede calcular el valor de la función para cualquier valor que tome x. Por ejemplo si x = 3.5 se tiene que f(3.5) = ya que: f(3.5) = f( )* 3.5 = f(2.5) * 3.5 f(2.5) = f( )*2.5 = f(1.5) * 2.5 f(1.5) = f( )*1.5 = f(0.5) * 1.5 f(0.5) = 1.0 (pues 0.5 <= 1.0) y de esta manera, el cálculo de la función se devuelve. f(1.5) = f(0.5)*1.5 = 1.0 * 1.5 = 1.5 f(2.5) = f(1.5)*2.5 = 1.5 * 2.5 = 3.75 f(3.5) = f(2.5)* 3.5 = 3.75 * 3.5 = DEFINICIÓN RECURSIVA INCORRECTA Está mal definida porque no se puede calcular el valor de la función para cualquier valor que tome x. Por ejemplo, si x = 3.5 se tiene que f(3.5) no se puede calcular ya que: f(3.5) = f( )* 3.5 = f(4.5) * 3.5 f(4.5) = f( )*4.5 = f(5.5) * 4.5 f(5.5) = f( )*5.5 = f(6.5) * 5.5 f(6.5) = y nunca se termina este proceso Una función recursiva es aquella que para calcular su valor en un dato dado, generalmente necesita ser calculada en uno u otros valores. Un punto de ruptura de la recursión es un valor del parámetro para el cual la función no tiene que ser calculada de nuevo en otros valores. EJEMPLOS Ejemplo 1. La función factorial que en matemáticas se define como sigue: factorial : Entero + Entero + factorial(n) = 1, si n 1 factorial(n) = n * factorial(n-1), si n >1 Punto de ruptura: cuando n es igual a uno (1) funcion factorial ( n : entero ) : entero si (n <=1) entonces retornar 1 retornar factorial(n-1) * n Ejemplo 2. La función fibonacci que en matemáticas se define como sigue: fibonacci : Entero Entero 3

4 fibonacci(0)=0 fibonacci(1)=1 fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), para n>1 Punto de ruptura: cuando n es menor o igual a uno (1) funcion fibonacci( n : entero ) : entero si (n =0 n = 1) entonces retornar n retornar fibonacci(n-1) + fibonacci(n-2) Ejemplo 3. suma_rara : Entero x Entero Entero suma_rara( n, m ) = n, si n>0 y m 0 suma_rara( n, m ) = m, si n 0 y 0 m suma_rara( n, m ) = suma_rara(n-2,m-3)+suma_rara(m-2,n-3)+ m + n, en otro caso. Puntos de ruptura: cuando m es menor o igual a cero (0), y cuando n es menor o igual a cero (0). funcion suma_rara( n : entero, m : entero ) : entero si (n > 0 &m <=0) entonces retornar n si (n <=0 & 0 <=m) entonces retornar m retornar suma_rara(n-2,m-3)+suma_rara(m-2,n-3)+m+n 2. PROCEDIMIENTOS En muchos casos existen porciones de código similares que no calculan un valor si no que por ejemplo, presentan información al usuario, leen una colección de datos o calculan más de un valor. Como una función debe retornar un único valor 2 este tipo de porciones de código no se podrían codificar como funciones. Para superar este inconveniente se creó el concepto de 2 Una función puede retornar más de un valor si ella usa parámetros por referencia. En este texto los parámetros por referencia sólo se usarán en los procedimientos ya que, es una muy mala técnica de programación el uso de parámetros por referencia en funciones. Esta consideración se hace pues, desde el punto de vista matemático, una función no puede modificar los valores de los parámetros. 4

5 procedimiento. Un procedimiento se puede asimilar a una función que puede retornar más de un valor mediante el uso de parámetros por referencia 3. Los procedimientos se usan para evitar duplicación de código y conseguir programas más cortos. Son también una herramienta conceptual para dividir un problema en subproblemas logrando de esta forma escribir más fácilmente programas grandes y complejos. En el seudolenguaje un procedimiento se define de la siguiente manera procedimiento <nombre> ( param1: tipo1,..., param n : tipo n) <declaraciones> <instrucciones> Donde: <nombre>: representa el nombre del procedimiento. param i : representa el parámetro i-ésimo del procedimiento. tipo i : representa el tipo del i-ésimo parámetro del procedimiento. <declaraciones>: representa el conjunto de definidas para el procedimiento (diferentes a los parámetros). <instrucciones>: representa el conjunto de instrucciones que realiza el procedimiento. 3. PARAMETROS POR VALOR Y POR REFERENCIA 3.1 Parámetros por valor Los parámetros convencionales son por valor, es decir, a la función o procedimiento se le envía un valor que almacena en la variable correspondiente al parámetro, la cual es local, de manera que su modificación no tiene efecto en el resto del programa. 3.2 Parámetros por referencia Si un procedimiento tiene un parámetro por referencia quiere decir que no está recibiendo un valor una referencia a una variable, es decir la misma variable (posición en memoria y valor) que envía el algoritmo que hace el llamado al procedimiento con un alias (el nombre de la variable del parámetro que se recibe por referencia). Por lo tanto, cualquier modificación al parámetro que se haga dentro del procedimiento, tiene efectos en el algoritmo que realizó el llamado al procedimiento. Cuando se ejecuta un procedimiento con uno o varios parámetros por referencia, ni un literal ni una constante se pueden poner en la posición de alguno de estos parámetros, es decir, ni las constantes ni los literales pueden ser pasados por referencia a un procedimiento. Un parámetro por referencia se especifica en seudo-lenguaje, anteponiendo la palabra ref a su definición. En el siguiente ejemplo el parámetro A es recibido por referencia y el parámetro B es recibido por valor: 3 Los parámetros por referencia se tratarán en el siguiente aparte 5

6 procedimiento Proc ( ref A: entero, B: entero).. Al realizar un llamado al procedimiento Proc como el siguiente Proc(suma, dato), si el procedimiento modifica el parámetro A que recibe por referencia, también se está modificando el contenido de la variable suma, pues suma y A en este momento son la misma variable pero con dos nombres. Mientras que si el procedimiento modifica el parámetro que recibe por valor B, no está modificando la variable dato, ya que al realizar el llamado, el procedimiento crea una variable nueva para el parámetro B, distinta de dato, con diferente posición de memoria, pero copiando el contenido de la variable dato en el parámetro B. EJEMPLOS. Ejemplo 1. Desarrollar un procedimiento que intercambie los valores de dos enteras, es decir, que implemente el intercambio para enteras. procedimiento intercambio (ref x : entero, ref y : entero) /* variable auxiliar para realizar el intercambio */ aux : entero /* se almacena el valor de x en la variable aux */ aux:=x /* se almacena el valor de y en la variable x */ x :=y /* se almacena el valor original de x en la variable y */ y :=aux Ejemplo 2. Desarrollar un procedimiento que lea una colección de hasta cien (100) números reales. procedimiento leer_arreglo (ref n : entero, ref A : arreglo[100] de real) i : entero /* las siguientes cuatro líneas son para obtener el numero de datos a leer. Se controla que no sea un numero invalido */ repetir escribir ( Ingrese el numero de reales a operar ) leer (n) hasta (0 < n & n <=100) /* las siguientes seis líneas leen los n datos a procesar */ para ( i :=0 hasta n 1) hacer escribir ( Ingrese un dato ) leer (A[i]) 6

7 4. INTERACCIÓN DEL PROGRAMA CON LAS FUNCIONES Y PROCEDIMIENTOS La estructura de un programa que utiliza funciones y/o procedimientos es la siguiente: <declaración de funciones y/o procedimientos> <declaración de programa> <instrucciones> Donde: <declaración de funciones y/o procedimientos>: Representa el conjunto de funciones y procedimientos declarados que se usarán en el programa. Cada función y procedimiento se definen como se mencionó en las anteriores secciones. <declaración de programa>: Representa el conjunto de que son usadas únicamente por el programa principal, es decir, por el programa que hace llamados a las funciones y/o procedimientos. <instrucciones>: Representa el programa principal. EJEMPLOS. Ejemplo 1. Construir un programa que determine la suma de los números desde 1 hasta un límite que lee. Se usa una función para calcular la suma de los números desde 1 hasta el límite. funcion SumaHasta( limite : entero ) : entero numero : entero suma : entero suma:=0 para (numero:=1 hasta limite) hacer suma := suma + numero retornar suma x : entero y : entero escribir( Ingrese el límite para suma ) leer(x) y := SumaHasta(x) escribir( La suma de los números desde 1 hasta ) escribir(x) escribir( es: ) escribir(y) 7

8 Nota: Observe que el cálculo de la función SumaHasta se guarda en el programa principal en la variable y, que es del mismo tipo de la función. La función solo puede retornar un valor. Ejemplo 2. Calcular el área y la circunferencia de un círculo cuyo radio se lee en el programa principal. procedimiento circulo( rad : real, ref ar : real, ref circun : real ) constantes pi = ar := pi*rad*rad circun := 2*pi*rad radio : real area : real circunferencia : real escribir( Ingrese el valor del radio ) leer(radio) circulo(radio, area, circunferencia) escribir( Para un círculo de radio ) escribir(radio) escribir(cambio_linea) escribir( El área es: ) escribir(area) escribir(cambio_linea) escribir( La circunferencia es: ) escribir(circunferencia) Nota: Observe que el llamado al procedimiento no es una proposición de asignación como lo es la función; en su lugar se reciben los valores en los parámetros referencia area y circunferencia, y en este sentido se dice que el procedimiento puede devolver mas de un valor. Ejemplo 3. Construir un programa que reciba 3 valores y devuelva el mínimo valor. El programa pregunta al usuario si quiere entrar más datos y se repita mientras el usuario quiera. Utilizar una función. funcion minimo( a : real, b : real, c : real ): real si (a <=b & a <=c) entonces retornar a si (b <=a & b<=c)entonces retornar b retornar c 8

9 x : entero y : entero z : entero menor : entero c : caracter haga escribir( Digite el primer número: ) leer(x) escribir( Digite el segundo número: ) leer(y) escribir( Digite el tercer número: ) leer(z) menor: = minimo(x,y,z) escribir(cambio_linea) escribir( El menor valor entre: ) escribir(x) escribir(y) escribir(z) escribir( es ) escribir(menor) escribir( Desea entrar más datos? s/s ) leer(c) mientras(c= s c= S ) Ejemplo 4. Construir un programa que reciba 3 valores y devuelva el mínimo valor. El programa pregunta al usuario si quiere entrar más datos y se repita mientras el usuario quiera. Utilizar un procedimiento. ALGORITMO EN SEUDOLENGUAJE procedimiento minimo( a : real, b : real, c : real, ref m : real ) si (a <=b & a <=c) entonces m :=a si (b <=a & b<=c)entonces m:= b m :=c x : entero y : entero z : entero menor : entero c : caracter haga escribir( Digite el primer número: ) leer(x) 9

10 escribir( Digite el segundo número: ) leer(y) escribir( Digite el tercer número: ) leer(z) minimo(x,y,z,menor) escribir(cambio_linea) escribir( El menor valor entre: ) escribir(x) escribir(y) escribir(z) escribir( es ) escribir(menor) escribir( Desea entrar más datos? s/s ) leer(c) mientras(c= s c= S ) ALGORITMO EN CODIGO C #include <iostream.h> #include <stdlib.h> void minimo(float a, float b, float c, float &m) if (a<=b&& a<=c) m=a; else if (b<=a&&b<=c) m=b; else m=c; int main() float x,y,z,menor; char car; do cout<<"digite el primer numero: " ; cin >> x; cout<<"digite el segundo numero: " ; cin >> y; cout<<"digite el tercer numero: " ; cin >> z; minimo(x,y,z,menor); cout <<"\n"; cout << "El menor entre \n"<< x<<"\t"<<y<<"\t"<<z<<" es "<<menor<<"\n"; cout<<"desea entrar mas datos? " ; cin >>car; 10

11 while ( car=='s' car=='s') ; system("pause"); return 0; Nota: Observe las diferencias del algoritmo escrito mediante un procedimiento y el ejemplo anterior escrito mediante una función. Ejemplo 5. Escribir un programa que lea 3 números y los clasifique en orden ascendente. procedimiento intercambio(ref x : entero, ref y : entero) aux : entero aux := x x := y y := aux procedimiento clasificacion (ref primero : entero, ref segundo : entero, ref tercero : entero) si(primero > segundo)entonces intercambio(primero,segundo) si(segundo > tercero)entonces intercambio(segundo, tercero) si(primero > segundo)entonces intercambio(primero, segundo) a, b, c : entero escribir( Digite el primer número : ) leer(a) escribir( Digite el segundo número : ) leer(b) escribir( Digite el tercer número : ) leer(c) clasificacion(a,b,c) escribir( Los números en orden ascendente son: ) escribir(a) escribir( ) escribir(b) escribir( ) escribir(c) Nota: Observe que el procedimiento intercambio es llamado desde el procedimiento clasificación. 11

12 5. VARIABLES LOCALES Y GLOBALES 5.1 Variables Globales Son definidas al comienzo del programa (antes de cualquier función), que se pueden usar a lo largo de todo el programa, es decir, dentro del algoritmo principal y en cada función definida en el programa. 5.2 Variables Locales Son definidas dentro de cada función y/o procedimiento, y que solo se pueden usar en la función y/o procedimiento, en la que son declaradas. Una buena técnica de programación es no usar, o usar la menor cantidad de globales, de tal forma que las funciones y/o procedimientos que se creen no dependan de elementos externos, en este caso las globales, para realizar su proceso. El no usar globales dentro de una función y/o procedimiento garantiza su fácil depuración y seguimiento. Entonces, el esquema general de un programa es: <definición de globales> <declaración de funciones y/o procedimientos> <declaración de programa> <instrucciones> EJEMPLOS. Ejemplo 1. Se quiere escribir un programa que imprima 10 triángulos, alternando triángulos que tienen 6 renglones de asteriscos con otros que tienen 7 renglones de x así: * ** *** **** ***** ****** x xx xxx xxxx xxxxx xxxxxx xxxxxxx En el seudo lenguaje el algoritmo es: constantes numtriang = 10 i : entero 12

13 procedimiento Dibujar(numFila : entero, car : caracter) columna : entero para(i := 1 hasta numfila) hacer para(columna := 1 hasta i) hacer escribir(car) escribir(cambio_linea) limite : entero para( limite= 1 hasta numtriang) hacer Dibujar(6, * ) escribir(cambio_linea) Dibujar(i, x ) escribir(cambio_linea) En código de lenguaje C el mismo algoritmo es: #include <iostream.h> #include <stdlib.h> int numtriang = 10 ; /*constantes*/ int i; /*variable global*/ /* definición del procedimiento*/ void Dibujar(int numfila, char car) int columna; /*variable local del procedimiento*/ for (i = 1;i<= numfila; i++) for (columna = 1; columna<= i; columna++) cout<< car; cout<< "\n"; int main() /*programa principal */ int limite; /*variable procedimiento principal*/ for( limite= 1; limite<= numtriang; limite++) Dibujar(6,'*'); cout<< "\n"; Dibujar(i,'x'); cout<< "\n"; system("pause"); return 0; 13

14 Nota: La variable i es global por estar definida al comienzo del programa y por lo tanto puede ser usada dentro de cualquier procedimiento. Note en este ejemplo que para evitar duplicación de código se usa el procedimiento Dibujar. Ejemplo 2. Desarrollar un programa que calcule la serie de Laurent de la función exponencial en un valor x con una cantidad de n+1 términos. funcion factorial( n: entero ) : entero si (n <=1) entonces retornar 1 retornar factorial(n-1) * n funcion elevar ( x : real, n : entero ) : real y : real i : entero y :=1.0 para (i :=1 hasta n) hacer y :=y * x retornar y funcion e( x : real, n : entero ) : real i : entero suma : real suma :=0.0 para (i :=0 hasta n) hacer suma :=suma + elevar( x, i ) / factorial( i ) retornar suma n : entero x, y : real escribir ( Digite el numero de términos a calcular de e(x) ) leer (n) escribir ( Digite el valor sobre el que quiere calcular e(x) ) leer( x) y :=e( x, n ) escribir ( El valor de e( ) escribir (x) escribir ( ) es ) escribir (y) 14

15 Ejemplo 3. Desarrollar un programa que permita ingresar una colección de máximo mil (1000) números enteros y la imprima en orden ascendente y descendente. procedimiento intercambio( ref x: entero, ref y: entero ) aux : entero /* variable auxiliar para realizar el intercambio */ aux :=x /* se almacena el valor de x en la variable aux */ x :=y /* se almacena el valor de y en la variable x */ y :=aux /* se almacena el valor original de x en y */ procedimiento ordenar (n: entero, ref A: arreglo[1000] de entero) i : entero j : entero para (i desde 0 hasta n-2) hacer para (j desde i+1 hasta n-1) hacer si (A[i]>A[j]) entonces intercambio ( A[i], A[j] ) procedimiento imprimir_ascendente ( n : entero, ref A : arreglo[1000] de entero ) i : entero para ( i :=0 hasta n-1) hacer escribir (A[i]) escribir ( ) procedimiento imprimir_descendente ( n : entero, ref A : arreglo[1000] de entero ) i : entero para (i :=0hasta n-1) hacer escribir (A[n-1-i]) escribir ( ) procedimiento leer_arreglo ( ref n : entero, ref A : arreglo[1000] de entero ) i : entero /* las siguientes cuatro líneas son para obtener el numero de datos a leer. Se controla que no sea un numero invalido */ repita escribir ( Ingrese el numero de reales a operar ) leer (n) hasta (0 < n & n <=1000) 15

16 /* las siguientes cuatro líneas leen los n datos a procesar */ para (i :=0 hasta n-1) hacer escribir( Ingrese un dato ) leer (A[i]) n : entero A : arreglo[1000] de entero leer_arreglo( n, A ) ordenar( n, A ) escribir Esta es la colección ascendentemente: imprimir_ascendente( n, A ) escribir (cambio_linea) escribir ( Esta es la colección descendentemente: ) imprimir_descendente( n, A ) escribir (cambio_linea) Nota: Puesto que en los dos ejemplos anteriores no hay definidas al comienzo del programa, las son locales al procedimiento o función donde fueron definidas y solo pueden ser usados dentro de estos. EJERCICIOS 1. Elaborar un programa que reciba tres datos y los ordene descendentemente. El programa debe elaborarse en base a procedimientos. Utilice el procedimiento intercambio ya presentado en este capítulo. 2. Elaborar un programa que calcule la siguiente suma mediante el uso de una función, n 2 s = i= 1 3. Elaborar una función que reciba un número entero y retorne -1 si el número es negativo. Si el número es positivo debe devolver una clave calculada de la siguiente manera: Se suma cada dígito que compone el número y a esa suma se le calcula el modulo 7. Por ejemplo: para la cifra 513, la clave será 5+1+3=9; 9 mod 7 =2. Utilice la función para construir un programa que lea una secuencia de valores y determine si el número leído fue negativo o si fue positivo que clave le corresponde. 4. Desarrolle el punto 3 pero en lugar de utilizar una función utilice un procedimiento. 5. Construir un programa que reciba 3 valores y devuelva el valor mínimo y máximo. El programa debe resolverse utilizando funciones. 6. Resolver el punto 5 pero utilizando un solo procedimiento que devuelva el máximo y el mínimo. 7. Elaborar un programa que lea n caracteres y los almacene en un arreglo. Se cumple siempre que el número de caracteres es menor a 15. Cada carácter debe almacenarse en un elemento del arreglo. El conjunto de caracteres forma una palabra. El programa debe escribir si la palabra es palíndromo o no. Utilizar una función que tome el arreglo y devuelva 0 si la palabra no es un palíndromo o 1 si lo es. 8. Elaborar el programa del punto 7 pero con un procedimiento. i 16

17 RESUMEN Los procedimientos y funciones son una herramienta conceptual para dividir un problema en subproblemas logrando de esta forma escribir más fácilmente programas grandes y complejos. Además evitar la duplicación de código, consiguiendo escribir programas más cortos. Las funciones solo pueden retornar un valor único y aquí se utilizarán solamente con parámetros de entrada por valor. Los procedimientos pueden contener parámetros de entrada o valor y parámetros de salida o referencia. En el sentido del uso de los parámetros por referencia se dice que un procedimiento puede retornar más de un valor, tantos como parámetros referencia se coloquen. Las globales son las que se definen al comienzo del programa y pueden ser usadas por cualquier procedimiento o función. BIBLIOGRAFIA 1. Becerra, César. Algoritmos. Ed. César Becerra, Séller Arthur. Programación en Pascal. Ed Mc Graw Hill, Konvalina John Stanley Wileman. Programación con Pascal. Ed Mc Graw Hill, LECTURAS RECOMENDADAS 17

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas

Más detalles

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.

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

Más detalles

Vectores. 27/05/05 Programación Digital I 1

Vectores. 27/05/05 Programación Digital I 1 Vectores Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Lenguaje de Diseño Primer Cuatrimestre 2015 1

Lenguaje de Diseño Primer Cuatrimestre 2015 1 Lenguaje de Diseño Primer Cuatrimestre 2015 1 Programación Modular Programación Estructurada Programas fáciles de leer y modificar Técnicas de Diseños Dividir y Conquistar Estructuras de Control Algoritmos

Más detalles

Ejemplos de conversión de reales a enteros

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

Más detalles

Metodología de la Programación II. Recursividad

Metodología de la Programación II. Recursividad Metodología de la Programación II Recursividad Objetivos Entender el concepto de recursividad. Conocer los fundamentos del diseño de algoritmos recursivos. Comprender la ejecución de algoritmos recursivos.

Más detalles

Curso 0 de Informática

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,

Más detalles

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar

Más detalles

Tema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net)

Tema 2. Recursividad. Fundamentos de Programación II. Luís Rodríguez Baena (luis.rodriguez@upsam.net) Fundamentos de Programación II Tema 2. Recursividad Luís Rodríguez Baena (luis.rodriguez@upsam.net) Universidad Pontificia de Salamanca (campus Madrid) Escuela Superior de Ingeniería y Arquitectura Naturaleza

Más detalles

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 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

Más detalles

MANUAL DE REFERENCIA DE C++

MANUAL DE REFERENCIA DE C++ MANUAL DE REFERENCIA DE C++ UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS E INDUSTRIAL BOGOTÁ D.C. 2009 Objetivo: Brindar a los estudiantes del curso de

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

ARREGLOS Y MATRICES 1. Arreglos

ARREGLOS Y MATRICES 1. Arreglos ARREGLOS Y MATRICES 1. Arreglos Un arreglo es una estructura de datos, o más técnicamente, un espacio de memoria que permite almacenar una colección de elementos, todos del mismo tipo. Conviene imaginar

Más detalles

8. Sentencia return y métodos

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

Más detalles

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 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

Más detalles

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I Vectores y matrices Fundamentos de Programación Fundamentos de Programación I 1 Ejemplo de utilización n de vectores: gráfico de producción En una compañía nos han encargado escribir un programita que

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

Tema 2: La clase string

Tema 2: La clase string : string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen

Más detalles

Tema 4: Estructuras de Control Estructura y Contenidos

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

Más detalles

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva:

RECURSION. Se deben hacer cuatro preguntas para construir una solución recursiva: puntes teóricos ño 2013 RECURSION Veremos un nuevo mecanismo, una nueva técnica de diseño, para resolver problemas: L RECURSIÓN. La recursión es una alternativa a la iteración o repetición, y aunque en

Más detalles

CI 2125, Computación I

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

Más detalles

Examen Principios de Programación Febrero 2012

Examen Principios de Programación Febrero 2012 Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.

Más detalles

Primer Parcial de Programación 3 (1/10/2009)

Primer Parcial de Programación 3 (1/10/2009) Primer Parcial de Programación (/0/009) Instituto de Computación, Facultad de Ingeniería Este parcial dura horas y contiene carillas. El total de puntos es 0. En los enunciados llamamos C* a la extensión

Más detalles

Estructuras de repetición hacer-mientras y repita hasta

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

Más detalles

Resolución de Problemas

Resolución de Problemas Resolución de Problemas con algoritmos Colaboratorio de Computación Avanzada (CNCA) 2015 1 / 27 Contenidos 1 Introducción 2 Elementos de algoritmos Elementos Variables Estructuras de Control Condicionales

Más detalles

Preliminares. Tipos de variables y Expresiones

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

Más detalles

Lenguaje C Bucles, Condicionales, operadores y Algoritmos.

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

Más detalles

ha llevado el registro de varios tanques de gasolina, desarrolle un programa que lea los kilómetros manejados y los litros de gasolina utilizados en

ha llevado el registro de varios tanques de gasolina, desarrolle un programa que lea los kilómetros manejados y los litros de gasolina utilizados en Ejercicios de programación Tema: Métodos y mensajes Instrucciones: Elabore los programas que se indican utilizando en cada uno al menos un método o método miembro diferente al main. 1. Diseñar un método

Más detalles

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 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 }

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

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

Más detalles

Estructuras de repetición

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

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓ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

Más detalles

Fundamentos de Programción (I)

Fundamentos de Programción (I) Fundamentos de Programción (I) Algoritmos Entrada y Salida en C++ Fundamentos de programación Objetivo: Traducir nuestras ideas a un nuevo lenguaje de programación para resolver un problema. Problema Método

Más detalles

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

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

Más detalles

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

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,

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

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

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

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í

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras ARCHIVOS 1. Introducción 2. Definición de archivo 3. Archivos de acceso secuencial 3.1. fopen 3.2. fclose 3.3. fcloseall 3.4. putc 3.5. getc 3.6. fscanf 3.7. fprintf 4. Gestión de un archivo secuencial

Más detalles

Modulo 1 El lenguaje Java

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

Más detalles

Bloque 4. La descomposición funcional y el diseño descendente

Bloque 4. La descomposición funcional y el diseño descendente Bloque 4 La descomposición funcional y el diseño descendente Cómo afrontar un problema complejo Dividir cada una de las dificultades que se examinen en tantos fragmentos como sea posible y que se requieran

Más detalles

Programación básica C++

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

Más detalles

Fortran tiene dos tipos diferentes de subprogramas, las funciones y las subrutinas.

Fortran tiene dos tipos diferentes de subprogramas, las funciones y las subrutinas. PROGRAMACION MODULAR: La programación modular es un método de diseño que permite resolver un problema mediante su descomposición en problemas más simples o módulos que se pueden analizar, programar y poner

Más detalles

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C CARRERA: 441402 INGENIERÍA DE EJECUCIÓN EN ELECTRICIDAD Y ELECTRÓNICA 444803 TÉCNICO EN ELECTRICIDAD Y ELECTRÓNICA ASIGNATURA: PCS2201

Más detalles

El lenguaje C. 1. Más sobre Instrucciones de control

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

Más detalles

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 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

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include #include

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos. Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas

Más detalles

COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC

COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC COMANDO FUNCIÓN EJEMPLO BORRA LA PANTALLA Borra la pantalla ESCRIBE TEXTO O GRÁFICOS EN PRINT HOLA Escribe HOLA en pantalla LA PANTALLA. PRINT PRINT a Escribe

Más detalles

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial FUNDAMENTOS DE INFORMÁTICA º PRÁCTICA 4: Funciones y vectores CURSO 5/6 Área de Ingeniería de Sistemas y Automática ISA-UMH R-2-FI4v. FUNDAMENTOS DE INFORMÁTICA PRÁCTICA 4: Funciones y vectores curso 25-26

Más detalles

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática Tema 7 Fundamentos de Informática Índice 1. Qué es un vector? 2. Vectores unidimensionales 3. Cadenas de caracteres 4. Paso de vectores unidimensionales a funciones. 5. Vectores multidimensionales: matrices

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

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

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

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) 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

Más detalles

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR...

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR... PROGRAMACIÓN EN C++ PRÁCTICA 08 INTRODUCCIÓN A C++ SENTENCIAS DE CONTROL DEL FLUJO DE UN PROGRAMA: Ejercicio 1. Un primer programa en C++....1 Ejercicio 2. Una conversación en C++....2 Ejercicio 3. Una

Más detalles

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

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

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Presentación. Programación I. Conceptos Avanzados de Programación. :: Prof. Yeniffer Peña

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

Más detalles

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN INTRODUCCION Un arreglo es una colección de variables del mismo tipo, referidos por un nombre común. En Java, los arreglos tienen una o más dimensiones,

Más detalles

Diseño de algoritmos

Diseño de algoritmos Diseño de algoritmos Jose Jesus García Rueda. Adaptado de El algoritmo, una iniciación a la programación (http://www.desarrolloweb.com/manuales/67/ http://www.desarrolloweb.com/manuales/67/) ) y de Diseño

Más detalles

UNIVERSIDAD CENTRAL. Facultad de Ingeniería. Algoritmos y programación Grupo 1.4. Taller No.3

UNIVERSIDAD CENTRAL. Facultad de Ingeniería. Algoritmos y programación Grupo 1.4. Taller No.3 UNIVERSIDAD CENTRAL Facultad de Ingeniería Algoritmos y programación Grupo 1.4 Taller No.3 Ejecute los siguientes programas en el computador en lenguaje c. Haga que el programa termine sólo cuando el usuario

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C.

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Objetivos El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Al final de esta práctica el alumno podrá: 1. Decir cuáles

Más detalles

Programación en lenguaje C++

Programación en lenguaje C++ Programación en Lenguaje C++ Objetivos Unidad Tema Subtema Objetivos VI 6.1 Metodología de la programación Metodologías Diseños de algoritmos Creación de algoritmos Entender y aplicar los pasos a seguir

Más detalles

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina. MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los

Más detalles

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones.

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.

Más detalles

Fundamentos de programación

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

Más detalles

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en ) No hay. Dominio 0.. 2 n 1 [MIN(C)..

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C).. Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos

Más detalles

Estructura de Datos. TDA: Listas. Primer Semestre, 2010. Indice. Tipos de estructura de datos lineales

Estructura de Datos. TDA: Listas. Primer Semestre, 2010. Indice. Tipos de estructura de datos lineales Estructura de Datos TDA: Listas Prof. Mauricio Solar Prof. Lorna Figueroa Parte del material fue obtenido de Lic. Claudio Barúa Primer Semestre, 2010 Indice Tipos de estructura de datos lineales Listas

Más detalles

Programación I. Contenido. Relación de Ejercicios Sonido e Imagen

Programación I. Contenido. Relación de Ejercicios Sonido e Imagen Programación I UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación Contenido Relación de Ejercicios Sonido e Imagen Tema 2: Conceptos Básicos de Programación 2 Práctica 1.

Más detalles

2 Métodos combinatorios

2 Métodos combinatorios 2 Métodos combinatorios Las pruebas pueden aplicarse de muchas maneras, es decir, existen diferentes formas de preparar casos de prueba. En este capítulo se presentan dos formas de prueba muy fáciles de

Más detalles

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. Código: O613 INGENIERÍA DE SISTEMAS Docente y Administrativo: Luz Esperanza Espitia Preciado Componente: Teórico Práctico. F. Vigencia: 8/10/2.012

Más detalles

Programación en C++/Funciones

Programación en C++/Funciones Programación en C++/Funciones 1 Programación en C++/Funciones Estructuras Streams Funciones Definiendo una función Una función es un conjunto de líneas de código que realizan una tarea específica y puede

Más detalles

Introducción a la Programación en MATLAB

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

Más detalles

Metodología, Técnica Y Tecnología Para Solucionar Un Problema

Metodología, Técnica Y Tecnología Para Solucionar Un Problema La Esencia de la Lógica de Programación Omar Ivan Trejos Buriticá 89 Capítulo 6 Metodología, Técnica Y Tecnología Para Solucionar Un Problema Hasta este momento tenemos una metodología para solucionar

Más detalles

Algoritmos. Autor: José Ángel Acosta Rodríguez

Algoritmos. Autor: José Ángel Acosta Rodríguez Autor: 2006 ÍNDICE Página Índice 1 Problema 1. Movimiento de figuras geométricas.2 Problema 2. Conversión decimal a binario....3 Problema 3. Secuencias binarias..4 Problema 4. Conversión a binario a octal...

Más detalles

Introducción al tipo de dato ARRAY

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

Más detalles

SERIE DE EJERCICIOS 3

SERIE DE EJERCICIOS 3 1 SERIE DE EJERCICIOS 3 PARTE I: MANEJO DE VARIABLES Y ARREGLOS. PARA EL MICROCONTROLADOR 18F2550. VERIFIQUE SUS RESPUESTAS USANDO EL SIMULADOR DE MPLAB IDE. 1) Diga que valores hexadecimales se almacenan

Más detalles

Introducción al lenguaje de programación java

Introducción al lenguaje de programación java Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

Funciones mas importantes para el manejo de Caracteres

Funciones mas importantes para el manejo de Caracteres Caracteres Un carácter es un símbolo que la computadora puede representar. Cuando se asigna una constante de carácter a una variable tipo char, esta debe estar entre apostrofes. char letra= a ; Funciones

Más detalles

Clases y Objetos. Informática II Ingeniería Electrónica

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

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. 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

Más detalles

Programación. Ejercicios Tema 5. Funciones

Programación. Ejercicios Tema 5. Funciones Programación Ejercicios Tema 5 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 1 SOLUCIONES 1. Escriba una función

Más detalles

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 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

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base

Más detalles

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento del compilador. Definir variables y efectuar asignaciones de valores con

Más detalles

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES

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.

Más detalles

Lección 10: Estructuras de Control. Autor: José Navarro. Referencias: C. Horstmann, Big Java Late Objects, Caps 3-4

Lección 10: Estructuras de Control. Autor: José Navarro. Referencias: C. Horstmann, Big Java Late Objects, Caps 3-4 Lección 10: Autor: José Navarro Referencias: C. Horstmann, Big Java Late Objects, Caps 3-4 C. Horstmann, Java Concepts, 6ta. Ed., Caps 5-6 Objetivos Bosquejo Explicar la operación de diferentes estructuras

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

Más detalles

#include /* Factorial de un número - versión 1- */

#include <stdio.h> /* Factorial de un número - versión 1- */ Ejemplo 1: Programa que calcula el factorial de 'n' números introducidos desde teclado. Primera versión: /* Factorial de un número - versión 1- */ long int factorial (int x) /*definición de función*/ int

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 3 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

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. 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

Más detalles

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

Más detalles

Entorno de Programación Visual Studio 6

Entorno de Programación Visual Studio 6 Entorno de Programación Visual Studio 6 Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Programación en C 1 Proceso de Programación Edición

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación de

Más detalles