P. 1
Guia No

Guia No

|Views: 363|Likes:
Published by api-3711538
El desarrollo de algoritmos es un tema fundamental en el diseño de programas por lo cual el estudiante debe tener buenas bases que le sirvan para poder desarrollar de manera fácil y rápida sus Aplicaciones.
El desarrollo de algoritmos es un tema fundamental en el diseño de programas por lo cual el estudiante debe tener buenas bases que le sirvan para poder desarrollar de manera fácil y rápida sus Aplicaciones.

More info:

Published by: api-3711538 on Oct 15, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

MEDIA TÉCNICA DESARROLLO DE SOFTWARE GUIA DE APRENDIZAJE # 5 TEMA: Diseño y Arquitectura de Algoritmos.

TEMA: DOCENTE: Juan Carlos Pérez ALUMNO_____________________________________Fecha______________Nota________ JUSTIFICACIÓN: El desarrollo de algoritmos es un tema fundamental en el diseño de programas por lo cual el alumno debe tener buenas bases que le sirvan para poder desarrollar de manera fácil y rápida sus Aplicaciones. OBJETIVOS: Conocerá la terminología relacionada con los algoritmos; así como la importancia de aplicar técnicas adecuadas de programación. CONTENIDO: Definición de Algoritmo La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, 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 que describe el proceso que se debe seguir, para dar solución a un problema especifico. Tipos de Algoritmos • • Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

Lenguajes Algoritmicos Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. Tipos de Lenguajes Algoritmicos • Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).

ENTRADA Y SALIDA DE LA INFORMACIÓN: Las dos operaciones básicas de cada salida son las de lectura y de escritura. La lectura es equivalente a la asignación en cuanto que va a haber una variable que recibe un valor, pero este valor no resulta de evaluar ninguna expresión, sino que el valor lo vamos a leer de un dispositivo externo de entrada. Leer (nombre de la variable). El valor introducido por el dispositivo externo, tiene que ser del mismo tipo del que la variable que se le asigne. La operación de escritura lo que hace es mostrar el valor de una variable en un

Preparado por: Juan Carlos Pérez P. versión 1.1 www.esnips.com/web/desarrollo

dispositivo externo de salida. Escribir (variable)La operación de escritura no es una operación destructivo en memoria.Al pedir un valor al usuario hay que decirle que es lo que se le quiere pedir escribiendo un mensaje. Los tipos de datos pueden ser: - Simples: Un elemento(Numéricos, Lógicos,Alfanuméricos) Numéricos Entero: Subconjunto finito del conjunto matemático de los numéros enteros. No tiene parte decimal. El rango de los valores depende del tamaño que se les da en memoria. - Real: Subconjunto finito del conjunto matemático de los números reales. Llevan signo y parte decimal. Se almacenan en 4 Bytes (dependiendo de los modificadores). Si se utilizan números reales muy grandes, se puede usar notación científica que se divide en mantisa, base y exponente; tal que el valor se obtiene multiplicando la mantisa por la base elevada al exponente. Lógicos o booleanos: - Aquel que sólo puede tomar uno de los dos valores, verdadero o falso (1/0). Alfanuméricos: - Abarca al conjunto finito y ordenado de caracteres que reconoce la computadora (letras, digitos, carácteres especiales, ASCII). Tipo de cadena o String: Conjunto de caracteres, que van a estar entre “”. El propio lenguaje puede añadir más tipos, o se pueden añadir modificadores. Entero : Int Long int En algunos lenguajes se definen tipos especiales de fecha y hora, sobre todo en los más modernos. CONSTANTES Y VARIABLES: - Constantes: Tienen un valor fijo que se le da cuando se define la constante y que ya no puede ser modificado durante la ejecución. - Variables: El valor puede cambiar durante la ejecución del algoritmo, pero nunca varia su nombre y su tipo. Antes de usar una variable hay que definirla o declararla, al hacerlo hay que dar su nombre y su tipo. El nombre que le damos tiene que ser un nombre significativo, va a ser un conjunto de caracteres que dependiendo del lenguaje hay restricciones. Tiene que empezar por una letra, y el tamaño depende del lenguaje. Identificador: Palabra que no es propia del lenguaje. El valor de la variable si al declararla no se la inicializa, en algunos lenguajes toma una por defecto. En cualquier caso el valor de la variable podemos darle uno incial o podemos ir variandolo a lo largo de la ejecución. Las constantes pueden llevar asociados un nombre o no, si no lo llevan, se llaman literales. Su valor hay que darlo al definir la constante y ya no puede cambiar a lo largo de la ejecución, y en cuanto al tipo, dependiendo de los lenguajes en algunos hay que ponerlo, y en otros no hace falta ponerlo porque toma el tipo del dato que se le asigna. Const PI=3,1416. Hay que inicializar todas las variables. La ventaja de usar constantes con nombre es que en cualquier lugar donde quiera que vaya la constante, basta con poner su nombre y luego el compilador lo sustituira por su valor. Las constantes sin nombres son de valor constante: 5, 6, ‘a’, “hola”. Cuando una cadena es de tipo carácter, se encierra entre ‘’ ‘a’. Relación entre variables y constantes en memoria: Al detectar una variable o una constante con nombre, automáticamente se reserva en memoria espacio para guardar esa variable o constante. El espacio reservado depende del tipo de la variable. En esa zona de memoria es en la que se guarda el valor asociado a la variable o constante y cuando el programa use esa variable, ira a esa zona de memoria a buscar su valor.

