fundamentos de algoritmos

22
Computabilidad: Término matemático para nombrar a los estudios sobre teoría de la computación. Consiste en encontrar la representación adecuada para la descripción de un problema o un fenómeno. Conocimiento transmisible: se da si se cierra el ciclo FUNDAMENTOS DE ALGORITMOS Descripción Representaci ón

Upload: polo-arturo-mogollon-galecio

Post on 11-Dec-2015

216 views

Category:

Documents


0 download

DESCRIPTION

Fundamentos de Algoritmos

TRANSCRIPT

Page 1: Fundamentos de Algoritmos

Computabilidad: Término matemático para nombrar a

los estudios sobre teoría de la computación. Consiste en encontrar la representación adecuada para la descripción de un problema o un fenómeno.

Conocimiento transmisible: se da si se cierra el ciclo

FUNDAMENTOS DE ALGORITMOS

Descripción Representación

Page 2: Fundamentos de Algoritmos

Modelo: Especificación, generalmente en

términos de un lenguaje matemático, de los pasos necesarios para reproducir, aquí y ahora, un subconjunto determinado de la realidad descrito previamente

FUNDAMENTOS DE ALGORITMOS

Page 3: Fundamentos de Algoritmos

FUNDAMENTOS DE ALGORITMOS

1. Definición o análisis del problema: Descripción específica y comprensible del problema a resolver

2. Diseño del algoritmo: Planteamiento de los pasos a seguir para resolver el problema

3. Transformación del algoritmo en un programa independientemente del lenguaje de programación.

4. Ejecución y validación del programa

5. Mejoras y correcciones al programa

Page 4: Fundamentos de Algoritmos

Algoritmo: Conjunto ordenado y finito de

pasos u operaciones que permite hallar la solución de un problema. Es un método formal y sistemático de representar la descripción de un proceso.

CARACTERÍSTICAS: Definido: debe indicar el orden de la realización de cada

paso y no debe tener ambigüedad Preciso: Si se sigue dos veces o más se obtendrá e el

mismo resultado cada vez Finito: Debe terminar en algún momento. Tiene un

número determinado de pasos

FUNDAMENTOS DE ALGORITMOS

Page 5: Fundamentos de Algoritmos

Correcto: Sin errores Debe tener al menos una salida Su solución debe ser concreta Debe ser sencillo y legible Eficiente y efectivo Se ha de desarrollar en el menor tiempo posible

Un algoritmo debe describir tres partes: Entrada(s) : elementos o condiciones iniciales

necesarios para resolver el problema. Proceso : elaboración del procedimiento. Salida(s): Resultados que se desean obtener

FUNDAMENTOS DE ALGORITMOS

Page 6: Fundamentos de Algoritmos

Pseudocódigo: Representación descriptiva de las

operaciones de un algoritmo. Representa una secuencia lógica de actividades, que llevarán en conjunto a la solución de un problema. Los elementos que debe llevar un algoritmo son Cabecera del algoritmo: Existen pasos o

procedimientos que se realizan para comenzar un programa. Siempre que se haga debe ponerse un encabezado de programa, en donde debe expresarse el identificador o nombre correspondiente con la palabra reservada que señale el lenguaje, generalmente ésta suele ser program que en algoritmia significa algoritmo

Declaración de Variables: En este punto se describen todas las variables que son usadas en el algoritmo, haciendo una lista de sus nombres y especificando a qué tipo corresponde cada uno.

FUNDAMENTOS DE ALGORITMOS

Page 7: Fundamentos de Algoritmos

Declaración de Constantes: En este punto

se declararán todas las constantes de carácter estándar; es decir, que tengan nombre y un valor ya conocido o valores que ya no pueden variar en el transcurso del algoritmo

Cuerpo del algoritmo: Una vez añadidas la cabecera y la declaración de variables y constantes se procede a realizar los pasos del algoritmo

A continuación se muestra un ejemplo:

FUNDAMENTOS DE ALGORITMOS

Page 8: Fundamentos de Algoritmos

FUNDAMENTOS DE ALGORITMOS

Algoritmo Área_Círculo{Cálculo del área de un circulo pidiendo el radio al usuario}

var r, A: realcte: :real

InicioMostrar “Dame el radio”Leer rA <- *r^2Mostrar “El área es:”, A

Fin

Cabecera Nombre del

algoritmo {Comentario con

descripción del problema}

Declaración de variables y constantes

Cuerpo del algoritmo

Page 9: Fundamentos de Algoritmos

Diagrama de flujo: Es la representación gráfica

de las operaciones de un algoritmo. Contiene símbolos gráficos que se encuentran estandarizados. Los símbolos más comúnes son:

FUNDAMENTOS DE ALGORITMOS

Page 10: Fundamentos de Algoritmos

Dia

gra

mas

de f

lujo

más

com

únes

Page 11: Fundamentos de Algoritmos

Dia

gra

mas

de f

lujo

más

com

únes

(cont.

)

Page 12: Fundamentos de Algoritmos

InicioInicio

var r, A: realcte: :realvar r, A: realcte: :real

“Dame el radio:”

“Dame el radio:”

rr

A <- *r^2A <- *r^2

AA

AA

“El área es ”, A, “u^2”

“El área es ”, A, “u^2”

FinFin

Page 13: Fundamentos de Algoritmos

Instrucciones que se le dan a la

Computadora Un algoritmo se compone de muchos pasos,

