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.




EJERCICIO

EJERCICIO

Realizar un programa que ingrese vector de 10 y lo devuelva


#include <stdio.h>
#include <conio.h>
main(){
int *ptrznum;
printf("ingrese del 1 al 10\n");
for (int num;num<=10;num++){
 scanf("%d",&num);
}
for(int num1=10;num1>=0;num1--){
printf("%d\n",num1);
}
getch();


}

jueves, 9 de noviembre de 2017

EJERCICIO EN CLASE

EJERCICIO EN CLASE

Realizar un programa que cuente los caracteres ingresados y los imprime


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
//globales
main()
{

 //locales
 char palabra[10];
 int n=0;
 char *ptrPal;//declaracion de un puntero
 printf("Ingrese palabra\n");
 scanf("%s",&palabra);
 n=strlen(palabra);//funcion que cuenta cuantas letras
  printf("%d\n",n);


   for(int i=0;i<n;i++)
   {
 ptrPal=&palabra[i];//asignacion
    if(*ptrPal>='0'&&*ptrPal<='9')
    {
     printf("\nEs Numero\n");
    printf("%c",*ptrPal);
    }

 printf("\n%c",*ptrPal);
   }


 //*ptrPal=&palabra

    getch();
}

jueves, 26 de octubre de 2017

EJERCICIO 4

EJERCICIO 4

Dirección de memoria de las letras de mi nombre(Punteros)

#include <stdio.h>
#include <conio.h>
main()
{
int j;
char nombre[10]={1,2,3,4,5,6,7,8,9,10};
char *ptrnombre = &nombre[10];

printf("Ingrese su nombre\n");
scanf("%s",&nombre);

for(j=0;j<5;j++)
{
printf("nombre:[%d]:%c\n",j,*ptrnombre);
printf("direccion:%p\n",ptrnombre);
ptrnombre++;
}

getch();
}

EJERCICIO 3

EJERCICIO 3

Realizar un programa que compruebe si un carácter es un numero o una letra

#include <stdio.h>
#include <conio.h>
 main () {
char l;
char *ptrl;
printf ("Ingrese un caracter:\n");
scanf("%c",&l);
if ((l>=65 && l<=90) || (l>=97 && l<=122)){
printf ("Es una letra.\n");
 } else {
  printf ("Es un numero.");
 }
 getch();

}



martes, 24 de octubre de 2017

EJERCICIO 2


EJERCICIO 2

Imprimir la dirección y el valor de un puntero

#include <stdio.h>
#include <conio.h>
main()
{
int b=20;
int *ptrb;
printf("%p\n",&b);
printf("%d\n",b);
getch();

}

BLOQUE 2 : EJERCICIO 1


EJERCICIO 1
realizar un programa que reciba 3 datos(float,int,char) para el peso , la edad y el nombre respectivamente, debe imprimir la dirección de la variables

#include <stdio.h>
#include <conio.h>

main(){
int edad;
char nombre,c=67;
float peso;
nombre=c;
edad=15;
peso=59;

printf("%c \n",nombre);
printf("la direccion de memoria de 'nombre' es: %p \n", &nombre);
printf("%d \n",edad);
printf("la direccion de memoria de 'edad' es: %p \n", &edad);
printf("%f \n",peso);
printf("la direccion de memoria de 'peso' es: %p \n", &peso);
getch();
}

martes, 17 de octubre de 2017

EL PUNTERO

¿Que es un puntero?

 es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo.

apunta a un objeto de cualquier tipo como una estructura o una función.

Ejemplo:
 

CORRECCIÓN DE LA PRUEBA BLOQUE 1

CORRECCIÓN DE LA PRUEBA BLOQUE 1

1.       Determinar el valor que tendrá las variables después de cada operación de asignación
Int A:
A=5
A=A+7;
A=A-10
                    A=A-2
Int A;
Int B;
A=1;
B=2;
           A=A+b
Int x;
Int y;
X=3;
Y=x;
Y=x+3;
5=5+7
12=12-10=2
2=2-2=0
1=1+2
A=3
3=3+3=6
Y=6
Int A;
Int b;
B=12;
A=b+1;
A=b-7;
B=4+5;
                A=A*A
Int x;
Int *y;
X=2;
Y=&x;
X=x+1;
*y;
Int a;
Int b;
A=0;
B=5;
B=A+B;
B=A
B=12
A=12+1=13
A=12-7=5
A=18
18=4+5=9
                     A=18*18=324

5=0+5
5=0























2.Definir cual seria la salida en pantalla del siguiente cogido
INICIO

N

SUMA=0
X=0

X<N

X=X+1
SUMA=SUMA+X

SUMA

FIN
INGRESE UN VALOR
>6
 SUMA ES
15


1
2
3
4
5
=6
















3. Encierre la letra de la respuesta correcta a la pregunta
¿Qué es una función?
a) Es una estructura que se usa fuera del main()
b) Es una estructura que se desarrolla dentro del main()
c) Es una estructura que se declara fuera del main()
d) Es una estructura que se declara dentro del main()

¿Que es un algoritmo?

a)Es una matriz que hace referencia a una región de memoria
b) Es un valor entero que da referencia a una región de memoria
c) Ninguna de las anteriores
d)Es una variable independiente de memoria que sirve para apuntar a un puntero
hacer un funcion tipo char que ingrese el año de nacimiento y devuelva la P si es par y la I  si es impar
 4. EJERCICIO DE PRÁCTICA
