PDF de programación - Tema 5 - Algoritmos y estructuras de programación

Imágen de pdf Tema 5 - Algoritmos y estructuras de programación

Tema 5 - Algoritmos y estructuras de programacióngráfica de visualizaciones

Publicado el 20 de Mayo del 2018
2.195 visualizaciones desde el 20 de Mayo del 2018
199,0 KB
16 paginas
Creado hace 15a (02/03/2009)
Tema 5
Algoritmos y estructuras de
programación

Versión: 2 de marzo de 2009

5.1 Fases de creación de un programa

El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y

su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma:

1. Analizar el problema consiste en conocer perfectamente en qué consiste y qué resultados se

desean obtener.

2. Planificación de la resolución del problema, dividiéndolo, si es complicado, en una secuencia de
etapas más simples. Esta fase se lleva a cabo EN UN PAPEL, estableciendo lo más claramente
posible la finalidad de cada etapa, los datos que se necesitan de entrada, los datos que producirían
en salida, los algoritmos (ver la Sección 5.2) que se utilizarán, etc.

3. Edición del código fuente, es decir, escritura del mismo utilizando un editor de textos simple (sin
formato) y un lenguaje de programación. Los programas fuente serán almacenados en ficheros
de texto, normalmente en el disco duro del ordenador.

4. Compilación y ejecución del programa al lenguaje máquina.

5. Corrección de errores del programa. Los errores se corregirán en el código fuente, repitiendo
los pasos 3 y 4 tantas veces como sea necesario. Si se producen errores en la lógica del programa,
es decir, si el programa “funciona” pero produce resultados incorrectos, hay que modificar el
algoritmo volviendo al paso 2. Estos errores son los más difíciles de detectar.

6. Documentación. Una vez que el programa funcione correctamente, es conveniente revisar el
código fuente para ordenarlos, eliminar cálculos innecesarios e incluir las líneas de comentario
necesarias, que normalmente deben incluir unas breves explicaciones al principio del código
sobre la finalidad del programa y sus argumentos de entrada y de salida.

5.2 Algoritmos

Un ordenador es capaz de realizar “sólo” determinadas acciones sencillas, tales como sumar, com-
parar o transferir datos, pero los problemas que normalmente interesa resolver son más complejos.
Para resolver un problema real es necesario, en primer lugar, encontrar un método de resolución y,

31

Algoritmos y estructuras de programación

32

posteriormente, determinar la sucesión de acciones sencillas (susceptibles de ser ejecutadas por un
ordenador) en que se descompone dicho método.

No todos los métodos de solución de un problema pueden ser puestos es práctica en un ordenador.

Para que un procedimiento pueda ser implantado en un ordenador debe ser:

Preciso: estar compuesto de pasos bien definidos (no ambiguos) y ordenados.

Definido: si se sigue dos veces, se obtiene el mismo resultado cada vez.

Finito: tener un número finito de pasos.

Un procedimiento o método para resolver un problema que cumpla los requisitos anteriores se dice

que es un algoritmo. Se puede dar por tanto la siguiente definición:

Un algoritmo es un método para resolver un problema mediante una secuencia de pasos
bien definidos, ordenados y finitos.

Para que se pueda ejecutar el algoritmo es preciso, además, que se disponga de las “herramien-
tas” adecuadas para llevar a cabo cada uno de los pasos. Si no es así, estos deberán, a su vez, ser
descompuestos en una secuencia (algoritmo) de pasos más simples que sí se puedan llevar a cabo.

Un programa de ordenador es una sucesión de órdenes que describen un algoritmo,
escritas de forma que puedan ser entendidas por el ordenador.

En un algoritmo (y por tanto en un programa) se distinguen las siguientes acciones:

Entrada: es la información de partida que necesita el algoritmo para arrancar.

Proceso: es el conjunto de todas las operaciones a realizar.

Salida: son los resultados obtenidos.

Un ejemplo elemental es el Algoritmo 5.1.

Algoritmo 5.1 Preparar una taza de té.

Entrada: tetera, taza, bolsa de té
Salida: taza de té

Inicio

Tomar la tetera
Llenarla de agua
Encender el fuego
Poner la tetera en el fuego
Esperar a que hierva el agua
Tomar la bolsa de té
Introducirla en la tetera
Esperar 1 minuto
Echar el té en la taza

Fin

Algoritmos y estructuras de programación

33

5.3 Representación de algoritmos

Las dos herramientas más utilizadas comúnmente para describir algoritmos son:

Diagramas de flujo: son representaciones gráficas de secuencias de pasos a realizar. Cada operación
se representa mediante un símbolo normalizado el Instituto Norteamericano de Normalización
(ANSI - American National Standars Institute). Las líneas de flujo indican el orden de ejecución.
Algunos de los símbolos principales se muestran en la Figura 5.1, como son: Inicio/Fin del
algoritmo, Lectura/Escritura de datos que el programa necesita o genera (por ejemplo,lectura
de datos que se teclean o escritura de datos en un fichero); Proceso conjunto de instrucciones
secuenciales; Decisión es una bifurcación en el flujo del algoritmo en base a que se verifique o
no cierta condición (ver la Sección 5.5).
Los diagramas de flujo suelen ser usados sólo para representar algoritmos pequeños, ya que
abarcan mucho espacio.

Figura 5.1: Símbolos en diagramas de flujo.

