Date post: | 06-Jul-2018 |
Category: |
Documents |
Upload: | leydi-beatris-sanchez |
View: | 221 times |
Download: | 0 times |
of 42
8/18/2019 Unidad 2 Algoritmos
1/42
UNIDAD 2
8/18/2019 Unidad 2 Algoritmos
2/42
Metodología para la solución
de problemas
8/18/2019 Unidad 2 Algoritmos
3/42
Conceptos básicos
Lenguaje
Medio de comunicación entre los seres
humanos a través de signos orales yescritos que poseen un significado.
8/18/2019 Unidad 2 Algoritmos
4/42
Lenguaje de
programación Son los lenguajes utilizados para
escribir programas de computadoras
que puedan ser entendidos por ellas.
8/18/2019 Unidad 2 Algoritmos
5/42
Lenguaje de
programación* Conjunto de símbolos y reglas
sintácticas y semánticas que
definen su estructura y elsignificado de sus elementosrespectivamente. El lenguaje de
programación es utilizado paracontrolar el comportamiento físico ylógico de una máquina.
8/18/2019 Unidad 2 Algoritmos
6/42
Un algoritmo es una secuencia depasos lógicos para realizar una acción,
programa o tarea ya que es el primerpaso para realizar un programa.
¿Qué es un algoritmo?
8/18/2019 Unidad 2 Algoritmos
7/42
Ejemplos de algoritmos
son: ¨ Instrucciones para montar una
bicicleta
¨ Hacer una receta de cocina
Instructivo para usar algún dispositivo.
8/18/2019 Unidad 2 Algoritmos
8/42
Características de un algoritmo
Preciso : Debe indicar el orden de realización en cada
paso y no puede tener ambiguedad ).
Definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
Finito: Tiene fin; un número determinado de pasos.
8/18/2019 Unidad 2 Algoritmos
9/42
¿Qué significa
metodología? Modo de decir o hacer con orden una
cosa.
Es un procedimiento –
una sucesión deoperaciones- para resolver unproblema.
8/18/2019 Unidad 2 Algoritmos
10/42
Para resolver un problema utilizando un sistema de
cómputo, debe seguirse una serie de pasos que
permiten avanzar por etapas bien definidas hacia lasolución y ejecución de la misma.
Esta serie de fases o pasos deben seguirlas todos los
programadores.
Estas etapas son las siguientes:
Metodología para lasolución de problemas
8/18/2019 Unidad 2 Algoritmos
11/42
1. Definición del problema
2. Análisis de los datos
3. Diseño de la solución
4. Codificación
5. Prueba y depuración
6. Documentación
7. Mantenimiento
Metodología para lasolución de problemas
8/18/2019 Unidad 2 Algoritmos
12/42
Definición del problem
Está dada en si por el enunciado del problema, el cual
debe ser claro.
Es importante que conozcamos exactamente “que se
desea obtener al final del proceso”, mientras esto no se
comprenda no puede pasarse a la siguiente etapa.
8/18/2019 Unidad 2 Algoritmos
13/42
Una vez que el problema ha sido definido y comprendido,
deben analizarse los siguientes aspectos:
Los resultados esperados
Los datos de entrada disponibles
Herramientas a nuestro alcance para manipular los datos
y alcanzar el resultado.
Análisis de los Datos
8/18/2019 Unidad 2 Algoritmos
14/42
Consiste en establecer una serie de preguntasacerca de lo que establece el problema, para poderdeterminar si se cuenta con los elementossuficientes para llevar a cabo la solución del
mismo, algunas preguntas son:
¿Con qué cuento?
Cuáles son los datos con los que se va a iniciar elproceso, qué tenemos que proporcionarle a lacomputadora y si los datos con los que cuento sonsuficientes para dar solución al problema.
Análisis de los Datos
8/18/2019 Unidad 2 Algoritmos
15/42
¿Qué hago con esos datos?
Una vez que tenemos todos los datos quenecesitamos, debemos determinar que hacer conellos, es decir que fórmula, cálculos, que proceso otransformación deben seguir los datos paraconvertirse en resultados.
¿Qué se espera obtener?
Que información deseamos obtener con el procesode datos y de que forma presentarla; en caso de lainformación obtenida no sea la deseada replantearnuevamente un análisis en los puntos anteriores.
Análisis de los Datos
8/18/2019 Unidad 2 Algoritmos
16/42
Es recomendable que nos pongamos en el lugar dela computadora y analicemos que es lo quenecesitamos que nos ordenen y en que secuencia
para producir los resultados esperados.
Análisis de los Datos
8/18/2019 Unidad 2 Algoritmos
17/42
Tomar en cuenta las características de un buen
algoritmo:
Preciso : Debe indicar el orden de realización en cada paso y no puedetener ambiguedad ).
Definido. Si se sigue un algoritmo dos veces, se debe obtener el mismoresultado cada vez.
Finito: Tiene fin; un número determinado de pasos.
Diseño del algoritmo
8/18/2019 Unidad 2 Algoritmos
18/42
Solo se establece la metodología para alcanzar lasolución en forma conceptual, es decir; sinalcanzar la implementación en el sistema decómputo.
Diseño del algoritmo
8/18/2019 Unidad 2 Algoritmos
19/42
Codificación
Consiste en escribir en un lenguaje de
programación la representación del algoritmo
desarrollada en etapas anteriores.
Esto se refiere a la obtención de un programa
definitivo que pueda ser comprensible para la
máquina.
8/18/2019 Unidad 2 Algoritmos
20/42
Prueba y depuración
Una vez que se ha obtenido el programa ejecutable, este
es sometido a prueba a fin de determinar si resuelve o no
el problema planteado en forma satisfactoria
8/18/2019 Unidad 2 Algoritmos
21/42
Es el proceso de encontrar los errores del programa y
corregir o eliminar dichos errores.
Se inicia la prueba de un programa introduciendo
datos válidos, inválidos y observando como reacciona
en cada ocasión.
El proceso de depuración consiste en localizar los
errores y corregirlos en caso de que estos existan
Prueba y Depuración
8/18/2019 Unidad 2 Algoritmos
22/42
Debe crearse un manual o guía que sirva como ayuda
para usar un programa, o facilitar futuras
modificaciones.
La documentación debe presentarse en tres formas:
INTERNA
EXTERNA y
AL USUARIO FINAL
Documentación
8/18/2019 Unidad 2 Algoritmos
23/42
Mantenimiento
Se refiere a las actualizaciones que deban aplicarse al
programa cuando las circunstancias así lo requieran.
Este programa deberá ser susceptible de ser modificado
para adecuarlo a nuevas condiciones de operación.
8/18/2019 Unidad 2 Algoritmos
24/42
Definición de Lenguajes Algorítmicos
8/18/2019 Unidad 2 Algoritmos
25/42
Es una serie de símbolos y reglas que se utilizan para
describir de manera explícita un proceso, que
servirán de apoyo para describir las soluciones que aquí
se plantean.
Definición
de Lenguajes Algorítmicos
8/18/2019 Unidad 2 Algoritmos
26/42
Teniendo en cuenta la forma en que describen el
proceso, existen dos tipos de lenguajes algorítmicos:
Gráficos: Es la representación gráfica de lasoperaciones que realiza un algoritmo (diagrama de flujo).
No Gráficos: Representa en forma descriptiva las
operaciones que debe realizar un algoritmo (pseudo
código).
Tipos
de Lenguajes algorítmicos
8/18/2019 Unidad 2 Algoritmos
27/42
Elementos y reglas de la representación
gráfica y manuscrita de los algoritmos
8/18/2019 Unidad 2 Algoritmos
28/42
*Es la representación gráfica de un algoritmo. También
se puede decir que es la representación detallada en
forma gráfica de cómo deben realizarse los pasos paraproducir resultados.
•Es es una representación pictórica de los pasos en un
proceso, útil para determinar cómo funciona realmente el
proceso para producir un resultado.
¿Qué es ?
Diagramas de Flujo
8/18/2019 Unidad 2 Algoritmos
29/42
¿Cuándo se utiliza?
Cuando se necesita ver cómo funciona realmente un
proceso completo.
Este esfuerzo con frecuencia revela problemas
potenciales tales como cuellos de botella en el sistema,
pasos innecesarios y círculos de duplicación de trabajo.
Diagramas de Flujo
Di d Fl j
8/18/2019 Unidad 2 Algoritmos
30/42
Algunas aplicaciones comunes son:
•Definición de proyectos:
•Identificación de las causas principales:
•Diseño de Soluciones:
• Aplicación de soluciones:
•Control (Retener las Ganancias):
Diagramas de Flujo
8/18/2019 Unidad 2 Algoritmos
31/42
* Debe de indicar claramente dónde inicia y dónde termina el
diagrama.
* Cualquier camino del diagrama debe de llevarte siempre a la
terminal de fin.
* No usar lenguaje de programación dentro de los símbolos.
* Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o
de izquierda a derecha.
* Los símbolos se unen con líneas, las cuales tienen en la punta una
flecha que indica la dirección que fluye la información procesos, se
deben de utilizar solamente líneas de flujo horizontal o verticales
(nunca diagonales).
Reglaspara la creación de Diagramas de Flujo
8/18/2019 Unidad 2 Algoritmos
32/42
Si b l í
8/18/2019 Unidad 2 Algoritmos
33/42
Simbología
utilizada en diagramas de flujo
Los símbolos básicos utilizados en los diagramas de
flujo son:
Si b l í
8/18/2019 Unidad 2 Algoritmos
34/42
Inicio o fin del programa
Proceso: Pasos, procesos o líneas de instrucción de programa de computo
Operaciones de entrada y salida
Decisión: Toma de decisiones y Ramificación
Conector misma página: Conector para unir el flujo a otra parte del diagrama
Cinta magnética
Disco magnético
Simbología
utilizada en diagramas de flujo
Si b l í
8/18/2019 Unidad 2 Algoritmos
35/42
Conector a otra página
Líneas de flujo
Anotación
Display, para mostrar datos
Imprimir: Envía datos a la impresora
Simbología
utilizada en diagramas de flujo
Di E t t d
8/18/2019 Unidad 2 Algoritmos
36/42
Las estructuras de control son:
1.- Estructuras secuenciales
1.1 La declaración de variables
1.2 asignación1.3 instrucción Leer e instrucción Escr ib i r .
2.- Estructuras condicionales (de decisión)2.1 Simples
2.2 Dobles (alternativas)
2.3 Múltiples
3.- Estructuras de repetición
3.1 Mientras
3.2 Repetir
3.3 Para
Diagrama Estructurado
Di E t t d
8/18/2019 Unidad 2 Algoritmos
37/42
1.- Estructuras secuenciales
Son aquellas que se ejecutan una después de otra. Se tienen trestipos de instrucciones secuenciales:
•La declaración de variables,
•asignación,
• instrucción Leer e instrucción Escr ib ir .
Diagrama Estructurado
8/18/2019 Unidad 2 Algoritmos
38/42
Di E t t d
8/18/2019 Unidad 2 Algoritmos
39/42
Asignación
Asignar un valor a una variable equivale a decir que seguarda dicho valor en la posición de memoria reservado para
la variable en mención. Por lo tanto, para poder realizar una asignación es necesario
primero haber declarado una variable, con lo cual se reservaun espacio de memoria suficiente para guardar un dato deltipo especificado.
Una expresión de asignación tiene la forma: Variable = expresión
Donde la expresión puede estar formada por un valor, por unconjunto de valores y operadores o por una función.
Diagrama Estructurado
Di E t t d
http://www.monografias.com/trabajos35/el-poder/el-poder.shtmlhttp://www.monografias.com/trabajos35/el-poder/el-poder.shtml
8/18/2019 Unidad 2 Algoritmos
40/42
Ejemplos:
Edad = 10 Estatura = 1.80
Resultado = 2*3
Una asignación tiene tres partes:
La variable siempre va a la izquierda del igual, mientras que la
expresión siempre estará a la derecha.
Ejemplos:
X = 10
Y = X * 2 + 8
En este ejemplo, la variable Y contendrá el valor 28.
Una variable El signo igual valor que seasigna a lavariable
X = 5
Diagrama Estructurado
Di E t t d
8/18/2019 Unidad 2 Algoritmos
41/42
Instrucción Leer
La instrucción LEER se utiliza para enviar información desdeun dispositivo de entrada de datos hacia la memoria. En la
memoria los datos son ubicados mediante el identificador(nombre de variable) utilizado como complemento de lainstrucción LEER.
Ejemplo:
Leer a, b
Diagrama Estructurado
http://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtml
8/18/2019 Unidad 2 Algoritmos
42/42