Tarea de Prog. JSNDD
Tarea de Prog. JSNDD
Subtemas
Desarrollo histórico:
1801, año en el que Joseph Marie Jacquard inventó el primer sistema de programación: un
programa introducido en un telar que leía el código y permitía tejer unas figuras
determinas.
En 1833, treinta años después, Charles Babbage crea la conocida como máquina
diferencial, capaz de resolver no solo sumas y restas, sino también ecuaciones.
Fue en 1957 cuando el conocido científico John W. Backus creó Fortran, el primer lenguaje
de programación conocido que tenía como fin realizar cálculos numéricos y científicos de
manera eficiente.
Más tarde, en 1964, apareció BASIC, una herramienta de apoyo enfocada a la educación
que continúa utilizándose hoy en día en algunas herramientas.
En la década de 1970 surgieron varios lenguajes de programación importantes que
tuvieron un impacto significativo en el desarrollo de software
Componentes básicos de una computadora:
se necesitan varios componentes. Algunos son imprescindibles para su funcionamiento:
gabinete, fuente de alimentación, placa madre, memoria RAM, disco rígido mecánico o en
estado sólido, microprocesador, cooler CPU, conectores, cables y puertos. Otros, aunque
no son imprescindibles, conviene conocerlos y, según el uso que se le dé a la PC, pueden
resultar muy importantes: placa de video, placa de red, grabadora/lectora de CD/DVD/Blu-
ray, fan cooler y placa de sonido.
Además de los componentes, son fundamentales los puertos —que es el nombre dado a
una interfaz a través de la cual se pueden enviar y recibir los diferentes tipos de datos— y
los conectores. Un conector es una interfaz utilizada para conectar dispositivos por cables:
hay machos, con pines que sobresalen para insertarse, y hembras o socket, donde se
insertan esos pines. Los conectores permiten vincular, ensamblar y desensamblar las
distintas piezas.
Algoritmos:
Un algoritmo es un plan preciso para ejecutar una secuencia de acciones ordenadas para
alcanzar un propósito propuesto en un tiempo finito, es decir, es el conjunto de
operaciones y procedimientos que debe seguirse para resolver un problema
Aunque un algoritmo pueden satisfacer el criterio de precisión, no ser ambiguo,
determinístico y finito; este algoritmo no puede ser aceptable para un problema con
solución computacional. Los atributos básicos deseados que un algoritmo debe reunir son
[CodeWarrior 95]
Un algoritmo debe resolver una clase de problemas, no solo un problema. Por ejemplo, un
algoritmo para calcular el promedio de cuatro números, no es tan efectivo de forma
general, como uno que calcula el promedio de un número arbitrarios de valores
Los algoritmos pueden ser representados en muchas formas. Para cualquier algoritmo
puede haber muchas representaciones de este, algunas mucho mejores que otras. No
existe alguna representación que sea la mejor para todos los algoritmos. A continuación de
describen algunas posibles representaciones:
Verbal: El algoritmo es expresado en palabras.
Algebraica: El algoritmo es expresado matemáticamente con símbolos y fórmulas.
Tabular: El algoritmo es expresado por una o más tablas.
Diagrama de flujo: El algoritmo es representado en la forma de un diagrama con cajas de
acción, ligadas por líneas que muestran el orden en que se ejecutan o la secuencia de
acciones. Este se refiere como el flujo de control.
Pseudocódigo: El algoritmo es representado como un conjunto de instrucciones escritas,
usando una mezcla de lenguaje natural y notaciones matemáticas. La forma de las
instrucciones son similares a las que tiene los lenguajes de programación.
Metodología para la solución de problemas basados en computadora:
La solución de un problema por computadora requiere de siete pasos, dispuestos de tal
forma que cada uno es dependiente de los anteriores, lo cual indica que se trata de un
proceso complementario y por lo tanto cada paso exige el mismo cuidado en su
elaboración. Los siete pasos de la metodología son los siguientes:
1. Definición del problema
2. Análisis de los datos
3. Diseño de la solución
4. Codificación
5. Prueba y depuración
6. Documentación
7. Mantenimiento
Definición del problema;
Está dada en sí por el enunciado del problema, el cual debe ser claro y complejo. Es
importante que conozcamos exactamente «que se desea obtener al final del
proceso» ; mientras esto no se comprenda no puede pasarse a la siguiente etapa,
Análisis de los datos:
Para poder definir con precisión el problema se requiere que las especificaciones de
entrada y salida sean descritas con detalle ya que esto es un requisito para lograr una
solución eficaz.
Una vez que el problema ha sido definido y comprendido, deben analizarse los siguientes
aspectos:
Los resultados esperados.
Los datos de entrada disponibles.
Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado
(fórmulas, tablas, accesorios diversos).
Una medida aconsejable para facilitar esta etapa consiste en colocarnos en lugar de la
computadora deduciendo los elementos que necesitaremos para alcanzar el resultado.
Diseño de la solución:
Una computadora no tiene capacidad para solucionar problemas más que cuando se le
proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo
que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos,
seleccionar uno de ellos utilizando criterios ya conocidos.
Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural, de
diagrama de flujo o natural de programación.
Como puede verse, solo se establece la metodología para alcanzar la solución en forma
conceptual, es decir; sin alcanzar la implementación en el sistema de cómputo.
Tenemos que la información proporcionada constituye su entrada y la información
producida por el algoritmo constituye su salida. Los problemas complejos se pueden
resolver más eficazmente por la computadora cuando se dividen en subproblemas que
sean más fácil de solucionar.
El problema de cálculo de la longitud y superficie de un círculo se puede descomponer en
subproblemas más simples :
Leer datos de entrada.
Calcular superficie y longitud.
Escribir resultados (datos de salida).
Codificación:
Se refiere a la obtención de un programa definitivo que pueda ser comprensible para la
máquina. Incluye una etapa que se reconoce como compilación.
Si la codificación original se realizó en papel, previo a la compilación deberá existir un paso
conocido como transcripción.
Prueba y depuración:
Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de
determinar si resuelve o no el problema planteado en forma satisfactoria.
Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo de
problema que se está resolviendo. Comúnmente se inicia la prueba de un programa
introduciendo datos válidos, inválidos e incongruentes y observando cómo reacciona en
cada ocasión.
El proceso de depuración consiste en localizar los errores y corregirlos en caso de que
estos existan. Si no existen errores, puede entenderse la depuración como una etapa de
refinamiento en la que se ajustan detalles para optimizar el desempeño del programa.
Documentación:
Debido a que el programa resultante en esta etapa se encuentra totalmente depurado (sin
errores), se procede a la utilización para resolver problemas del tipo que dio origen a su
diseño. En vista de que esta utilización no podrá ser supervisada en todas las ocasiones
por el programador, debe crearse un manual o guía de operación que indique los pasos a
seguir para utilizar el programa.
Mantenimiento:
Se refiere a las actualizaciones que deban aplicarse al programa cuando las circunstancias
así lo requieran. Este programa deberá ser susceptible de ser modificado para adecuarlo a
nuevas condiciones de operación.
Cualquier actualización o cambio en el programa deberá reflejarse en su documentación.