Você está na página 1de 11

REPBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN SUPERIOR UNIVERSIDAD NACIONAL EXPERIMENTAL SIMN RODRGUEZ

NCLEO SAN JUAN DE LOS MORROS ESTADO GURICO LICENCIATURA EN ADMINISTRACIN.

UNIDADES I y II.

Facilitador. Prof. Juan Carlos Prado.

Elaborado por: Gonzalez Roberth Rincones Manuel Seccin. A C.I: 15.447.844 C.I: 11.117.271

Diciembre, 2009.

GENERALIDADES BSICAS DEFINICIN IMPORTANCIA. Un algoritmo se puede definir, como una secuencia de instrucciones que representan un modelo de solucin para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solucin de un problema. Estos son independientes de los lenguajes de programacin. En cada problema de algoritmo, puede escribirse y luego ejecutarse en un lenguaje diferente de programacin. El algoritmo es la infraestructura de cualquier solucin, escrita luego en cualquier lenguaje de programacin. Es de hacer destacar que entre dos algoritmos que lleven un mismo objetivo, siempre ser preferible el mas corto. Estos presentan una serie de caractersticas dentro de la que podemos nombrar las siguientes: Preciso: definirse de manera rigurosa sin dar lugar a ambigedades. Definido: si se sigue un algoritmo dos veces se obtendr el mismo resultado. Finito: debe terminar en algn momento. Puede tener cero o mas elementos de entradas. Debe producir un resultado: los datos de salida deben ser los resultados que dan las diferentes instrucciones contenidas en el mismo. Al escribir el algoritmo hay que tener en cuenta: Las acciones o pasos a realizar tienen que tener un determinado orden. En cada momento solo se puede ejecutar una accin. Dentro de las sentencias del algoritmo pueden existir palabras reservadas (palabras propias del lenguaje de programacin que tienen para el compilador un determinado significado). Si estamos utilizando pseudocdigo tenemos tambin que usar la identacin (aumenta la legibilidad del problema para que se pueda leer mejor). DE ALGORITMO, CARACTERSTICAS E

USOS Y FUNCIONES DE LOS ALGORITMOS. Los algoritmos informticos, se usan para simplificar la tarea del programador, mediante la elaboracin de estos, podemos darnos cuenta de si los pasos que incluimos en el proceso de resolucin de problemas son ciertos o no. No obstante la elaboracin de un algoritmo no implica la solucin de un problema si el mismo no est bien planteado, lo que nos indica claramente que su uso es indispensable para todos los programadores y diseadores de sistemas. Su funcin mas explicita es documentarnos en lenguaje natural el funcionamiento a posteriori en el lenguaje de programacin que escojamos para plasmar el mismo. Una de las funciones de los algoritmos es demostrarnos en papel lo que vamos a plasmar en pseudo cdigo del leguaje de programacin ayudndonos a usar los diferentes identificadores para hacernos mas sencilla y comprensible la programacin.

CONSTANTES, VARIABLES O CAMPOS.

Constantes: Tienen un valor fijo que se le da cuando se define la constante y que ya no puede ser modificado durante la ejecucin. Variables: El valor puede cambiar durante la ejecucin del algoritmo, pero nunca vara 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 tamao depende del lenguaje. Identificador: Palabra que no es propia del lenguaje. (variables, constantes y funciones). 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 inicial o podemos ir varindolo a lo largo de la ejecucin. 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 ejecucin, 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. ejemplo pi: 3,14.

Hay que inicializar todas las variables. < > Hay que poner algo obligatoriamente. [ ] Puede llevar algo o no llevarlo. 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 sustituir por su valor. Las constantes sin nombres son de valor constante: 5, 6, `a', hola. Cuando una cadena es de tipo carcter, se encierra entre `' `a'. Relacin entre variables y constantes en memoria: Al detectar una variable o una constante con nombre, automticamente 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, ir a esa zona de memoria a buscar su valor.

