SlideShare una empresa de Scribd logo
1 de 16
   Un programa informático es un conjunto de instrucciones que una vez ejecutadas
    realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no
    pueden funcionar.[1] [2] Al conjunto general de programas, se le denomina software,
    que más genéricamente se refiere al equipamiento lógico o soporte lógico de una
    computadora digital.
   En informática, se los denomina comúnmente 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 extensión
    .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han
    pasado por el proceso de compilación y han sido creados, las instrucciones que se
    escribieron en un lenguaje de programación que los humanos usan para escribirlos con
    mayor facilidad, se han traducido al único idioma que la máquina comprende,
    combinaciones de ceros y unos llamada código máquina. El mismo término, puede
    referirse tanto a un programa ejecutable, como a su código fuente, el cual es
    transformado en un binario cuando es compilado.
   Generalmente el código fuente lo escriben profesionales conocidos como
    programadores. 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 por un compilador. Cuando se pide que el programa sea
    ejecutado, el procesador ejecuta instrucción por instrucción.
   De acuerdo a sus funciones, se clasifican en software de sistema y software de
    aplicación. En los computadores actuales, al hecho de ejecutar varios programas de
    forma simultánea y eficiente, se le conoce como multitarea.
   Suele resultar una solución informática para la automatización de ciertas tareas
    complicadas como pueden ser la contabilidad, la redacción de documentos, o la
    gestión de un almacén. Algunos ejemplos de programas de aplicación son los
    procesadores de textos, hojas de cálculo, y base de datos.
   Ciertas aplicaciones desarrolladas «a medida» suelen ofrecer una gran potencia ya
    que están exclusivamente diseñadas para resolver un problema específico. Otros,
    llamados paquetes integrados de software, ofrecen menos potencia pero a cambio
    incluyen varias aplicaciones, como un programa procesador de textos, de hoja de
    cálculo y de base de datos.
   Diagrama mostrando la ubicación y relación que tienen las aplicaciones frente al
    usuario final, y con otros programas informáticos existentes.
   Otros ejemplos de programas de aplicación pueden ser: programas de comunicación
    de datos, Multimedia, presentaciones, diseño gráfico, cálculo, finanzas, correo
    electrónico, compresión de archivos, presupuestos de obras, gestión de empresas, etc.
   Algunas compañías agrupan diversos programas de distinta naturaleza para que
    formen un paquete (llamados suites o suite ofimática) que sean satisfactorios para las
    necesidades más apremiantes del usuario. Todos y cada uno de ellos sirven para
    ahorrar tiempo y dinero al usuario, al permitirle hacer cosas útiles con el ordenador (o
    computadora); algunos con ciertas prestaciones, otros con un determinado diseño;
    unos son más amigables o fáciles de usar que otros, pero bajo el mismo principio.
   Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la
    gestión de los procesos básicos de un sistema informático, y permite la normal
    ejecución del resto de las operaciones.[1]
   Nótese que es un error común muy extendido denominar al conjunto completo de
    herramientas sistema operativo, es decir, la inclusión en el mismo término de programas
    como el explorador de ficheros, el navegador y todo tipo de herramientas que
    permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno
    de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el
    núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU.
    Este error de precisión, se debe a la modernización de la informática llevada a cabo a
    finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los
    grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso,
    cambiando el concepto de computador multiusuario, (muchos usuarios al mismo
    tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más
    sencillo de gestionar.[3] (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha
    modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video
    Toasters[5] por su capacidad para la Edición de vídeo en entorno multitarea round
    robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.
   Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario
    consiste en gestionar los recursos de localización y protección de acceso del hardware,
    hecho que alivia a los programadores de aplicaciones de tener que tratar con estos
    detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para
    funcionar, llevan incorporado un sistema operativo. (teléfonos móviles, reproductores
    de DVD, computadoras, radios, enrutadores, etc).
   Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que
    pueden ser llevadas 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.[1] Está formado por un conjunto
    de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus
    elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se
    mantiene el código fuente de un programa informático se le llama programación.
   También la palabra programación se define como el proceso de creación de un programa de
    computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
   El desarrollo lógico del programa para resolver un problema en particular.
   Escritura de la lógica del programa empleando un lenguaje de programación específico
    (codificación del programa).
   Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
   Prueba y depuración del programa.
   Desarrollo de la documentación.
   Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje
    informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros
    más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un
    lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de
    los documentos).
   Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo
    deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de
    circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al
    lenguaje humano o natural. Una característica relevante de los lenguajes de programación es
    precisamente que más de un programador pueda usar un conjunto común de instrucciones que
    sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
   Código máquina
    Conjunto de instrucciones entendibles
    directamente por el ordenador, puesto
    que se componen de unos y ceros.
    Generalmente, el programador utiliza un
    lenguaje de programación basado en el
    lenguaje natural, y éste es traducido a
    código máquina posteriormente
 Los desarrolladores voluntarios, administradores e incubadores
  de 143 proyectos e iniciativas Open Source anunciaron la
  creación de seis nuevos Proyectos de alto nivel (Top-Level
  Projects o TLPs). Esto marca un record de la mayor cantidad de
  TLPs lanzados en un mismo mes. Hay muchas novedades, entre
  las cuales se encuentra la promoción de Subversion, que entró
  en la incubadora en noviembre del año pasado.
 Como comentaba en aquel post, la incubación es el primer
  paso para volverse un Proyecto de Alto Nivel de la Apache
  Software Foundation. Esto significa que obtendrá los beneficios
  directos desde la fundación como los procesos
  merocráticos, administración, extensión, soporte y eventos
  comunitarios.
 Los seis proyectos nuevos incluyen proyectos graduados de la
  incubadora así como sub-proyectos de TLPs existentes.
  Repasemos los proyectos para conocerlos. Como todos los
  proyectos de la Apache Software Foundation, son muy
  interesantes y nunca sabemos cuándo podemos necesitar algo
  así:
 Dicho lenguaje es muy simple o
      nada complicado, pero
estructurar programas a ese nivel
   es muy difícil. Dado que este
    lenguaje viene dado por las
   especificaciones técnicas del
     hardware, no permite una
      abstracción fuera de lo
          estipulado para el
      microprocesador de un
 ordenador. Consecuentemente,
     es fácilmente trasladado a
       lenguaje de máquina.
   El lenguaje ensamblador, o assembler (assembly language en inglés) es un lenguaje de
    programación de bajo nivel para los computadores, microprocesadores,
    microcontroladores, y otros circuitos integrados programables. Implementa una
    representación simbólica de los códigos de máquina binarios y otras constantes
    necesarias para programar una arquitectura dada de CPU y constituye la
    representación más directa del código máquina específico para cada arquitectura
    legible por un programador. Esta representación es usualmente definida por el
    fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de
    procesamiento (las instrucciones), los registros del procesador, las posiciones de
    memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto
    específico a cierta arquitectura de computador física (o virtual). Esto está en contraste
    con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son
    portables.
   Un programa utilitario llamado ensamblador es usado para traducir sentencias del
    lenguaje ensamblador al código de máquina del computador objetivo. El
    ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno)
    desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en
    contraste con los lenguajes de alto nivel, en los cuales una sola declaración
    generalmente da lugar a muchas instrucciones de máquina.
   Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el
    desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de
    depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una
    facilidad de macro (descrita más abajo), y son llamados macro ensambladores.
 En matemáticas, ciencias de la computación y disciplinas
  relacionadas, un algoritmo (del griego y latín, dixit algorithmus y
  éste a su vez del matemático persa Al Juarismi[1] ) es un
  conjunto preescrito 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 solución. Los algoritmos son el objeto de estudio de
  la algoritmia.[1]
 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 patrón.
  Algunos ejemplos en matemática son el algoritmo de la división
  para calcular el cociente de dos números, el algoritmo de
  Euclides para obtener el máximo común divisor de dos enteros
  positivos, o el método de Gauss para resolver un sistema lineal
  de ecuaciones.
   Un compilador es un programa informático que traduce
    un programa escrito en un lenguaje de programación a
    otro lenguaje de programación, generando un programa
    equivalente que la máquina será capaz de interpretar.
    Usualmente el segundo lenguaje es lenguaje de máquina,
    pero también puede ser un código intermedio
    (bytecode), o simplemente texto. Este proceso de
    traducción se conoce como compilación.[1]
   Un compilador es un programa que permite traducir el
    código fuente de un programa en lenguaje de alto nivel,
    a otro lenguaje de nivel inferior (típicamente lenguaje de
    máquina). De esta manera un programador puede
    diseñar un programa en un lenguaje mucho más cercano
    a como piensa un ser humano, para luego compilarlo a
    un programa más manejable por una computadora.
   En ciencias de la computación, intérprete o interpretador es un programa informático
    capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los
    intérpretes se diferencian de los compiladores en que mientras estos traducen un
    programa desde su descripción en un lenguaje de programación al código de
    máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea
    necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el
    resultado de dicha traducción.
   Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso
    en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un
    compilador, un solo archivo fuente puede producir resultados iguales solo si es
    compilado a distintos ejecutables específicos a cada sistema.
   Los programas interpretados suelen ser más lentos que los compilados debido a la
    necesidad de traducir el programa mientras se ejecuta, pero a cambio son más
    flexibles como entornos de programación y depuración (lo que se traduce, por
    ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o
    añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado
    un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del
    propio intérprete (lo que se conoce comúnmente como máquina virtual).
   En ciencias de la computación, intérprete o interpretador es un programa informático
    capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los
    intérpretes se diferencian de los compiladores en que mientras estos traducen un
    programa desde su descripción en un lenguaje de programación al código de
    máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea
    necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el
    resultado de dicha traducción.
   Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso
    en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un
    compilador, un solo archivo fuente puede producir resultados iguales solo si es
    compilado a distintos ejecutables específicos a cada sistema.
   Los programas interpretados suelen ser más lentos que los compilados debido a la
    necesidad de traducir el programa mientras se ejecuta, pero a cambio son más
    flexibles como entornos de programación y depuración (lo que se traduce, por
    ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o
    añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado
    un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del
    propio intérprete (lo que se conoce comúnmente como máquina virtual).
   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).
   La programación orientada a objetos o
    POO (OOP según sus siglas en inglés) es un
    paradigma de programación que usa
    objetos y sus interacciones, para diseñar
    aplicaciones y programas informáticos. Está
    basado en varias técnicas, incluyendo
    herencia, abstracción, polimorfismo y
    encapsulamiento. Su uso se popularizó a
    principios de la década de los años 1990.
    En la actualidad, existe variedad de
    lenguajes de programación que soportan
    la orientación a objetos.
Diana marcela arias escobar

Más contenido relacionado

La actualidad más candente (10)

Sistemas
SistemasSistemas
Sistemas
 
Informatik
InformatikInformatik
Informatik
 
que es software
que es softwareque es software
que es software
 
El software
El    softwareEl    software
El software
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
El software
El softwareEl software
El software
 
Presentación1
Presentación1Presentación1
Presentación1
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Gianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compuGianna mercedes y victoria trabajo compu
Gianna mercedes y victoria trabajo compu
 
Fundamentación teórica.12
Fundamentación teórica.12Fundamentación teórica.12
Fundamentación teórica.12
 

Destacado

violencia intrafamiliar
violencia intrafamiliarviolencia intrafamiliar
violencia intrafamiliarleoResendiz
 
Snap! Una comunidad bonsai
Snap! Una comunidad bonsaiSnap! Una comunidad bonsai
Snap! Una comunidad bonsaiSnaperos
 
Autoevaluacion de competencia1 (1)
Autoevaluacion de competencia1 (1)Autoevaluacion de competencia1 (1)
Autoevaluacion de competencia1 (1)dp10306
 
Talento humano
Talento humanoTalento humano
Talento humanodp10306
 
Guia 2º Prueba
Guia 2º PruebaGuia 2º Prueba
Guia 2º Pruebatsuda
 
Assim vai o mundo
Assim vai o mundoAssim vai o mundo
Assim vai o mundoPelo Siro
 
Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...
Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...
Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...Fundación Laboral de la Construcción
 
Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ...
 Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ... Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ...
Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ...Foro PoliTICs
 
Exposicion beatriz
Exposicion beatrizExposicion beatriz
Exposicion beatrizVargas19
 
AnáLisis Sobre El Proyecto Musas
AnáLisis Sobre El Proyecto MusasAnáLisis Sobre El Proyecto Musas
AnáLisis Sobre El Proyecto MusasDamarisLenine
 
Trabajo final entrevista 1
Trabajo final entrevista 1Trabajo final entrevista 1
Trabajo final entrevista 1Anibal De Oca
 

Destacado (20)

violencia intrafamiliar
violencia intrafamiliarviolencia intrafamiliar
violencia intrafamiliar
 
SIC-S5-v200114
SIC-S5-v200114SIC-S5-v200114
SIC-S5-v200114
 
Snap! Una comunidad bonsai
Snap! Una comunidad bonsaiSnap! Una comunidad bonsai
Snap! Una comunidad bonsai
 
Autoevaluacion de competencia1 (1)
Autoevaluacion de competencia1 (1)Autoevaluacion de competencia1 (1)
Autoevaluacion de competencia1 (1)
 
Talento humano
Talento humanoTalento humano
Talento humano
 
Empresa2.0
Empresa2.0Empresa2.0
Empresa2.0
 
Personalidad
PersonalidadPersonalidad
Personalidad
 
Guia 2º Prueba
Guia 2º PruebaGuia 2º Prueba
Guia 2º Prueba
 
Assim vai o mundo
Assim vai o mundoAssim vai o mundo
Assim vai o mundo
 
Condiciones De El Corazon Desarolla Tu Potenical Julio 26
Condiciones  De El Corazon Desarolla  Tu Potenical Julio 26Condiciones  De El Corazon Desarolla  Tu Potenical Julio 26
Condiciones De El Corazon Desarolla Tu Potenical Julio 26
 
Lossietesaberes
LossietesaberesLossietesaberes
Lossietesaberes
 
Marilyn
MarilynMarilyn
Marilyn
 
Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...
Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...
Conclusiones del “Estudio sobre el impacto del Código Técnico de Edificación ...
 
Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ...
 Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ... Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ...
Alejandro Piscitelli en el Foro PoliTICs: Nuevo paradigma: nuevos desafíos, ...
 
Exposicion beatriz
Exposicion beatrizExposicion beatriz
Exposicion beatriz
 
AnáLisis Sobre El Proyecto Musas
AnáLisis Sobre El Proyecto MusasAnáLisis Sobre El Proyecto Musas
AnáLisis Sobre El Proyecto Musas
 
Ciencias politicas
Ciencias politicasCiencias politicas
Ciencias politicas
 
Estilo de apa..[1]
Estilo de apa..[1]Estilo de apa..[1]
Estilo de apa..[1]
 
Trabajo final entrevista 1
Trabajo final entrevista 1Trabajo final entrevista 1
Trabajo final entrevista 1
 
¿Qué son los Social Media?
¿Qué son los Social Media?¿Qué son los Social Media?
¿Qué son los Social Media?
 

Similar a Diana marcela arias escobar

Diana marcela arias escobar
Diana marcela arias escobarDiana marcela arias escobar
Diana marcela arias escobarmarcelayuyeimi
 
Diana marcela arias es
Diana marcela arias esDiana marcela arias es
Diana marcela arias esmarcelayuyeimi
 
Programa, aplicaciones y sistema operativo
Programa, aplicaciones y sistema operativoPrograma, aplicaciones y sistema operativo
Programa, aplicaciones y sistema operativoJeison Bedoya
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemasfelipebutamante1
 
Programa informativo jkaa
Programa informativo jkaaPrograma informativo jkaa
Programa informativo jkaahitap
 
sistema operativo y software
sistema operativo y softwaresistema operativo y software
sistema operativo y softwaretutoparedes
 
Clasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticosClasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticosMilagrosJacqueline
 
Preparación e instalación del software de aplicación
Preparación e instalación del software de aplicaciónPreparación e instalación del software de aplicación
Preparación e instalación del software de aplicaciónDiego Nicolas Ricaurte Lagos
 
Deber de tecnologia
Deber de tecnologiaDeber de tecnologia
Deber de tecnologiaEdwin Bernal
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTPcesia_97
 
Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.guestdf1874
 
Software morales ramirez sergio david
Software morales ramirez sergio davidSoftware morales ramirez sergio david
Software morales ramirez sergio davidErickmorales2751
 

Similar a Diana marcela arias escobar (20)

Diana marcela arias escobar
Diana marcela arias escobarDiana marcela arias escobar
Diana marcela arias escobar
 
Diana marcela arias es
Diana marcela arias esDiana marcela arias es
Diana marcela arias es
 
Programa, aplicaciones y sistema operativo
Programa, aplicaciones y sistema operativoPrograma, aplicaciones y sistema operativo
Programa, aplicaciones y sistema operativo
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Programa informativo jkaa
Programa informativo jkaaPrograma informativo jkaa
Programa informativo jkaa
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
El software
El softwareEl software
El software
 
Presentación1
Presentación1Presentación1
Presentación1
 
sistema operativo y software
sistema operativo y softwaresistema operativo y software
sistema operativo y software
 
Clasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticosClasificación y descripción de los programas informáticos
Clasificación y descripción de los programas informáticos
 
Software
SoftwareSoftware
Software
 
Preparación e instalación del software de aplicación
Preparación e instalación del software de aplicaciónPreparación e instalación del software de aplicación
Preparación e instalación del software de aplicación
 
Tipos de software
Tipos de softwareTipos de software
Tipos de software
 
Deber de tecnologia
Deber de tecnologiaDeber de tecnologia
Deber de tecnologia
 
Krenn
KrennKrenn
Krenn
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
Introducción a la Programación.
Introducción a la Programación.Introducción a la Programación.
Introducción a la Programación.
 
Software morales ramirez sergio david
Software morales ramirez sergio davidSoftware morales ramirez sergio david
Software morales ramirez sergio david
 

Diana marcela arias escobar

  • 1.
  • 2. Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar.[1] [2] Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.  En informática, se los denomina comúnmente 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 extensión .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilación y han sido creados, las instrucciones que se escribieron en un lenguaje de programación que los humanos usan para escribirlos con mayor facilidad, se han traducido al único idioma que la máquina comprende, combinaciones de ceros y unos llamada código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual es transformado en un binario cuando es compilado.  Generalmente el código fuente lo escriben profesionales conocidos como programadores. 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 por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instrucción por instrucción.  De acuerdo a sus funciones, se clasifican en software de sistema y software de aplicación. En los computadores actuales, al hecho de ejecutar varios programas de forma simultánea y eficiente, se le conoce como multitarea.
  • 3. Suele resultar una solución informática para la automatización de ciertas tareas complicadas como pueden ser la contabilidad, la redacción de documentos, o la gestión de un almacén. Algunos ejemplos de programas de aplicación son los procesadores de textos, hojas de cálculo, y base de datos.  Ciertas aplicaciones desarrolladas «a medida» suelen ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver un problema específico. Otros, llamados paquetes integrados de software, ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un programa procesador de textos, de hoja de cálculo y de base de datos.  Diagrama mostrando la ubicación y relación que tienen las aplicaciones frente al usuario final, y con otros programas informáticos existentes.  Otros ejemplos de programas de aplicación pueden ser: programas de comunicación de datos, Multimedia, presentaciones, diseño gráfico, cálculo, finanzas, correo electrónico, compresión de archivos, presupuestos de obras, gestión de empresas, etc.  Algunas compañías agrupan diversos programas de distinta naturaleza para que formen un paquete (llamados suites o suite ofimática) que sean satisfactorios para las necesidades más apremiantes del usuario. Todos y cada uno de ellos sirven para ahorrar tiempo y dinero al usuario, al permitirle hacer cosas útiles con el ordenador (o computadora); algunos con ciertas prestaciones, otros con un determinado diseño; unos son más amigables o fáciles de usar que otros, pero bajo el mismo principio.
  • 4. Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.[1]  Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, que es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.[3] (Véase AmigaOS, beOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters[5] por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.  Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar, llevan incorporado un sistema operativo. (teléfonos móviles, reproductores de DVD, computadoras, radios, enrutadores, etc).
  • 5. Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas 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.[1] Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.  También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:  El desarrollo lógico del programa para resolver un problema en particular.  Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).  Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.  Prueba y depuración del programa.  Desarrollo de la documentación.  Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos).  Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
  • 6. Código máquina Conjunto de instrucciones entendibles directamente por el ordenador, puesto que se componen de unos y ceros. Generalmente, el programador utiliza un lenguaje de programación basado en el lenguaje natural, y éste es traducido a código máquina posteriormente
  • 7.  Los desarrolladores voluntarios, administradores e incubadores de 143 proyectos e iniciativas Open Source anunciaron la creación de seis nuevos Proyectos de alto nivel (Top-Level Projects o TLPs). Esto marca un record de la mayor cantidad de TLPs lanzados en un mismo mes. Hay muchas novedades, entre las cuales se encuentra la promoción de Subversion, que entró en la incubadora en noviembre del año pasado.  Como comentaba en aquel post, la incubación es el primer paso para volverse un Proyecto de Alto Nivel de la Apache Software Foundation. Esto significa que obtendrá los beneficios directos desde la fundación como los procesos merocráticos, administración, extensión, soporte y eventos comunitarios.  Los seis proyectos nuevos incluyen proyectos graduados de la incubadora así como sub-proyectos de TLPs existentes. Repasemos los proyectos para conocerlos. Como todos los proyectos de la Apache Software Foundation, son muy interesantes y nunca sabemos cuándo podemos necesitar algo así:
  • 8.  Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del hardware, no permite una abstracción fuera de lo estipulado para el microprocesador de un ordenador. Consecuentemente, es fácilmente trasladado a lenguaje de máquina.
  • 9. El lenguaje ensamblador, o assembler (assembly language en inglés) es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico a cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que, idealmente son portables.  Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina.  Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y son llamados macro ensambladores.
  • 10.  En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y éste a su vez del matemático persa Al Juarismi[1] ) es un conjunto preescrito 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 solución. Los algoritmos son el objeto de estudio de la algoritmia.[1]  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 patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.
  • 11. Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.[1]  Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.
  • 12. En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.  Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.  Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
  • 13. En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.  Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.  Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
  • 14. 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).
  • 15. La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.