CC semana 7

download CC semana 7

of 15

Transcript of CC semana 7

  • 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.