Вы находитесь на странице: 1из 16

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 solucin. Los algoritmos son el objeto de estudio de la algoritmia.

Estructuras Algortmicas
Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en: Secuenciales Asignacin Entrada Salida Condicionales Simples Mltiples Repeticin fila condicional Es aquella en la que una accin (instruccin) 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

Asignacin: La asignacin 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 asignacin 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 nmero 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 operacin matemtica que involucre muchas variables (a= c+b*2/4).

Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operacin se representa en un pseudocdigo como sigue: Leer a, b Donde a y b son las variables que recibirn los valores. Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocdigo 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. Tcnicas de Programacin Las tcnicas de programacin constituyen parte fundamental en el proceso de desarrollo e Ingeniera del Software dentro del mbito informtico. Cada tcnica tiene sus propias caractersticas, y distintos mtodos de resolucin de problemas, as como la implementacin de estndares de ciertas compaas o instituciones, y es de gran importancia aprender a implementarlas a la hora de adentrarse en la evolucin de cualquier proyecto de desarrollo de software. Programacin Estructurada a) Secuenciales: cuando se requiere que una instruccin siga despus de otra. b) Seleccin o decisin: se utiliza cuando se requiere tomar decisiones lgicas, la ejecucin de las instrucciones depender de que se cumplan o no, una o varias condiciones. c) Repeticin o Iteracin: se utiliza cuando un proceso debe repetirse un nmero determinado o no de veces, una vez se haya establecido cierta condicin para finalizar el proceso de repeticin. Asimismo dentro de las estructuras bsicas existen acciones o procesos a los cuales son sometidos los datos, entre ellos, tenemos: a. Asignacin b. Condicionado (a travs de las expresiones lgicas) c. Alternativas (estructura condicional) d. Iterativas e. De entrada y salida

Tcnicas modernas de Programacin


Modular En la programacin modular consta de varias secciones dividas de forma que interactan a travs de llamadas a procedimientos, que integran el programa en su totalidad. En la programacin modular, el programa principal coordina las llamadas a los mdulos secundarios y pasa los datos necesarios en forma de parmetros. A su vez cada modulo puede contener sus propios datos y llamar a otros mdulos o funciones.

Orientada a objetos (POO) Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilizacin de los objetos. El elemento principal de la programacin orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento. Concurrente Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones a la vez. Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultnea. Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados lentos en las acciones. Funcional Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones. Lgica Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se trata de una programacin basada en el clculo de predicados (una teora matemtica que permite lograr que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones inteligentes).

Sintaxis
Estudia las formas en que se combinan los elementos bsicos del lenguaje C, estos son: Entero Base decimal [ej. 1234] Base octal [ej. 01234] Base hexadecimal [ej. 0xF10] byte [-128 a 127] short [-32768 a 32767] int [-2147483648 a 2147483647] long [-9223372036854775808 a 9223372036854775807] float [32 bits, precisin simple; 3,4E-38 a 3,4E38] double [64 bits, precisin doble; 1,7E-308 a 1,7E308] true [valor cierto]; false [valor falso] char [carcter alfanumrico] String [Matriz de caracteres; realmente se trata de una clase, que encapsula las operaciones de gestin de caracteres] array [puede ser de varias dimensiones] \n [nueva lnea] \t [tabulador horizontal] \b [retroceso]

Coma, flotante Booleano Carcter Cadena Matrices Especiales

Operadores Aritmeticos

Logicos

Sobre Bits

\r [retorno de carro] \f [salto de pgina] \\ [carcter \] \ [comilla simple] \" [comilla doble] \udddd [carcter unicode] + [adicin] - [sustraccin] * [multiplicacin] / [divisin] % [resto] ++ [incremento] -- [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 estn basadas en sentencias de asignacin simples. Ejemplo. #include<stdio.h> int x; main () {int a, b, suma; a=5; b=12; suma=a +b; suma=suma +b; printf("%d", suma); }

