Translate

viernes, 11 de julio de 2014

Estructura del computador

Un computador se divide fundamentalmente en dos partes: el Hardware y el Software. El hardware es la parte física del computador, la parte tangible; es decir aquello que podemos tocar del computador. El software es la parte lógica del computador, es decir el conjunto de instrucciones que le ordenan al hardware que tarea debe realizar.


Arquitectura del hardware 

 El Hardware es la parte tangible del computador, aquella que se puede palpar. Los componentes Hardware se refiere a las partes físicas y accesorios complementarios que componen la Unidad Central de Procesamiento (CPU) así como a los dispositivos externos, tales como, monitor, impresora, teclado, mouse, cornetas. Si vemos el computador como una estructura de hardware, notaremos que esta constituido por dispositivos, que clasificaremos según la función que desempeñen. De acuerdo a esta clasificación tendremos:

Dispositivos de Entrada

Son todos aquellos que permiten la entrada de datos a un computador. Entre estos encontramos: el teclado, el ratón, el escáner, el micrófono, la cámara web, el capturador de y firma digitales o lapices ópticos,memorias usb,cd, dvd

Dispositivos de Salida

Son todos aquellos que permiten mostrar la información procesada por el computador. Entre estos encontramos: la pantalla, la impresora, los altavoces, etc.

 Dispositivos de almacenamiento

Son todos aquellos que permiten almacenar los datos en el computador. Ente estos encontramos: el disquete, el disco duro (interno y externo), el CD, el DVD, la memoria USB, etc.

Disco Duro

Dispositivos de Comunicacion

Son todos aquellos que permiten la comunicación entre computadores. Entre estos encontramos: el módem, la tarjeta de red y el enrutador (router).

Dispositivos de Cómputo

Son todos aquellos que realizan las operaciones y controlan las demás partes del computador. Entre estos encontramos: la Unidad Central de Procesamiento, la memoria y el bus de datos.

Unidad Central de Procesamiento (CPU)

Unidad central de proceso o CPU(mejor conocida por sus siglas en inglés, CPU), es un circuito microscópico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y del proceso de datos en las computadoras. Generalmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y comparaciones y toma decisiones lógicas (determinando si una afirmación es cierta o falsa mediante las reglas del álgebra de Boole. Para aceptar órdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a través de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los dispositivos de almacenamiento (por ejemplo un disco duro), los dispositivos de entrada (por ejemplo un teclado o un mouse) y los dispositivos de salida (por ejemplo un monitor o una impresora).

Cuando se ejecuta un programa, el registro de la CPU, llamado contador de programa, l
leva la cuenta de la siguiente instrucción del programa, para garantizar que las instrucciones se ejecuten en la secuencia adecuada. La unidad de control de la CPU coordina y temporiza las funciones de la CPU, tras lo cual recupera la siguiente instrucción desde la memoria. En una secuencia típica, la CPU localiza la instrucción en el dispositivo de almacenamiento correspondiente. La instrucción viaja por el bus desde la memoria hasta la CPU, donde se almacena en el registro de instrbucción. Entretanto, el contador de programa se incrementa en uno para prepararse para la siguiente instrucción. A continuación, la instrucción actual es analizada por un descodificador, que determina lo que hará la instrucción. Cualquier dato requerido por la instrucción es recuperado desde el dispositivo de almacenamiento correspondiente y se almacena en el registro de datos de la CPU. A continuación, la CPU ejecuta la instrucción, y los resultados se almacenan en otro registro o se copian en una dirección de memoria determinada.


La Memoria

Es la encargada de almacenar toda la información que el computador está usando. Las hay de tres tipos y son:

Memoria RAM

Del inglés Random Access Memory, es la memoria principal. Se caracteriza y diferencia de la memoria ROM porque una vez apagado el sistema operativo, toda la información almacenada en la memoria RAM es automáticamente borrada.

Memoria ROM
Del inglés Read Only Memory, Es permanente, ya que lo que permanece en la ROM no se pierde aunque el computador se apague.
Su función principal es guardar información inicial que el computador necesita para colocarse en marcha una vez que se enciende. Solo sirve para leer. Se puede leer la información desde esta memoria y no recibir información.


Memoria Caché
Es aquella que se usa como puente entre el CPU y la memoria RAM para evitar demoras en el procesamiento de los datos. Existen varios núcleos de esta memoria (denominados con la letra L y un número, por ejemplo L1). Cuanto menor el número más rápida es la memoria.
La memoria Caché es, por proximidad a la CPU, mucho más rápida que la memoria RAM. También es mucho mas pequeña. La velocidad de la caché con respecto a la memoria RAM convencional es del orden de 5 a 10 veces superior.


El bus de Datos o cables de datos

Es el conjunto de interconexiones entre las distintas partes del computador que permiten la comunicación entre todos los dispositivos del mismo. También un bus es un conjunto cableado que sirve para que los dispositivos hardware puedan comunicarse entre sí. Son rutas compartidas por todos los dispositivos y les permiten transmitir información de unos a otros, son, en definitiva, las autopistas de la información interna, las que permiten las transferencias de toda la información manejada por el sistema



acontinuacion encontraras informacion basica de como empezar a programar, SUERTE...


C:\Documents and Settings\Administrador\Mis documentos\Downloads\Visual Basic.mht


algoritmo de cafe: en el siguiente link encontraras otro ejemplo de algoritmo.


C:\Documents and Settings\Administrador\Mis documentos\Downloads\algortimo del cafe.mht

algoritmo cambio de caucho.

estructura de un algoritmo: algoritmo de cambio de caucho.
C:\Documents and Settings\Administrador\Mis documentos\algoritmo de llanta.mht
para conocer la estructura de un diagrama de flujo sigue el siguiente enlace: diagrama de flujo de cambio de llanta.

C:\Documents and Settings\Administrador\Mis documentos\diagrama de flujo.mht

domingo, 11 de mayo de 2014

Algoritmo de cepillado de dientes.

Cepillado de dientes.

1) despertarse
2) Si=>4
3) No=>dormir
4) quitar cobija
5) buscar cholas
6) colocarse cholas
7) si=>9
8) no=>dormir
9) levantarse de la cama
10) abrir la puerta de la habitación
11) si tiene puerta => abrir
12) no tiene puerta=>13
13) dirigirse al baño
14) abrir la puerta del baño
15) si tiene puerta=> abrir
16) no tiene puerta=>17
17) entrar al baño
18) prender la luz
19) si hay luz => seguir
20) no hay luz => 21,22
21) salir del baño
22) buscar una vela
23) buscar fósforos
24) sacar caja de fósforos
25) encender vela
26) paso 13
27) paso 14
28) paso17
29) abrir el lavamanos
30) si hay agua => lavarnos
31) ni hay agua => dormir o buscar agua
32) si encontró agua => 30
33) no encontró agua => dormir
34) buscar cepillo dental
35) si encontró cepillo =>37
36) no encontró cepillo =>dormir
37) lavar cepillo
38) tomar crema de dientes
39) si hay crema => 42
40) no hay crema de dientes =>41
41) buscar crema en la cocina
42) echarle crema al cepillo
43) paso 11
44) colocar crema en la repisa
45)  si tiene repisa => 44
46) no tiene repisa => colocarla en el lavamanos
47) mojar cepillo con la crema
48) llevarse el cepillo a la boca
49) abrir la boca
50) meterse el cepillo a la boca
51) cepillarse
52) cepillar parte exterior de los dientes
53) cepillar parte interior de los dientes
54) cepillar parte superior de cada diente
55) cepillar con la punta del cepillo para limpiar detrás de cada diente
56) cepillar paladar
57) cepillar interior de las mejillas
58) cepillar lengua
59) sacar cepillo de la boca
60) colocarlo en el lavamanos
61) paso 29
62) escupir
63) enjuagar
64) tomar el cepillo de dientes
65) lavar cepillo de dientes
66) cerrar lavamanos
67) buscar paño
68) si hay paño en el baño =>  70
69) no hay paño en el baño => 67
70) secarse
71) buscar hilo dental
72) abrir hilo dental
73) sacar hilo dental
74) limpiar los dientes con el hilo dental
75) botar el hilo dental usado
76) buscar listerine
77) si tiene listerine => 79,80, 81
78) no tiene listerine =>
79) abrir envase
80) vaciar en la tapa
81) juagar
82) paso 29
83) escupir
84) paso 63
85) paso 70
86) salir del baño
87) cerrar la puerta
88) si hay puerta => cerrar
89) no hay puerta =>92
90) apagar la luz
91) apagar la vela
92) salir
93) dirigirse a la habitación
94) buscar ropa
95) cambiarse
96) peinarse
97) maquillarse
98) mirarse al espejo
99) estas listo

