Procedimientos, Funciones y Recursividad

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

Download "Procedimientos, Funciones y Recursividad"

Transcripción

1 Procedimientos, Funciones y Recursividad Gonzalo Soriano gsorianob@gmail.com 7 de abril de 2009 Divide y vencerás

2 1. Introducción a procedimientos y funciones. Un procedimiento o función es un bloque de código que no se encuentra en el bloque o programa principal; pero puede ser invocado por éste cuantas veces quiera el programador. Cuando tenemos que resolver un gran programa, muchas veces es muy útil dividirlo en varios pequeños problemas; de esta forma resolvemos más problemas, pero más sencillos. También es muy útil usar procedimientos y funciones cuando una tarea la tenemos que realizar varias veces; de esta forma, la implementamos una vez y la invocamos cuantas veces sea necesario. Por ejemplo; si tenemos que desarrollar un programa de álgebra, es muy probable que para distintos problemas necesitamos calcular la norma de un vector, o el determinante de una matriz. En este caso podemos hacer una función que será llamada cuando se la necesite Funciones La estructura de una función es: function nombre_funcion (param1:tipo1;... ; paramn:tipon): Tipo_retorno; var { Bloque de declaración de variables locales a la función. } { El ámbito donde se pueden usar estas variables es solo } { entre el y end que marcan el comienzo y fin de la } { misma. } { Bloque de código de la función. } nombre_función := valorretornotiporetorno; { Esta última línea debe ejecutarse si o si antes de llegar } { al final de la función, no necesariamente justo antes. } Donde nombre_funcion será el nombre que usemos para indicarle a Pascal que queremos que ejecute el código de la función. Tipo_retorno tiene que ser un tipo de dato atómico (boolean, integer, real, char, etc), el cual tiene que ser del mismo tipo que se le asigne a la función con valorretornotiporetorno. Y Bloque de código de la función son las sentencias para que la función cumpla con el objetivo con el que fue creada. La cantidad de parámetros (variables) pasados a la función van desde cero hasta los permitidos por la capacidad de la memoria. Los tipos de estos parámetros, a diferencia del Tipo_retorno, pueden ser de cualquier tipo, incluso tipos compuestos Pasaje de parámetros por valor y referencia Existen dos formas de pasarle los parámetros a las funciones; por valor y por referencia. Cuando pasamos un parámetro por valor el compilador crea una copia exacta (para esto necesitamos más memoria) y se la pasa a la función; de 2

3 forma que si lo modificamos dentro de la función, esas diferencias no se verían fuera de ella. Cuando pasamos un parámetro por referencia el compilador crea una especie de apuntador a la variable original; por lo que cualquier modificación se reflejará en el bloque de código que lo invoco. Para pasar una variable por referencia hay que anteponer la palabra reservada var a la variable; de la forma: (var param:tipo-parametro);. Las variables usadas en la sección bloque de código de la función pueden ser las pasadas por parámetros y/o las variables locales a la función. En caso de usar una variable declarada para el programa principal y que no sea pasada por parámetros se dice que estas usando una variable global; cosa prohibida por la cátedra Usos de las funciones Para invocar la función es suficiente con poner el nombre de la función y pasarle los parámetros necesarios; es importante recalcar que se deben pasar la misma cantidad parámetros y del mismo tipo que fueron declarados cuando se definió la función. No es necesario que tengan el mismo nombre. Como las funciones retornan un valor, es posible (no obligatorio), asignarle ese valor a una variable o usarlo en una expresión. program ejemplo_funciones; uses crt; var { Variables globales a las que se puede acceder desde } n, entero: integer; { cualquier parte del programa. } function ejemplo (n : integer) : integer;... { Programa Principal }... { Llamo a la función y guardo el resultado en la variable entero. } entero := ejemplo(n); { Llamo a la función sin guardar el resultado. } ejemplo(n); { Llamo a la función pasandole el número 5. } n := ejemplo (5); { Llamo a la función pasandole una variable con nombre } { distinto al puesto en la definición de la función. } n := ejemplo(entero); 3

