[go: up one dir, main page]

0% encontró este documento útil (0 votos)
45 vistas27 páginas

Introducción a Algoritmos y Diagramas

Este documento presenta una introducción a los algoritmos. Explica que un algoritmo es un método para resolver un problema de manera precisa y finita. Describe los tres componentes clave de todo algoritmo: entrada, procesamiento y salida. Además, introduce diferentes formas de representar algoritmos, incluyendo lenguaje natural, diagramas de flujo y pseudocódigo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas27 páginas

Introducción a Algoritmos y Diagramas

Este documento presenta una introducción a los algoritmos. Explica que un algoritmo es un método para resolver un problema de manera precisa y finita. Describe los tres componentes clave de todo algoritmo: entrada, procesamiento y salida. Además, introduce diferentes formas de representar algoritmos, incluyendo lenguaje natural, diagramas de flujo y pseudocódigo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

ALGORITMOS

Plan de trabajo primer 50%


Semana Tema
Semana 4 Algoritmos en lenguaje natural Algoritmos en lenguaje natural
Algoritmos en lenguaje natural y
Estructura de un algoritmo
Semana 5 Diagramas de flujo Proceso (pseudocódigo, diagramas
de flujo y/o diagrama de
actividades, pruebas de escritorio)
Semana 6 Expresiones y datos Constantes y variables, tipos de
datos, operadores, operadores de
bits y expresiones
Semana 7 Estructuras de programación Secuencia o lineal y toma de
Decisión
Semana 8 Estructuras de programación Ciclos Repetitivos
OBJETIVOS

• Presentar las diferentes formas de representar un algoritmo.


• Reforzar el concepto de datos de entrada, proceso y datos de
salida.
• Mostrar los diferentes operadores que intervienen en un algoritmo.
• Conocer y aplicar la jerarquía de operadores.
• Desarrollar algoritmos básicos.
Algoritmo
Un algoritmo es un método para resolver un problema.
Algoritmo proviene de sobre Mohammed al-Khowârizmi,
matemático Persa, alcanzó gran reputación por el enunciado de las
reglas paso a paso para sumar, restar, multiplicar y dividir números
decimales.
La traducción al latín del apellido en la palabra algorismus derivó
posteriormente en algoritmo.
Euclides se considera con Al-Khowârizmi el otro gran padre de la
algoritmia (ciencia que trata de los algoritmos).
Los pasos para la resolución de un
problema son:
1. Diseño del algoritmo, que describe la secuencia ordenada de pasos
(sin ambigüedades) que conducen a la solución de un problema
dado. (Análisis del problema y desarrollo del algoritmo.)
2. Expresar el algoritmo como un programa en un lenguaje de
programación adecuado. (Fase de codificación.)
3. Ejecución y validación del programa por la computadora.
Características de los algoritmos
• Un algoritmo debe ser preciso e indicar el orden de realización de cada
paso.
• Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar
en algún momento; o sea, debe tener un número finito de pasos.
Tipos de algoritmos

• Según su sistema de signos tenemos los algoritmos cualitativos (paso a paso) o


cuantitativos (utilizan cálculos numéricos).
• los algoritmos que requieran del uso de un ordenador para su resolución se le
conocen como algoritmos computacionales (siendo los no computacionales
aquellos que no requieran el uso de un ordenador).
• Los algoritmos condicionales llegados a un punto del mismo, presentan varias
acciones para ejecutarse y resolver el problema. Estas acciones no se presentan al
azar sino que hay una condición previa que según la cual se ejecutará una u otra
acción.
• Se conoce como algoritmos secuenciales aquellos con estructura secuencial, es
decir, la salida de una secuencia es la entrada de la siguiente.
Todo algoritmo consta de tres partes.

• Entrada: en la entrada o input del algoritmo será donde se introduzcan


todos aquellos datos que el algoritmo necesite para operar.
• Procesamiento: con lo recibido en la entrada o input, el algoritmo
realizará una serie de cálculos lógicos para resolver el problema.
• Salida: los resultados obtenidos en el procesamiento se mostrarán en la
salida o output del algoritmo.
Lenguaje natural
El lenguaje natural es la lengua o idioma hablado o
escrito por humanos para propósitos generales de
comunicación.
Son aquellas lenguas que han sido generadas
espontáneamente en un grupo de hablantes con
propósito de comunicarse.
Expresar un algoritmo
Podemos expresar un algoritmo de muchas maneras, incluyendo
lenguaje natural, diagramas de flujo, pseudocódigo y, por supuesto, en
lenguajes de programación reales.
Cuando desarrollamos algoritmos, a menudo trabajamos con personas
que saben programación y con algunos que no; pero todos conocen el
lenguaje natural.
Inconvenientes del lenguaje natural

Tiende a ser ambiguo y a estar definido vagamente,


