Está en la página 1de 11

Unidad 1: Algoritmo y Programas

Concepto de Algoritmos
Se define como una secuencia de instrucciones que representan un modelo de solución para
determinado tipo de problemas. O como un conjunto de instrucciones que realizadas en orden
conducen a obtener la solución de un problema.
Concepto de Programas
Es la secuencia de instrucciones, escritas para realizar una tarea específica en una computadora
donde este dispositivo requiere programas para funcionar, por lo general, ejecutando las
instrucciones del programa en un procesador central
Lenguaje algorítmico y de programación.

Lenguaje Natural de Programación.

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.

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 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

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.

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

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.
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.
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.
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.
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
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.
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)

Formas de representar un algoritmo: Lenguaje Natural, pseudocódigo y diagrama de flujo

Lenguaje Natural
Es aquél que para nuestro caso es utilizando en un vocabulario cotidiano. Se le conoce
como lenguaje jerga

Pseudocódigo 

Se emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de
lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por
ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como
producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque
presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo
requieren menos espacio para representar instrucciones complejas.

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.

Traza de un algoritmo (corrida en frío)

La traza de un algoritmo se puede definir como la ejecución manual de forma secuencial de las
sentencias que lo componen. La traza de un algoritmo (o programa) indica la secuencia de acciones
(instrucciones) de su ejecución, así como, el valor de las variables del algoritmo (o programa)
después de cada acción (instrucción).

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.

Unidad 2: Estándares de Calidad en el Diseño de Algoritmos y Construcción de


Programas

Se definen como aquella condición que debe cumplir una determinada actividad,
actuación o proceso para ser considerada de calidad. Es decir qué perseguimos, cuál es
el objetivo, qué pretendemos teniendo en cuenta aquellas características que mejor
representan (siempre que pueda medirse) lo que deseamos lograr.

Un buen criterio debe reunir los siguientes requisitos:

·          Ser explícito, es decir, debe dejar muy claro y sin lugar a dudas a qué se refiere y qué
pretende. Debe estar expresado con claridad y objetividad.
·          Aceptado por los diferentes interesados (productores, clientes, entre otros). Siempre es
deseable que todos los implicados acepten el criterio y que se comprometan a alcanzarlo.

·          Elaborado en forma participativa, la mejor forma de lograr que sea aceptado es que en su
elaboración participe el mayor número de personas posible.

·          Comprensible, todos deben entender sin lugar a dudas lo mismo.

·          Fácilmente cuantificable, de lo contrario ¿cómo vamos a saber si lo alcanzamos?

·          Debe ser flexible, capaz de adaptarse a cambios difícilmente previsibles.

·          Aceptable por el cliente, quien al fin y al cabo es el que juzgará lo acertado de los


criterios de calidad. 

Estandarización de los Programas


 A diferencia de la sintaxis del lenguaje de programación, que son reglas fijas que obligatoriamente
hay que seguir, un estilo de programación está constituido por directrices que ayudan a obtener
programas más legibles.

Identación
El uso común en informática y significa mover un bloque de texto hacia la derecha insertando
espacios o tabuladores para separarlo del texto adyacente, lo que en el ámbito de la imprenta se
ha denominado siempre como sangrado o sangría. Se debe utilizar un único modelo de
indentación a lo largo de todo el programa.

Estructura general del programa


Cada una de las partes del programa comenzará en la primera columna, indentando o sangrando
las líneas que componen cada una de las partes del programa. Se separará cada una de las partes
o bloques del programa con una línea en blanco.

Documentación del programa


Consiste en describir por escrito a nivel técnico los procedimientos relacionados con el programa y
su modo de uso. También se debe documentar el programa para que sea más entendible.

Documentación interna
COMENTARIOS GENERALES DE LOS PROGRAMAS
Cada programa debe tener un comentario general, que debe aparecer al comienzo del mismo. En
general, este comentario debe contener la siguiente información:

·          Nombre del programa

·          Librerías: Archivos que son necesarios para la compilación del programa

·          Fecha:.
·          Ciudad

·          Autor

·          Dependencia

·          Empresa:

·          Versión:

ejemplo: 

