martes, 19 de abril de 2016

Unidad 1: Algoritmos y Programas.

¿Qué  es algoritmo?
Los algoritmos son el objeto de  estudio de la algoritmia. En la vida cotidiana, se emplean algoritmos  frecuentemente para resolver problemas. Algunos  ejemplos son los manuales de usuario, que muestran algoritmos para usar aparatos, o las instrucciones que recibe un trabajador por parte de su patrón.
En la matemática, lógica, ciencia de la computación y disciplinas relacionadas, un algoritmo (del griego y latín dixit algorithmus y este a su vez del matemático persa Al-Juarismi) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permiten realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dado un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.

¿Qué es Programa?
Un programa informático o programa de computadora es una secuencia de instrucciones, escritas para realizar una tarea específica en la computadora.
Este dispositivo requiere programas para funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central del programa. El programa tiene formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones del mismo programa en su formato de código fuente legible para humanos, del cual se derivan los programas ejecutables (por ejemplo copilados), le permite a un programador  estudiar y desarrollar sus algoritmos.
Una colección de programas de computadora y datos relacionados se conocen como software.
En resumen un programa es una secuencia de instrucciones que indican a la máquina que funciones debe realizar y en qué orden.


Un dato
Programación:
Consiste en escribir un conjunto de pasos individuales que, traducidos a un lenguajes comprensible para la computadora (programa), permite resolver un problema determinado de aplicación o forma la descripción completa de un proceso.

Lenguaje Algorítmico y de Programación.

Lenguaje Algorítmico.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificación de los lenguajes para algoritmos puede enunciarse de la siguiente manera:
  1. ·         Lenguaje Natural
  2. ·         Lenguaje de Diagrama de Flujo.
  3. ·         Lenguajes Natural de Programación.
  4. ·         Lenguaje de Programación de Algoritmos.

Lenguaje Natural: Es aquel que escribe en español para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos especializados de una determinada ciencia, profesión o grupo.

Lenguaje de Diagrama de Flujo: Es aquel que se vale de diversos símbolos para representar las ideas o acciones a desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cómputo.

Lenguajes Natural de Programación: Son aquellos que están orientados a la solución de problemas que se definen de una manera precisa. Generalmente son aplicados para la elaboración de formulas o métodos científicos.
El lenguaje natural tiene las siguientes características:
*Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).
*Son precisos y bien definidos
*Utilizan términos familiares al sentido común.
*Eliminar instrucciones innecesarias.

Lenguaje de Programación de Algoritmos: Es aquel que se utiliza para introducir en la computadora un  algoritmo específico. Se le conoce también como lenguaje de programación.

Lenguaje de Programación.
Es una serie de caracteres, palabras, sonidos y reglas sintácticas que se pueden emplear para escribir un programa de computador que permita la solución de problemas generales o particulares.
Todos los lenguajes de programación expresan en una simbología comprensible para el hombre. La tarea que la máquina ha de realizar; esta simbología ha de ser traducida a una forma comprensible por la máquina mediante programas especiales.
Los lenguajes de programación pueden clasificarse por diversos criterios, siendo el más común su nivel de semejanza con el lenguaje natural, y su capacidad de manejo de niveles internos de la máquina. Los principales tipos de lenguajes utilizados son tres:
*Lenguaje Máquina.
*Lenguaje de Bajo Nivel (Ensamblador).
*Lenguaje de Alto Nivel.

Lenguaje Máquina: Son aquellos que están escritos en lenguajes directamente inteligibles por la máquina (Computadora), ya que sus instrucciones son cadenas binarias (cadenas o serie de caracteres de dígitos 0 y 1) que se especifican una operación y las posiciones (dirección) de memoria aplicadas en la operación se denomina instrucciones de máquina o código máquina. El código máquina es el conocido código binario.


Ventajas del Leguaje Máquina.
Posibilidades de cargar (transferir un programa a la memoria) sin la necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina.
·         Dificultad y lentitud en la codificación
·         Poca flexibilidad
·         Gran dificultad para verificar y poner a punto los programas
·         Los programas son ejecutables en el mismo procesador (CPU).
·         En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquina.

