PDF de programación - Tema 2: Introducción a los algoritmos

Imágen de pdf Tema 2: Introducción a los algoritmos

Tema 2: Introducción a los algoritmosgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Marzo del 2018)
4.782 visualizaciones desde el 7 de Marzo del 2018
110,8 KB
15 paginas
Creado hace 17a (13/01/2007)
Tema 2:

Introducción a los algoritmos





Objetivos: este tema pretende mostrar al alumno cómo, a partir de unas
especificaciones de un problema del mundo real, diseñar una solución para
dicho problema (algoritmo) susceptible de ser codificada en un lenguaje de
programación. Con este objetivo se describirán las propiedades básicas de
cualquier algoritmo, un conjunto de bloques básicos que permiten la
construcción de algoritmos y diversas formas de representación de los
algoritmos. En el tema también se mostrarán las distintas fases que se deben
de seguir para buscar una solución a un problema del mundo real.

En este tema no se aborda ningún lenguaje de programación particular; sino
que se muestra cómo diseñar soluciones a problemas que sean fáciles de
implementar en cualquier lenguaje de programación.









Metodología y tecnología de la programación (I) 2/15

Índice

Índice ................................................................................................................................................ 2

1 Algoritmos................................................................................................................................ 3

1.1

Cómo escribir un algoritmo.............................................................................................. 4

1.2

Estructuras básicas en un algoritmo ................................................................................. 5

1.3

Diagramas de flujo y pseudocódigo ................................................................................. 6

1.3.1

Operaciones válidas en un algoritmo: .................................................................... 10

2

Fases del desarrollo de un programa ...................................................................................... 10

3 Diseño de programas .............................................................................................................. 12

3.1

Programación modular ................................................................................................... 12

3.2

Programación estructurada ............................................................................................. 13

3.2.1

Teorema de la programación estructurada.............................................................. 14

4

Ejercicios: ............................................................................................................................... 15

Metodología y tecnología de la programación (I) 3/15



1 Algoritmos

La resolución de un problema mediante un ordenador consiste en, partiendo de una
especificación del problema, construir un programa que lo resuelva. Los procesos
necesarios para la creación de un
programa son:

1. Especificación y análisis del

problema en cuestión.

2. Diseño de un algoritmo que

resuelva el problema.

3. Codificación del algoritmo en un

lenguaje de programación.
4. Validación del programa.

Un algoritmo es una secuencia ordenada de operaciones tal que su ejecución resuelve
determinado problema. La palabra algoritmo viene de Al-Khwarizmi, sobrenombre del
matemático árabe del siglo IX Mohámed ben Musa, que alcanzó gran reputación al
enunciar paso a paso las reglas para sumar, restar, multiplicar y dividir números con
decimales. Las características fundamentales que debe tener todo algoritmo son:

• Debe ser preciso, es decir, indicar el orden de realización de cada paso.
• Debe estar definido, esto es, si se ejecuta varias veces partiendo de las mismas

condiciones iniciales debe obtenerse siempre el mismo resultado.

• Debe ser finito (debe tener un número finito de pasos).
• Debe ser independiente del

lenguaje de programación que se emplee para

implementarlo.

Metodología y tecnología de la programación (I) 4/15

En cualquier algoritmo se pueden distinguir tres partes: la entrada de datos (la información
sobre la cual se va a efectuar operaciones), procesamiento y salida del resultado (la
información que debe proporcionar).

Ejemplos clásicos de algoritmos son el algoritmo de Euclides, que sirve para encontrar el
máximo común divisor de 2 números enteros positivos A y B, o el de Newton-Raphson,
para hallar una raíz de una función. Veamos como ejemplo el algoritmo de Euclides:

• Paso 1. Tomar el número mayor como dividendo y el menor como divisor.
• Paso 2. Calcular el resto de la división entera.
• Paso 3. Si el resto es igual a cero entonces ir al Paso 4. En caso contrario, tomar el

divisor como nuevo dividendo y el resto como divisor y volver al Paso 2.

• Paso 4. El m.c.d. es el divisor da última división.

El algoritmo de Euclides para calcular el m.c.d. es definido, prevé todas las situaciones
posibles para el resto la división (ser cero o diferente de cero); no es ambiguo: las acciones
de dividir y comparar el resto con cero son claras y precisas, al igual que la obtención del
número mayor; es finito, contando con cuatro pasos diferentes; y acaba en un tiempo finito
cuando se cumple la condición del Paso 3 que hace avanzar al Paso 4, siendo este el punto
de fin. Como ejemplo podemos considerar en el caso en el que A=9 y B=24;