4 { Uso la función en una expresión. } if ( 7 = ejemplo() ) then... end. Una posibilidad para asegurarse que no están usando accidentalmente una variable global en el ámbito de una función (problema que puede generar noches sin sueño por no encontrar un bug cerca de una entrega) es ubicar las variables del programa principal después de las funciones, y justo antes del programa principal. program ejemplo_funciones; uses crt; function ejemplo (n : integer) : integer;... var { Variables globales a las que se puede acceder solo } n, entero: integer; { en el Programa Principal. } { Programa Principal }... entero := ejemplo(n); end Parámetros actuales y parámetros formales Los parámetros formales son aquellos que, como el nombre lo indica, le dan forma a la función. Es decir, son aquellos que aparecen en su definción y se usan para indicar la cantidad y tipos de parámetros que va a recibir la función. Por ejemplo: function nombre (param_formal1:tipo1;... ; param_formaln:tipon): tipo;... Los parámetros actuales son los que se están usando actualmente en la ejecución del programa. Estos parámetros deben coincidir en su tipo, cantidad y órden a los definidos en el encabezado de dicha función, ya que son los que ocuparan el lugar reservado por los parámetros formales. 4

5 Ejemplo program expo; uses crt; var n: integer; x: real; { Funcion que multiplica n veces a x, y si n era negativo, lo invierte. Le paso por valor x y n; y retorna un real. } function exponencial (x: real; n: integer):real; var i, modulo : integer; resultado : real; resultado :=1; { Le calculo el modulo a n. } modulo := abs(n); { Multiplico x las n veces. } for i:=1 to (modulo) do resultado := resultado x; 5

6 { Si n era negativo, lo invierto. } if (n<0) then resultado := 1 / resultado; { Retorno el resultado en exponencial. } exponencial := resultado; { Limpio la pantalla. } clrscr; { Imprimo mensajes y leo las variables. } writeln( Programa que calcula x a la n, con n entero ); writeln; write ( Ingrese x: ); readln (x); write ( Ingrese n: ); readln (n); { Llamo a la funcion exponencial, pasandole como parametros x y n, y guardando el valor de retorno en x. } x := exponencial (x, n); { Imprimo el resultado y espero que ingresen una tecla. } writeln ( El resultado es:,x :0:2); readkey; end Seguimiento de la función Suponiendo que el usuario ingresa 3.5 para x y 2 para n: Prog Ppal. Función exponencial Prog Ppal. n x x n res i exponencial , n x 2 3, Procedimientos Si necesitamos una función que no retorne nada, usamos un procedimiento; su estructura es: procedure nombre_procedimiento (param1:tipo1;... ; paramn:tipon); var { Bloque de declaración de variables locales al proc. } { Sentencias del procedimiento. } 6

