Cuaderno de Actividades Algoritmos

CUADERNO DE TRABAJO INFORMATICA II (Materia) ING. JOSE ANGEL VENANCIO PEREZ (Docente) ________________________________

Views 72 Downloads 1 File size 712KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

CUADERNO DE TRABAJO

INFORMATICA II (Materia) ING. JOSE ANGEL VENANCIO PEREZ (Docente) ________________________________ (Alumno) Observaciones: _________________________ Calificación:____________________________

INTRODUCCION A LOS ALGORITMOS Objetivos: este tema pretende mostrar al alumno cómo, a partir de unas especificaciones de un problema del mundo real, diseñar una solución para dicho problema (algoritmo) susceptible de ser codificada en un lenguaje de programación. Con este objetivo se describirán las propiedades básicas de cualquier algoritmo, un conjunto de bloques básicos que permiten la construcción de algoritmos y diversas formas de representación de los algoritmos. En el tema también se mostrarán las distintas fases que se deben de seguir para buscar una solución a un problema del mundo real. En este tema no se aborda ningún lenguaje de programación particular; sino que se muestra cómo diseñar soluciones a problemas que sean fáciles de implementar en cualquier lenguaje de programación.

Algoritmos La resolución de un problema mediante un ordenador consiste en, partiendo de una especificación del problema, construir un programa que lo resuelva. Los procesos necesarios para la creación de un programa son: 1. Especificación y análisis del problema en cuestión. 2. Diseño de un algoritmo que resuelva el problema. 3. Codificación del algoritmo en un lenguaje de programación. 4. Validación del programa.

Un algoritmo es una secuencia ordenada de operaciones tal que su ejecución resuelve determinado problema. La palabra algoritmo viene de Al-Khwarizmi, sobrenombre del matemático árabe del siglo IX Mohámed ben Musa, que alcanzó gran reputación al enunciar paso a paso las reglas para sumar, restar, multiplicar y dividir números con decimales. Las características fundamentales que debe tener todo algoritmo son: Caracteristicas fundamentales • Debe ser preciso, es decir, indicar el orden de realización de cada paso. • Debe estar definido, esto es, si se ejecuta varias veces partiendo de las mismas condiciones iniciales debe obtenerse siempre el mismo resultado. • Debe ser finito (debe tener un número finito de pasos). • Debe ser independiente del lenguaje de programación que se emplee para implementarlo

Metodología y tecnología de la programación En cualquier algoritmo se pueden distinguir tres partes: la entrada de datos (la información sobre la cual se va a efectuar operaciones), procesamiento y salida del resultado (la información que debe proporcionar). Ejemplos clásicos de algoritmos son el algoritmo de Euclides, que sirve para encontrar el máximo común divisor de 2 números enteros positivos A y B, o el de Newton-Raphson, para hallar una raíz de una función. Veamos como ejemplo el algoritmo de Euclides: • Paso 1. Tomar el número mayor como dividendo y el menor como divisor. • Paso 2. Calcular el resto de la división entera. • Paso 3. Si el resto es igual a cero entonces ir al Paso 4. En caso contrario, tomar el divisor como nuevo dividendo y el resto como divisor y volver al Paso 2. • Paso 4. El m.c.d. es el divisor da última división.

Cómo escribir un algoritmo Un algoritmo debe escribirse sin ceñirse a las reglas de un lenguaje. Existen varias formas para describir las operaciones de las que consta un algoritmo: 

Descripción textual: consiste en describir los pasos de forma narrativa.



Lista de operaciones: es similar al texto, pero numerando los pasos, utilizando variables, etc. Es la descripción que se ha empleado para el algoritmo de Euclides.



Diagramas de Flujo: son una representación gráfica en la que se utilizan cajas, rombos, flechas y otros símbolos para indicar los pasos del algoritmo.

 Pseudocódigo: se utilizan palabras clave para identificar las estructuras del algoritmo, como alternativas, repeticiones, etc.

Realiza un resumen sobre los siguientes temas: algoritmos, características fundamentales, metodologías y tecnologías de la programación y como escribir un algoritmo ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________

Realizar el algoritmo que empleas todos los días al levantarte y dirigirte a clases

Realiza el algoritmo que emplearías para preparar una taza de café

Pseudocodigo: Recuerda que no es más que una serie de palabras claves que se utilizan de manera coherente, ordenada y precisa para resolver un problema. Por ejemplo: realizar el pseudocodigo para determinar el volumen de una caja de dimensiones A,B,C tal como se muestra en la siguiente figura:

1. 2. 3. 4. 5.

Inicio Leer las medidas A,B y C Realizar el producto V=A*B*C Escribir el resultado V Fin

Como podemos ver en este ejemplo se establece de forma precisa la secuencia de los pasos a realizar; además si se le proporciona siempre los mismos valores a las variables A,B,C el resultado del volumen siempre será el mismo y por consiguiente se cuenta con un final.

Veamos otro ejemplo: realizar el pseudocodigo que me determine el área de un triangulo 1. Inicio 2. Leer la base, y altura 3. Realizar el producto A=base*altura/2 4. Escribir el resultado A 5. Fin

Realiza el pseudocodigo para determinar el área de un cuadrado

Realiza el pseudocodigo para convertir de grados C a grados F

Realizar el pseudocodigo para calcular la distancia entre dos pares de puntos, asumiendo que la fórmula para calcular la distancia entre dos puntos es:

Se desea implementar un algoritmo para obtener la suma de dos números cualesquiera, realizar el pseudocodigo de dicho algoritmo.

