Clase - Unidad 3 new2.pptx
Transcript of Clase - Unidad 3 new2.pptx
UNIDAD IIIPUNTEROS
JULIO - 2015
UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA
ANTONIO JOSE DE SUCRE
VICERRECTORADO PUERTO ORDAZ
DEPARTAMENTO DE INGENIERA ELECTRNICA
COMPUTACION II
Elaborado Por:
Prof. Silimar Salazar
Prof. Lorena Estvez
Esta plantilla se puede usar como archivo de inicio para presentar materiales educativos en un entorno de grupo.
Secciones
Para agregar secciones, haga clic con el botn secundario del mouse en una diapositiva. Las secciones pueden ayudarle a organizar las diapositivas o a facilitar la colaboracin entre varios autores.
Notas
Use la seccin Notas para las notas de entrega o para proporcionar detalles adicionales al pblico. Vea las notas en la vista Presentacin durante la presentacin.
Tenga en cuenta el tamao de la fuente (es importante para la accesibilidad, visibilidad, grabacin en vdeo y produccin en lnea)
Colores coordinados
Preste especial atencin a los grficos, diagramas y cuadros de texto.
Tenga en cuenta que los asistentes imprimirn en blanco y negro o escala de grises. Ejecute una prueba de impresin para asegurarse de que los colores son los correctos cuando se imprime en blanco y negro puros y escala de grises.
Grficos y tablas
En breve: si es posible, use colores y estilos uniformes y que no distraigan.
Etiquete todos los grficos y tablas.
1
INTRODUCCION
Un puntero, tambin llamado apuntador, es una herramienta que permite hacer los programas ms eficientes y flexibles, stos son una de las razones por las cuales el lenguaje C++ es tan potente y tan utilizado.
Todas las variables vistas hasta este momento contienen valores de datos, las variables punteros, por el contrario, almacenan direcciones de memoria que hacen referencia a dnde se encuentran datos guardados.
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Ofrezca una breve descripcin general de la presentacin. Describa el enfoque principal de la presentacin y por qu es importante.
Introduzca cada uno de los principales temas.
Si desea proporcionar al pblico una gua, puede repetir esta diapositiva de informacin general a lo largo de toda la presentacin, resaltando el tema particular que va a discutir a continuacin.
2
CONTENIDO
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
3
Definicin y Conceptos Bsicos.
Unidad III: PUNTEROS
Inicializacin de punteros.
Operaciones bsicas utilizando punteros.
Punteros de Arreglos como parmetros en funciones y procedimientos.
Punteros de Registros como parmetros en funciones y procedimientos.
Aplicaciones.
Implementacin de unidades para el manejo de punteros.
Definicin
y
Conceptos Bsicos
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
4
Concepto
de Puntero
Al declarar una variable, se le asocian tres atributos fundamentales:
Nombre o Identificador
Tipo de Dato
Direccin en Memoria
Al valor o contenido de una variable se accede por medio de su nombre. Para saber en qu direccin de memoria se aloja se le antepone el operador de direccin &.
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
sta es otra opcin para una diapositiva Informacin general que usa transiciones.
5
Concepto de Puntero
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
6
Declaracin de Puntero
Un puntero es una variable que contiene una direccin de una posicin de memoria que puede corresponder o no a una variable declarada en el programa.
La declaracin de una variable puntero se debe indicar el tipo de dato al que apunta y su nombre debe comenzar con un asterisco (*).
Tipo_de_Dato *Nombre_Variable_Puntero
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
7
Inicializacin
de
Punteros
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
8
Luego de la declaracin y antes de usar el puntero, ste se debe inicializar, es decir hacerlo apuntar a una variable. Existen dos mtodos de inicializacin: esttico y dinmico.
En el mtodo esttico se le asigna la direccin de la variable al puntero mediante el operador &, el cdigo sera como el siguiente:
Puntero = &Variable;
Inicializacin de Puntero
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
9
Operaciones bsicas utilizando punteros
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
10
Operaciones con Punteros
El uso del puntero para manipular el valor al que apunta, es decir, su dato apuntado, se denomina indireccionar o desreferenciar el puntero, para ello se utiliza el operador de indireccin: asterisco (*) en la instruccin.
*Puntero = Cantidad + 10
Leer ( *Puntero )
Mostrar ( *Puntero )
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
11
Resumen de Operadores
OperadorPropsito&Obtiene la direccin de una variable.*Define una variable como puntero.*Manipula el contenido de la variable a la cual apunta el puntero.Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
12
Siempre que aparezca un asterisco (*) en una definicin de variable, sta es una variable puntero.
Siempre que aparezca un asterisco delante de una variable puntero se accede a la variable a la que apunta el puntero.
El operador & devuelve la direccin de la variable a la cual se aplica.
C++ requiere que las variables puntero direccionen variables del mismo tipo de dato con el cual fueron declarados.
NOTAS IMPORTANTES
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
13
Operaciones bsicas utilizando punteros
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
14
Llene la siguiente tabla con los valores que correspondan segn el cdigo:
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Ejercicios: Parte 1.
15
Llene la siguiente tabla con los valores que correspondan segn el cdigo:
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Ejercicios: Parte 1.
16
Llene la siguiente tabla con los valores que correspondan segn el cdigo:
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Ejercicios: Parte 1.
17
Declaracin Dinmica
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
18
Declaracin Dinmica
Para manejar de forma dinmica la memoria de un programa, se utilizan los operadores NEW y DELETE.
El operador new solicita espacio de memoria para una estructura nueva que se quiera crear durante la ejecucin del programa:
Tipo_Dato *Nom_Punt = new Tipo_Dato[nelem];
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
sta es otra opcin para una diapositiva Informacin general que usa transiciones.
19
El operador delete libera o borra la memoria que ocupa la estructura de datos que se ha creado previamente con new.
delete [ ] Nom_Punt;
Declaracin Dinmica
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
20
Punteros a Arreglos como parmetros en funciones y procedimientos
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
Use un encabezado de seccin para cada uno de los temas, de manera que la transicin resulte clara para el pblico.
21
Punteros
funciones y procedimientos
Entre las variables punteros y las funciones existe una relacin significativa, ya que al utilizar parmetros formales de tipo punteros se estar aplicando el mtodo de paso por referencia.
Por lo tanto, un parmetro de tipo puntero representa una variable de entrada/salida.
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
sta es otra opcin para una diapositiva Informacin general que usa transiciones.
22
El nombre de un arreglo es un puntero que contiene la direccin de memoria en donde comienza la secuencia de elementos que conforman dicho arreglo.
Este nombre del arreglo es un puntero constante ya que no se puede modificar, es decir, no se puede mover la direccin a donde apunta.
Punteros a Arreglos
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
23
Si se tiene la siguiente declaracin de arreglo:
Su almacenamiento en memoria ser el siguiente:
int V[6]= {1, 11, 21, 31, 41, 51};Direccin100102104108110112Notacin ArregloV[0]V[1]V[2]V[3]V[4]V[5]Contenido11121314151Notacin Puntero*V*(V+1)*(V+2)*(V+3)*(V+4)*(V+5)Punteros a Arreglos
Computacin II Unidad III: Punteros.
Elaborado por: Ing. Silimar Salazar - Ing. Lorena Estvez
24
Punteros a Arreglos
Ejemplo 1. Desarrolle un programa que permita ingresar los datos de un arreglo y llenar un segundo arreglo con los datos invertidos del primero. Hgalo a travs de subrutinas.
#include
#include
void cargar (int *p, int n) {
int i;
for (i=0; i