viernes, 6 de mayo de 2011

Personas mas influyentes en las empresas de tecnología

Personajes más influyentes en las empresas de tecnología

En eWeek se encuentra publicada una lista con lo que ellos consideran los 100 personajes más influyentes en las empresas de tecnología. A continuación se pueden apreciar los cinco que encabezan esta prestigiosa lista:
1.   Larry Ellison, CEO (Chief Executive Officer) de Oracle:
Joseph Lawrence "Larry" Ellison (nacido el 17 de agosto 1944) es un magnate de negocios estadounidense, co-fundador y CEO de Oracle Corporation , una importante empresa de software de la compañía.

2.   Steve Jobs, CEO de Apple:
Steven Paul Jobs (n. 24 de febrero de 1995 en San Francisco, California, EEUU)  es un empresario e informático estadounidense, presidente de Apple Inc. y máximo accionista individual de The Walt Disney Company. Es una de las más importantes figuras de la industria de la computación y del entretenimiento digital.

Junto al co-fundador de Apple, Steve Wozniak, Jobs ayudó a la popularización de la computadora personal a finales de los años 70.  Fue uno de los primeros en prever el potencial de los sistemas de Interfaz Gráfica de Usuario.

Después de tener problemas con la cúpula directiva de la empresa que él mismo fundó, Jobs fue despedido de Apple Computer en 1985, regresando a la compañía en 1997, donde es director ejecutivo desde entonces.


http://es.wikipedia.org/wiki/Steve_Jobs
3.   Steve Ballmer, CEO de Microsoft :
Es uno de los hombres más ricos del mundo, y el segundo en los Estados Unidos en superar los mil millones de dólares de fortuna personal como empleado de una compañía, sin haberla fundado ni ser pariente del que la fundó. Pero es el mejor amigo de Bill Gates, que lo eligió en 2000 como su sucesor al frente de Microsoft, la empresa creadora de Windows y Office. En charla con el periódico LA NACION, su posición y su riqueza no fueron óbice para que recordara al dedillo las estadísticas de ventas de computadoras en la Argentina, así como su población, al evaluar la perspectiva de los negocios de la compañía en el país. Si una impresión deja este hombre corpulento e histriónico es que es un adicto al trabajo.
4.   Sam Palmisano, CEO de IBM:
Presidente y Jefe Oficial de la Junta IBM Corporation
Samuel J. Palmisano, ha sido consejero delegado de IBM durante 7 años. El Sr. Palmisano ha estado en la compañia durante 36 años.  El ejecutivo de 57 años de edad, ocupa el 2 en el plazo de software y servicios.
5.   Marissa Mayer, ejecutiva de Google:
Marissa Mayer es vicepresidenta de ubicación y servicios locales en Google. Extraoficialmente, es la reina de la tecnología de la información. Desde que se convirtió en la primera mujer contratada en Google en 1999, Mayer se ha involucrado con cada producto de Google. Marissa se considera a si misma una geek, pero a diferencia de sus colegas, ama la moda y los tacones.
http://www.diariopyme.com/2011/03/alta-ejecutiva-de-google-trabajaba-130-horas-y-dormia-debajo-de-mi-escritorio/

lunes, 2 de mayo de 2011

LA TECNOLOGÍA Y SUS CARACTERÍSTICAS

