Está en la página 1de 23

FUNDAMENTOS DE INFORMÁTICA

INTRODUCCIÓN A
ALGORITMOS DE
PROGRAMACIÓN
OBJETIVOS DEL DISEÑO DE
ALGORITMOS

• Enfocar la enseñanza de Algoritmos y Programación hacia el


desarrollo de:
– competencias para solucionar problemas.
– habilidades de pensamiento algorítmico.
– desarrollar capacidades para resolución de diversos problemas
mediante la generación de programas básicos.

• Integrar algoritmos de programación con campos de contexto industrial


como Cálculo Numérico, Automatización (PLC) y Robótica.
DISEÑO DE ALGORITMOS
Problema

Algoritmo

Implementación
USO DE METODOLOGÍAS PARA SOLUCIONAR
PROBLEMAS

Pasos para resolver


problemas matemáticos (Polya).

Ciclo de programación.
CICLO DE PROGRAMACIÓN
EL PROBLEMA
1^1 2^ 2 3^3 4^ 4 n^ n
   
1! 2! 3!

4!
 ......... 
n!

Si tenemos que n=4


1 4 9 16
    
1 2 6 24

  1  2  1.5  0.66  5.167


ANÁLISIS DEL PROBLEMA
• PASOS PARA LA SOLUCIÓN DE UN
PROBLEMA ALGORÍTMICO  1^1 2^ 2 3^3 4^ 4 n^ n
1. Definición del problema (Entender qué es lo    
1! 2! 3! 4!
  ......... 
n!
que se requiere).
2. Determinación de los datos de entrada y salida
(los datos que necesita el problema para
realizar sus cálculos y la información que
resulta luego de resolverlos). Generalmente, lo Si tenemos que n=4
primero que conocemos.
1 4 9 16 Entrada
3. Modelo Matemático (Para conocer el procesoCálculo
de solución)     
1 2 6 24
4. Diseño del algoritmo
5. Prueba   1  2  1.5  0.66  5.167
6. Refinamiento del algoritmo
7. Codificación. Equivale a escribir (traducir) el
algoritmo en lenguaje de alto nivel . Salida (resultado)
Diseño de Algoritmos
Problema

Algoritmo

Implementación
DISEÑAR UN ALGORITMO
ALGORITMOS
¿Qué es un algoritmo?

Un algoritmo es el conjunto de
operaciones y procedimientos
que deben seguirse para
transformar los datos de entrada
en datos de salida (solución al
problema)
ALGORITMOS
¿Cómo se representan?
Diagramas de flujo Pseudocódigo
CONCEPTOS BÁSICOS DE Inicio
PROGRAMACIÓN
Leer n
 Constantes
 Variables
 Acumuladores i=1 a=0

 Contadores
 Tipos de datos i=i+1 a=a + i
 Operadores y expresiones
 Estructuras de control y anidamiento
i=n

a
Acumula números
naturales desde 1
hasta n Fin
PSEUDOCÓDIGO

función acumulanaturales(n)
// n es un número natural
i←1
a←0
mientras i<=n hacer
a←a+i
i←i+1
fin mientras
devolver a
fin función
PSEUDOCÓDIGO

1^1 2^ 2 3^3 4^ 4 n^ n
Problema    
1! 2! 3!

4!
 ......... 
n!
PSEUDOCÓDIGO

1^1 2^ 2 3^3 4^ 4 n^ n
Problema    
1! 2! 3!

4!
 ......... 
n!

Codificación
función miproblema(n)
// n es un número natural
i←1
suma←0 ¿ Y ahora ?
mientras i<=n hacer
a ← a + (i^2) / Factorial(i)
i←i+1
fin mientras
devolver suma
fin función
DISEÑO DE ALGORITMOS

Problema

Algoritmo

Implementación
IMPLEMENTACIÓN DEL ALGORITMO

Pseudocódigo
función miproblema(n)
// n es un número natural
i←1
suma←0
mientras i<=n hacer
a ← a + (i^2) / Factorial(i)
i←i+1
fin mientras
devolver suma
fin función
IMPLEMENTACIÓN EN MATHCAD

Pseudocódigo MathCad
función miproblema(n)
// n es un número natural
i←1
suma←0
mientras i<=n hacer
a ← a + (i^2) / Factorial(i)
i←i+1
fin mientras
devolver suma
fin función
PRUEBA Y VALIDACIÓN DE
NUESTRO PROBLEMA
¿POR QUÉ DEBEMOS DEPURAR LOS
PROCEDIMIENTOS?
 Dificultad para elaborar procedimientos perfectos en los primeros
intentos.
 La dificultad aumenta a medida que los problemas se vuelven más
complejos.
 Los resultados se deben probar y validar (revisión).
 El proceso promueve valores como responsabilidad, fortaleza,
laboriosidad, paciencia y perseverancia.
COMPARATIVO ENTRE ALGORITMOS,
PSEUDOCÓDIGO Y LENGUAJE DE
PROGRAMACIÓN
Parámetros
de Algoritmos Pseudocódigo Lenguajes de Programación
Análisis

Conjunto de sintaxis y
Suceso finito de pasos Lenguaje de
reglas semánticas que
no ambiguos que se especificación de
definen programas del
pueden ejecutar en un algoritmos basado en
Concepto computador.
tiempo finito, cuyo un sistema notarial, con
Cada lenguaje tiene sus
objetivo es resolver estructuras sintácticas y
características
problemas. semánticas.
particulares.

Utiliza palabras
Herramienta gráfica
reservadas de algunos Similares a un idioma,
compuesta por
lenguajes de están escritos en inglés
símbolos, unidos por
Cómo se exteriorizan programación, como: y cada lenguaje tiene
flechas, donde cada
start, end, if-then-else, sus características
símbolo representa una
while, etc.; para su particulares.
acción distinta.
escritura.
COMPARATIVO ENTRE ALGORITMOS,
PSEUDOCÓDIGO Y LENGUAJE DE
PROGRAMACIÓN
Parámetros
de Algoritmos Pseudocódigo Lenguajes de Programación
Análisis
Independiente de todo
lenguaje de programación; y
Independientes de todo
en algunos casos del
Relación lenguaje de programación e Dependen de los algoritmos
algoritmo (hay
Dependencia/ incluso de todas y/o pseudocódigos que le
programadores que
Independencia computadora donde se dan origen.
desarrollan así).
ejecute.
Facilita la traducción a un
lenguaje de programación.

Los lenguajes actuales, en


Utilizan un número
El Programador se centra en general orientados a
limitado de estructuras de
la lógica y en las estructuras desarrollo web, basados en
control que minimizan la
de control. entornos gráficos, facilitan
Ventajas complejidad de los
Fácil de modificar, detectan las tareas de programación
problemas y reducen los
errores o anomalías en lógica ya que traen rutinas
errores: Optimizan el
algorítmica. parametrizables a cada
proceso.
caso.
COMPARATIVO ENTRE ALGORITMOS,
PSEUDOCÓDIGO Y LENGUAJE DE
PROGRAMACIÓN
Parámetros
de Algoritmos Pseudocódigo Lenguajes de Programación
Análisis

Los errores se detectan


Se realiza a través de una
Puede testearse a través automáticamente a través
herramienta de testing
Comprobación o Testing de la Prueba de de funcionalidades de
manual: Prueba de
Escritorio. compilación de los
Escritorio.
mismos lenguajes.

También podría gustarte