En este caso, la evaluacin se hace lnea por lnea, siguiendo un orden. Los algoritmos que necesitan de estructuras secuenciales para su solucin son los ms difciles de comprender y ms sencillos de identificar los procesos que realizar el programa que nos llevarn a la solucin del mismo. En algunos algoritmos se omite la declaracin de variables, en casos que el algoritmo no es complicado. Ejercicios: 1. Hacer el algoritmo para escribir un programa que evale la expresin. Solucin: observe que los valores de ingreso sern para las variables x, w. Algoritmo Inicio Declare Resultado, x, w Leer x,w Resultado (x+w)/(2*w) Mostrar Resultado Fin Variables resultado: valor de la expresin luego de ser evaluada. x : guarda un valor numrico ingresado. w : guarda un valor numrico ingresado. Programa #include<stdio.h> main(void) {float resultado,x,w; //se escriben dos valores separados por la barra espaciadora printf("ingrese el valor de x , tambin de w \n"); //se leen o capturan dos valores escritos en las variables x y w. scanf("%f %f",&x,&w); //Se evala la expresin y el resultado es asignado a la variable resultado. resultado=(x+w)/(2*w); //se imprime el valor de la variable resultado. printf("%f",resultado); } 2. Hacer el algoritmo para escribir un programa que evale la expresin

Algoritmo Inicio Declare x, y, Resultado Leer x,y Resultado raizcuadrada(3*x*x+4*y*y)

Mostrar resultado Fin Variables x: guarda un valor numrico ingresado. y : guarda un valor numrico ingresado. resultado: guarda el valor resultado de la expresin. Programa #include<stdio.h> #include<math.h> main(void) {int x,y; float resultado; printf("ingrese el valor de x, tambin y \n"); scanf("%d %d",&x,&y); resultado=sqrt(3*x*x+4*y*y); printf("%f",resultado); } 3. Hacer el algoritmo para escribir un programa que imprima el subtotal y el IGV de una transaccin comercial, siendo el IGV el 19% del total. El dato de ingreso ser el total. Algoritmo Inicio. Declare total, subtotal, igv Leer total Igv 0.19*total Subtotal total-igv Mostrar subtotal, 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.h> main() {float total,subtotal,igv; printf("ingrese el total a pagar"); scanf("%f",&total); igv=0.19*total; subtotal=total-igv; printf("total: %f, subtotal: %f, igv: %f",total,subtotal,igv); }

Selectivas
Sentencia If Las tres formas como se puede emplear la sentencia if son:

La sentencia switch Con la estructura if ... else if se pueden realizar comprobaciones mltiples, sin embargo esto puede tornarse en confusiones muy serias para los que leen los programas, inclusive para uno mismo que ojee su cdigo despus de un buen tiempo de vacaciones. La sentencia de bifurcacin mltiple switch tiene la solucin. Sean Constante1, Constante2, Constante3, etc. valores de la variable opcin, los mismos que pueden ser nmeros o caracteres.

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

Variables num: Nmero que se ingresa por el teclado e indica la cantidad de personas pago: El valor del pago que se calcular. Programa #include<stdio.h> main(void) {float num, pago; printf(" ingrese nmero de personas "); scanf("%d",&num); if(num<8) pago=1.5*num; else pago=0.5*num; printf("el pago es %f", pago); }

Repetitivas
La sentencia for tiene el formato: for (expresion1; expresion2; expresion3) {Bloque de sentencias} Expresion1: Define la asignacin del valor inicial a una variable. Expresion2: Define la asignacin del valor final a una variable. Expresion3: Define el incremento del valor de la variable Ejemplo Hacer el algoritmo para un programa, que calcule la mxima rea de un terreno rectangular de lados 100-2x y x respectivamente, para valores de x entre 10 y 30. Algoritmo Inicio Declare x, rea Desde x=10 hasta x<=30 hacer rea=100-2*x Imprimir x, rea Fin Desde Fin Variable X : asume valores desde 10 hasta 30. rea : asume el valor del rea.

Programa #include<stdio.h>

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

Herramientas Case

