Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

STRUCTS || PUNTEROS || PILAS Y COLAS

No description
by

Hellen Rocio

on 12 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of STRUCTS || PUNTEROS || PILAS Y COLAS

INTRODUCCIÓN
STRUCTS (Estructuras)
PUNTEROS(POINTERS)
COLAS (FIFO)
CONCLUSIÓN
Todos los conceptos expuestos anteriormente pueden unificarse como veremos en el código siguiente.
PILAS (LIFO)
STRUCTS || PUNTEROS
|| PILAS Y COLAS

La forma de definir una estructura es haciendo uso de la palabra clave struct.

struct mystruct
{
int int_member;
double double_member;
char string_member[25];
}

¿Que es estructura de enumeración ?(Enum)
Una enumeración es un conjunto de constantes enteras.
Ejemplo:
Realiza los ejercicios sobre lo expuesto
Construya un programa en Lenguaje C
programa que permita generar estadísticas de un censo realizado en el Estado a 30 personas, los datos solicitados a cada una de éstas son los siguientes: nombre, edad, sexo, nacionalidad y peso.

Tomando en consideración las siguientes categorías:

EDAD CATEGORÍA
0 a 10 Niño
11 a 15 Adolescente
26 a 35 Adulto
45 en adelante Mayor

Determine:
a) Cantidad por categoría.
b) Cantidad de masculino y femenino por categoría.
c) país
d) Promedio de edad por categoría.
e) Porcentaje de personas por categoría.
f) Edad máxima y mínima general.

Programa 1
programa 2
¿Qué es un puntero?
Un puntero no es más que una dirección registrada en memoria, y una variable que ejerce la función de puntero es una variable que es capaz de almacenar un direccionamiento de memoria.
¿Cómo se declaran?
Se declaran al igual que una variable normal y solo puede apuntar a un solo tipo de datos a la vez, ej:
Direccionamiento de los punteros
Los punteros siempre deben apuntar a la dirección de memoria de una variable ej:

int *p,j;
p = &j;

Como acceder a los valores de un puntero
Para acceder a sus elementos, tenemos que ver a que variable apunta, si algunas modificaciones se han realizado en el puntero, deberán reflejarse en la variable que apunta.

Ej: int *p;
Int i;
p = &i;
i = 0;
printf(“%d”,i); // valor 0;
printf(“%d”,p); // valor 0;
*p= 2;
printf(“%d”,i); // valor 2;
printf(“%d”,p); // valor 2;

Punteros como parámetros de funciones
Los punteros además de servir para apuntar a una dirección de memoria sirven como parámetros de las funciones, los punteros asumen una dirección de memoria de una variable y si se modifica el mismo por lo tanto se modifica el valor de la variable, en si el puntero en este caso es equivalente a un alias para una variable.

Ej:
Void imprimir_valores(int *p, int*d){
Printf(“valor: 1 %d valor 2: %d”,p,d);}


Además de utilizar los punteros como argumentos o parámetros de una función también se pueden utilizar como valores de retorno.

Ej:
Int *max( int *a, int *b){
If (*a > *b){
Return a;
}
Else {
Return b;
}
}

Aritmética de punteros
Los punteros pueden apuntar hacia una posición en un arreglo ej:
Int a[50],*p = &a[0];
Si modificamos el valor de p, la posición cero es la que se verá afectada por el mismo. Ej:
*p = 60;
Ahora la posición cero tendrá un valor de 60.

Existen 3 operaciones que se pueden realizar
Sumar un integer a un puntero
Sustraer un integer a un puntero
Sustraer un puntero de otro

Punteros para procesar arreglos
Como sabemos una de las mejores maneras de procesar un arreglo es un bucle, pero los punteros también tienen la función de ser utilizados como variable control del bucle, siendo igualados a el primer elemento del arreglo.
Ej:
#define N 10
Int a[N], sum, *p;
For (p = &a[0]; p < &a[N]; p++){
Sum += *p;}

