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:
- · Lenguaje Natural
- · Lenguaje de Diagrama de Flujo.
- · Lenguajes Natural de Programación.
- · 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.
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