Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida...

Preview:

Citation preview

Lenguaje y Programación I

Algoritmos

Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela@Derechos Reservados 2013

Versión1.0

Algoritmos

Bienvenidos , el presente material te ayudará a comprender un poco más el interesante y apasionante mundo de los Algoritmos

Adelante…

Contenido

A continuación los puntos tratados en el material, haciendo click podrás ingresar a cada uno de ellos

1. Definición

2. Instrucciones definidas, secuenciales, ordenadas y finitas

3. Tipos de Algoritmos

4. Algoritmos Cualitativos

5. Algoritmos Cuantitativos

6. Diseño

7. Datos, Constantes y Variables

8. Operadores: Aritméticos, Lógicos y Relacionales

9. Análisis del Problema

10. Ejemplos

11. Problemas propuestos

12. Referencias

Antes que nada veamos su definición…

¿ Qué es un ALGORITMO?

Es un conjunto pre - escrito de instrucciones

o reglas bien definidas, ordenadas,

secuenciales y finitas que no generan

dudas y permiten resolver un problema.

Instrucciones definidas:

Cada instrucción realiza una actividad sin lugar a dudas, para

ello se usan verbos tales como: lea, haga, asigne, escriba,

entre otros.

Lea

Asigne

Haga

Escriba

Instrucciones secuenciales:

Cada instrucción se debe realizar después de la instrucción

anterior.

Instrucción

Instrucción

Instrucción

Instrucción

Instrucciones ordenadas:

Siempre mantienen un orden en función al problema

que resuelven, desde el inicio hasta el fin.

Inicio

Instrucción

Instrucción

Fin

Instrucción

El número de Instrucciones es finito:

El número de instrucciones que contiene el algoritmo es

conocido.

Inicio

Instrucción

2

Instrucción

(n)

Fin

Instrucción

1

Tipos de Algoritmos

Cualitativos Cuantitativos

Todas sus instrucciones se describen con palabras

Sus instrucciones se describen con formulas y/o operaciones matemáticas

Algoritmos Cualitativos

ALGORITMO PARA HACER UNA TORTA

1. Inicio (algoritmo hacer torta)2. Buscar los ingredientes3. Mezclar muy bien el azúcar con la mantequilla4. Añadir harina, huevos y leche5. Mezclar todos los ingredientes6. Verter en un molde (previamente cubierto con mantequilla y harina). 7. Llevar al horno (ya calentado)8. Retirar del horno9. Dejar enfriar10. Fin (algoritmo hacer torta)

Observa en el algoritmo las características: instrucciones definidas, ordenadas, secuenciales y finitas

• Realiza el algoritmo para efectuar una llamada

telefónica.

Ahora es tu oportunidad:

• Enumera en instrucciones las

actividades que realizas diariamente

desde que despiertas hasta que sales de

tu casa.

Algoritmos Cuantitativos

Algoritmos Cuantitativos

Continuando con los algoritmos recordemos su definición y los dos tipos: cualitativos y cuantitativos, del primero se vieron algunos ejemplos, uno de ellos: los pasos para hacer una torta. Sin embargo, en el mundo de la programación de computadoras son necesarios los CUANTITATIVOS, algoritmos que permiten crear el diseño de programas para ser usados en el computador. Estos algoritmos son representados por pasos o instrucciones que involucran cálculos numéricos en busca de un resultado satisfactorio, como por ejemplo los pasos que se deben seguir para la resolución de la ecuación cuadrática. Entonces, veamos en que consisten………

El acto de diseñar algoritmos puede considerarse como una

tarea que difícilmente podrá ser del todo automatizada. Todo

problema es un reto para el diseñador: algunos resultan

inmediatos de resolver, otros son bastante complejos. La

investigación en esta área ha permitido descubrir un conjunto

de métodos o esquemas de diseño hacia los cuales puede

orientarse la realización de muchos algoritmos. Idear un

algoritmo es una labor bastante creativa donde los