100) terminaste

domingo, 4 de mayo de 2014

programacion






¿QUÉ ES PROGRAMACIÓN?

La programación es el proceso de diseñar, codificar, mejorar  y mantener el código fuente de programas computacionales  El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que muestren un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos de varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.


¿QUÉ ES LENGUAJE DE PROGRAMACIÓN?


Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, esencialmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.

Según la forma de ejecución

LENGUAJES COMPILADOS

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.

LENGUAJES INTERPRETADOS



Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.



ALGUNOS LENGUAJES DE PROGRAMACIÓN:
·                           ABAP
·                            ABC
·                            Ada
·                            ActionScrip
·                            Afnix
·                            ALGOL
·                            APL
·                            ASP
·                            ASP.NET
·                            AWK
·                            B
·                            BASIC
·                            BCPL
·                            Befunge
·                            Boo
·                            C
·                            C++
·                            C#
·                            Caml
·                            Clipper
·                            CLIPS
·                            CLU
·                            COBOL
·                            CORAL
·                            D
·                            Delphi
·                            DIV
·                            Dylan
·                            Eiffel
·                            Erlang
·                            Ensamblad
·                            Extended   
·                            Euphoria
·                            Fénix
·                            Flow-
·                            Forth
·                            FORTRAN
·                            Gambas
·                            GML
·                            GRAFCET
·                            FP
·                            Haskell
·                            Icon
·                            Inform
·                            INTERCAL
·                            ISWIM
·                            J
·                            Java
·                            JavaScript
·                            Joy
·                            KWC
·                            LADDER
·                            Lexico
·                            Lingo
·                            Lisp
·                            Logo
·                            Lua
·                            MAGIC
·                            Mainsail
·                            Mesa
·                            Miranda
·                            ML
·                            Modula
·                            Modula-2
·                            Modula-3
·                            Natural
·                            NetREXX
·                            Oberon
·                            Object
·                            Objective-
·                            Ocaml
·                            Occam
·                            Oz
·                            Pascal
·                            Parlog
·                            Perl
·                            PHP
·                            PL/1
·                            Plankalkül
·                            PostScript
·                            PowerBuilder
·                            Prolog
·                            Python
·                            Rapid
·                            REXX
·                            RPN
·                            RPG
·                            Ruby
·                            Sail
·                            Sather
·                            Scheme
·                            Scriptol
·                            Seed7
·                            Self
·                            Sh
·                            Simula
·                            Smalltalk
·                            Snobol
·                            SPARK
·                            Squeak
·                            SR
·                            Standard ML
·                            TI-Basic
·                            TCL
·                            VBA
·                            Visual Basic
·                            Visual C++
·                            Visual DialogScript
·                            Visual Foxpro
·                            Yurix
·                            ZPL


