Вы находитесь на странице: 1из 11

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educacin Universitaria


Universidad Politcnica Territorial Jos Antonio Anzotegui UPTJAA
El Tigre Edo. Anzotegui. Venezuela

PUNTE
ROSARCHI
VOSProfesor:

Bachilleres:

Jos Veracierta

Heisel Marval C.I: 25.566.873


Johan Ospina C.I: 26.605.625

Seccin:
IF-01 Repitiente

El Tigre, Enero 2016.

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

De acuerdo al programa de estudia universitario estas unidades pertenecientes a la


materia de programacin facilita al estudiante el conocimiento necesario para mejorar y
enriquecer las actividades referentes a lo que se denomina, punteros, estructuras y
funciones, archivos, estructura, acceso, tipos y mtodos, recursividad, fundamentes,
mbitos, diseo, etc. A dems de las literaturas consultado contamos con la colaboracin
del profesor encargado de la materia.

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 Direccin (&): Este nos permite acceder a la direccin de memoria


de una variable.

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.

Incrementos (++) y Decrementos (--): Se puede usar un puntero como si de un


array se tratase, es por esto que permite estos operadores.

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:

El espacio disponible en el almacenamiento secundario es ilimitado.


El almacenamiento secundario es menos costosa y
El almacenamiento secundario no es voltil.

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:

Acceso secuencial: Se accede a los registros segn secuencia fsica, en el orden


es que estn escritos. Dicho de otro modo, para acceder al registro hay que pasar
previamente por los registros anteriores.
Acceso Directo: Permite el acceso a un registro determinado sin tener que pasar
previamente por los registros anteriores.

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.

3) De acuerdo al mecanismo que se utiliza para acceder a los archivos se


encuentran los siguientes:
Archivos directos: En estos cada registro puede leerse y escribirse directamente.
Esto se logra con la expresin de su direccin en el fichero.
Archivos secuenciales: En estos archivos los registros se organizan de manera
secuencial de manera tal que para leer uno, se deben haber ledo los anteriores.
7

Archivos de ndices: En estos archivos se puede acceder a los registros a partir


de la contrasea que posean.

Mtodos para Realizar la Gestin de Archivos:


Gestin de archivos: es la administracin de los archivos esto se realiza a travs del
sistema operativo permitiendo que los usuarios tengan acceso directo con los archivos y
tengan control de ellos, as como tambin se puede enviar y compartir archivos con otros
usuarios, brindarles seguridad y proteccin a estos. De modo que le permite al usuario
realizar ciertas operaciones con ellos, las cuales son:

Puedes crear un archivo, identificndolo con un nombre y determinar el espacio de


este.
Abrir el archivo, aqu se realiza distintas operaciones como su ejecucin, leerlo,
escribir en l.
Borrarlo de modo que puedes liberar el espacio que ocupa este archivo.
Cerrar el archivo, finaliza la ejecucin de este.
Modificarlo permite hacer cambios al archivo como cambiar su nombre.

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.

mbito de Aplicacin y Utilidad:

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.

Ventajas y Desventajas de la Recursividad:


Ventajas:

No es necesario definir la secuencia de pasos exacta para resolver el problema.


Soluciones simples, claras.
Soluciones elegantes.
Soluciones a problemas complejos.

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.

Diseo y Escritura de Programas Recursivo:


Para resolver un problema, el primer paso ser la identificacin de un algoritmo recursivo,
es decir, descomponer el problema de forma que su solucin quede definida en funcin de
ella misma pero para un tamao menor y la tarea a realizar para un caso simple.
Tendremos que disear: casos base, casos generales y la solucin en trminos de ellos.

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:

Si el problema es suficientemente complejo, la solucin se expresa, de forma recursiva,


como la unin de:
1. La solucin de uno o ms subproblemas de igual naturaleza pero menor tamao.
2. Un conjunto de pasos adicionales. Estos pasos junto con las soluciones a los
subproblemas que componen la solucin al problema general que queremos
resolver.

Escritura de Programas Recursivos:


1. Obtencin de una definicin exacta del problema.
2. Determinar el tamao del problema completo que hay que resolver. Parmetros en
la llamada inicial.
3. Resolver (el/los) casos bases o triviales (no recursivos).
4. Resolver el caso general en trminos de un caso ms pequeo (llamada
recursiva).

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

Вам также может понравиться