TECNOLOGÍA
Desde que el hombre comenzó a “crear” aplicando correctamente cada vez mayores y mejores conocimientos, las innovaciones no han dejado de surgir sin tener en cuenta los límites, lo cual es fascinante para la vida del ser humano, ya que prácticamente cada día surgen mejoras en todo lo que conocemos, desde un celular hasta un satélite espacial.
Como actividad humana, busca resolver problemas y satisfacer necesidades individuales y sociales, transformando el entorno y la naturaleza mediante la utilización racional, crítica y creativa de recursos y conocimientos.
La palabra tecnología proviene de las palabras griegas tence que significa “arte” y logos que alude a “conocimiento”, como resultado se tiene un significado global que dice: “Estudio o Ciencia de los Oficios”. Pero particularmente usaría el término “Arte del Conocimiento”
Básicamente, es una actividad socialmente organizada, planificada que persigue objetivos conscientemente elegidos y de características esencialmente prácticas.
Si existe un factor que ha provocado un incremento en el desarrollo de la vida de los seres humanos es la tecnología; la misma es la que nos permite actualmente contar con el último modelo de celular, las mejores computadores y los televisores con pantallas más que nítidas y mucho más.
Sin embargo opino que el “Arte del Conocimiento” (como particularmente lo llamo) a avanzado tanto que está acarreando consecuencias muchas veces inesperadas, tal como el calentamiento global; y es por ello que la tecnología se puede visualizar como un proceso productivo, pero también como un proceso destructivo.

CARACTERÍSTICAS DE LA TECNOLOGÍA

  • La tecnología tiene ciertas características generales, como lo son: la especialización, la integración, la discontinuidad y el cambio.
  • Como la tecnología aumenta la especialización tiende a aumentar. La integración es mucho más difícil en una sociedad de alta tecnología que en la de menor tecnología, porque la primera tiende a hacer más complejo un sistema y sus partes más interdependientes.
  • El flujo de tecnología no es una corriente continua, sino más bien una serie de descubrimientos de nuevos avances. La revolución tecnológica, produce tal vez, con cierta demora una revolución social paralela, ya que, tienen cambios tan rápidos que van creando problemas sociales mucho antes de que la sociedad sea capaz de encontrar soluciones. En el puesto de trabajo se requiere de una serie de cambios en las formas de organización, estilos de supervisión, estructuras de recompensas y muchos otros. Para un ajuste a la tecnología, lo que se requiere es más movilidad económica y social, ocupacional y geográfica, administrativa y del empleado.
http://www.monografias.com/trabajos11/tecnol/tecnol.shtml

sábado, 2 de abril de 2011

EVALUACIÓN DE REDES

INSTALACIÓN RESIDENCIAL

Ingresa la conexión desde afuera (postes) llegando al teléfono CANTV en la sala y comienza la instalación con una red residencial a través de un switch con 1024 kbps para ambas PC, que conecta la PC Nro. 1 en el Estudio,  y la PC Nro. 2 en el Dormitorio.

INSTALACIÓN OFICINA

Ingresa la señal desde afuera (postes) llegando al servidor principal desde donde está conectada una regleta, y en dicha regleta están  instalandos todos los PC  (la PC Nro. 1, PC Nro. 2, PC Nro. 3, PC Nro. 4, PC Nro. 5 ) con una red de estrella .

EVALUACIÓN DE REDES

INSTALACIÓN RESIDENCIAL
Ingresa la conexión desde afuera (postes) llegando al teléfono CANTV en la sala y comienza la instalación con una red residencial a través de un switch con 1024 kbps para ambas PC, que conecta la PC Nro. 1 en el Estudio,  y la PC Nro. 2 en el Dormitorio.

INSTALACIÓN OFICINA


Ingresa la señal desde afuera (postes) llegando al servidor principal desde donde está conectada una regleta, y en dicha regleta están  conectados todos los PC  (la PC Nro. 1, PC Nro. 2, PC Nro. 3, PC Nro. 4, PC Nro. 5 ) con una red de estrella .

LISTAS ENLAZADAS

Lista enlazada

Una lista es una colección de elementos homogéneos con una organización lineal.
diapositivas. programación III. unidad III

Una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior o posterior.
http://es.wikipedia.org/wiki/Lista_(inform%C3%A1tica)


Se trata de combinar las estructuras con los punteros para acabar por fin con la limitación de los arrays; y así, ya no hará falta indicar el tamaño del array al principio.

Es posible crear Variables Dinámicas sucesivamente,  unirlas con apuntadores y obtener una secuencia de registros en memoria.