Lenguajes de Bajo Nivel: son más fáciles de utilizar que los lenguajes máquina pero igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones  en el lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritmética son: en ingles: ADD, SUB, DIV, etc. En español: SUM, RES, DIV, etc. Una instrucción típica de suma seria: ADD M, N, P.
Esta instrucción significa “sumar el contenido en la posición de Memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P”. Evidentemente es más sencillo recordar la instrucción anterior como nemotécnico que su equivalente en código máquina. 0110 1001 1010 1011.
Un programa escrito en lenguaje ensamblador, requiere de una fase de traducción al lenguaje máquina para poder ser ejecutado directamente por la computadora.
El programa original escrito en lenguaje ensamblador se denomina fuente y el programa traducido en lenguaje maquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.
Los lenguajes de bajo nivel, solo permitían complicadas combinaciones de uno (1) y cero (0) denominados lenguaje binario o lenguaje máquina.

Ventajas del lenguaje ensamblador frente al lenguaje maquina.
Mayor facilidad de codificación y en general, su velocidad de cálculo.

Desventajas del lenguaje ensamblador.
Dependencia total de la máquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes maquinas). El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh.
La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo técnicas de programación, sino también el conocimiento del interior de la máquina.
Los lenguajes  ensambladores tienen sus aplicaciones muy reducidas, se centran básicamente en las aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos.

Lenguajes de Alto Nivel: Estos lenguajes son los más utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y lenguaje de bajo nivel (ensamblador). Un programa escrito en lenguaje de alto nivel es independiente de la máquina (las instrucciones no dependen del diseño del hardware o de una computadora en particular), por lo que estos programas son portables o transportables. Los programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de computadoras.
Los lenguajes de alto nivel son lenguajes para el programador. En estos las instrucciones tienen código que describen la acción a realizar.
Los lenguajes de alto nivel están orientados hacia una clase específica de problemas de proceso. Por ejemplo, se han  diseñado varios lenguajes para procesar problemas de naturaleza científica y matemática y otros se han ideado para el procesamiento de manipulación y archivo de datos.
Puesto que la Unidad Central de Proceso (CPU) conoce solo un cierto número de instrucciones fundamentales, hay que traducir las instrucciones de lenguaje de alto nivel a la serie de instrucciones elementales.
Lenguajes de Alto Nivel más usados:
Bajo MS-DOS: Pascal, Cobol, Basic y Lenguaje C
Bajo Windows: Lenguajes Visuales Java y otros lenguajes para internet

Ventajas de los Lenguajes de alto nivel.
·         El tiempo de formación de los programadores  es relativamente corto comparado con otros lenguajes.
·         La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos. Nombre de las instrucciones tales como: READ, WRITE, PRINT, OPEN, etc.
·         Las modificaciones y puestas a punto de los programas son mas fáciles.
·         Reducción del costo de programas.
·         Transportabilidad.

Desventajas de los lenguajes de alto nivel.
·         Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo.
·         No se aprovechan de los recursos internos de la máquina que se explotan.
·         Mucho mejor en lenguajes máquina y ensambladores.
·         Aumento de la ocupación de memoria.
·         El tiempo de ejecución de los programas es mucho mayor.
Para mejor comprensión de este tema se definirá el concepto de programa. Por ser este término muy utilizado en el diseño estructurado de algoritmos.

Programa: Es un conjunto de instrucciones escritas en un lenguaje de programación que indican a la computadora la secuencia de pasos para resolver un problema.

Partes de un Algoritmo y de Programación
Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: Entrada, Proceso y Control  y Salida.

Donde:
o   Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.
o   Proceso y Control: Pasos necesarios para obtener la solución del problema a la situación planteada.
o   Salida: Resultado arrojados por el proceso como solución.
Ejemplo del algoritmo de la sumatoria de los números, tenemos:
Entrada: valores de las variables A y B.
Proceso: Asignar a la variable suma, el valor de A mas el valor de B.
Salida: Impresión del valor de las variables suma, que contiene la sumatoria de los valores de A y B

Características de un algoritmo