Identificadores Antes de analizar cada una las herramientas que se utilizan en representación de algoritmos para la solución de problemas, se establecerá qué son los identificadores que se utilizan dentro de un algoritmo. Los identificadores son los nombres que se les asignan a los objetos, los cuales se pueden considerar como variables o constantes, éstos intervienen en los procesos que se realizan para la solución de un problema, por consiguiente, es necesario establecer qué características tienen. Para establecer los nombres de los identificadores se deben respetar ciertas reglas que establecen cada uno de los lenguajes de programación, para el caso que nos ocupa se establecen de forma indistinta según el problema que se esté abordando, sin seguir regla alguna, generalmente se utilizará la letra, o las letras, con la que inicia el nombre de la variable que representa el objeto que se va a identificar. Constante Un identificador se clasifica como constante cuando el valor que se le asigna a este identificador no cambia durante la ejecución o proceso de solución del problema. Por ejemplo, en problemas donde se utiliza el valor de PI, si el lenguaje que se utiliza para codificar el programa y ejecutarlo en la computadora no lo tiene definido, entonces se puede establecer de forma constante estableciendo un identificador llamado PI y asignarle el valor correspondiente de la siguiente manera: PI = 3.1416. De igual forma, se puede asignar valores constantes para otro identificadores según las necesidades del algoritmo que se esté diseñando. Variables Los identificadores de tipo variable son todos aquellos objetos cuyo valor cambia durante la ejecución o proceso de solución del problema. Por ejemplo, el sueldo, el pago, el descuento, etcétera, que se deben calcular con un algoritmo determinado, o en su caso, contar con el largo (L) y ancho (A) de un rectángulo que servirán para calcular y obtener su área. Como se puede ver, tanto L como A son variables que se proporcionan para que el algoritmo pueda funcionar, y no necesariamente se calculen dentro del proceso de solución.

Responde correctamente a cada pregunta 1. ¿Qué son los identificadores?

2. ¿Qué es una constante?

3. Menciona algunos ejemplos de constantes matemáticas

4. ¿Qué es una variable?

5. Menciona algunos ejemplos de variables

6. Que es un lenguaje de programación

7. Menciona los lenguajes de programación más usados

8. Que es un compilador

9. Menciona algunos compiladores

DIAGRAMAS DE FLUJO Lo diagramas de flujo son una herramienta que nos permiten representar visualmente que operaciones se requieren y en que secuencia se deben efectuar para solucionar un problema dado. Por consiguiente un diagrama de flujo es la representación gráfica mediante símbolos especiales, de los pasos y procedimientos de manera secuencial y lógica que se deben realizar para solucionar un problema. Los diagramas de flujo desempeñan un papel vital en la programación de un problema, ya que facilitan la comprensión de problemas complicados y sobre todo aquellos en que sus procesos son muy largos, generalmente los diagramas de flujo se dibujan antes de comenzar a programar el código fuente que se integrara posteriormente a la máquina. Los diagramas de flujo facilitan la comunicación entre los programadores y los usuarios, además de que permiten de una manera más rápida detectar los posibles errores de lógica que se representan al implementar el algoritmo. En la siguiente tabla se representan los principales símbolos para realizar los diagramas de flujo

Realiza una investigación para describir el significado de cada símbolo empleado en los diagramas de flujo. Símbolo

Significado (Para que se utiliza)

Resuelve la siguiente lista de ejercicios, en cada cuestión realiza el pseudocodigo y el diagrama de flujo. 1.- realizar el algoritmo y diagrama de flujo para determinar el volumen de un cubo.

Se desea implementar un algoritmo para obtener la suma de dos números cualesquiera. pseudocodigo

Diagrama de flujo

Un estudiante realiza cuatro exámenes durante el semestre, los cuales tienen la misma ponderación. Realice el pseudocódigo y el diagrama de flujo que representen el algoritmo correspondiente para obtener el promedio de las calificaciones obtenidas.

pseudocodigo

Diagrama de flujo

Se requiere conocer el área de un rectángulo. Realice un algoritmo para tal fin y represéntelo mediante un diagrama de flujo y el pseudocódigo para realizar este proceso.

pseudocodigo

Diagrama de flujo

Se requiere obtener el área de una circunferencia. Realizar el algoritmo correspondiente y representarlo mediante un diagrama de flujo y el pseudocódigo correspondiente. pseudocodigo

Diagrama de flujo

Una empresa constructora vende terrenos con la forma A de la figura 2.2. Realice un algoritmo y represéntelo mediante un diagrama de flujo y el pseudocódigo para obtener el área respectiva de un terreno de medidas de cualquier valor.

pseudocodigo

Diagrama de flujo

Se requiere obtener el área de la figura 2.3 de la forma A. Para resolver este problema se puede partir de que está formada por tres figuras: dos triángulos rectángulos, con H como hipotenusa y R como uno de los catetos, que también es el radio de la otra figura, una semicircunferencia que forma la parte circular (ver forma B). Realice un algoritmo para resolver el problema y represéntelo mediante el diagrama de flujo y el pseudocódigo.

pseudocodigo

Diagrama de flujo

Se requiere obtener la distancia entre dos puntos en el plano cartesiano, tal y como se muestra en la figura 2.4. Realice un diagrama de flujo y pseudocódigo que representen el algoritmo para obtener la distancia entre esos puntos.

pseudocodigo

Diagrama de flujo

Se requiere determinar la hipotenusa de un triángulo rectángulo. ¿Cómo sería el diagrama de flujo y el pseudocódigo que representen el algoritmo para obtenerla? Recuerde que por Pitágoras se tiene que: C2 = A2 + B2.