lunes, 5 de noviembre de 2018

Algoritmos repetitivos, definición y ejemplos


Grupo 8:

Thayris Navarro C. I.: 26.938.872; Rubén Farías C. I.: 27.719.360; Analis Caldera C. I.: 27.917.093

Definición.
Los algoritmos repetitivos, también llamados estructuras, lazos, ciclos o bucles, permiten repetir una operación o secuencias de operaciones en función de ciertas condiciones. Se utilizan cuando se quiere que un conjunto de instrucciones se ejecute un cierto número finito de veces y estos algoritmos permiten hacerlo de manera sencilla.

Mientras se cumpla una condición establecida, las instrucciones se repiten un número determinado de veces. Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que este ciclo llegue a su fin.

          -Contador: esta es una variable en la memoria que aumenta en una unidad cada vez que se ejecuta el proceso. Se utiliza para seguir la cuenta de determinadas acciones que se pueden solicitar al resolver un problema.
      -Acumulador: esta es una variable en la memoria cuya misión es almacenar cantidades variables. Se utiliza para hacer sumas sucesivas.

Diferencia entre contador y acumulador
La principal diferencia del acumulador con el contador es que el aumento o la disminución de cada suma es variable y no constante, como en el caso del contador.

Estructuras algorítmicas repetitivas.
Para (For): se utiliza cuando se puede determinar el número de veces que hay que ejecutar las instrucciones

Ejemplo



1) I Es la variable índice con un valor inicial de 1, se incrementa uno en cada paso hasta 100.

2) La estructura desde comienza con un valor inicial de la variable índice y las acciones se ejecutan hasta que su valor sea MAYOR que el que el Valor final.

3) La variable índice se incremente en uno y si este nuevo valor del índice no es mayor que
el valor final, se ejecuta de nuevo la acción imprimir.
En este caso se visualizará los números 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ....97, 98, 99, 100


Mientras (While): repite el ciclo mientras se cumpla una determina condición. Este arroja dos resultados:

-          La condición se cumple: se ejecuta acción 1,2,3….acción n.se repite hasta que la condición no se cumpla, entonces se sale del ciclo y se sigue ejecutando la o las instrucciones que viene a continuación y están fuera del bucle; instrucciones X
-          La condición no se cumple: no entrará en el ciclo. se realizan las instrucciones que viene después del bucle, instrucciones X.


Ejemplo



Repetir hasta (Do-while): cumple la misma función que la estructura mientras, solo que esta comprueba la condición al inicio y repetir lo hace al final ,mientras que la estructura repetir se ejecuta por lo menos una vez 

Ejemplo


Lo que la computadora hace al ejecutar  la estructura repetir es:
1) Se ejecuta: instrucción 1 , instrucción 2 ,…..instrucción n.
2) Se evalúa la condición.
  v  Si esta es Falsa(No)se vuelve a repetir el ciclo y se ejecuta instrucción 1 , instrucción 2 ,…..instrucción n
  v  Si la condición es VERDADERA(Si) se sale del ciclo y se ejecuta instrucción X.


Características de cada estructura algorítmica repetitiva.
Ciclo Para (For):
·         Siempre use una variable (contador) que aumentará automáticamente su valor y ayudará a determinar si el ciclo continúa o se completa.
·         El contador debe inicializarse con un valor, generalmente 0 o 1, dependiendo de lo que se haga.
·         Un ciclo puede contener otro ciclo en sí mismo (llamado ciclo anidado). Nunca use el mismo nombre de variable (contador) en ambos ciclos, ya que el programa no puede determinar cuándo termina el ciclo.
·        Se utiliza para repetir una o más instrucciones varias veces

Ciclo Mientras (While):
·         Hay una condición de ciclo, una expresión lógica que controla la secuencia de repetición.
·         La posición de esta condición es delante al cuerpo del ciclo y significa que es de comprobación previa. Por lo tanto, cuando se ejecuta, la condición se evalúa antes de que se ejecute el cuerpo del ciclo.
·         Indica la condición que debe cumplirse para que tenga lugar una iteración.
·        Se utilizan cuando queremos repetir la ejecución de varias sentencias de forma indefinida, siempre que se cumpla una condición.

Ciclo Repetir hasta (Do-while):
·        Este ciclo se presenta en algunas circunstancias en las que se ha de tener la seguridad de que una determinada acción se ejecutara una o más veces, pero al menos una vez.
·        Tiene que tener su final y salirse de él, tiene un límite y este es hasta que la condición ya no se cumpla, es decir que sea falsa.
·         Se utiliza generalmente cuando no se sabe cuántas veces se habrá de ejecutar el bucle.

       ¿Cuándo emplear cada estructura repetitiva?
        
        