Las características fundamentales que debe cumplir un algoritmo son:
o   Precisión: Indica el orden de realización de cada paso dentro del proceso.
o   Definición: Indica la exactitud y consistencia de los pasos descritos en el proceso, si el algoritmo se prueba dos veces, en estas dos pruebas se debe obtener el mismo resultado.
o   Finitud: Indica el numero razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir un resultado en el tiempo finito.
o   Eficacia: Indica cuando alcanza el objetivo primordial, el análisis de resolución del problema se lo realiza prioritariamente. Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo posible debemos de manejar estos dos conceptos conjuntamente.

Partes y Elementos de Programación

Diagramación
Es la operación mediante la cual se representa un programa con una serie de símbolos gráficos, el diagrama resultante es la carta de flujo del programa.

Diagrama de Flujo

El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.
Características de programación
Exactitud y Precisión: resultados sin errores de sintaxis o de lógica.
Integridad o Completitud: Un programa es completo sólo si ejecuta todas las operaciones, se esperan al procesar un conjunto de datos.
 Generalidad: Un programa bien diseñado puede procesar un conjunto de datos que varían en el número de transacciones. Las instrucciones se deben elaborar para que no se limiten a un número específico de transacciones en el conjunto de datos.
Eficiencia: Debe asegurarse de que las instrucciones para manejar datos sean tan rápida y fácilmente como sea posible.
Documentación: Consiste en el uso de auxiliares que expliquen como ocurre el procesamiento de los datos en un programa.

Formas de Representar un algoritmo.

La Carta de Flujo o Diagrama de Flujo es la representación grafica o esquema de un algoritmo o proceso.

Pasos para la representación de un algoritmo:
1)      Decidir el objeto a realizar.
2)      Diseñar el objeto.
3)      Buscar los materiales requeridos para el objeto.
4)      Buscar las herramientas necesarias para la realización del objeto.
5)      Aplicar las técnicas y procedimientos propios de la realización del objeto.
6)      Ejecutar la realización del objeto.
Obtener el objeto construido

Simbología del Diagrama de Flujo.


Lenguaje Natural.
El lenguaje natural es el lenguaje que hablamos todos los días, nuestra forma de comunicarnos por excelencia. Aunque para nosotros sea un gesto sencillo, casi inconsciente, el habla es un proceso que implica millones de conexiones neuronales y complejos procesos corporales de captación y compresión. El lenguaje natural se diferencia de otros en que surge de modo espontáneo entre la gente. Así, por ejemplo, aunque el ordenador usa lenguajes propios para comunicarse entre sí, estos han sido diseñados con el tiempo.
En informática desde siempre se ha buscado que los ordenadores fuesen capaces de comprender el lenguaje humano, de modo que pudiesen obedecer órdenes directas del hombre. Sin embargo, aunque la gramática es sencilla de asimilar para los ordenadores, no así el reto de variables. El timbre de cada persona, casi único, el tono, los ademanes y gestos…etc. Todos ellos forman parte del lenguaje natural humano, y son mucho más difícilmente entendibles para un ordenador.
Estos avances individuales han permitido que haya surgido con fuerza una rama de la informática, llamada procesamiento del lenguaje natural, que busca precisamente permitir que los ordenadores sean capaces de captar la información transmitida por una persona y trasladarla luego a otra, interactuando con ella con su mismo lenguaje, o al menos, de un modo inteligible.
El fin último seria un ordenador capaz de razonar y aprender como ser humano, y para ello el primer paso es que pueda recibir información y comunicarla como tal. Es por eso que esta rama se haya ubicada dentro de la inteligencia artificial, si bien el procesamiento de lenguaje natural no busca tanto que el equipo aprenda de la comunicación como que sea capaz por medio de mecanismos y lenguajes programados, de entender al hombre y transformar las palabras humanas en algo comprensible para él.
Sin embargo el procesamiento de lenguaje natural plantea muchos problemas: los múltiples  significados de cada palabra, los acentos de cada zona, la jerga de cada lugar, expresiones típicas, lenguaje ambiguo, ironías…etc. Son cosas que aun están solventándose. Para un ordenador, una frase de 10 palabras es un número enorme de posibilidades. No solo tiene que mirar esas 10 palabras, sino sus posibles significados, y como cada una de ellas se relaciona con las demás.

