HOLA AMIGOS HOY LES TRAIGO INFORMACIÓN BÁSICA DEL FUNCIONAMIENTO DE UN COMPUTADOR, PROGRAMAS DE ALMACENAMIENTO, TODO SOBRE DIAGRAMAS DE FLUJO Y ALGUNAS HERRAMIENTAS Y UTILIZACIÓN DE MATLAB. Almacenamiento en nube
Esencialmente se trata
 de información de datos basados en programas computacionales creado
en la década de los 60 donde los datos están alojados en
espacios de almacenamiento virtualizados a continuacion detallaremos
algunos de los los más importantes:
Dropbox
Dropbox es un servicio de
alojamiento de archivos multiplataforma en la nube, operado por la compañía
Dropbox.
El servicio permite a los usuarios
almacenar y sincronizar archivos en línea y entre computadoras y compartir
archivos y carpetas con otros usuarios y con tabletas y móviles.
Existen versiones gratuitas y de
pago, cada una de las cuales tiene opciones variadas. Está disponible para
Android, Windows Phone, Blackberry e iOS.
Google Drive
Google Drive
Google Drive es un servicio de
alojamiento de archivos que fue introducido por Google el 24 de abril del
2012.
Es el reemplazo de Google Docs que
ha cambiado su dirección URL, entre otras cualidades.
.
Gmail                    
                     
                     
                     
            Gmail,
llamado en otros lugares Google Mail por problemas legales,es
un servicio de correo electrónico con posibilidades POP3e IMAP gratuito
proporcionado por la                         empresa estadounidense Google, Inc a partir
del 15 de abril de 2004 y que ha captado la atención de los
medios de información por sus innovaciones tecnológicas, su capacidad, y por
algunas noticias que alertaban sobre la violación de la privacidad de los
usuarios.         
Funcionamiento de la computadora
Una computadora procesa o elabora
los datos que se le suministran, puede por ejemplo realizar el promedio de unos
datos introducidos previamente, realizar una gráfica con esos datos o suministrar
un listado ordenado de mayor a menor de dichos datos.
Para realizar estos procesos, la
computadora debe disponer de recursos para almacenar la información mientras
ésta es elaborada, al recurso que realiza esa función se le denomina memoria.
Esquemáticamente una computadora se
compone de:               Unidad de Entrada: Permiten la introducción de información en
la computadora, existen dos tipos de dispositivos, aquellos que convierten los
datos en un formato capaz de ser interpretado por la computadora como el
teclado y los que permiten su entrada directa como el escáner, lectores de
tarjetas o códigos de barras o la pantalla táctil.                                                                                                                                                                                                                                                               Unidad de Almacenamiento o
Memoria: Dispositivos donde se almacenan los datos y los programas
para procesarlos. Existen dos tipos: Memoria Principal, constituida por
circuitos integrados y que a su vez se subdivide en RAM y ROM; y la Memoria
Secundaria, donde se almacenan otros datos que no tienen cabida en la
principal, la constituyen los Discos duros , CD-ROM, disquetes, Unidades de
cinta,..                                                                              Unidad
Aritmético/Lógica: Es la parte encargada de procesar los datos, se conoce
también como ALU . Las operaciones que realiza son de tipo aritmético: suma,
resta, multiplicación y división; y de tipo lógico: igual, mayor que o menor
que.                                                                                    Unidad de Control: Dirige la ejecución del programa y
control a tanto el movimiento entre memoria y ALU, como las señales que circulan
entre la CPU y los Periféricos.                                    Unidad de Salida: Presentan
al usuario los datos ya elaborados que  se encuentran en la memoria de la
computadora, los más habituales son la pantalla y la impresora.
Funcionamiento de la computadora
Software                                                                                      Se conoce
como software al equipo lógico o soporte lógico de
un sistema informático, que comprende el conjunto de los
componentes lógicos necesarios que hacen posible la realización de
tareas específicas, en contraposición a los componentes físicos que
son llamados hardware.
Sistema operativo
Un sistema operativo es
un programa o conjunto de programas de un sistema informático que gestiona
los recursos de hardware y provee servicios a los programas de
aplicación de software, ejecutándose en modo privilegiado respecto de los
restantes.

