1
Enero,2019
Ejemplos
Recursividad
Colas
Y más!
UNIVERSIDAD FERMÍN
TORO
VICERECTORADO
ACADÉMICO
FACULTAD DE INGENIERIA
ESCUELA DE COMPUTACION
En la presente revista queremos dar hincapié
en la importancia de la recursividad y las colas
informáticas, en los lenguajes de programación.
2
Introducción
Definición.
Ejemplo.
Indicadores:
• Año de Edición:
Noviembre del 2019.
• Editor:
-José Poleo. C,I-26768204.
INDICE
3
Tema Pagina
Resumen Curricular………………………………………… 4
Recursividad………………………………………... 5
Características……………………………………….. 6-7
Colas ………………………………………………………….7
Características ……………………………………………….8
Tipos ……………………………………………………………8-9.
Entretenimiento……………………………………………….10
RESUMEN
CURRICULAR
DEL AUTOR
* Nombres y Apellidos: José De Jesús Poleo Cuello.
* Edad:20.
* Estudios Realizados:
-Básica.
-Media.
-Diversificada.
- Educación Superior:
° 4 semestres de Ingeniería en computación.
° 2 semestres de ingeniería en sistemas.
* Cursos realizados:
-HTML4.
-HTML5,
* Experiencia laborale:
-Digitalizador.
-Eventos infantiles.
-Desarrollo de paginas web.
* Experiencia Social:
-Movimiento Juvenil “ANCLA”:
*Delegado Regional del Movimiento Juvenil Ancla.
4
5
Es una técnica de programación importante. Se utiliza para realizar una
llamada a una función desde la misma función.
Se puede decir que la recursividad es la forma en la cual se especifica un proceso
basado en su propia definición. Siendo un poco más precisos, y para evitar el
aparente círculo sin fin en esta definición:
Un problema que pueda ser definido en función de su tamaño, sea este N, pueda
ser dividido en instancias más pequeñas (menores que N) del mismo problema y se
conozca la solución explícita a las instancias más simples, lo que se conoce como
casos base ( o lo que llamo criterio de parada), se puede aplicar inducción sobre las
llamadas más pequeñas y suponer que estas quedan resueltas.
La recursividad es un concepto importante en informática. Muchos algoritmos se
pueden describir mejor en términos de recursividad.
La recursividad es un concepto
importante en informática. Muchos
algoritmos se pueden describir mejor en
términos de recursividad.
Supongamos que P es un
procedimiento que contiene una sentencia de
Llamada a si mismo o una sentencia de
Llamada a un segundo procedimiento que
puede eventualmente llamar de vuelta al
procedimiento original P. Entonces P se dice
que es un procedimiento recursivo. Como el
programa no ha de continuar ejecutándose
indefinidamente, un procedimiento recursivo
ha de tener las dos siguientes propiedades:
-Debe existir un cierto criterio, llamado
criterio base, por el que el procedimiento no
se llama así mismo.
-Cada vez que el procedimiento se llame a si
mismo (directa o indirectamente), debe estar
más cerca del criterio base.
.
6
Un procedimiento recursivo con estas dos
propiedades se dice que esta bien definido.
Análogamente, una función se dice que esta
definida recursivamente si la definición de la función se refiere
a sí misma. De nuevo, para que la definición no sea circular,
debe tener las dos siguientes propiedades:
Debe haber ciertos argumentos, llamados valores base, para los
que la función no se refiera a si misma.
Cada vez que la función se refiera a si misma, el argumento de
la función debe acercarse más al valor base.
Una función recursiva con estas dos propiedades se
dice también que está bien definida..
Un algoritmo recursivo consta de una
parte recursiva, otra iterativa o no recursiva y una
condición de terminación. La parte recursiva y la
condición de terminación siempre existen. En
cambio la parte no recursiva puede coincidir con la
condición de terminación. Algo muy importante a
tener en cuenta cuando se use la recursividad es que
es necesario asegurarnos que llega un momento en
que no hacemos más llamadas recursivas. Si no se
cumple esta condición el programa no parará nunca.
7
Una cola es una estructura de datos,
caracterizada por ser una secuencia de elementos en
la que la operación de inserción push se realiza por
un extremo y la operación de extracción pop por el
otro. También se le llama estructura FIFO (del inglés
First In First Out), debido a que el primer elemento
en entrar será también el primero en salir.
Las colas se utilizan en sistemas
informáticos, transportes y operaciones de
investigación (entre otros), dónde los objetos,
personas o eventos son tomados como datos que se
almacenan y se guardan mediante colas para su
posterior procesamiento. Este tipo de estructura de
datos abstracta se implementa en lenguajes
orientados a objetos mediante clases, en forma de
listas enlazadas..
8
- Añade nuevos elementos, al final de la misma.
-Se elimina el elemento frontal de la cola, es decir, el primer elemento que entró.
-Se devuelve el elemento frontal de la cola, es decir, el primero elemento que
entró.
En las colas lineales los elementos se insertan en la cola (parte
final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de
la lista. Las explicaciones utilizan una cola para almacenar elementos en un
orden de aparición o concurrencia. Se debe tomar en cuenta que ese tipo de
estructura es limitada ya que una vez llenada la cola no podrá reutilizar ese
espacio hasta reiniciar la cola.
9
.Una cola circular o anillo es una estructura de datos en la que los
elementos están de forma circular y cada elemento tiene un sucesor y un
predecesor. Los elementos pueden consultarse, añadirse eliminarse
únicamente desde la cabeza del anillo que es una posición distinguida. Esta
avanza en el sentido de las agujas del reloj.
Para la creación de una cola
circular se usan 2 punteros que
llamaremos frente y final. El puntero
frente se declara en -1 y el punteo final
en 0, una vez se inserte un elemento en
la cola el puntero final será el que se
moverá y el eliminarlo es el puntero
frente quien se mueve...
Esta estructura elimina las
limitaciones de la cola lineal ya que los
espacios de memoria se pueden volver
a usar una vez el puntero frente avance
es decir extraer un registro. Para que
esto pueda suceder se debe tomar en
cuenta que el registro máximo de
posiciones a llenar será n-1 ya que debe
existir un espacio en la cola que se
utilizara como un espacio de control
para que los punteros frente y final no
estén en la misma posición en ningún
momento.
Sección de
Entretenimiento
10
11

Tarea 3

  • 1.
  • 2.
    En la presenterevista queremos dar hincapié en la importancia de la recursividad y las colas informáticas, en los lenguajes de programación. 2 Introducción Definición. Ejemplo. Indicadores: • Año de Edición: Noviembre del 2019. • Editor: -José Poleo. C,I-26768204.
  • 3.
    INDICE 3 Tema Pagina Resumen Curricular…………………………………………4 Recursividad………………………………………... 5 Características……………………………………….. 6-7 Colas ………………………………………………………….7 Características ……………………………………………….8 Tipos ……………………………………………………………8-9. Entretenimiento……………………………………………….10
  • 4.
    RESUMEN CURRICULAR DEL AUTOR * Nombresy Apellidos: José De Jesús Poleo Cuello. * Edad:20. * Estudios Realizados: -Básica. -Media. -Diversificada. - Educación Superior: ° 4 semestres de Ingeniería en computación. ° 2 semestres de ingeniería en sistemas. * Cursos realizados: -HTML4. -HTML5, * Experiencia laborale: -Digitalizador. -Eventos infantiles. -Desarrollo de paginas web. * Experiencia Social: -Movimiento Juvenil “ANCLA”: *Delegado Regional del Movimiento Juvenil Ancla. 4
  • 5.
    5 Es una técnicade programación importante. Se utiliza para realizar una llamada a una función desde la misma función. Se puede decir que la recursividad es la forma en la cual se especifica un proceso basado en su propia definición. Siendo un poco más precisos, y para evitar el aparente círculo sin fin en esta definición: Un problema que pueda ser definido en función de su tamaño, sea este N, pueda ser dividido en instancias más pequeñas (menores que N) del mismo problema y se conozca la solución explícita a las instancias más simples, lo que se conoce como casos base ( o lo que llamo criterio de parada), se puede aplicar inducción sobre las llamadas más pequeñas y suponer que estas quedan resueltas. La recursividad es un concepto importante en informática. Muchos algoritmos se pueden describir mejor en términos de recursividad. La recursividad es un concepto importante en informática. Muchos algoritmos se pueden describir mejor en términos de recursividad. Supongamos que P es un procedimiento que contiene una sentencia de Llamada a si mismo o una sentencia de Llamada a un segundo procedimiento que puede eventualmente llamar de vuelta al procedimiento original P. Entonces P se dice que es un procedimiento recursivo. Como el programa no ha de continuar ejecutándose indefinidamente, un procedimiento recursivo ha de tener las dos siguientes propiedades: -Debe existir un cierto criterio, llamado criterio base, por el que el procedimiento no se llama así mismo. -Cada vez que el procedimiento se llame a si mismo (directa o indirectamente), debe estar más cerca del criterio base. .
  • 6.
    6 Un procedimiento recursivocon estas dos propiedades se dice que esta bien definido. Análogamente, una función se dice que esta definida recursivamente si la definición de la función se refiere a sí misma. De nuevo, para que la definición no sea circular, debe tener las dos siguientes propiedades: Debe haber ciertos argumentos, llamados valores base, para los que la función no se refiera a si misma. Cada vez que la función se refiera a si misma, el argumento de la función debe acercarse más al valor base. Una función recursiva con estas dos propiedades se dice también que está bien definida.. Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condición de terminación. La parte recursiva y la condición de terminación siempre existen. En cambio la parte no recursiva puede coincidir con la condición de terminación. Algo muy importante a tener en cuenta cuando se use la recursividad es que es necesario asegurarnos que llega un momento en que no hacemos más llamadas recursivas. Si no se cumple esta condición el programa no parará nunca.
  • 7.
    7 Una cola esuna estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas..
  • 8.
    8 - Añade nuevoselementos, al final de la misma. -Se elimina el elemento frontal de la cola, es decir, el primer elemento que entró. -Se devuelve el elemento frontal de la cola, es decir, el primero elemento que entró. En las colas lineales los elementos se insertan en la cola (parte final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista. Las explicaciones utilizan una cola para almacenar elementos en un orden de aparición o concurrencia. Se debe tomar en cuenta que ese tipo de estructura es limitada ya que una vez llenada la cola no podrá reutilizar ese espacio hasta reiniciar la cola.
  • 9.
    9 .Una cola circularo anillo es una estructura de datos en la que los elementos están de forma circular y cada elemento tiene un sucesor y un predecesor. Los elementos pueden consultarse, añadirse eliminarse únicamente desde la cabeza del anillo que es una posición distinguida. Esta avanza en el sentido de las agujas del reloj. Para la creación de una cola circular se usan 2 punteros que llamaremos frente y final. El puntero frente se declara en -1 y el punteo final en 0, una vez se inserte un elemento en la cola el puntero final será el que se moverá y el eliminarlo es el puntero frente quien se mueve... Esta estructura elimina las limitaciones de la cola lineal ya que los espacios de memoria se pueden volver a usar una vez el puntero frente avance es decir extraer un registro. Para que esto pueda suceder se debe tomar en cuenta que el registro máximo de posiciones a llenar será n-1 ya que debe existir un espacio en la cola que se utilizara como un espacio de control para que los punteros frente y final no estén en la misma posición en ningún momento.
  • 10.
  • 11.