Un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.

Programa
Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.
Definición de Lenguajes Algorítmicos.
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.
- Lenguaje Natural de Programación.
- Lenguaje de Programación de Algoritmos.
Lenguaje Natural.
Es aquél que describe en español, para nuestro caso, los pasos a seguir utilizando un vocabulario cotidiano. Se le conoce como lenguaje jergacuando se utilizan términos especializados de una determinada ciencia,
profesión o grupo.
Lenguaje de Diagrama de Flujo.
Es aquél 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.
Lenguaje Natural de Programación.
Son aquéllos 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 fórmulas 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.
- Elimina instrucciones innecesarias.
Lenguaje de Programación de Algoritmos.
Es aquél que se utiliza para introducir en la computadora un algoritmo específico. Se les conoce también como Lenguaje de Programación.
Lenguaje de Programación :
Es un conjunto de palabras, símbolos y reglas sintácticas mediante los cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.
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).
- Lenguajes de Alto Nivel.
Lenguaje Máquina.
Son aquéllos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquina. El código máquina es el conocido código binario.
Ventajas del Lenguaje Máquina
Posibilidad de cargar (transferir un programa a la memoria) sin 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 fiabilidad.
- Gran dificultad para verificar y poner a punto los programas.
- Los programas solo 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áquinas.
Lenguajes de Bajo Nivel.
Son más fáciles de utilizar que los lenguajes máquina, pero al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos. Por ejemplo, nemotécnicos típicos de operaciones aritméticas son : en inglés : ADD, SUB, DIV, etc. ; en español : SUM, RES, DIV, etc.
Una instrucción típica de suma sería :
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 con un 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 programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, el cual ya es directamente entendible por la computadora.
Ventajas del lenguaje ensamblador frente al lenguaje máquina.
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 máquinas. 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 las técnicas de programación, sino también el conocimiento del interior de la máquina.
Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en 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 ensambladores. 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.
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. Nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc.
- Las modificaciones y puestas a punto de los programas son más fáciles.
- Reducción del costo de los 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 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.
- Partes de un algoritmo:El algoritmo, es un sistema la cual consiste en un conjunto de partes interconectadas entre si que forman un todo. El algoritmo sigue el principio básico de un sistema, esta compuesta por tres elementos o componentes básicos que son : entrada, proceso y salida.Entrada:La entrada de los datos, corresponde a los insumos o datos necesarios para ofrecer los resultados esperados.Proceso:Son los pasos necesarios para obtener la solución al problema o la situación planteada.SalidaSon los resultados arrojadas por el proceso como la solución.
- Pasos:PasosEtapaDescripción1Análisis del problemaConducen al diseño detallado por medio un código escrito en forma de un algoritmo2Diseño de algoritmo3CodificaciónSe implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño4Compilación y ejecuciónTraduce el programa fuente a programa en código de maquina y lo ejecuta.5VerificaciónBusca errores en las etapas anteriores y los elimina.6Depuración7DocumentaciónSon comentarios, etiquetas de texto, que facilitan la comprensión del programa
- Corrida de un Algoritmo (Corrida en Frio)
- Proceso PromedioMasculino<-0Femenino<-0Escribir "Introdusca 10 estaturas con su respectivo Nombre, Apellido, edad y Sexo";Escribir "Introdusca El Nombre y Apellido";Leer Nombrea;Escribir "Introdusca Estatura Nº1";Leer Campoa;Escribir "Introdusca La edad";Leer Campob;Escribir "Introdusca Sexo Nº1 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombreb;Escribir "Introducir Estatura Nº2";Leer Campoc;Escribir "Introdusca La edad";Leer Campod;Escribir "Introdusca Sexo Nº2 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombrec;Escribir "Introducir Estatura Nº3";Leer Campoe;Escribir "Introdusca La edad";Leer Campof;Escribir "Introdusca Sexo Nº3 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombred;Escribir "Introducir Estatura Nº4";Leer Campog;Escribir "Introdusca La edad";Leer Campoh;Escribir "Introdusca Sexo Nº4 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombree;Escribir "Introducir Estatura Nº5";Leer Campoi;Escribir "Introdusca La edad";Leer Campoj;Escribir "Introdusca Sexo Nº5 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombref;Escribir "Introducir Estatura Nº6";Leer Campok;Escribir "Introdusca La edad";Leer Campol;Escribir "Introdusca Sexo Nº6 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombreg;Escribir "Introducir Estatura Nº7";Leer Campom;Escribir "Introdusca La edad";Leer Campon;Escribir "Introdusca Sexo Nº7 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombreh;Escribir "Introducir Estatura Nº8";Leer Campoo;Escribir "Introdusca La edad";leer Campop;Escribir "Introdusca Sexo Nº8 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombrei;Escribir "Introducir Estatura Nº9";Leer Campoq;Escribir "Introdusca La edad";Leer Campor;Escribir "Introdusca Sexo Nº9 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEscribir "Introdusca El Nombre y Apellido";Leer Nombrej;Escribir "Introducir Estatura Nº10";Leer Campos;Escribir "Introdusca La edad";Leer Campot;Escribir "Introdusca Sexo Nº10 Masculino=1 y Femenino=2";Leer SexoSi Sexo=1 EntoncesMasculino <- Masculino+SexoSinoFemenino <- Femenino+1FinSiEdad<-(Campob+Campod+Campof+Campoh+Campoj+Campol+Campon+Campop+Campor+Campot)/10;Estatura<-(Campoa+Campoc+Campoe+Campog+Campoi+Campok+Campom+Campoo+Campoq+Campos)/10;Escribir "El promedio de Estatura es:", EstaturaEscribir "El promedio de edad es:", EdadEscribir "La cantidad de Sexo Masculino es:", MasculinoEscribir "La cantidad de Sexo Femenino es:", FemeninoFinProceso
No hay comentarios.:
Publicar un comentario