¿PARA QUE PROGRAMAMOS?

Diremos por tanto que programar es definir instrucciones para ser ejecutadas por un ordenador. El resultado de esta tarea es un paquete de instrucciones al que llamamos programa. El objetivo de programar suele ser resolver un problema.





Vayamos por partes. Para definir instrucciones a un ordenador hemos de utilizar un lenguaje o código específico, que ha sido prediseñado con el fin de que la interpretación de cada instrucción sea unívoca. No hay libertad de interpretación o subjetivismo. Si el lenguaje que utilicemos acepta la sintaxis: Mostrar 3+3, utilizar Muéstrame 3+3sería una orden nula o carente de significado para el ordenador, por lo que probablemente nos invitará a corregirla o simplemente nos dirá "Error".

Los lenguajes de programación, salvando las distancias, tienen similitudes con las lenguas humanas: evolucionan (p. ej. aumentan o disminuyen el número de vocablos), se expanden internacionalmente y triunfan si gran número de personas se decide a utilizarlos, o caen en desuso y se convierten en lenguas fósiles. Igualmente pueden ser más o menos fáciles de aprender, más o menos ricos envocablos, y más o menos fuertes para resistir el embate de las necesidades de los programadores. Hablaremos de ello en otros artículos.


¿CON CUÁNTOS LENGUAJES PODEMOS DAR INSTRUCCIONES A UN ORDENADOR?

Pues con muchos, la única salvedad a tener en cuenta es que no podemos “hablarle” directamente: necesitaremos un intérprete o programa específico para escribir instrucciones. Este intérprete suele recibir el mismo nombre que el lenguaje (p. ej. Turbopascal o Visual Basic) y lo instalamos en nuestro ordenador accediendo a éste desde el sistema operativo. Muchos programadores disponen de varios lenguajes en sus ordenadores y los utilizan en función de sus necesidades. Para empezar diremos que uno es suficiente para una persona que va a iniciarse en programación.



¿PARA QUÉ SIRVE PROGRAMAR?



 La respuesta es un tanto ambigua, pero es esta: para todo. Atendiendo a que los ordenadores intervienen en la casi totalidad de las actividades que realiza el ser humano, y que la programación es lo que hace funcionar a los ordenadores, he aquí que programar sirve para todo. Quizás aclaremos poco diciendo esto, pero es difícil hacer una lista de cosas para las que sirve programar, porque sería infinita. Efectivamente, los ordenadores intervienen ya en todas las facetas de la vida y actividad humanas, en procesos tan dispares como la producción industrial, la enseñanza o el control de tráfico.

TIPOS DE PROGRAMACIÓN:

PROGRAMACIÓN ESTRUCTURADA

La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).

ESTRUCTURA SECUENCIAL

Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.

Ejemplo:
INPUT x
INPUT y
Auxiliar= x
x= y
y= auxiliar
PRINT x
PRINT y

Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una variable auxiliar, intermedia.
1º Guardamos una copia del valor de x en auxiliar.
2º Guardamos el valor de y en x, se pierde el valor anterior de x pero no importa porque tenemos una copia en auxiliar.
3º Guardamos en y el valor de auxiliar, que es el valor inicial de x. El resultado es el intercambio de los valores de x e y, en tres operaciones secuenciales.


ESTRUCTURA SELECTIVA O DE SELECCIÓN

La estructura selectiva permite la realización de una instrucción u otra según un criterio, solo una de estas instrucciones se ejecutara.

Ejemplo:
IF a > b THEN
   PRINT a ; " es mayor que " ; b
ELSE
   PRINT a ; " no es mayor que " ; b
END IF

Esta instrucción selectiva puede presentar dos mensajes, uno a es mayor que b, y el otro a no es mayor que b, solo uno de ellos será presentado, según el resultado de la comparación de a y b, si el resultado de a > b es cierto, se presenta el primer mensaje, si es falso el segundo, las palabras IF, THEN, ELSE, END IF; son propias de la instrucción (palabra reservadas) que tienen un significado en el lenguaje, sirven de separadores, y el usuario no debe utilizarlas salvo para este fin.