Inicio es un apuntador que permite acceder la lista
Cada nodo es un registro y un NODO contiene dos campos:
            Campo de información (INFO): puede ser un entero, un carácter, un registro, etc. Puede ser simple o estructurado (puede contener uno o muchos campos de datos).
            Campo de enlace (PROX) : contiene la dirección del próximo elemento de la lista. diapositivas. programación III. unidad III

Las listas enlazadas pueden ser simples, dobles o circulares

Lista enlazada simple
Una lista enlazada simple necesita una estructura con varios campos, los campos que contienen los datos necesarios (nombre y teléfono) y otro campo que contiene un puntero a la propia estructura. Este puntero se usa para saber dónde está el siguiente elemento de la lista, para saber la posición en memoria del siguiente elemento.
Listas enlazadas dobles o circulares
Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior.
Las listas doblemente enlazadas no necesitan un nodo especial para acceder a ellas, pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta que se llega a uno de los extremos.
http://c.conclase.net/edd/index.php?cap=005
Programación de interfaz
Una interfaz de programación de aplicaciones es el conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos)  que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usados generalmente en las bibliotecas.
http://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones

Importancia de la programación de inferfaz
L a importancia de la programación de inferfaz radica en que uno de sus principales propósitos es proporcionar un conjunto de funciones de uso general.
Por ejemplo, al dibujar ventanas o iconos en la pantalla. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio.
http://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones

Avances de la programación
Aunque ya es costumbre ver los impresionantes despliegues tecnológicos necesarios para que las modernas computadoras personales ayuden al hombre, pocas personas conocen cómo se logra que estas máquinas puedan funcionar.
      Por un lado se tiene el equipo electrónico, compuesto de pastillas (chips) hechos de materiales especialísimos, llamados superconductores. Donde se conoce que la electrónica ha avanzado meteóricamente en los últimos veinte años, hasta el punto de que ahora cada dos años se espera que la memoria de computador aumente al doble su capacidad, al mismo tiempo que se reduce a la mitad su precio.
      Por otro lado se tiene que el computador puede ser programado. Esta cualidad ha permitido que el computador, a diferencia de otras máquinas, pueda ser aplicado a una gran diversidad de actividades. Ya que la programación permite reutilizar el mismo equipo en diferentes aplicaciones. Lo más usual es que los computadores personales modernos se usen como procesadores de palabras y como hojas de cálculo. Pero además se usan para jugar o para crear nuevos programas. Su aplicación más productiva es en el mundo de los negocios, en donde el computador puede efectuar muchas de las tareas burocráticas necesarias en nuestras sociedades modernas.

Características de la programación
·         Exactitud y precisión: Un programa debe aceptar datos, procesarlos y generar resultados sin errores de sintaxis o de lógica.

·         Integridad o completitud: Un programa es completo sólo si ejecuta todas las operaciones que el usuario espera al procesar un conjunto de datos.

·         Generalidad: Un programa bien diseñado se puede generalizar; es decir puede procesar conjuntos de datos que varían en el número de transacciones y en la naturaleza de los datos mismos. Las instrucciones se deben elaborar para que no se limiten a un número específico de transacciones en el conjunto de datos. El programa contiene diferentes opciones que pueden o no ser aplicadas durante una corrida. Los usuarios pueden seleccionar la opción adecuada cada vez.

·         Eficiencia: Debe asegurarse que las instrucciones para procesar datos se selecciones tan rápida y fácilmente como sea posible. La rapidez y la eficiencia del procesamiento de datos puede variar debido a: modo como se introducen los datos, orden en que se procesan los datos, instrucciones particulares que se empleen para controlar el proceso, etc.

·         Documentación: Consiste en la inclusión de auxiliares que explican con claridad como ocurre el procesamiento de los datos en un programa. La documentación incluida en un programa es de dos tipos:

