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:
- Determinación
de requerimientos
- Elaboración
de prototipos (Modelado)
- Selección
del modelo
- Programación
- Pruebas
- Puesta
en Producción
- 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:
- Calcule
la adición de dos números dados.
- Conocida
la longitud de los catetos de un triángulo rectángulo, entregue como
resultado el valor de su hipotenusa.
- Calcule
el volumen de un cubo conocida la longitud de una de sus aristas.
- 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%.
- 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.
- 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
Publicar un comentario