lunes, 18 de diciembre de 2017

CLASE 3


DEFINICIONES QUE SE UTILIZAN



Clase: Es una construcción de datos que permite crear tipos personalizados propios mediante la agrupación de variables de otros tipos, métodos y eventos.
Atributo: Son las características individuales del objeto, elemento o archivo y esto permite diferenciarlas, se guardan en variables denominadas de instancia
Método: Conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas, sólo basta o referenciarlas a través de dicho nombre en vez de tener que escribirlas.
Abstracción: la abstracción forma parte de los elementos fundamentales en el modelo de objetos que logran definir límites conceptuales respecto a quien está haciendo dicha abstracción del objeto.
Instancia: Es una instancia de una clase es decir una instancia es un miembro de una clase que tiene atributos en lugar de variables.
Public: Puede obtener acceso al tipo o miembro cualquier otro código del mismo ensamblado o de otro ensamblado que haga referencia a éste.
Private: Solamente el código de la misma clase o estructura puede acceder al tipo o miembro.
Encapsulamiento: Es el proceso de almacenar en una misma sección los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar el interfaz contractual de una abstracción y su implantación. Tiene 3 niveles de acceso y son: Public, protected, private.
Polimorfismo:  En programación orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación.

 Herencia: La herencia se realiza atreves de una derivación, lo que significa que una clase se declara utilizando una clase base de la cual hereda los datos y el comportamiento con ello se extiende su funcionalidad.

CLASE 2




PROGRAMACIÓN ORIENTADA A OBJETOS



Es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.

Muchos de los objetos pre-diseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.

Está basada en varias técnicas, incluyendo clase, atributo, método, instancia, public, private herencia,  abstracción, polimorfismo, acoplamiento y encapsulamiento. 

BLOQUE 3

CLASE 1


 TRABAJO EN GRUPO


LA FUNCIÓN ESTRUCTURA


bueno yo expuse sobre la función de una estructura, esta se define por lo que es un tipo de dato definido por el usuario que se debe realizar afuera de cualquier función como el main().


DECLARACIÓN



Struct    : se declara con esta palabra reservada

<nombre de la estructura>  : se le pone cualquier nombre de como quiera que se llame la estructura
{     :esta llave abre la estructura

<tipo de dato miembro>  <nombre miembro 1>  : se  pone cualquier tipo de variable miembros                                                                                             como int, char, float, double, string etc.

}    :con esta llave se cierra la  estructura


main(){




}       :aquí se indicó que la estructura debe estar afuera del main en la parte de arriba, también aquí podríamos declarar datos tipos estructura


lunes, 20 de noviembre de 2017

EJERCICIO DE FUNCION STRUCT

EJERCICIO 

Realizar un programa con funcion struct alumno que ingrese su nombre su peso y edad y lo imprima 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct alumno{
char nombre[10];
float peso;
int edad;
}a;

main(){
char nombre[10];
int peso;
int edad;
struct alumno a;
printf("Ingrese su nombre:\n");
scanf("%s",&a.nombre);
printf("Ingrese su peso :\n");
scanf("%f",&a.peso);
printf("Ingrese su edad:\n");
scanf("%d",&a.edad);

printf("Su nombre es:%s\n",a.nombre);
printf("Su peso es:%f\n",a.peso);
printf("Su edad es:%d\n",a.edad);

getch();
return 0;
}

EJERCICIO STRUCT VECTOR

EJERCICIO CLASE

Realizar un programa en la que se utilice la funcion struct

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct vector {
 double x;
 double y;
};

struct vector sumar (struct vector v1, struct vector v2) {
struct vector vres;
 vres.x = v1.x + v2.x;
 vres.y = v1.y + v2.y;

 return vres;
}

int main (){
 struct vector va;
 struct vector vb;
 struct vector vc;

 va.x=0.5;
 va.y=1;
 vb.x=1;
 vb.y=0.5;
 vc = sumar (va,vb);
 printf ("res: \n%.2f,\n%.2f,\n%.2f", vc.x, vc.y);
 getch ();
}

ESTRUCTURAS

ESTRUCTURA

Tipos de datos definidos por el usuario

-Al momento de hacer un programa, el usuario puede definir sus propios tipos de datos
-Mayor claridad
-Aumenta el significado semítico del código
-Simplificar declaración de variables

Tipos de datos definidos por el usuario
Typedef
- Define un nuevo nombre para un tipo de dato
-El nombre original sigue siendo valido


typedef <tipo> <nuevo nombre >;
typedef int positivo;

Ejemplo
typedef int positivo;
typedef int negativo;
int main(){
positivo a,b;
negativo c,d;
a=1;
b=2;
c=-a;
d=-b;
printf("%d %d %d %d %d %d %d %d",a,b,c,d);

}

Estructuras

1. Una estructura puede verse como una colección de variables que se referencia bajo un nombre en común
2. Cada una de estas variables se denominan "miembros" de la estructura. Otras denominaciones son:  Campo-Elemento -Atributo
Declaración de estructuras

La definición de una estructura se realiza fuera de cualquier función, generalmente en la parte superior del archivo
Para definir una estructura requerimos:
-Un nombre
-Una lista de miembros
-nombre
-tipo


Declaración de estructuras

La declaración de una estructura no crea variables
Solo se define el nombre y sus miembros
Debe esta definida para poder ser utilizada(Posición en el código)

Declaración de estructuras
Struct mi_estructura{
int miembro 1; char miembro 2;

double miembro 3;

miércoles, 15 de noviembre de 2017

LA PILA Y COLA


¿QUE ES UNA PILA?

Las pilas son estructuras de datos que tienes dos operaciones básicas: push (para insertar un elemento) y pop (para extraer un elemento). Su característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO (del inglés Last In First Out). Una posible implementación mediante listas enlazadas sería insertando y extrayendo siempre por el principio de la lista. Gracias a las pilas es posible el uso de la recursividad (lo veremos en detalle en el tema siguiente). La variable que llama al mismo procedimiento en el q está, habrá que guardarla así como el resto de variables de la nueva llamada, para a la vuelta de la recursividad ir sacandolas, esto es posible a la implementación de pilas.


struct nodo {
   int dato;
   struct nodo *siguiente;
};


DECLARACIONES DE TIPOS PARA MANEJAR PILA EN LENGUAJE C

tipos que definiremos normalmente para manejar pilas serán casi los mismos que para manejar listas, tan sólo cambiaremos algunos nombres:

typedef struct _nodo {
   int dato;
   struct _nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Pila; 

¿QUE ES UNA COLA?

Una cola  es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.

Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.

struct nodo {
   int dato;
   struct nodo *siguiente;
};

 DECLARACIONES DE TIPOS PARA MANEJAR COLA EN LENGUAJE C

 typedef struct _nodo {
   int dato;
   struct _nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Cola;

SEMEJANZAS Y DIFERENCIAS 

Pila: que la pila es el ultimo que entra y es el primero que sale y las pilas son el dato que pueden entrar por cualquier lado.

Cola: Que es el primero que entra y tambien es el primero en salir y entra por un lado y sale por el mismo lado que este ha ingresado.