31
Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

Embed Size (px)

Citation preview

Page 1: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

Lenguaje y Programación I

Algoritmos

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

Versión1.0

Page 2: 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…

Page 3: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 4: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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.

Page 5: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 6: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

Instrucciones secuenciales:

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

anterior.

Instrucción

Instrucción

Instrucción

Instrucción

Page 7: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 8: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 9: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

Tipos de Algoritmos

Cualitativos Cuantitativos

Todas sus instrucciones se describen con palabras

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

Page 10: 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 Cualitativos

Page 11: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 12: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

• 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.

Page 13: 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 Cuantitativos

Page 14: 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 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………

Page 15: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 16: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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)

Page 17: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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 …

Page 18: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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 …

Page 19: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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 …

Page 20: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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.

Page 21: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 22: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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.

Page 23: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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.

Page 24: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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)

Page 25: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

Entonces el algoritmo quedaría de la siguiente manera:

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

Page 26: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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)

Page 27: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 28: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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?

Page 29: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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.

Page 30: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

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

Page 31: Lenguaje y Programación I Algoritmos Por: Luis Ordoñez Universidad de Los Andes – PAD Mérida – Venezuela @Derechos Reservados 2013 Versión1.0

 

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.