domingo, 4 de noviembre de 2018

Algoritmos Secuenciales

Tema n° 7

Susana Barceló C.I.: 29.516.928 y Luis Rosal C.I.: 27.614.848

ALGORITMO SECUENCIAL

     La estructura secuencial es aquella 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.

ELEMENTOS BÁSICOS DE UN ALGORITMO SECUENCIAL

Los elementos básicos constitutivos de un programa o algoritmo son:

- Palabras reservadas: (inicio, fin, si – entonces..., etc).
- Identificadores: (nombres de variables esencialmente).
- Caracteres especiales: (coma, apóstrofe, etc.).
- Constantes.
- Variables.
- Expresiones.

ESTRUCTURA SECUENCIAL

     Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.

     La estructura secuencial tiene una entrada y una salida. Su representación gráfica es la siguiente:


     Los algoritmos que necesitan de estructuras secuenciales para su solución son los mas difíciles de comprender y mas sencillos de identificar los procesos que realizará el programa que nos llevarán a la solución del mismo.

     En algunos algoritmos se omite la declaración de variables, en casos que el algoritmo no es complicado.

     En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma:


Otro ejemplo: Problema de tipo cotidiano.


Ejercicio 1

Hacer el rastreo manual para:

a = 2
a = a + 1
b = a * 2
b = b – 1
c = a + 2 * b
Presentar "c".

Rastreo: Para el rastreo hay que asignarle a cada línea un número, de la siguiente manera, de antemano ya nos habremos fijado que el valor de salida es el de la variable c, el problema sería saber el valor de esta variable c que se mostrará finalmente.

1) a = 2
2) a = a + 1
3) b = a * 2
4) b = b – 1
5) c = a + 2 * b
6) Presentar "c".

Línea 1: a=2
Línea 2: a=2+1=3
Línea 3: b=3*2=6
Línea 4: b=6–1=5
Línea 5: c=3+2*5=13
Línea 6: Se presenta 13
El valor de la variable c será 13.

EJEMPLOS DE ALGORITMOS SECUENCIALES

Problema: Escribir un algoritmo que, multiplique el valor del nº 328.432.555 por 3 y lo divida por 5 y muestre el resultado por pantalla.

Algoritmo para resolverlo:
                
1. inicio.
2. Definir variable RESULTADO= 0
3. RESULTADO = 328.432.555 * 3 / 5
4. muestra por pantalla “EL RESULTADO ES”, RESULTADO
5. fin

Problema: Escribir un algoritmo que, ingresado un número y un coeficiente por pantalla lo obtenga el porcentaje y lo  muestre por pantalla.

Algoritmo para resolverlo:

1. inicio.
2. Definir variables NUMERO, COEFICIENTE, PORCENTAJE= 0
3. Ingresar por pantalla NUMERO, COEFICIENTE
4. PORCENTAJE = NUMERO * COEFICIENTE / 100
5. muestra por pantalla “EL PORCENTAJE DE”, NUMERO, “ES “, PORCENTAJE
6. fin

     ESTOS ALGORITMOS TIENEN  UNA ESTRUCTURA SECUENCIAL YA QUE LOS PASOS SE SUCEDEN UNO A CONTINUACIÓN DEL OTRO HASTA RESOLVER EL PROBLEMA.

Definición de Algoritmo


Grupo: Argenis Chacon (28139550), Selena Velásquez (27.243.082) y José Suarez (24.591.130) Sección 01
                                                     
       Llamamos algoritmo a la metodología para resolver un problema, se basa en una secuencia de instrucciones o reglas bien definidas y ordenadas que permiten realizar una actividad, mediante pasos consecutivos que no generen dudas a quien deba hacer dicha tarea. En el cual, este conjunto de pasos es finito y van seguidos de un orden lógico que entrega la solución al problema. Un algoritmo tiene una estructura básica para plantear la solución.

   El primer paso es hacer el planteamiento y análisis del problema, luego identificar las entradas, los procesos y todas las salidas. El aprendizaje de los algoritmos es de suma importancia ya que son la base de la programación de ordenadores. Deben tener ciertas características de manera obligatoria como: la de resolver el problema para el que fue creado, debe ser especifico, independiente al lenguaje de programación, preciso, finito, valido y eficiente para resolver el problema en poco tiempo. Los algoritmos son el objeto de estudio de la algoritmia.