Pseudocódigos: describen un algoritmo de forma similar a un lenguaje de programación pero sin su
rigidez, de forma más parecida al lenguaje natural. Presentan la ventaja de ser más compactos
que los diagramas de flujo, más fáciles de escribir para las instrucciones complejas y más fáciles
de transferir a un lenguaje de programación. El pseudocódigo no está regido por ningún estándar.
En estos apuntes usaremos las palabras LEER/IMPRIMIR para representar las acciones de
lectura de datos (el programa recibe datos desde algún sitio) y salida de datos (el programa
escribe información en algún medio)

El Algoritmo 5.2 y la Figura 5.2 muestran respectivamente el pseudocódigo y el diagrama de
flujo del algoritmo para calcular la altura de una persona en pulgadas y pies a partir de la altura en
centímetros introducida por el teclado.

Inicio/FinLectura/EscrituraProcesoDecisiónNoSí Algoritmos y estructuras de programación

34

Algoritmo 5.2 Calcular una altura en pulgadas (1 pulgada=2.54 cm) y pies (1 pie=12
pulgadas), a partir de la altura en centímetros, que se introduce por el teclado.

Inicio

1- IMPRIMIR ’Introduce la altura en centimetros: ’
2- LEER: altura
3- CALCULAR pulgadas=altura/2.54
4- CALCULAR pies=pulgadas/12
5- IMPRIMIR ’La altura en pulgadas es: ’, pulgadas
6- IMPRIMIR ’La altura en pies es : ’, pies

Fin

Figura 5.2: Diagrama de flujo para determinar la altura de una persona en pulgadas y pies a partir
de la altura en centímetros introducida por el teclado.

5.4 Estructura secuencial

Es aquella en la que una acción (instrucción) sigue a la otra en el orden en el que están escritas.
Su representación y el diagrama de flujo se muestra en la Figura 5.3. Los Algoritmos 5.1 y 5.2 son
ejemplos de algoritmos secuenciales.

...
Instrucción 1
Instrucción 2
Instrucción 3
...

Figura 5.3: Estructura secuencial de instrucciones.

pies=pulgadas/12pulgadas=altura/2.54LEERalturaESCRIBIRpulgadas, piesFinInstrucción 2Instrucción 1Instrucción 3 Algoritmos y estructuras de programación

35

5.5 Estructuras de control: condicionales y bucles

Son parte fundamental de cualquier lenguaje. Sin ellas, las instrucciones de un programa sólo
podrían ejecutarse en el orden en que están escritas (orden secuencial). Las estructuras de control
permiten modificar este orden. Hay dos categorías de estructuras de control:

Condicionales o bifurcaciones: permiten que se ejecuten conjuntos distintos de instrucciones, en

función de que se verifique o no determinada condición.

Bucles o repeticiones: permiten que se ejecute repetidamente un conjunto de instrucciones, bien
un número pre-determinado de veces, o bien hasta que se verifique una determinada condición.

En términos de un lenguaje de programación, que se verifique o no una condición se traduce en
que una (adecuada) expresión lógica tome el valor VERDADERO (TRUE) o tome el valor FALSO (FALSE).
En los casos más sencillos y habituales la condición suele ser una comparación entre dos datos, como
por ejemplo: si a < b hacer una cosa y en caso contrario hacer otra distinta.

A continuación se describen las distintas estructuras de control. Para cada una de ellas se describe
el diagrama de flujo y la sintaxis de la sentencia correspondiente en lenguaje MATLAB. Obsérvese
que todas ellas tienen una única entrada y una única salida.

5.5.1 Estructura condicional simple: IF

Este es el tipo más sencillo de estructura condicional. Sirve para implementar acciones condicionales

del tipo siguiente:

Si se verifica una determinada condición, ejecutar una serie de instrucciones y luego seguir
adelante.

Si la condición NO se cumple, NO se ejecutan dichas instrucciones y se sigue adelante.

...
if condición

instrucciones

end
...

Figura 5.4: Estructura condicional simple: IF.

Obsérvese que, en ambos casos (que se verifique o no la condición), los “caminos” bifurcados se
unen posteriormente en un punto, es decir, el flujo del programa recupera su carácter secuencial, y se
continúa ejecutando por la instrucción siguiente a la estructura IF.

Como ejemplo de utilización de este tipo de condicional, se considera el cálculo del valor en un

punto x de una función definida por partes, como por ejemplo:



f(x) =

0
x2

si x ≤ 0
si x > 0

NoSíCondiciónInstrucciones Algoritmos y estructuras de programación

36

El Algoritmo 5.3 muestra el pseudocódigo correspondiente.

Algoritmo 5.3 Cálculo del valor de la función f(x) = 0 si x ≤ 0, f(x) = x2 si x > 0.
Inicio

1- LEER x
2- HACER f=0
3- Si x>0

HACER f=x2

Fin Si

4- IMPRIMIR ’El valor de la funcion es: ’, f

Fin

5.5.2 Estructura condicional doble: IF - ELSE

Este tipo de estructura permite implementar condicionales en los que hay dos acciones alternativas:

Si se verifica una determinada condición, ejecutar un serie de instrucciones (bloque 1).

Si no, esto es, si la co
  • Links de descarga
http://lwp-l.com/pdf11118

Comentarios de: Tema 5 - Algoritmos y estructuras de programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad