Mtro. Javier A. Tiburcio García
7 de febrero de 2017
Algoritmos computacionales y
programación
• La palabra algoritmo procede del
nombre del matemático persa Abu
Abdallah Mu ammad ibn Mūsā al-ḥ
Jwārizmī (780-850).
• En el periodo 800-825 escribió su
obra Quitad Al Mugabala, donde se
recogía el sistema de numeración
hindú y el concepto del cero.
• Fibonnaci tradujo la obra al latín y la
llamó: Algoritmi Dicit.
¿Definición de algoritmo?
Definición de algoritmo
• Secuencia ordenada de pasos, exenta de ambigüedad, que
permite la resolución de un problema determinado.
• SecuenciaSecuencia de procesos ordenados lógicamente que permitede procesos ordenados lógicamente que permite
obtener ciertos resultados a partir de ciertos datos.obtener ciertos resultados a partir de ciertos datos.
• Conjunto de pasos, procedimientos o acciones que nosConjunto de pasos, procedimientos o acciones que nos
permiten alcanzar un resultado o resolver un problema.permiten alcanzar un resultado o resolver un problema.
• Método para resolver un problema mediante una serie deMétodo para resolver un problema mediante una serie de
pasos precisos, definidos y finitos.pasos precisos, definidos y finitos.
Características de un algoritmo
• Preciso: Exento de ambigüedad. Indica el orden de
realización en cada paso.
• Definido: si se sigue dos veces el algoritmo con los
mismo datos de entrada, la salida debe ser la misma.
• Finito: Tiene fin. Si se sigue el algoritmo, se debe
terminar en algún momento. Tiene un número
determinados de pasos.
Secciones o módulos principales
de un algoritmo
La solución de un algoritmo debe describir tres
secciones:
1.Entrada. Datos que necesita para poder ejecutarse.
2.Proceso. Acciones y cálculos a realizar.
3.Salida. Resultado esperado.
Entrada Proceso Salida
Características aconsejables para
los algoritmos
• Validez: Un algoritmo es válido si carece de errores.
• Eficiencia: Un algoritmo es eficiente si obtiene la
solución al problema en poco tiempo.
• Óptimo: Un algoritmo es óptimo si es el más
eficiente y no contiene errores.
Fases de la creación de un
algoritmo
Hay tres fases en la elaboración de un algoritmo:
1.Análisis: En esta se determina cuál es exactamente el
problema a resolver. Qué datos forma la entrada del
algoritmo y cuáles deben obtenerse como salida.
2.Diseño: Elaboración del algoritmo.
3.Prueba: Comprobación del resultado. Se observa si el
algoritmo obtiene la salida esperada para las entradas.
Notaciones para describir
algoritmos
• Método informal
– Lenguaje natural
• Ventajas: comprensible e intuitivo
• Inconveniente: impreciso
• Métodos formales
– Pseudocódigo
• Lenguaje natural limitado y sin ambigüedad
– Diagramas de flujo
• Utiliza un conjunto de símbolos para representar cada estructura
de control y mediante líneas de flujo se indica el orden en que se
realiza el flujo lógico del algoritmo.
– Diagramas de Nassi-Schneiderman o Diagramas N-S
• Los pasos sucesivos se escriben en cajas con distintas formas
según la estructura de control que representen.
Algoritmo ms_kh
Variables
Vms, Vks Como real;
Inicio
Escribir "Escribe la velocidad en m/s";
Leer Vms;
Vks<-Vms*(3600/1000);
Escribir Vms, "m/s equivale a ", Vks,"k/h";
Fin
Algoritmo para convertir m/s en K/h
Inicio
Pedir la velocidad en m/s
Leer velocidad
Multiplicar velocidad por 3.6
El resultado es la velocidad en k/h
Fin
Declaraciones:
Vms, Vks Como real;
Escribir "Escribe la velocidad en m/s";
Leer Vms;
Vks<-Vms*(3600/1000);
Escribir Vms, "m/s equivale a ", Vks,"k/h";
Convertir m/s en K/h
¿Por qué es útil un algoritmo?
• Permite el análisis lógico-conceptual de un problema
y anticipar las posibles soluciones.
• En cierto sentido permite MODELAR la realidad, con
el fin de poder modificarla o adaptarla a
determinadas necesidades.
Algoritmo y Programa
• Los términos algoritmo y programa tienden a
confundirse y en algunos casos a utilizarse
indiferentemente.
• Recordemos que el término algoritmo se refiere a la
secuencia de pasos para resolver un problema, pero
independiente del lenguaje de programación que se
utilice,
• mientras que programa se refiere propiamente a la
codificación de un algoritmo en algún lenguaje de
programación.
• Un conjunto de programas constituye un software.
Ejemplos de algoritmos
EJEMPLOEJEMPLO
Diseñar un algoritmo para calcular el área de un triánguloDiseñar un algoritmo para calcular el área de un triángulo
AnálisisAnálisis::
Cuales son los datos de entrada?
Cuales son los datos de salida?
Que cálculos/procesos deben llevarse a cabo?
Ejemplos de algoritmos
DATOS DEDATOS DE
ENTRADAENTRADA
Base, AlturaBase, Altura
PROCESAMIENTO Área = Base*Altura/2
DATOS DEDATOS DE
SALIDASALIDA
ÁreaÁrea
Ejemplos de algoritmos
PseudocódigoPseudocódigo
INICIOINICIO
Leer Base, AlturaLeer Base, Altura
Área = Base*Altura/2Área = Base*Altura/2
Mostrar ÁreaMostrar Área
FINFIN
Ejemplos de algoritmos
EJEMPLOEJEMPLO
Sean los puntos P=(a,b) y Q=(c,d) que definen una recta, encontrar un
segmento de recta perpendicular a la anterior que pasa por el punto medio de
los puntos dados.
AnálisisAnálisis??
EJEMPLOEJEMPLO
Sean los puntos P=(a,b) y Q=(c,d) que definen una recta, encontrar un segmento
de recta perpendicular a la anterior que pasa por el punto medio de los puntos
dados.
Inicio
PASO 1. Trazar un círculo con centro en el punto P que pase por el punto
Q.
PASO 2. Trazar un círculo con centro en el punto Q que pase por el punto
P.
PASO 3. Trazar un segmento de recta entre los puntos de intersección de
las circunferencias trazadas.
Fin. El segmento de recta trazada es el buscado
Ejemplos de algoritmos
AnálisisAnálisis::
Cuales son los datos de entrada?
π es dato de entrada?
Cuales son los datos de salida?
Que cálculos/procesos deben
llevarse a cabo?
EJEMPLO 2EJEMPLO 2
Diseñar un algoritmo para calcular el perímetro de unDiseñar un algoritmo para calcular el perímetro de un
círculocírculo
Inicio
Leer Radio
Perimetro = 2*pi*Radio
Mostrar Perimetro
Fin
Ejemplos de algoritmos
EJEMPLO 3EJEMPLO 3
Suponga que se necesita un algoritmo para realizar la factura en un almacén
que vende televisores al por mayor (suponiendo que de un solo tipo). La factura
debe mostrar el valor total a pagar y el valor de los impuestos. El costo por
unidad de los televisores es de $7000 y el impuesto aplicado es del 16%.
AnálisisAnálisis??
Ejemplos de algoritmos
EJEMPLO 3EJEMPLO 3
Suponga que se necesita un algoritmo para realizar la factura en un almacén
que vende televisores al por mayor (suponiendo que de un solo tipo). La factura
debe mostrar el valor total a pagar y el valor de los impuestos. El costo por
unidad de los televisores es de $7000 y el impuesto aplicado es del 16%.
AnálisisAnálisis??
INICIO
Leer numero_unidades
Impuestos = numero_unidades* $7000 * 0.16
Total = numero_unidades* $7000 + Impuestos
Mostrar Total, Impuestos
FIN

