Nothing Special   »   [go: up one dir, main page]

Teoria de Punteros y Paradigma de Programacion

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

UNIVERSIDAD NACIONAL SAN ANTONIO ABAD DEL

CUSCO

FACULTAD DE INGENIERIA DE ELECTRICA,


ELECTRONICA, MECANICA Y INFORMATICA

C.P: INGENIERIA ELECTRONICA (L.I)


NOMBRE: JOSE LUIS COMPANOCCA CHULLO
CODIGO: 141923
MONOGRAFIA: TEORIA DE PUNTEROS y PARADIGMA
DE PROGRAMACION
DOCENTE:
CUSCO-PERU
16-9-15

TEORIA DE PUNTEROS

INDICE
1. Definicin
2. Importancia de los punteros
3. Declaracin de punteros
4. Operadores
5. Aritmtica de operadores
6. Puntero de arreglos
7. Arreglos de punteros
8. Bibliografa

TEORIA DE PUNTEROS
1. DEFINICION
Un puntero (o apuntador) es una variable cuyo contenido es una direccin de
memoria (generalmente de otra variable). En esa posicin de memoria se
encuentra almacenada una variable de un tipo determinado (entera, real o
carcter). Se dice que la primera variable (el puntero) apunta a la segunda.
Un puntero tambin puede apuntar a otro puntero, es decir, almacenar la
direccin de memoria de otro puntero.
Es un variable esttica que, en vez de contener valores de datos, contiene
valores que representan direcciones de memoria de variables.
Desde el punto de vista del almacenamiento, un puntero posee un tamao de
a) 2 bytes para punteros near (dentro del mismo segmento de datos )
b) 4 bytes para punteros far (fuera del segmento de datos)

2. IMPORTANCIA DE LOS PUNTEROS


Los punteros son importantes, principalmente, por las siguientes razones:
o Proporcionan los medios para que las funciones puedan modificar sus
argumentos de llamada.
o Se utiliza como sistemas de asignacin dinmica de memoria e C.
o Hacen posible el uso de ciertas estructuras de datos tales como listas o
arboles binarios.
o Proporcionan la manera de devolver varios datos desde una funcin
mediante los argumentos de la misma.

3. DECLARACION DE PUNTEROS
La declaracin de un puntero consta de:

Tipo Base
Carcter *
Nombre de variable

Formato general para la declaracin de una variable puntero


Tipo_base*nombre_de_variable;

3.1TIPO BASE
Define el tipo de las variables a las cuales puede hacer referencia el puntero
En teora, cualquier tipo de puntero puede referenciar cualquier zona de la
memoria (rea de datos).
Los punteros pueden ser:

Tipificados

Genricos (sin tipo)

Siendo ms comunes los primeros, puesto que sobre ellos puede aplicarse lo
que luego veremos como aritmtica de punteros
3.2. CARCTER *
Indica que es una variable de tipo puntero y no una variable del tipo
especificado
3.3. NOMBRE DE VARIABLE
Se debe respetar todas las reglas para nombres de variables.

4. OPERADORES
Existen dos operadoras especiales de punteros: * y & .

El operador & (operador direccin), aplicado sobre el nombre de una


variable, devuelve su direccin de memoria.
El operador * (operador indireccin) aplicado sobre una variable de tipo
puntero permite acceder al dato al que apunta, es decir, al valor de la
variable situada en esa direccin de memoria.

5. Aritmtica de punteros
Existen slo dos operaciones aritmticas que se puedan usar con punteros: la
suma y la resta.
Cada vez que se incrementa un puntero, apunta a la posicin de memoria del
siguiente elemento de su tipo base. Cada vez que se decremento, apunta a la
posicin del elemento anterior. Con punteros a caracteres parece una
aritmtica normal, sin embargo, el resto de los punteros aumentan o decrecen
la longitud del tipo de datos a los que apuntan.
Por ejemplo, si asumimos que los enteros son de dos bytes de longitud y p1 es
un puntero a entero con valor actual 2000. Entonces, despus de la expresin
p1++; p1 contiene el valor 2002, no 2001.

No pueden realizarse otras operaciones aritmticas sobre los punteros ms all


de la suma y resta de un puntero y un entero. En particular, no se pueden
multiplicar o dividir punteros y no se puede sumar o restar el tipo float o el tipo
double a los punteros.

6. Punteros y Arreglos
Existe una estrecha relacin entre los punteros y los arreglos. Considrese el
siguiente fragmento:
char cad[80], *p1;
p1=cad;
Aqu, p1 ha sido asignado a la direccin del primer elemento del arreglo cad.
Para acceder al quinto elemento de cad se escribe cad[4] o *(p1+4).
Un nombre de un arreglo sin ndice devuelve la direccin de comienzo del
arreglo, que es el primer elemento. El compilador traduce la notacin de
arreglos en notacin de punteros.
Es decir, al crear un arreglo se genera un puntero (en realidad una constante
de puntero) con el mismo nombre que apunta a la direccin del primer
elemento del arreglo.

