Monografias.com > Matemáticas
Descargar Imprimir Comentar Ver trabajos relacionados

Algoritmo y flujograma 




Enviado por anguzo1



     

    Indice
    1.
    Introducción

    2. Algoritmo:
    Definición


    4. Variables:
    Definición

    5. Flujograma:
    Definición

    6.
    Bibliografía

    1. Introducción

    Los matemáticos hindúes, árabes y
    europeos fueron los primeros que desarrollaron técnicas
    de cálculo
    escrito. El matemático árabe Al'Khwarizmi , alrededor del
    año 830 DC, escribe un libro de
    Aritmética, traducido al latín como Algoritmi de
    numero Indorum, donde introduce el sistema
    numérico indio (sólo conocido por los árabes
    unos 50 años antes) y los métodos
    para calcular con él. De esta versión latina
    proviene la palabra Algoritmo.
    Por algoritmo se
    entiende "una lista de instrucciones donde se especifica una
    sucesión de operaciones
    necesarias para resolver cualquier problema de un tipo dado". Los
    algoritmos son
    modos de resolución de problemas,
    cabe aclarar que no sólo son aplicables a la actividad
    intelectual, sino también a todo tipo de problemas
    relacionados con actividades cotidianas. El algoritmo es de
    carácter general y puede aplicarse a
    cualquier operación matemática
    o a cualquier problema. La formulación de algoritmos fue
    uno de los más grandes adelantos dentro de la ciencia
    matemática ya que a partir de ello se pudieron resolver
    infinidad de problemas.
    Landa, matemático ruso, quien ha investigado mucho al
    respecto nos dice que "la ciencia
    matemática, en el proceso de su
    desarrollo, ha
    tratado de encontrar los algoritmos óptimos más
    generales para resolver los problemas que permitan la
    solución uniforme de clases más amplias de
    problemas de una manera, es decir, empleando siempre el mismo
    sistema de operación. Los algoritmos, para llegar a ser
    tales deben reunir ciertas características. Una de ellas es que los
    pasos que deben seguirse deben estar estrictamente descritos,
    cada acción debe ser precisa, y debe ser general, es
    decir, que pueda ser aplicable a todos los elementos de una misma
    clase. Por ejemplo en el caso del algoritmo de una
    multiplicación, no sólo se realizará el
    procedimiento
    de resolución parte para la multiplicación de 4 x
    4, sino que el mismo algoritmo podrá aplicarse a cualquier
    multiplicación. La última de estas
    características será la resolución, en otras
    palabras, esto quiere decir que el algoritmo deberá llegar
    a un resultado específico.
    Es de gran importancia aclarar que los algoritmos en si mismos no
    resuelven problemas, se resuelven gracias al producto de
    ejercer las operaciones dictadas por el algoritmo, se puede decir
    que es por el planteamiento mismo. La realización de
    algoritmos es natural e innata en el hombre y en
    la mayoría de los casos es de tipo inconsciente, en otras
    palabras, las personas suelen resolver problemas sin tener que
    recurrir a la aplicación de cierto algoritmo. No obstante
    al encontrarse con problemas de un grado de dificultad mayor es
    necesario detenerse a analizar y pensar en la solución de
    éste .
    En el presente trabajo se enfocan diversos puntos que son de gran
    importancia como lo son Algoritmo del cual hemos comentado
    anteriormente . Flujograma el cual no es más que la
    representación gráfica de un algoritmo y el cual es
    necesario para la realización de un buen programa ,
    haciendo que el hombre
    organice sus ideas y conozca a fondo el problema a solucionar con
    todas las posibles variantes o alternativas utilizando esta
    técnica. También se hablará de ciertos
    puntos referentes a Estructura de
    Datos, Variables ,
    Constantes y se reflejaran ejemplos para su mejor
    compresión.

    2. Algoritmo:
    Definición

    Es un Método
    para resolver un problema mediante una serie de pasos precisos ,
    definidos y finitos. Un algoritmo es una serie de operaciones
    detalladas ,en otras palabras un algoritmo es un conjunto de
    reglas para resolver una cierta clase de problemas y se puede
    formular de muchas formas con el cuidado de que no exista
    ambigüedad.

    Características

    • Preciso (debe indicar el orden de realización
      en cada paso y no puede tener ambiguedad ).
    • Definido (si se sigue dos veces, obtiene el mismo
      resultado cada vez)
    • Finito (tiene fin; un número determinado de
      pasos ).
    • Debe ser Sencillo , Legible.
    • Modular.
    • Eficiente y Efectivo.
    • Se ha de desarrollar en el menor tiempo
      posible.
    • Correcto.
    • Todo Algoritmo debe tener cero ó mas
      entradas.
    • Debe tener al menos una salida y ésta debe ser
      tangible.

    3. Constantes:
    Definición

    Una constante es un dato cuyo valor no puede
    cambiar durante la ejecución del programa. Recibe un valor
    en el momento de la compilación y este permanece
    inalterado durante todo el programa. Las constantes se declaran
    en una sección que comienza con la palabra reservada const
    . Después de declarar una constante se puede usar en
    el cuerpo principal del programa.
    Tienen varios usos: ser miembro en una
    expresión, en una comparación, asignar su
    valor a una variable, etc.
    En el siguiente ejemplo se contemplan varios casos:

    const

    Min = 0;

    Max = 100;

    Sep = 10;

    var

    i : integer;

    begin

    i := Min;

    while i < Max do begin

    writeln(i);

    i := i + Sep

    end

    end.

     

    En este ejemplo se declaran tres constantes (Min, Max y
    Sep). En la primera línea del cuerpo del programa se
    asigna una constante a una variable. En la siguiente, se usa una
    constante en una comparación. Y en la cuarta, la constante
    Sep interviene en una expresión que se asigna a una
    variable. El resultado de ejecutar este programa sería una
    impresión en pantalla de los números: 0, 10, 20,
    30, 40, 50, 60, 70, 80 y 90.
    Se puede hacer una división de las constantes en tres
    clases:

    • Constantes literales(sin nombre)
    • Constantes declaradas (con
      nombre)
    • Constantes expresión
    • Constantes literales

    Son valores de
    cualquier tipo que se utilizan directamente, no se declaran ya
    que no tienen nombre. En el siguiente ejemplo tienes un par de
    constantes literales (el 3, el 4, y el 3.1416):

    VolumenEsfera := 4/3 * 3.1416 * Radio
    * Radio * Radio;

    • Constantes declaradas
      También llamadas constantes con nombre, son las que se
      declaran en la sección Const asignándoles un
      valor directamente.

    Por ejemplo:

    const

    Pi = 3.141592; (* valor real *)
    Min = 0; (* entero *)
    Max = 99; (* entero *)
    Saludo = 'Hola'; (* cadena caract. *)

     

    • Constantes expresión
      También se declaran en la sección Const pero a
      estas no se les asigna un valor directamente, sino que se les
      asigna una expresión. Esta expresión se
      evalúa en tiempo de compilación y el resultado se
      le asigna a la constante.

    Ejemplo:

    const

    Min = 0;
    Max = 100;
    Intervalo = 10;
    N = (Max – Min) div Intervalo;
    Centro = (Max – Min) div 2;

    4. Variables: Definición

    Una variable es un nombre asociado a un elemento de
    datos que
    está situado en posiciones contiguas de la memoria
    principal, y su valor puede cambiar durante la ejecución
    de un programa. Toda variable pertenece a un tipo de dato
    concreto. En
    la declaración de una variable se debe indicar el tipo al
    que pertenece. Así tendremos variables enteras, reales,
    booleanas, etc. Por otro lado, distinguimos tres partes
    fundamentales en la vida de una variable:

    Declaración de variables
    Esta es la primera fase en la vida de cualquier variable. La
    forma de declarar variables es muy sencilla. Esta sección
    debe comenzar con la palabra reservada var, seguida de una lista
    de parejas lista_de_variables=tipo_al_que_pertenecen. Cada par
    debe ir seguido por un punto y coma.
    La lista_de_variables es uno o más nombres de variables
    separados por comas:

    var
    listaVar1:tipo1;…;listaVarn:tipon;

    Una variable no representa más que una
    porción de memoria en donde
    guardamos un dato que dependerá del tipo al que pertenezca
    la variable. A diferencia de una constante, el valor de una
    variable puede cambiar durante la ejecución de un
    programa. Otra diferencia, es que a una variable no basta con
    declararla, sino que también es necesario iniciarla. Esto
    se refiere a darle un valor inicial, y es importante ya que si no
    lo hacemos, igual nos encontramos con errores cuando ejecutemos
    el programa.

    Ejemplo de declaración de variables:


    var

    I, J, K : Integer; (* valores enteros
    *)

    Contador : Integer;

    Radio : Real; (* valor real *)

    Letra : Char; (* un caracter *)

     

    En este ejemplo se declaran seis variables. Las cuatro
    primeras son de tipo entero. La quinta es de tipo real, o sea, un
    número con parte decimal. Y la sexta es un
    carácter, que no es lo mismo que una cadena de un
    carácter (String[1]).

    Iniciación de variables
    Esto no es más que darle un valor inicial a una variable.
    Así como lo primero que se hace con una variable es
    declararla, lo siguiente tiene que ser iniciarla. Esto se hace
    para evitar posibles errores en tiempo de ejecución, pues
    una variable tiene un valor indeterminado después de
    declararla. Principalmente, existen dos maneras de otorgar
    valores iniciales a variables:

    • Mediante una sentencia de
      asignación
    • Mediante uno de los procedimientos
      de entrada de datos (read o readln)

    Veamos un ejemplo que reúne los dos
    casos:

    begin

    i:=1;

    readln(n);

    while i < n do begin

    (* cuerpo del bucle *)

    i := i + 1

    end;

    end.

     

    Utilización de variables
    Una vez declarada e iniciada una variable, es el momento de
    utilizarla. Esta es la parte que presenta un mayor abanico de
    posibilidades. A continuación se presentan unas
    cuantas:

    • Incrementar su valor:

    i := i + 1

    • Controlar un bucle:

    for i:=1 to 10 do …

    • Chequear una condición:

    if i<10 then …

    • Participar en una expresión:

    n := (Max – Min) div I

    Tipos de datos.
    El tipo de un dato es el conjunto de valores que puede tomar
    durante el programa. Si se le intenta dar un valor fuera del
    conjunto se producirá un error. El tipo de dato le indica
    al compilador del lenguaje de
    programación dos cosas: el número de bytes
    requeridos para guardar el dato, y la manera en que se manipulara
    y operara el dato.
    La asignación de tipos a los datos tiene dos objetivos
    principales:

    • Por un lado, detectar errores en las
      operaciones
    • Por el otro, determinar cómo ejecutar estas
      operaciones

    Cada lenguaje de
    programación tiene sus propios tipos de datos,
    algunos de estos son comunes a todos, entre los tipos de datos
    comunes están :

    • Entero,
    • Real,
    • Carácter,
    • Lógico,
    • Fecha / hora y Cadena.

    El tipo integer (entero)
    El
    tipo de datos entero es un tipo simple, y dentro de estos, es
    ordinal. Al declarar una variable de tipo entero, se
    está creando una variable numérica que puede tomar
    valores positivos o negativos, y sin parte decimal. Este tipo de
    variables, puede utilizarse en asignaciones, comparaciones,
    expresiones aritméticas, etc. Algunos de los papeles
    más comunes que desarrollan son:

    • Controlar un bucle .
    • Usarlas como contador, incrementando su valor cuando
      sucede algo .
    • Realizar operaciones enteras, es decir, sin parte
      decimal
    • Y muchas más…

    A continuación se muestra un
    ejemplo en el que aparecen dos variables enteras. Como se puede
    ver, en el ejemplo se muestran las dos maneras de declarar una
    variable de tipo entero:

    type

    tContador = integer;

    var

    i : tContador;

    n : integer;

    begin

    n := 10; (* asignamos valor al maximo
    *)

    i := 1; (* asignamos valor al contador
    *)

    while (i <= n) do begin

    writeln('El valor de i es ',i);

    i := i + 1

    end

    end.

     

    El tipo boolean (lógico)
    El tipo de datos lógico es el que permite usar variables
    que disponen sólo de dos posibles valores: cierto ó
    falso. Debido a esto, su utilidad salta a
    la vista, y no es otra que variables de chequeo. Nos sirven para
    mantener el estado de
    un objeto mediante dos valores:
    si/no
    cierto/falso
    funciona/no funciona
    on/off
    etc.

    Para aclararlo, se muestra el siguiente
    ejemplo:

    type

    tLogico = boolean;

    var

    llueve : tLogico; (* si llueve o no
    *)

    paraguas : boolean; (* si encuentro o no el
    paraguas *)

    begin

    (* aqui se determinarian los
    valores de "llueve" y "paraguas" *)

    if llueve and (not paraguas) then

    writeln('Me quedo en casita')

    else

    writeln('Me voy a dar un paseo')

    end.

     

    El tipo real
    El tipo de datos real es el que se corresponde con los
    números reales. Este es un tipo importante para los
    cálculos. Por ejemplo en los estadísticos, ya que
    se caracterizan por tratar fundamentalmente con valores
    decimales. A continuación se muestra un ejemplo en el que
    se utiliza el tipo real. En el se puede ver las dos formas de
    declarar una variable real, y también el uso de una
    constante real.

    const

    pi = 3.1416;

    type

    tArea = real;

    var

    A : tArea; (* area *)

    R : real; (* radio *)

    begin

    R := 4.50;

    A := pi * R * R; (* calculamos el area
    *)

    writeln('El area para un radio de ',R:4:2,' es
    ',A:8:4)

    end.

     

    Los tipos char y string (carácter y cadena)
    Con el tipo carácter se pueden tener objetos que
    representen una letra, un número, etc. Es decir, se usan
    variables o constantes que representen un valor
    alfanumérico. Pero , cada variable sólo
    podrá almacenar un carácter. Sin embargo, con las
    cadenas de caracteres (strings) se puede contener en una
    sóla variable más de un carácter. Por
    ejemplo, se puede tener en una variable tu nombre.

    Veamos a continuación cómo se usan ambos
    tipos en el siguiente ejemplo:

    type

    tNombre = string[10]; (* puede almacenar 10
    caracteres *)

    var

    nombre : tNombre; (* variable para almacenar el
    nombre *)

    letra_NIF : char; (* caracter para contener la
    letra del NIF *)

    begin

    nombre := 'Beni';

    letra_NIF := 'L';

    writeln('Mi nombre es ',nombre,' y mi letra es
    ',letra_NIF)

    end.

     

    Estructura de Datos :Repetitivas y Secuencial

    • Estructuras   Repetitivas

    Las estructuras
    repetitivas o iterativas son aquellas en las que las acciones se
    ejecutan un número determinado de veces y dependen de un
    valor predefinido o el cumplimiento de una determinada
    acción.
    Características

    • Las estructuras repetitivas permiten representar
      aquellas acciones que pueden descomponerse en otras
      sub-acciones primitivas.
    • Es una estructura
      con una entrada y una salida en la cual se repite una
      acción un número determinado o indeterminado de
      veces
    • En una Estructura Repetitiva Mientras (While) se
      repite una acción mientras se cumpla la condición
      que controla el bucle. La característica principal de
      esta estructura es lque la condición es evaluada siempre
      antes de cada repetición.
    • La estructura repetitiva Desde(FOR) permite que las
      instrucciones las cuales contiene en su ámbito, se
      ejecuten un número de veces determinado.

    Entre las estructuras repetitivas se
    encuentran:

    Mientras (while)

    Repetir   (repeat)
                                                 

    Estructura Mientras (while)

    La estructura repetitiva while, es aquélla en que
    el cuerpo del bucle se repite mientras se cumple una determinada
    condición, su representación gráfica
    es:

    Pseudocódigo en español
                                 
    Pseudocódigo en inglés

    Mientras condición hacer
                            
       
    while  
    condición  
    do

    Acción S1
                                                                
    <Acciones>

    Acción S2
                                                                          
    :

          :
                                                                    
    End_while

    acción Sn

    Fin_mientras

     

    Diagrama N-S

     

    1er. Ejemplo:

    Contar los números enteros positivos introducidos
    por teclado. Se
    consideran dos variables enteras NUMERO y CONTADOR
    (contará el número de enteros positivos).  Se
    supone que se leen números positivos y se detiene el bucle
    cuando se lee un número negativo o cero.

    Pseudocódigo

      
                
    Inicio

                     
    contador 0

                   
       Leer (numero)

                     
    Mientras numero > 0 hacer

                           
    contador 
    contador+1 

                          
    Leer (numero)

                
           Fin_Mientras

                      
    Escribir('El número de enteros positivos es : ',
    contador)

                       
    Fin

     

    Diagrama de Flujo – 1er. Ejemplo

     

    2do. Ejemplo

    Se presenta algoritmo para el cálculo de la
    sumatoria de los n primeros términos de la siguiente
    serie:

    1*2*3 + 2*3*4 + 3*4*5 + 4*5*6

    //WHILE_

    #include <iostream.h>

    #include <conio.h>

     main(){

    int i=0, n;

    float termino, suma=0;

     

    clrscr(); cout << "Digite el valor de N: "; cin
    >> n; cout << "n";

    while( i<n ){

    i = i + 1;

    termino = i * (i+1) * (i+2);

    suma = suma + termino;

    cout << i << " * " << i+1 << " *
    " << i+2 << " = " << termino <<
    endl;

    }

    cout << "nSumatoria = " << suma;

    }

     

    Estructura Repetir  (repeat)
    Esta estructura se ejecuta hasta que se cumpla una
    condición determinada que se comprueba hasta el final del
    bucle.  Se ejecuta al menos una vez. El bucle
    repetir-Hasta_que se repite mientras el valor de la
    expresión booleana de la condición sea falsa, justo
    la opuesta de la sentencia mientras.
    Pseudocódigo  en Español
                                      

    Pseudocódigo en Inglés
    Repetir     
                                             
                     

    Repeat  
               

        <acciones>
                                                               
    <acciones>

            :
                                                                                    
    :   

    Hasta que <condición>
                           
                      

    Until <condición>

    Diagrama de Flujo de Repetir

     

    1 er .Ejemplo :
    Preguntar un nombre y repetirse en pantalla tantas veces como se
    desee. (preguntar cantidad de repeticiones), indicando el
    número de repetición.
    Declaración de variables
    Cadena : nom
    entero : x, n
    Inicio
    escribir(‘Nombre : ‘)
    leer(nom)
    escribir(‘Cuántas veces quieres
    repetirlo ? : ‘)
    leer(n)
    para x 1 hasta n
    hacer
        
    escribir(x’.- ‘, nom)
    Fin

    2do. Ejemplo
    Construir un
    programa que sume todos los números que introduce el
    usuario hasta que introduzca el número cero.
     /* declaraciones */
    float numero, suma_acumulada;
    /*instrucciones*/
    comienzo
         /* inicialización */
         suma_acumulada := 0;
        leer (numero);
        mientras numero > 0 repetir
           comienzo
               
    suma_acumulada := suma_acumulada + numero;
                
    leer (numero);
           fin mientras;

        mostrar ("La suma acumulada es: ",
    suma_acumulada);
    fin;

     Estructura Desde/Para  (for)
    Esta sentencia incluye una expresión que especifica el
    valor inicial de un índice, otra expresión que
    determina cuando se continúa o no el bucle y una tercera
    expresión que permite que el índice se modifique al
    final de cada pasada.
    La forma general de esta sentencia es:
    for (expresión 1; expresión 2; expresión 3)
    sentencia
    en donde
    expresión 1 (expresión de asignación),
    inicializa algún parámetro (llamado índice)
    que controla la repetición del bucle;
    expresión 2 (expresión lógica), representa una condición
    que debe ser satisfecha para que se continúe la
    ejecución del bucle;
    expresión 3 (expresión monaria o expresión
    de asignación), modifica el valor del parámetro
    inicialmente asignado por la expresión
    La ejecución de la sentencia for sucede de la siguiente
    forma: 

    1. Se inicializan los parámetros.
    1. Se evalúa la expresión
      lógica.

    2.1.  Si el resultado es distinto de cero
    (verdadero), se ejecuta la sentencia, se evalúa la
    expresión que da lugar a la progresión de la
    condición y se vuelve al punto 2.
    2.2.  Si el resultado de 2, es cero (falso), la
    ejecución de la sentencia for se da por finalizada y se
    continúa en la siguiente sentencia del programa.
    En muchas ocasiones se conoce de antemano el número de
    veces que se desean ejecutar las acciones de un bucle.  En
    estos casos en el que el número de iteraciones es fija, se
    debe usar la estructura desde o para.
    La estructura Desde ejecuta las acciones del cuerpo del bucle un
    número específico de veces y de modo
    automático controla el número de iteraciones o
    pasos a través del cuerpo del bucle.
    Pseudocódigo en Español
                                         

    Pseudocódigo en Inglés
    Desde variable(v)= vi Hasta vf hacer
                           
    For variable (v)= vi  To 
    vf  Do

        <acciones>
                                                                       
    <acciones>

              
    :
                                                                                         

       
    Fin_desde  
                                                                

    Donde:

           
    v:    Variable índice

            vi, vf:
    Valores inicial y final de la variable

    Diagrama de Flujo de la estructura Desde/Para

    1er.Ejemplo
    Cuenta del 1 al 50 varias veces, con variantes de la
    instrucción FOR.

    //FOR_

    #include <iostream.h>

    #include <iomanip.h>

    #include <conio.h>

     main(){

    int i=1;

     

    clrscr();

    for( ; i<=50; i++)

    cout << setw(5) << i;

    cout << "nn";

     

    for(i=1; i<=50; i++)

    cout << setw(5) << i;

    cout << "nn";

     

    i = 0;

    for( ; i<50; ) {

    i++;

    cout << setw(5) << i;

    }

    cout << "nn";

     

    for(i=1 ; i<=50; ) {

    cout << setw(5) << i;

    i++;

    }

    cout << "nn";

     

    i = 0;

    for( ; ; ) {

    i ++;

    if (i > 50)

    break;

    else

    cout << setw(5) << i;

    }

     

    getch();}

    2do. Ejemplo

    Expansión binomial:

    n n-i i

    (a+b)_ = S ( n! / (i!×(n-i)!))×a ×
    b

    i=0

    El siguiente algoritmo muestra en pantalla los
    coeficientes de la expansión binomial para un N dado por
    teclado:

    //FOR_5.CPP

    #include <iostream.h>

    #include <conio.h>

     

    float factorial(int numero){

    int i;

    float f=1;

     

    for(i=1; i<=numero; i++)

    f = f * i;

    return f;

    }

     

    main(){

    int n, i, a, b, coeficiente;

     

    clrscr();

    cout<<"Digite exponente(n) para calcular
    coeficientes del binomial (a+b)_: ";

    cin >> n;

    cout <<"n";

    for(i=0; i<=n; i++) {

    coeficiente = factorial(n) /
    (factorial(i)*factorial(n-i));

    cout << coeficiente << " ";

    }

    getch();

    return 0;

    }

     

      • Estructura Secuencial
    • Es aquélla en la que una acción
      (instrucción) sigue a otra en secuencia. Las tareas se
      suceden de tal modo que la salida de una es la entrada de la
      siguiente y así sucesivamente hasta el fin del
      proceso.

    Características

    • La estructura secuencial tiene una entrada y una
      salida.
    • Un programa puede contener simplemente una secuencia
      de instrucciones.
    • Es aquella que ejecuta las acciones sucesivamente
      unas a continuación de otras sin posibilidad de omitir
      ninguna y naturalmente, sin bifurcaciones.
    • Su representación gráfica es la
      siguiente:

    Estructura Secuencial

     
                                                                           
     ….

     Pseudocódigo De Una Estructura
    Secuencial
     Inicio

                                                               
    :

                                                                :

    acciones

    :

    fin 

      1er. Ejemplo :

            Calcular el
    salario neto de
    un trabajador en función
    del número de horas trabajadas, precio de la
    hora de trabajo y considerando unos descuentos fijos al sueldo
    bruto en concepto de
    impuestos (20
    por 100).

     Pseudocódigo
    Inicio
    {cálculo salario neto}
    leer nombre, horas, precio_hora
    salario_bruto horas * precio
    impuestos 0.20 * salario_bruto
    salario_neto salario_bruto_impuestos
    escribir nombre, salario_bruto, salario_neto_bruto,
    salario_neto
    Fin

      

    Diagrama de flujo – 1er. Ejemplo

     

    2do. Ejemplo
    Suponga que un curso estaba compuesto de tres estudiantes. Cada
    uno de los estudiantes cursó dos asignaturas. Se deben
    leer inicialmente los nombres de los tres estudiantes, los
    nombres de las dos asignaturas y luego: las calificaciones
    definitivas de cada una de las dos asignaturas para cada uno de
    los tres estudiantes. Calcular:

    1. la nota promedio de cada uno de los tres
      estudiantes.
    2. 2. la nota promedio de cada una de las
      asignaturas.

     

    INICIO
    CARACTER Asignatura1[10], Asignatura2[10],
    Estudiante1[15], Estudiante2[15], Estudiante3[15];
    REAL Est1Asig1, Est1Asig2,

    Est2Asig1, Est2Asig2,

    Est3Asig1, Est3Asig2,

    PromedioAsignatura1, PromedioAsignatura2,

    PromedioEstudiante1,PromedioEstudiante2,
    PromedioEstudiante3;

    Escribir("Digite Nombre asignatura 1: ")

    Leer(Asignatura1)

    Escribir("Digite Nombre asignatura 2: ")

    Leer(Asignatura2)

    Escribir("Digite Nombre estudiante 1: ")

    Leer(Estudiante1)

    Escribir("Digite Nombre estudiante 2: ")

    Leer(Estudiante2)

    Escribir("Digite Nombre estudiante 3: ")

    Leer(Estudiante3)

    //A continuación se pedirá digitar las 3 *
    2 = 6 calificaciones

     Escribir("Digite Calificaciones de ", Estudiante1,
    ":")

    Escribir("En la asignatura de ", Asignatura1, ":
    ")

    Leer(Est1Asig1)

    Escribir("En la asignatura de ", Asignatura2, ":
    ")

    Leer(Est1Asig2)

     

    Escribir("Digite Calificaciones de ", Estudiante2 ":
    ")

    Escribir("En la asignatura de ", Asignatura1, ":
    ")

    Leer(Est2Asig1)

    Escribir("En la asignatura de ", Asignatura2, ":
    ")

    Leer(Est2Asig2)

     

    Escribir("Digite Calificaciones de ", Estudiante3, ":
    ")

    Escribir("En la asignatura de ", Asignatura1, ":
    ")

    Leer(Est3Asig1)

    Escribir("En la asignatura de ", Asignatura2, ":
    ")

    Leer(Est3Asig2)

     

    //A continuación los cálculos
    necesarios

     

     

    PromedioEstudiante1 = (Est1Asig1 + Est1Asig2) /
    2

    PromedioEstudiante2 = (Est2Asig1 + Est2Asig2) /
    2

    PromedioEstudiante3 = (Est3Asig1 + Est3Asig2) /
    2

     

    PromedioAsignatura1 = (Est1Asig1 + Est2Asig1 +
    Est3Asig1) / 3

    PromedioAsignatura2 = (Est1Asig2 + Est2Asig2 +
    Est3Asig2) / 3

     

     

    Escribir("Promedio estudiantes en ", Asignatura1, "=",
    PromedioAsignatura1)

    Escribir("Promedio estudiantes en ", Asignatura2, "=",
    PromedioAsignatura2)

     

    Escribir("Promedio ", Estudiante1, " = ",
    PromedioEstudiante1)

    Escribir("Promedio ", Estudiante2, " = ",
    PromedioEstudiante2)

    Escribir("Promedio ", Estudiante3, " = ",
    PromedioEstudiante3)

     

    FIN.

     

    3er. Ejemplo

    En unas elecciones se presentan tres candidatos. a
    continuación se presenta algoritmo para calcular estadísticas elementales de la
    elección. Se tienen en cuenta los votos en blanco y la
    población electoral total.

    A

    INICIO

    Constante REAL TotalCensoElectoral = 50000

     CARACTER Candidato1[15], Candidato2[15],
    Candidato3[15]

    REAL VotosCandidato1, VotosCandidato2, VotosCandidato3,
    VotosEnBlanco,

    TotalVotosEleccion,

    PorcentajeCandidato1,PorcentajeCandidato2,
    PorcentajeCandidato3,

    PorcentajeVotosEnBlanco,

    PorcentajeCiudadanosResponsables,

    PorcentajeCiudadanosInconcientes;

     

    Escribir("Digite Nombre candidato 1: ")

    Leer(Candidato1)

    Escribir("Digite Nombre candidato 2: ")

    Leer(Candidato2)

    Escribir("Digite Nombre candidato 3: ")

    Leer(Candidato3)

     

    Escribir("Digite votación de ", Candidato1, ":
    ")

    Leer(VotosCandidato1)

    Escribir("Digite votación de ", Candidato2, ":
    ")

    Leer(VotosCandidato2)

    Escribir("Digite votación de ", Candidato3, ":
    ")

    Leer(VotosCandidato3)

    Escribir("Digite votación en blanco ")

    Leer(VotosEnBlanco)

     

    //A continuación los cálculos
    necesarios

    TotalVotosEleccion = VotosCandidato1 + VotosCandidato2
    +

    VotosCandidato3 + VotosEnBlanco

     

    PorcentajeCandidato1 = ( VotosCandidato1 /
    TotalVotosEleccion ) * 100

    PorcentajeCandidato2 = ( VotosCandidato2 /
    TotalVotosEleccion ) * 100

    PorcentajeCandidato3 = ( VotosCandidato3 /
    TotalVotosEleccion ) * 100

    PorcentajeVotosEnBlanco = ( VotosEnBlanco /
    TotalVotosEleccion ) * 100

     

    PorcentajeCiudadanosResponsables=(TotalVotosEleccion/TotalCensoElectoral)*100

    PorcentajeCiudadanosInconcientes = 100 –
    PorcentajeCiudadanosResponsables

     

    Escribir("Porcentaje ", Candidato1, " = ",
    PorcentajeCandidato1)

    Escribir("Porcentaje ", Candidato2, " = ",
    PorcentajeCandidato2)

    Escribir("Porcentaje ", Candidato3, " = ",
    PorcentajeCandidato3)

    Escribir("Porcentaje de votos en blanco = ",
    PorcentajeVotosEnBlanco)

     

    Escribir("Si votaron = ",
    PorcentajeCiudadanosResponsables, "%")

    Escribir("NO votaron = ",
    PorcentajeCiudadanosInconcientes, "%")

    FIN.

    5. Flujograma:
    Definición

    Es un esquema para representar gráficamente un
    algoritmo .Se basan en la utilización de diversos
    símbolos para representar operaciones
    específicas.  Se les llama diagramas de
    flujo porque los símbolos utilizados se conectan por
    medio de flechas para indicar la secuencia de
    operación.
    Para hacer comprensible los Diagramas a todas
    las personas , los Símbolos se sometieron a una normalización , o lo que es en realidad se
    hicieron símbolos casi universales, ya que , en un
    principio cada usuario podría tener sus propios
    símbolos para representar sus procesos en
    forma de Diagrama de
    Flujo. Esto trajo como consecuencia que solo el que
    conocía sus símbolos, los podía
    interpretar.
    La simbología utilizada para la elaboración de
    diagramas de flujo es variable y debe ajustarse a un
    patrón definido previamente.
    A continuación se mostrara las simbologías mas
    utilizadas :
    Simbologia utilizada en los diagramas de flujo

                            

    Símbolo
                                          
    función

     

     

    Ejemplo de un Algoritmo sencillo con su respectivo
    Flujograma
    Considere un Algoritmo para leer dos números A y B luego
    sumarlos y por último imprimir o mostrar el resultado de
    la suma.
    Algoritmo : Representación Grafica :
    Inicio

    Leer A

    Leer B

    C = A + B

    Mostrar C

    Fin

    6.
    Bibliografía

    • Rivas , Dolores y Salas Régulo.
      1985

    Introducción a la Computación
    Tercera Edición – Esprosistemas.

    • http : //www.ulpgc.es/otros/tutoriales/mtutor/indice.html
    • http : //www.monografías.com
    • http :
      //www.edu.aytolacoruna.es/aula/programación/flujo.htm
    • http :
      //www.etsi2.ugr.es/alumnos/mlii/alkhwarizmi/.htm
    • http :
      //www.etsi2.ugr.es/alumnos/mlii/algoritmo/.htm
    • Colección Practica del Estudiante(Cole) ,
      1983

    Editorial Portada

     

     

     

     

     

     

     

    Autor:

    Anna Guzman

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter