domingo, 4 de octubre de 2015

Un poco sobre los algoritmos

Algoritmo: Conjunto de Instrucciones bien definidas, ordenadas y finitas que resuelvan un problema. Entre las operaciones matemáticas están la suma, resta, división y multiplicación


Programación Estructurada

Busca que el programador desarrolle programas más sencillos y fáciles de entender, para poder cumplir esto, se hace uso de 3 estructuras básicas de control. La programación estructurada se basa en un teorema el cual plantea que cualquier programa (sin importar el tipo de trabajo que ejecute) puede ser elaborado utilizando únicamente las 3 estructuras básicas, las cuales son:

1- Estructura Secuencial: Indica que una instrucción se ejecute una después de la otra, y en orden.

2- Estructura Selectiva: También conocida como SI-VERDADERO-FALSO plantea la selección entre 2 alternativas de una condición.

3- Estructura Repetitiva (Iterativa): Conocida como HACER-MIENTRAS-QUE, es una ejecución repetida de una instrucción mientras que se cumpla una condición.


 Representación de un Algoritmo

 Hay varias formas de representar un algoritmo, las más conocidas son:

1) Diagrama de flujo: Es un esquema de representación gráfica, usa elementos gráficos como rectángulos y rombos, tambien se debe mencionar que se pueden hacer operaciones matemáticas.


  
 2) Pseudo-Código : Es un esquema que usa subconjuntos del lenguaje natural del diseñador de algoritmos, elimina posibles ambigüedades empleando una notación que aunque libre es más limitada que la del lenguaje general


Ejemplo Diagrama de flujo y Pseudo-Código

 
Tambien puede ser una buena forma de representar algoritmos con C y C++

Ejemplos de C y C++




Estructura de C++





Tipos de Datos en C++:

int (Números enteros)
float (Números decimales)
double (Números reales más grandes que float)
bool (valores lógicos)
char (Caracteres)
void (Sirve para indicar que una función no devuelve valores)



Cin

El archivo de la biblioteca de C++ <iostream.h> proporciona un flujo de entrada estándar cin y un operador de extracción >>, para extraer valores de flujo y almacenarlos en variables.

cin>>variables , donde variables puede ser 1 o más separados por >>


Cout

Parecido al cin, solamente que el archivo de la biblioteca proporciona un flujo de salida estándar cout y un operador de extracción <<, que normalmente se manda a la pantalla del usuario

cout << lista , donde lista puede ser una variable, valores constantes o expresiones separadas por <<.



Instrucciones de Selección

If - else : Permite decidir si ejecutar o no un conjunto de instrucciones

Forma: if (expresión) instrucción1 else instrucción2

ejemplo

#include <iostream.h>
void main()
{
    int nota;
    cout << "Ingrese la nota:";
    cin >> nota;
    if (nota >= 4)
    {
        cout << "Aprobado, felicitaciones!"<<endl;
    }
    else
    {
        cout << "No aprobado."<<endl;
    };
    cout <<"Fin del programa.";
   }


While: Se utiliza para crear ciclos, en los cuales un grupo de instrucciones se ejecuta de forma repetida, hasta que se satisface alguna condición.

Forma: while (expresión) instrucción

ejemplo

#include <iostream.h>
int main() {
    int repetir = 1;
    while(repetir==1) {
        cout <<“Ingrese un valor:” ;
        cin>>repetir;
    }
    return 0;
}


Do - While : Se utiliza para realizar una comprobación final de cada pasada

Forma: do instrucción while (expresión)

ejemplo

#include <iostream.h>

int main() {
    int repetir;
    do {
        cout <<“Ingrese un valor:” ;
        cin>>repetir;
    } while(repetir==1);
    return 0;


For: Quizás es el más frecuentemente usado de las instrucciones para crear ciclos. Incluye una expresión que especifica el valor inicial de un índice, también tiene una segunda expresión que determina cuando continúa o no el ciclo, y finalmente tiene una tercera expresión que permite que el índice se modifique al final de cada pasada.

Forma: for(expresión1 ; expresión2 ; expresión3) instrucción

ejemplo

#include <iostream.h>

int main() {
    int i;
    for(i=0; i<10; i++) {
        cout <<“i<< i;
    }
    return 0;
}


Switch: Hace que se selecciones un grupo de instrucciones entre varios grupos disponibles. La selección se basa en el valor de una expresión que se incluye en la instrucción switch

Forma: switch(expresión) instrucción , donde expresión devuelve un valor entero, expresión también puede ser tipo char

ejemplo

 cout << "Uso de SWITCH" << endl;
    switch(num){
        case 1: cout << "Valor es 1 " << endl;
                break;
        case 2: cout << "Valor es 2 " << endl;
                break;
        case 3: cout << "Valor es 3 " << endl;
                break;
        case 4: cout << "Valor es 4 " << endl;
                break;
        case 5: cout << "Valor es 5 " << endl;
                break;
        default:cout << "Valor es mayor que 5 " << endl;
    }

    return 0;
}


Break: Se utiliza para terminar la ejecución de ciclos o salir de una instrucción switch. Se puede utilizar dentro de una instrucción while, do-while, for o switch.

Forma: Break;



Comparación de Ciclos:



Vectores y Matrices:

Vector: 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.
int a[5]; // Vector de 5 enteros

Matriz:  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:

int matrix[rows][cols];
 
 
Tipos de matrices
 

 
 
Suma y Producto de un número real por una matriz.
 

 
Producto de Matrices
 
 Dadas dos matrices A = (aij)m×n y B = (bij)p×q donde n = p, es decir, el número de columnas de la primera matriz A es igual al número de filas de la matriz B , se define el producto A·B de la siguiente forma :

El elemento aque ocupa el lugar (i, j) en la matriz producto se obtiene sumando los productos de cada elemento de la fila i de la matriz A por el correspondiente de la columna j de la matriz B.
 

No hay comentarios:

Publicar un comentario