IF señala el comienzo de la instrucción condicional, y se espera que después esté la condición de control de la instrucción.

THEN señala el fin de la condición, y después estará la instrucción a realizar si la condición es cierta.

ELSE separa la instrucción que se ejecutará si la condición es cierta de la que se ejecutará si es falsa.

END IF indica que la instrucción condicional finaliza y el programa seguirá su curso.

ESTRUCTURA ITERATIVA

Un bucle iterativo o iteración de una secuencia de instrucciones, hace que se repitan mientras se cumpla una condición, en un principio el número de iteraciones no tiene porque estar determinado.
Ejemplo:
a= 0
b= 7
WHILE b > a DO
   PRINT a
   a= a + 1
WEND

Esta instrucción tiene tres palabras reservadas WHILE, DO y WEND.

WHILE: señala el comienzo del bucle y después de esta palabra se espera la condición de repetición, si la condición es cierta se pasa al cuerpo del bucle, si no al final de la instrucción mientras.

DO: señala el final de la condición, lo que esté después será el cuerpo del bucle.

WEND: señala el final del cuerpo del bucle y de la instrucción WHILE.

El bucle mientras, se repite mientras la condición sea cierta, esta condición se comprueba al principio por lo que el cuerpo del bucle puede que no se ejecute nunca, cuando la condición es falsa en un principio, o que se repita tantas veces como sea necesario, mientras la condición sea cierta.

En el ejemplo tenemos dos variables a y b que al iniciarse el bucle tienen los valores a=0 y b=7.

La condición del bucle es b > a.
Cuando a=0 y b=7. la condición es cierta, en el cuerpo del bucle se escribe el
valor de a en pantalla y se incrementa a en una unidad. Entonces a=1 y b=7.

Cuando a=6 y b=7. la condición es cierta, se escribe el valor de a en pantalla y se incrementa en una unidad.
Resultando que a=7 y b=7. Entonces la condición es falsa y la instrucción WHILE finaliza.

La salida por pantalla de este ejemplo seria 0 1 2 3 4 5 6


LA PROGRAMACION MODULAR

La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver. Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples.

Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente (Top-Down).

Un módulo es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original. Cada uno de estos módulos tiene una tarea bien definida y algunos necesitan de otros para poder operar.
En caso de que un módulo necesite de otro, puede comunicarse con éste mediante una interfaz de comunicación que también debe estar bien definida.

Si bien un módulo puede entenderse como una parte de un programa en cualquiera de sus formas y variados contextos, en la práctica es común representarlos con procedimientos y funciones. Adicionalmente, también
Pueden considerarse módulos las librerías que pueden incluirse en un programa o, en programación orientada a objetos, la implementación de un tipo de dato abstracto.

¿QUÉ ES SOFTWARE?



El Software es algo que notamos poco por que quizás a veces lo pasamos por desapercibido debido a que parte importante de el no es visible a nuestros ojos, pero sabias que si no hubiera existido el software no estuvieras manejando los programas en tu computadora, ya que el software se ocupa de mandar instrucciones a la computadora ya que mediante el se ejecuta el sistema operativo del equipo.
           

El Hardware de la Computadora necesita del software para poder funcionar, si no existiese seria como una herramienta sin utilidad para ningún fin, es aquí donde el Hardware y el Software se necesitan para cumplir tareas que el otro no puede realizar. El Software se puede dividir hasta en tres  tipos principales:

Tipos de software:

·        Software de sistema: La función del Software de Sistema es proveer de las instrucciones al sistema operativo para así el usuario tener un control en la que puede gestionar los controladores, diagnosticar el hardware, controlar los programas mediante el uso del sistema operativo.

