54

Algoritmo fundamentos de la programación

Embed Size (px)

Citation preview

Miguel Angel [email protected]@midesweb

Algoritmo

Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.Definición de la RAE

* Imágenes de Wikimedia Commons

* Imágenes de Wikimedia Commons

* Imágenes de Wikimedia Commons

Beber agua

● Saco un vaso del armario● Saco la botella de agua de la nevera● Lleno el vaso● Aproximo el vaso a mi boca● Trago el líquido

Algoritmo:

¿Por qué es importante?

"Los ordenadores son tontos"

Todo debe ser explicado

Necesitamos decirle a la máquina, paso por paso, todas y cada una de las acciones que debe realizar.

Algoritmo es un paso previo

● Para escribir un programa, antes debo pensar en el algoritmo

● El programa es la expresión de un algoritmo en un lenguaje de programación

Expresión de un Algoritmo

● Palabras● Gráficos, diagramas de flujo● Pseudocódigo● ...

Diagramas de flujo

Imagen de Wikipedia:

es.wikipedia.org/wiki/Diagrama_de_flujo

desarrolloweb.com/articulos/diagrama-flujos.html

Pseudocódigo

Fuente DesarrolloWeb.com

desarrolloweb.com/articulos/pseudocodigo.html

es.wikipedia.org/wiki/Pseudoc%C3%B3digo

- Perímetro de un rectángulo- Media

Ejemplos de algoritmos y programas

Algoritmo Programa

Perímetro del rectángulo

* Algoritmo

● Tomo la altura● Tomo la anchura● Multiplico la altura x 2● Multiplico la anchura x 2● Sumo todas las medidas● Devuelvo el resultado

* Algoritmo

Perímetro del rectángulo

* Programa

Media

(De tres números)

● Tomo el 1º, 2º y 3er número● Los sumo● Divido el resultado por 3● Muestro el resultado

* Algoritmo

Media

* Programa

"Programar es escribir algoritmos en un lenguaje que entienda la máquina"

En un programa pueden intervenir decenas, cientos o miles de algoritmos

"Programar es más que crear algoritmos"

Fases para resolver un problema

● Identificación del problema● Análisis● Diseño del algoritmo● Programación del algoritmo● Ejecución y validación del funcionamiento

Problema Algoritmo Programa

Partes de un algoritmo

Entradade datos

.Procesamiento

de los datosSalida de

Resultados

Saludar

Saludar2

Multiplicación

Características necesarias en algoritmos

● Estar bien detallado● Bien ordenado● Tener principio y fin● Ser fiable

Características necesarias en algoritmos

● Estar bien detallado● Bien ordenado● Tener principio y fin● Ser fiable

○ Libre de errores○ Misma entrada -> misma salida

Años, meses y días vividos

¿Cuántos días has vivido?

Has vivido: 30 años, 4 meses y 7 días.

Años, meses y días vividos

1. Pido el número de días vividos

2. Calculo el número de años / 3653. A los días vividos les quito los días de los años calculados4. Sobre los días restantes calculo el número de meses / 305. A los días restantes les quito los días de los mese calculados

6. Muestro los resultados, años, meses y días restantes calculados

Años, meses y días vividos

Distancia entre 2 puntos

Distancia entre 2 puntos

Distancia entre 2 puntos

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

5) Calculo el tamaño de la componente horizontal6) Calculo el tamaño de la componente vertical

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

5) Calculo el tamaño de la componente horizontal6) Calculo el tamaño de la componente vertical7) Elevo al cuadrado componentes vertical y horizontal

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

5) Calculo el tamaño de la componente horizontal6) Calculo el tamaño de la componente vertical7) Elevo al cuadrado componentes vertical y horizontal8) Las sumo

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

5) Calculo el tamaño de la componente horizontal6) Calculo el tamaño de la componente vertical7) Elevo al cuadrado componentes vertical y horizontal8) Las sumo9) Aplico la raíz cuadrada

Distancia entre 2 puntos1) Pido la coordenada x del punto a 2) Pido la coordenada y del punto a 3) Pido la coordenada x del punto b4) Pido la coordenada y del punto b

5) Calculo el tamaño de la componente horizontal6) Calculo el tamaño de la componente vertical7) Elevo al cuadrado componentes vertical y horizontal8) Las sumo9) Aplico la raíz cuadrada

10) Muestro la distancia

Distancia entre 2 puntos

En verdad son más importantes los algoritmos que el código.

Workflow Javascript

Consola Javascript

Hemos aprendido

● Qué es un algoritmo● Qué es un programa● Escribir código es una pequeña parte de la tarea de un

programador● Los algoritmos deben diseñarse con cuidado, pues son

la parte más importante de un programa.

Practica tú mismo

● Algoritmo:○ Hacer una tortilla○ Cruzar la calle sin ser atropellado

● Algoritmo + programa○ Conversor de metros3 a litros○ Área de un círculo

Gracias!