martes, 29 de octubre de 2013

PROGRAMACIÓN ORIENTADA A OBJETOS (POO)

-Lenguajes utilizados en POO

A continuación 5 lenguajes de programación que bajo mi punto de vista son los más utilizados en la actualidad:
-Lenguaje C
-C++
-Java
-Python
-PHP

-Clases y objetos

Clases y objetos serán para nosotros conceptos similares a tipos y variables. Es decir,
la relación que existe entre un objeto y la clase a la que pertenece (la clase de la que es
una instancia.
Es analoga a la que hay entre una variable y el tipo del que es declarada.
Una clase es un TAD con una característica añadida: permite la herencia.
clase = TAD + herencia

-Métodos

Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje".
Un metodo puede producir un cambio en las propiedades del objeto, o la generacion de un "evento" con un nuevo mensaje para otro objeto del sistmea.

-Herencia

Consiste en la propagación de los atributos y las operaciones a través de distintas sub-clases definidas a partir de una clase común. nos permite crear estructuras jerárquicas de clases donde es posible la creación de sub-clases que incluyan nuevas propiedades y atributos. Estas sub-clases admiten la definición de nuevos atributos, así como crear, modificar o inhabilitar propiedades.

domingo, 20 de octubre de 2013

ARRAYS

ARRAYS (ARREGLOS)

Vectores

Un vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno despues de otro. A este grupo de elementos se les identifica por un mismo nombre y la posición en la que se encuentran. La primera posición del array es la posición 0.
Podríamos agrupar en un array una serie de elementos de tipo enteros, flotantes, caracteres, objetos, etc.
SINTAXIS:
Tipo nombre[tamaño];
EJEMPLO:
int main(void)
{
int i, v[5]; // v[5] es un vector de 5 componentes
for(i=0; i<5; i++)
{
v[i] = 0; // Asignamos un valor
printf("%d\n", v[i]);
printf("\n"); // Crea una nueva línea
}
return 0
}
Matrices
Una matriz es un vector de vectores o un también llamado array bidimensional. La manera de declarar una matriz es C++ es similar a un vector.
Las matrices también pueden ser de distintos tipos de datos como char, float, double, etc. Las matrices en C++ se almacenan al igual que los vectores en posiciones consecutivas de memoria.
Usualmente uno se hace la idea que una matriz es como un tablero, pero internamente el manejo es como su definición lo indica, un vector de vectores, es decir, los vectores están uno detrás del otro juntos.
La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subíndices que van en los corchetes.
SINTAXIS:
int matrix[rows][cols];
EJEMPLO:
for(int i=0;i<rows;i++) {
for(int j=0;j<cols;j++) {
matrix[i][j] = i % j;
}
}

martes, 8 de octubre de 2013

VARIABLES, FUNCIONES Y PARAMETROS

6-Variable local 
Una variable local es aquella cuyo ámbito se restringe a la función que la ha declarado se dice entonces que la variable es local a esa función. Esto implica que esa variable sólo va a poder ser manipulada en dicha sección, y no se podrá hacer referencia fuera de dicha sección. Cualquier variable que se defina dentro de las llaves del cuerpo de una función se interpreta como una variable local a esa función.
7-Variable global

Una variable global es aquella que se define fuera del cuerpo de cualquier función, normalmente al principio del programa, después de la definición de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de cualquier función. El ámbito de una variable global son todas las funciones que componen el programa, cualquier función puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su dirección de memoria en cualquier parde del programa.

8-Funciones
Las funciones terminan su ejecución ya sea a través de la ejecución de la 
últiminstrucción o utilizando la sentencia return.
Un función puede retornar valor sólo cuando el tipo de retorno no es void.
Las funciones que son de tipos distintos de void pueden ser utilizadas como
 operandos  en otras expresiones del lenguaje.

9-Parametros de funciones

La declaración da a conocer la función al compilador, de forma que a partir del punto de declaración, ya se pueden realizar invocaciones a la misma. Una función puede ser declarada varias veces en un mismo programa, y las declaraciones pueden aparecer en cualquier orden; en un fichero fuente o en varios  pero en cualquier caso antes de su uso, es decir: antes de cualquier invocación a la función. Además de declarar el nombre de la función y el tipo devuelto (por defecto se supone int ) se declaran también el tipo de los parámetros.

[extern] <tipo-devuelto> nombre-funcion ()                         // §2a
[extern] <tipo-devuelto> nombre-funcion (<tipo>, ...)              // §2b
[extern] <tipo-devuelto> nombre-funcion (<tipo> <parametro>, ... ) // §2c

PROGRAMAS



5-Programas

1./*Programa que calcula el promedio de 3 numero*/
#include<stdio.h>
main()
{
float a, b, c, d;
printf(“Digite un numero:”);
scanf(“%f”, & a);
printf(“Digite otro numero:”);
scanf(“%f”, & b);
printf(“Digite otro numero:”);
scanf(“%f”, & c);
d=(a+b+c)/3;
printf(“El promedio es:%f”, d);
return 0;

2./*Programa que a partir de un numero positivo, decide si es par o impar*/
 #include<stdio.h>
main()
{
int a;
printf(“Dame un numero:”);
scanf(“%f”, & a);
if (a%2==0)
printf(“El numero es par);
else
printf(“El numero es impar);
return 0;
}

3./*Programa que calcula la multiplicación de dos números y despliega el resultado*/
#include<stdio.h>
main()
{
int a, b, c;
printf(“Primer valor:”);
scanf(“%d”, & a);
printf(“Segundo valor:”);
scanf(“%d”, & b);
c=(a*b);
printf(“El resultado es:%d”, c);
return 0;
}

4./*Programa que calcula el area de un circulo*/
#include<stdio.h>
main()
{
float a, r;
printf(“Introduce un valor:”);
scanf(“%f”, & r);
a=(3.1416)*(r*r);
printf(“El area es:%f”, a);
return 0;
}

5./*Programa que convierte grados F a C*/
#include<stdio.h>
main()
{
int f, c;
printf(“Introduce los grados:”);
scanf(“%d”, & f);
c=(f-32)*5/9;
printf(“El resultado es:%d”, c);
return 0;
}

6./*Programa que calcula los dias que una persona ha vivido*/
#include<stdio.h>
main()
{
int a, b;
printf(“Introduce los años:”);
scanf(“%d”, & a);
b=(a*365)
printf(“El resultado es:%d”, b);
return 0;
}

7./*Programa que decide si un numero es positivo o negativo*/
#include<stdio.h>
main()
{
int a;
printf(“Introduce un numero:”);
scanf(“%d”, & a);
if (a>0)
printf(“Imprime positivo”);
else
printf(“Imprime negativo”);
return 0;
}

8./*Programa que de dos números dados por el usuario decide cual es el numero mayor*/
#include<stdio.h>
main()
{
int a, b;
printf(“Primer numero:”);
scanf(“%d”, & a);
printf(“Segundo numero”);
scanf(“%d”, & b);
if (a>b)
printf(“Imprime a”);
else
printf(“Imprime b”);
return 0;
}

9./*Programa que realiza dos restas de 2 numeros dados por el usuario (a-b, b-a) e indica cual de las dos es positiva*/
#include<stdio.h>
main()
{
int a, b, r1, r2;
printf(“Primer numero:”);
scanf(“%d”, & a);
printf(“Segundo numero”);
scanf(“%d”, & b);
r1=(a-b)
r2=(b-a)
if (r1<r2)
printf(“La resta es positiva”);
else
printf(“La resta es negativa”);
return 0;
}

10./*Programa que permite leer 3 valores numéricos y que decida cual de los tres es mayor*/
#include<stdio.h>
main()
{
int a, b, c;
printf(“Primer numero:”);
scanf(“%d”, & a);
printf(“Segundo numero”);
scanf(“%d”, & b);
printf(“Tercer numero”);
scanf(“%d”, & c);
if (a>b and a>c)
printf(“Imprime a”);
else
if (b>a and b>c)
printf(“Imprime b”);
else
printf(“Imprime c”);
return 0;
}

11./*Uso de la sentencia switch*/
#include<stdio.h>
main()
{
int dia;
printf(“Introduce el dia:”);
scanf(“%d”, & dia);
Switch (dia) {
Case 1: printf(“Lunes”); break;
Case 2: printf(“Martes”); break;
Case 3: printf(“Miércoles”); break;
Case 4: printf(“Jueves”); break;
Case 5: printf(“Viernes”); break;
defaulf: printf(“Opcion invalida”)
}
return 0;
}

12./*Programa que realiza las operaciones básicas en donde el usuario elije la operación deseada mediante el siguiente menu:
1-Suma
2-Resta
3-Multiplicacion
4-Divicion
elije la opción deseada*/
#include<stdio.h>
main()
{
int op;
float n1, n2, t;
printf(“1-Suma”);
printf(“2-Resta”);
printf(“3-Multiplicacion”);
printf(“4-Division”);
printf(“Teclea la opción deseada”);
scanf(“%d”, & op);
printf(“Teclea un numero”);
scanf(“%f”, & n1);
printf(“Teclea un numero”);
scanf(“%f”, & n2);
switch (op) {
Case 1: t=(n1+n2); break;
Case 2: t=(n1-n2); break;
Case 3: t=(n1*n2); break;
Case 4: t=(n1/n2); break;
defaulf: printf(“Opcion invalida”)
}
printf("El resutlado es:%f", t);
return 0;
}

13./*Programa que despliega el siguiente menu:
1-Area de un cuadrado
2-Area de un triangulo
3-Area de un circulo
teclea la opción deseada*/
#include<stdio.h>
main ()
{
int op;
float l, b, h, r;
printf(“1-Area de un cuadrado”);
printf(“2-Area de un triangulo”);
printf(“3-Area de un circulo”);
printf(“Teclea la opcion deseada”);
switch (op) {
Case 1: printf(“Valor de l”);
            scanf(“%f”, & l);
            t=(l*l); break;
Case 2: printf(“Valor de b”);
            scanf(“%f”, & b);
            printf(“Valor de h”);
            scanf(“%f”, & h);  
            t=(b*h)/2; break;  
Case 3: printf(“Valor de r”);
            scanf(“%f”, & r);
            t=(3.1416)*(r*r); break;
default: printf(“Opcion invalida”);
}
return 0;
}

14./*Programa que despliega el siguiente menu:
1-Suma
2-Resta
3-Multiplicacion
4-Division
5-Salir
teclea la opción deseada*/
#include<stdio.h>
main ()
{
int op;
float  n1, n2, t;
op=0;
while (op!=5) {
printf(“1-Suma”);
printf(“2-Resta”);
printf(“3-Multiplicacion”);
printf(“4-Division”);
printf(“5-Salir”);
Printf(“Teclea la opcion deseada”);
switch (op) {
Case 1: printf(“Teclea el valor”);
            scanf(“%f”, & n1);
            printf(“Teclea el valor”);
            scanf(“%f”, & n2);
            t=(n1+n2); break;
Case 2: printf(“Teclea el valor”);
            scanf(“%f”, & n1);
            printf(“Teclea el valor”);
            scanf(“%f”, & n2); 
            t=(n1-n2); break; 
Case 3: printf(“Teclea el valor”);
            scanf(“%f”, & n1);
            printf(“Teclea el valor”);
            scanf(“%f”, & n2);
            t=(n1*n2); break;
Case 4: printf(“Teclea el valor”);
            scanf(“%f”, & n1);
            printf(“Teclea el valor”);
            scanf(“%f”, & n2);
            t=(n1/n2); break; }
printf(“El resultado es:%f”, t);  }
return 0;
}

15./*Programa que suma los primeros 10 números naturales*/
#include<stdio.h>
main ()
{
int A, i;
i=1, A=0;
while (i<=10) {
A=A+i;
i=i+1;
}
printf(“El resultado es:%d”, A);
return 0;
}

16./*Que tabla de multiplicar deseas: 5*/
#include<stdio.h>
main ()
{
int tabla, num, res;
num=0;
printf(“Escribe la tabla”);
scanf(“%d”, tabla)
while (num<=9) {
num=num+1;
printf(“%d+%d=%d\ntabla, num, res);
}
return 0;
}

17./*Uso de la sentencia Do…While*/
#include<stdio.h>
main ()
char select;
do {
printf(“1-comenzar\n”);
printf(“2-abrir\n”);
printf(“3-grabar\n”);
printf(“4-salir\n”);
printf(“Elije una opción”);
scanf(“%c”, & select);
switch (select) {
Case ‘1’: printf(“Opción 1”); break;
Case ‘2’: printf(“Opción 2”); break;
Case ‘3’: printf(“Opción 3”); break;
} while (select!=‘4’);
return 0;
}

18./*Programa que despliega 10 numeros*/
#include<stdio.h>
main ()
{
int i;
i=0;
do {
i=i+1;
printf(“Es:%d”, i); }
while (i<=10)
return 0;
}

19./*Cuantos productos deseas cobrar: Tecle el precio del producto: El total a pagar es:*/
#include<stdio.h>
main ()
{
int n, p, pt;
c=0;
printf(“Cuantos productos cobraras:”);
scanf(“%d”, & n);
while (c<=n) {
printf(“Precio del producto:”);
scanf(“%d”, & p);
c=c+1;
pt=pt+p; }
printf(“El precio total es:%d”, pt);
return 0;
}

20./*Teclea el precio del producto*/
#include<stdio.h>
main ()
{
int p, t;
char d;
d=‘s’;
while (d=‘s’) {
printf(“Precio del producto:”);
scanf(“%d”, & p);
t=(t+p);
printf(“Deseas agregar otro producto: s o n:”);
d=getchar ();
scanf(“%c”, & d); }
printf(“El total es:%d”, t);
return 0;
}

21./*Precio: 20, 
Descuento: 40%, 
Descuento en $: 8, 
Precio final: 12*/
#include<stdio.h>
main ()
{
float p, c, cd, pd, d, pt, t;
char d; d=‘s’;
while (d=‘s’) {
printf(“El precio es:”);
scanf(“%f”, & p);
printf(“Porcentaje de descuento:”);
scanf(“%f”, & pd);
d=pd/100;d
cd=p*d;
pt=p-d;
t=t+pt;
printf(“Deseas agregar otro producto: s o n:”);
d=getchar ();
scanf(“%c”, & d); }
printf(“El total es:%f”, t);
return 0;
}

22./*Tabla de multiplicar*/
#include<stdio.h>
main ()
{
int num, x, result;
printf(“teclea un numero:”);
scanf(“%d”, & num);
for(x=0;x<=10;x++)
result=num*x;
printf("\n%d por %d=%d\n", num, x, result); }
return 0;
}

23./*Imprime en pantalla los 100 numeros naturales*/
#include<stdio.h>
main ()
{
int num;
for(num=0;num<=100;num++){
printf("%d\n", num);}
return 0;
}

24./*Captura 10 números enteros y sumar los números positivos e imprime el resultado*/

#include<stdio.h>
main ()
{
int x, n, r;
for(x=1;x<=10;x++){
printf(“Teclea un numero:”);
scanf(“%d”, & n);
if(n>0)
r=r+n;}
printf(“La suma de los números enteros positivos es:%d”, r);
return 0;
}

25./*Captura 10 numero enteros y suma los números pares e imprime el resultado*/
#include<stdio.h>
main ()
{
int a, b, c;
for(a=1;a<=10;a++){
printf(“Teclea un numero:”);
scanf(“%d”, & b);
if(b%2==0)
c=c+b;}
printf(“La suma de los números pares es:%d”, c);
return 0;
}

26./*Realiza un programa en lenguaje c que capture lo siguiente:
Nombre del alumno: 
Materia: 
Practica 1: 
Practica 2: 
Practica 3: 
Promedio: 
Aprobado o recorvado:
Deseas hacer otra captura:*/
#include<stdio.h>
main ()
{
float a, b, c, prom;
char Nom[30];
char Mat[15];
char d;
d=‘s’;
while(d==‘s’){
printf(“Nombre del alumno:”);
scanf(“%s”, & Nom);
printf(“Materia:”);
scanf(“%s”, & Mat);
printf(“Promedio 1:”);
scanf(“%f”, & a);
printf(“Promedio 1:”);
scanf(“%f”, & b);
printf(“Promedio 1:”);
scanf(“%f”, & c);
prom=(a+b+c)/3;
if(prom>=6)
printf("aprobado");
else
printf("reprobado");
printf(“Deseas agregar otro alumno: s o n:”);
d=getchar ();
scanf(“%c”, & d);}
return 0;
}

27./*Programa que utiliza vectores*/
#include<stdio.h>
main ()
{
int a[5], i, num;
for(i=0;i<5;i++){
printf(“Introduce un numero:\n”);
scanf(“%d”, & num);
a[i]=num;
}
for(i=0;i<5;i++){
printf(“a[%d]=%d\n\n", i,a[i]);
}
return 0;
}

28./*Realiza un programa en lenguaje c que en un vector se posicionen 10 números dados por el usuario y imprima, la suma de todos los elementos y el promedio*/
#include<stdio.h>
main ()
{
int a[10], i, num, ts;
float prom;
for(i=0;i<10;i++){
printf(“Introduce un numero:\n”);
scanf(“%d”, & num);
a[i]=num;
ts=ts+num;
prom=ts/3;}
for(i=0;i<10;i++){
printf(“a[%d]=%d\n\n", i,a[i]);}
printf(“El resultado de la suma es:%d”, ts);
printf(“El promedio es:%f", prom);
return 0;
}

Examen./*Realiza un programa en lenguaje C que permita leer 10 números y que sume solamente los números pares y que imprima la suma*/
#include<stdio.h>
main ()
{
int a, b, c;
for(a=0;a<=10;a++){
printf("Teclea un numero:");
scanf("%d" & b);
if (b%2==0)
c=c+b;}
printf("El resultado de la suma de los números pares es:%d", c);
return 0;
}

29./*Realiza un programa en Lenguaje C que permita leer 10 números que almacene en una variable la suma de los números pares y que la imprima, con vectores*/
#include<stdio.h>
main ()
{
int a[10], i, num, s;
for(a=0;a<=10;a++){
printf("Teclea un numero:");
scanf("%d" & num);
if (b%2==0)
a[i]=num;}
printf(“a[%d]=%d\n\n", i, a[i]);
printf("La suma es:%d", s);
return 0;
}

30./*Realiza un programa en Lenguaje C en donde utilize una matriz para almacenar la siguiente información
Nombre alumno:
Apellido paterno:
Apellido materno:
Dirección:
Teléfono:
Promedio:
Pregunta si desea capturar otro alumno:
imprime la información almacenada*/
#include<stdio.h>
main ()
{
int x, k;
char nom[10][30], ap[10][15], am[10][15], dir[10][100], tel[10][20], 
prom[10][2];
c=‘s’;
k=0;
do{
printf("Nombre del alumno:");
scanf("%s", & nom[k][0]);
printf("Apellido paterno:");
scanf("%s", & ap[k][0]);
printf("Apellido materno:");
scanf("%s", & am[k][0]);
printf("Direccion:");
scanf("%s", & dir[k][0]);
printf("Telefono:");
scanf("%s", & tel[k][0]);
printf("Promedio:");
scanf("%s", & prom[k][0]);
printf("Deseas agregar otro alumno: s o n:");
c=getchar ();
scanf("%s", & c);
k++}
while(c==‘s’){
for(x=0;x<k;X++){
printf("Nombre alumno:%s\n Apellido paterno:%s\n Apellido materno:%s\n Direccion:%s\n Telefono:%s\n Promedio:%s\n", nom[x], ap[x], am[x], dir[x], tel[x], prom[x]);
printf("\n");}
return 0;
}