Sei sulla pagina 1di 28

ELEMENTOS BÁSICOS DE UN ALGORITMO

Algoritmos y Programación Estructurada


Profesora:
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Se le llama problema computable a aquella abstracción de la realidad que tiene


representación algorítmica.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Un problema computacional (Π) es una relación entre un conjunto de


instancias (I) y un conjunto de soluciones (S). Algebraicamente, se
tiene que:
Π ⊆ I×S.

Como restricción se requiere para cualquier instancia al menos una


solución a la instancia del problema
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

En la computación un problema consiste en la necesidad de transformar un


grupo de datos iniciales en un grupo diferente de datos finales, también
llamados resultados

Datos iniciales

Transformación Datos finales


de datos
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

En un problema computacional se tiene como características:


*Definir el problema y a que se quiere llegar.
*Examinar y analizar el problema
*Diseño de un algoritmo con la capacidad de resolver el problema
*Desarrollar el algoritmo que solucionará el problema
*Verificar que funcione.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Los algoritmos nos permiten encontrar la solución a problemas computables.


Intuitivamente las personas para llevar su vida cotidiana usan algoritmos
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Un algoritmo se define como la secuencia de pasos


lógicos que al ejecutarse paso a paso conducen a la
solución del problema
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Existe un grado de complejidad para la realización del algoritmo que resuelve


un problema decidible, para ellos se consideran 2 tipos de recursos

Tiempo: Número de pasos base de


ejecución de un algoritmo para resolver un
problema.

Espacio: Cantidad de memoria utilizada para resolver


un problema.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

De acuerdo a la complejidad de puede decir que hay problemas sencillos y


problemas difíciles.

Problema sencillo Problema difícil


Suma de dos números Encontrar la permutación que nos represente el
recorrido de ciudades, de manera que sean todas
visitadas y minimizando la distancia recorrida.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Finitud

Efectividad ALGORITMO Precisión

IN
Definición de Entradas y Salidas
OUT

Determinístico
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Solución de un
problema computable

Diseño y Ejecución
Análisis del Codificación Prueba del
verificación del del
problema del algoritmo programa
algoritmo programa

Definir y Identificar
Refinamiento Diagramas de
comprender el datos de
por pasos flujo y
problema entrada y
pseudocódigo
salida
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Elementos algorítmicos: datos y procesos


ENTRADA PROCESO SALIDA

Entrada:
En esta parte se captura la
información, en donde los datos
entran a una variable.
Proceso:
Es la transformación de unos datos a
otros, aquí se llevan a cabo gran parte
de las acciones que tiene el algoritmo
Salida:
Datos y resultado obtenidos al final
del algoritmo
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada
Ejemplo: Desarrollar un algoritmo que resuelva el siguiente problema
Hacer taza con leche de chocolate
Datos de entrada: leche, sobre de polvo de chocolate
Datos de salida: taza con leche de chocolate
Datos de auxiliares: tetera, estufa
Inicio
Tomar la tetera
Llenarla de leche
Encender fuego de la estufa
Poner la tetera en el fuego
Mientras la no hierva la leche
Esperar
Tomar sobre del polvo del chocolate
Introducirla a la tetera
Esperar
Echar la leche en una taza
Fin
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

El pseudocódigo consiste en redactar cada uno de los pasos del


algoritmo, usando oraciones breves, sin la necesidad de incluir
adjetivos o artículos
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Por ejemplo, es pseudocódigo para determinar el área de un circulo


Inicio.
Leer la medida de r
Realizar el producto de 3.1416 *r *r y guardarlo en A (3.1416 *r *r)
Escribir el resultado A.
Fin.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

La estructura de un pseudocódigo puede ser de tres tipos:


Secuencial: esta consiste en colocar cada instrucción un tras de la otra sin tener
ningún tipo de saltos.
Selectiva: Esta lleva a cabo ciertas instrucciones cuando se cumple una cierta
condición y si esta condición no se cumple se salta a la siguiente instrucción.
Iterativa: Este consiste en la posibilidad de realizar una misma instrucción más de
una vez
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

