sábado, 28 de junio de 2014

Evap 6

MATRICES

Una matriz en programación no es mas que un conjunto de vectores o arreglos multidimensionales, donde cada dimensión tiene su propio rango.
Existen conjuntos de datos que por su naturaleza son mejor representados mediante tablas o matrices multidimensionales que por vectores.

Por ejemplo, se puede representar las calificaciones de 4 asignaturas cursadas por 6 estudiantes mediante una tabla, donde cada fila correspondería a un estudiante y cada columna a una asignatura. Cada dato individual (la calificación de un estudiante en una asignatura dada) es un elemento de esta tabla y ocupa una celda identificable por el número de la fila y el número de la columna.
De esta manera, cada elemento de la tabla queda completamente identificado mediante dos subíndices: el primero para identificar la fila y el segundo para identificar la columna.

El programador debe tener presente que la memoria de las computadoras es lineal, por lo que la mayoría de los compiladores almacenan en memoria los elementos de una matriz linealizandola por filas; es decir, todos los elementos de la primera fila primero, los de la segunda después y así sucesivamente.
EJEMPLO:
El siguiente programa, utiliza el operador el operador sizeof() para determinar


el número de bytes que utilizan diferentes clases de arreglos declarados.

#include <iostream.h>

void main(void)
 {
 int caja[3][3];
 float salarioAnual[52][5];
 char paginas[40][60][20];

 cout << "Numero de bytes utilizado por caja[3][3] = "
 << sizeof(caja) << endl;
 cout << "Numero de bytes utilizado por salarioAnual[52][5] = "
 << sizeof(salarioAnual)<< endl;
 cout << "Numero de bytes utilizado por paginas[40][60][20] = "
 << sizeof(paginas)<< endl;

 }//Fin de main()


Evap 5

VECTORES, ARREGLOS O ARRAYS

Un vector, arreglo o array, es un conjunto de elementos agrupados como una unidad, todos los elementos son del mismo tipo.
TIPOS DE VECTORES, ARREGLOS O ARRAYS:
Pueden ser:
·       De una dimensión(Unidimensional): Una array uni-dimensional es aquel en donde los componentes son accesibles por medio de uno y solamente un índice que apunte al componente requerido.
En C++ los arreglos se declaran de la siguiente forma:

Tipodedato nombredelarreglo[tamañodelarreglo];


Como podemos ver, es similar a declarar una variable convencional, solo que se coloca entre corchetes el número de posiciones del arreglo, por lo que todas las posiciones serán del mismo tipo.

Al trabajar cada noche arreglos hacemos referencia a cada posición del arreglo a través de su número de índice, el cual comienza a partir del cero, de tal forma que para almacenar el número 10 en la posición 6 de un arreglo escribiriamos:

x[5]=10;


Parra llenar todos los elementos del arreglo es común emplear un ciclo que nos permita recorrer el arreglo desde la primera hasta la última posición.

·       De dos dimensiones (Bidimensional): Un array bi-dimensional es aquel en donde los componentes son accesibles por medio de una pareja de índices que apunten a la fila y a la columna del componente requerido.
CARACTERISTICAS:
·        Cada elemento contiene un valor.
·        Los elementos se ingresan a partir de cero.
·        Es posible tener arreglo de arreglos.

·        El rango de un arreglo es igual al numero de dimensiones de un arreglo.


sábado, 24 de mayo de 2014

Evap 4

FUNCIONES
Las funciones son las estructuras más importantes dentro del lenguaje de programación C (y en general de cualquier lenguaje procedural). Permiten una programación estructurada y simplifican la lectura del código; pero lo más importante es que, una función sencilla que realiza una tarea bien específica, puede ser reutilizada con extrema facilidad en cualquier otro programa.
TIPOS DE FUNCIONES:
Según el lugar donde son declaradas pueden ser:
·       Globales o Públicas: Las variables permanecen activas durante todo el programa. Se crean al iniciarse éste y se destruyen de la memoria al finalizar. Pueden ser utilizadas en cualquier función.
·       Locales o Privadas: Las variables son creadas cuando el programa llega a la función en la que están definidas. Al finalizar la función desaparecen de la memoria.

     Si dos variables, una global y una local, tienen el mismo nombre, la local prevalecerá sobre la global dentro de la función en que ha sido declarada.
  Nota: Dos variables locales pueden tener el mismo nombre siempre que estén declaradas en funciones diferentes.