Pseudocódigo
En el mundo de la informática encontramos distintas utilizaciones para la palabra Código, teniendo a su vez asociación al término Lenguaje y para un contexto determinado para cada utilización. Es así que tenemos por caso la utilización de un Código Fuente, que es escrito en un Lenguaje de Alto Nivel, que tenemos en este caso una interpretación por parte de un usuario que conoce de estos términos, bajo unas normas especificas, y que permite elaborar un Programa a través de una estructura determinada.
En contraposición a esto tenemos Código Objeto, que se basa simplemente en la interpretación por parte del ordenador, por lo que utiliza un Lenguaje de Bajo Nivel, y que está estrictamente ligado a cómo el equipo va a ejecutar estas órdenes, mediante la utilización de un Código Binario que se basa en la transmisión o no-transmisión de impulsos eléctricos.
Ajeno a estos dos Códigos, tenemos el que es conocido como Pseudocódigo, que es considerado a su vez como cómo un Lenguaje Falso, que no se puede enmarcar ni en un Alto ni en Bajo Nivel, por lo que considera como una especie de camino medio entre el que es el Lenguaje de Programación y aquel que utilizamos cotidianamente.
Esta aserción está fundamentada en que utiliza una serie de normativas y condiciones básicas que permite ser utilizado para la solución de un Algoritmo, o bien en el momento en que se planifica, analiza y soluciona el Software que estemos creando, permitiendo su utilización a futuro.
La finalidad de la utilización entonces de un Pseudocódigo está ligada simplemente a la agilización, entonces, ya que no tiene que tener en cuenta su utilización las distintas Normativas y Reglamentaciones que tiene en cuenta un Lenguaje de Programación determinado o la aplicación  que se utiliza para programar y posterior compilación (es decir, no tiene en cuenta la utilización de un Lenguaje de Alto Nivel)
Es por ello que a veces es considerado como un “Boceto” de lo que posteriormente será programado, y hasta utilizado para poder difundir un diseño o una estructura de un programa, utilizándose algunas palabras en Lenguaje de Programación, pero predominado más que nada las que se utilizan en forma coloquial, de uso cotidiano.
Se trata entonces de un “Paso Previo” a la utilización del Software de Programación, sin tener un formato o una composición que debe ser seguida indefectiblemente, sino que se trata de realizar un diseño general, que a veces hasta es más exacto de lo que posteriormente será volcado en el Lenguaje de Alto Nivel.

Código Fuente: Es sabido por muchos que la Programación es la técnica que nos permite generar nuevos programas, aplicaciones o instrucciones para un programa determinado, requiriendo de un conocimiento superior y a su vez siguiendo una serie de pautas que son dadas por una técnica o lenguaje de programación especifico. En el mundo de la programación tenemos un punto de partida que es conocida como Código Fuente, realizado en el que es determinado como Lenguaje de Alto Nivel, es decir, siguiendo un conjunto de Reglas y Normas propios de la aplicación que es utilizada para programar, pero siendo siempre entendible por un Usuario que tenga estos conocimientos específicos.
Este Lenguaje no permite todavía su interpretación por parte del equipo, sino que utiliza términos definidos por el lenguaje específico en el que se esté programando, teniendo un esquema determinado y una estructura Lógica definida, por lo que se trata solamente de un punto d inicio de lo que es el proceso de Programación.
Este paso es también considerado como Texto Fuente, ya que es justamente una redacción que puede ser leída, copiada, modificada o inclusive impresa, para su fácil lectura y modificación, siendo justamente su lectura lo que permite su elaboración y posteriores correcciones.
El paso siguiente estaría establecido por una comprobación y una posterior compilación, tarea que permite interpretar el Lenguaje de Alto Nivel que ha sido elaborado, para poder pasar a un lenguaje que sea comprensible por el Procesador y por el resto de los dispositivos presentes en el equipo.
Es así que se pasa posteriormente al Lenguaje de Bajo Nivel, con la creación de lo que es el Código Objeto, que permite justamente ser leído por los dispositivos presentes en el ordenador, ya que es justamente basado en el Código Binario consistente en ceros y unos, es decir la transmisión o no-transmisión de impulsos eléctricos.
Este Código Objeto es el que permite posteriormente el análisis de los Datos transmitidos, su ordenamiento y la posterior elaboración de información por parte de la Unidad Central de Procesamiento, con su interacción con los distintos Dispositivos presentes en el equipo.

