Академический Документы
Профессиональный Документы
Культура Документы
PUNTE
ROSARCHI
VOSProfesor:
Bachilleres:
Jos Veracierta
Seccin:
IF-01 Repitiente
ndice
Pg.
Introduccin... 3
Unidad. 4 Punteros.
-Definicin, Declaracin, Operadores y Operaciones.. 4 - 5
-Punteros a Funciones. 5
-Punteros a Estructuras.... 6
Unidad. 5. Archivos.
-Concepto, Estructura y Acceso.. 6 - 7
-Tipos de Archivos, Datos y Texto.................... 7 - 8
-Mtodos para Realizar la Gestin de Archivos.. 8
Unidad. 6. Recursividad.
-Definicin 8
-Fundamentos Tericos. 8
-mbito de Aplicacin y Utilidad 9
-Ventajas y Desventajas de la Recursividad... 9
-Diseo y Escritura de Programa Recursivo................. 9 - 10
Conclusin 11
Introduccin
2
Unidad 4. Punteros.
Definicin de un Puntero:
Un puntero, tambin llamado apuntador, es una variable que contiene una direccin de
memoria, por lo tanto, su valor hace referencia a una posicin dentro de esta; en otras
palabras es una variable cuyo valor es una direccin de memoria.
Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para
referenciar bloques de memoria asignados dinmicamente y para proveer el paso de
argumentos por referencias en las llamadas a funciones.
Declaracin de un Puntero:
Para declarar un puntero hay que tener en cuenta que estos deben ir precedidos de un
asterisco (*). La forma sera la siguiente:
Tipo dato *puntero;
Dnde:
1. puntero: es el nombre de la variable tipo puntero. Esta puede tener cualquier
nombre.
2. Tipo dato: es el tipo de dato contenido en la variable a la que apunta el puntero.
Es de sealar que un puntero debe siempre ir dirigido a una variable de su mismo
tipo, un puntero de tipo char deber apuntar a una variable char.
Operadores de un Puntero:
En lenguaje C, existen dos operadores especiales para trabajar con puteros:
Operador de Indireccin (*): Adems de que nos permite declarar un tipo de dato
puntero, tambin nos permite ver el (Valor) que est en la direccin asignada.
Operaciones de un Puntero:
4
Un puntero nos permite sumar o restar nmeros enteros, pero su funcionamiento ahora es
de posiciones, es decir nos permitir movernos a la siguiente direccin de memoria.
A un puntero no se le puede realizar multiplicaciones, divisiones, sumas o restas con otro
puntero o con un valor de tipo coma flotante (float, double...). Esto es porque un puntero
no es un valor es una direccin.
En un puntero se pueden realizar varias operaciones de tipo enteras, pero en
dependencia de cmo se usen sus resultados pueden ser muy diferentes.
Punteros a Funciones:
Los punteros a funcin son uno de los recursos ms potentes y flexibles de C/C++,
permitiendo tcnicas de programacin muy eficientes. Por ejemplo, escribir funciones que
manejan diferentes tipos de datos; disear algoritmos muy compactos que pueden
sustituir largas cadenas como (if; else o switch) o alterar el flujo de ejecucin del
programa, modificando el orden de llamadas a funciones en base a determinadas
prioridades. As mismo, resultan de gran ayuda en programas de simulacin y modelado.
Para hablar de punteros a funciones, previamente hay que establecer que las funciones
tengan "direccin". Del mismo modo que en una matriz se asume que su direccin es la
del primer elemento, se asume tambin que la direccin de una funcin es la del
segmento de cdigo, donde comienza el cdigo de dicha funcin. Es decir, la direccin de
memoria a que se transfiere el control cuando se la invoca (su punto de comienzo).
Una vez establecido esto, no tiene que extraar que puedan definirse variables de un tipo
especial para apuntar a estas direcciones. Tcnicamente un puntero-a-funcin es una
variable que guarda la direccin de comienzo de la funcin. Pero como tendremos
ocasin de comprobar, la mejor manera de pensar en ellos es considerarlos como una
especie de "alias" de la funcin, aunque con una importante cualidad aadida: que
pueden ser utilizados como argumentos de otras funciones.
Por supuesto que los punteros a funcin se utilizan en ltimo extremo para acceder a la
funcin sealada (las funciones existen para ser invocadas). Pero en general, cuando se
utiliza este recurso, es muy frecuente que en alguno de los pasos intermedios se utilicen
tales funciones como argumentos de otras. De hecho puede decirse que los punteros a
funciones son en realidad un artificio de C++ para poder utilizar funciones como
argumentos de otras funciones, dado que la gramtica de C++ no permite en principio
utilizar funciones en la declaracin de parmetros. Por lo dems, no est permitida
ninguna operacin de aritmtica (de punteros) con ellos.
Punteros a Estructuras:
5
Del mismo modo que ocurre con las funciones, las estructuras tienen una direccin,
asumiendo que esta es el comienzo de su almacenamiento. Esto es especialmente cierto
en C, donde las estructuras representan exclusivamente conjuntos de datos. En C++ las
estructuras son cierto tipo de clases que pueden contener cdigo (funciones), pero incluso
entonces, lo que realmente se almacena en el cuerpo de la estructura son punteros
(datos) a las funciones correspondientes.
Unidad 5. Archivos.
Concepto de Archivos:
Un archivo o fichero informtico es un conjunto de bits que son almacenados en un
dispositivo. Un archivo es identificado por un nombre y la descripcin de la carpeta o
directorio que lo contiene. A los archivos informticos se les llama as porque son los
equivalentes digitales de los archivos escritos en expedientes, tarjetas, libretas, papel o
microfichas del entorno de oficina tradicional.
Estructura de Archivos:
La estructura de archivos es el nivel ms bsico de organizacin. Es una organizacin
impuesta a un archivo para facilitar su procesamiento. Es la combinacin de
representaciones de datos en archivos y al poseer una estructura de archivos asegura
que los usuarios y programas pueden acceder y escribir a los archivos. Un
buen diseo de estructuras de archivos, brindar acceso a grandes capacidades
de informacin, sin gastar tiempo de espera por el disco.
El estudio de las estructuras de archivos es necesario ya que la aplicacin de
las tcnicas de estructuras de datos ayuda a resolver problemas especiales asociados
con el almacenamiento y la recuperacin de datos en dispositivos de almacenamiento
secundario. El almacenamiento con dispositivos secundario posee ventajas en
comparacin con la memoria RAM, entre ellas se encuentran:
Acceso a Archivos:
6
Para acceder a los registros de un archivo, y leer una informacin o grabar informacin
nueva en el mismo. Existen fundamentalmente dos formas de acceso:
Tipos de Archivos:
1) De acuerdo a sus elementos se encuentran:
Archivos de entrada: Estos archivos estn compuestos por una serie de datos
almacenados en un dispositivo de entrada.
Archivos de salida: Estos archivos contienen aquella informacin que se la
visualiza desde la computadora.
Archivos de situacin: Estos archivos contienen informacin que es actualizada
constantemente.
Archivos constantes: Estos archivos estn conformados por registros cuyos
campos son fijos o bien, de baja frecuencia de variacin.
Archivos histricos: Est compuesto por datos que varan en el tiempo y con
informacin de los archivos actualizados.
Archivos de movimiento: Esta clase de archivos se utilizan junto con los
constantes y poseen en comn algn campo.
Archivos de maniobra: Estos se crean en el momento en que se ejecuta algn
programa y se borran una vez que finaliza la ejecucin, son auxiliares.
2) De acuerdo a los datos que almacenan se encuentran:
ASCII: En este tipo de archivo los datos son almacenados a travs de un simple
texto. Esto permite intercambiar a los datos que contienen as como tambin para
crear archivos que el propio usuario pueda modificar.
Binario: Esta clase de archivos, en cambio, almacena informacin en un lenguaje
al que slo la propia computadora comprende, por ejemplo colores, sonidos,
imgenes u rdenes. Estos archivos son de menor peso que los anteriores.
Unidad. 6. Recursividad.
Definicin de Recursividad:
La recursividad es una tcnica de programacin importante. Se utiliza para realizar una
llamada a una funcin desde la misma funcin. Se puede decir que la recursividad es la
forma en la cual se especifica un proceso basado en su propia definicin.
La recursividad es una de las formas de control ms importantes en la programacin. Los
procedimientos recursivos son la forma ms natural de representacin de muchos
algoritmos.
Fundamentos Tericos:
Una funcin recursiva es una funcin que se invoca a si misma directa o indirectamente.
Un proceso recursivo debe tener una condicin de terminacin, ya que no se puede
ejecutar indefinidamente.
La recursividad es una herramienta muy til en aplicaciones de clculo y en problemas
complejos de naturaleza recursiva. Puede ser utilizada como una alternativa a la
estructura repetitiva.
General
Problemas cuya solucin se puede hallar solucionando el mismo problema pero
con un caso de menor tamao.
Utilidad:
La recursividad consiste en realizar una definicin de un concepto en trminos del propio
concepto que se est definiendo.
Desventajas:
Podra ser menos eficiente.
Sobrecarga asociada con las llamadas a subalgoritmos.
Una simple llamada puede generar un gran nmero de llamadas recursivas.
El valor de la recursividad reside en el hecho de que se puede usar para resolver
problemas sin fcil solucin iterativa.
La ineficiencia inherente de algunos algoritmos recursivos.
Casos base:
Son los casos del problema que resuelve con un segmento de cdigo sin recursividad.
El nmero y forma de los casos base son hasta cierto punto arbitrarios. La solucin ser
mejor cuanto ms simple y eficiente resulte el conjunto de casos seleccionados.
Casos generales:
Conclusin.
10
Dentro del contexto se incluye de forma clara y desglosada, es decir, por punto o unidad;
Puntero, llamado tambin apuntador definido como una variable de direccin, que permite
tcnicas de programacin muy eficientes; El archivo, acta como almacenador de
equivalentes digitales est debidamente organizado para facilitar su acceso; La
recursividad, basada en su propia definicin la cual posee sus ventajas y desventajas
pero que va a ser provechosa si se le da la utilidad correcta.
11