Características de un algoritmo

    En un algoritmo hay un estado inicial, un Input (Entrada) y que siguiendo al pie de la letra una secuencia de pasos (proceso), se produce siempre un resultado, un output (Salida). De esta manera, aunque se desconozca el proceso que se ejecute, siguiendo la serie de operaciones se va a llegar al resultado correcto. Buena parte del conocimiento que compartimos tiene la forma de una secuencia de pasos. Por ejemplo, un algoritmo podría ser una receta de cocina: la entrada son los ingredientes, la preparación es el proceso y la salida es la cena terminada; y de nuevo el algoritmo indica como pasar de un estado a otro. 

Partes de un algoritmo

     En la vida cotidiana, se emplean algoritmos continuamente para solucionar problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su jefe. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de multiplicación, para calcular el producto, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para solventar un sistema de ecuaciones lineales.

   En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten resolver un problema. Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje naturallenguajes de programación, pseudocódigodiagramas de flujo, entre otros. Las descripciones en lenguaje natural tienden a ser confusas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son maneras más estructuradas para representar algoritmos; sin embargo, se mantienen independientes de un lenguaje de programación específico.

   Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego implementarse en un lenguaje diferente de programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación. De hecho, todas las tareas ejecutadas por la computadora se basan en algoritmos. Un software o programa informático está diseñado a base de algoritmos, de modo que podemos introducir una tarea en él y resolverla.

Por último, tenemos un ejemplo de un algoritmo simple representado en un diagrama de flujo: 

Los diagramas de flujo sirven para representar algoritmos de manera gráfica




tipos de algoritmos


Tema 3:

GILMAR ARAY C.I: 27.341.757
JESUS DIAZ C.I: 27.710.714
MARIA CENTENO C.I:27.476.109

TIPOS DE ALGORITMOS

A) Según el sistema de signos con el que describen los pasos a seguir, se reconocen:

–Algoritmos cualitativos: cuando se hace a través de palabras, es decir, las instrucciones son verbales. Sucede, por ejemplo, con recetas de cocina.

–Algoritmos cuantitativos: cuando se hace a través de cálculos numéricos. Se puede hacer un algoritmo, por ejemplo, para obtener la raíz cuadrada de un número.

B) Según su función, los algoritmos pueden ser:

–Algoritmos de ordenamiento: secuencian los elementos que ingresan a partir de un cierto orden, en general, según un orden numérico o léxico.

–Algoritmos de búsqueda: al contrario de realizar operaciones o secuenciar elementos, se dedica a encontrar dentro de una lista que ingresa, uno o varios elementos en particular que cumplan con el conjunto de condiciones dadas.

–Algoritmos de encaminamiento: deciden de qué modo se deberá transmitir algo que llega, y cómo seguirá un conjunto de pasos encadenados. Se dividen fundamentalmente entre adaptativos y estáticos, los primeros con cierta capacidad de aprendizaje y ajuste a la circunstancia, mientras que los segundos funcionan mecánicamente, siempre del mismo modo. Es importante decir que los algoritmos de encaminamiento cuentan con una propia subdivisión, según el camino que se toma para que la transmisión llegue de manera efectiva (ejemplos de estos tipos son: por el camino más corto, de manera óptima, basado en el flujo, etc.).

C) También los algoritmos han sido clasificados según la estrategia que se utiliza para llegar al resultado. Veamos algunos ejemplos:

–Algoritmos probabilísticos: no se puede estar seguro de la exactitud de la respuesta que darán. Se agrupan en distintos subtipos, pero con esa premisa: o bien presentan soluciones aproximadas del problema, o bien presentan soluciones que pueden ser correctas, pero también erróneas.

–Algoritmo cotidiano: es el que se da en la vida común de las personas, no se aplica en sistemas informáticos ni en nada ajeno al día a día. Muchas de las decisiones que se toman desde que uno se despierta por la mañana pertenecen a este grupo.

–Algoritmo heurístico: abandona alguno de los objetivos como recurso para terminar llegando a la solución. En general, son utilizados cuando no existe una solución mediante las vías tradicionales.

–Algoritmo de escalada: se comienza con una solución insatisfactoria (que no cumple la entrada y la salida), y se la va modificando aproximándose a lo que se busca. En algún momento, estaremos cerca de (o llegaremos a) la solución correcta.

–Algoritmo voraz: Con la idea de llegar a una solución óptima definitiva, elige analizar cada paso como único y elegir la solución óptima para ese paso.

