resolución de problemas y algoritmo

6
LOS ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizm i, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados o instrucciones que describe el proceso que se debe seguir, para dar solución a un problema específico. No podemos apartar nuestra vida de los algoritmos. Sin darnos cuenta nuestra vida cotidiana está llena de ellos. Pero de alguna forma se hacen transparente. Ejemplo de algoritmos cuando nos levantamos todos los días para ir a nuestro trabajo u lugar donde estudiamos, hacemos un conjunto de pasos antes de llegar a nuestros trabajos. Algoritmos en programación Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos para llevar a cabo una tarea. Los algoritmos son rigurosamente definidos para que la computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo, ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su ejecución. Las características fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos. Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente. Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean fáciles de realizar, incluso por programadores diferentes a sus propios autores. Los pasos para la resolución de un problema son: Diseño de algoritmo, que describe la secuencia ordenada de pasos que conducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo).

Upload: elespinosa

Post on 13-Apr-2017

90 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Resolución de problemas y algoritmo

LOS ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizm i,

nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de

números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados o instrucciones que describe el proceso que se

debe seguir, para dar solución a un problema específico.

No podemos apartar nuestra vida de los algoritmos. Sin darnos cuenta nuestra vida cotidiana

está llena de ellos. Pero de alguna forma se hacen transparente.

Ejemplo de algoritmos cuando nos levantamos todos los días para ir a nuestro trabajo u lugar

donde estudiamos, hacemos un conjunto de pasos antes de llegar a nuestros trabajos.

Algoritmos en programación

Un programa de computadora es un algoritmo que le dice a la computadora los pasos específicos

para llevar a cabo una tarea. Los algoritmos son rigurosamente definidos para que la

computadora pueda interpretarlos. El orden en que se ejecuta cada uno de los pasos que

constituyen un algoritmo es fundamental. El orden más básico es de arriba hacia abajo,

ejecutándose una instrucción tras otra de un código. Pero un algoritmo puede variar en su flujo

u orden de ejecución de pasos dependiendo de los valores de inicio o que entran durante su

ejecución.

Las características fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el

mismo resultado cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algún

momento; o sea, debe tener un numero finito de pasos.

Legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo

fácilmente.

Modificables: Estarán diseñados de modo que sus posteriores modificaciones sean

fáciles de realizar, incluso por programadores diferentes a sus propios autores.

Los pasos para la resolución de un problema son:

Diseño de algoritmo, que describe la secuencia ordenada de pasos que conducen a la

solución de un problema dado. (Análisis del problema y desarrollo del algoritmo).

Page 2: Resolución de problemas y algoritmo

Expresar el algoritmo como un programa de lenguaje de programación adecuado. (Fase

de codificación.)

Ejecución y validación del programa por la computadora.

Partes de un algoritmo

Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso

y salida. Donde:

Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso para

ofrecer los resultados esperados.

Proceso: Pasos necesarios para obtener la solución del problema o la situación planteada.

Salida: Resultados arrojados por el proceso como solución.

Ejemplo: Preparar una receta de cocina

Entrada: ingrediente y utensilios empleados.

Proceso: elaboración de la receta en la cocina.

Salida: terminación del plato (por ejemplo, pasticho).

Tipos de algoritmos. Existen dos tipos y son llamados así por su naturaleza:

Cualitativos: Son aquellos en los que se describen los pasos utilizando sólo palabras. Es

decir, en sus pasos o instrucciones para resolver un problema no están involucrados

cálculos numéricos.

Ejemplos: instrucciones para armar un aeromodelo, desarrollar una actividad física o

encontrar un tesoro, cursar una carrera a nivel superior, tejer un suéter entre otros.

Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los

pasos del proceso.

Ejemplos: Calcular el factorial de un número, solución de la ecuación de segundo grado,

encontrar el mínimo común múltiplo entre otros.

Lenguajes Algorítmicos: Un Lenguaje algorítmico es una serie de símbolos y reglas que se

utilizan para describir de manera explícita un proceso. Entre ellos se encuentran: Gráficos y no

gráficos.

Tipos de Lenguajes Algorítmicos

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

Page 3: Resolución de problemas y algoritmo

No Gráficos: Representa en forma descriptiva las operaciones que

debe realizar un algoritmo (seudocódigo).