En síntesis, el Código Fuente no es más que un conjunto de instrucciones que son redactadas por el usuario que tiene conocimientos del Lenguaje de Programación, y que son la base del Código Objeto que es posteriormente utilizado por los dispositivos del sistema.

Compilador: Cuando hablamos de programación, hemos mencionado que existen dos Códigos fundamentales a la hora de crear aplicaciones, programas o corregir errores presentes en dicha tarea, teniendo por un lado al Código Fuente, que es el que se encuentra en un Lenguaje de Programación entendible por los usuarios, y por otro lado el Código Objeto, que es la traducción del mismo para que todas las ordenes que han sido redactadas puedan ser “entendidas” por el dispositivo que las vaya a ejecutar.
La tarea de traducción de un Código Fuente, hacia el producto final que será el Código Objeto, está dada por la acción de Compilar, para lo cual se requiere de una aplicación que es conocida justamente como Compilador, el cual describiremos a continuación.

Básicamente, el Compilador consiste en una aplicación que tiene como premisa fundamental la Traducción del lenguaje específico de programación (también conocido como Lenguaje de Alto Nivel) hacia otro que es solamente comprensible por el equipo, que se encargará de interpretarlo llevándolo  a un sistema binario que se basa en la transmisión o no-transmisión de energía eléctrica (Lenguaje de Bajo Nivel).

Para poder realizar esta transformación, el Compilador debe realizar un análisis de qué es lo que se ha escrito en el Lenguaje de Programación establecido, a través de tres criterios fundamentales, cuyo conjunto es conocido como Front End:

§  Léxico: Que el lenguaje sea correctamente aplicado, con palabras preestablecidas por el mismo.
§  Sintáctico: Que la programación esté ordenada, sin fallas en sus variables.
§  Semántico: Criterio en el cual se verifica que el resultado de lo que ha sido programado tiene una correlación con la orden que ha querido ser ejecutada.
Realizando esto, comienza una etapa en la cual se sintetiza el Código Objeto, teniendo ésta tres pasos fundamentales, contando además con un asistente que nos informa de todos los Errores que hayan sido encontrados y que requieren una posterior enmienda, además de fallas en la traducción, teniendo este proceso el nombre de Back End:

§  Código intermedio: Se genera un Código Objeto preliminar en base al Lenguaje de Alto Nivel.
§  Optimización: El código anteriormente creado en forma previa al resultado final es analizado y mejorado en pos de mayor rendimiento y menos errores.
§  Generación: Finalmente, en esta etapa se da lugar a la creación de un Código Objeto.
Realizando esto, se obtiene finalmente el Lenguaje de Bajo Nivel que será posteriormente interpretado por el ordenador y ejecutado por los distintos dispositivos del ordenador.

Programa Objeto: Para poder diseñar una aplicación, es necesario tener los conocimientos suficientes relativos al Lenguaje de Programación adecuado, teniendo como herramientas a disposición distintas formas de codificar, reglamentar y crear así nuestro propio Código Fuente que consiste básicamente en un texto con las instrucciones en dicho Idioma de Programación, para que otro usuario pueda leerlo, interpretarlo, analizarlo y realizar una modificación si así lo desea y tiene la autorización correspondiente.
Este lenguaje es la herramienta para poder diseñar las instrucciones que debe ejecutar el ordenador, de forma que pueda ser entendible y mucho más cómoda para utilizar los Usuarios Programadores, además de que no difiere del tipo de ordenador que tenemos ni los componentes de Hardware que estén allí presentes.
Pero para ello debemos dar un paso más, ya que para que el Procesador pueda ordenar los datos enviados y recibidos, transformarlos en información y que ésta genere una respuesta en el resto de los componentes, es necesario que sea llevado al conocido como Código Objeto, o Programa Objeto, que es el que interpreta exclusivamente el ordenador.

De este modo, podemos definirlo básicamente como la traducción que el equipo realiza por  sobre el Código Fuente, pasándolo a un lenguaje propio del Sistema Binario que combina la utilización de ceros y unos para lograr la transmisión y no-transmisión de energía eléctrica, teniendo la combinación de las mismas la representación de un carácter o respuesta determinada.

