DISEÑO Y DESARROLLO DE SOFTWARE-ALGORITMOS


El diseño y desarrollo de software consiste en la aplicación de diversidad de técnicas, conocimientos tecnológicos y de ciencias de la computación, además de habilidades lógico matemáticas en la generación  de software para su aplicación en la solución de problemas de diversa índole con el uso de computadores.

Existen varias metodologías para emprender el diseño y desarrollo de un software, una de las más usuales es la denominada metodología para el desarrollo de proyectos de software de cascada o fall-down; de la cual nombramos las etapas:
  1. Determinación de requerimientos
  2. Elaboración de prototipos (Modelado)
  3. Selección del modelo
  4. Programación
  5. Pruebas
  6. Puesta en Producción
  7. Mantenimiento

En este curso hablaremos básicamente de la Programación, no tocamos todas las etapas, pues esto es materia de estudio de las personas que se dedicarán a la industria del desarrollo de software, bien sea en el nivel técnico, tecnológico o profesional.

Siendo que el computador es un sistema que transforma entradas en salidas mediante la aplicación de un proceso, es importante para el programador anotar que para los computadores digitales que conocemos las entradas consisten básicamente en datos, los cuales mediante el proceso se transforman en información (salidas).  Además como hemos acotado en artículos anteriores, los computadores digitales son máquinas ALGEBRÁICAS, que aplican aritmética de números Reales, con una representación BINARIA o BASE 2 y lógica BOOLEANA para organizar el control del proceso.

Al ser una máquina algebraica, el programador de computadores deberá utilizar como elemento principal de trabajo VARIABLES, a las cuales debe utilizar para almacenar los valores que corresponderán a los datos que se requieren para la solución del problema, INSTRUCCIONES que debe entregar a la máquina para que esta solicite en el momento adecuado los valores de entrada, haga OPERACIONES  requeridas en el proceso y entregue las salidas requeridas en la solución.

ENTRADAS à        PROCESO          à        SALIDAS

Al conjunto de instrucciones que debe efectuar el computador para solucionar el proceso se le denomina SOFTWARE o PROGRAMA de computador, estas tienen un orden o una lógica específica para cada problema; para que la máquina entienda los programas, estos deben quedar en su lenguaje propio; siendo que dicho lenguaje resulta complejo para la mayoría de los Seres Humanos, se requiere de un lenguaje de alto nivel con léxico propio y sintaxis, llamado lenguaje de programación p.ej. JAVA, BASIC, C etc. (ver entrada anterior sobre programación); sin embargo, a nivel mundial para facilitar la creación de programas y la comunicación entre los programadores se recurre al uso de un tipo de lenguaje intermedio entre el lenguaje humano natural y los lenguajes de programación denominado PSEUDO-CÓDIGO con el que se elaboran  ALGORITMOS.


Un algoritmo no es más que el conjunto de pasos que se siguen para la solución de un problema, Usamos algoritmos para todas las actividades cotidianas, aunque la mayoría de las veces no somos concientes de ellos ya que es un proceso natural de los seres humanos; un ejemplo Típico de algoritmo son las recetas de cocina, ya que indican los requerimientos y pasos que se deben seguir para elaborar un plato específico.
En el pasado se utilizaron diagramas de flujo como el de la imágen pero estos han entrado en desuso.
imagen tomada de:https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9_hS_b6JXGfds6Pr5kgT3NweZff70WKfYZmvo139y45XhfpO1cmsVzKpWjYsJ7q7X5UwSVjkXpQAbqHNT6yJpmFQtuMVffBcVX9vYI4AG7yf54xOqLvCri4QTrWByEwU96mgILfTggn0P/s1600/ALGORTI.jpg


Los ALGORITMOS de programación o computacionales se expresan con SEUDO-CÓDIGO, es decir combinaciones PALABRAS del lenguaje común con expresiones algebraicas.

Los elementos que participan de los algoritmos en esencia son los mismos de un programa, pero en estos se omiten ciertos detalles que son propios del lenguaje de programación que se utilizará para elaborar el software, como la sintaxis y el uso ciertas normas o reglas o palabras reservadas; sin embargo la lógica que contiene debe reflejarse integralmente en el programa al final, si la lógica no funciona, el programa nunca lo hará.

Los pasos que se siguen para la elaboración de un software por parte de un programador son los siguientes:

1: Existencia de un problema y las especificaciones para su solución
2. Análisis del problema
3. Elaboración del Algoritmo (Plasmar la lógica mediante seudo-código)
4. Selección de la Herramienta de Programación
5. Codificación (Programación, o “traducción” del Algoritmo al lenguaje de programación)
6. Pruebas y ajustes
7. Puesta en producción (Cuando el programa pasa a ser de utilidad por el usuario final)
8. Mantenimiento o soporte a los usuarios