Lenguaje de programación
Un lenguaje de programación es
un lenguaje formal diseñado para realizar procesos que pueden
ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear
programas que controlen el comportamiento físico y lógico de una máquina,
para expresar algoritmos con precisión, o como modo de comunicación
humana.
Introducción-Terminología 
La Terminología tiene aspectos comunes con la Lexicografía, pero las
diferencias entre la naturaleza de los objetos léxicos estudiados ha dado lugar
al desarrollo de sus propias teorías sobre los elementos léxicos de una lengua
y de una metodología fundamentada en dichas teorías, todo lo cual permite
considerar a la Terminología como una ciencia separada de la Lexicografía.
“Terminología” es una palabra polisémica que hace referencia a tres aspectos
distintos relacionados con la recopilación, la descripción y la presentación de
los términos.
Tecnicas de resolucion de algoritmos
Para lograr resolver cualquier problema se deben seguir básicamente los
siguientes pasos:
1.      Análisis
del Problema: en este paso se define el problema, se lo comprende y se
lo analiza con todo detalle.
2.      Diseño
del Algoritmo: se debe elaborar una algoritmo que refleje paso a paso
la resolución del problema.
3.      Resolución
del Algoritmo en la computadora: se debe codificar el algoritmo.
Algoritmos de búsqueda y ordenación
Ordenación
         Existen diferentes
algoritmos de ordenación elementales o básicos cuyos detalles de
implementación se pueden encontrar en diferentes libros de algoritmos. Los
algoritmos presentan diferencias entre ellos que los convierten en más o menos
eficientes y prácticos según sea la rapidez y eficiencia demostrada por
cada uno de ellos.
Búsqueda
Búsqueda Secuencial.- Este algoritmo compara uno a uno los elementos del arreglo hasta recorrerlo
por completo indicando si el número buscado existe. Su implementación en el
lenguaje C.
2.3. Tipos de datos elementales
         Se llama tipo
primitivo o tipo elemental a los tipos de datos originales de un lenguaje de
programación, esto es, aquellos que nos proporciona el lenguaje y con los que
podemos (en ocasiones) construir tipos de datos abstractos y estructuras de
datos.
Generalmente ejemplos de tipos primitivos son:
1.      Char
(Carácter)
2.      Int
(Entero)
3.      Float
(Real - Coma flotante)
·         Otros
tipos de datos que pueden ser considerados primitivos ya que la mayoría de
lenguajes de programación así los proporcionan (aunque no todos) son:
Booleano (Lógico: Verdadero, Falso)
String (Cadena de caracteres)
Puntero (Dirección de memoria - Int)
2.3.1. Clasificaciones en los tipos de datos
         En Pascal existen
gran variedad y cantidad de tipos de datos. Pero en este tutorial sólo se
trataran los básicos para que puedas ir construyendo tus primeros programas.
         Existen muchas
clasificaciones para los tipos de datos, y dependiendo de la fuente que mires,
te mostrarán una u otra. A continuacón tienes una de las posibles
clasificaciones:
1.      Dinámicos
2.      Estáticos
3.      El
tipo cadena
4.      Estructurados
5.      Simples
6.      Ordinales
7.      No-ordinales
8.      Tipos
estáticos
Casi todos los tipos de datos son estáticos, la excepción son los punteros
y no se tratarán debido a su complejidad.
Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en
memoria no puede variar durante la ejecución del programa. Es decir, una vez
declarada una variable de un tipo determinado, a ésta se le asigna un trozo de
memoria fijo, y este trozo no se podrá aumentar ni disminuir.
2.3.2. Tipos dinámicos
Dentro de esta categoría entra solamente el tipo puntero. Este tipo te
permite tener un mayor control sobre la gestión de memoria en tus programas.
Con ellos puedes manejar el tamaño de tus variables en tiempo de ejecución, o
sea, cuando el programa se está ejecutando.
         Los punteros quizás
sean el concepto más complejo a la hora de aprender un lenguaje de
programación, sobre todo si es el primero que aprendes. Debido a esto, no lo
trataremos. Además, lenguajes que están muy de moda (por ejemplo Java) no
permiten al programador trabajar con punteros.
2.3.3. Tipos simples
         Como su nombre indica
son los tipos básicos en Pascal. Son los más sencillos y los más fáciles de
aprender. Por todo esto, serán en los que nos centremos.
         Los tipos simples más
básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de
programación los soportan, no como ocurre con los estructurados que pueden
variar de un lenguaje a otro.
2.3.4. Tipos estructurados
         Mientras que una
variable de un tipo simple sólo referencia a un elemento, los estructurados se
refieren a colecciones de elementos.
         Las colecciones de
elementos que aparecen al hablar de tipos estructurados son muy variadas:
tenemos colecciones ordenadas que se representan mediante el tipo array,
colecciones sin orden mediante el tipo conjunto, e incluso colecciones que
contienen otros tipos, son los llamados registros.
2.3.5. Tipos ordinales
         Dentro de los tipos
simples, los ordinales son los más abundantes. De un tipo se dice que es
ordinal porque el conjunto de valores que representa se puede contar, es decir,
podemos establecer una relación uno a uno entre sus elementos y el conjunto de
los números naturales.
Dentro de los tipos simples ordinales, los más importantes son:
1.      El
tipo entero (integer)
2.      El
tipo lógico (boolean)
3.      El
tipo carácter (char)
2.3.6. Tipos no-ordinales
         Simplificando,
podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos
sirve para declarar variables que pueden tomar valores dentro del conjunto de
los números reales.
         A diferencia de los
tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer
una relación uno a uno entre ellos y los número naturales. Dicho de otra forma,
para que un conjunto se considere ordinal se tiene que poder calcular la
posición, el anterior elemento y el siguiente de un elemento cualquiera del
conjunto.
2.4. Diagramas de flujo iniciales.
     Es la representación gráfica de un  algoritmo o
proceso. Se utiliza en disciplinas como programación,economía, procesos
industriales.
     En  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.
     Estos diagramas utilizan símbolos con significados
definidos que representan los pasos del algoritmo, y representan el flujo de
ejecución mediante flechas que conectan los puntos de inicio y de fin del
proceso.
.
2.4.1 Pasos para elaborar un diagrama de flujo.
1.      Establecer
el alcance del proceso a describir. De esta manera quedará fijado el comienzo y
el final del diagrama.
2.      Frecuentemente
el comienzo es la salida del proceso previo y el final la entrada al proceso
siguiente.
3.      Identificar
y listar las principales actividades/subprocesos que están incluidos en el
proceso a describir y su orden cronológico.
4.      Si
el nivel de detalle definido incluye actividades menores, listarlas también.
5.      Identificar
y listar los puntos de decisión.
6.      Construir
el diagrama respetando la secuencia cronológica y asignando los
correspondientes símbolos
7.      Asignar
un título al diagrama y verificar que esté completo y describa con exactitud el
proceso elegido.
2.4.2 Tipos de diagramas de flujos. 
Formato vertical.-  En él el flujo o la secuencia de las
operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones
de un proceso con toda la información que se considere necesaria, según su
propósito.
Formato horizontal.-  En
él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
Ventajas de los diagrama de flujo.
1.      Favorecen
la comprensión del proceso a través de mostrarlo como un dibujo.
2.      El
cerebro humano reconoce fácilmente los dibujos.
3.      Un
buen diagrama de flujo reemplaza varias páginas de texto.
4.      Permiten
identificar los problemas y las oportunidades de mejora del proceso.
5.      Se
identifican los pasos redundantes, los flujos de los re-procesos, los
conflictos de autoridad, las responsabilidades, los cuellos de botella, y los
puntos de decisión.
6.      Realizan,
facilitando a los empleados el análisis de las mismas.
7.      Son
una excelente herramienta para capacitar a los nuevos empleados y también a los
que desarrollan la tarea, cuando se realizan mejoras en el proceso.
2.4.4. Símbolos de los diagramas de flujo.
MATLAB
Tambien conocido como laboratorio de matrices matemático que ofrece un entorno de
desarrollo integrado con un lenguaje de programación propio. Está
disponible para la plataforma, WINDOWS, MAC IOS X y GNU. Entre sus prestaciones
básicas se hallan: la manipulación de matrices, la representación de datos y
funciones, la implementación de algoritmos, la creación de interfaces de
usuario y la comunicación con programas en otros lenguajes
   y con otros dispositivos. El paquete MATLAB dispone de dos
