Partes de un algoritmo

**PARTES DE UN ALGORITMO**

Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida.

Donde:

**ENTRADA**

Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados.

**PROCESO**

Pasos necesarios para obtener la solución del problema o la situación planteada.

**SALIDA**

Resultados arrojados por el proceso como solución.

En el ejemplo del algoritmo de la sumatoria de los dos números, tenemos:

**ENTRADA**

Valores de 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 la variable Suma, que contiene la sumatoria

de los valores de A y B.

**1.2. CARACTERÍSTICAS DE LOS ALGORITMOS**

Las características fundamentales que debe cumplir un algoritmo son:

**PRECISIÓN**

Indica el orden de realización de cada paso dentro del proceso.

**DEFINICION**

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.

**FINITUD**

Indica el número razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir un resultado en un tiempo finito.

Al diseñar un algoritmo se debe tener presente las características de precisión, definición y finitud.

Visualicemos estas características a través del siguiente ejemplo:

**Ejemplo:**Algoritmo para hacer una torta

**Entrada:**Harina de trigo, mantequilla, huevos, sal, azúcar

**Proceso:**1.- Unir la mantequilla con el azúcar

2.- Batir hasta lograr consistencia cremosa

3.- Agregar harina de trigo, huevos, sal y azúcar

4.- Batir hasta que esponje

5.- Precalentar el horno, en 250 °, y enmantequillar tortera

6.- Una vez logre la consistencia de esponjado, colocar en la tortera

7.- Introducir en el horno por espacio de 45 minutos

**Salida:**

Torta

Siguiendo el ejemplo recuerde determinar las instrucciones de Entrada, Proceso y Salida.

Según el ejercicio anterior, se puede determinar que el algoritmo para hacer torta, cumple con las características fundamentales de los algoritmos. Es decir, ¿Es preciso?, ¿Es definido?, ¿Es finito?, razona tus respuestas.

􀀢**Ejercicio:**Realice un algoritmo para la elaboración de pan

**1.3. ELEMENTOS PARA LA CONSTRUCCIÓN DE UN ALGORITMO**

Definíamos algoritmo como un conjunto de pasos conducentes a resolver un problema, cada uno de esos pasos, corresponde a lo que se denomina en el programa, una instrucción, aunque pudiera darse que, en una instrucción se junten dos o más pasos.

Aprender a realizar un algoritmo se fundamenta *en lo que se persigue lograr con su *desarrollo*; debido a que no existe un método único para resolver problemas se estudian diferentes métodos de resolución o modelos de construcción para lograr la generación del resultado deseado.*

Esto nos lleva a reestructurar el concepto de algoritmo, como un conjunto de instrucciones o pasos en los que se describe su inicio, desarrollo o proceso y salida o resultado del algoritmo; elaborados para lograr resolver un problema.

Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, a continuación se describen los elementos que se utilizan en la construcción de una instrucción.

**Instrucción o sentencia**

Dependiendo del origen del material instruccional se habla de instrucción o sentencia; ésta, define una acción o un mandato que se debe realizar, esa acción o mandato se representa a través de un ***comando***o lo que es lo mismo ***palabras reservadas***de un lenguaje de programación en particular. Una instrucción esta compuesta por uno o más comandos (acción), datos, símbolos, variables o constantes y expresiones, que en conjunto representan una instrucción o sentencia.

**Ejemplo de instrucción:**En la construcción de los programas se estila utilizar una instrucción por línea. Así mismo, se utiliza la identación, que no es más que la alineación de aquellas instrucciones dentro de las estructuras que las contienen de manera ordenada que permita visualizar el inicio y fin de cada bloque de instrucciones.

***Si***ASISTIO =”SI” ***Entonces***

Leer Sueldo,

Asignar Sueldo = Sueldo + HoraExtra

***Fin Si***

Donde:

**SI**

Representa una estructura condicional utilizada para establecer preguntas

o programar ciertas condiciones

**ASISTIO**

Nombre de una Variable lógica que puede obtener sólo dos valores “SI”

o “NO”. En el ejemplo se programa la condición de la variables cuando

es “SI”

**ENTONCES**

Parte de la instrucción o estructura condicional

**LEER SUELDO**

Instrucción utilizando el comando cuya acción es la lectura de un campo

o dato

**Asignar SUELDO=**

**SUELDO+HORAEXTRA**

Instrucción de asignación, permite asignar o calcular el valor que adquirirá

una variable

**Fin SI**

Cierra la estructura condicional ***Si –Entonces –Fin Si***

**Comandos o palabras reservadas**

Todos los lenguajes, naturales o computacionales, tienen palabras que denotan una acción. Los comandos no son más que acciones que debe interpretar y ejecutar el computador. Cada comando conserva una sintaxis determinada, es decir la forma de utilizarlo. Los lenguajes computacionales tienen en su repertorio comandos dirigidos al procesamiento de archivos y datos, entre ellos: Leer, Calcular, Asignar, Clasificar, Imprimir.

**Datos**

Los datos son símbolos que se convierten en condiciones, hechos, situaciones o valores. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción. La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Es decir, por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información que ofrezca un significado, conocimiento, ideas o conclusiones.

**TIPOS DE DATOS**

Como se describió anteriormente, un dato es un campo que puede convertirse en información.

Existen datos simples (sin estructura) y compuestos (estructurados).

Los datos simples son los siguientes

– Numéricos (Reales, Enteros)

– Lógicos

– Carácter (Char, String)

Los tipos de datos simples son: