Logo Studenta

Tarea 11 punteros

¡Estudia con miles de materiales!

Vista previa del material en texto

Punteros 
Introducción:
¿Qué son los punteros?
Un puntero es una variable que almacena la dirección de memoria de un objeto . Los punteros se usan ampliamente en C y C++ para tres propósitos principales:
· Para asignar nuevos objetos en el montón,
· Para pasar funciones a otras funciones
· Para recorrer en iteración los elementos de matrices u otras estructuras de datos.
Las variables que contienen direcciones a memoria se denominan de tipo puntero.
ejemplo:
 int precio = 23;
 printf("Precio: %i\n", precio);
 int *punteroAPrecio = &precio;
 printf("Puntero a precio: %i", punteroAPrecio);
Declarando una variable de tipo puntero
Se declara como una variable normal, solo que se precede su nombre con un asterisco. En este caso no tiene un tipo especial como "pointer" o algo así, sino que se deduce que es un puntero por el asterisco. Y en la declaración, el tipo, se sigue utilizando, y representa al tipo del valor al que apunta.
Ejemplos:
· int * : es un puntero a una dirección de memoria alocada para contener un entero
· float * 
· int * variable[]: es un arreglo de punteros a enteros
Obtener la dirección de una variable (&)
El operador & precede a una variable y nos permite obtener la dirección de memoria a la que apunta.
Así es que en nuestro ejemplo (de más arriba) creamos un puntero que apunta la misma posición de memoria que la variable antes declarada.
Desarrollo:
La practica 11 es desarrollar al menos 3 ejercicios que vienen anexados en la página: http://ejercicioscpp.blogspot.com/p/ejercicios.html para poder tener una mejor comprensión de cómo se debe ejecutar correctamente los punteros, estas prácticas solamente son posibles en lenguaje C ya que en Python no existe como tal los punteros. El Pseudocodigo y el código en ejecución estarán mostrados en capturas a continuación.
Pseudocodigo: (convertir cadena a mayúsculas)
//Variables
	Vacio pasa_a_mayusculas(char *)
	
//Funciones (menú principal)
	Inicio
		Char cadena[80]
		Imprimir (“Escriba una cadena de caracteres”)
		Escanear (cadena,80)
		pasa_a_mayusculas(cadena)
		Imprimir (“Cadena en mayúsculas”,cadena)	
		Sistema (“pause”)
Fin
Vacio pasa_a_mayusculas(char *s)
	Inicio
		Mientras(*s)
			*s = toupper(*s)
			S++
	Fin
Pseudocodigo: (calcular el mayor numero de un vector)
//Variables
	constante entero elemento = 8;
flotante mayor(float*)
	
//Funciones (menú principal)
	Inicio
		Flotante a[elemento]
	desde (i = 0;i < elemento; i++)
		Imprimir (“introduce el elemento:”,i)
		Escanear (a[i])
	Imprimir (“El mayor numero es:”,mayor)
Fin
Flotante mayor (float *v) 
Inicio
 	Flotante mayor;
 int i;
 mayor=*v; 
 v++; 
 	Desde (i=1;i<elemento;i++)
 	 Si (*v > mayor) 
 		 mayor=*v
 	 v++
retorno mayor
Fin
Pseudocodigo: (calcular el número de vocales de una cadena)
//Variables
	Entero cuenta_vocales(char *)
	
//Funciones (menú principal)
	Inicio
		Char cadena [80]
		Imprimir (“Introduce una cadena”)
		Escanear(cadena,80)
		Imprimir (“Numero de vocales”,cuenta_vocales(cadena))
Fin
Entero cuenta_vocales(char *s)
Inicio
 	Entero cont = 0;
	Mientras (*s)
 	 	Cambiar (toupper(*s)) 
 		Caso 'A':
 		Caso 'E':
 		Caso 'I':
 		Caso 'O':
 		Caso 'U': 
 cont++
 	 s++
retorno cont
Fin
Resultados:
Primero programa en lenguaje c que mediante el uso de punteros calculara el mayor numero según los datos ingresados en el vector correspondiente
Segundo programa que tiene como función leer una cadena para que después sea esta trasladada a una función que ejecute nuevamente otra función para cambiar cada letra de la cadena en una letra mayúscula, al final esta cadena será nuevamente impresa en pantalla
Ultimo programa que utilizara la memoria del puntero para encontrar en donde se encuentra ubicado una vocal, esta la almacenara en una función para después ser llamada a la función principal
Conclusiones:
La practica pasada fue sobre las funciones, de cómo estas podían llegar a facilitar al programador la ejecución del programa. Esta practica sobre el tema de punteros nos ayuda aun mas a las funciones ya que su utilidad es cambiar el parámetro de una función, ya sea por que nos equivocamos en algo o simplemente para ejecutar la función de un modo mas especifico, las variables juegan un papel importante en este tema ya que es donde se llevara a cabo los punteros.
 
Bibliografía
Oeste, U. N. (s/d). Google Sites. Obtenido de https://sites.google.com/site/programacioniiuno/temario/unidad-1---manejo-de-memoria-dinmica/punteros-referencias-y-direcciones?authuser=0

Continuar navegando