#include <stdio.h>
#include <conio.h>
char poim (int x);
main(){
 int a;
printf("ingrese el año de nacimiento \n");
 scanf ("%d",&a);
printf("\n");
 printf("%c", poim (a));
getch();
}
char poim (int x)
{
 int res;
 int re[1];
 if(x%2==0){
  return 'P';
 }
else
 {
return 'I';
 }

 }

EJERCICIO 6 división exacta e inexacta

EJERCICIO 6
utilizando una función tipo float ingresar 2 números y hacer su respectiva división con otra función imprimir si es una división exacta o no
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int a, b;
float res;
float divi(int a,int b){
res=float (a)/ float (b);
return res;
}
void ident(void){
if (a%b==0){
printf ("\n  exacta\n");  
  }else {
   printf ("\nNo es exacta\n");
  }
}
main() {
printf ("Ingrese dos numeros enteros:\n");
scanf("%d",&a);
scanf("%d",&b);
res= div(a,b);
printf("La division es:%d",res);
 ident();
getch();

}

Ejercicio 5 triangulo y cuadrado

EJERCICIO 5

Trabajo en clase con for, ingrese dos números , e indique cual es el menor y dibuje un triangulo, si son iguales dibuje un cuadrado

#include <stdio.h>
#include <conio.h>

int n,n1,a=0,i=0,j=0,b=0;

int Menor(){
 printf("\nIngrese un numero\n");
 scanf("%d",&n);
 printf("\nIngrese un numero\n");
 scanf("%d",&n1);

  if(n<n1)
   a=n;
    else if(n1<n)
     a=n1;
      else if(n==n1)
       b=n;
     
}

main()
{
 if(n==n1){
b=Menor();
    printf("\nEl numero es igual:%d\n",b);
    for(i=0; i<b; i++){
      printf("\n");
         for(j=0; j<b; j++)
         printf("*");
 }


 a=Menor();
 printf("\n El menor es:%d\n",a);

 for(i=0; i<a; i++){
  printf("\n");
     for(j=0; j<=i; j++)
      printf("*");
 }
getch();
}
}

lunes, 9 de octubre de 2017

Ejercicio 4 el triangulo equilatero

EJERCICIO 4 

Trabajo en clase funciones con for, ingrese dos números como parámetros ,e indique cual es el menor y con ese valor despliegue un  triangulo equilatero

#include <stdio.h>
#include <conio.h>

int n1,n2,a,c=0,j=0;

int Menor(){
 printf("Ingrese un numero\n");
 scanf("%d",&n1);
 printf("Ingrese un numero\n");
 scanf("%d",&n2);
 if(n1<n2)
  a=n1;    
   else
    a=n2;
}

main()
{
 a=Menor();
 printf("el menor es: %d\n",a);

 for(c=0; c<a; c++){
                printf("\n");
  for(j=0; j<=c; j++)
  printf("*");
 }
getch();

}

Ejercicio de la tabla de multiplicacion

EJERCICIO 3 
Realizar un programa con una función que con el numero ingresado se imprima el resultado de la multiplicación del 1 al 12

#include<stdio.h> 
#include<conio.h> 
int main() 
int i,j; 
printf("ingrese un numero");
scanf("%d",&i);
for(i;i<=10;i++) 
printf("\ntabla de multiplicar de %d\n\n",i); 
for(j=1;j<=12;j++) 
printf("%d x %d = %d\n",i,j,i*j); 
getch(); 
getch(); 
return 0; 

Ejercicio de la edad en años y devolver en dias

EJERCICIO 2

Un programa que con una función ingrese su edad en años y devuelva en días.

#include <stdio.h>
#include <conio.h>
int imprimeEntero(int an);

main(){
int an;
printf("Ingrese su edad en años \n");
scanf("%d",&an);

printf("La edad en dias es \n");
imprimeEntero(an*365);

}

int imprimeEntero(int an){
printf("%d\n", an);

}

Ejercicio del numero mayor


EJERCICIO 1

Realizar una función que solicite dos números enteros y retorne cual es el mayor de ellos.

#include <stdio.h>
#include <conio.h>

int num1,num2;

int funcion()
{
printf("Ingrese el primer numero\n");
scanf("%d",&num1);
printf("Ingrese el segundo numero\n");
scanf("%d",&num2);

  if(num1>num2)
  printf("El mayor es= %d",num1);
   else
    printf("El mayor es= %d",num2);

}

main()
{
funcion();
getch();

}

FUNCIONES



Las Funciones


-Que es una función?
una función son instrucciones ordenadas que cumplen una acción especifica, las funciones pueden tomar parámetros que modifiquen su función. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código.
Estructura de una función:

*Declaración
*Desarrollo
*Llamada

Tipos de Funciones

-Los que no reciben ni retornan
using namespace std;

void sumar()
{
    int num1, num2, r;
    cout <> num1;
    cout <> num2;
    r = num1 + num2;
    cout << "La suma es " << r;
}

int main()
{
    sumar();
}

-Reciben y No Retornan

#include
using namespace std;

void sumar(int num1, int num2)
{
    int r;
    r = num1 + num2;
    cout << "La suma es " << r;
}

int main()
{
    int num1, num2;
    cout <> num1;
    cout <> num2;
    sumar(num1, num2);
}

-Retornan y No Reciben

using namespace std;

int sumar()
{
    int num1, num2, r;
    cout <> num1;
    cout <> num2;
    r = num1 + num2;
    return r;
}

int main()
{
    int r;
    r = sumar();
    cout << "La suma es " << r;
}

-Reciben y Retornan

#include
using namespace std;

int sumar(int num1, int num2)
{
    return num1 + num2;
}

int main()
{
    int num1, num2;
    cout <> num1;
    cout <> num2;
    cout << "La suma es " << sumar(num1, num2);
}