conocimientos y la experiencia del propio diseñador tienen un

papel fundamental.

Diseño de Algoritmos

Primero que nada, en el desarrollo de algoritmos se deben tener

claros algunos conceptos, como:

•Datos

•Constantes

•Variables

•Operadores (Aritméticos, Lógicos y

Relacionales)

Datos

Los datos son objetos sobre los que opera una computadora, se

tienen:

Datos numéricos: relativos a diferentes clases de números.

Enteros (sin parte decimal) y reales (con parte entera y decimal).

Datos tipo caracter (cadena): son caracteres que puede

interpretar la computadora: alfabéticos A - Z, a - z; dígitos 0 - 9;

especiales $, *, >, <, . , “, ´´,; :,.... Un dato tipo caracter es un

solo caracter.

Los caracteres se organizan en cadenas (secuencia de caracteres

válidos encerrados entre comillas o comillas dobles).

Datos lógicos o booleanos: aquellos que sólo pueden tomar

dos valores: cierto o falso (true / false)Que dices de los datos, te parecen útiles? Piensa en ejemplos …

Constantes

Vienen a estar representadas por un conjunto de caracteres

numéricos o no numéricos que no cambian durante la ejecución

del programa. Pueden estar precedidos de un signo o un caracter

+ o - y pueden contener el caracter . (punto). Las hay enteras,

reales, caracteres, cadena de caracteres y booleanas.

Y las constantes, cual es su utilidad? Piensa en ejemplos …

Variables

Estas son conocidas como un conjunto de caracteres alfabéticos

o alfanuméricos tal que su primer caracter sea alfabético,

ejemplos: José, M1, Sex, Num, Hora, Cedula, x100

Pueden cambiar su valor en asignaciones durante la ejecución del

programa. Ej. X=100, X= 20, nombre =“luis”, nombre=“pedro”

Es conveniente utilizar nombres significativos, mnemotécnicos,

que sugieran lo que representan para facilitar la lectura y

comprensión del algoritmo.

Y las variables que hay de ellas, como se usan? Imagina ejemplos …

Aritméticos

suma +, resta - , multiplicación * , división / , potencia ^ ,

división entera \ ó div, resto de división entera mod

Prioridad de las operaciones aritméticas:

^ , *, / , +, - , div, mod

Todas las subexpresiones entre paréntesis se evalúan primero,

comenzando con el paréntesis más interno.

OperadoresTodos aquellos símbolos que enlazan los argumentos que intervienen en una operación, se utilizan para construir expresiones.

Lógicos

Estos operadores permiten relaciones lógicas (si/no) y sirven

para representar condiciones compuestas.

no (not) no p negación de p

y (and) p y q conjunción de p y q

o (or) p o q disjunción de p y q

Relacionales

Son utilizados para expresar condiciones como las siguientes:

= igual, <> diferente, <= menor o igual, >= mayor o igual

> mayor que, < menor que

El resultado de la operación que a continuación se muestra:

Expresión1 operador relacional Expresión2

…será verdadero o falso.

Estos operadores de relación se pueden aplicar a cualquiera de

los cuatro tipos de datos estándar: entero, real, lógico y caracter.

Una vez planteado un problema se deben determinar tres

elementos que son la base para el diseño del algoritmo:

denominado análisis de Entrada-Proceso-Salida (E-P-S)

Análisis del problema

Entrada (E): todo algoritmo debe tener cero (0) o más elementos

de entrada. Como valores, cantidades y condiciones.

Proceso (P): cálculos necesarios para encontrar la solución del

problema.

Salida (S): todo algoritmo produce uno o más elementos como

resultado.

Veamos el siguiente ejemplo:

Se desea hacer el algoritmo para determinar la suma de dos números.

Primero debemos hacer el análisis E-P-S

Entrada: serán los números a ser sumados, que llamaremos a

y b respectivamente.

Proceso: corresponde a la suma de los dos números de entrada

a + b

Salida: c (variable que recibe el valor de la suma obtenida)

