jueves, 1 de septiembre de 2016

LENGUAJES DE PROGRAMACION

Un lenguaje de programación es un conjunto de símbolos, caracteres y reglas (programas) que le permiten a las personas comunicarse con la computadora.

Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, calculo, manipulación de texto lógica/comparación y almacenamiento/recuperación.

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACION

Los lenguajes de programación se clasifican:
-          Lenguaje maquina: son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el programa.
-          Lenguaje de bajo nivel (ensamblador): en este lenguaje las instrucciones se escriben en código alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas

-          Lenguaje de alto nivel: (BASIC, pascal, cobol, frotran , etc.) son aquellos en los que las instrucciones o sentencia a la computadora son escritas con palabras similares a los lenguajes humanos (en general en inglés), lo que facilita la escritura y comprensión del programa)

DIAGRAMAS ESTRUCTURADOS

El diagrama estructurado N-S también conocido como diagrama de chapín es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.

 Puenden ser de esta forma:

ALGORITMOS

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados que describe los procesos que se debe seguir, para dar solución a un problema específico.


CLASIFICACIÓN DE LOS ALGORITMOS Y LENGUAJE DE ALGORITMOS


CLASIFICACION DE LOS ALGORITMOS
-      Cualitativos: son aquellos en los que los que se describe los pasos utilizando una palabra

-          Cuantitativo: son aquellos en los que se utiliza cálculos numéricos para definir los pasos del proceso.

LOS LENGUAJES DE ALGORITMOS
              una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
             Tipos de lenguaje algorítmicos:
-          Gráficos: es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo)
-          No gráficos: representa en forma descriptiva las operaciones que debe realizar un algoritmo (seudocódigo).

DIAGRAMAS DE FLUJO

Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados.

Los pasos a seguir para construir el diagrama de flujo son:
-          Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
-          Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
-          Si el nivel de detalle definido incluye actividades menores, listarlas también.
-          Identificar y listar los puntos de decisión.
-          Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
-   Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido. 

CLASIFICACIÓN DE LOS DIAGRAMAS DE FLUJO

Tipos de diagramas de flujo
-          Formato Vertical: En él el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
-          Formato Horizontal: En él flujo o la secuencia de las operaciones, va de izquierda a derecha.
-          Formato Panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.

-          Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos. 

SIMBOLOGIA DE LOS DIAGRAMAS DE FLUJO

PSEUDOCODIGO

Mezcla de lenguaje de programación y español (o inglés o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudocodigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representación narrativa de los pasos que debe Seguir un algoritmo para dar solución a un problema determinado.
las ventajas de usar pseudocodigos son:
-          Ocupa menos espacio en una hoja de papel
-          Permite representar en forma fácil operaciones repetitivas complejas
-          Es muy fácil pasar de pseudocodigo a un programa en algún lenguaje de programación.

-          Si se siguen las reglas se ´puede observar claramente los niveles que tiene cada operación.


ESTRUCTURAS ALGORÍTMICAS Y SU CLASIFICACION

Las estructuras de operaciones de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.

-          ESTRUCTURAS SECUENCIALES: 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.
ASIGNACION: La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma:
o   Simples: Consiste en pasar un valor constate a una variable (a=15)
o   Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso (a=a+1)
o   Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b)
o   De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4).

LECTURA: la lectura consiste en recibir desde un dispositivo de entrada (el teclado) un valor.

ESCRITURA: consiste en mandar un dispositivo de salida (monitor o impresora) un resultado o mensaje.

-          ESTRUCTURAS CONDICIONALES: Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen dos tipos básicos, las simples y las múltiples.
o   SIMPLES: las estructuras condicionales simples se le conoce como tomas de decisión.
o   MULTIPLES: las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición.

-          ESTRUCTURAS CICLICAS: Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).Los ciclos se clasifican en:

o   CICLOS CON UN NUMERO DETERMINADO DE ITERACIONES (Hacer-Para): son aquellos en que el número de iteraciones se conoce antes de jactarse el ciclo.
o   CICLO CON UN NUMERO DE INDETERMINADAS DE ITERACIONES (Hacer-Mientras, Repetir-Hasta): son aquellos en que el número de iteraciones no se conoce con exactitud ya que esta dado en función de un dato dentro del programa.
§  Hacer-Mientras: Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso
§  Repetir-Hasta: Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta que la condición se cumple y no mientras, como en el Hacer-Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la condición no se cumple desde un principio.