P. 1
Estructuras Algoritmicas (Trabajo)

Estructuras Algoritmicas (Trabajo)

|Views: 8|Likes:
Publicado porDanieleonardo

More info:

Published by: Danieleonardo on Mar 27, 2013
Copyright:Attribution Non-commercial

Availability:

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

01/30/2014

pdf

text

original

Algoritmos

Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.

Estructuras Algorítmicas
Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en: • Secuenciales Asignación Entrada Salida • Condicionales Simples Múltiples • Repetición fila condicional Es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Inicio Accion1 Accion2 . . AccionN Fin

Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: • Simples: Consiste en pasar un valor constate a una variable (a=15) • Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso (a=a+1) • Acumulador: Consiste en usarla como un sumador en un proceso (a= a+b) • De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a= c+b*2/4).

ej. entre ellos. la ejecución de las instrucciones dependerá de que se cumplan o no. Iterativas e. que integran el programa en su totalidad. una vez se haya establecido cierta condición para finalizar el proceso de repetición. b) Selección o decisión: se utiliza cuando se requiere tomar decisiones lógicas. b Donde a y b son las variables que recibirán los valores. una o varias condiciones. Cada técnica tiene sus propias características. así como la implementación de estándares de ciertas compañías o instituciones. De entrada y salida Técnicas modernas de Programación Modular En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos. monitor o impresora) un resultado o mensaje. Condicionado (a través de las expresiones lógicas) c. . Asignación b. y distintos métodos de resolución de problemas.Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p. Escritura: Consiste en mandar por un dispositivo de salida (p. A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones. Alternativas (estructura condicional) d. Este proceso se representa en un pseudocódigo como sigue: Escribe El resultado es: R Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que contiene un valor. En la programación modular. c) Repetición o Iteración: se utiliza cuando un proceso debe repetirse un número determinado o no de veces. y es de gran importancia aprender a implementarlas a la hora de adentrarse en la evolución de cualquier proyecto de desarrollo de software. tenemos: a. Esta operación se representa en un pseudocódigo como sigue: Leer a. el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros. Técnicas de Programación Las técnicas de programación constituyen parte fundamental en el proceso de desarrollo e Ingeniería del Software dentro del ámbito informático. Asimismo dentro de las estructuras básicas existen acciones o procesos a los cuales son sometidos los datos. el teclado) un valor.ej. Programación Estructurada a) Secuenciales: cuando se requiere que una instrucción siga después de otra.

