Você está na página 1de 12

2019 Antología

Herramientas de
Programación 9°
CTP San Rafael de Poás, Alajuela

Ing. Jorge R. Camacho Jiménez


DEPARTAMENTO DE INFORMÁTICA EN SOPORTE
Tabla de contenido

UNIDAD: ALGORITMOS Y DIAGRAMAS DE FLUJO. ............................................................................................... 2


Concepto de algoritmo. .............................................................................................................................................. 2
Características de los algoritmos ............................................................................................................................ 2
Importancia del uso de algoritmos en informática. ............................................................................................. 2
Clasificación de los algoritmos................................................................................................................................ 3
Partes de un algoritmo. .............................................................................................................................................. 3
Técnicas de representación. ..................................................................................................................................... 3
Diseño de algoritmos.................................................................................................................................................. 3
Definición del problema. ........................................................................................................................................ 3
Análisis de los datos............................................................................................................................................... 4
Diseño de la solución. ............................................................................................................................................ 4
Codificación. ............................................................................................................................................................. 4
Prueba y depuración. .............................................................................................................................................. 4
Solución de problemas........................................................................................................................................... 4
Diagramas de flujo. ..................................................................................................................................................... 4
Estructuras en DFD ..................................................................................................................................................... 6
Asignación................................................................................................................................................................. 6
Lectura........................................................................................................................................................................ 6
Escribir ....................................................................................................................................................................... 6
Estructuras de decisión ......................................................................................................................................... 7
Decisión simple ........................................................................................................................................................ 7
Decisión doble .......................................................................................................................................................... 8
Reglas para la creación de un Diagrama de Flujo ............................................................................................... 8
Diseñando el primer DFD.......................................................................................................................................... 8
Expresiones lógicas y aritméticas......................................................................................................................... 10
UNIDAD: ALGORITMOS Y DIAGRAMAS DE FLUJO.
Objetivo:
 Utilizar los elementos básicos relacionados con los algoritmos como herramienta para el planteamiento
y solución de problemas sencillos.

Concepto de algoritmo.
Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución
para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden
conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y
finito de pasos que nos permite solucionar un problema.
¿Qué es un programa?
Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa
un algoritmo y que puede ser ejecutado en un computador.
¿Qué es un lenguaje de programación?
Un lenguaje de programación" es un lenguaje diseñado para describir el conjunto de acciones consecutivas que
un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres
humanos puedan dar instrucciones a un equipo.
Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede
escribirse y luego ejecutarse en cualquier lenguaje de programación. El algoritmo es la infraestructura de
cualquier solución, escrita luego en cualquier lenguaje de programación para luego convertirse en un programa.

Características de los algoritmos


Todo algoritmo debe tener las siguientes características:
 Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se
debe hacer.
 Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
 Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
 Puede tener cero o más elementos de entrada.
 Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.
 Aplicar los conceptos básicos de diagramas de flujo estructurado como herramienta para resolución de
problemas.

Importancia del uso de algoritmos en informática.


El uso de algoritmos es importante en la informática ya que estos nos
Se realizan prácticas permiten diseñar programas o crear diferentes soluciones a ciertos
identificando algoritmos problemas inicialmente planteados.
utilizados en la vida cotidiana y
desarrollando una dinámica Un algoritmo al ser un conjunto de normas o reglas, nos permite llegar a un
resultado si seguimos este proceso a cabalidad. Normalmente solemos
alusiva al tema.
utilizar algoritmos cuando leemos las instrucciones de un nuevo celular o
dispositivo móvil, también cuando compramos un computador y simplemente cuando lo utilizamos nos
preguntamos ¿Cómo sacarle el mejor provecho a un medio de comunicación?
Clasificación de los algoritmos.
Los algoritmos se pueden clasificar en cuatro tipos:
Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula
aplicada para un cálculo de la raíz cuadrada de un valor x.
Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado.
Ejemplo: Instalación de un equipo de sonido.
Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados
cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos
numéricos. Ejemplo: Solución de una ecuación de segundo grado.