De acuerdo con Kendall y Kendall la ingeniera de sistemas asistida por ordenador es la aplicacin de tecnologa informtica a las actividades, las tcnicas y las metodologas propias de desarrollo, su objetivo es acelerar el proceso para el que han sido diseadas, en el caso de CASE para automatizar o apoyar una o ms fases del ciclo de vida del desarrollo de sistemas. Cuando se hace la planificacin de la base de datos, la primera etapa del ciclo de vida de las aplicaciones de bases de datos, tambin se puede escoger una herramienta CASE (Computer-Aided Software Engineering) que permita llevar a cabo el resto de tareas del modo ms eficiente y efectivo posible. Una herramienta CASE suele incluir:

Un diccionario de datos para almacenar informacin sobre los datos de la aplicacin de bases de datos. Herramientas de diseo para dar apoyo al anlisis de datos. Herramientas que permitan desarrollar el modelo de datos corporativo, as como los esquemas conceptual y lgico. Herramientas para desarrollar los prototipos de las aplicaciones. El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicacin de bases de datos.

Modelos de datos. Modelo:


Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica.

Qu es modelo de datos?
Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia. Los modelos de datos se dividen en tres grupos: Modelos lgicos basados en objetos. Modelos lgicos basados en registros. Modelos fsicos de datos. Modelos lgicos basados en objetos. Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin. Modelo Entidad-Relacin.

Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas, por ejemplo: un alumno se distingue de otro por sus caractersticas particulares como lo es el nombre, o el numero de control asignado al entrar a una institucin educativa, as mismo, un empleado, una materia, etc. Las entidades pueden ser de dos tipos:

Tangibles: Son todos aquellos objetos fsicos que podemos ver, tocar o sentir. Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.

Las caractersticas de las entidades en base de datos se llaman atributos, por ejemplo el nombre, direccin telfono, grado, grupo, etc. son atributos de la entidad alumno; Clave, nmero de seguro social, departamento, etc., son atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con ms entidades a travs de relaciones.
Ejemplo: Se considera una empresa que requiere controlar a los vendedores y las ventas que ellos realizan; de este problema determinamos que los objetos o entidades principales a estudiar son el empleado (vendedor) y el artculo (que es el producto en venta), y las caractersticas que los identifican son:

Empleado: Nombre Puesto Salario R.F.C.

Artculo: Descripcin Costo Clave

La relacin entre ambas entidades se puede establecer como Venta. Bueno, ahora falta describir como se representa un modelo E-R grficamente, la representacin es muy sencilla, se emplean smbolos, los cuales son:

As queda representado:

Modelos lgicos basados en registros. Se utilizan para describir datos en los niveles conceptual y fsico. Estos modelos utilizan registros e instancias para representar la realidad, as como las relaciones que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la implementacin. Los tres modelos de datos ms ampliamente aceptados son:
Modelo Relacional Modelo de Red Modelo Jerrquico

Modelo relacional. En este modelo se representan los datos y las relaciones entre estos, a travs de una coleccin de tablas, 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 caractersticas(atributos) de cada registro localizado en la tupla; Modelo de red. Este modelo representa los datos mediante colecciones de registros y sus relaciones se representan por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de grficas arbitrarias. Modelo jerrquico. Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se representan por medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de arboles en lugar de grficas arbitrarias.

Modelos fsicos de datos.

Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos modelos de este tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son: Modelo unificador Memoria de elementos.

Workflow
Es una herramienta de software que puede ser implementada sobre una Intranet para automatizar procesos que requieren del envo de documentos, con el fin de agilizar los trmites propios existentes en el funcionamiento de una organizacin; cabe anotar que la persona encargada del proceso puede definir el recorrido que debe tener un documento al que haya que dar trmite, definir niveles de seguridad y definir prioridades en documentos.