7 1.3. Diferencias entre funciones y procedimientos Hay que tener en cuenta que ahora que ya no tenemos la sentencia nombre_función := TipoRetorno; y en el encabezado de la función cambiamos la palabra reservada function por procedure, y eliminamos la parte ": Tipo_retorno". Otra diferencia con las funciones es que ya no se puede usar en las expresiones Usos de los procedimientos Para invocar el procedimiento solo tenemos que poner su nombre y pasarle los parámetros necesarios. Como los procedimientos no retornan un valor, no es posible usarlo en una expresión. program ejemplo_proc; uses crt; var cadena: string; procedure ejemplo (linea : string);... { Programa Principal }... { Llamo al procedimiento. } ejemplo(cadena); end. 2. Recursividad. Se dice que algo es recursivo cuando en su definición se usa lo que estamos tratando de definir. Por ejemplo, el factorial: n! = { 1 si n = 0 n (n 1)! si n > 0 En este caso definimos el factorial de n, como n por el factorial de (n-1); si n es distinto de 0; y 1 para n= Estructura de una función o procedimiento recursivo Una función recursiva siempre tiene dos partes fundamentales; la condición de corte y la llamada recursiva. La llamada recursiva va a ser la que va a invocar nuevamente a la función para que se siga ejecutando. En cambio, la 7

8 condición de corte, va a ser la encargada de frenar esa recursividad. Generalmente, esa condición de corte está asociada a la estructura if, pero puede darse el caso en que sea conveniente usar otra estructura selectiva; como por ejemplo, un case. A su vez, cuando llega a esa condición de corte suele inicializarse alguna variable, o preparar el ambiente para que se dé el retroceso, pero tampoco es una regla que se debe cumplir siempre. Hay que tener en cuenta que cuando se invoca a un procedimiento recursivo, no solo se necesita espacio en memoria para él, sino también para todas sus llamadas recursivas. Por ejemplo, si queremos calcular recursivamente el factorial de 1,000, vamos a necesitar 4 bytes para el valor de n. Pero como no sabemos el valor del factorial de 999, vamos a llamar a la función para que nos calcule el valor de ese factorial; y así sucesivamente hasta que lleguemos a pedir el factorial de 0. Por lo tanto, en algún momento, en memoria van a coexistir las 1,001 llamadas a la función factorial, y que, si ocupa 4 bytes cada variable entera, estaríamos ocupando 4,004 bytes. Es un número despreciable para los tamaños de la memoria de ahora, pero tengamos en cuenta que eso fue porque comenzamos con un procedimiento que tan solo necesitaba 4 bytes para almacenar sus variables. Como conlusión, hay que tener cuidado con la cantidad de memoria que necesitemos en una fución recursiva ya puede crecer rápidamente Seguimiento de una función recursiva Aprovechando que ya pusimos el código del factorial y que es una función conocida por todos, calculemos (recursivamente) el factorial de 5. Al ver el encabezado de la función nos damos cuenta que tenemos que pasarle un parámetro n que será el número del cual queremos obtener el factorial, entonces hacemos f actorial(5); Pero ahora tenemos el problema que para calcular el factorial de 5, necesitamos el factorial de 4, entonces usamos la función factorial para saber ese valor: factorial(4); 8

9 Esperamos a que termine el factorial(4); pero nos encontramos nuevamente con que no sabemos cuanto vale el factorial de 3, entonces le pedimos a alguien que si lo cepa que nos lo calcule: factorial(3); Creo que no hace falta que lo diga, pero por las dudas, ahora no sabemos cuanto vale el factorial de 2, entonces esperemos y pidamosle a alguien que haga ese trabajo por nosotros: f actorial(2); Y si lo hicimos tantas veces, porque no una vez más; factorial(1); 9

10 Pero seguimos sin saber cuanto es el factorial de 1, por lo que invocamos nuevamente a la función factorial, pero ahora le pasamos un 0: f actorial(0); Y ahora si nos preguntaron algo que si sabemos!!, cúanto es el factorial de 0?. La respuesta es 1, como lo dice la condición de corte; por lo que dejamos de llamar recursivamente a la función factorial y le devolvemos el valor pedido a quien nos lo pidió. A partir de ahora vamos a ir volviendo nuestros pasos para atrás e ir terminando cada una de las funciones que empezamos. 10

11 Con ese valor, ahora vamos a poder calcular el factorial de 1, que era 1 factorial(0) = 1 1 = 1 Recién ahora que tenemos cuanto vale el factorial de 1, se lo devolvemos a quien nos lo había pedido: 11

12 Con el valor del factorial de 1, podemos calcular el factorial de 2 y devolverselo a quien nos lo había pedido: Con el valor del factorial de 2, podemos calcular el factorial de 3 y devolverselo al factorial de 4 para que siga con su ejecución: Ya casi terminamos, ahora con el valor del factorial de 3, calculamos el de 4 como: factorial(4) = 4 factorial(3) = 4 6 = 24 12

13 Y finalmente llegamos a tener el factorial de 4, por lo que con esto solo nos queda multiplicarlo por 5 para calcular el factorial que nos habían pedido en un primer momento: 2.3. Tipos de Recursividad En programación existen dos tipos de recursividad: directa o indirecta Recursividad Directa La recursividad directa es cuando un procedimiento o una función se llama a si mismas; por ejemplo: procedure ejemplo(); Sentencias; ejemplo(); 13

14 más_sentencias; Recursividad Indirecta La recursividad indirecta es cuando un procedimiento o función invoca a otro procedimiento o función, y éste último vuelve a invocar al primero. Por ejemplo: procedure rec2(); forward; procedure rec1(); Sentencias; rec2(); procedure rec2(); Sentencias; rec1(); Por la forma secuencial de compilar de Pascal es necesario declararle que más adelante se definirá el procedimiento rec2 para que no marque un error en tiempo de compilación. Por este motivo es que tuvimos que incluir la línea: procedure rec2(); forward; antes del encabezado del procedimiento rec1() Ejemplo program ejemrec; uses crt; procedure recdirecta (entero : integer); if (entero = 1) then writeln ( El entero es:,entero) else recdirecta (entero 1); writeln ( El entero es:,entero); function factorial (n : integer): integer; if (n = 0) then factorial := 1 else factorial := n factorial (n 1); 14

15 procedure B (entero : integer); forward; procedure A (entero : integer); if (entero = 1) then writeln ( A ) else B (entero 1); procedure B (entero : integer); if (entero = 1) then writeln ( B ) else A (entero 1); var n, fac : integer; clrscr; writeln ( Ejemplo de funciones recursivas. ); writeln; n := 5; fac := factorial(5); writeln ( El factorial de,n, es, fac,. ); writeln; n := 10; writeln ( Entramos a la funcion recdirecta con n =, n,. ); recdirecta(n); writeln; n := 4; write( Llamado a la funcion A (,n, ): ); A(n); write( Llamado a la funcion B (,n, ): ); B(n); n := 5; write( Llamado a la funcion A (,n, ): ); A(n); write( Llamado a la funcion B (,n, ): ); B(n); readkey; end. 15

16 Índice 1. Introducción a procedimientos y funciones Funciones Pasaje de parámetros por valor y referencia Usos de las funciones Parámetros actuales y parámetros formales Ejemplo Seguimiento de la función Procedimientos Diferencias entre funciones y procedimientos Usos de los procedimientos Recursividad Estructura de una función o procedimiento recursivo Seguimiento de una función recursiva Tipos de Recursividad Recursividad Directa Recursividad Indirecta Ejemplo

Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura.

Este es un arreglo de números enteros, o sea que guarda una serie de variables de tipo INTEGER, todas agrupadas en una sola estructura. Arreglos en Pascal 1.- Introducción a los Arreglos. Algunos de los tipos de datos que vimos eran los tipos INTEGER, CHAR, BOOLEAN, etc.. Un arreglo, mas que un tipo de dato es una estructura que nos permite

Más detalles

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal. LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Módulo 8: Primitivas en Pascal

Módulo 8: Primitivas en Pascal Módulo 8: Primitivas en Pascal Tecnologías en la Educación Matemática Dr. Carlos Gonzalía DCIC - UNS Técnologías en la educación matemática Dr. Carlos Gonzalía 1 de Copyright Copyright 2010, 2012 M. Capobianco,

Más detalles

Estructura de Datos: Archivos

Estructura de Datos: Archivos Estructura de Datos: Archivos Registros (record) Un registro es una estructura que consiste de un número fijo de componentes llamados campos. Los campos pueden ser de diferentes tipos y deben tener un

Más detalles

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010 FUNCIONES Definición: Una función es un subprograma que recibe cero o más valores de entrada y retorna un único objeto de salida. Es una tarea independiente que puede o no depender de variables externas.

Más detalles

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa PROGRAMACIÓN 10. Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 4 ESTRUCTURA SECUENCIAL GENERAL La estructura secuencial

Más detalles

Introducción a C++ y Code::Blocks

Introducción a C++ y Code::Blocks Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete

Más detalles

http://www.conclase.net/c/devcpp.php?art=depurar Depurar programas

http://www.conclase.net/c/devcpp.php?art=depurar Depurar programas Depurar programas Siempre hay que tener en cuenta que los ordenadores hacen sólo aquello que nosotros les decimos que hagan: si los programas no funcionan es porque no los hemos diseñado bien o porque

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B) APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha

Más detalles

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica. Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete

Más detalles

Estructura de datos (arreglos) Vectores y Matrices

Estructura de datos (arreglos) Vectores y Matrices Apunte del curso PROGRAMACIÓN (FI-UBA,, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez Estructura de datos (arreglos) Hasta aquí se han visto distintos tipos de estructuras

Más detalles

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

Más detalles

Tema 5.- Recursividad

Tema 5.- Recursividad Apuntes elaborados por: Raquel López, Eduardo Quevedo y Aaron Asencio Revado por: Javier Miranda el???? Tema 5.- Recursividad NOTA Todos los ejemplos que se exponen en este tema se pueden realizar utilizando

Más detalles

Universidad Nacional de Ingeniería Facultad de Ciencias. Física Computacional CC063. Algebra Lineal. Prof: J. Solano 2012-I

Universidad Nacional de Ingeniería Facultad de Ciencias. Física Computacional CC063. Algebra Lineal. Prof: J. Solano 2012-I Universidad Nacional de Ingeniería Facultad de Ciencias Física Computacional CC063 Algebra Lineal Prof: J. Solano 2012-I Introduccion Aqui trabjaremos con operaciones basicas con matrices, tales como solucion

Más detalles

USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++

USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++ USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++ Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México http://www.itnuevolaredo.edu.mx/takeyas

Más detalles

Estatutos de Control C# Estatutos de Decisión (Selección)

Estatutos de Control C# Estatutos de Decisión (Selección) SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente

Más detalles

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Métodos que devuelven valor Dado el siguiente triángulo rectángulo: Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Compilando en Pascal

Compilando en Pascal Compilando en Pascal Gonzalo Soriano gsorianob@gmail.com 28 de marzo de 2009 Resumen Este apunte no tiene la intensión de enseñarles a usar un compilador, sino mostrales como compilar y algunas herramientas

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

Tema: Clases y Objetos en C#. Parte II.

Tema: Clases y Objetos en C#. Parte II. Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

PROGRAMAS PARA LA CLASSPAD MANAGER.

PROGRAMAS PARA LA CLASSPAD MANAGER. PROGRAMAS PARA LA CLASSPAD MANAGER. BUSCA DIVISORES Vamos a preparar un programa sencillo, cuya misión es buscar los divisores de un número. Primero lo prepararemos con el Classpad Manager del ordenador,

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

Procesos e Hilos en C

Procesos e Hilos en C Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.

Más detalles

Academia técnica de computación A.T.C.

Academia técnica de computación A.T.C. Academia técnica de computación A.T.C. Free Pascal (FPC) El Free Pascal es un compilador Pascal portable, libre y de código abierto, que representa una alternativa a los productos comerciales Turbo Pascal

Más detalles

Funciones en Lenguaje C

Funciones en Lenguaje C Funciones en Lenguaje C Funciones en Lenguaje C. La modularización, es una técnica usada por los programadores para hacer sus códigos más cortos, ya que consiste en reducir un gran problema complejo, en

Más detalles

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( \nla temperatura media es %f\n, media ); Arrays en el lenguaje C Introducción Una posible definición de array sería: Un conjunto de datos del mismo tipo, identificados por el mismo nombre, y que se pueden distinguir mediante un número de índice.

Más detalles

Tabla de Símbolos. Programación II Margarita Álvarez

Tabla de Símbolos. Programación II Margarita Álvarez Programación II Margarita Álvarez La tabla de símbolos es una estructura global utilizada por distintos módulos del compilador. Es el principal atributo heredado. Almacena todos los nombres declarados

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación) Dr. http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,