o   Externa: No está incluida en el programa mismo sino que va por separado. Comprende: diagrama de flujo que muestre los pasos y los procedimientos y el orden en el cual tienen lugar; explicación que describa en el lenguaje común cómo es el procesamiento de los datos; descripción de los datos que van a introducirse y procesarse, incluyendo su tipo y tamaño.

o   Interna: Consiste en comentarios y descripciones que se insertan entre los enunciados ejecutables de un programa. Explica la sucesión de los pasos del procesamiento y los objetivos de los diferentes grupo de enunciados del programa.

Crítica del curso:
Puedo decir con gran gusto que he aprendido muchísimo en este curso, ya que no sólo obtuve mayor conocimiento sobre los temas de la materia, sino que mi aprendizaje llegó más allá. Una de las cosas nuevas que logré fue el de haber creado mi blogger.  Particularmente opino que el profesor Héctor tiene una mezcla de exigente-amigable, virtud que me agrada de él, pues, creo firmemente que es así como el estudiante puede captar más. Dios le bendiga mucho profesor.

martes, 8 de febrero de 2011

Variables en C++

Variable
Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa.
Existen ciertas reglas en cuanto a variables:
ü      Claras y con referencia directa al problema.
ü      No espacios en blanco, ni símbolos extraños en ellas.
ü      Se pueden usar abreviaturas, pero solo de carácter general.
ü      No deben ser palabras reservadas del lenguaje.
Ejemplos de buenas variables:  Nombre, Edad, SdoDiario, etc.


¿Dónde se declaran las variables?
Existen dos posibilidades, una es declararla como global y otra como local. Es global aquella variable que se declara fuera de la función main y local la que se declara dentro.
Constantes.
Las constantes se declaran, como en C, igual que una variable normal, pero añadiendo la palabra const delante. Por ejemplo, para declarar una constante con valor 33:
const int numero = 33;
Estas constantes no pueden ser modificadas a lo largo del programa. Por eso deben ser definidas al mismo tiempo que declaradas.


Tipos básicos y variables
Los tipos de datos básicos definidos por C son caracteres, números enteros y números en coma flotante. Los caracteres son representados por char, los enteros por short, int, long y los números en coma flotante por float y double. Los tipos básicos disponibles y su tamaño son:


Char
Carácter
(normalmente 8 bits)
Short
Entero corto con signo
(normalmente 16 bits)
Int
Entero con signo
(depende de la implementación)
Unsigned
Entero sin signo
(depende de la implementación)
Long
Entero largo con signo
(normalmente 32 bits)
Float
Flotante simple
(normalmente 32 bits)
Double
Flotante doble
(normalmente 64 bits)




Librerias
En general, el término librería se utiliza para referirse a un conjunto de módulos objeto .obj / .o (resultados de compilación) agrupados en un solo fichero que suele tener las extensiones .lib, .bpl [6] .a, .dll, etc.



Aplicaciones
En informática, una aplicación es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo. Esto lo diferencia principalmente de otros tipos de programas como los sistemas operativos (que hacen funcionar al ordenador), las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (con el cual se crean los programas informáticos).



Cómo desarrollar aplicaciones “multiplataforma” en Lenguaje C
¿Qué es eso de aplicaciones multiplataforma?
Decimos que una aplicación es multiplataforma si es capaz de ejecutarse en diferentes sistemas operativos (Windows, Mac OS, Linux, etc). Para ilustrar el concepto con un ejemplo  podemos hablar de Java, que es un lenguaje que permite desarrollar aplicaciones multiplataforma gracias a la Máquina Virtual (Java Virtual Machina, JVM). En el caso de Java es posible correr la aplicaciones sin hacer ningún cambio a nivel de código, es decir, un código hecho en Java bajo Windows puede correr sin problemas en Mac OS.


 Clasificación de las Estructuras de Datos


a)      Según su Implementación:

ü      Primitivas: Implementadas a nivel de hardware.  Ejemplos: arreglos, registros, etc.