Entonces el algoritmo quedaría de la siguiente manera:

Imagina hacer esto un millón de veces……. ¿SI AYUDAN LOS ALGORITMOS Y LOS PROGRAMAS ?……

Otro ejercicio:

Se desea hacer el algoritmo para calcular el área de un triangulo.

Primero debemos hacer el análisis E-P-S

Entrada: sabemos que el área de un triangulo se determina a

partir de sus lados, en este caso la base (B) y la altura(A),

entonces la entrada serán esos valores B y A.

Proceso: escribimos la formula:

Salida: AT (es el área del triangulo obtenida)

Entonces el algoritmo quedaría de la siguiente manera:

Algoritmo area_triangulo

Variables real AT, B, A Inicio escribir (“ingrese el valor de la base:”) lea (B) escribir (“ingrese el valor de la altura:”) lea (A) asigne a AT =( B*A ) / 2 escriba (“El área del Triangulo es:”, AT)Fin

Como has observado, los algoritmos trabajados son cuantitativos,

algoritmos INDISPENSABLES para la programación de

computadoras. Hasta ahora solo se han tratado las instrucciones

denominadas SECUENCIALES, donde una instrucción sigue la

otra de manera estricta, sin embargo existen otros tipos de

instrucciones como lo son las de DECISIÓN y de REPETICIÓN las

cuales serán tratadas en próximas clases.

Las instrucciones secuenciales, de decisión y de repetición

conforman la base de la denominada PROGRAMACIÓN

ESTRUCTURADA.

Después de este recorrido que piensas de los algoritmos, serán importantes?

Los algoritmos representan el diseño de

programas que serán ejecutados por el

computador, estos representan el inicio a la

solución de grandes problemas de información

de la vida diaria, del mundo que nos rodea.

Referencias

Joyanes Aguilar, Luis (1996) Fundamentos de programación: algoritmos y estructura de datos. España: McGraw Hill. Joyanes, L., Zahonero, I., Fernández, M. y Sánchez, L. (1999) Estructura de datos. Libro de problemas. España : McGraw Hill. Tovar, Edgar (2012) Algoritmo y Diagrama de Flujo [Documento en línea] Disponible en: http://www.monografias.com/trabajos94/algoritmo-y-diagrama-flujo/algoritmo-y- diagrama-flujo.shtml

Sitios a visitar -->Algoritmos Cuantitativos y Cualitativos –

ScribdApuntes de Informática: AlgoritmoEjercicios de algoritmos - SlideShare

"Todos los cursos de programación deben apoyarse en la resolución de gran número de problemas que permitan al alumno adquirir práctica que le facilite el aprendizaje.” Luis Joyanes Aguilar, Madrid, 1996

 

Problemas Propuestos

A continuación te presentamos algunos problemas de algoritmos, aplica las técnicas necesarias para resolverlos…

1. Diseña un algoritmo que calcule el área de un triángulo en función de las longitudes de sus lados.

2. Elabora un algoritmo que permita calcular el volumen de un cilindro (radio y altura se ingresan desde el teclado).

3. Haga un algoritmo que calcule :Área de un circulo => Área = p r 2

Área de un triángulo => Área =(b*h) / 24. Diseña un algoritmo para la conversión una medida de metros a pies y pulgadas. 5. Elabora un algoritmo que convierta una temperatura dada en centígrados a fahrenheit. 6. Dado un carácter alfabético en mayúsculas, elabore un algoritmo que imprima en pantalla su

equivalente en minúscula (consulte el código ASCII). 7. Haga un algoritmo para calcular el IVA de un valor digitado por el teclado, mostrar este

resultado y el de sumar el IVA al valor digitado. 8. Elabora un algoritmo para mostrar la cantidad de miles, centenas, decenas y unidades de un

número entero digitado por teclado. 9. Haga un algoritmo que calcule el área de una cara de un cubo y su volumen.10. Construye el algoritmo que lea dos puntos (x, y) y calcule la distancia entre ellos.