Algoritmos computacionales y programación: 1

  • 1.
    Mtro. Javier A.Tiburcio García 7 de febrero de 2017 Algoritmos computacionales y programación
  • 2.
    • La palabraalgoritmo procede del nombre del matemático persa Abu Abdallah Mu ammad ibn Mūsā al-ḥ Jwārizmī (780-850). • En el periodo 800-825 escribió su obra Quitad Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del cero. • Fibonnaci tradujo la obra al latín y la llamó: Algoritmi Dicit.
  • 5.
  • 6.
    Definición de algoritmo •Secuencia ordenada de pasos, exenta de ambigüedad, que permite la resolución de un problema determinado. • SecuenciaSecuencia de procesos ordenados lógicamente que permitede procesos ordenados lógicamente que permite obtener ciertos resultados a partir de ciertos datos.obtener ciertos resultados a partir de ciertos datos. • Conjunto de pasos, procedimientos o acciones que nosConjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.permiten alcanzar un resultado o resolver un problema. • Método para resolver un problema mediante una serie deMétodo para resolver un problema mediante una serie de pasos precisos, definidos y finitos.pasos precisos, definidos y finitos.
  • 7.
    Características de unalgoritmo • Preciso: Exento de ambigüedad. Indica el orden de realización en cada paso. • Definido: si se sigue dos veces el algoritmo con los mismo datos de entrada, la salida debe ser la misma. • Finito: Tiene fin. Si se sigue el algoritmo, se debe terminar en algún momento. Tiene un número determinados de pasos.
  • 8.
    Secciones o módulosprincipales de un algoritmo La solución de un algoritmo debe describir tres secciones: 1.Entrada. Datos que necesita para poder ejecutarse. 2.Proceso. Acciones y cálculos a realizar. 3.Salida. Resultado esperado. Entrada Proceso Salida
  • 9.
    Características aconsejables para losalgoritmos • Validez: Un algoritmo es válido si carece de errores. • Eficiencia: Un algoritmo es eficiente si obtiene la solución al problema en poco tiempo. • Óptimo: Un algoritmo es óptimo si es el más eficiente y no contiene errores.
  • 10.
    Fases de lacreación de un algoritmo Hay tres fases en la elaboración de un algoritmo: 1.Análisis: En esta se determina cuál es exactamente el problema a resolver. Qué datos forma la entrada del algoritmo y cuáles deben obtenerse como salida. 2.Diseño: Elaboración del algoritmo. 3.Prueba: Comprobación del resultado. Se observa si el algoritmo obtiene la salida esperada para las entradas.
  • 11.
    Notaciones para describir algoritmos •Método informal – Lenguaje natural • Ventajas: comprensible e intuitivo • Inconveniente: impreciso • Métodos formales – Pseudocódigo • Lenguaje natural limitado y sin ambigüedad – Diagramas de flujo • Utiliza un conjunto de símbolos para representar cada estructura de control y mediante líneas de flujo se indica el orden en que se realiza el flujo lógico del algoritmo. – Diagramas de Nassi-Schneiderman o Diagramas N-S • Los pasos sucesivos se escriben en cajas con distintas formas según la estructura de control que representen.
  • 12.
    Algoritmo ms_kh Variables Vms, VksComo real; Inicio Escribir "Escribe la velocidad en m/s"; Leer Vms; Vks<-Vms*(3600/1000); Escribir Vms, "m/s equivale a ", Vks,"k/h"; Fin Algoritmo para convertir m/s en K/h Inicio Pedir la velocidad en m/s Leer velocidad Multiplicar velocidad por 3.6 El resultado es la velocidad en k/h Fin Declaraciones: Vms, Vks Como real; Escribir "Escribe la velocidad en m/s"; Leer Vms; Vks<-Vms*(3600/1000); Escribir Vms, "m/s equivale a ", Vks,"k/h"; Convertir m/s en K/h
  • 13.
    ¿Por qué esútil un algoritmo? • Permite el análisis lógico-conceptual de un problema y anticipar las posibles soluciones. • En cierto sentido permite MODELAR la realidad, con el fin de poder modificarla o adaptarla a determinadas necesidades.
  • 14.
    Algoritmo y Programa •Los términos algoritmo y programa tienden a confundirse y en algunos casos a utilizarse indiferentemente. • Recordemos que el término algoritmo se refiere a la secuencia de pasos para resolver un problema, pero independiente del lenguaje de programación que se utilice, • mientras que programa se refiere propiamente a la codificación de un algoritmo en algún lenguaje de programación. • Un conjunto de programas constituye un software.
  • 15.
    Ejemplos de algoritmos EJEMPLOEJEMPLO Diseñarun algoritmo para calcular el área de un triánguloDiseñar un algoritmo para calcular el área de un triángulo AnálisisAnálisis:: Cuales son los datos de entrada? Cuales son los datos de salida? Que cálculos/procesos deben llevarse a cabo?
  • 16.
    Ejemplos de algoritmos DATOSDEDATOS DE ENTRADAENTRADA Base, AlturaBase, Altura PROCESAMIENTO Área = Base*Altura/2 DATOS DEDATOS DE SALIDASALIDA ÁreaÁrea
  • 17.
    Ejemplos de algoritmos PseudocódigoPseudocódigo INICIOINICIO LeerBase, AlturaLeer Base, Altura Área = Base*Altura/2Área = Base*Altura/2 Mostrar ÁreaMostrar Área FINFIN
  • 18.
    Ejemplos de algoritmos EJEMPLOEJEMPLO Seanlos puntos P=(a,b) y Q=(c,d) que definen una recta, encontrar un segmento de recta perpendicular a la anterior que pasa por el punto medio de los puntos dados. AnálisisAnálisis??
  • 19.
    EJEMPLOEJEMPLO Sean los puntosP=(a,b) y Q=(c,d) que definen una recta, encontrar un segmento de recta perpendicular a la anterior que pasa por el punto medio de los puntos dados. Inicio PASO 1. Trazar un círculo con centro en el punto P que pase por el punto Q. PASO 2. Trazar un círculo con centro en el punto Q que pase por el punto P. PASO 3. Trazar un segmento de recta entre los puntos de intersección de las circunferencias trazadas. Fin. El segmento de recta trazada es el buscado
  • 20.
    Ejemplos de algoritmos AnálisisAnálisis:: Cualesson los datos de entrada? π es dato de entrada? Cuales son los datos de salida? Que cálculos/procesos deben llevarse a cabo? EJEMPLO 2EJEMPLO 2 Diseñar un algoritmo para calcular el perímetro de unDiseñar un algoritmo para calcular el perímetro de un círculocírculo Inicio Leer Radio Perimetro = 2*pi*Radio Mostrar Perimetro Fin
  • 21.
    Ejemplos de algoritmos EJEMPLO3EJEMPLO 3 Suponga que se necesita un algoritmo para realizar la factura en un almacén que vende televisores al por mayor (suponiendo que de un solo tipo). La factura debe mostrar el valor total a pagar y el valor de los impuestos. El costo por unidad de los televisores es de $7000 y el impuesto aplicado es del 16%. AnálisisAnálisis??
  • 22.
    Ejemplos de algoritmos EJEMPLO3EJEMPLO 3 Suponga que se necesita un algoritmo para realizar la factura en un almacén que vende televisores al por mayor (suponiendo que de un solo tipo). La factura debe mostrar el valor total a pagar y el valor de los impuestos. El costo por unidad de los televisores es de $7000 y el impuesto aplicado es del 16%. AnálisisAnálisis?? INICIO Leer numero_unidades Impuestos = numero_unidades* $7000 * 0.16 Total = numero_unidades* $7000 + Impuestos Mostrar Total, Impuestos FIN