todos diferentes, los que son interpretados como instrucciones (lenguaje de bajo nivel), sentencias o proposiciones (lenguaje de alto nivel). Entonces, en un programa, la secuencia de instrucciones especifica las operaciones que la computadora debe realizar.

FUNDAMENTOS DE ALGORITMOS

Page 14: Fundamentos de Algoritmos

Las instrucciones básicas y comunes pueden

dividirse en cuatro grupos: Instrucciones de Entrada /Salida: Transferencia de

datos e información entre dispositivos periféricos (teclado, impresora, unidad de disco, etc.) y memoria central.

Instrucciones Aritmético-Lógicas: Tienen la función de ejecutar operaciones aritméticas (suma, resta, multiplicación, división, potenciación), lógicas (operaciones and, or, not, etc.).

Instrucciones Selectivas: Estas permiten la elección de una tarea entre varias alternativas en función de los resultados de diferentes expresiones condicionales.

Instrucciones Repetitivas: Permiten la repetición de secuencias de instrucciones, un número determinado o indeterminado de veces.

FUNDAMENTOS DE ALGORITMOS

Page 15: Fundamentos de Algoritmos

CONSTANTES Y VARIABLES Las constantes son datos cuyos valores no

cambian, pero existen datos cuyos valores sí varían durante la ejecución del programa, a éstos los llamamos variables. En la mayoría de los lenguajes de programación se permiten diferentes tipos de constantes: enteras, reales, caracteres y boolean o lógicas, quienes representan datos de estos tipos.

Entonces una variable se conoce como un objeto, o partida de datos cuyo valor puede cambiar durante la ejecución del algoritmo o programa.

A las variables y a las constantes se les conoce o identifica por los atributos siguientes: nombre o identificador que lo asigna y tipo que describe el uso de la variable.

FUNDAMENTOS DE ALGORITMOS

Page 16: Fundamentos de Algoritmos

Identificadores:

Deben empezar con letra, excepto ñ o Ñ, o guión bajo y estar seguidos de cero o más letras, números o guiones bajos

No se permiten símbolos como $ ¡ ! ¿ ? ° | & - % # @ , . ‘ “ / \ o espacios en

blanco y tabuladores Palabras reservadas: Existe un conjunto

palabras que se utilizan tanto en pseudocódigo como en los lenguajes de programación no pueden ser utilizadas como nombres de identificadores ni de funciones.

FUNDAMENTOS DE ALGORITMOS

Page 17: Fundamentos de Algoritmos

OPERACION DE ASIGNACION Se le otorgan valores a una variable. Esta

operación de asignación se conoce como instrucción o sentencia de asignación, si es que está en un lenguaje de programación

La operación de asignación es representada por un símbolo u operador:

La acción de asignar puede ser destructiva ya que puede perderse el valor que tuviera la variable antes, siendo reemplazado por el nuevo valor. Las acciones de asignación se clasifican según sea el tipo de expresiones en: Asignación aritméticas, Asignación lógica y Asignación de caracteres

FUNDAMENTOS DE ALGORITMOS

Page 18: Fundamentos de Algoritmos

EXPRESIONES Son la combinación de constantes, variables,

símbolos de operación, paréntesis y nombres de funciones especiales, idea que puede ser utilizada en notaciones de matemática tradicional. Los valores de las variables nos permitirán determinar el valor de las expresiones, debido a que éstos están implicados en la ejecución de las operaciones indicadas. Estas constan de operandos y operadores.

Según el tipo de objetos que manipulan, pueden clasificarse en: Aritméticas -> resultado tipo numérico. relacionales -> resultado tipo lógico. lógicas -> resultado tipo lógico. caracter -> resultado tipo caracter.

FUNDAMENTOS DE ALGORITMOS

Page 19: Fundamentos de Algoritmos

Expresiones Aritméticas Estas expresiones son análogas a las fórmulas

matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas

Operadores aritméticos Precedencia - (operador monario) ^ (exponenciación), (radicación) *, / (división real), +, - div o / (cociente de división entera) , mod o %

(residuo de división entera)

FUNDAMENTOS DE ALGORITMOS

Page 20: Fundamentos de Algoritmos

Expresiones lógicas: Su valor es siempre

verdadero o falso. Se forman combinando constantes lógicas ,

variables lógicas y otras expresiones lógicas, utilizando los operadores lógicos y los operadores relacionales

Operadores relacionales Precedencia >, < >=, <= = o == (igualdad) <> o != (desigualdad)

FUNDAMENTOS DE ALGORITMOS

Page 21: Fundamentos de Algoritmos

Operadores lógicos Precedencia ! o ~ o not (negado) and o && (conjunción) or o || (disyunción) Nota: En C un valor

falso se toma como 0 y un valor verdadero se toma como cualquier valor diferente de cero

FUNDAMENTOS DE ALGORITMOS

A NOT

F V

V F

A B AND OR

F F F F

F V F V

V F F V

V V V V

Page 22: Fundamentos de Algoritmos

ENTRADA Y SALIDA DE INFORMACION El ingreso de datos es importante para que la

computadora realice los cálculos; esta operación es la entrada, luego, estos datos se convertirán en resultados y serán la salida.

A la entrada se le conoce como operación de Lectura (read). La operación de lectura se realiza a través de los dispositivos de entrada que son (teclado, unidades de disco, CD-Rom, etc.).

La operación de salida se realiza por medio de dispositivos como (monitor, impresora, etc), a esta operación se le conoce como escritura (write).

FUNDAMENTOS DE ALGORITMOS