/*Nombre de programa: Calculadora

Librerias:         #include<iostream.h>

#include<stdlib.h>

Fecha: 31 de mayo de 2006

Ciudad:           Acarigua

Autor: Profesores de programación

Dependencia: Informática

Empresa:        IUTEP

Versión 1.0

COMENTARIOS GENERALES DE LOS SUBPROGRAMAS


Cada subprograma debe tener un comentario general, que debe aparecer cerca del comienzo del
mismo. En general, este comentario debe contener la siguiente información:

·          Descripción: Un breve resumen de lo que hace el programa y del método que para ello utiliza.

·          Parámetros: Descripción de los parámetros que se le pasan y que devuelve Si es relevante,


también se indicará la siguiente información:

·          Condiciones de entrada

·          Condiciones de salida:

·          Enumeración de los subprogramas que le utilizan

·          Una breve historia de todas las modificaciones realizadas, indicando el programador que las
realizan y el motivo que las causó

Funcion Par

 Recibe:          Un valor de referencia

Devuelve        Valor verdadero si cumple con el obejtivo


                         Valor falso si no cumple con el objetivo

Descripción: Determina si un número es par

COMENTARIOS DE INICIO DE BLOQUE


   Existen dos tipos básicos de comentarios, los que podríamos denominar comentarios encima y
los que podríamos denominar comentarios a la derecha. Los más recomendables son los primeros,
pues suelen explicar un bloque de código, a modo de párrafo, aclarando mucho la lectura.

En lenguaje c++

string ListaObjetos::toString() const

string toret;

// Obtener las descripciones de los objetos

for(unsigned int i = 0; i < v.size(); ++i) {

toret += v[ i ]>

toString() + '\n';

// Formatear

StringMan::trimCnvt( toret );

StringMan::pasarMaysCnvt( toret );

return toret;

DOCUMENTACIÓN DE LAS ESPECIFICACIONES DEL PROGRAMA:


Es importante disponer de documentación permanente. Deben registrarse todos los datos
necesarios para el procesamiento requerido. Esto conduce al siguiente paso del diseño del
programa.

La documentación

Un programa de computadora necesita siempre de una documentación que permita a los usuarios
aprender a utilizarlos y mantenerlo, la documentación del programa se puede concretar a manual
del usuario y manual de mantenimiento

Manual del usuario

Es un programa suele producirse con dos propósitos, el primero seria explicar las funciones del
software y describir el modo de utilizarlas estas están diseñadas para ser leídas por el usuario del
programa y la segunda describir el software.

El manual de usuario debe contener los siguientes puntos.

 Ordenes necesarias para cargar el programa en memoria desde el almacenamiento


secundario y comenzar su funcionamiento.
 Nombres de los archivos externos a los que accede el programa. 
 Formato de todos los mensajes de error o informes.
 Opciones en el funcionamiento del programa.
 Descripción detallada de la función realizada por el programa.   
 Descripción detallada de cualquier salida producida por el programa.

 Manual de mantenimiento 

El manual de mantenimiento es la documentación requerida para mantener un programa durante su


ciclo de vida. Se divide en dos categorías, documentación interna y documentación externa.

 Documentación interna 

Cubre los aspectos del programa relativos a la sintaxis de lenguaje. Esta documentación está
contenida en los comentarios entre llaves, paréntesis o asteriscos. Algunos temas a considerar son: 

 Cabecera de programa (breve descripción del programa)


 Nombres significativos para describir identificadores.
 Comentarios relativos a la función del programa.
 Claridad de estilo y formato, líneas en blanco para separar módulos.
 Comentarios significativos.

Documentación externa

Documentación ajena al programa fuente, que se suele incluir en un manual que acompaña al
programa. Esta documentación debe incluir:

 Listado actual del programa fuente.


 Especificación del programa.
 Diagrama de estructura que representa la organización jerárquica de los módulos que
comprenden el programa.
 Explicaciones de fórmulas complejas. 
 Especificación de los datos a procesar.
 Formatos de pantallas utilizados para interactuar con los usuarios.
 Cualquier indicación especial que pueda servir a los programadores que deben mantener el
programa.

Reglas de documentación

Un programa bien documentado es aquel que otras personas pueden leer, usar y modificar. Existe
muchos tipos de documentación y con frecuencia los temas a incluir dependen del programa.

Un comentario de cabecera para el programa que incluye:

 Descripción del programa.


 Autor y fecha.
 Descripción de la entrada y salida del programa.
 Descripción de cómo utilizar el programa.
 Hipótesis sobre tipos de datos esperados.
 Breve descripción de los algoritmos globales y estructurados de datos.
 Descripción de las variables importantes.

También podría gustarte