Partes de un algoritmo.

Todo algoritmo debe tener las siguientes partes:


Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
Proceso, es la secuencia de pasos para ejecutar el algoritmo.
Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.

Técnicas de representación.

Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos
métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:
 Diagramación libre (Diagramas de flujo).
 Diagramas Nassi-Shneiderman.
 Pseudocódigo.
 Lenguaje natural (español, inglés, etc.).
 Fórmulas matemáticas.

Diseño de algoritmos.
Con el fin de resolver un problema utilizando un sistema de cómputo, debe seguirse una serie de pasos que
permiten avanzar por etapas bien definidas hacia la solución y ejecución de la misma. Esta serie de fases o
pasos deben seguirlas todos los programadores.
Estas etapas son las siguientes:
Definición del problema.

La primera fase en la resolución de un problema por computadora es la definición o análisis del problema. En
donde lo más importante es que conozcamos exactamente lo que debe hacer el programa y "que se desea
obtener al final del proceso”
Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean
descritas con detalle ya que esto es un requisito para lograr una solución eficaz; por lo que es conveniente
hacerse las siguientes preguntas:
¿Qué entradas se requieren? (Tipo Y Cantidad)
¿Cuál es la salida deseada? (Tipo Y Cantidad)
¿Qué método produce la salida deseada?
Análisis de los datos.

Una vez que el problema ha sido definido y comprendido, deben analizarse los siguientes aspectos:
 Los resultados esperados.
 Los datos disponibles.
 Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado.
Esta sería un diagrama de la resolución de un problema en su más mínima expresión. Y mientras esto no se
comprenda no puede pasarse a la siguiente etapa.
Diseño de la solución.

Como todos sabemos, una computadora no tiene capacidad para solucionar problemas más que cuando se le
proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que resuelva
adecuadamente el problema.
En caso de que obtengamos varios algoritmos, seleccionaremos uno de ellos utilizando criterios ya conocidos.
Codificación.

Codificación es la escritura en un lenguaje de programación de la representación del algoritmo desarrollada en


etapas precedentes. Esto se refiere a la obtención de un programa definitivo que pueda ser comprensible para
la máquina.
Prueba y depuración.

Si tras la compilación (prueba) se presentan errores (errores de compilación) en el programa fuente, es preciso
volver a editar el programa, corregir los errores y compilar de nuevo, este proceso se repite hasta que no se
producen errores.
La Depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores.
Solución de problemas.

Se realizan prácticas solucionando problemas mediante el uso de algoritmos con


diferentes representaciones

Objetivo:
 Aplicar los conceptos básicos de diagramas de flujo estructurado como herramienta para resolución de
problemas.

Diagramas de flujo.

EL Diagrama de Flujo, consisten en representar gráficamente hechos, situaciones, movimientos o relaciones


de todo tipo, por medio de símbolos.
Son una de las cuatro herramientas del análisis estructurado. Es una herramienta gráfica que se emplea para
describir y analizar el movimiento de los datos a través de un sistema, ya sea este manual o automatizado,
incluyendo procesos, lugares para almacenar datos y retrasos en el sistema.
Los DFD, como se les conoce popularmente son la herramienta más importante y la base sobre la cual se
desarrollan otros componentes. La transformación de datos de entrada en salida por medio de procesos puede
describirse en forma lógica e independiente de los componentes físicos (computadoras, gabinetes de archivos,
y procesadores de texto) asociados con el sistema.
La ventaja de utilizar un algoritmo es que se lo puede construir independiente mente de un lenguaje de
programación, pues al momento de llevarlo a código se lo puede hacer en cualquier lenguaje.
Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, diamantes,
óvalos, y pequeños círculos, estos símbolos están conectados entre sí por flechas, conocidas como líneas de
flujo. A continuación se detallarán estos símbolos.