Para poder realizar esto es necesario que además de conocer Lenguaje de Programación adecuado para poder programar y editar el texto correspondiente, también necesitamos contar con una aplicación que es conocida como Programa intérprete, aunque el nombre más común por el cual la reconocemos es de Compiladores.
La misión de estas aplicaciones es bastante simple y complicada a la vez, ya que se encargan de realizar una “Traducción” del lenguaje de programación en el que se ha programado un código, a lenguaje del Programa Objeto para que pueda ser interpretado directamente por el ordenador y cada uno de sus Componentes de Hardware.
Claro está, la tarea no se realiza por si sola sino que necesita del auxilio de una aplicación conocida como Enlazador o Montador (o bien bajo su nombre en inglés, Linker) que es la que da los últimos retoques al Código Objeto para que pueda ser interpretado finalmente por el Procesador y ejecutado por el resto del Hardware.

Regla sintácticas: En el mundo de la informática, más precisamente en lo que respecta a la Programación, debemos saber que existe un Código Fuente, que es desarrollado por usuarios en Lenguaje de Alto Nivel, que tienen un criterio, normas y un idioma de programación tal que puede ser entendido por otros, unificado y universal, que se contrapone a un Código Objeto, que es desarrollado en el denominado como Lenguaje de bajo Nivel, qué solamente es entendido por el Ordenador.

Esta interpretación lleva a que las palabras, reglas y símbolos que hayamos utilizados pasen a un Código binario de ceros y unos, que representan la transmisión y no-transmisión de energía eléctrica, y que mediante la acción de la Unidad Central de Procesamiento no solo se realiza una interpretación de estos Datos, sino su consecuente transformación en información que puede ser transmitida hacia los dispositivos de salida, y ser entendida por los usuarios.
Esta traducción no se realiza en forma manual, sino que se efectúa con aplicaciones llamadas Compiladores y Enlazadores, siendo las primeras quienes analizan el Código Fuente bajo una revisión de distintos criterios, para poder efectuar posteriormente una traducción al Código Objeto, y es justamente uno  de estos el establecido por Reglas Sintácticas.

Definimos genéricamente a las Reglas Sintácticas como los métodos en los que se puede validar y dar forma a una aplicación, siendo solamente un criterio que busca evaluar la combinación de distintos Símbolos, y su correcta aplicación en forma gramatical, teniendo por otro lado tener  que hacer un análisis bajo criterio Semántico y otro bajo un término Pragmático.

El estudio está enfocado entonces a las formas en la que se combinan las distintas órdenes creadas en el Código Fuente, las relaciones que existen entre ellas y la elaboración de Paradigmas, siendo un análisis más que nada lógico, elaborado en base a distintos Criterios Formales, sin tener demasiado en cuenta qué es lo que se ha programado en cuando a órdenes, servicios o funciones que se haya creado.
Se tiene en cuenta que un código fuente realizando bajo cualquier Lenguaje de Programación (el conocido también como Lenguaje de Alto Nivel) utiliza un alfabeto de caracteres que combinan con distintas reglas, normas y conceptos que determinan si uno de estos símbolos a analizar (que llevan el nombre de String) es válido simplemente ha sido mal programado.

 Traza de un algoritmo (corrida en frio).

La traza de un Algoritmo se puede definir como la ejecución manual de forma secuencial de las sentencias que lo componen.
La función principal que posee realizar la traza de un algoritmo es la de comprobar que éste funciona correctamente o para realizar la etapa de depuración en la que se intenta corregir errores, simplificar el algoritmo al máximo e incrementar su eficacia y velocidad.



1)      Proceso  Suma                                                                Corrida en Frio
L
Num 1
Num 2
Resultado
1
0
0
0
2
0
0
0
3
5
0
0
4
5
0
0
5
5
6
0
6
5
6
11
7
5
6
11
8
5
6
11
2)      Escribir “Ingresar numero”;
3)      Leer numero1;
4)      Escribir “Ingrese otro numero”;
5)      Leer numero2;
6)      Resultado=num1+num2;
7)      Escribir “El resultado es:”, Resultado;
8)      FinProceso



En Resumen:
Es la forma manual de la correctitud del programa o algoritmo.

No hay comentarios:

Publicar un comentario