La diagamación consiste en visualizar cada uno de los pasos del algoritmo por
medio de diagramas.
Los diagramas de flujo son una herramienta que representan visualmente qué
operaciones se requieren y en qué secuencia se deben realizar para resolver un
problema.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Símbolo Nombre Símbolo Operación


+ Suma
Inicio/Terminal
- Resta
* Multiplicación
Entrada de datos / División
mod Modulo
Proceso ^ Exponenciación
> Mayor que
< Menor que
Decisión
>= Mayor que
<= Menor que
Impresión de resultados != Diferente que
= Igual que
Conectores ←, = Asignación
&& Operación And
|| Operación Or
Flujo de Datos
! Operación Not
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Ejemplo de diagrama de flujo básico para calcular el área de un circulo

Inicio

I,R

V←I*R

Fin
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Combinación entre pseudocódigo y diagramación:


El Diagramas Nassi-Schneiderman N/S es una técnica en la cual se combina la
descripción utilizada en un pseudocódigo y la representación gráfica de los
diagramas de flujo.
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Ejemplo de diagrama N/S para el cálculo del área de un circulo

Inicio
Leer r
Hacer
A=3.1416*r*r
Escribe A
Fin
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Ejemplo para un algoritmo que compara dos números


Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Ejemplo
Obtener el pseudocódigo, diagrama de flujo, y diagrama N/S para un algoritmo
que obtenga como resultado el voltaje (V) en volts por medio de la ley de ohm,
de un circuito como el que se muestra en la siguiente imagen, tomando en
consideración que los parámetros de entrada será la corriente(I) que circula por
el circuito y el valor de la resistencia del circuito(R).

Recuerda que la fórmula de ley de ohm es similar a algo


que ya conoces.
V=IR BEER≈VIR
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada
Universidad Nacional Autónoma de México
Algoritmos y Programación Estructurada

Fuentes
[1] «recursos.salonesvirtuales,» [En línea]. Available: http://recursos.salonesvirtuales.com/wp-
content/uploads/bloques/2012/07/AlgoritmoSoluciondeProblema.pdf. [Último acceso: 2017].
[2] «dei.unipd.it,» [En línea]. Available: http://www.dei.unipd.it/~geppo/DA2/DOCS/definitions.pdf.
[3] J. Vasconcelos Santillán, de Introducción a la computación, México, Grupo editorial Patria, 2011, pp. 233-247.
[4] «ocw.uc3m.es,» [En línea]. Available: http://ocw.uc3m.es/ingenieria-informatica/teoria-de-automatas-y-lenguajes-
formales/material-de-clase-1/tema-8-complejidad-computacional.
[5] F. J. Pinales Delgado y C. E. Velázquez Amador, Problemariode algoritmos resueltos con diagrmas de flujo y pseudocódigo,
México: Editorial Universidad Autónoma de Aguascalientes, 2014.
[6] «slideshare,» [En línea]. Available: https://es.slideshare.net/AlejandroLeonCerna/algoritmos-y-programacion-en-c.
[7] «programacioncolvia.weebly,» [En línea]. Available: http://programacioncolvia.weebly.com/diagramas-de-flujo-
pseudocodigo-y-pruevas-de-escritorio.html.
Basic Elements of Algorithms
1109 Algorithms and Structured programming
Semester 2018-I
Grupo 1161

Facultad de Estudios Superiones Cuautitlán


Ingeniería en Telecomunicaciones Sistemas y Electronica
Carretera Cuautitlán-Teoloyucan Km. 2.5, San Sebastian Xhala
54714 Cuautitlán Izcalli, Méx.

Universidad Nacional
Autonoma de México Cuautitlan Izcalli, México 2017

Potrebbero piacerti anche