Upload
sergio516
View
219
Download
0
Embed Size (px)
Citation preview
8/16/2019 CC semana 7
1/15
SEMANA 7
David Laván Quiroz, M.Sc. and Ph.D
8/16/2019 CC semana 7
2/15
2
INTRODUCCIÓN
CÓMO ESCRIBIR UN ALGORÍTMO
ESTRUCTURA DE UN ALGORITMO
1
2
3
4
DIAGRAMA DE FLUJO Y PSEUDOCODIGO
5
FASES DEL DESARROLLO DE UN PROGRAMA
8/16/2019 CC semana 7
3/15
3
Una piedra es lanzada
desde la azotea de unedificio, describa elmovimiento del cuerpodurante su recorrido.
INTRODUCCIÓN
>Rposi=Ro
>Alfa= Alfao
>Veloc=Vo
>Tiempo=To
To=To+hi
R=Ro+Vo+0.5*9.81*To
>Leer
>R=Ro
8/16/2019 CC semana 7
4/15
4
La resolución de un problema mediante
un ordenador consiste en, partiendo deuna especificación del problema,
construir un programa que lo resuelva.
ALGORITMO
8/16/2019 CC semana 7
5/15
5
ALGORITMO:Procesos
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.
8/16/2019 CC semana 7
6/15
6
1. Debe ser preciso, es decir, indicar el orden de
realización 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 número finito de pasos).
4. Debe ser independiente del lenguaje de programación
que se emplee para implementarlo.
ALGORITMO:Características
8/16/2019 CC semana 7
7/15 7
En cualquier algoritmo se pueden distinguir tres partes: la entrada dedatos (la información sobre la cual se va a efectuar operaciones),
procesamiento y salida del resultado (la información 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
ALGORITMO:Partes
8/16/2019 CC semana 7
8/15 8
COMO ESCRIBIR UN ALGORITMO
1. Descripción textual: consiste en describir los pasos de formanarrativa.
2. Lista de operaciones: es similar al texto, pero numerando los
pasos, utilizando variables, etc.
3. 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.
4. Pseudocódigo: se utilizan palabras clave para identificar lasestructuras del algoritmo, como alternativas, repeticiones, etc.
8/16/2019 CC semana 7
9/15 9
ESTRUCTURA BÁSICA DE UN ALGORITMO
• Secuencia: constituido por 0, 1 … ó N instrucciones que se ejecutansegún el orden en el que han sido escritas.
• Selección, bifurcación o alternat iva: consta de una instrucciónespecial de decisión y de una o dos secuencias de instrucciones. La
sentencia de decisión genera un resultado delimitado dentro de unrango preseleccionado y, dependiendo del resultado obtenido, se
ejecuta o no la secuencia.
• 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 dostipos 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.
8/16/2019 CC semana 7
10/15
10
ESTRUCTURA BÁSICA DE UN ALGORITMO
8/16/2019 CC semana 7
11/15
11
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Los diagramas de flujo son representaciones gráficasutilizando un conjunto de símbolos y flechas, donde seutiliza texto abreviado para describir las tareas. Existen
conjuntos de símbolos normalizados para representar
los distintos pasos del programa.
8/16/2019 CC semana 7
12/15
12
El pseudocódigo es un lenguaje creado a medida por el
programador. Está formado por: • Un conjunto finito de palabras dellenguaje natural (español, inglés, etc.), que se utilizan para expresar
la estructura del programa. • Descripciones en lenguaje natural, sin
estructurar, junto con fórmulas, para expresar las tareas.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
8/16/2019 CC semana 7
13/15
13
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGOOperaciones válidas en un algoritmo
• Aritméticas: suma, resta, multiplicación, división y módulo (resto dela división de enteros).
• Relacionales: ,=,etc
• Lógicas: Y, O, NO. La instrucción básica es la asignación, que sedenota como V
8/16/2019 CC semana 7
14/15
14
II) FASES DEL DESARROLLO DE UN PROGRAMA
1. Especificación: en esta fase se determina los límites y
restricciones generales del problema
2. Análisis: En esta fase se determinan con la mayor precisión
posible las tareas necesarias para la resolución del problema y, si
fuera necesario, estas tareas se descomponen en subtareas.
3. Diseño: Permita crear un algoritmo para resolver el problema.
4. Codificación o implementación: Sintaxis de un lenguaje
5. Compilación, ejecución y verificación: Descubrir los fallos
6. Documentación: Se crean los manuales de usuario
7. Explotación: Uso del programa
8/16/2019 CC semana 7
15/15
15
Ejercicios
1. Dados dos números enteros calcular el cociente y el resto de su divisiónentera.
2. Dados tres números A, B y C, calcular las soluciones de la ecuación
Ax2+Bx+C=0.
3. Dado un número entero determine si el número es primo.
4. Dado un número entero determine el factorial de ese número.
5. Escribir el algoritmo para calcular la suma de los n primeros términos de la
serie 1/x2 , para x=1,2,...,n.
6. Escribir el algoritmo de Newton-Raphson para encontrar una raíz de una
función concreta. Este método parte de una estimación inicial de la raíz, x
y va calculado aproximaciones sucesivas al valor de la misma utilizando la
fórmula: 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 impact
en el piso.