INICIO

Edad: Entero ESCRIBA “cuál es tu edad?” Lea Edad SI Edad >=18 entonces ESCRIBA “Eres mayor de Edad” FINSI

ESCRIBA “fin del algoritmo” FIN

El diagrama de flujo (DF) o Flowchart es una de las técnicas de representación de algoritmos

más antigua, y consiste en representar mediante símbolos las operaciones a realizar. Por

ejemplo: el inicio y el fin del algoritmo se representan con un símbolo elíptico, las entradas y

salidas con un paralelogramo, las decisiones con un rombo, los procesos con un rectángulo, etc.

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin

embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean requeridos.

Algunos símbolos son:

Nombre Símbolo Función

Terminal

Representa el inicio y fin de un programa. También puede representar una parada o interrupción programada que sea necesaria realizar en un programa.

Entrada / salida

Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro de información procesada en un periférico.

Proceso

Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de

transformaciones, etc.

Decisión

Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del resultado de la misma determina (normalmente si y no) cual de los

distintos caminos alternativos del programa se debe seguir

Conector Misma Página

Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la

misma página del diagrama

Indicador de dirección o

línea de flujo Indica el sentido de la ejecución de las operaciones

Salida

Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.

Reglas para la creación de Diagramas de flujo

1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a

derecha.

Page 4: Resolución de problemas y algoritmo

2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la

dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo

horizontal o verticales (nunca diagonales).

3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a

un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta

que solo se van a utilizar conectores cuando sea estrictamente necesario.

4. No deben quedar líneas de flujo sin conectar

5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de

muchas palabras.

6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo

final.

7. Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

Pseudocódigo: Es una herramienta de programación en la que las instrucciones se describen en

palabras similares al inglés o español, que facilita tanto la escritura como la lectura de los

programas de computación.

Ventajas de utilizar un Pseudocódigo a un Diagrama de Flujo

Ocupa menos espacio en una hoja de papel

Permite representar en forma fácil operaciones repetitivas complejas

Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación.

Si se siguen las reglas se puede observar claramente los niveles que tiene cada

operación.

Ejemplo de algoritmo cualitativo.

Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados

en Pseudocódigo y en diagramas de flujos:

“Tengo un teléfono y necesito llamar a alguien pero no sé cómo hacerlo“.

Conceptos fundamentales para construir algoritmos cuantitativos.

Tipos de datos: Numéricos (enteros y reales); lógicos; carácter y cadenas de caracteres.

Page 5: Resolución de problemas y algoritmo

Identificador: Los datos a procesar por un computador, deben almacenarse en casillas o

celdas de memoria para su posterior utilización.

Declaración de variables: Es un proceso que consiste en listar al principio del algoritmo

todas las variables (identificador) que se usaran, además de colocar el nombre de la

variable que debe decir qué tipo de dato se almacenará ahí (real, entero, lógico, otros). Contador: entero Edad, I: entero Dirección: cadena_de_caracteres Salario_Basico: real Opción: carácter

Variable: Objetos que pueden cambiar su valor durante la ejecución del programa.

Constante: Son datos que no cambian durante la ejecución de un programa.

Bloque de asignación: La asignación consiste, en el paso de valores o resultados a una

zona de memoria. Dicha zona será reconocida con el nombre de la variable (identificador)

que recibe el valor. Un bloque de asignación se utiliza para asignar valores o expresiones

a una variable.

Escritura o salida de datos: Consiste en mandar por un dispositivo de salida (ej. monitor

o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje

escrito entre comillas o el contenido de la variable. Este proceso se representa así como

sigue:

Lectura o entrada de datos: La lectura o entrada de datos consiste en recibir desde un

dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en

la variable que aparece a continuación de la instrucción. Esta operación se representa

así:

Ejemplos de algoritmos cuantitativos

1) Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de

estos. Use Pseudocódigo y diagrama de flujos.

Page 6: Resolución de problemas y algoritmo

2) Escriba un algoritmo que permita conocer el área de un triángulo a partir de la base y la

altura. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.

Ejemplo 1

Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media

aritmética.

inicio

leer (a, b, c, d)

producto <-- (a * b * c * d)

suma <-- (a + b + c + d)

media <-- (a + b + c + d) / 4

escribir (producto, suma, media)

fin