Uso de arreglos como punteros
Ya hemos visto que los arreglos y los punteros están íntimamente relacionados, dado que un arreglo sigue la misma regla que la aritmética de los punteros aquí muestro un breve ejemplo:

#define N 10
Int a[N], sum, *p;
For (p = a; p < &a + N; p++){
Sum += *p;}

La particularidad de una estructura de datos de cola es el hecho de que sólo
podemos acceder al primer y al último elemento de la estructura
. Así mismo, los elementos s
ólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.


COLAS EN LA VIDA REAL
Personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol. La idea esencial es que son todos líneas de espera.
COLA VS PILA **** OPERACIONES CON PILAS
Punteros como valores de retorno


enum DAY /* Defines an enumeration type */
{ saturday, /* Names day and declares a */
sunday = 0, /* variable named workday with */
monday, /* that type */
tuesday,
wednesday, /* wednesday is associated with 3 */
thursday,
friday
} workday;


int *p; double *p;
char *p; float *p;
¿Que es un estructura?
Una estrutura es un tipo de datos compuesto que permite almacenar un conjunto de datos de diferente tipo. Los datos que contiene una estructura pueden ser de tipo simple (caracteres, números enteros o de coma flotante etc.) , a su vez de tipo compuesto (vectores, estructuras, listas, etc.).

¿Cómo se declaran las estructuras?

¿Que son estructuras Anidadas?
Una estructura anidada es una estructura que a su vez contiene otra estructura como variable.
Desarrollar un programa en C que dadas 2 variables se intercambien el valor de una con la otra, el valor debe ser preferiblemente de tipo int.

a) crear una función que determine el intercambio
b) Usar punteros como parámetros de la función
c) Imprimir los resultados de manera inicial e intercambiados.

¿Qué es una pila?
La pila es una estructura de datos que permite almacenar datos en el orden LIFO (Last In First Out, en español, "último en entrar, primero en salir").
La recuperación de los datos es realizada en el orden inverso de su inserción.

Pilas
Operaciones con pilas
Las operaciones Básicas de pilas son las siguientes:
• Apilar: Incrementa la cima de la pila en 1 y asigna el nuevo elemento a la lista de la pila

• Desapilar: Copia primero el valor de cima de la pila en una variable local auxiliar, y a se presenta un decremento de la cima de la pila en 1.
A continuación expondremos temas relacionados a la programación en C
ESTRUCTURAS
PUNTEROS
PILAS (LIFO)
COLAS (FIFO)
Finalmente realizaremos Ejercicios prácticos.
Comenzaremos por definir los siguientes términos:
Ejercicio en el Curso
Estructuras Anidadas
Uniones
La definicion de "union" es similar a la de "estructura", La diferencia entre las dos es que en una estructura, los miembros ocupan diferentes areas de la memoria, pero en una union, los miembros ocupan la misma area de memoria. Entonces como ejemplo:

union {
int i;
double d;
} u;

El programador puede acceder a través de "u.i" o de "u.d", pero no de ambos al mismo tiempo. Como "u.i" y "u.d" ocupan la misma área de memoria, modificar uno modifica el valor del otro, algunas veces de maneras impredecibles. El tamaño de una union es el de su miembro de mayor tamaño.
- RICARDO STORM MARTINEZ - 2014-2128
- MICHAEL JOAN JEREZ GALAN - 2014-1975
- JOSUE A.ROMERO GONZALEZ - 2014-1875
- GIAMPIERO SPECOGNA T. - 2014-1972
- RAYMOND A. SUAZO MOREL - 2014-3060
- HELLEN R. VALENZUELA G. - 2013-0672

INTEGRANTES GRUPO #1
VENTAJAS Y DESVENTAJAS DE LOS ELEMENTOS PRESENTADOS
Hacer un programa en c sobre pilas que tenga la capacidad de:

a) Apilar elementos
b) Desapilar elementos
c)Mostrar que elemento ha sido eliminado
STRUCTS
POINTERS
PILAS
COLAS
Full transcript