Más detalles

UTN FRLP Ing. en Sistemas de Información Algoritmos y Estructura de Datos Trabajos Prácticos Curso 2010

UTN FRLP Ing. en Sistemas de Información Algoritmos y Estructura de Datos Trabajos Prácticos Curso 2010 Práctico de Pascal Nº 2 Ejercicios para la ejercitación del Lenguaje Pascal Objetivo: Es que los alumnos conozcan un lenguaje de programación, donde puedan ejercitar los conocimiento adquiridos hasta ahora

Más detalles

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

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

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles

Programación y Computación Ingenierías. Dr. Eric Jeltsch F. FUNCIONES Y PROCEDIMIENTOS. Universidad de La Serena.

Programación y Computación Ingenierías. Dr. Eric Jeltsch F. FUNCIONES Y PROCEDIMIENTOS. Universidad de La Serena. FUNCIONES Y PROCEDIMIENTOS 1 2 3 4 5 Escribir un programa que muestre en pantalla VS2 realizado por nosotros (usar procedimiento). PROGRAM VS2 (INPUT, OUTPUT); PROCEDURE letra_v; WRITELN('V V'); WRITELN('

Más detalles

Estructuras de Control. Secuencia y Selección

Estructuras de Control. Secuencia y Selección Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 InCo - FING Estructuras de Control. Secuencia y Selección Programación 1 1 / 35 Estructuras de control InCo - FING Estructuras de

Más detalles

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison LABORATORIO DE PROCESADORES DE LENGUAJE Curso: 2008-2009 Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison Planteamiento del problema En esta práctica se trata de realizar, mediante el

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

Funciones Tipos de funciones y Recursividad

Funciones Tipos de funciones y Recursividad Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Programación en Pascal

Programación en Pascal Programación en Pascal Segunda parte de la asignatura. El profesor: Nombre:. Despacho: Edificio de la ETSII 2ª Planta. Correo electrónico: fdoperez@ull.es. Miércoles, Viernes: 3.30 a 5.30. Objetivos: Aprender

Más detalles

Problemas de Recursividad

Problemas de Recursividad Problemas de Recursividad Problema 1. El factorial de un número entero n 0, denotado como n!, se define! como!!! i = 1 2 n cuando n > 0, y 0! = 1. Por ejemplo 6! = 1 2 3 4 5 6 = 720 Diseñad una método

Más detalles

Tema 8 Gestión de la memoria en tiempo de ejecución.

Tema 8 Gestión de la memoria en tiempo de ejecución. Traductores, Compiladores e Intérpretes 1 Tema 8 Gestión de la memoria en tiempo de ejecución. S Organización de la memoria en tiempo de ejecución. Cuando un programa se ejecuta sobre un sistema operativo

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles

Prototipado, instancias e historia de un proceso

Prototipado, instancias e historia de un proceso Prototipado, instancias e historia de un proceso En los videos anteriores sobre Automatización, utilizamos objetos del tipo transacción, para registrar la reserva de pasajes y crear al pasajero como cliente

Más detalles

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C. El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC INTRODUCCIÓN Los subprogramas son otro tipo de bloques PL/SQL Se diferencian de los bloques anónimos porque

Más detalles

LABORATORIO DE PROGRAMACIÓN II Problemas HOJA 1 RECURSIVIDAD

LABORATORIO DE PROGRAMACIÓN II Problemas HOJA 1 RECURSIVIDAD LABORATORIO DE PROGRAMACIÓN II Problemas HOJA 1 RECURSIVIDAD NÚMERO 1. PROGRAM Hoja1_numero1 (input,output); **** Este programa pide al usuario N letras y las escribe, en el orden inverso al que fueron

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Nombre: Carné: Examen C++ - Junio Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Examen Grupo B Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción.... 1 1.1 Ejercicio 1:

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

Más detalles

Tema 14: Arreglos estáticos en C

Tema 14: Arreglos estáticos en C Tema 14: Arreglos estáticos en C Solicitado: Ejercicios 05: Ejercicios con arreglos estáticos unidimensionales M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom

Más detalles

7. PROCEDIMIENTOS Y FUNCIONES

7. PROCEDIMIENTOS Y FUNCIONES 7. PROCEDIMIENTOS Y FUNCIONES Conceptos: Rutina, Subrutina, Subprograma, Procedimiento, Función, Parámetro, Parámetros reales y formales, Parámetros por valor y por variable, Variables globales y locales,

Más detalles

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015 Aspectos de los LP Diseño de compiladores Lenguajes de Programación Antes de comenzar con la construcción de un compilador, debemos comprender los conceptos basicos del lenguaje de programación con el

Más detalles

Sistemas Operativos Practica 1: procesos y concurrencia.

Sistemas Operativos Practica 1: procesos y concurrencia. Sistemas Operativos Practica 1: procesos y concurrencia. Objetivos: Introducir al alumno a los conceptos de programa, concurrencia, paralelismo y proceso o tarea. Manejo del concepto de concurrencia haciendo

Más detalles

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación 1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos

Más detalles

La lección de hoy es sobre resolver valores absolutos por Inecualidades. El cuál es la expectativa para el aprendizaje del estudiante SEI.2.A1.

La lección de hoy es sobre resolver valores absolutos por Inecualidades. El cuál es la expectativa para el aprendizaje del estudiante SEI.2.A1. SEI.2.A1.1- Courtney Cochran-Solving Absolute Value Inequalities. La lección de hoy es sobre resolver valores absolutos por Inecualidades. El cuál es la expectativa para el aprendizaje del estudiante SEI.2.A1.1

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

SUBRANGO ENUMERADOS CONJUNTOS

SUBRANGO ENUMERADOS CONJUNTOS Apunte del curso ALGORITMOS y PROGRAMACIÓN (FI-UBA, Prof. Ing. F. J. LAGE, J. T. P. Ing. Z. CATALDI; A.T.P. Srta. A Pauluzzi, Sr. C Corradino, Sr. F Gómez SUBRANGO ENUMERADOS CONJUNTOS SUBRANGO: Un tipo

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

5. Subprogramas Fundamentos de Informática

5. Subprogramas Fundamentos de Informática 5. Subprogramas Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice Subprogramas 1. Cálculo de la función Coseno 2. Suma 3. Ecuación de 2º grado 2 1. Cálculo de

Más detalles

Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones

Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones Ejercicio 1: Considere definida una función. Trabajo Práctico 8 División de Problemas en Subproblemas Uso de Procedimientos y Funciones function Invertir(Num: integer):integer; { Objetivo: Invierte el

Más detalles

2. ESTRUCTURA DE UN PROGRAMA EN TURBOPASCAL

2. ESTRUCTURA DE UN PROGRAMA EN TURBOPASCAL Fundamentos de programación - A. García-Beltrán, R. Martínez y J.A. Jaén 20 2. ESTRUCTURA DE UN PROGRAMA EN TURBOPASCAL Conceptos: Resumen: Programación estructurada, Estructura de un programa, Cabecera,

Más detalles

6. Vectores. 1. Introducción. 2. Declaración (I) Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos.

6. Vectores. 1. Introducción. 2. Declaración (I) Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos. 6. Fundamentos de Informática Dpto. Lenguajes y Sistemas Informáticos Curso 2012 / 2013 Índice 4. Paso de parámetros 5. Recorrido completo 6. Recorrido de búsqueda 7. Inicialización 2 Necesidad Agrupar

Más detalles

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro Lectura de Datos Dentro de un applet es sencillo tomar algún dato del usuario para realizar

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN Métodos Numéricos 2008 - Carlos Zotelo Introducción a Fortran 77 / 90 1. El lenguaje Fortran 77 / 90 2. Tipos de datos básicos 3. Constantes y variables 4. Entrada

Más detalles

Clase adicional 2. Estructuras básicas de control. Temas

Clase adicional 2. Estructuras básicas de control. Temas Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño

Más detalles

Estructuras de repetición

Estructuras de repetición 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. Hay dos tipos básicos de estructuras de repetición,

Más detalles

DIAGRAMAS DE FLUJOS. Qué son Los Diagramas de Flujo y Para qué se Usan?

DIAGRAMAS DE FLUJOS. Qué son Los Diagramas de Flujo y Para qué se Usan? DIAGRAMAS DE FLUJOS Los diagramas de flujo representan la secuencia o los pasos lógicos para realizar una tarea mediante unos símbolos. Dentro de los símbolos se escriben los pasos a seguir. Un diagrama

Más detalles

Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.

Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes. Para aportes y sugerencias puede escribir al correo del autor: thenewinquirer01@gmail.com Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.

Más detalles

www.fisicaeingenieria.es

www.fisicaeingenieria.es 21.- ESCRIBIR UN PROGRAMA QUE RECORRA UN FICHERO Y QUE DADO UN DÍA MES Y AÑO IMPRIMA EL LUGAR Y EL VALOR ASOCIADO A DICHA FECHA. program examen2; uses crt, math; type registro=record lugar:string; dia:integer;

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Conversión entre Tipos

Conversión entre Tipos Conversión entre Tipos La conversión entre tipos permite comparar y copiar valores entre diferentes tipos. En esta lección describiremos como convertir un tipo dado en otro. Conversión en VB y Existen

Más detalles

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc. Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción

Más detalles

Ecuaciones del plano. Cajón de Ciencias

Ecuaciones del plano. Cajón de Ciencias Ecuaciones del plano Cajón de Ciencias Un plano tiene sus propias ecuaciones que lo definen, al igual que ocurría con la recta. Algunas de ellas son bastante parecidas, y de hecho verás que el plano tiene

Más detalles

Inducción Matemática. Departamento de Matemáticas. Inducción Matemática p. 1/31

Inducción Matemática. Departamento de Matemáticas. Inducción Matemática p. 1/31 Inducción Matemática Departamento de Matemáticas Inducción Matemática p. 1/31 Inducción Matemática: Historia Inducción Matemática es un método de prueba relativamente reciente: Inducción Matemática p.

Más detalles

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * / undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No

Más detalles

Nuestro primer ejemplo nos dice: Escribe la ecuación de una línea que es perpendicular a la grafica de Y= ½x + 4 y pasa por los puntos (0,-1).

Nuestro primer ejemplo nos dice: Escribe la ecuación de una línea que es perpendicular a la grafica de Y= ½x + 4 y pasa por los puntos (0,-1). CGT.5.G.3-Pam Beach-Write the equation of a line perpendicular to a line through a point. La lección de hoy es sobre escribir una ecuación de una línea perpendicular a una línea dado un punto. El cuál

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

EJERCICIOS DETERMINANTES. 1º/ Calcula el siguiente determinante:

EJERCICIOS DETERMINANTES. 1º/ Calcula el siguiente determinante: EJERCICIOS DETERMINANTES. 1º/ Calcula el siguiente determinante: 3 7 1 2 0 1 1 3 6 a) Usando la Regla de Sarrus. b) Desarrollando por los elementos de la primera columna. 2º/ Obtén el valor del determinante

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero

Universidad de Valladolid. Departamento de informática. Campus de Segovia. Estructura de datos Tema 4: Ordenación. Prof. Montserrat Serrano Montero Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 4: Ordenación Prof. Montserrat Serrano Montero ÍNDICE Conceptos básicos Elección de un método Métodos directos

Más detalles

Programación Modular. Informática aplicada al medio ambiente curso 2010/2011

Programación Modular. Informática aplicada al medio ambiente curso 2010/2011 Programación Modular Informática aplicada al medio ambiente curso 2010/2011 Elementos básicos Estructuras de datos Modelización de la información Entrada, salida, datos intermedios, etc. Funciones Transformación

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Bootstrapping de Compiladores y Diagramas en T Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2012 Qué es un compilador?

Más detalles

Actualización Masiva de las Propiedades de Materiales WhitePaper Marzo de 2007

Actualización Masiva de las Propiedades de Materiales WhitePaper Marzo de 2007 Actualización Masiva de las Propiedades de Materiales WhitePaper Marzo de 2007 Contenidos 1. Propósito 3 2. Actualización masiva de las propiedades de los materiales 4 2.1. Actualización múltiple de los

Más detalles

Un programa escrito en Pascal tendrá generalmente la siguiente forma:

Un programa escrito en Pascal tendrá generalmente la siguiente forma: 1. ESTRUCTURA BÁSICA DE UN PROGRAMA PASCAL Un programa escrito en Pascal tendrá generalmente la siguiente forma: Program nombre_programa;uses ; (* comandos *) Program, como se ve, contiene el nombre del

Más detalles

MÚLTIPLOS Y DIVISORES

MÚLTIPLOS Y DIVISORES MÚLTIPLOS Y DIVISORES 1. MÚLTIPLOS DE UN NÚMERO. 1.1. CONCEPTO DE MÚLTIPLO. Un número es múltiplo de otro cuando lo contiene un número exacto de veces, es decir, cuando la división del primero entre el

Más detalles

7ª Práctica. Matlab página 1 EJERCICIO 1. ORDENAR UN VECTOR CON EL MÉTODO DE LA BURBUJA...1

7ª Práctica. Matlab página 1 EJERCICIO 1. ORDENAR UN VECTOR CON EL MÉTODO DE LA BURBUJA...1 7ª Práctica. Matlab página 1 PROGRAMACIÓN EN MATLAB PRÁCTICA 07 ORDENACIÓN VECTORES Y MATRICES EJERCICIOS REPASO PARA EL EXAMEN EJERCICIO 1. ORDENAR UN VECTOR CON EL MÉTODO DE LA BURBUJA...1 EJERCICIO

Más detalles

Las plantillas permiten definir funciones genéricas.

Las plantillas permiten definir funciones genéricas. Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

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

Arquitectura de Computadores II 8086 Parte II

Arquitectura de Computadores II 8086 Parte II 8086 Parte II Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Funciones recursivas Manejadores de dispositivos Rutinas recursivas(1/10) Introducción Salvar contexto.

Más detalles