lunes, 12 de noviembre de 2012


ALGORITMO

Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algoritmica y programacion, todas ellas muy similares:



  Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]

  Descripción de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]

  Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004].

Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.


DIAGRAMA DE FLUJOS

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.




PSEUDOCÓDGIGO

El pseudocódigo  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.

El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. 



VARIABLES


Son elementos que toman valores específicos de un tipo de datos concreto. La declaración de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar valores iniciales a variables:

Mediante una sentencia de asignación.

Mediante un procedimiento de entrada de datos (por ejemplo: 'read').

CONSTANTES


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.

Simbología, Pseudocódigo y Funciones.

            

A continuación se presentara los diferentes símbolos utilizados en la fabricación de diagramas de flujo:





Para despejar dudas y estar claros en la elaboración de algoritmos aprenderemos a utilizar la simbología nombrada anteriormente con los ejercicios presentados en la otra entrada.


LOGARITMOS Y DIAGRAMAS DE FLUJO
1. calcular el area de un rectangulo y que imprima la base altura y el resultado del area

Sln/:

                                


-Inicio

Lea b,h
Areaß b*h
Esc b,h area
-Pare
















2. elabore un diagrama que lea el nombre, salario basico por horas, el numero de horas trabajadas de una persona y que calcule el salario basico por hora.


Sln/:

-Inicio
Lea nombre, sb x horas, numero de horas
Sb ß nht*s
Esc Sb*h
-Pare

















3. elabore un algoritmo que lea 2 números que los multiplique, que divida el resultado  de la multiplicación entre el primer número leído, que sume el resultado leído y que le saque la raíz cuadrada al resultado de la resta.
Sln/:

-Inicio
Lea N1, N2
Multß  N1*N2
Divi ß mult / N2
Rest ß div- N2
Sumaß divi + N2
Raiz ß raiz de resta
Esc  mult, div, suma, raíz, resta
-Pare










4.  Desarrolle un algoritmo que lea el nombre, edad y estado civil de una persona, e imprima el nombre de la persona si corresponde a un hombre casado mayor de 40 años o a una mujer menor de 50
Sln/:



-       Inicio
Lea nombre, edad sexo, est. Civil
Si ( sex=’’masculino’’)^( E.C= “casado’’)^( edad > 40) entonces
Esc nombre
Sino          
Si ( sex= “femenino’’) ^( E.C=(“soltera’’)^(edad <50) entonces
Fsi esc Nombre
Fsi
-      Pare