viernes, 1 de marzo de 2013

algoritmo


Espacio de la memoria para almacenar un dato que puede cambiar o no durante la eje
cución de un programa.  Puede ser : numérico en el que solo se pueden almacenar valores (dígitos)  o alfanumérico en el que puede almacenarse cualquier carácter (dígito, letra o símbolo  especial)
Se le identifica por los siguientes atributos:
El Nombre (o identificador ) que se le asigna,
El tipo que describe el uso de la variable y
El valor de la variable que es la cantidad que tiene asociada en un determinado momento

 
Fig. 3.   Variables (declaración)
Es decir,  la variable que representa la edad de una persona se identifica por el nombre Edad ; los datos que guardan son de tipo real  y su valor en un momento determinado puede ser 25.
Nota: Los nombres de las variables deben ser significativos, y tener relación con el objeto que representan. Asi si se desea almacenar pesos, a dicha variable se le asignará el nombre de pesos.
Una variable de un tipo determinado solo puede tomar valores de ese tipo.

Tipos de Variables

Las variables puede ser identificadas de acuerdo a la función que asume en el algoritmo, como:
a)   Contador :
Campo o variable que sirve para llevar una cuenta con incrementos constantes, generalmente de 1 en 1. 
Ejm:  NroPerMayEdad,  variable que cuenta el número de personas mayores de edad
Requiere de las siguientes instrucciones:
NroPerMayEdad  0                                    // inicializar en cero:   
NroPerMayEdad NroPerMayEdad + 1   // NroPerMayEdad aumenta en uno

b)   Acumulador :
Campo o variable que sirve para llevar una suma o cuenta de diferentes valores(acumular).
Ejm:  SEdad  variable que almacena la suma de las edades de una cantidad de personas.
Requiere de las siguientes instrucciones:
1.   SEdad  = 0                                  // Inicializa en cero
2.   SEdad  = SEdad + Edad          // SEdad se incrementa en el valor de Edad
Inicializar, significa poner en blanco o en cero una variable o campo antes de su utilización.  
Los acumuladores y contadores por lo general se inicializan en cero.  
La diferencia entre ellos se puede apreciar en la siguiente vista
c)   Variable de Trabajo :
Campo que almacena temporalmente el resultado de alguna operación. No es variable de entrada ni de salida.
Ejm: Si me piden ingresar el radio y altura de un cilindro y requieren calcular el volumen del cilindro.  El Area de la base ABase requerida seria una variable de trabajo porque no es variable ni de entrada ni de salida.
FORMAS DE REPRESENTAR LOS ALGORITMOS
Los algoritmos pueden presentarse en : 
  • Diagramas de Flujo, 
  • Diagramas de Nassi Sneidermann y   
  • pseudocódigo, 
    Es un lenguaje de especificación de algoritmos. Es similar al lenguaje común. Su traducción a un lenguaje de programación es sencillo.
    Utiliza enunciados donde cada uno de ellos representa una instrucción en un programa de computadora.
    Ofrece gran facilidad para representar en un lenguaje no formal las instrucciones de un algoritmo que sirve de base para el código o programa fuente
    Utiliza palabras reservadas en ingles o en castellano como
    Iniciar el algoritmo
    INICIO
    Finalizar el algoritmo
    FIN
    Lectura  (permite ingresar los valores de las variables)
    LEER
    Mostrar (permite mostrar los valores de las variables)
    MOSTRAR
    Estructura Selectiva
    SI (expBooleana) {  ... ....  }  SINO  {... ....  }
     SELECCIONA  segun (selector ) { caso  v1 : ....... }
    Estructura Repetitiva
    PARA ( ...  ;  Hasta   ;  ...   con   ) {  ......... }

    MIENTRAS (expBooleana ) {    ....   } 

    DO { .............. } MIENTRAS ( expBooleana )
    sistema
    es un objeto compuesto cuyos componentes se relacionan con al menos algún otro componente; puede ser material o conceptual.1 Todos los sistemas tienen composición, estructura y entorno, pero sólo los sistemas materiales tienen mecanismo, y sólo algunos sistemas materiales tienen figura (forma). Según el sistemismo, todos los objetos son sistemas o componentes de otro sistema.2 Por ejemplo, un núcleo atómico es un sistema material físico compuesto de protones y neutrones relacionados por la interacción nuclear fuerte; una molécula es un sistema material químico compuesto de átomos relacionados por enlaces químicos; una célula es un sistema material biológico compuesto de orgánulos relacionados por enlaces químicos no-covalentes y rutas metabólicas; una corteza cerebral es un sistema material psicológico (mental) compuesto de neuronas relacionadas por potenciales de acción yneurotransmisores; un ejército es un sistema material social y parcialmente artificial compuesto de personas y artefactos relacionados por el mando, el abastecimiento, la comunicación y la guerra; el anillo de los números enteros es un sistema conceptual algebraico compuesto de números positivosnegativos y el cero relacionados por la suma y la multiplicación; y una teoría científica es un sistema conceptual lógico compuesto de hipótesisdefiniciones y teoremas relacionados por lacorreferencia y la deducción (implicación).






    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.
    Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.

    Pseudocódigo



    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.
    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. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.
    Así el pseudodocódigo cumple con las funciones antes mencionadas para representar algo abstracto los protocolos son los lenguajes para la programación. Busque fuentes más precisas para tener mayor comprensión del tema.




No hay comentarios:

Publicar un comentario