Documente Academic
Documente Profesional
Documente Cultură
HARDWARE
Conjunto de componentes fsicos de una computadora. Se compone de :
2. SOFTWARE
Programa
ensamblador
Programa Objeto
Lenguajes de Alto Nivel.- Diseados para que las personas escriban y entiendan los programas ms
fcilmente que los lenguajes anteriores Son portables, es decir pueden ser ejecutados en diferentes tipos de
computadoras.
Ejm: Basic
Cobol
Fortran
Lisp
C
Pascal, etc.
3.4) Traductores de Lenguaje Programas que traducen los programas fuentes hechos en lenguaje de alto nivel
a cdigo mquina. Pueden ser:
Intrprete
Programa fuente
Interprete
Traduccin y
ejecucin lnea a
lnea
Compilador y fases: Compilacin proceso de Traduccin de programas fuente en programas objeto.
Programa fuente
Compilador
Programa objeto
Programa Objeto
Montador o
Enlazador
Programa
ejecutable en
lenguaje mquina
Analisis del
problema
Diseo del
algoritmo
Codificacin del
algoritmo
Verificacin del
algoritmo
Ejecucin del
programa
Validacin del
programa
Programa de
trabajo
Esta fase incluye, a su vez, el anlisis del problema asi como el diseo y posterior verificacin del
algoritmo.
Anlisis del problema. El primer paso para la solucin de un problema es el anlisis del mismo. Se debe
examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y determinar los
datos necesarios para conseguirlo.
Analisis del
problema
Definicin del
problema
Datos de
entrada
Datos de salida
Resultados
Diseo del algoritmo. Puede ser definido como la secuencia ordenada de pasos, sin ambigedades, que
conducen a la solucin de un problema.
Verificacin de algoritmos. Una vez terminado de escribir un algoritmo es necesario comprobar que realiza
las tareas para las que se ha diseado y produce el resultado correcto y esperado. Para esto aplicamos la
Prueba de escritorio. Comprobacin manual usando datos significativos que abarquen todo el posible rango
de valores.
1.2.- Fase de implementacin
Una vez que el algoritmo esta diseado, representado grficamente mediante una herramienta de
programacin (Diagrama de flujo, diagrama de N-S o pseudocdigo) y verificado se debe pasar a esta fase de
codificacin, traduccin de un algoritmo a un determinado lenguaje de programacin, que deber ser
completada con la ejecucin y comprobacin del programa en una computadora.
2. CONCEPTO DE ALGORITMO
Es el conjunto de instrucciones que especifican la secuencia de operaciones a realizar, el orden para
resolver un sistema especifico o clase de problema, se denomina algoritmo. En otras palabras un algoritmo
es una formula para la solucin de un problema.
Para realizar un proceso en la computadora se le debe suministrar al procesador un algoritmo
adecuado, por ejemplo al cocinero debe drsele una receta, al pianista una partitura, y as sucesivamente
considerando al cocinero y al pianista como procesadores.
En la computadora el algoritmo ha de expresarse de una forma que recibe el nombre de programa, un
programa se escribe en un lenguaje de programacin, y a la actividad de expresar un algoritmo en forma de
programa se llama Programacin. Cada paso en el algoritmo esta expresado por medio de instrucciones, cada
una de las cuales especifica las operaciones que debe realizar la computadora.
Para llegar a la realizacin de un programa es necesario el diseo previo de un algoritmo, de modo
que sin algoritmo no hay programa.
Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan como de
la computadora donde se ejecutan, en cada problema el algoritmo se puede expresar en un lenguaje diferente
de programacin y ejecutarse en una computadora distinta, sin embrago el algoritmo ser siempre el mismo.
As por ejemplo en una analoga con la vida diaria, una receta de un plato de comida. Se puede expresar en
espaol, ingles o francs, pero en cualquiera que sea el lenguaje, los pasos para la elaboracin de el, se
realizara sin importar el idioma.
En la ciencia de la computacin y en la programacin, los algoritmos mas importantes que los
lenguajes de programacin o las computadoras. Un lenguaje de programacin es tan solo un medio para
expresar un algoritmo y una computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de
programacin como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute
y efecte el proceso correspondiente.
Dada la importancia del algoritmo en la ciencia de la computacin un aspecto muy importante ser el
diseo de algoritmos. Para el diseo de la mayora de los algoritmos se requiere creatividad, lgica, secuencia
y orden. En esencia la solucin de un problema se puede expresar mediante un algoritmo.
2.1.- Caractersticas de los algoritmos
Las caractersticas fundamentales de que debe cumplir todo algoritmo son:
Lenguaje espaol.
Formulas.
Diagramas de flujo.
Diagrama N-S (Nassi-Schneiderma).
Lenguaje de codificacin de algoritmos (Pseudocodigo).
Los mtodos 1 y 2 no suelen ser fciles de transportar en un programa. Una descripcin en espaol
narrativa no es satisfactorio ya que es demasiado prolija y generalmente ambigua, una formula, sin embargo
es un buen sistema de representacin, por ejemplo la formula para halla el rea de un circulo.
S = x R2
Signfica
1.
2.
3.
Eleve R al cuadrado
Reemplac el valor de el smbolo por 3.141592
Multiplique el resultado del paso 1 por le paso 2
Sin embargo no es frecuente que un algoritmo pueda ser expresado por medio de una formula.
Diagramas de flujo
Un diagrama de flujo (FlowChart) es una de las tcnicas de representacin de algoritmos mas antigua
y a la vez mas utilizada, un diagrama de flujo en un diagrama que utiliza los smbolos (cajas) estndares,
cada caja representa un comando. En su interior de las cajas los pasos a seguir por el algoritmo unidos por
flechas entre si, denominadas lneas de flujo que indican la secuencia en que se deben ejecutar
Diagrama
Funcin
1
2
3
si
no
6
7
8
9
10
11
12
13
Se puede escribir mas de un paso del algoritmo en una sola caja excepto en al del inicio y fin, el uso de
las flechas significa que la caja no necesita estar escrita debajo de su predecesora, sin embargo abusar
demasiado de esta flexibilidad conduce a diagramas de flujo complicados e ininteligibles.
Ejemplo de diagrama de flujo:
INICIO
SI
A>=0
"EL NUMERO ES
POSITIVO
NO
"EL NUMERO ES
NEGATIVO"
FIN
Diagramas de Nassi-Schneiderman (N-S)
El diagrama N-S de Nassi-Schneiderman (conocido tambin como Chapin) es como un diagrama de
flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se escriben en
cajas sucesivas y como en los diagramas de flujo se pueden escribir diferentes acciones en una caja.
Ejemplo de diagrama de Nassi-Schneiderman (N-S)
Inicio
Leer (a)
A>=0
True
False
fin
Pseudocdigo
El pseudocdigo es un lenguaje de especificacin (descripcin de algoritmos). El uso de tal lenguaje
hace el paso a la codificacin final ( esto es la traduccin al lenguaje de programacin final)
El pseudocdigo naci como un lenguaje similar al ingles y era un medio de representar bsicamente
las estructuras de control de programacin, se considera un primer borrador, el pseudocdigo no puede ser
ejecutado por ninguna computadora. La ventaja del pseudocdigo es que en su uso, en la planificacin de un
programa.
Ejemplo de Pseudocdigo:
Inicio
Leer un valor para A
Si el valor de A es mayor o igual que Cero entonces
Escribir que el nmero ingresado es positivo
Sino
Escribir que el nmero ingresado es negativo
finsi
fin
2.3.- Componentes de un algoritmo
Para disear un algoritmo se debe comenzar por identificar las tareas mas importantes para resolver
le problema y disponerlas en le orden en el que han de ser ejecutadas. Los pasos en esta primera descripcin
de actividades debern ser refinados aadiendo detalles a los mismo e incluso, algunos de ellos, pueden
requerir un refinamiento adicional antes que podamos obtener un algoritmo claro preciso y completo. Este
mtodo de diseo de los algoritmos en etapas, yendo de los conceptos generales a los de detalle a travs de
refinamientos sucesivos, se conoce como mtodo descendente (Top Down). En un algoritmo se debe
considerar tres partes:
1.
2.
3.
Como ejemplo imagnese que desea desarrollar un algoritmo que calcule la superficie de un rectngulo
proporcionndole su base y altura. Lo primero que deber hacer es plantearse y contestar a las siguientes
preguntas:
Especificaciones de entrada
-
Especificaciones de salida
-
Como habamos mencionado antes el algoritmo debe ser independiente de cualquier lenguaje de
programacin particular pero fcilmente traducible a alguno de ellos.
Taza de te
Bolsa de te, agua
pitido de tetera, aspecto de la fusin.
Despus de echar agua en al tetera, se pone al fuego y se espera a que el agua hierva (hasta que
suene el pitido de la tetera). Introducimos el te y se deja un tiempo hasta que este hecho.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
inicio
Tomar la tetera.
Llenar de agua.
Encender el fuego.
Poner la tetera al fuego.
Mientras no hierva el agua esperar.
Tomar la bolsa de te
Introducir en la tetera
Mientras no este hecho el te esperar
Echar el te a al taza.
Fin.
Rueda reparada
Rueda pinchada, rueda de repuesto, herramientas
Inicio.
Si gato del coche esta averiado llamar a la estacin de servicio y bifurcar al punto 11; en caso
contrario, continuar el proceso.
3. Levantar el coche con el gato.
4. Aflojar y sacar los tornillos de las ruedas.
5. Si NO todos los tornillos estn flojos y quitados, bifurcar al paso 4; en caso contrario, continuar
el proceso.
6. Quitar la rueda.
7. Poner la rueda de repuesto.
8. Poner los tornillos y apretarlos.
9. Si NO estn puestos todos los tornillos volver al paso 8, en caso contrario continuar el proceso.
10. Bajar el gato.
11. Fin.
3.- Algoritmo para ir al cine
Anlisis del problema
Datos de salida:
Datos de entrada:
proyeccin
Datos auxiliares:
Ver la pelcula.
Nombre de la pelcula, direccin de la sala, hora de
Entrada, sitio.
Despus de echar agua en al tetera, se pone al fuego y se espera a que el agua hierva (hasta que
suene el pitido de la tetera). Introducimos el te y se deja un tiempo hasta que este hecho.
1. Inicio
2. Tomar el peridico.
3. Mientras no lleguemos a la cartelera pasar la hoja.
4. Mientras no se acabe al cartelera leer pelcula.
5. Si nos gusta recortarla.
6. Elegir una de las pelculas seleccionadas
7. Trasladarse a la sala
8. Si NO hay entadas bifurcar al punto 16; caso contrario continuar
9. Si hay cola, ponerse al ultimo.
10. Mientras no llegue a la taquilla avanzar.
11. Si NO hay entradas bifurcar al punto 16; caso contrario compra entrada
12. Leer el lugar de la entrada
13. Buscar lugar
14. Sentarse
15. Ver pelcula
16. Fin
Ejercicios Propuestos
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Que es Dfd?
Dfd es un software diseado para construir y analizar algoritmos . Usted puede crear diagramas de flujo de
datos para la representacin de algoritmos de programacin estructurada a partir de las herramientas de
edicin que para ste propsito suministra el programa. Despus de haber ingresado el algoritmo
representado por el diagrama, podr ejecutarlo, analizarlo y depurarlo en un entorno interactivo diseado para
ste fin. La interfaz grfica de Dfd, facilita en gran medida el trabajo con diagramas ya que simula la
representacin estndar de diagramas de flujo en hojas de papel.
Algoritmo
Un algoritmo es un procedimiento para la resolucin de problemas de cualquier tipo por medio de
determinada secuencia de pasos simples y no ambiguos. El concepto fue utilizado originalmente para el
clculo matemtico pero ahora es ampliamente usado en programacin de computadoras.