EXPRESIONES ARITMTICAS Y EXPRESIONES LGICAS. Una expresin es una combinacin de constantes, variables, signos de operacin, parntesis y nombres especiales (nombres de funciones estndar), con un sentido unvoco y definido y de cuya evaluacin resulta un nico valor. Toda expresin tiene asociada un tipo que se corresponde con el tipo del valor que devuelve la expresin cuando se evala, por lo que habr tantos tipos de expresiones como tipos de datos. Habr expresiones numricas y lgicas. Numricas: Operadores aritmticos. Son los que se utilizan en las expresiones numricas (una combinacin de variables y/o constantes numricas con operadores aritmticos y que al evaluarla devuelve un valor numrico. +, , *, /.

Operacin resto: Lo que devuelve es el resto de una divisin entera. Mod: Pascal. 5 mod 3 = 2 %: C. Divisin entera: Nos devuelve el cociente de una divisin entera (en la que no se sacan decimales). Div: Pascal. 5 div 3 = 1 \: C. Potencia: ^ 5^2. Todos estos operadores son binarios (el operador se sita en medio), el menos tambin puede ser unario (lleva un nico operando) y significa signo negativo.

Reglas de precedencia: El problema es cuando una expresin entera segn como la evalue pueda dar diferentes valores. 7*3+4 25 49 La solucin 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) * / div mod 3) + Entre dos operaciones que tienen la misma precedencia para resolver la ambigedad, hay que usar la regla de la asociatividad. La ms normal es la de la asociatividad a izquierdas (primero lo de la izquierda).

Expresiones lgicas: Operadores relacionales y lgicos. Una expresin lgica es aquella que slo puede devolver dos valores (Verdadero o Falso). Los valores que pueden aparecer en una expresin lgica son

de 2 tipos: lgicos y relacionales. La particularidad de las expresiones lgicas es que mientras en una expresin numrica por devolver un valor numrico los operandos solo pueden ser nmeros, en una expresin lgica los operandos no tienen porque ser booleanos aunque se devuelva un valor booleano. Esto es lo que ocurre cuando en la expresin lgica utilizamos operadores relacionales con lo cual se obtienen valores lgicos o booleanos a partir de otros que no lo son. En cambio cuando los operadores son lgicos los operandos obligatoriamente tambin tienen que ser lgicos.

Operadores relacionales: < > = <> en C: != " " < Operando1> operador < Operando2> 5 > 3 Verdadero Cmo se evala una expresin relacional?: Primero se evala el primer operando y se sustituye por su valor. Luego se evala el segundo operando y se sustituye por su valor. Finalmente se aplica el operador relacional y se devuelve el valor booleano correspondiente. ((3*2)+15^2) < (21) 18 < 1 Verdadero. El problema del tipo real: Desde la informtica, los nmeros reales son finitos, ya que tenemos un mximo de cifras decimales. Cuando trabajamos con un =, matemticamente da un valor exacto, pero informticamente no es exacto. 1/5 * 5 =1 1.0/5.0 *5.0 <>1.0

Soluciones: La que nos aporte el propio lenguaje de programacin. Se considera un valor de error. Trabajar con nmeros enteros siempre que sea posible. Utilizar las comparaciones <> en vez de " " si es posible. Si hay que preguntar por igual, cambiar la condicin utilizando valores absolutos y un valor mnimo de error. Si la diferencia < 0.00000001 y ABS (AB)< min ; son iguales.

Operadores lgicos: El problema es que a veces queremos preguntar o evaluar por ms de una condicin al mismo tiempo y para esto estn los operadores lgicos. Y and && O or !! No not ~! Y, O, son operadores binarios (necesitan 2 operandos de tipo logico). Operando 1 Operador Operando 2 El No es unario y se coloca primero el No, y despues el operando. El resultado es lgico y depende de: Operando 1 Operando 2 AND OR VVVV VFFV FVFV FFFF El No niega : NOT 1/0 VF FV Prioridades de los operadores: Lo ms prioritario es el NOT

Luego el Y y el O. <, > =,... Tabla de prioridades: ^ NO / div mod y +O <, >, =, <>,...

RESOLUCIN DE PROBLEMAS Y PROCESAMIENTO DE DATOS MEDIANTE EL USO DE ALGORITMOS. TEORA DE LA RESOLUCIN DE PROBLEMAS.

COMO COMENZAR? Para poder comenzar a desarrollar algoritmos, tenemos que tener primero definido el problema, ya que este es un tema fundamental en el diseo de