ELEMENTOS DE LOS ALGORITMOS

VARIABLES: Elementos que tienen la misma connotación y uso que en el álgebra; con la diferencia que el nombre o identificación de una variable en la programación puede ser una palabra completa, a dichas variables se les puede asignar valores diferentes (un valor a la vez) durante la ejecución de un proceso; por ejemplo:  TEMPERATURA, PESO, X, Y, Z, ALTURA, VELOCIDAD, SALARIO, NOTA

INSTRUCCIONES EN LOS ALGORITMOS: Se clasifican en instrucciones simples o individuales a saber:

LEA: Es una instrucción de entrada, es decir indica al computador que solicite un dato al usuario y ese valor lo asigne a una variable.

IMPRIMA: Es una instrucción de salida, es decir indica al computador que muestre un dato que está contenido en una variable. (el valor de esa variable no se altera con la instrucción)

= o ß : Estos símbolos ( igual o flecha) se utilizan en el algoritmo para asignar valores a una variable dentro del proceso, estos valores pueden corresponder a una constante, provenir de otra variable o de la evaluación de una expresión algebraica.

OPERACIONES ARTIMÉTICAS: Consisten en la aplicación de operadores aritméticos como parte de la evaluación de una expresión algebraica. Se muestran en la siguiente tabla:

                        OPERACIÓN                       SIMBOLO
                        Adición                                  +
                        Sustracción                             -
                        Multiplicación                        *
                        División                                  /
Se recomienda el uso de paréntesis para determinar la prelación de las operaciones; sin embargo por defecto se consideran prioritarias los operadores * y / ante los operadores + y-.
Es válido el uso de ciertos operadores aritméticos diferentes a estos, como VALOR ABSOLUTO, RAÍZ CUADRADA, POTENCIACIÓN, PARTE ENTERA etc, pero su uso está sujeto a que estos sean aceptados por el lenguaje de programación que se piense utilizar.

Lo mismo ocurre con algunas funciones matemáticas como es el caso de las funciones trigonométricas SENO, COSENO y TANGENTE.

OTRO TIPO DE OPERACIONES: A diferencia del algebra, en programación las variables pueden contener valores de tipos diferentes a los numéricos, por ejemplo hay variables LÓGICAS, que pueden tener asignado el valor de Falso o Verdadero, Variables Alfabéticas, Alfanuméricas o Textuales. Para este tipo de variables también existen operadores específicos para ellas, de estos trataremos mas adelante en el curso.

TÍTULO, INICIO Y FIN: Como regla sana y buena técnica de programación, cada algoritmo debe iniciar con una descripción breve o diciente del problema que pretende solucionar a manera de título, y las palabra INICIO y FIN.

EJEMPLOS Y EJERCICIOS.
Estos primeros algoritmos exigen que las instrucciones a seguir del proceso sean ejecutadas siguiendo un orden estricto, es decir de manera secuencial desde la primera hasta la última de ellas.


Elaborar algoritmos que resuelvan los siguientes problemas:
  1. Calcule la adición de dos números dados.
  2. Conocida la longitud de los catetos de un triángulo rectángulo, entregue como resultado el valor de su hipotenusa.
  3. Calcule el volumen de un cubo conocida la longitud de una de sus aristas.
  4. Efectúe el computo de la nota definitiva de un estudiante si se conocen las notas parciales del mismo, las cuales tiene el siguiente peso porcentual, primer parcial 40%, segundo parcial 30%, parcial final 30%.
  5. Obtenga las raíces o ceros de una ecuación de segundo grado en una incógnita, si se conocen los valores de los coeficientes numéricos de la misma.
  6. Dados dos números enteros, correspondientes al dividendo y divisor, nos muestre el cociente y el residuo resultantes de la división entera de ellos.



PUNTO 2.
Algoritmo que calcula la hipotenusa dados los catetos de un triángulo rectángulos.
INICIO
LEA CATETO1
LEA CATETO2
HIPOTENUSAß√(CATETO1*CATETO1+CATETO2*CATETO2)
IMPRIMA HIPOTENUSA
FIN

PUNTO 3.
Algoritmo que calcula el volumen de un cubo dada la longitud de una arista
INICIO
LEA ARISTA
VOLUMENßARISTA*ARISTA*ARISTA
IMPRIMA VOLUMEN
FIN

Comentarios

Entradas populares de este blog

LENGUAJE DE PROGAMACIÓN JAVA- SUBPROGRAMAS Y PARÁMETROS.

ALGORITMOS – BLOQUES CONDICIONALES

LAS TICS - CONCEPTOS