–Algoritmo determinista: es completamente lineal (cada paso tiene un paso sucesor y un paso predecesor) y por lo tanto predictivo, si se conocen sus entradas y su forma de proceder. El algoritmo de Euclides, que permite averiguar el máximo común divisor entre dos números, responde a este tipo. Se distinguen de los no deterministas, donde el algoritmo tiene un comportamiento en forma de árbol.


El Pseudocodigo


Realizado por:
Jesús Vasquez 27.181.828
Jose Oliver 27.384.955
Jose Deyan 27.476.122

¿Qué es un Pseudocódigo?

En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción informal de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero , pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas.
El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. No existe una sintaxis estándar para el pseudocódigo, aunque los ocho IDE's que manejan pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en papel.

Aplicación.

Un programador que tiene que aplicar un algoritmo específico, sobre todo uno desfamiliarizado, generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa descripción en el lenguaje de programación meta y lo modifica para que interactúe correctamente con el resto del programa. Los programadores también pueden iniciar un proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en su lenguaje de programación, como ocurre en la estructuración de un enfoque de Top-down y Bottom-up arriba hacia abajo.

Sintaxis.

En la actualidad y por lo general, el pseudocódigo, como su nombre lo indica, no obedece a las reglas de sintaxis de ningún idioma en particular ni es de forma estándar sistemática, a pesar de que cualquier escritor en particular vaya a pedir prestado las estructuras de control general, la sintaxis y el estilo, por ejemplo, de algún lenguaje de programación convencional. Pero en caso de que se quiera ejecutar, se debe llevar a forma tipo, para que no genere mensajes de error. Las fuentes populares incluyen la sintaxis de Pascal, BASIC, C, C++, Java, Lisp, y ALGOL. Por lo general, se omiten las declaraciones de variables. A veces, las llamadas a funciones, los bloques de código y el código contenido dentro de un loop se remplazan por una sentencia de una línea en lenguaje natural.


 Dependiendo del escritor, el pseudocódigo puede variar mucho en su estilo, yendo desde en un extremo, una imitación casi exacta de un lenguaje de programación real, hasta al acercarse a una descripción en prosa de formato de pseudocódigo en el otro extremo.

Este es un ejemplo de pseudocódigo (para el juego matemático bizz buzz):


 

Características y Partes.

Las principales características de este lenguaje son:
1.   Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX, Maruga Script, Seudocódigo o PSeInt. Otros Ides de consideración son Inter-P y Algor)
2.   Es una forma de representación sencilla de utilizar y de manipular.
3.   Facilita el paso del programa al lenguaje de programación.
4.   Es independiente del lenguaje de programación que se vaya a utilizar.
5.   Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la descripción de:
1.   Instrucciones primitivas.
2.   Instrucciones de proceso.
3.   Instrucciones de control.
4.   Instrucciones compuestas.
5.   Instrucciones de descripción.
Estructura a seguir en su realización:
1.   Cabecera.
1.    Programa.
2.    Módulo.
3.    Tipos de datos.
4.    Constantes.
5.    Variables.
2.   Cuerpo.
1.    Inicio.
2.    Instrucciones.
3.    Fin.

Definición de datos del pseudocódigo.

La definición de datos se da por supuesta, sobre todo en las variables sencillas, si se emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del algoritmo, y naturalmente cuando empleemos el pseudocódigo para definir estructuras de datos, esta parte la desarrollaremos adecuadamente.

Funciones y operaciones.

Cada autor usa su propio pseudocódigo con sus respectivas convenciones. Por ejemplo, la instrucción "reemplace el valor de la variable X por el valor de la variable  Y" puede ser representado como:


Las operaciones aritméticas se representan de la forma usual en matemáticas.

Estructuras de control.

En la redacción del pseudocódigo se utiliza tres tipos de estructuras de control: las secuenciales, las selectivas y las iterativas.

Estructuras Secuenciales.

Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo. Las instrucciones se ejecutan dependiendo de la condición dada dentro del algoritmo.


Estructuras Selectivas.

Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, según el cumplimiento de una condición.

La condición es una expresión booleana. Instrucciones es ejecutada sólo si la condición es verdadera.

Selectiva doble (alternativa).

La instrucción alternativa realiza una instrucción de dos posibles, según el cumplimiento de una condición.

La condición es una variable booleana o una función reducible a booleana (lógica, Verdadero/Falso). Si esta condición es cierta se ejecuta Instrucciones1, si no es así, entonces se ejecuta Instrucciones2.