pues carece de estructura precisa.
Esto dificulta que otros sigan un algoritmo y se
sientan seguros de que es correcto.
Ejercicio 1
1. Diseñar un algoritmo en lenguaje natural que indique la manera
como se debe cambiar un neumático.
2. Elaborar un algoritmo que el resultado de la suma de dos números
Ejercicios algoritmos en lenguaje natural.
Desarrollar los siguientes ejercicios con lenguaje natural, identificando las reglas necesarias para su
desarrollo
• 1. Desarrollar un algoritmo que permita adquirir una revista.
• 2. Desarrollar un algoritmo que permita entrar a una casa que está con llave.
• 3. Desarrollar un algoritmo que permita empacar un regalo.
• 4. Desarrollar un algoritmo que permita encender un vehículo.
• 5. Desarrollar un algoritmo que permita fritar un huevo.
• 6. Desarrollar un algoritmo que permita mirar por un telescopio.
• 7. Desarrollar un algoritmo que permita botar la basura.
• 8. Desarrollar un algoritmo que permita tomar un baño.
• 9. Desarrollar un algoritmo que permita estudiar para un examen.
• 10. Desarrollar un algoritmo que permita tocar determinada canción con un instrumento musical
• Diseñe la solución para resolver cada uno de los siguientes problemas y trate
de
• refinar sus soluciones mediante algoritmos adecuados.
• Cambiar la llanta de un automóvil.
• Ir al cine.
• Hacer un retiro de un cajero electrónico.
• Llamar a un contacto con un celular.
• Realizar una llamada desde un teléfono publico
• Cocinar una tortilla
• Arreglar un pinchazo en la bicicleta
• Freír un huevo.
Diagramas de flujo
Una manera más formal de expresar un algoritmo es con un
diagrama de flujo, un diagrama con cajas conectadas por
flechas.
Utilizan unos símbolos normalizados unidos por flechas
denominados líneas de flujo que indican el orden en el que los
pasos deben ser ejecutados.
Reglas:
• se escriben de arriba hacia abajo. Y de izquierda a derecha.
• Siempre usan flechas verticales u horizontales, nunca curvas.
• Evitar cruce de flujos.
• Tienen un inicio y un final, una entrada y una salida de datos
y un proceso para esos datos.
Simbología para representar diagramas de flujo.
Ejercicios
• Queremos hacer un programa informático que nos sume dos números
y nos dé el resultado en pantalla.
• Imaginemos que tenemos una lámpara o bombilla y queremos hacer
el diagrama de flujo para saber qué hacer cuando la lámpara no
funciona.
• Muestre el resultado del área de un triángulo en pantalla.
• Muestre en pantalla si un número es par o impar:
Pseudocódigo:
Finalmente, la mayoría de los algoritmos se transforman en código
para ejecutar en una computadora. Antes de eso, los
programadores a menudo prefieren expresar un algoritmo en
pseudocódigo: un código que utiliza construcciones de un
lenguaje de programación, pero que, en realidad, no se ejecuta.
Reglas:
• Comienza con el nombre del program y finaliza con la frase “fin del
programa”
• A continuación, se definen los objetos a utilizar en la solución del
problema. Por ejemplo, variables, constantes etc .
• A continuación, se emplea la palabra algoritmo y ese bloque
contendrá la secuencia de instrucciones al final del bloque llevara “ fin
del algoritmo”.
• Se usaran palabras tales como si, fin si, si no, mientras, hasta ,
entonces hacer, leer , escribir… etc .
Símbolo Función

Inicio /final

N/A

Leer/escribir

asignación

Decisión
Lenguajes de programación

Después de planear nuestro algoritmo, ya sea en


lenguaje natural, diagramas de flujo, pseudocódigo, o
una combinación de esos, es momento de convertirlo
en código ejecutable.
Ejercicios DFD seudocódigo.
• Desarrolle un algoritmo que permita leer dos valores distintos, determinar cuál de
los dos valores es el mayor y escribirlo.
• Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables
A, B y C respectivamente. El algoritmo debe imprimir cual es el mayor y cual es el
menor. Recuerde constatar que los tres valores introducidos por el teclado sean
valores distintos. Presente un mensaje de alerta en caso de que se detecte la
introducción de valores iguales.
• Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus
dos catetos. Desarrolle el algoritmo correspondiente.
• Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro
dado su radio (R) y altura (H).
Pseint
PSeInt es una herramienta para asistir a un estudiante en sus primeros
pasos en programación. Mediante un simple e intuitivo pseudo-
lenguaje en español.
Le permite centrar su atención en los conceptos fundamentales de la
algoritmia computacional, minimizando las dificultades propias de un
lenguaje y proporcionando un entorno de trabajo con numerosas
ayudas y recursos didácticos.
Variable
• Es un espacio reservado en memoria en donde se puede alojar
cualquier valor que puede variar a lo largo del proceso de ejecución
del programa.
• Constante: es un espacio reservado en memoria en donde se aloja un
valor de que no puede variar durante la ejecución del programa.
Tipos de datos
Tipo de Representa
dato
Num Cualquier numero
Bool Verdadero, falso
Char Un carácter
Arreglo Lista estática de elementos
String Secuencia de caracteres

También podría gustarte