• Paso 1 D:=24, d:=9
• Paso 2 R:= 6 (24 % 9)
• Paso 3 D:=9, d:=6
• Paso 2 R := 3
• Paso 3 D:=6, d:=3
• Paso 2 R := 0
• Paso 4 m.c.d. := 3

1.1 Cómo escribir un algoritmo

Un algoritmo debe escribirse sin ceñirse a las reglas de un lenguaje. Existen varias formas
para describir las operaciones de las que consta un algoritmo:

Metodología y tecnología de la programación (I) 5/15

• Descripción textual: consiste en describir los pasos de forma narrativa.
• Lista de operaciones: es similar al texto, pero numerando los pasos, utilizando

variables, etc. Es la descripción que se ha empleado para el algoritmo de Euclides.

• Diagramas de Flujo: son una representación gráfica en la que se utilizan cajas,

rombos, flechas y otros símbolos para indicar los pasos del algoritmo.

• Pseudocódigo: se utilizan palabras clave para identificar las estructuras del algoritmo,

como alternativas, repeticiones, etc.

Las más utilizadas son las dos últimas.

1.2 Estructuras básicas en un algoritmo

Un programa se puede definir como una secuencia ordenada de instrucciones cuyo
propósito es realizar una determinada tarea. Por tanto, aparece el concepto de flujo de
ejecución de un programa: este será el orden que siguen dichas instrucciones durante la
ejecución del programa.

En principio, el flujo de ejecución de un programa será el orden en el cual se escriban las
instrucciones (ejecución secuencial). Sin embargo, este esquema de ejecución impone
serias limitaciones: a menudo hay ciertas porciones de código que sólo se deben ejecutar si
se cumplen ciertas condiciones y tareas repetitivas que hay que ejecutar un gran número de
veces. Por ello, se han definido una serie de estructuras de programación, independientes
del lenguaje concreto que se está utilizando, que permiten crear programas cuyo flujo de
ejecución sea más versátil que una ejecución secuencial. Los tipos de estructuras básicas
que se pueden emplear en un algoritmo son:

• Secuencia: constituido por 0, 1 o N instrucciones que se ejecutan según el orden en el
que han sido escritas. Es la estructura más simple y la pieza más básica a la hora de
componer estructuras.

• Selección, bifurcación o alternativa: consta de una instrucción especial de decisión y
de una o dos secuencias de instrucciones. La sentencia de decisión genera un resultado
delimitado dentro de un rango preseleccionado (generalmente verdadero o falso) y,

Metodología y tecnología de la programación (I) 6/15

dependiendo del resultado obtenido, se ejecuta o no la secuencia de instrucciones (si la
estructura sólo cuenta con una secuencia) o se ejecuta una de las una secuencias de
instrucciones (si la estructura cuenta con dos secuencias).

• Iteración, bucle o repetición: consta de una instrucción especial de decisión y de una
secuencia. La instrucción de decisión sólo genera dos tipos de resultado (verdadero o
falso) y la secuencia de instrucciones se ejecutará de modo reiterativo mientras que la
instrucción de decisión genere el resultado verdadero; en caso contrario finalizará la
ejecución de la secuencia. Los bucles pueden tener la instrucción de decisión al
principio o al final. Si la condición está al final, el bucle siempre se ejecuta al menos
una vez.



1.3 Diagramas de flujo y pseudocódigo



La notación de lista de operaciones utilizada para expresar el algoritmo de Euclides tiene
varios inconvenientes:

• Si se desea introducir un paso intermedio, es necesario cambiar las referencias de unos

pasos a otros. (ir al paso n).

• La estructura del algoritmo (alternativas, repeticiones) no salta a la vista, hay que leer

detenidamente la lista de pasos para enterarse.

Metodología y tecnología de la programación (I) 7/15

• La descripción de cada paso, al ser en lenguaje común, puede ser poco clara para una

persona distinta de la que lo creó.

Para solucionar estos problemas se utilizan los diagramas de flujo y los pseudocódigos.
Los diagramas de flujo son representaciones gráficas de la lógica de un algoritmo
mediante un conjunto de símbolos y flechas, utilizando texto abreviado para describir las
tareas. Existen conjuntos de símb
  • Links de descarga
http://lwp-l.com/pdf9286

Comentarios de: Tema 2: Introducción a los algoritmos (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