·        Software de Programación: Es todo lo referente hacia lo que maneja el usuario para desarrollar aplicaciones y programas informáticos mediante lenguajes de programación, puede incluir desde editores de texto hasta compiladores de documentos.


·        Software de Aplicación: Son los programas que contienen varias instrucciones para ayudar a gestionar al usuario para controlar algo, por citar un ejemplo son softwares que están construidos a medida y exigencias del usuario.

GRAFICADORES:


Los graficadores son programas informáticos que gracias a dibujos vectoriales o mapa de bits, representación de una imagen por pequeños puntos o píxeles con un color y luminosidad determinada, nos ayudan a crear ilustraciones desde un logotipo o cualquier otra ilustración profesional. Con lo que la función de los graficadores consiste en ayudarnos en el diseño de cualquier ilustración, sea un simple logotipo o una ilustración profesional.

Otra función de los graficadores es como instrumento pedagógico en el aprendizaje de las funciones y en la geometría. Diversos estudios sobre como enseñarles a los alumnos la representación gráfica de funciones, estudios sobre trigonometría aconsejan que se aproveche mucho más si se ayudan de los recursos informáticos, con el empleo de los graficadores.

Uno de los programas graficadores más conocidos es el gnuplot. Es un programa muy versátil que realiza gráficas de funciones y datos. Este programa es compatible con la mayoría de los sistemas operativos. El gnuplot reproduce directamente en la pantalla de la computadora una gran variedad de formatos de imagen. Formatos como PNG, EPS, SVG, JPEG, etc. y se pueden usar interactivamente o por grupos.
                                                        La Algoritmica.
La algorítmica consiste en el desarrollo de soluciones computacionales a los diferentes problemas que se plantean en el desarrollo de un programa. Dichas soluciones son independientes del lenguaje de programación utilizado, puesto que son resueltos en un nivel de abstracción mayor. Muchas soluciones algorítmicas se basan en las diferentes estructuras de datos como apoyo fundamental a la hora de resolver problemas. Debido a este motivo, es importante conocer las diferentes estructuras con el objetivo de aplicar la estructura más adecuada al tipo de problema con el cual nos enfrentamos.


¿PARA QUÉ SIRVE UN ALGORITMO?

Sirve para que ya sea que un programador o un grupo de personas sigan un patrón para poder crear un programa o lograr utilizar un programa.


¿QUÉ ES UN ALGORITMO?

Un algoritmo no es más que una serie de pasos lógicos que se deben seguir para solucionar un problema del mundo real.  Nótese que diferentes personas pueden dar diferentes soluciones para el mismo problema, por lo cual no podemos decir que exista una sola serie de pasos lógicos para solucionar un problema.

¿PARA QUE SIRVEN LOS ALGORITMOS?:
       
     Los algoritmos tienen muchas aplicaciones,  una de las más importantes es en el ámbito de la informática.  Cuando usted ejecuta una aplicación (como el web browser que está utilizando para ver esta página), en realidad está desencadenando una serie de pasos lógicos que son leídos e interpretados por el computador.  Por lo tanto, se deduce que los algoritmos sirven para programar computadores.  Además de esto, los algoritmos nos sirven para modelar procesos o incluso un procedimiento (ya sea de ingeniería, médico, etc.).


¿QUÉ ES UN DIAGRAMA DE FLUJO?

Un diagrama de flujo es una representación gráfica de un proceso. cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.

 el diagrama de flujo ofrece una descripción visual de las actividades implicadas en un proceso mostrando la relación secuencial ente ellas, facilitando la rápida comprensión de cada actividad y su relación con las demás, el flujo de la información y los materiales, las ramas en el proceso, la existencia de bucles repetitivos, el número de pasos del proceso, las operaciones de interdepartamentales… facilita también la selección de indicadores de proceso


BENEFICIOS DEL DIAGRAMA DE FLUJO