EXPRESIONES: TIPOS Y OPERADORES:

Preparado por: Juan Carlos Pérez P. versión 1.1 www.esnips.com/web/desarrollo

Una expresión es una combinación de constantes, variables, signos de operación, paréntesis y nombres especiales (nombres de funciones estandar), con un sentido unívoco y definido y de cuya evaluación resulta un único valor. Toda expresion tiene asociada un tipo que se corresponde con el tipo del valor que devuelve la expresion cuando se evalua, por lo que habrá tantos tipos de expresiones como tipos de datos. Habra expresiones numéricas y lógicas. Numéricas: Operadores aritméticos.

Son los que se utilizan en las expresiones numéricas (una combinación de variables y/o constantes numéricas con operadores aritméticos y que al evaluarla devuelve un valor numérico. +, -, *, /.
Operación resto: Lo que devuelve es el resto de una división entera. Mod: 5 mod 3 = 2 División entera: Nos devuelve el cociente de una división entera (en la que no se sacan decimales). Div: 5 div 3 = 1 Potencia: ^ 5^2. Todos estos operadores son binarios (el operador se situa en medio), el menos tambien puede ser unario (lleva un único operando) y significa signo negativo. Reglas de precedencia: El problema es cuando una expresión entera según como la evalue pueda dar diferentes valores. 7*3+4 25 49 La solución es aplicar prioridad entre los operadores, de modo que ante la posibilidad de usar varios siempre aplicaremos primero el de mayor prioridad. Cada lenguaje puede establecer sus propias reglas de prioridad o precedencia de operadores. Si no nos acordamos, siempre podemos poner ( ). 1) ( ) 2) ** (^) 3) * / div mod 4) + Entre dos operaciones que tienen la misma precedencia para resolver la ambigüedad, hay que usar la regla de la asociatividad. La más normal es la de la asociatividad a izquierdas (primero lo de la izquierda). Expresiones lógicas: Operadores relacionales y lógicos. Una expresión lógica es aquella que sólo puede devolver dos valores (Verdadero o Falso). Los valores que pueden aparecer en una expresión lógica son de 2 tipos: lógicos y relacionales. La particularidad de las expresiones lógicas es que mientras en una expresión numérica por devolver un valor numérico los operandos solo pueden ser números, en una expresión lógica los operandos no tienen porque ser booleanos aunque se devuelva un valor booleano. Esto es lo que ocurre cuando en la expresión lógica utilizamos operadores relacionales con lo cual se obtienen valores lógicos o booleanos a partir de otros que no lo son. En cambio cuando los operadores son lógicos los operandos obligatoriamente tambien tienen que ser lógicos. Operadores relacionales: < Menor que > Mayor que = Igual Que <> Distinto que ≤ Menor e igual que ≥ Mayor e Igual que < Operando1> operador < Operando2> 5 > 3 Verdadero

¿Cómo se evalua una expresión relacional?: Primero se evalua el primer operando y se sustituye por su valor. Luego se evalua el seguno operando y se sustituye por su valor. Finalmente se aplica el operador relacional y se devuelve el valor booleano correspondiente.

Preparado por: Juan Carlos Pérez P. versión 1.1 www.esnips.com/web/desarrollo

((3*2)+1-5^2) < (2-1) -18 < 1 Verdadero. El problema del tipo real: Desde la informática, los numeros reales son finitos, ya que tenemos un máximo de cifras decimales. Cuando trabajamos con un =, matematicamente da un valor exacto, pero informaticamente no es exacto. 1/5 * 5 =1 1.0/5.0 *5.0 <>1.0 Soluciones: - La que nos aporte el propio lenguaje de programación. Se considera un valor de error. - Trabajar con números enteros siempre que sea posible. - Utilizar las comparaciones <> en vez de ≤ ≥ si es posible. - Si hay que preguntar por igual, cambiar la condición utilizando valores absolutos y un valor mínimo de error. Operadores lógicos: El problema es que a veces queremos preguntar o evaluar por más de una condición al mismo tiempo y para esto estan los operadores lógicos. Y and Λ O or V No not ~ El resultado es lógico y depende de: Operando 1 V V F F Operando 2 V F V F AND V F F F OR V V V F

Prioridades de los operadores: - Lo más prioritario es el NOT - Luego el Y y el O. - <, > =,... Tabla de prioridades: ^ NOT / div mod y +-O <, >, =, <>,... Actividades : Resuelva los siguientes ejercicios N= (8+2) ** 2 + 6 **2 / 6 – 3 + 6*2 X= (8+6) * 2 + 2 **2 / 9 – 2 + 8* 4 Z = 5* *3 + 4 **2 / 6 – 5 + 6* 3 U= (10 - 6) * *2 + 4 *2 / 6 – 2 + 7* 2