Nombre Símbolo Función


Representa el inicio y fin de un
programa. También puede
Terminal representar una parada o
interrupción programada que sea
necesaria realizar en un programa
Cualquier tipo de introducción de
datos en la memoria desde los
Entrada de datos periféricos o registro de
información procesada en un
periférico.
Cualquier tipo de operación que
pueda originar cambio de valor,
formato o posición de la
Proceso
información almacenada en
memoria, operaciones aritméticas,
de transformaciones, etc.
Indica operaciones lógicas o de
comparación entre datos
(normalmente dos) y en función
del resultado de la misma
Decisión
determina (normalmente si y no)
cuál de los distintos caminos
alternativos del programa se debe
seguir
Sirve para enlazar dos partes
cualesquiera de un diagrama a
través de un conector en la salida
Conector misma página
y otro conector en la entrada. Se
refiere a la conexión en la misma
página del diagrama

Indica el sentido de la ejecución


Línea de flujo.
de las operaciones.

Se utiliza en ocasiones en lugar


del símbolo de salida. El dibujo
Salida representa un pedazo de hoja. Es
usado para mostrar datos o
resultados.
Estructuras en DFD

Asignación.

Esta instrucción asigna valor a un identificador, cuando se ejecuta una instrucción de proceso se almacena
el valor asignado en la localidad de memoria reservada para el identificador.

Pseudocódigo Diagrama de flujo

Identificador = valor

Ejemplo: Edad = 19

Nombre = ‘Jorge’
Edad = 19
Nombre = ´Jorge´

Lectura
Se define la instrucción Leer para indicar que se debe enviar información desde un dispositivo de entrada de
datos, como el teclado, hacia la memoria. En la memoria los datos serán ubicados a través de su nombre o
identificador asignado.

Pseudocódigo Diagrama de flujo

Leer identificador

Ejemplo:
edad, nombre
Leer edad
Leer nombre

Escribir
Se define la instrucción Escribir para indicar que se va a enviar información desde la memoria hacia un
dispositivo de salida de datos, como la impresora o la pantalla del monitor.
Pseudocódigo Diagrama de flujo

Escribir <lista de identificadores>

Ejemplo: edad, nombre, color

Escribir edad
Escribir nombre, color
Estructuras de decisión

Esta estructura se construye de modo a que se ejecuten o se omitan algunas instrucciones dependiendo del
cumplimiento de una condición; el resultado de evaluar la condición puede tomar un valor lógico verdadero o
falso (V ó F).

La condición puede ser una expresión relacional (por ejemplo a>o) o una expresión lógica (por ejemplo a>b y
b>c), que se construyen utilizando operadores relacionales (>, <, =, =, =, ?) y operadores lógicos (y, o, negación)

Decisión simple

Una decisión es simple, cuando sólo se tiene un curso de acción para el caso que el resultado de evaluar la
condición sea verdadero; es decir que si la condición es verdadera se debe de ejecutar la instrucción o el
conjunto de instrucciones que se indique, y si la condición es falsa se omite la ejecución de dicha instrucción o
conjunto de instrucciones.

Pseudocódigo Diagrama de flujo

Si <condición>
Entonces
<Instrucciones>
Fin_si F
Edad
Ejemplo: >= 18

Si (edad >= 18) V


Entonces
Escribir ‘Eres mayor de edad’ ´Mayor de edad´
Fin_si
Decisión doble

Una decisión es doble cuando se tiene un curso de acción para el caso que el resultado de evaluar la
condición sea verdadero y otro para cuando sea falso.

Pseudocódigo Diagrama de flujo

Si <condición>
Entonces
<Instrucciones>
Si no F
<Instrucciones> Edad
Fin_si >= 18

Ejemplo: V

Si (edad >= 18) ´Mayor de edad´ ´Menor de edad´


Entonces
Escribir ‘Eres mayor de edad’
Si no
Escribir ‘Eres menor de edad’
Fin_si