7. Arreglos de punteros
Los punteros pueden estructurarse en arreglos como cualquier otro tipo de
datos. La declaracin, por ejemplo, para un arreglo de punteros a enteros de
tamao 10 es: int *x[10];
Para asignar la direccin de una variable entera llamada var al tercer elemento
del arreglo de punteros se escribe:x[2]=&var;
Se puede encontrar el valor de var de la forma: var de la forma: *x[2];Si se
quiere pasar un arreglo de punteros a una funcin, se puede utilizar el mismo
mtodo que se utiliza para otros arreglo: llamar simplemente a la funcin con el
nombre del arreglo sin ndices. As se pasa el puntero que apunta al arreglo.
No se pasa un puntero a enteros, sino un puntero a un arreglo de punteros a
enteros.

8. BIBLIOGRAFIA
#http://labsys.frc.utn.edu.ar/ppr-2009/Unidad%20I%20-%20POO
%20Avanzada/Apunte/Unidad%20I%20-%20POO%20Avanzada.pdf
# https://programacion1-teoria.wikispaces.com

PARADIGMA DE PROGRAMACION

INDICE
1. Concepto
2. TIPOS DE PARADIGMA DE PROGRAMACION
2.1. Programacin Imperativa
2.2.1. Programacin orientada a objetos
2.2.2. Programacin dinmica
2.2. Programacin Declarativa
2.2.1. Programacin funcional
2.2.2. Programacin lgico
2.3. Programacin estructurada
2.4. Otros paradigmas y subparadigmas de programacin

PARADIGMA DE PROGRAMACION
1. CONCEPTO
Representa un enfoque partculas o filosofa para disear distintas soluciones.
Un paradigma de programacin esta delimitado en el tiempo en cuanto a
aceptacin y uso, porque nuevos paradigmas aportan nuevas o mejores
soluciones que la sustituyen parcial o totalmente.
Donde tradicionalmente, datos y procesamiento se han separado en reas
distintas ,esto provoco la fiabilidad , mantenimiento , adaptacin a los cambios.
Es en donde con la OO (orientacin a objetos es el ms utilizado
actualmente) permiti un avance en el desarrollo de software.
2. TIPOS DE PARADIGMA DE PROGRAMACION
2.1. Programacin imperativa o por procedimientos
Describe la programacin como una secuencia instrucciones o comandos que
cambian el estado de un programa. Los lenguaje de Maquina en general est
basado en el paradigma imperativo. Su contrario es el paradigma declarativo.

2.1.1. Programacin orientada a objetos: esta basado en el


imperativo, esta basado en la idea de encapsular estado y operaciones
en objetos. En general , la programacin e resuelve comunicando dichos
objetos a travs de mensajes. Su principal ventaja es la reutilizacin de
cdigos y su factibilidad para pensar soluciones a determinadas
problemas.

2.1.2. Programacin dinmica: es el proceso de romper problemas en


partes pequeas y resolverlos y analizar cada uno, con ms eficiencia y
optima ,se puede utilizar cualquier algoritmo con cualquier lenguaje
imperativo.

2.2. Programacin declarativa


No se basa en el cmo se hace algo (cmo se logra un objetivo paso a paso),
sino que describe (declara) cmo es algo. En otras palabras, se enfoca en
describir las propiedades de la solucin buscada, dejando indeterminado el
algoritmo (conjunto de instrucciones) usado para encontrar esa solucin. Es
ms complicado de implementar que el paradigma imperativo, tiene
desventajas en la eficiencia, pero ventajas en la solucin de determinados

2.2.1. Programacin funcional: este paradigma concibe a la


computacin como la evaluacin de funciones matemticas y evita
declarar y cambiar datos. En otras palabras, hace hincapi en la
aplicacin de las funciones y composicin entre ellas, ms que en los
cambios de estados y la ejecucin secuencial de comandos (como lo
hace el paradigma procedimental). Permite resolver ciertos problemas
de forma elegante y los lenguajes puramente funcionales evitan los
efectos secundarios comunes en otro tipo de programaciones.

2.2.2. Programacin lgico :se basa en la definicin de reglas lgicas


para luego, a travs de un motor de inferencias lgicas, responder
preguntas planteadas al sistema y as resolver los problemas. Ej.:
prolog.

2.3. Programacin Estructurado


La programacin se divide en bloques (procedimientos y funciones) que
pueden o no comunicarse entre s. Adems la programacin se controla con
secuencia, seleccin e iteracin. Permite reutilizar cdigo programado y otorga
una mejor compresin de la programacin. Es contrario al paradigma
inestructurado, de poco uso, que no tiene ninguna estructura, es simplemente
un bloque, como por ejemplo, los archivos batch (.bat).
2.4. Otros paradigmas y subparadigmas de programacin
Son paradigma orientado al sujeto, paradigma reflectante, programacin
basada en reglas, paradigma basado en restricciones, programacin basada en
prototipos, paradigma orientado a aspectos, etc.

3.BIBLIOGRAFIA
#http://www.monografias.com/trabajos20/paradigmas-deprogramacion/paradigmas-de-programacion.shtml
#http://www.iqcelaya.itc.mx/~vicente/Programacion/Paradigmas.pdf

También podría gustarte