N = X= Z= U=

SUPONGA QUE LAS VARIABLES A, B, C, D, NOM Y EDAD ALMACENAN RESPECTIVAMENTE LOS DATOS : A= 10 , B= 8, C= 10 , D=3 NOM="CARLOS" , EDAD=34 (A>B) Y (C < D) (A<B) O (NOM ∼ "CARLOS") (NOM "CARLOS") Y (C > D) ESTA ESTA ESTA ESTA ESTA ESTA EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES

(NOM ="CARLOS" ) Y (C >= D) ( (A > B) O (B > C) ) Y (NOM= "CARLOS") ∼ ( A > D) Y (B > C)

Preparado por: Juan Carlos Pérez P. versión 1.1 www.esnips.com/web/desarrollo

(A>B) O (B < C) (A>B) O (B > C) (A<B) O (B < C) (A=B) O (B = C)

ESTA ESTA ESTA ESTA

EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES

SUPONGA QUE LAS VARIABLES A, B Y C ALMACENA RESPECTIVAMENTE LOS VALORES A=10, B=1 ,C=8 (A>B) Y (B < C) (A>B) Y (B > C) (A>B) Y (B < C) (A=B) Y (B < C) (A<B) Y (B > C) (A>=B) Y (A <= C) (A>B) O (B < C) ESTA ESTA ESTA ESTA ESTA ESTA ESTA EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES EXPRESION ES

Realice los siguientes algorItmos en pseudocódigo ó diagrama de flujo de datos 1. imprima su nombre, sexo, edad y estado civil 2. lea desde el teclado el nombre y la edad de cualquier persona e imprima tanto el nombre como la edad 3. lea desde el teclado el nombre y la edad de cualquier persona e imprima el nombre de la persona solo si es mayor de edad. 4. lea desde el teclado el nombre y la edad de cualquier persona e imprima el nombre de la persona solo si es mayor de edad, en caso contrario imprima un mensaje que diga ‘no puedes votar’. 5. lea desde el teclado el nombre, la edad y el sexo de una persona e imprima el nombre de la persona solo si la persona es de sexo masculino y mayor de edad. Suponga que el sexo tiene 1 para la palabra masculino y un 2 para la palabra femenino. 6. lea desde el teclado el nombre, la edad, el sexo (1 o 2) y el estado civil de cualquier persona e imprima todos los datos solo si la persona es soltera y mayor de edad. 7. lea el nombre, la edad, el sexo (1 o 2) y el estado civil de cualquier persona e imprima el nombre de la persona y un mensaje que diga ‘usted no se manda’ solo si la persona es hombre o mujer menor de edad o es hombre casado de cualquier edad. En los demás casos imprima el nombre de la persona. 8. lea un número e imprima el número y el valor absoluto del mismo. 9. lea dos números. Calcule la suma e imprima la suma y los dos números. 10. lea dos números e imprima solo los positivos. 11. lea dos números e imprima ambos solo si son positivos 12.lea dos números e imprima ambos números si por lo menos uno de ellos es positivo. 13 lea dos números e imprima ambos números solo si son de diferente signo y distintos de cero. 14. lea dos números calcule la suma e imprima los dos números leídos solo si la suma es negativa 17. leer el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario 18. leer un número y calcular el 5% del número leído. 19. elaborar un algoritmo que calcule e imprima el área de un círculo, sabiendo que se

Preparado por: Juan Carlos Pérez P. versión 1.1 www.esnips.com/web/desarrollo

conoce el valor de su radio. 20. elaborar un algoritmo que averigüe si una persona es hombre o mujer sabiendo que como datos de entrada se tiene su nombre y sexo 22. realizar un algoritmo que busque e imprima el mayor de 2 números cualquiera., suponga que los dos números leídos son diferentes. 23. calcular la cantidad a pagar de matricula por un estudiante de la siguiente forma el total a pagar es igual a los cargos fijos mas los cargos variables. Los cargos fijos son $300000 y los cargos variables se calculan sumando el 10% del patrimonio y el 15% de la renta. Leer los datos necesarios. RECURSOS: Guía de aprendizaje EVALUACIÓN: Presentar un informe escrito con los algoritmos resueltos, exámen escrito del trabajo escrito BIBLIOGRAFÍA: Joyanes, Luis. Problemas de metodología de la programación Lozano, Letvin. Diagramación libre y estructurada. Vasquez, Gabriel. Lógica para programación de computadores. Ríos, Fabián. Notas sobre algoritmos. U. de A. Guarin, Hugo. Lógica simbolica. Correa Uribe, Guillermo.Desarrollo de algoritmos y sus aplicaciones en basic, pascal, cobol y c. Joyanes Aguilar. McGraw-Hill Fundamentos de programación, algoritmos y estructuras de datos.Luis Estructura de datos en C.Cesar Becerra Santamaria. Desarrollo

Preparado por: Juan Carlos Pérez P. versión 1.1 www.esnips.com/web/desarrollo

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->