ü      No Primitivas: Implementadas a nivel de software utilizando estructuras de datos primitivas.  Ejemplos: listas, colas, etc.



b)      Según su Representación en Memoria:

ü      Secuencial: En esta estructura de Datos el almacenamiento es inmediato. Son lineales los elementos acumulados.

ü      Enlazada: En esta estructura el almacenamiento es disperso.  Aquí la ubicación física de un elemento no determina una posición relativa.


c)      Según el Tipo de Almacenamiento:

ü      Estáticas: Se le asigna una cantidad fija de memoria cuando se declara la estructura de datos.

ü      Dinámicas: La asignación de memoria es variable, se puede aumentar o disminuir en tiempo de ejecución.

Resumen diapositivas Prof. Héctor Mendoza

viernes, 4 de febrero de 2011

LENGUAJE DE PROGRAMACIÓN C

Concepto
El lenguaje C es un tipo de programa con el cual podemos realizar distintos tipos de operaciones, con las cuales se facilita el manejo y realización de implementaciones.

Una pequeña historia de lenguaje C.
            El lenguaje C nació en los Laboratorios Bell de AT and T y ha sido asociado con el sistema operativo UNIX, ya que su desarrollo se realizó en este sistema y debido a que tanto UNIX como el propio compilador C y la casi totalidad de los programas y herramientas de UNIX, fueron escritos en C. Su eficacia y su claridad han hecho que el lenguaje ensamblador apenas haya sido utilizado en UNIX. El lenguaje C fue creado entre los años 1970 y 1972 por Brian Kernighan y Dennos Ritchie para escribir el código del sistema operativo UNIX. Fue uno de los lenguajes de programación mas aceptados por los programadores, por que hace una conjugación en lenguaje de alto nivel y lenguaje máquina. El lenguaje C es el resultado de un proceso de desarrollo que inició con un lenguaje denominado BCPL. Este influenció a otro llamado B (inventado por Ken Thompson). En los años 70; éste lenguaje llevó a la aparición del C. Los tipos básicos de datos eran "CHAR" (carácter), "INT" (enteros), "FLOAT" (Reales en simple presición), y "DOUBLE" (Reales en doble Presición). Posteriormente se añadieron los tipos "SHORT" (Enteros de longitud<=longitud de un int), "LONG" (Enteros de longitud >= longitud de un entero), "UNSIGNED" (Enteros sin signo), y "ENUMERACIONES". Los tipos estructurados básicos de C son las estructuras, las uniónes, y los arrays. Estos permiten la definición y declaración de tipos de mayor complejidad. En 1978 Kernighan y Ritchie publican su descripción en el libro "The C Programming Language", versión que es llamada hoy en día 'K&R C'. A mediados de los ochenta ya había en el mercado numerosos compiladores C, y muchas aplicaciones habían sido rescritas a él para aprovechar sus ventajas. http://docente.ucol.mx/~al985953/historia.htm

Evolución

            Este Lenguaje a evolucionado paralelamente con el UNIX, que a su vez ha pasado por diversas versiones entre las que destaca Microsoft con su XENIX para micros de 16 bits.
http://docente.ucol.mx/al989508/public_html/Hc1.htm#Evolucion



Características

  • Su principal característica es que es portable, quiere decir que puedes adaptar los programas escritos para un tipo de computadora en otra. También es estructurado, por que se divide en módulos que son independientes entre si.
  • El lenguaje C inicialmente fue creado para la programación de Sistemas Operativos, Interpretes, Editores, Ensambladores, Compiladores, Administradores de bases de datos y actualmente puede ser utilizado para todo tipo de programas.
  • El compilador debe ser lo más pequeño y eficiente posible. Pocas palabras reservadas, como, un conjunto reducido de sentencias.
  • No existe anidamiento de procedimientos.
  • La entrada/salida no se considera parte del lenguaje en sí, sino que se apoya a través de funciones de librería.
  • Para escribir un programa se debe poder escribir poco texto. Para lograr esto se reduce el número de palabras claves. Con ello se llegó a un compilador con un juego de instrucciones, que permite aumentar la productividad por día de los programadores.
  • C es un lenguaje rápido de aprender, que deriva en compiladores sencillos de diseñar, robustos, y que generan objetos pequeños y eficientes.