sábado, 19 de abril de 2014

Evap 3

BUCLES
Los bucles son instrucciones que nos permiten hacer tareas que deben ser repetitivas.
Un bucle permite la repetición del código del programa y puede funcionar de forma indefinida o repetir una parte del código un número determinado de veces.

TIPOS DE BUCLES
Bucles Infinitos: Es aquel que no tiene fin, es decir, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.
Bucles Finitos: Los bucles finitos se ejecutan un determinado número de veces y pueden tener varios tipos de estructuras.

TIPOS DE SENTENCIAS PARA BUCLES DE REPETICION
El C++ cuenta con los siguientes tipos de sentencias para bucles de repetición:

While (Mientras): En este bucle el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.

Do-While: Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición.


For (Para): Este ciclo es uno de los más usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.

EJEMPLOS DE BUCLES

INFINITO:
 A continuacion multiplicaremos dos numeros enteros repetidas veces sin salir del programa.
Codificacion en Dev C++:
#include<iostream>
using namespace std;
int a, b ,c;
int main()
{
cout<<"INGRESAR PRIMER FACTOR:"; cin>>a;
cout<<"INGRESAR SEGUNDO FACTOR:"; cin>>b;
c=b*a;
cout<<c;
cout<<endl;
while (c=c)
{
cout<<"INGRESAR PRIMER FACTOR:"; cin>>a;
cout<<"INGRESAR SEGUNDO FACTOR:"; cin>>b;
c=b*a;
cout<<c;
cout<<endl;
}
system ("pause");
return 0;
}

Diagrama de flujo:
Algoritmo:

FINITO: 
A continuación mostraremos el calculo de la raiz cuadrada de un número.
Codificacion en Dev C++:
#include<iostream>
#include<math.h>

using namespace std;
float a, b ,c;
int main()
{
cout<<"INGRESAR NUMERO A RADICAR:"; cin>>a;
while(a>=0)
{
b=sqrt(a);
cout<<"EL RESULTADO ES: ";
cout<<b;
cout<<endl;
cout<<"INGRESAR NUMERO A RADICAR:"; cin>>a;
}
system ("pause");
return 0;
}
   
Diagrama de flujo:
Algoritmo:


sábado, 12 de abril de 2014

Evap 2

TEORIA DE ALGORITMOS
Algoritmos:
Un algoritmo es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permiten realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.
Estructura de datos: En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema.
     -Diagrama de flujo: Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.
 Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.
           -Pseudocodigo: El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.
A continuación se ve en las imágenes diagramas de flujo sobre tomas de decisiones: Simple, doble y múltiple.
DIAGRAMA DE FLUJO Y ALGORITMOS: TOMA DE DECISIONES

  • SIMPLE: 




  • DOBLE:





  • MÚLTIPLE




sábado, 5 de abril de 2014

Evap 1

Proceso casero a realizar: Programación de apagado de un TV

1).- Inicio del algoritmo:
Inicio
2).- Declaración:
a,b<-objetos
c<-botón
e,f,g,h,i<-opciones del menú
30,60,90<-tiempos
J<-acción
3).- Asignación:
a<-TV encendida
b<-control remoto
c<-botón menú del control remoto
e<-opción: “ajustes”
f<-opción: “programar tiempo de apagado”
g<-opción: “minutos”
h<- opción: “aceptar”
i<-opción: “salir”
j>-apagado del TV
30<-30 minutos
60<-60 minutos
90<-90 minutos
4).- Procesos:
Coger “b”
Apuntar hacia “a”
Presionar “c”
Seleccionar “e”
Seleccionar “f”
Seleccionar “g”
Seleccionar “30”
Seleccionar “h”
Seleccionar “i”
Esperar “30”
5).- Resultado:Mostrar “j”
Fin

Motivacion para todos

Las batallas en la vida no siempre las gana el hombre más fuerte o más rápido. Pero tarde o temprano el hombre que gana, es el hombre que piensa que puede ganar.

Vince Lombardi