Reglas para la creación de un Diagrama de Flujo

1. Todo diagrama de flujo debe tener un inicio y un fin.


2. Las líneas de flujo nunca deben cruzarse, para evitarlo deben utilizarse el símbolo conector.
3. Las líneas de flujo deben terminar siempre en un símbolo.
4. No puede llegar más de una línea de flujo a un símbolo.
5. Todos los símbolos en un diagrama deben estar conectados mediante una línea de flujo; todo símbolo debe
tener una línea de flujo entrando y otra saliendo salvo el símbolo que indica inicio o fin del diagrama.
6. Como regla general el flujo del proceso debe mostrarse de izquierda a derecha y de arriba abajo.

Se recomienda mantener uniforme el tamaño de los símbolos, por lo que el texto que se escribe dentro no
debe ser muy extenso, recuérdese que el propio símbolo indica la operación a realizar. La forma en que se
capturan los datos de entrada o se muestran los datos de salida se detallarán al codificar el algoritmo en el
lenguaje de programación.

Diseñando el primer DFD

Entiéndase el siguiente problema:

Se desea crear un algoritmo que calcule la nota de un examen y me muestre un mensaje con el siguiente
formato: El estudiante xxxxxxx obtuvo una nota de xxxx.

- Entender el problema.

Para determinar la secuencia de instrucciones que deben constituir el algoritmo, es importante entender el
problema que se pretende resolver, para asegurarse que entiende el problema el programador debe resolverlo
con papel, lápiz grafito y borrador procurando hacer varios ejercicios de aplicación, generalmente se
encuentran diferentes formas de resolver el problema, por lo que se debe seleccionar la mejor alternativa de
solución.

- Declaración de datos.

Una vez seleccionada la mejor alternativa debe hacerse la declaración de datos, para ello los datos se
clasificarán de la siguiente manera:
 Datos de Entrada: Los datos que se suministran.
 Datos de Salida: los datos o resultados que se esperan.
 Datos de proceso: estos son posiciones de memoria donde se almacenaran resultados de cálculos
intermedios, necesarios para obtener los datos de salida.
El problema anterior se clasifica de la siguiente manera:
Entradas:
Nombre del estudiante, puntos obtenidos, puntos que vale la prueba.
Salidas:
El estudiante xxxxxxx obtuvo una nota de xxxx.
Procesos:
Calcular la nota de la prueba utilizando la siguiente fórmula: Nota = (Puntos obtenidos * 100)/ valor de la
prueba

- Prueba de escritorio.

Se debe ejecutar el algoritmo con diferentes datos de entrada para verificar si se obtienen los datos de salida
esperados, en caso contrario se procede a hacer las modificaciones necesarias al algoritmo.

Por ejemplo para este problema se elige un identificador para cada dato de entrada que serían: Nombre,
Puntobte, Valprueba.

Los identificadores son nombres representativos que se utilizan dentro de los DFDs. Solo falta colocar valores
a cada identificar y probar los resultados.
Nombre = ‘Jorge’
Puntobte = 45
Valprueba = 50

El Diagrama de flujo quedaría de la siguiente manera:

Inicio

Nombre, puntobte,
valpruena

Nota = (puntobte * 100) / Valprueba

‘El estudiante ‘, Nombre,’ obtuvo una


nota de ‘, nota Fin
En formato pseudocódigo quedaría así:

Inicio
Leer Nombre, Puntobte, Valprueba
Nota = (puntobte * 100) / Valprueba
Escribir ‘El estudiante ‘, Nombre,’ obtuvo una nota de ‘, nota
Fin
Si utilizamos los datos anteriores el mensaje fina del programa sería el siguiente: El estudiante Jorge obtuvo
una nota de 90.

Expresiones lógicas y aritméticas.

A continuación se suministrará una serie de tablas que serán de ayuda durante el curso de algoritmos.

OPERADORES LÓGICOS

Você também pode gostar