Profesora. Nelly García M. datos se representaban mediante posiciones de los engranajes y los datos...
Transcript of Profesora. Nelly García M. datos se representaban mediante posiciones de los engranajes y los datos...
Profesora. Nelly García M. Sem. A-2013
Tema I
Computación e informática
Computación: Historia
A lo largo de la historia se pueden encontrar muchos nombres que estuvieron
relacionados con áreas tales como: electrónica, la mecánica, materiales semiconductores,
la lógica, el algebra, la programación; por nombrar algunos:
El Abaco:
Inventado por los babilonios cuya historia se remontan a las antiguas civilizaciones griegas
y romanas y fue usada sobre todo por los griegos y los chinos, para la realización de
operaciones sencillas, se podían realizar sumas y restas. No es considerado por carecer del
elemento fundamental llamado programa.
Napier Bons (ábaco neperiano):
Fue un invento desarrollado en 1617, justo antes
de morir el matemático escocés John Napier (mejor
conocido por su invención de los logaritmos), que
consiste en un juego de palitos, hechos de huesos
de marfil. Estos permitían que, los productos se
reduzcan a operaciones de suma y los cocientes a
restas; al igual que con las tablas de logaritmos,
inventadas por él mismo se transforman las
potencias en productos y las raíces en divisiones.
Este invento tuvo una influencia fuerte en el
desarrollo de la regla deslizante (cinco años más tarde) y maquinas calculadoras que
contaron con logaritmos.
Reloj Calculador:
Inventada en 1623, fue la primera calculadora mecánica diseñada por Wilkhen Schickard,
en Alemania. Funcionaba haciendo rodar 6 ruedas dentadas que se engranaban a una
rueda mutilada, además contaba con una campana que se activaba cuando se producían
errores de desbordamiento. Esta basada en los "huesos de Napier" y en un mecanismo de
Profesora. Nelly García M. Sem. A-2013 sumas parciales. Este dispositivo podía efectuar las cuatro operaciones aritméticas
fundamentales con acarreos manejando números de hasta seis dígitos cada uno.
Pascalina:
Inventada en 1645, en el siglo XVII, fue creada por el
científico francés Blaise Pascal, uno de los
antepasados más directos de la computadora actual,
es una de las primeras calculadoras mecánicas que
funcionaba a base de ruedas y engranajes. La
pascalina conoció un período de gloria en los años
1960, debido a que se usó de forma interna en la compañía IBM. Por aquellos tiempos era
el único dispositivo que permitía efectuar muy rápidamente cálculos en numeración
hexadecimal, lo que era necesario para la depuración de los programas.
Para 1673, Gottfied Von Leibnitz, perfeccionó los estudios de pascal y llego a construir
una maquina que sumaba, restaba, multiplicaba, dividía y además calculaba raíces
cuadradas. Los datos se representaban mediante posiciones de los engranajes y los datos
se introducían manualmente estableciendo dichas posiciones finales de las ruedas de
manera similar a como leemos los números en el km de un carro.
En 1790, el francés Joseph Marie Jackard, utilizó las primeras tarjetas perforadas para
controlar un telar, y fue la base de muchos aparatos de la informática e idiomas de la
programación.
La primera calculadora de producción masiva se distribuyó empezando en 1820 por
Charles Thomas de Colmar.
Primera Maquina Analítica:
Fue creada en 1833, su inventor es el Británico Charles
Babbage, quien trabajo en dos proyectos importantes
como los son: la maquina diferencial y la máquina
analítica.
Profesora. Nelly García M. Sem. A-2013 La máquina analítica es un dispositivo complejo de cálculo que usaba dos pares de tarjetas
perforadas. Un par daba las instrucciones a la máquina mientras que el otro par grababa
los números a ser usados en los cálculos.
Ada Byron (primera mujer programadora), escribió un programa de demostración para el
uso de la maquina analítica. Muchos historiadores consideran a Babbage y Byron como los
verdaderos inventores de la computadora Digital Moderna.
Maquina Tabuladora:
Desarrollada en 1890 por el Dr. Herman Hollerith quien trabajo para la Oficina del Censo
en los Estados Unidos, durante el censo de 1880. Este diseño un sistema mediante el cual
las tarjetas eran perforadas para representar la información del censo, las tarjetas eran
insertadas en la máquina tabuladora y ésta calculaba la información recibida.
Primera Computadora Electromecánica:
Fue en el año 1944 y fue llamada MARK I,
desarrollada por Howard Aiken y la IBM, utiliza
principios magnéticos, utilizaba ceros y unos
(encendido y apagado) para representar
números. También fue conocida con el nombre
de ASCC (Calculadora Automática de Secuencias
Controladas). Esta computadora Ocupaba 17
metros de largo, 2,5 metros de alto y contenía
aproximadamente 800Km de cable y 3 millones
de conexiones. Se programaba a través de una cinta de papel en la que había perforadas
las instrucciones codificadas, la salida podía ser tanto por tarjetas perforadas como en
papel, ya que se podía conectar a la salida una maquina eléctrica, la cual llamaba la
atención por sus elegantes cubiertas de cristal.
Primera Computadora Electrónica Digital a gran escala
Fue desarrollada en el año 1946, por Dr. Jhon W Mauchly y Jhon Presper Eckert, fue
construida en la Universidad de Pensilvania y financiada por fondos del ejército de los
Estados Unidos para ser usada en la Segunda Guerra Mundial. Fue conocida con el
Profesora. Nelly García M. Sem. A-2013 nombre de ENIAC y ocupaba todo un sótano de la Universidad, consumía 200Kw. De
energía eléctrica y requería un sistema de aire acondicionado para evitar que se fundiera.
Tenía la capacidad de realizar 5000 operaciones aritméticas en un segundo. Su función
principal era calcular trayectoria de misiles.
Principales características de las generaciones conocidas:
Primera Generación(1940-1952)
Computadoras construidas en base a: Válvulas de vacío
Uso: Realización de aplicaciones en los campos científicos y militares
Lenguaje de programación: Lenguaje de Máquina
Memoria: utilizaban Tarjetas perforadas para ingresar datos y programas y usaban
cilindros magnéticos para almacenar información e instrucciones internas.
Tamaño: eran computadores muy grandes y utilizaban gran cantidad de
electricidad, que generaba demasiado calor.
Computadores conocidos en la época: ENIAC, IBM 650
Segunda Generación: (1952-1964)
Computadoras construidas en base a: Transistor (más potencia y fiabilidad, menos
tamaño y consumo)
Uso: científico y militar, administrativo y de gestión
Lenguaje de programación: Lenguaje más evolucionados (ensamblador y algunos
de alto nivel como cobol, Algol, Fortran)
Memoria: núcleos de ferrita, cintas magnéticas, tambores magnéticos.
Tamaño: eran computadores de menor tamaño y menor costo, así como también
aparecen muchas compañías y ls computadores eran bastante avanzadas para la
época.
Computadores conocidos en la época: Serie 5000 de Burroughs y ATLAS de la
Universidad de Manchester, algunas se programaban con cintas perforadas.
Profesora. Nelly García M. Sem. A-2013 Tercera Generación: (1964-1971)
Computadoras construidas en base a: Circuito Integrado “Chip”: encapsula gran
cantidad de componentes discretos (resistencias, diodos, condensadores,
transistores) conformando uno o varios circuitos en una pastilla de silicona o
plástico. Miniaturización. Minicomputador
Uso: científico y militar, administrativo y de gestión, además de cadenas de
producción de las plantas industriales.
Lenguaje de programación: Sistemas operativos (multiprogramación, tiempo real y
modo interactivo)
Memoria: discos magnéticos, circuitos integrados que recuerdan los datos, ya que
almacenan información como cargas eléctricas
Tamaño: eran computadores más pequeños, ligeros y más eficientes, consumían
menos electricidad, por lo tanto generaban menos calor.
Computadores conocidos en la época: Minicomputador IBM-360, DEC PDP-1 y 8
Cuarta Generación (1971-1988)
Computadoras construidas en base a: consiste en la integración a gran escala de
circuitos integrados y transistores, aparece el Microprocesador que es un gran
adelanto en la microelectrónica, con circuitos integrados de alta densidad y con
una velocidad impresionante
Uso: se extiende al mercado industrial y nacen los computadores personales. Estos
han adquirido proporciones enorme y han influido en la sociedad en general sobre
la llamada “revolución informática”.
Lenguaje de programación: Sistemas operativos (multiprogramación, tiempo real y
modo interactivo)
Memoria: se remplaza las memorias de anillos magnéticos por la memoria de chips
de silicio.
Tamaño: eran computadores pequeños y muy económicos, aparecen los
computadores personales.
Profesora. Nelly García M. Sem. A-2013
Computadores conocidos en la época: Intel Pentium Pro, UltraSparc-II, de Sun
Microsystem, PowerPc-620 de Apple con IBM
Quinta Generación (1981-presente)
Computadoras construidas en base a: componentes a muy alta escala de
integración, inteligencia artificial. Muy alta velocidad de procesamiento.
Uso: infinidad de usos: (robotica, sistemas expertos, multimedia), además de los
anteriores se comienza a dar uso en los hogares.
Lenguaje de programación: Sistemas operativos (multiprogramación, tiempo real y
modo interactivo), lenguaje natural.
Memoria: memorias de chips de silicio, diskette, cdrom dvd, pendrive
Tamaño: computadores que ocupan muy poco espacio. Y su costo está ligado a
velocidad y performance del equipo.
Computadores conocidos en la época: laptops, minilaptos, computadores con
procesadores Intel Centrino, entre otras.
En resumen la quinta generación se basa más que todo en hacer más poderoso el
Computador en el sentido que sea capaz de hacer inferencias sobre un problema
específico. Se basa en la inteligencia artificial y en organizar sistemas de
computación. El Hardware de esta generación se caracteriza por la miniaturización
de los elementos, multiprocesador (procesadores interconectados), maquinas
activadas por la voz, circuitos de fibra óptica que le permita mayor rapidez e
independencia de procesos.
Como supuestamente la sexta generación de computadoras está en marcha desde
principios de los años noventas, debemos por lo menos, esbozar las características que
deben tener las computadoras de esta generación. También se mencionan algunos de los
avances tecnológicos de la última década del siglo XX y lo que se espera lograr en el siglo
XXI. Las computadoras de esta generación cuentan con arquitecturas combinadas Paralelo
/ Vectorial, con cientos de microprocesadores vectoriales trabajando al mismo tiempo; se
han creado computadoras capaces de realizar más de un millón de millones de
operaciones aritméticas de punto flotante por segundo (teraflops); las redes de área
mundial (Wide Area Network, WAN) seguirán creciendo desorbitadamente utilizando
Profesora. Nelly García M. Sem. A-2013 medios de comunicación a través de fibras ópticas y satélites, con anchos de banda
impresionantes. Las tecnologías de esta generación ya han sido desarrolla das o están en
ese proceso. Algunas de ellas son: inteligencia / artificial distribuida; teoría del caos,
sistemas difusos, holografía, transistores ópticos, etcétera
El Computador:
El nombre se deriva del latin Computare que significa contar o calcular. La computadora es
una maquina con características bien definidas, que se diferencian de las calculadoras
mecánicas por su velocidad, memoria interna y programas almacenados.
Es un dispositivo electrónico que recibe un conjunto de datos de entrada, los procesa y
genera determinados resultados o información, con gran capacidad para el
almacenamiento de los datos y elevada velocidad de cálculo.
Tipos de computadores
Analógicas:
Tienen la capacidad de medir o comparar según el
patrón (fenómenos físicos continuos en el tiempo)
preestablecido; procesan datos continuos (voltajes),
es decir, manejan señales eléctricas analógicas
proporcionales a medidas físicas de tipo continuo y
suelen aplicarse para controlar procesos y en
determinados problemas de simulación, para usos
médicos, científicos, meteorológicos, su
programación está plasmada en los circuitos que lo integran y producen sus resultados en
forma gráfica.
Digitales:
Este tipo de computadora maneja señales de tipo digital, es decir, es un dispositivo
electrónico usado para procesar datos. Procesa los datos siguiendo las especificaciones de
Profesora. Nelly García M. Sem. A-2013 un programa por medio de lenguajes y su utilización comprende cualquier tipo de
trabajos. Maneja información binaria.
Híbridos:
Es la combinación de los anteriores. Suelen estar constituidos por una computadora digital
que procesa información analógica, para lo cual tiene sus entradas y salidas controladas
por medio de convertidores analógico-digital o digital-analógico.
Según la capacidad y estructura física
Supercomputadoras:
Son computadoras de gran procesamiento de datos en un tiempo record, es muy costosa
por lo que su comercialización es mínima. Son empleadas por organismos
gubernamentales, industrias petroleras y organismos de investigación científica, estudio y
predicción de tornados, predicción de clima. Una de las computadoras mas famosas es la
Deep Blue (azul profundo) de IBM 1997 que derrotó al campeón mundial de Ajedrez Gary
Kasparov, su costo aproximadamente es de decenas de millones de dólares.
Mainframe:
Poseen gran rapidez y caros sistemas que son capaces de controlar al mismo tiempo a
cientos de miles de usuarios así como cientos de dispositivos de entrada y salida. Los
precios pueden varias desde los 350.000 dólares en adelante. Poseen varios procesadores
que ejecutan varias tareas a la vez, por lo general cuentan con varias unidades de disco
para procesar y almacenar grandes cantidades de información.
Minicomputadoras:
Es un sistema multiproceso que puede soportar de 10 a 200 usuarios simultáneamente y
fueron diseñadas para:
Entornos de múltiples usuarios
Ofrecer servicios
Soportar un numero de dispositivos
Pequeños y de bajo costo
Profesora. Nelly García M. Sem. A-2013
Para múltiples aplicaciones
Son usadas de almacenar Bases de Datos, automatización industrial y corres aplicaciones.
Pc’s o Microcomputadores.
Tuvieron su origen con la creación de microprocesadores por parte de IBM. PC de
escritorio, Laptop, NoteBook, PDA.
Componentes:
El procesador:
Se refiere a lo que en los primeros computadores se conocía como CPU (Unidad Central de
Proceso), comenzó siendo del tamaño de una armario hasta llegar a ser hoy en día un
chip.
Es un circuito electrónico que funciona a la velocidad del reloj interno, gracias al cristal de
cuarzo que sometido a corriente eléctrica envía pulsos denominados “picos”. La velocidad
del reloj (también denominada ciclo), corresponde al numero de pulsos por segundo
expresado en hertz. De este modo un pc de 200Mhz, posee un reloj que envía
200.000.000 pulsos por segundo, por lo general la frecuencia de Reloj, es múltiplo de la
frecuencia del sistema o placa madre.
Con cada ciclo de procesador ejecuta una acción que corresponde a su vez a una
instrucción. Una INSTRUCCIÓN es una operación elemental que el procesador puede
cumplir. Estas se almacenan en la memoria principal, esperando se tratadas por el
procesador, poseen dos campos:
1. Código de operación: acción que el procesador debe ejecutar
2. Código operando: define los parámetros de la acción
Las instrucciones deben agruparse en distintas categorías
Acceso a Memoria: transferencia de información entre registro, aceso
Operaciones Aritméticas: Sumas, Restas, Multiplicación.
Operaciones Lógicas: and, or, no exclusivo
Control: control de secuencias, conexiones condicionales.
Memoria Caché L1: (Memoria Buffer): es una memoria rápida, que se dedica a almacenar
los datos que con mayor probabilidad vamos a usar en nuestro siguiente ciclo de
Profesora. Nelly García M. Sem. A-2013 procesamiento y reduciendo asi el número de veces que se ha de acceder a la memoria
RAM.
Hay varios niveles de cache el primer nivel es el L1, en este nivel la memoria esta
integrada en el procesador y funciona a la misma velocidad que este, los niveles L2 y L3,
se suelen conectar al procesador mediante el bus, y la l2 es un intermediario entre el
caché interna del procesador y la RAM. La L3 cache se encuentra ubicada en la tarjeta
madre.
Unidades Funcionales
Se compone de un grupo de unidades interrelacionadas o unidades de control. Aunque la
arquitectura del microprocesador varia considerablemente de un diseño a otro.
Unidad de Control: es el núcleo del procesador, dirige la ejecución del programa y
controla tanto el movimiento entre la memoria y la ALU, como las señaes que
circulan entre la CPU y los periféricos. Sus funciones son:
o Controlar las secuencia de instrucciones a ser ejecutadas
o Controlar el flujo de datos entre los diferentes partes que conforman el
computador
o Interpretar las instrucciones
o Regular tiempos de acceso y ejecución en el procesador
o Evitar y recibir señales de control de periféricos externos.
Unidad de Ejecución: o Unidad de procesamiento, que cumple las tareas que le
asigna la unidad de control, se compone de los siguientes elementos:
o Unidad Aritmético Lógica ALU: esta unidad realiza los cálculos matemáticos
(+,-,*,/) y las operaciones lógicas (>,<,=, entre otras), transfiere los datos
entre las posiciones de almacenamiento.
o Unidad de punto flotante FPU: ejecuta cálculos complejos parciales de la
ALU no puede realizar
o Registro de estado
o Registro acumulador
Unidad de administración de bus: o unidad de entrada salida, administra el flujo de
información entrante y saliente y que se encuentran interconectados con el
sistema RAM.
Periféricos y Multimedia:
Periféricos o componentes físicos son todos aquellos dispositivos que pueden interactuar
con el computador:
Profesora. Nelly García M. Sem. A-2013 Vamos a comenzar por mencionar los componentes internos como son la motherboard y
las memorias
Motherboard: es una placa rectangular que se encuentra interconectada mediante
circuitería electrónica impresa. A ella se conectan las demás partes del computador, como
son memorias, chips, dispositivos de E/S.
Memorias: se refiere a los componentes de una computadora, dispositivos y medios de
almacenamiento que retienen datos informáticos durante algún intervalo de tiempo
Tipos de memoria:
Memoria principal: parte de la computadora donde se almacenan temporalmente
los programas y datos. La información procesada por el CPU se almacena
normalmente en la memoria principal hasta que termina la ejecución del programa
principal.
RAM: memoria de lectura y escritura, Usualmente se conoce como una memoria
principal. Memoria temporal, es volátil, necesita un suministro constante de
energía, cuando se apaga una computadora todo lo que está en la RAM
desaparece.
ROM: el estado de los dígitos puede leerse pero no cambiarse, contienen chips con
instrucciones. Memoria permanente.
PROM: permite que la información la introduzca el usuario. Posteriormente puede
leerse la información de la Prom tantas veces como se quiera, pero no puede
escribirse de nuevo en ella.
EPROM: se puede escribir en una eprom, pero su contenido se puede borrar, una
vez introducida la información, actúa como una prom.
Memorias secundarias: almacenamiento semipermanente de la información, se
una para almacenar grandes cantidades de información, para ser procesados por el
CPOU, los datos se almacenan en la memoria secundaria y luego se llevan a la
memoria principal.
Dispositivos de entrada: Aceptan la entrada del mundo exterior (datos e instrucciones), el
dispositivo de entrada más común es el teclado, otros dispositivos de entrada:
Ratón
Trackball
Guante (dataglove)
Escáner
Cámara digital y de video conferencia
Profesora. Nelly García M. Sem. A-2013
Digitalizador de audio y video
Joystick
Micrófono
Lectoras de código de barra
Lápiz óptico.
Dispositivos de Salida: envían información (datos procesados) al mundo exterior. La
mayoría de las computadoras utilizan un monitor de video como su dispositivo de salida
principal y una impresora para mostrar la salida en papel. Otros dispositivos de salida:
Trazadores gráficos(plotters)
Generadores o sintetizadores de sonido
Altavoces estereofónicos
Dispositivos entrada salida: son aquellos dispositivos que nos permiten leer y escribir del
mismo dispositvo:
Unidades de almacenamiento (discos duros, dvd-rw, cd-rw, pendrive, floppy)
Puertos USB
Modem
Fax
Multimedia:
El término multimedia es empleado para referirse a cualquier sistema u objeto que utiliza
múltiples medios de expresión digitales o físicos, para presentar o comunicar información.
Informática:
El término nace en Francia en 1962, y se define como la ciencia que estudia el tratamiento
automático y racional de la información
Automático: porque se realiza mediante máquinas electrónicas
Racional: porque esta dirigido y controlado mediante órdenes que sigue el
racionamiento humano.
La informática está sustentada en tres pilares fundamentales:
Elemento Físico: (Computadora, cables y periféricos)
Elemento Lógico: (Programas y datos)
Profesora. Nelly García M. Sem. A-2013 Elemento Humano: (Analistas, programadores, coordinadores, etc).
Dato: son en general cifras originales que solos tienen poco significado, el dato es un
concepto básico o elemental, como los nombres de las cosas o las cantidades.
Información: son datos ya trabajados y con un orden y significado útil para la persona que
los recibe, en general se entiende por información, a toda forma de representación de
hechos, objetos, valores , ideas, que nos permiten adquirir el conocimiento de las cosas y
la comunicación entre personas.
Comunicación: es la forma de interactuar los dispositivos con el computador, esta
interrelación se hace mediante el BUS que es el canal o la ruta común entre los
dispositivos de hardware, ya sea internamente entre componentes o entre dispositivos y
computador-
Bus de datos: interconecta los dispositivos de E/S, la memoria principal y el CPU
Bus de direcciones: Se utiliza para direccionar las localidades de memoria y los
dispositivos de E/S.
Procesar:
Se refiere a la realización de operaciones aritméticas (sumas, restas, cálculos, entre otras)
y lógicas (decisiones). Para que una computadora pueda procesar, es necesario
suministrarle reglas (instrucciones adecuadas) para la manipulación de los datos, las
cuales son dadas en forma de programas.
Programa:
Es la secuencia de instrucciones (órdenes), que se dan a una computadora para realizar un
proceso determinado.
Algoritmo:
Es un conjunto finito de pasos en secuencia que indican cómo se resuelve un determinado
problema, dentro de sus propiedades tenemos:
Numero finito de pasos sin ambigüedades
Numero de pasos en orden secuencial
La acción a realizar se indica con un verbo o un con un grafico
Eficiente (menos numero de pasos, pero lo más claro posible).
Profesora. Nelly García M. Sem. A-2013
Software:
Se denomina software a todos los componentes intangibles de un ordenador o
computadora, es decir , al conjunto de programas y procedimientos necesarios para hacer
posible la realización de una tareas específica. Como por Ej: Windows, Linux, Visual basic,
Corel Draw, Word, PowerPoint, AutoCad, Internet, etc.
El software se suele escribir en un lenguaje de programación de alto nivel, que es más
sencillo de escribir (pues es más cercano al lenguaje natural humano), pero debe
convertirse a lenguaje máquina para ser ejecutado. El término "software" fue usado por
primera vez por John W. Tukey en 1957.
Existen TIPOS DE SOFTWARE, siendo los Sistemas Operativos los primeros que deben ser
instalados. Sabes ¿Porqué? Por estas razones:
Software del sistema:
El SISTEMA OPERATIVO es el primer software que se instala en el ordenador, es
imprescindible para que funciones el computador. El usuario se comunica con la maquina
por medio del sistema operativo, además de ser éste el encargado de administrar todos
los recursos(procesadores, memorias, dispositivos de E/S) de la computadora y establece
la base sobre la que pueden escribirse los programas de aplicación.
Oculta toda la complejidad del hardware y ofrece al programador un conjunto de
instrucciones que facilita el trabajo, mantiene la seguridad y detecta fallas en el
computador.
TEMA II
Metodología para el desarrollo de programas:
Análisis E-P-S:
El desarrollo de programas sigue hoy en dia distintas metodologías: De arriba hacia abajo,
espiral, modular, etc.En este curso Usted aprendera que lo más importante es
comprender el problema cabalmente. Luego Usted podrá encasillarlo en cualquiera de las
técnicas existentes. Para la comprensión de un problema se requiere que Usted este
alerta con todos los sentidos. El proceso del pensamiento y abstracción del problema NO
TIENE METODOLOGIA ESPECIFICA. “NO” CREA EN CUENTOS DE CAMINO. Por ejemplo
Profesora. Nelly García M. Sem. A-2013 entrada, proceso y salida. Es posible que funcione pero dese cuenta que lo está
castrando!!! Cuando Usted logre conseguir la explicación más sencilla y la analogia
correcta a un problema entonces ya lo habrá resuelto.
El análisis E-P-S se puede desglosar de la siguiente manera:
Especificaciones de entrada: Información necesaria para la solución del problema.
¿ Qué datos son de entrada ?
¿ Cuántos datos se introducirán ?
¿ Cuáles datos de entrada son válidos ?
Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.
¿ Qué tipo de ecuaciones ?
¿ Cuántas ecuaciones ?
¿ Qué transformaciones sobre la data?
Especificaciones de salida: Resultados finales de los cálculos.
¿ Cuáles son los datos de salida
¿ Cuántos datos de salida se producirán
¿ Qué precisión tendrán los resultados
¿ Se debe imprimir un encabezado
1. Formulación y análisis del problema:
Consiste en entender de qué se trata el problema planteado y esbozar su posible solución,
concluyendo con una clara definición de tres aspectos: 1º qué es lo que nos piden, es
decir, definición del resultado o solución deseada (para qué). 2º cómo obtener lo que nos
piden (qué hacer). 3º qué necesitamos para obtener los resultados pedidos (con qué).
Esto último nos facilitará la construcción de lo que denominaremos Especificación
Funcional.
1.1.- Especificación Funcional: Consiste en determinar las funciones que se van a realizar
(qué hacer) y sus respectivas entradas (con qué) y salidas (para qué)
ENTRADA PROCESOSALIDA
Donde: entrada son los argumentos (variables o constantes) que se requieren para
resolver un problema, proceso es el procedimiento(s) u operación(es) que deben
Profesora. Nelly García M. Sem. A-2013 efectuarse sobre las entradas para obtener las salidas deseadas y salida son los resultados
(argumentos) que se desean obtener una vez resuelto el problema.
1.2.- Especificación de los Argumentos o Parámetros: Consiste en la documentación de
los argumentos o parámetros (sean estos de entrada, salida o intermedios) requeridos en
la solución del problema, mediante la elaboración de una tabla que contemple los
siguientes aspectos:
descripción del argumento
identificador
tipo
longitud
condición
restricción
1.3.- Establecimiento de Restricciones y Atributos: Consiste en determinar bajo qué
restricciones se ha de operar y cuales son las medidas de rendimiento y calidad que debe
tener el sistema (programa). Este aspecto no se realizará en este curso dada la simplicidad
de los problemas tratados.
2. DISEÑO.
Consiste en diseñar cómo hace el programa la tarea solicitada. En forma general consiste
en dividir el programa en subprogramas y cada subprograma en módulos.
El criterio de descomposición más utilizado es el de tipo funcional, el cual produce una
estructura jerárquica en la que cada módulo ejecuta una o más funciones y para cada
módulo se produce una especificación de programa o módulo, la cual contiene lo
siguiente:
Nombre del Programa o Módulo.
Función que desarrolla.
Parámetros o Argumentos.
Parámetros o Argumentos de Entrada.
Parámetros o Argumentos de Salida.
Estructura de Datos Requerida.
Lenguaje de Programación.
Algoritmo
Algoritmo:
Profesora. Nelly García M. Sem. A-2013 Es un conjunto finito de pasos en secuencia que indican cómo se resuelve un determinado
problema, dentro de sus propiedades tenemos:
Numero finito de pasos sin ambigüedades
Numero de pasos en orden secuencial
La acción a realizar se indica con un verbo o un con un grafico
Eficiente (menos numero de pasos, pero lo más claro posible).
Herramientas para diseñar algoritmos: a) Diagramas de Flujo: representación gráfica de un algoritmo. b) Pseudocódigo: lenguaje de especificación de algoritmos (el algoritmo se
representa mediante palabras similares al inglés o al español, para facilitar tanto la
lectura como la escritura de programas.
3. CODIFICACIÓN. Es la escritura en un lenguaje de programación de la representación del algoritmo
desarrollado en la etapa de diseño. El resultado de la codificación es un programa fuente.
4. COMPILACIÓN Y EJECUCIÓN.
Es el proceso de traducción del programa fuente al lenguaje de máquina. Este proceso se
realiza con el compilador y el Sistema Operativo. El resultado, si no hay errores, es la
obtención del programa objeto que todavía no es ejecutable directamente. Luego,
mediante el Sistema Operativo se realiza la carga del programa objeto con las librerías del
programa compilador, el resultado es un programa ejecutable. Cuando el programa
ejecutable se ha creado, se puede ejecutar el programa desde el Sistema Operativo
generalmente con sólo teclear su nombre. Si no hay errores se obtiene como salida los
resultados del programa. NOTA: El Turbo Pascal compila y ejecuta con una sola orden.
5. VERIFICACIÓN Y DEPURACIÓN.
Es el proceso de probar que el programa trabaje correctamente y cumpla con los
requerimientos del usuario.
VERIFICAR: es el proceso de ejecución del programa con una amplia variedad de datos de
entrada (test o pruebas) que determinarán si el programa tiene errores.
Profesora. Nelly García M. Sem. A-2013 DEPURAR: es el proceso de encontrar los errores del programa y corregir o eliminar
dichos errores.
TIPOS DE ERRORES:
a) Errores de compilación: suelen ser errores de sintaxis.
b) Errores de ejecución: suelen ser instrucciones que la computadora comprende
pero que no puede ejecutar. Ejemplo: divisiones por cero, raíces negativas, etc.
c) Errores de lógica: se producen en la lógica del programa, en el diseño del
algoritmo. Se detectan porque los resultados son incorrectos.
6. DOCUMENTACIÓN Y MANTENIMIENTO. Consta de la descripción de los pasos a dar en el proceso de resolución de un problema. La
documentación de un programa puede ser:
Interna: contenida en las líneas de comentarios del propio programa.
Externa: Incluye el análisis, la especificación del programa, el algoritmo, los
manuales de los usuarios, etc.
El mantenimiento consiste en la actualización de los programas con los cambios
requeridos por el usuario o corrección de posibles errores futuros. Gráficamente la
metodología puede ilustrarse de la siguiente manera:
Profesora. Nelly García M. Sem. A-2013