herramientas adicionales que expanden sus prestaciones, a saber,Simulink 
y GUIDE . Además, se pueden ampliar las capacidades de MATLAB con las cajas
de herramientas ; y las de Simulink con los paquetes
de bloques .Es un software muy usado en universidades y centros
de investigación y desarrollo. En los últimos años ha aumentado el número de
prestaciones, como la de programar directamente procesadores digitales de
señal o crear código VHDL.
ALGUNOS COMANDOS EN MATLAB
| 
Los cálculos que no se asignan a una variable en concreto
  se asignan a la variable de respuesta por defecto que es ans (del
  inglés, answer): >>2+3 
ans = 5 
Sin embargo, si el cálculo se asigna a una variable, el
  resultado queda guardado en ella:  
>>x=2+3 
x = 5 | 
| 
Para conocer el valor de una variable, basta teclear su
  nombre: >>x 
x = 5 
 Si se añade un punto y coma (;) al final de la
  instrucción, la máquina no muestra la respuesta...  
>>y=5*4; 
... pero no por ello deja de realizarse el cálculo.  
>>y 
y = 20 | 
| 
Las operaciones se evalúan por orden de prioridad: primero
  las potencias, después las multiplicaciones y divisiones y, finalmente, las
  sumas y restas. Las operaciones de igual prioridad se evalúan de izquierda a
  derecha:>>2/4*3 
ans = 1.5000 
>>2/(4*3) 
ans = 0.1667 | 
| 
 Se pueden utilizar las funciones matemáticas
  habituales. Así, por ejemplo, la función coseno,>>cos(pi) % pi es
  una variable con valor predeterminado 3.14159... 
ans = -1 
o la función exponencial  
>>exp(1)    % Función
  exponencial evaluada en 1, es decir, el número e 
ans = 2.7183 | 
| 
 Además de la variable pi, MATLAB tiene
  otras variables con valor predeterminado; éste se pierde si se les asigna
  otro valor distinto. Por
  ejemplo: >>eps       % Épsilon de la
  máquina. Obsérvese que MATLAB trabaja en doble precisión 
ans = 2.2204e-016 
pero... >>eps=7 
eps = 7 | 
| 
 Otro ejemplo de función matemática: la raíz
  cuadrada; como puede verse, trabajar con complejos no da ningún tipo de
  problema. La unidad imaginaria se representa en MATLAB
  como  i o j, variables con dicho valor como
  predeterminado: >>sqrt(-4)ans = 0+ 2.0000i | 
| 
 El usuario puede controlar el número de decimales
  con que aparece en pantalla el valor de las variables, sin olvidar que ello
  no está relacionado con la precisión con la que se hacen los cálculos, sino
  con el aspecto con que éstos se muestran: >>1/3 
ans = 0.3333 
>>format long 
>>1/3 
ans = 0.33333333333333 
>>format       %
  Vuelve al formato estándar que es el de 4 cifras decimales | 
| 
  Para conocer las variables que se han usado
  hasta el momento: >>who 
Your variables are: ans eps x y 
o, si se quiere más información (obsérvese que todas las
  variables son arrays):  
>>whos 
Name  Size  Bytes     
  Class ans 1x1 8 double array eps 1x1 8 double array x 1x1 8 double array y 1x1 8 double array 
Grand total is 4 elements using 32 bytes | |||||||||||
| 
Para deshacerse de una variable>>clear y  
>>who 
Your variables are: ans eps x 
 
 | 
También permite dibujar superficies. La forma más sencilla
es mediante el comando ezsurf,
>>ezsurf('sin(x*y)',[-2 2 -2 2]
Aunque se pueden realizar gráficas más sofisticadas:
>>t=0:0.001:0.009;
>>v=900:1025;
>>[T V]=meshgrid(t,v);
>>aux1=16*pi^2*(T.^2).*((V-918).^2).*((V-1011).^2);
>>aux2=aux1+(2*V-1929).^2;
>>w=T./aux2;
>>z=35000000*w;
>>surfl(t,v,z);     % Este comando dibuja la
superficie creada mediante las
>>shading interp;   % ordenes anteriores. Los siguientes
sirven para modificar
>>colormap(pink);   % el dibujo obtenido
>>rotate3d;         % Sirve
para girar la figura mediante el ratón.
