precisión simple. pueda dar soluciones inteligentes). 0xF10] byte [-128 a 127] short [-32768 a 32767] int [-2147483648 a 2147483647] long [-9223372036854775808 a 9223372036854775807] float [32 bits. El elemento principal de la programación orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización. Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultánea. Concurrente Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.4E-38 a 3. realmente se trata de una clase. estos son: Entero Base decimal [ej.4E38] double [64 bits.7E-308 a 1. precisión doble. 1. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas. obteniendo unos resultados lentos en las acciones. false [valor falso] char [carácter alfanumérico] String [Matriz de caracteres. 3. 01234] Base hexadecimal [ej. Funcional Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.7E308] true [valor cierto]. flotante Booleano Carácter Cadena Matrices Especiales . Lógica Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. que encapsula las operaciones de gestión de caracteres] array [puede ser de varias dimensiones] \n [nueva línea] \t [tabulador horizontal] \b [retroceso] Coma.Orientada a objetos (POO) Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos. Sintaxis Estudia las formas en que se combinan los elementos básicos del lenguaje C. 1234] Base octal [ej. Se trata de una programación más lenta y laboriosa. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.

suma=suma +b. Ejemplo. main () {int a. suma. a=5.[sustracción] * [multiplicación] / [división] % [resto] ++ [incremento] -. printf("%d". suma). b=12.h> int x.Operadores Aritmeticos Logicos Sobre Bits \r [retorno de carro] \f [salto de página] \\ [carácter \] \’ [comilla simple] \" [comilla doble] \udddd [carácter unicode] + [adición] .[decremento] > [mayor que] >= [mayor o igual que] < [menor que] <= [menor o igual que] == [igual a] != [distinto de] >> [desplazamiento a la derecha] << [desplazamiento a la izquierda] >>> [desplazamiento sin signo] & [operador Y –and-] | [operador O –or-] ^ [operador O exclusivo –xor-] ~ [complemento a] Estructuras Secuenciales Las estructuras secuenciales están basadas en sentencias de asignación simples. } . b. suma=a +b. #include<stdio.

} 2. Programa #include<stdio.&w). Los algoritmos que necesitan de estructuras secuenciales para su solución son los más difíciles de comprender y más sencillos de identificar los procesos que realizará el programa que nos llevarán a la solución del mismo.En este caso. //se escriben dos valores separados por la barra espaciadora printf("ingrese el valor de x . Ejercicios: 1.x. Resultado Leer x. printf("%f". //se imprime el valor de la variable resultado.w. la evaluación se hace línea por línea. scanf("%f %f".w Resultado (x+w)/(2*w) Mostrar Resultado Fin Variables resultado: valor de la expresión luego de ser evaluada. Hacer el algoritmo para escribir un programa que evalúe la expresión.&x. resultado=(x+w)/(2*w).resultado). //se leen o capturan dos valores escritos en las variables x y w. Algoritmo Inicio Declare Resultado. y. //Se evalúa la expresión y el resultado es asignado a la variable resultado. w Leer x. w : guarda un valor numérico ingresado. siguiendo un orden. w.y Resultado raizcuadrada(3*x*x+4*y*y) . Solución: observe que los valores de ingreso serán para las variables x. En algunos algoritmos se omite la declaración de variables. en casos que el algoritmo no es complicado. también de w \n"). x : guarda un valor numérico ingresado. x. Hacer el algoritmo para escribir un programa que evalúe la expresión Algoritmo Inicio Declare x.h> main(void) {float resultado.

&x. printf("ingrese el total a pagar"). scanf("%f".h> #include<math. } 3.y. igv: %f". float resultado.resultado). printf("ingrese el valor de x. } . subtotal.igv. scanf("%d %d".&y). subtotal: %f.igv). igv=0. resultado: guarda el valor resultado de la expresión. printf("total: %f. siendo el IGV el 19% del total. Programa #include<stdio. printf("%f".subtotal. Algoritmo Inicio. Hacer el algoritmo para escribir un programa que imprima el subtotal y el IGV de una transacción comercial. El dato de ingreso será el total.h> main(void) {int x. y : guarda un valor numérico ingresado.subtotal.Mostrar resultado Fin Variables x: guarda un valor numérico ingresado. resultado=sqrt(3*x*x+4*y*y).19*total Subtotal total-igv Mostrar subtotal. subtotal=total-igv. igv Fin Variables total : guarda el valor del total ingresado subtotal: guarda el valor del subtotal calculado igv : guarda el valor del total ingresado Programa #include<stdio.&total).19*total.h> main() {float total. igv Leer total Igv 0.total. Declare total. también y \n").

La sentencia de bifurcación múltiple switch tiene la solución. sin embargo esto puede tornarse en confusiones muy serias para los que leen los programas. .. valores de la variable opción. Constante3. inclusive para uno mismo que ojee su código después de un buen tiempo de vacaciones. Sean Constante1..Selectivas Sentencia If Las tres formas como se puede emplear la sentencia if son: La sentencia switch Con la estructura if . etc. los mismos que pueden ser números o caracteres. else if se pueden realizar comprobaciones múltiples. Constante2.

h> main(void) {int num.5*num Fin si Imprimir pago Fin . scanf("%d".5*num sino Pago=1. } Ejercicios 1... if(num>0) printf("el número es positivo")..&num).5 soles por persona.Ejemplo: Hacer el algoritmo para escribir un programa que indique si un número ingresado por el teclado es positivo.5 soles por persona y para grupos de 8 personas o más el pago es 0. "). pago Leer num Si num>=8 entonces Pago=0. Hacer un algoritmo para un programa que calcule el pago que hacen un grupo de personas para ver una película teniendo en cuenta que si el grupo es menor de 8 personas el pago es de 1. Algoritmo Inicio Declare num. printf("ingrese un número. Algoritmo Inicio Declare num Leer num Si num>0 entonces Imprimir num es positivo Fin si Fin Variables Nu2m: Número que se ingresa por el teclado Programa #include<stdio.

printf(" ingrese número de personas "). Área : asume el valor del área. Programa #include<stdio.5*num. expresion2. Programa #include<stdio. scanf("%d". pago.5*num. que calcule la máxima área de un terreno rectangular de lados 100-2x y x respectivamente. else pago=0.Variables num: Número que se ingresa por el teclado e indica la cantidad de personas pago: El valor del pago que se calculará. if(num<8) pago=1. pago).h> . área Fin Desde Fin Variable X : asume valores desde 10 hasta 30. para valores de x entre 10 y 30. Expresion2: Define la asignación del valor final a una variable. Algoritmo Inicio Declare x. expresion3) {Bloque de sentencias} Expresion1: Define la asignación del valor inicial a una variable. printf("el pago es %f". área Desde x=10 hasta x<=30 hacer Área=100-2*x Imprimir x. } Repetitivas La sentencia for tiene el formato: for (expresion1.&num).h> main(void) {float num. Expresion3: Define el incremento del valor de la variable Ejemplo Hacer el algoritmo para un programa.

if(menor>num) menor=num. for(x=10. return 0.x*(100-2*x). menor Fin Variables num: guarda un número ingresado mayor : Para asignarle el valor del mayor de los números leídos. Programa #include<stdio.menor). x<=8. mayor:0. NOTA: El mayor valor de área es 1250 para un valor de x =25 Ejercicios: 1.mayor. x<=30. Fin Desde Imprimir mayor. for(x=1. } printf("NÚMERO MAYOR: %d MENOR: %d \n". x. scanf("%d".menor. Algoritmo Inicio Declare num. mayor=0. menor=10000. para x=%d \n". menor. si menor>num entonces menor: num.mayor. menor:10000.x). Hacer el algoritmo para un programa que calcule el mayor y el menor número de 8 números ingresados por el teclado.x++) { printf("INGRESAR NÚMERO %d\n".x++) printf("%d unidades.h> main(void) {int num.x. mayor.main (void) {int x. if(mayor<num) mayor=num.&num). Desde x=1 hasta x<=8 hacer leer num si mayor<num entonces mayor: num. menor : Para asignarle el valor del menor de los números leídos x : Permite contar los 8 ingresos (valores desde 1 hasta 8).x). } Herramientas Case .

Cuando se hace la planificación de la base de datos. En base de datos. ¿Qué es modelo de datos? Es una colección de herramientas conceptuales para describir los datos. Modelo: Es una representación de la realidad que contiene las características generales de algo que se va a realizar. con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real. Existen diferentes modelos de este tipo. tienen una capacidad de estructuración bastante flexible y permiten especificar restricciones de datos explícitamente. las técnicas y las metodologías propias de desarrollo. esta representación la elaboramos de forma gráfica. • Herramientas que permitan desarrollar el modelo de datos corporativo. pero el más utilizado por su sencillez y eficiencia es el modelo Entidad-Relación. Los modelos de datos se dividen en tres grupos: • Modelos lógicos basados en objetos. también se puede escoger una herramienta CASE (Computer-Aided Software Engineering) que permita llevar a cabo el resto de tareas del modo más eficiente y efectivo posible. Se usan para describir datos en los niveles conceptual y de visión. es decir. • Herramientas para desarrollar los prototipos de las aplicaciones. las relaciones que existen entre ellos. • Modelos físicos de datos. Una herramienta CASE suele incluir: • Un diccionario de datos para almacenar información sobre los datos de la aplicación de bases de datos. Modelo Entidad-Relación. así como los esquemas conceptual y lógico. semántica asociada a los datos y restricciones de consistencia.De acuerdo con Kendall y Kendall la ingeniería de sistemas asistida por ordenador es la aplicación de tecnología informática a las actividades. El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicación de bases de datos. Modelos lógicos basados en objetos. su objetivo es acelerar el proceso para el que han sido diseñadas. • Herramientas de diseño para dar apoyo al análisis de datos. • Modelos lógicos basados en registros. en el caso de CASE para automatizar o apoyar una o más fases del ciclo de vida del desarrollo de sistemas. Modelos de datos. la primera etapa del ciclo de vida de las aplicaciones de bases de datos. .

Ejemplo: Se considera una empresa que requiere controlar a los vendedores y las ventas que ellos realizan. tocar o sentir. los cuales son: Así queda representado: . y las características que los identifican son: Empleado: Nombre Puesto Salario R. por ejemplo: la entidad materia.C. sabemos que existe. A su vez una entidad se puede asociar o relacionar con más entidades a través de relaciones.F. son atributos de la entidad alumno. una materia. un empleado. la representación es muy sencilla. así mismo. número de seguro social.Denominado por sus siglas como: E-R. o el numero de control asignado al entrar a una institución educativa. Las características de las entidades en base de datos se llaman atributos. dirección teléfono. grado. de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artículo (que es el producto en venta). son atributos de la entidad empleado. Artículo: Descripción Costo Clave La relación entre ambas entidades se puede establecer como Venta. Las entidades pueden ser de dos tipos: • • Tangibles: Son todos aquellos objetos físicos que podemos ver. por ejemplo el nombre. aun sabiendo que existen. etc. ahora falta describir como se representa un modelo E-R gráficamente. sin embargo. grupo. Clave. Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver. Bueno. departamento. etc. etc. no la podemos visualizar o tocar. Este modelo representa a la realidad a través de entidades. que son objetos que existen y que se distinguen de otros por sus características. por ejemplo: un alumno se distingue de otro por sus características particulares como lo es el nombre.. se emplean símbolos.

a través de una colección de tablas. Modelo de red. A diferencia de los modelos de datos basados en objetos. .Modelos lógicos basados en registros. Se utilizan para describir datos en los niveles conceptual y físico. Modelos físicos de datos. se usan para especificar la estructura lógica global de la base de datos y para proporcionar una descripción a nivel más alto de la implementación. en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendrá la base de datos y las columnas corresponden a las características(atributos) de cada registro localizado en la tupla. ya que estos se representan por medio de registros y sus ligas. así como las relaciones que existen entre estos registros (ligas) o apuntadores. Es similar al modelo de red en cuanto a las relaciones y datos. Modelo jerárquico. Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces. Los tres modelos de datos más ampliamente aceptados son: • • • Modelo Relacional Modelo de Red Modelo Jerárquico Modelo relacional. En este modelo se representan los datos y las relaciones entre estos. La diferencia radica en que están organizados por conjuntos de arboles en lugar de gráficas arbitrarias. los cuales pueden verse como punteros. Estos modelos utilizan registros e instancias para representar la realidad. Los registros se organizan en un conjunto de gráficas arbitrarias.

herramientas y datos que dependen de varios elementos modulares críticos para poder llegar a su expresión final. Políticas y Prácticas) de la arquitectura workflow. incluyendo el seguimiento del status de cada instancia del mismo y la aportación de las herramientas necesarias para gestionarlo. Aspectos tecnológicos El proceso workflow es simplemente la automatización de los procesos que se realizan a diario dentro de la actividad comercial de una empresa. políticas y prácticas adecuadas.Se usan para describir a los datos en el nivel más bajo. actividades o tareas utilizadas para la ejecución del proceso. Cuando se cambian las rutas. Estos elementos se conocen como las tres "Rs" (Rutas. Una aplicación workflow automatiza la secuencia de acciones. la tecnología workflow se convierte en un potente medio para el desarrollo de aplicaciones. con el fin de agilizar los trámites propios existentes en el funcionamiento de una organización. Reglas y Roles) y las tres "Ps" (Procesos. reglas y roles adecuado con los procesos. Las características claves de un sistema workflow son las tareas. Existen dos clasificaciones de este tipo que son: • Modelo unificador • Memoria de elementos. cabe anotar que la persona encargada del proceso puede definir el recorrido que debe tener un documento al que haya que dar trámite. personas. básicamente capturan aspectos de la implementación de los sistemas de base de datos. aunque existen muy pocos modelos de este tipo. definir niveles de seguridad y definir prioridades en documentos. Sus características más relevantes son: . Workflow Es una herramienta de software que puede ser implementada sobre una Intranet para automatizar procesos que requieren del envío de documentos.

entre otros. y que hace que sea tan valiosa. sino que se identifican después del hecho en cuestión y se extraen del uso o la actividad común.• Tareas. cuando los empleados inician un nuevo trabajo. • El routing condicional permite al sistema manejar una mayor proporción de la transmisión automática de objetos. formularios. definir las reglas de un proceso comercial puede resultar difícil. Estos objetos deben ser capaces de moverse a través de cualquier cantidad de rutas secuenciales. se les comunican las normas de la compañía . datos. Hoy. Los primeros productos workflow eran en realidad routers inteligentes. Esto se conoce a veces como routing condicional o tratamiento de situaciones de excepción. El proceso de la información propiamente dicho dentro de cada tarea como una comprobación de crédito o la redacción de una carta no lo realiza la aplicación workflow. es necesario especificar el flujo de cualquier tipo de objeto como documentos. • Procesos. por ejemplo un sistema de contabilidad llamado por la aplicación workflow o invocado explícitamente por el usuario cuando se necesita. Los procesos establecidos. los procesos no son diseñados. con múltiples opciones. diferentes y después reconciliarse formando una única ruta en un punto especificado. Las tareas son realizadas siguiendo un orden específico. que indican la forma en que deben manejarse ciertos procesos. Es importante definir roles o funciones independientemente de las personas o de los procesos específicos que desempeñen ese rol. variaciones y excepciones. son tan variados y tan personales como las personas que participan en ellos. • Roles. Así. que controlan y dirigen la actividad de una empresa. • Políticas. Una característica más avanzada de la automatización workflow. • Personas. sin embargo. Las Rs y las Ps del workflow Aunque hay gran cantidad de funciones y características que forman parte del workflow. los atributos que identifican a una aplicación workflow pueden simplificarse en forma de tres "Rs" y tres "Ps": • Rutas. Una aplicación workflow automatizada está formada por diferentes tareas o actividades que deben ser realizadas para alcanzar un determinado objetivo comercial. para enviarla al receptor apropiado. sino que generalmente estas tareas las realizan herramientas tales como aplicaciones de productividad personal y aplicaciones de línea-denegocio. compañías como FileNet o Recogniton International permitían a vendedores o revendedores (y más adelante a los clientes) definir el orden en el que deberían fluir las imágenes. es su capacidad de definir las reglas que determinan que información debe dirigirse a través de la ruta y a quién. aplicaciones. Con frecuencia. • Reglas. Recoger las normas y supuestos que describen como funciona verdaderamente una empresa es incluso más valioso que definir reglas workflow. ya que pueden ser complejas y elaboradas. por personas específicas o por agentes automatizados que asumen el papel de personas en base a condiciones o reglas comerciales. En el mundo del tratamiento de imágenes. Las normas o políticas son expresiones redactadas formalmente. • Herramientas.

y que pueden considerarse como actos que "infringen las reglas" y que hacen que el proceso funcione realmente. . • Prácticas. beneficios asistenciales y pagos en caso de enfermedad. muchas no la tienen. Las prácticas son aquellas cosas que verdaderamente suceden en las empresas. Aunque las compañías deben mantener una política formal sobre cómo manejar cada proceso comercial automatizado.sobre vacaciones.

You're Reading a Free Preview

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