Selectiva múltiple.

También es común el uso de una selección múltiple que equivaldría a anidar varias funciones de selección.


En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si una de ellas se cumple las demás tienen que ser falsas necesariamente, hay un caso si no que será cierto cuando las demás condiciones sean falsas.
En esta estructura si Condición1 es cierta, entonces se ejecuta sólo Instrucciones1. En general, si Condicióni es verdadera, entonces sólo se ejecuta Instruccionesi

Selectiva múltiple-Casos.

Una construcción similar a la anterior (equivalente en algunos casos) es la que se muestra a continuación.

En este caso hay un Indicador es una variable o una función cuyo valor es comparado en cada caso con los valores "Valori", si en algún caso coinciden ambos valores, entonces se ejecutarán las Instruccionesi correspondientes. La sección en otro caso es análoga a la sección si no del ejemplo anterior.

Estructuras iterativas.

Las instrucciones iterativas representan la ejecución de instrucciones en más de una vez.

Bucle mientras.

El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Bucle repetir.

Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se cumpla la condición:

La estructura anterior equivaldría a escribir:

Bucle hacer.

El Bucle hacer se utiliza para repetir un bloque de código mientras se cumpla cierta condición.

Bucle para.

Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea iterar un número conocido de veces, empleando como índice una variable que se incrementa (o decrementa):
la cual se define como:

Bucle para cada.

Por último, también es común usar la estructura de control para cada. Esta sentencia se usa cuando se tiene una lista o un conjunto L y se quiere iterar por cada uno de sus elementos:
Si asumimos que los elementos de   son , entonces esta sentencia equivaldría a:
Que es lo mismo que:
 
Sin embargo, en la práctica existen mejores formas de implementar esta instrucción dependiendo del problema.
Es importante recalcar que el pseudocódigo no es un lenguaje estandarizado. Eso significa que diferentes autores podrían dar otras estructuras de control o bien usar estas mismas estructuras, pero con una notación diferente. Sin embargo, las funciones matemáticas y lógicas toman el significado usual que tienen en matemática y lógica, con las mismas expresiones.

El anidamiento.

Cualquier instrucción puede ser sustituida por una estructura de control. El siguiente ejemplo muestra el pseudocódigo del ordenamiento de burbuja, que tiene varias estructuras anidadas. Este algoritmo ordena de menor a mayor los elementos de una lista L.
En general, las estructuras anidadas se muestran indentadas, para hacer más sencilla su identificación a simple vista. En el ejemplo, además de la indentación, se ha conectado con flechas los pares de delimitadores de cada nivel de anidamiento.

Funciones y procedimientos.

Muchas personas prefieren distinguir entre funciones y procedimientos. Una función, al igual que una función matemática, recibe uno o varios valores de entrada y regresa una salida mientras que un procedimiento recibe una entrada y no genera ninguna salida aunque en algún caso podría devolver resultados a través de sus parámetros de entrada si estos se han declarado por referencia .
En ambos casos es necesario dejar en claro cuáles son las entradas para el algoritmo, esto se hace comúnmente colocando estos valores entre paréntesis al principio o bien declarándolo explícitamente con un enunciado. En el caso de las funciones, es necesario colocar una palabra como regresar o devolver para indicar cuál es la salida generada por el algoritmo. Por ejemplo, el pseudocódigo de una función que permite calcular  (un número  elevado a potencia  ).
 
Un ejemplo de procedimiento seria el algoritmo de Ordenamiento de burbuja, por el que partiendo de una lista de valores estos se ordenan, nótese que en un procedimiento, no se calcula el valor de una función, sino que se realiza una acción, en este caso ordenar la lista.

Desarrollo de algoritmos.

Con este pseudocódigo se puede desarrollar cualquier algoritmo que:
  • ·         Tenga un único punto de inicio.
  • ·         Tenga un número finito de posibles puntos de término.
  • ·         Haya un número finito de caminos, entre el punto de inicio y los posibles puntos de término.

Ventajas del pseudocódigo sobre los diagramas de flujo.

Los pseudocódigos presentan los siguientes beneficios:
1.   Ocupan mucho menos espacio en el desarrollo del problema.
2.   Permite representar de forma fácil operaciones repetitivas complejas.
3.   Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal.
4.   Si se siguen las reglas de identación se puede observar claramente los niveles en la estructura del programa.
5.   En los procesos de aprendizaje de los alumnos de programación, éstos están más cerca del paso siguiente (codificación en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo).
6.   Mejora la claridad de la solución de un problema.