Professional Documents
Culture Documents
Universidad de Mlaga
E.U. Politcnica
ndice de contenidos
1.
2.
3.
4.
Programacin
Establecer una secuencia de acciones que:
puedan ser ejecutadas por el procesador
realicen una determinada tarea
Fases:
1. Resolucin del problema propuesto =>
determinacin de un algoritmo.
2. Adaptacin del algoritmo a la computadora
=> codificar el algoritmo en un lenguaje que
el ordenador pueda comprender
1.1 Concepto de
algoritmo
Accin
Etapa en la realizacin de un trabajo
Accin primitiva
Accin que el procesador puede ejecutar sin necesidad de
informacin suplementaria
Algoritmo
Secuencia ordenada de acciones primitivas que realizan un trabajo
Ejemplos de algoritmos:
Ir al trabajo
1.
2.
3.
4.
5.
Levantarse
Darse una ducha
Vestirse
Desayunar
Coger el coche
1.1 Concepto de
algoritmo
Ser finito
El algoritmo debe acabar tras un nmero finito de pasos
Estar bien definido
Todas las ejecuciones del algoritmo con los mismos datos de entrada
deben devolver los mismos datos de salida
1.1 Concepto de
algoritmo
2. Desarrollo
Creacin de programas y documentacin asociada.
2.1. Diseo
Solucin al problema (algoritmo)
2.2. Codificacin
Traduccin del algoritmo a un lenguaje de programacin
2.3. Prueba
Comprobar si el programa desarrollado se corresponde con el que
queramos realizar
3. Mantenimiento
Realizacin de mejoras y correcciones en el programa desarrollado
7
Fallos de
definicin
MANTENIMIENTO
Errores
Modificaciones y adaptaciones
2.1. Pseudolenguaje
2. Representacin de algoritmos
Pseudolenguaje
Es un lenguaje especfico de descripcin de algoritmos
La traduccin de un algoritmo escrito en pseudolenguaje a un
programa en un lenguaje de programacin determinado es
relativamente simple
2.1. Pseudolenguaje
2. Representacin de algoritmos
Ejemplo de un algoritmo escrito usando un pseudolenguaje
Sumar los n (n>0) primeros nmeros naturales
ALGORITMO SumaNaturales
VARIABLES:
Naturales num, contador, suma
INICIO
LEER num
suma = 0
contador = 1
HACER
suma = suma + contador
contador = contador + 1
MIENTRAS (contador != num + 1)
ESCRIBIR La suma resultante es
ESCRIBIR suma
FIN
10
3. Representacin de algoritmos
Ejemplo de un algoritmo
representado con un diagrama
de flujo
Sumar los n (n>0) primeros
nmeros naturales
11
3. Metodologa de diseo
DEFINICIN
DESARROLLO
Diseo
Codificacin
Prueba
Fallos de
definicin
Fases de creacin de
un programa
MANTENIMIENTO
Errores
Modificaciones y adaptaciones
3. Metodologa de diseo
Eficiencia
Modularidad
Estructuracin
Programacin estructurada
Conjunto de tcnicas que aumentan la productividad de un programa,
reduciendo el tiempo para:
Depurar
Escribir
Mantener el programa
Verificar
Utiliza un nmero limitado de estructuras de control que minimizan la
complejidad de los problemas
Teorema de BOHM-JACOPINI
Cualquier programa, por complejo que sea, puede escribirse utilizando
slo tres estructuras de control:
Secuencial
Selectiva
Repetitiva
3. Metodologa de diseo
13
14
3. Metodologa de diseo
Abstracto (descripcin funcional del problema)
Nivel 0
Jerarqua de
subproblemas
en un diseo
descendente
Nivel 1
Nivel 2
Nivel 3
3. Metodologa de diseo
Ejemplo de diseo descendente
Clculo de la media
Nivel 0
Imprimir resultado
Dividir la suma
por el total de
calificaciones
Nivel 1
Nivel 2
16
4. Lenguajes de programacin
Lenguaje de programacin
Conjunto de smbolos y reglas utilizados para construir un programa
17
4. Lenguajes de programacin
Lenguaje mquina
Utiliza cdigo binario
Cada procesador posee su propio lenguaje mquina
Una instruccin se compone de:
Cdigo de operacin
Operandos
Ventajas
Directamente entendible por el ordenador
Es muy eficiente
Inconvenientes
18
5. Lenguajes de programacin
Lenguaje ensamblador
Cada instruccin en ensamblador se corresponde con una
instruccin en lenguaje mquina a la que luego ser traducida
Cada procesador posee su propio lenguaje ensamblador
NO es necesario que el programador conozca la arquitectura
fsica del ordenador
Caractersticas:
Cdigo de operacin es una palabra con pocas letras
ADD, MOV,...
Direcciones de memoria y operandos se pueden escribir de forma
simblica mediante identificadores
Se pueden incluir comentarios
19
4. Lenguajes de programacin
20
10
4. Lenguajes de programacin
4.2. Traductores de
lenguajes: Compiladores e
Intrpretes
Traductores de lenguajes
Programas que traducen un programa escrito en un lenguaje de alto
nivel a su correspondiente en lenguaje mquina
Programa fuente
Cdigo binario
Clasificacin
Compiladores
Traducen un programa completo (fuente) a cdigo binario (objeto)
El programa objeto se almacena en memoria y puede ser ejecutado sin
necesidad de realizar otra vez la traduccin
En el proceso de traduccin se detectan errores de escritura en el
programa fuente
Intrpretes
Traducen un programa (fuente) instruccin a instruccin
La ejecucin del programa se realiza a la vez que la traduccin => se lee
una instruccin, se traduce y se ejecuta
Cada vez que se desea ejecutar el programa hay que traducirlo
La ejecucin de un programa interpretado es ms lenta que la de un
programa compilado
21
Bibliografa
Bibliografa principal
A. Prieto, A. Lloris y J.C. Torres. "Introduccin a la Informtica". (1 2 Edicin).
McGraw-Hill, 1995.
Galindo, Snchez, Yez, Escolano, Del Jesus, Aguilera, Rodrguez, Snchez y
Argudo. "Fundamentos Informticos". Servicio de Publicaciones de la Universidad de
Cdiz, 1996.
Tremblay, Bunt. "Introduccin a la Ciencia de las Computadoras. Enfoque algortmico".
McGraw-Hill, 1988.
Peter Norton. "Introduccin a la Computacin". McGraw-Hill, 1995.
Bibliografa adicional
Roger S. Walker. "Informtica Bsica". Anaya Multimedia.
Peter Bishop. "Conceptos de Informtica". Anaya Multimedia.
Ll. Guilera Agera. "Introduccin a la Informtica". Edunsa.
R. Pea Mar. "Diseo de Programas: Formalismo y Abstraccin". Prentice Hall, 1998.
22
11