Está en la página 1de 8

Algoritmo En matemticas, lgica, ciencias de la computacin y disciplinas relacionadas, un algoritmo (del griego y latn, dixit algorithmus y este a su vez

del matemtico persa Al-Juarismi1 ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 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. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrn. Algunos ejemplos en matemtica son el algoritmo de multiplicacin, para calcular el producto, el algoritmo de la divisin para calcular el cociente de dos nmeros, el algoritmo de Euclides para obtener el mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para resolver un sistema lineal de ecuaciones. Diagrama de flujo El diagrama de flujo o diagrama de actividades es la representacin grfica del algoritmo o proceso. Se utiliza en disciplinas como programacin,economa, procesos industriales y psicologa cognitiva. En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general. En SysML el diagrama de actividades ha sido extendido para indicar flujos entre pasos que mueven elementos fsicos (e.g., gasolina) o energa (e.g., presin). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos. Estos diagramas utilizan smbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecucin mediante flechas que conectan los puntos de inicio y de fin de proceso. Programa informtico Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora. Sin programas, estas mquinas no pueden funcionar. 1 2Al conjunto general de programas, se le denomina software, que ms genricamente se refiere al equipamiento lgico o soporte lgico de una computadora digital. En informtica, se los denomina comnmente binarios, (propio en sistemas Unix, donde debido a la estructura de este ltimo, los ficheros no necesitan hacer uso de extensiones; posteriormente, los presentaron como ficheros ejecutables, con extensin .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilacin y han sido creados, las instrucciones que se escribieron en un determinado lenguaje de programacin, han sido traducidas al nico idioma que la mquina comprende,combinaciones de ceros y unos llamado cdigo mquina. El mismo trmino, puede referirse tanto a un programa ejecutable, como a su cdigo fuente, el cual es transformado en un binario una vez que es compilado. Generalmente el cdigo fuente lo escriben profesionales conocidos como programadores. Este cdigo se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo, y que posteriormente puede ser convertido en una imagen ejecutable a travs de un programa-compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instruccin por instruccin. De acuerdo a sus funciones, los programas informticos se clasifican en software de sistema y software de aplicacin. En los computadores actuales, al hecho de ejecutar varios programas de forma simultnea y eficiente, se le conoce como multitarea. Programacin La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Programar no involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en el desarrollo de pequeas aplicaciones.

Pseudocdigo En ciencias de la computacin, y anlisis numrico el pseudocdigo (o falso lenguaje) es una descripcin de alto nivel compacta e informal1 del principio operativo de un programa informtico u otro algoritmo. Utiliza las convenciones estructurales de un lenguaje de programacin verdadero2 , pero que est diseado para la lectura humana en lugar de la lectura mediante mquina, y con independencia de cualquier otro lenguaje de programacin. Normalmente, el pseudocdigo omite detalles que no son esenciales para la comprensin humana del algoritmo, tales como declaraciones de variables, cdigo especfico del sistema y algunas subrutinas. El lenguaje de programacin se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notacin matemtica compacta. Se utiliza pseudocdigo pues este es ms fcil de entender para las personas que el cdigo del lenguaje de programacin convencional, ya que es una descripcin eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comnmente en los libros de texto y publicaciones cientficas que se documentan varios algoritmos, y tambin en la planificacin del desarrollo de programas informticos, para esbozar la estructura del programa antes de realizar la efectiva codificacin. No existe una sintaxis estndar para el pseudocdigo, aunque los ocho IDE's que manejan pseudocdigo tengan su sintaxis propia. Aunque sea parecido, el pseudocdigo no debe confundirse con los programas esqueleto que incluyen cdigo ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa grfica al pseudocdigo, aunque sean ms amplios en papel. Traza un Algoritmo (corrida en frio) La traza de un Algoritmo se puede definir como la ejecucin manual de forma secuencial de las sentencias que lo componen. As, la traza del siguiente algoritmo es el valor que van adoptando las variables a medida que se va ejecutando un programa. La funcin principal que posee realizar la traza de una algoritmo es la de comprobar que ste funciona correctamente o para realizar la etapa de depuracin en la que se intenta corregir errores, simplificar el algoritmo al mximo e incrementar su eficacia y velocidad. Informtica La informtica es una ciencia que estudia mtodos, procesos, tcnicas, con el fin de almacenar, procesar y transmitir informacin y datos en formatodigital. La informtica se ha desarrollado rpidamente a partir de la segunda mitad del siglo XX, con la aparicin de tecnologas tales como el circuito integrado, Internet y el telfono mvil. En 1957 Karl Steinbuch aadi la palabra alemana Informatik en la publicacin de un documento denominado Informatik: Automatische Informationsverarbeitung (Informtica: procesamiento automtico de informacin). En ruso, Alexander Ivanovich Mikhailov fue el primero en utilizar informatikcon el significado de estudio, organizacin, y la diseminacin de la informacin cientfica, que sigue siendo su significado en dicha lengua.[cita requerida]. En ingls, la palabra Informatics fue acuada independiente y casi simultneamente por Walter F. Bauer, en 1962, cuando Bauer cofund la empresa denominada Informatics General, Inc.. Dicha empresa guard el nombre y persigui a las universidades que lo utilizaron, forzndolas a utilizar la alternativa computer science. La Association for Computing Machinery, la mayor organizacin de informticos del mundo, se dirigi a Informatics General Inc. para poder utilizar la palabra informatics en lugar de computer machinery, pero la empresa se neg. Informatics General Inc. ces sus actividades en 1985, pero para esa poca el nombre de computer science estaba plenamente arraigado. Actualmente los angloparlantes utilizan el trmino computer science, traducido a veces como Ciencias de la computacin, para designar tanto el estudio cientfico como el aplicado; mientras que designan como information technology (o data processing), traducido a veces como tecnologas de la informacin, al conjunto de tecnologas que permiten el tratamiento y uso automatizado de informacin.

La programacin estructurada La programacin estructurada es un paradigma de programacin orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando nicamente subrutinas y tres estructuras: secuencia, seleccin (if y switch) e iteracin (bucles for y while), considerando innecesario y contraproducente el uso de la instruccin de transferencia incondicional (GOTO), que podra conducir a "cdigo espagueti", que es mucho ms difcil de seguir y de mantener, y era la causa de muchos errores de programacin. Surgi en la dcada de 1960, particularmente del trabajo de Bhm y Jacopini,1 y una famosa carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 y fue reforzado tericamente por el teorema del programa estructurado, y prcticamente por la aparicin de lenguajes como ALGOL con adecuadas y ricas estructuras de control. Orgenes de la programacin estructurada. A finales de los aos 1970 surgi una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que adems estaban escritos de manera que facilitaba su mejor comprensin, no slo proveyendo ventajas durante la fase de desarrollo, sino tambin posibilitando una ms sencilla modificacin posterior. El teorema del programa estructurado, propuesto por Bhm-Jacopini, demuestra que todo programa puede escribirse utilizando nicamente las tres instrucciones de control siguientes: - Secuencia - Instruccin condicional. - Iteracin (bucle de instrucciones) con condicin al principio. Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor repertorio de estructuras de control, stas pueden ser construidas mediante las tres bsicas citadas. Historia Fundamentacin terica. El teorema del programa estructurado proporciona la base terica de la programacin estructurada. Seala que tres maneras de combinar programas son suficientes para expresar cualquier funcin computable: secuencia, seleccin e iteracin. Esta observacin no se origin con el movimiento de la programacin estructurada. Estas estructuras son suficientes para describir el ciclo de instruccin de una unidad central de procesamiento, as como el funcionamiento de una mquina de Turing. Por lo tanto un procesador siempre est ejecutando un "programa estructurado" en este sentido, incluso si las instrucciones que lee de la memoria no son parte de un programa estructurado. Sin embargo, los autores usualmente acreditan el resultado a un documento escrito en 1966 por Bhm y Jacopini, posiblemente porque Dijkstra haba citado este escrito. El teorema del programa estructurado no responde a cmo escribir y analizar un programa estructurado de manera til. Estos temas fueron abordados durante la dcada de 1960 y principio de los aos 1970, con importantes contribuciones de Dijkstra, Robert W. Floyd, Tony Hoarey y David Gries. Debate. P. J. Plauger, uno de los primeros en adoptar la programacin estructurada, describi su reaccin con el teorema del programa estructurado: Nosotros los conversos ondeamos esta interesante pizca de noticias bajo las narices de los recalcitrantes programadores de lenguaje ensamblador que mantuvieron trotando adelante retorcidos bits de lgica y diciendo, 'Te apuesto que no puedes estructurar esto'. Ni la prueba por Bhm y Jacopini, ni nuestros repetidos xitos en escribir cdigo estructurado, los llevaron un da antes de lo que estaban listos para convencerse. Donald Knuth acept el principio de que los programas deben escribirse con demostratividad en mente, pero no estaba de acuerdo (y an est en desacuerdo)[cita requerida] con la supresin de la sentencia GOTO. En su escrito de 1974 Programacin estructurada con sentencias Goto, dio ejemplos donde crea que un salto directo conduce a cdigo ms claro y ms eficiente sin sacrificar demostratividad. Knuth propuso una restriccin estructural ms flexible: debe ser posible establecer un diagrama de flujo del programa con todas las bifurcaciones hacia adelante a la izquierda, todas las bifurcaciones hacia atrs a la derecha, y sin bifurcaciones que se crucen entre s. Muchos de los expertos en teora de grafos y compiladores han abogado por permitir slo grafos de flujo reducible [quin?] [cundo?]. Los tericos de la programacin estructurada ganaron a un aliado importante en la dcada de 1970 despus de que el investigador de IBM Harlan Mills aplicara su interpretacin de la teora de la programacin estructurada para el

desarrollo de un sistema de indexacin para el archivo de investigacin del New York Times. El proyecto fue un gran xito de la ingeniera, y los directivos de otras empresas lo citaron en apoyo de la adopcin de la programacin estructurada, aunque Dijkstra critic las maneras en que la interpretacin de Mills difera de la obra publicada. Tan tarde como 1987 fue todava posible elevar la cuestin de la programacin estructurada en una revista de ciencia de la computacin. Frank Rubin lo hizo en ese ao, con una carta, La sentencia GOTO considerada daina. Numerosas objeciones siguieron, incluyendo una respuesta de Dijkstra, que criticaba duramente a Rubin y las concesiones que otros escritores hicieron cuando le respondieron. Resultado. A finales del siglo XX casi todos los cientficos estn convencidos de que es til aprender y aplicar los conceptos de programacin estructurada. Los lenguajes de programacin de alto nivel que originalmente carecan de estructuras de programacin, como FORTRAN, COBOL y BASIC, ahora las tienen. Ventajas de la programacin estructurada. Ventajas de la programacin estructurada comparada con el modelo anterior (hoy llamado despectivamente cdigo espagueti). - Los programas son ms fciles de entender, pueden ser ledos de forma secuencial y no hay necesidad de hacer engorrosos seguimientos en saltos de lneas (GOTO) dentro de los bloques de cdigo para intentar entender la lgica. - La estructura de los programas es clara, puesto que las instrucciones estn ms ligadas o relacionadas entre s. - Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a su estructura ms sencilla y comprensible, por lo que los errores se pueden detectar y corregir ms fcilmente. - Reduccin de los costos de mantenimiento. Anlogamente a la depuracin, durante la fase de mantenimiento, modificar o extender los programas resulta ms fcil. - Los programas son ms sencillos y ms rpidos de confeccionar. - Se incrementa el rendimiento de los programadores, comparado con la forma anterior que utiliza GOTO. Programacin estructurada de bajo nivel. En un bajo nivel, los programas estructurados con frecuencia estn compuestos de simples estructuras de flujo de programa jerrquicas. Estas son secuencia, seleccin y repeticin: - "Secuencia" se refiere a una ejecucin ordenada de instrucciones. - En "seleccin", una de una serie de sentencias es ejecutada dependiendo del estado del programa. Esto es usualmente expresado con palabras clave como if..then..else..endif, switch, o case. En algunos lenguajes las palabras clave no se pueden escribir textualmente, pero debe ser delimitada (stropped). - En la "repeticin" se ejecuta una sentencia hasta que el programa alcance un estado determinado, o las operaciones han sido aplicadas a cada elemento de una coleccin. Esto es usualmente expresado con palabras clave como while, repeat, for o do..until. A menudo se recomienda que cada bucle slo debe tener un punto de entrada (y en la programacin estructural original, tambin slo un punto de salida, y pocos lenguajes refuerzan esto).

- Representaciones grficas de los tres patrones bsicos. Los diagramas de caja (azules) fueron inventados para la nueva teora, y aqu se pueden ver sus equivalentes en los ms usados diagramas de flujo de control. Un lenguaje es descrito como estructurado en bloques cuando tiene una sintaxis para encerrar estructuras entre palabras clave tipo corchete, como una sentencia if..fi en ALGOL 68, o una seccin de cdigo entre corchetes BEGIN..END, como en PL/I - o la de llaves {...} de C y muchos otros lenguajes posteriores. Lenguajes de programacin estructurada. Es posible hacer la programacin estructurada en cualquier lenguaje de programacin, aunque es preferible usar algo como un lenguaje de programacin procedimental. Algunos de los lenguajes utilizados inicialmente para programacin estructurada incluyen: ALGOL, Pascal, PL/I y Ada pero la mayora de los nuevos lenguajes de programacin procedimentales desde entonces han incluido caractersticas para fomentar la programacin estructurada y a veces deliberadamente omiten caractersticas4 en un esfuerzo para hacer ms difcil la programacin no estructurada. Nuevos paradigmas. Posteriormente a la programacin estructurada se han creado nuevos paradigmas tales como la programacin modular, la programacin orientada a objetos, programacin por capas, etc, y el desarrollo de entornos de programacin que facilitan la programacin de grandes aplicaciones y sistemas.

Dato Es una representacin simblica numrica, alfabtica, algortmica, un atributo o caracterstica de una entidad. Los datos describen hechos empricos, sucesos y entidades. Pueden consistir en nmeros, estadsticas o proposiciones descriptivas. Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la informacin humanamente relevante que se pueden utilizar en la toma de decisiones, la reduccin de la incertidumbre o la realizacin de clculos. Los datos aisladamente pueden no contener informacin humanamente relevante. Tipos de Datos. - Datos Simples (sin estructura). Numricos, Lgicos, Caracteres. - Datos Compuestos (con estructura). - Datos Numricos Enteros: Es un subconjunto finito de los nmeros enteros. Los enteros son nmeros complejos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos. Ejemplos de nmeros enteros son: 5, 6, -15, -4, 20, 17, 1340, 26. - Datos Numricos Reales: Consiste en un subconjunto de los nmeros reales. Los nmeros reales siempre tienen un punto decimal y pueden ser positivos o negativos. Un nmero real consta de un entero y una parte decimal. Ejemplos de nmeros reales son: 0.08.1 3739.41. - Datos Alfanumrico: Es una secuencia de caracteres alfanumricos que permiten representar valores identificables de forma descriptiva, esto incluye nombre de personas, direcciones, entre otras. Es posible representar nmeros como alfanumricos, pero esto pierde su propiedad matemtica, es decir no es posible hacer operaciones con ellos. - Datos Alfanumricos Caracteres: Es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo carcter contiene un solo carcter. Caracteres alfabticos (A, B,C, . . . , Z) (a, b, c, . . . , z), Caracteres numricos (1, 2, . . . , 9, 0), Caracteres especiales (+ , -, * , / , ^ , . , ; . < , >, $ , . . . ). - Datos Alfanumricos Cadena de Caracteres: Es una sucesin de caracteres que se encuentran delimitados por una comilla (apstrofo) o dobles comillas, segn el tipo de lenguaje de programacin. Hola Mundo 24 de Junio de 2010 Esto es un mensaje. - Datos Lgicos: Es aquel dato que solo puede tomar uno de dos valores: cierto o verdadero (true) y falso (false). Este tipo de datos se utiliza para representar las alternativas (si/no) a determinadas condiciones. Informacin Es un conjunto organizado de datos procesados, que constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje. La informacin es el sistema de control, en tanto que es la propagacin de consignas que deberamos de creer o hacer que creemos. En tal sentido la informacin es un conjunto organizado de datos capaz de cambiar el estado de conocimiento en el sentido de las consignas trasmitidas. Diferencia entre Datos e Informacin. - La informacin a diferencia de los datos, tienen estructura til que modifica las sucesivas interacciones del ente que posee dicha informacin con su entorno. - La informacin se compone de datos que ya han sido procesados de algn modo para que tengan un sentido y un objetivo al momento de tomar decisiones. - Los datos se caracterizan por no contener ninguna informacin. - Pueden asociarse dentro de un contexto para convertirse en informacin. - Los datos no tienen capacidad de comunicar un significado.

Operadores. Son elementos que relacionan de forma diferente, los valores de una o mas variables o constantes. Es decir, los operadores nos permiten manipular valores. Tambin se puede decir que es un smbolo que indica al compilador que realice manipulaciones lgicas o matemticas especficas. Los operadores del mismo nivel de procedencia son evaluados por el compilador de izquierda a derecha; por supuesto se puede utilizar parntesis ( ) para ordenar la evaluacin. Tambin conviene utilizar parntesis para hacer ms claros el orden en que se produce las evaluaciones. Tipos de Operadores. - Operadores Aritmticos: Permiten la realizacin de operaciones matemticas con los valores (variables y constantes). Pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. + Suma, - Resta, * Multiplicacin, / Divisin, Mod Modulo (residuo de la divisin entera). Los operadores en una misma expresin con igual nivel de prioridad se evalan de izquierda a derecha. - Operadores Lgicos: Se utilizan para establecer relaciones entre valores lgicos. Estos valores pueden ser resultado de una expresin relacional. Operadores Lgicos: And Y, Or O, Not Negacin. Expresin. Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. Toda expresin tiene asociada un tipo que se corresponde con el tipo del valor que devuelve la expresin cuando se evala. Tipos de Expresiones: - Simples: Son asignaciones directas a una variable o constante de un valor numrico o carcter. - Compuestas: Es la asignacin a una variable o constante que surge de la unin de los valores numricos. operadores aritmticos, de comparacin o lgicas. Evaluacin de Expresiones: Escribir la frmula con un nmero arriba de cada operador que indique su jerarqua. Se escriben los enteros positivos en orden, donde el nmero 1 corresponde al operador de mayor jerarqua. Cuando dos operadores tengan la misma jerarqua, se le asigna el nmero menor al de la izquierda. Construir el rbol sintctico empezando con la frmula en la raz y utilizando en cada caso el operador de menor jerarqua. O sea, del nmero mayor al menor. Indicadores. Es una serie de caracteres formados por letras y dgitos. Reglas de Escritura: - Prohibido usar ms de 10 emotiones. - Prohibido usar letras grandes a no ser que sea para resaltar algo MUY IMPORTANTE (Como mximo 1 lnea). - Prohibido usar centrado en todo el post, o cambiar cada lnea de posicin. - Prohibido cambiar el color si no es para resaltar algo importante. - Prohibido usar Subrayado en todo el post, si no es para resaltar algo. - Prohibido usar borrador (ej: Hola) en todo el post. - Prohibido usar el mtodo chat. - Prohibido poner el post con muchos tipos de fuentes, solo se permite el uso de otra fuente para resaltar algo.

- Se prohibe crear un post o una respuesta que solo contenga palabras como: =O, lol, omfg, fuck. - Se prohibe escribir mal, todos sabemos escribir, aun con un mnimo, nada de. - Vusco Serber rakes 10x 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. Clasificacin de Variables: Segn su contenido (Numrica, Lgica, Alfanumrica). - Variables Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto decimal. - Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparacin entre otros datos. - Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales). Por su uso (Trabajos de Contador y Acumulador). - Variables de Trabajo: Reciben el resultado de una operacin matemtica completa y que se usan normalmente dentro de un programa. - Variable de Contador: Se utilizan para llevar el control del nmero de ocasiones en que se realiza una operacin o se cumple una condicin. Con los incrementos generalmente de uno (1) en uno (1). - Variable de Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente. - Constante: Representa a un valor o dato almacenado en memoria que no puede cambiar durante la ejecucin de un programa.

También podría gustarte