Upload
sebastian-carrizo-benitez
View
223
Download
0
Embed Size (px)
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.