programas o soluciones. Por lo cual, se deben tener buenas bases que nos sirvan para poder crear de manera fcil y rpida los programas. Luego de esto delimitamos el problema, para poder asi saber a que nos vamos a atener, luego de definido y delimitado el problema pasamos a la siguiente fase que es la fase de anlisis, de no saberlo hay que volver al principio y revisar las bases tericas con las que contamos

ANLISIS DEL PROBLEMA. En esta fase, es donde nos vamos a encontrar con los diferentes identificadores, que se van a usar durante la elaboracin del algoritmo, se van a identificar todas las constantes, variables y campos con las que cuenta el problema, luego de esto pasamos a la fase de diseo. Hay que estar claro en lo siguiente, no se puede dejar pasar ningn dato que sea importante en la elaboracin del mismo ya que esto repercutir en la obtencin de resultados deseados. Una vez analizado el problema como tal es cuando se proceder a la fase de diseo del algoritmo.

DISEO DE ALGORITMO. Luego de haber desglosado el problema, y haber obtenido todos los identificadores, es cuando se va a plasmar en papel la secuencia lgica de pasos con las que esperamos resolver el problema, se deben plasmar en secuencia debido a que los resultados esperados deben y tienen que ir en un orden lgico, estructurado y sencillo que nos permita ir viendo todos y cada uno de los procesos necesarios para la obtencin del resultado deseado. Aun sabiendo que el mismo esta en papel le podemos hacer pruebas en frio, para diagnosticar el buen

funcionamiento de los procesos plasmados en el algoritmo, de haber fallas hay que corregirlas ya que sino en la programacin se van a hacer notar de inmediato.

EXPRESIN

DEL

ALGORITMO

COMO

PROGRAMA

(CODIFICACIN). Luego de haber hecho el diseo del algoritmo procedemos a escoger el lenguaje de programacin con que se va a trabajar, identificamos el lenguaje, procedemos a ver cmo podremos plasmar nuestro algoritmo y ensamblarlo en el programa escogido de acuerdo a los patrones de programacin del mismo, se procede a hacer el encabezado el cuerpo de variables, el de desarrollo y el de resultados; claro est, es indispensable documentarlo bien, de manera que se nos haga comprensible y fcil de conseguir los errores (de tenerlos), a la hora de compilar el programa. En esta etapa tenemos que tener bien claro la forma de cmo maneja el programa las variables, funciones y todo tipo de herramientas con que cuenta el programa que nos puedan ser de utilidad, y nos simplifiquen la utilizacin de los diversos operadores lgicos y numricos que empleemos en el mismo para lograr los resultados deseados.

EFICIENCIA Y CORRECCIN DE LOS ALGORITMOS La eficiencia de los algoritmos se mide de acuerdo al grado de complejidad del mismo. Estos deben ser sencillos, explcitos y bien documentados, de manera tal que a la hora de las correcciones solo busquemos en

una parte del algoritmo en donde se sepa que est el problema y no se pierda tiempo buscando en todo el algoritmo los que nos quita tiempo y prestigio como programadores. Es de hacer saber que en la resolucin de problemas es mejor dividirlos en sub-partes o sub-rutinas, de manera tal que se nos haga ms comprensible y ms fcil de depurar.

VERIFICACIN DE LOS ALGORITMOS La verificacin de los algoritmos se hacen una vez de finalizado la rutina o el programa, procedemos a compilarlo, para as poder observar si los resultados que nos arroja el ordenador son los deseados, procedemos a buscarle errores de tal forma de que los usuarios posteriores no nos indiquen fallos en el mismo. Luego de compilado y depurado se procede a crear un programa ejecutable de manera tal que el programa fuente quede aislado de los usuarios finales y solo nosotros podamos modificarlo protegiendo as el derecho de autor y conservando de esta forma la integridad funcional del algoritmo utilizado en el programa en cuestin.

BIBLIOGRAFA.

El algoritmo una iniciacin a la programacin. (En lnea). Visitada el 28-112009, disponible en: http://www.desarrolloweb.com/manuales/67/

TORRES J (2006). Algoritmos computacionales. (En lnea). Visitada el 28-112009, disponible en: http://www.monografias.com/trabajos11/alcom/ alcom.shtml?monosearch