·        En primer lugar, facilita la obtención de una visión transparente del proceso, mejorando su comprensión. El conjunto de actividades, relaciones e incidencias de un proceso no es fácilmente discernible a priori. La diagramación hace posible aprehender ese conjunto e ir más allá, centrándose en aspectos específicos del mismo, apreciando las interrelaciones que forman parte del proceso así como las que se dan con otros procesos y subprocesos.
·        Permiten definir los límites de un proceso. A veces estos límites no son tan evidentes, no estando definidos los distintos proveedores y clientes (internos y externos) involucrados.
·        El diagrama de flujo facilita la identificación de los clientes, es más sencillo determinar sus necesidades y ajustar el proceso hacia la satisfacción de sus necesidades y expectativas.
·        Estimula el pensamiento analítico en el momento de estudiar un proceso, haciendo más factible generar alternativas útiles.
·        Proporciona un método de comunicación más eficaz, al introducir un lenguaje común, si bien es cierto que para ello se hace preciso la capacitación de aquellas personas que entrarán en contacto con la diagramación.
·        Un diagrama de flujo ayuda a establecer el valor agregado de cada una de las actividades que componen el proceso.
·        Igualmente, constituye una excelente referencia para establecer mecanismos de control y medición de los procesos, así como de los objetivos concretos para las distintas operaciones llevadas a cabo.
·        Facilita el estudio y aplicación de acciones que redunden en la mejora de las variables tiempo y costes de actividad e incidir, por consiguiente,  en la mejora de la eficacia y la eficiencia.
·        Constituyen el punto de comienzo indispensable para acciones de mejora  o reingeniería.


Todas estas razones apuntan hacia el diagrama de flujo como un instrumento primordial para la correcta gestión de los procesos.



ELABORACIÓN DEL DIAGRAMA DE FLUJO


El diagrama de flujo debe ser realizado por un equipo de trabajo en el que las distintas personas aporten, en conjunto, una perspectiva completa del proceso, por lo que con frecuencia este equipo será multifuncional y multi-jerárquico.
 A continuación se presenta un ejemplo de diagrama de flujo de proceso.



 La elaboración de un diagrama de flujo es facilitada por diversas herramientas informáticas.


¿PARA QUE NOS SIRVEN LOS DIAGRAMAS DE FLUJOS?


Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado.

Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribir el programa en cualquier idioma de alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la documentación mejor de un programa complejo.

¿QUÉ ES DIAGRAMACIÓN?


La diagramación, también llamada maquetación, es un oficio del Diseño editorial que se encarga de organizar en un espacio, contenidos escritos, visuales y en algunos casos audiovisuales (multimedia) en medios impresos y electrónicos, como libros, diarios y revistas. 

           Estrictamente, el acto de diagramar tan solo se relaciona con la distribución de los elementos en un espacio determinado de la página, mientras que el Diseño editorial incluye fases más amplias del proceso, desde el proyecto gráfico, hasta los procesos de producción denominados pre-prensa (preparación para impresión), prensa (impresión) y post-prensa (acabados). Sin embargo, usualmente todo el aspecto gráfico de la actividad editorial y periodística se conoce por el término diagramación. 

           En el caso de un diario, la diagramación sigue los objetivos y líneas gráficas y editoriales de ese impreso. Las principales líneas editoriales para la diagramación de un diario incluyen la jerarquización de los artículos por orden de importancia. Las consideraciones gráficas incluyen legibilidad e incorporación balanceada y no-obstructiva de los anuncios publicitarios. 


           La edición incorpora principios del Diseño gráfico que, a su vez, es una profesión independiente o presente en licenciaturas relacionadas con el diseño, más allá de ser una disciplina que hace parte del currículo de profesiones como el Periodismo, la Publicidad y algunos cursos de Arquitectura en universidades y facultades. Otros términos que sirven para referirse al proceso de diagramación son: layout, makeup o pasteup.