You are on page 1of 15

SEMANA 07

David Lavn Quiroz, M.Sc. and Ph.D

INTRODUCCIN

CMO ESCRIBIR UN ALGORTMO

ESTRUCTURA DE UN ALGORITMO

DIAGRAMA DE FLUJO Y PSEUDOCODIGO

FASES DEL DESARROLLO DE UN PROGRAMA

INTRODUCCIN

Una piedra es lanzada


desde la azotea de un
edificio, describa el
movimiento del cuerpo
durante su recorrido.

>Rposi=Ro
>Alfa= Alfao
>Veloc=Vo
>Tiempo=To
To=To+hi
R=Ro+Vo+0.5*9.81*To

>Leer
>R=Ro

ALGORITMO

La resolucin de un problema mediante


un ordenador consiste en, partiendo de
una especificacin del problema,
construir un programa que lo resuelva.

ALGORITMO:
Procesos

1. Especificacin y anlisis del


problema en cuestin.
2. Diseo de un algoritmo que
resuelva el problema.
3. Codificacin del algoritmo en un
lenguaje de programacin
4. Validacin del programa.

Un algoritmo es una secuencia ordenada de operaciones tal


que su ejecucin resuelve determinado problema.

ALGORITMO:
Caractersticas
1. Debe ser preciso, es decir, indicar el orden de
realizacin de cada paso.
2. Debe estar definido, esto es, si se ejecuta varias veces
partiendo de las mismas condiciones iniciales debe
obtenerse siempre el mismo resultado.

3. Debe ser finito (debe tener un nmero finito de pasos).


4. Debe ser independiente del lenguaje de programacin
que se emplee para implementarlo.

ALGORITMO:
Partes
En cualquier algoritmo se pueden distinguir tres partes: la entrada de
datos (la informacin sobre la cual se va a efectuar operaciones),
procesamiento y salida del resultado (la informacin que debe
proporcionar).
>Rposi=Ro
>Alfa= Alfao
>Veloc=Vo
>Tiempo=To
To=To+hi
R=Ro+Vo+0.5*9.81*To
>Leer
>R=Ro

COMO ESCRIBIR UN ALGORITMO

1. Descripcin textual: consiste en describir los pasos de forma


narrativa.
2. Lista de operaciones: es similar al texto, pero numerando los
pasos, utilizando variables, etc.
3. Diagramas de Flujo: son una representacin grfica en la que se
utilizan cajas, rombos, flechas y otros smbolos para indicar los
pasos del algoritmo.

4. Pseudocdigo: se utilizan palabras clave para identificar las


estructuras del algoritmo, como alternativas, repeticiones, etc.

ESTRUCTURA BSICA DE UN ALGORITMO

Secuencia: constituido por 0, 1 N instrucciones que se ejecutan


segn el orden en el que han sido escritas.
Seleccin, bifurcacin o alternativa: consta de una instruccin
especial de decisin y de una o dos secuencias de instrucciones. La
sentencia de decisin genera un resultado delimitado dentro de un
rango preseleccionado y, dependiendo del resultado obtenido, se
ejecuta o no la secuencia.
Iteracin, bucle o repeticin: consta de una instruccin especial de
decisin y de una secuencia. La instruccin de decisin slo genera dos
tipos de resultado (verdadero o falso) y la secuencia de instrucciones se
ejecutar de modo reiterativo mientras que la instruccin de decisin
genere el resultado verdadero; en caso contrario finalizar la ejecucin
de la secuencia.
9

ESTRUCTURA BSICA DE UN ALGORITMO

10

DIAGRAMAS DE FLUJO Y PSEUDOCDIGO

Los diagramas de flujo son representaciones grficas


utilizando un conjunto de smbolos y flechas, donde se
utiliza texto abreviado para describir las tareas. Existen
conjuntos de smbolos normalizados para representar
los distintos pasos del programa.

11

DIAGRAMAS DE FLUJO Y PSEUDOCDIGO


El pseudocdigo es un lenguaje creado a medida por el
programador. Est formado por: Un conjunto finito de palabras del
lenguaje natural (espaol, ingls, etc.), que se utilizan para expresar
la estructura del programa. Descripciones en lenguaje natural, sin
estructurar, junto con frmulas, para expresar las tareas.

12

DIAGRAMAS DE FLUJO Y PSEUDOCDIGO


Operaciones vlidas en un algoritmo
Aritmticas: suma, resta, multiplicacin, divisin y mdulo (resto de
la divisin de enteros).

Relacionales: ,<=,>=,etc
Lgicas: Y, O, NO. La instruccin bsica es la asignacin, que se
denota como V <-- E y consiste en guardar el valor de una expresin
E en la variable V. Las expresiones pueden ser constantes (ej. 5.36),
variables (ej. A), dos expresiones operadas (ej. 5*A), una funcin
aplicada a una expresin (ej. cos(A)), etc. Se pueden emplear las
funciones matemticas comunes: trigonomtricas, exponencial,
logaritmo, etc.

No se pueden emplear las funciones sumatorio, productorio,


integracin, derivacin, clculo matricial, etc. ni cualquier otra funcin
cuya implementacin en el ordenador no sea trivial.
13

II) FASES DEL DESARROLLO DE UN PROGRAMA

1. Especificacin: en esta fase se determina los lmites y


restricciones generales del problema
2. Anlisis: En esta fase se determinan con la mayor precisin
posible las tareas necesarias para la resolucin del problema y, si
fuera necesario, estas tareas se descomponen en subtareas.
3. Diseo: Permita crear un algoritmo para resolver el problema.
4. Codificacin o implementacin: Sintaxis de un lenguaje
5. Compilacin, ejecucin y verificacin: Descubrir los fallos
6. Documentacin: Se crean los manuales de usuario

7. Explotacin: Uso del programa


14

Ejercicios

1. Dados dos nmeros enteros calcular el cociente y el resto de su divisin


entera.
2. Dados tres nmeros A, B y C, calcular las soluciones de la ecuacin
Ax2+Bx+C=0.
3. Dado un nmero entero determine si el nmero es primo.
4. Dado un nmero entero determine el factorial de ese nmero.
5. Escribir el algoritmo para calcular la suma de los n primeros trminos de la
serie 1/x2 , para x=1,2,...,n.
6. Escribir el algoritmo de Newton-Raphson para encontrar una raz de una
funcin concreta. Este mtodo parte de una estimacin inicial de la raz, x0
y va calculado aproximaciones sucesivas al valor de la misma utilizando la
frmula: xi+1=xi-f(xi)/f'(xi)
7. Una piedra es lanzada desde la azotea de un edificio, describa el
movimiento del cuerpo durante su recorrido. Considerando condiciones
iniciales con valores constantes, calcula el tiempo en que la piedra impacta
en el piso.
15

You might also like