Ventajas
Características de bajo nivel de las que se disponen normalmente en lenguaje ensamblador o lenguaje de máquina. Tiene características de lenguaje de alto nivel. Modularidad y eficiencia en el diseño de programas. Hace posible la escritura de programas fuente muy concisa, debido en gran parte al gran  número de operadores que incluye el lenguaje C. http://orbita.starmedia.com/~prog201eq3/tarea1.htm

Desventajas

            Las desventajas que se pueden encontrar al Lenguaje C son las siguientes: Carece de instrucciones de entrada/salida, de instrucciones para el manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. La excesiva libertad  en la escritura de los programas puede llevar a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeños rompecabezas.


Aplicabilidad

Todo lo que veas en windows de microsoft están hechos en C
Office por ejemplo
Lenguajes de programación
Paint
http://es.answers.yahoo.com/question/index?qid=20090323085609AAXlfM4

Bibliotecas o Librerias
Ø  assert.h Contiene una macro para el diagnóstico dentro de los programas.
Ø  ctype.h Contiene varias funciones para comprobación de tipos y transformación de caracteres.
Ø  errno.h Contiene varias macros usadas para informar de errores.
Ø  limits.h Contienen varias macros que definen constantes para el tamaño de tipo enteros.
Ø  float.h Contienen varias macros que definen constantes para el tamaño de tipo flotante.
Ø  locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dígitos, etc.
Ø  math.h Contiene una macro y varias funciones matemáticas.
Ø  setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones.
Ø  signal.h Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecución, tal como una señal de interrupción de una fuente externa o un error en la ejecución.
Ø  stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de función de tamaño y tipo desconocido.
Ø  stddef.h Contiene varios tipos y macros que también están definidas en otras librerías, como size_t.
Ø  stdio.h Contiene tipos, macros y funciones para la realización de tareas de E/S.
Ø  stdlib.h Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares.
Ø  string.h Contiene tipos, macros y funciones para la manipulación de cadenas de caracteres.
Ø  time.h Contiene tipos, macros y funciones para la la manipulación de información sobre fechas y horas.
 
Char, int, float, long, long long, short, double, void.



Compilaciones

Existen muchos compiladores de C. El cc es el compilador estándar de Sun. El compilador GNU de C es gcc, el cual es bastante popular y esta disponible en varias plataformas.
Existen también compiladores equivalentes de C++ los cuales usualmente son nombrados como CC. Por ejemplo, Sun provee CC y GNU GCC. El compilador de GNU es también denotado como g++.
Existen otros compiladores menos comunes de C y C++. En general todos los compiladores mencionados operan esencialmente de la misma forma y comparten muchas opciones comunes en la línea de opciones. Más adelante se listan y se dan ejemplos de opciones comunes de los compiladores. Sin embargo, la mejor referencia de cada compilador es a través de las páginas en línea, del manual del sistema. Por ejemplo: man gcc.
Para compilar el programa usaremos el comando gcc. El comando deberá ser seguido por el nombre del programa en C que se quiere compilar. Un determinado número de opciones del compilador pueden ser indicadas también. Por el momento no haremos uso de estas opciones todavía, se irán comentando algunas más esenciales.
Por lo tanto, el comando básico de compilación es: gcc programa.c  http://www.fismat.umich.mx/mn1/manual/node2.html#SECTION00212000000000000000

El compilador GCC es un compilador integrado del proyecto GNU para C, C++, Objective C y Fortran; es capaz de recibir un programa fuente en cualquiera de estos lenguajes y generar un programa ejecutable binario en el lenguaje de la máquina donde ha de correr.