Las caractersticas claves de un sistema workflow son las tareas, personas, herramientas y datos que dependen de varios elementos modulares crticos para poder llegar a su expresin final. Estos elementos se conocen como las tres "Rs" (Rutas, Reglas y Roles) y las tres "Ps" (Procesos, Polticas y Prcticas) de la arquitectura workflow. Cuando se cambian las rutas, reglas y roles adecuado con los procesos, polticas y prcticas adecuadas, la tecnologa workflow se convierte en un potente medio para el desarrollo de aplicaciones. Aspectos tecnolgicos El proceso workflow es simplemente la automatizacin de los procesos que se realizan a diario dentro de la actividad comercial de una empresa. Una aplicacin workflow automatiza la secuencia de acciones, actividades o tareas utilizadas para la ejecucin del proceso, incluyendo el seguimiento del status de cada instancia del mismo y la aportacin de las herramientas necesarias para gestionarlo. Sus caractersticas ms relevantes son:

Tareas. Una aplicacin workflow automatizada est formada por diferentes tareas o actividades que deben ser realizadas para alcanzar un determinado objetivo comercial. Personas. Las tareas son realizadas siguiendo un orden especfico, por personas especficas o por agentes automatizados que asumen el papel de personas en base a condiciones o reglas comerciales. Herramientas. El proceso de la informacin propiamente dicho dentro de cada tarea como una comprobacin de crdito o la redaccin de una carta no lo realiza la aplicacin workflow, sino que generalmente estas tareas las realizan herramientas tales como aplicaciones de productividad personal y aplicaciones de lnea-denegocio, por ejemplo un sistema de contabilidad llamado por la aplicacin workflow o invocado explcitamente por el usuario cuando se necesita.

Las Rs y las Ps del workflow


Aunque hay gran cantidad de funciones y caractersticas que forman parte del workflow, los atributos que identifican a una aplicacin workflow pueden simplificarse en forma de tres "Rs" y tres "Ps":

Rutas. Los primeros productos workflow eran en realidad routers inteligentes. En el mundo del tratamiento de imgenes, compaas como FileNet o Recogniton International permitan a vendedores o revendedores (y ms adelante a los clientes) definir el orden en el que deberan fluir las imgenes. Hoy, es necesario especificar el flujo de cualquier tipo de objeto como documentos, formularios, datos, aplicaciones, entre otros. Estos objetos deben ser capaces de moverse a travs de cualquier cantidad de rutas secuenciales, diferentes y despus reconciliarse formando una nica ruta en un punto especificado. Reglas. Una caracterstica ms avanzada de la automatizacin workflow, y que hace que sea tan valiosa, es su capacidad de definir las reglas que determinan que informacin debe dirigirse a travs de la ruta y a quin. Esto se conoce a veces como routing condicional o tratamiento de situaciones de excepcin. El routing condicional permite al sistema manejar una mayor proporcin de la transmisin automtica de objetos, para enviarla al receptor apropiado. Recoger las normas y supuestos que describen como funciona verdaderamente una empresa es incluso ms valioso que definir reglas workflow, sin embargo, definir las reglas de un proceso comercial puede resultar difcil, ya que pueden ser complejas y elaboradas, con mltiples opciones, variaciones y excepciones. Roles. Es importante definir roles o funciones independientemente de las personas o de los procesos especficos que desempeen ese rol. Procesos. Los procesos establecidos, que controlan y dirigen la actividad de una empresa, son tan variados y tan personales como las personas que participan en ellos. Con frecuencia, los procesos no son diseados, sino que se identifican despus del hecho en cuestin y se extraen del uso o la actividad comn. Polticas. Las normas o polticas son expresiones redactadas formalmente, que indican la forma en que deben manejarse ciertos procesos. As, cuando los empleados inician un nuevo trabajo, se les comunican las normas de la compaa

sobre vacaciones, beneficios asistenciales y pagos en caso de enfermedad. Aunque las compaas deben mantener una poltica formal sobre cmo manejar cada proceso comercial automatizado, muchas no la tienen. Prcticas. Las prcticas son aquellas cosas que verdaderamente suceden en las empresas, y que pueden considerarse como actos que "infringen las reglas" y que hacen que el proceso funcione realmente.

Вам также может понравиться