miércoles, 17 de noviembre de 2010

Portafolio N°4 TERCER CORTE

PORTAFOLIO N°4
Tercer Corte
Nombre: Sergio Andrés Gutiérrez Gutiérrez
Carrera: Ing. De Sistemas
Semestre: Segundo
Materia: Programación Básica
Profesora: Edith Cortes

Palabras Claves
·         Punteros
Síntesis:
Las variables de tipo puntero son las que nos permiten referenciar datos dinámicos.
Tenemos que diferenciar claramente entre:

1. la variable referencia o apuntadora, de tipo puntero;

2. la variable anónima referenciada o apuntada, de cualquier tipo, tipo que estará
Asociado siempre al puntero.

Físicamente, un puntero no es más que una dirección de memoria.
Antes de definir los punteros, vamos a recordar como puede darse nombre a tipos de
datos propios utilizando la palabra reservada typedef. El uso de typedef (de_nici_on de
tipo) en C++ permite definir un nombre par un tipo de datos en C++. La declaración
de typedef es similar a la declaración de una variable. La forma es: typedef tipo
Nuevo-tipo;.
Introduciremos las declaraciones de tipo antes de las declaraciones de variables en el
código.
Denigremos un tipo puntero con el carácter asterisco (*) y especificando siempre el
tipo de la variable referenciada. Ejemplo:
typedef int *PtrInt; // puntero a enteros
PtrInt p; // puntero a enteros
O bien directamente:
int *p; // puntero a enteros
Cuando p esté apuntando a un entero de valor -13, graficamente lo representaremos as__:
-13
P

Para acceder a la variable apuntada hay que hacerlo a través de la variable puntero,
ya que aquella no tiene nombre (por eso es anónima). La forma de denotarla es *p. En
el ejemplo *p = -13 (y p = dirección de memoria de la celda con el valor -13, dirección El operador * antepuesto a una variable puntero devuelve el valor que ésta almacena, partiendo de su dirección inicial, en un número de celdas de memoria, que viene definido por el tipo de la variable apuntada. Entonces, siguiendo con el ejemplo anterior:
Código
El operador * antepuesto a una variable puntero devuelve el valor que ésta almacena, partiendo de su dirección inicial, en un número de celdas de memoria, que viene definido por el tipo de la variable apuntada. Entonces, siguiendo con el ejemplo anterior:

int otra_variable; // Declara una variable tipo int
otra_variable = *puntero;
/* Almacena en <otra_variable> el valor <123456>,
el valor que contiene <variable> que es apuntada por <puntero> */

Reflexión:

Portafolio N°3 TERCER CORTE

PORTAFOLIO N°3
Tercer Corte
Nombre: Sergio Andrés Gutiérrez Gutiérrez
Carrera: Ing. De Sistemas
Semestre: Segundo
Materia: Programación Básica
Profesora: Edith Cortes

Palabras Claves

·         Memoria Dinámica

Síntesis:

Memoria dinámica en C++
¿Qué es?
¿Para qué sirve?
Ejemplos

Desarrollo
1.    La memoria dinámica es un espacio de almacenamiento que se puede solicitar en tiempo de ejecución, además de solicitar espacios de almacenamiento, también podemos liberarlos en tiempo de ejecución cuando dejemos de necesitarlos.
2.    Sirve para solicitar memoria de almacenamiento para los puntero
     Para realizar esta administración de la memoria dinámica, C++ cuenta con dos operadores new y delete. Antes de utilizarlos, debemos incluir el encabezado <new>.
Para eliminar punteros de usa:
Delete pqr;
Para eliminar arreglos se usa
Delete [] pqr
            Ejemplo
Punto*ptrQ;              ptrQ = new Punto(5,7);


Código:
puntero = new nombreTipo (inicializado opcional);
As__: p = new int; donde p es una variable de tipo puntero a entero. En tiempo de
ejecuci_on, despu_es de la llamada a este operador, tendremos ya la memoria (dinámica)
Reservada pero sin inicializar:


struct TipoRegistro { int num; char car; };
typedef TipoRegistro *TipoPuntero;
TipoPuntero p = new TipoPuntero;

Reflexión:
Necesitamos punteros para utilizar la memoria dinámica 

Portafolio N°2 TERCER CORTE

PORTAFOLIO N°2
Tercer Corte
Nombre: Sergio Andrés Gutiérrez Gutiérrez
Carrera: Ing. De Sistemas
Semestre: Segundo
Materia: Programación Básica
Profesora: Edith Cortes

Palabras Claves
·         Matrices

·         Arreglo bidimensional

Síntesis

Matrices: Desde el punto de vista del programa, una matriz (array ó vector) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz [1]. Desde el punto de vista lógico podemos considerarlas como un conjunto de elementos ordenados en fila. Así pues, en principio todas las matrices son de una dimensión, la dimensión principal, pero veremos que los elementos de esta fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multi-dimensionales, aunque las más fáciles de "ver" o imaginar son las de dos y tres dimensiones.

Arreglo Bidimensional: Es un arreglo de dos dimensiones.
Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada elemento se puede trabajar individualmente y se puede referenciar con un mismo nombre. Se usan para representar datos que pueden verse como una tabla con filas y columnas.
ü Declaración:
Tipo_dato nombre_matriz [índice fila] [índice columna]
ü Uso:
Nombre_matriz [subíndice1] [subíndice2]
Int matriz [2][2]
char mapa [100][100]
int certamen [60][4]
Declara una matriz de 3 filas por 4 columnas.

Código
#include <iostream.h>
#include <conio.h>
int main()
{
    int f;
    int c;
    int edad;
    for(f=0;f<4;f++)
    {
                    for(c=0;c<6;c++)
                    {
                                     cout<<"Digite el valor de la matriz en la             pos["<<f<<"]["<<c<<"]n\";
                                     cin>>edad[f][c];
                    }
     }
}


Reflexión:
En esta clase tuvimos la oportunidad de usar  arreglos para  representar datos que pueden verse como una tabla con filas y columnas

Portafolio N°1 TERCER CORTE

Portafolio N°1
Tercer Corte.
Nombre: Sergio Andrés Gutiérrez
Carrera: Ing. De Sistemas
Semestre: Segundo
Universidad: Fundación San José
Grupo: A
Palabras Claves:
·        Cout

·        Get

·        Getchar

·        Pow

·        Cin

·        Rand

·        Scanf

·        Mod

·        System

·        Rand

·        Sin

Reflexion
En esta clase tuvimos una actividad lúdica, en la cual vimos palabras muy usadas para programar en C++.
Nos sirvió para recordarlas, ya que son muy importante.
Son muy buenas estas actividades, despeja un poco nuestras mentes y es una forma diferente de estudiar y practicar lo visto.