SlideShare une entreprise Scribd logo
1  sur  18
COLEGIO SANTA ISABEL DE
            HUNGRIA
        SEDE SAN FELIPE
PRESENTADO POR :
           deisy quintero

     PRESENTADO A :
     ALVARO VALENCIA

    AREA :
    TECNICA DE        SISTEMA

   EXAMEN FINAL
PROGRAMA INFORMATICO

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.
   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.
PROGRAMA DE APLICACION

es un tipo de software diseñado para facilitar
al usuario la concreción de un cierto trabajo.
Esta característica lo diferencia de otros tipos
de programas, como los sistemas operativos
(que son los que hacen funcionar a la
computadora), los lenguajes de programación
(que permiten crear los programas
informáticos en general) y las utilidades (que
realizan tareas de mantenimiento o de uso
general).
SISTEMA OPERATIVO

  Un Sistema Operativo es el software encargado de ejercer el control y
coordinar el uso del hardware entre diferentes programas de aplicación
     y los diferentes usuarios. Es un administrador de los recursos de
                            hardware del sistema.
  En una definición informal es un sistema que consiste en ofrecer una
  distribución ordenada y controlada de los procesadores, memorias y
 dispositivos de E/S entre los diversos programas que compiten por ellos.
A pesar de que todos nosotros usamos sistemas operativos casi a diario,
  es difícil definir qué es un sistema operativo. En parte, esto se debe a
      que los sistemas operativos realizan dos funciones diferentes.
Proveer una máquina virtual, es decir, un ambiente en el cual el usuario
pueda ejecutar programas de manera conveniente, protegiéndolo de los
 detalles y complejidades del hardware. Administrar eficientemente los
                          recursos del computador.
Lenguaje de programacion
Un conjunto de sintaxis y reglas semánticas que definen los programas del
computador. Es una técnica estándar de comunicación para entregarle instrucciones al
computador. Un lenguaje le da la capacidad al programador de especificarle al
computador, qué tipo de datos actúan y que acciones tomar bajo una variada gama de
circunstancias, utilizando un lenguaje relativamente próximo al lenguaje humano.
Un programa escrito en un lenguaje de programación necesita pasar por un proceso de
compilación, interpretación o intermedio, es decir, ser traducido al lenguaje de
máquina para que pueda ser ejecutado por el ordenador.


Los lenguajes de programación pueden ser clasificados de acuerdo a diversos
criterios:

 Lenguajes interpretados (Interpretes) como Basic, Dbase.
 Lenguajes compilados (Compiladores) como C, C++, Clipper.
 Lenguajes interpretados con recolectores de basura (Maquina Virtual) como
Smalltalk, Java, Ocaml.
 Lenguajes Scripts (Motor de ejecución) como Perl, PhP.
Lenguaje de maquina
es el sistema de códigos directamente interpretable por un circuito microprogramable, como el
microprocesador de una computadora o el microcontrolador de un autómata . Este lenguaje está
compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un
programa consiste en una cadena de estas instrucciones de lenguaje de máquina (más los datos). Estas
instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por
el propio programa o eventos externos. El lenguaje de máquina es específico de cada máquina o
arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas.

Lenguaje de máquina del Intel 8088. El código de máquina en hexadecimal se
resalta en rojo, el equivalente en lenguaje ensamblador en magenta, y las
direcciones de memoria donde se encuentra el código, en azul. Abajo se ve un
texto en hexadecimal y ASCII.
Los circuitos microprogramables son sistemas digitales, lo que significa que
trabajan con dos únicos niveles de tensión. Dichos niveles, por abstracción,
se simbolizan con el cero, 0, y el uno, 1, por eso el lenguaje de máquina sólo
utiliza dichos signos. Esto permite el empleo de las teorías del álgebra
booleana y del sistema binario en el diseño de este tipo de circuitos y en su
Lenguaje de alto nivel
Un lenguaje de programación de alto nivel se caracteriza por expresar los
algoritmos de una manera adecuada a la capacidad cognitiva humana, en
lugar de a la capacidad ejecutora de las máquinas.
En los primeros lenguajes de alto nivel la limitación era que se orientaban a
un área específica y sus instrucciones requerían de una sintaxis predefinida.
Se clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos
conocimientos de programación para realizar las secuencias de
instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el
usuario común pudiese solucionar un problema de procesamiento de datos
de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes
de programación que evitaba estos inconvenientes, a costa de ceder un poco
en las ventajas. Estos lenguajes se llaman de tercera generación o de alto
nivel, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
Lenguaje de bajo nivel

 Un lenguaje de programación de
 bajo nivel es el que proporciona
 un conjunto de instrucciones
 aritmeticológicas sin la
 capacidad de encapsular dichas
 instrucciones en funciones que no
 estén ya contempladas en la
 arquitectura del hardware.
Lenguaje de ensamblador

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.
•Algoritmo
Podemos encontrar muchas definiciones de algoritmo en los textos de programacion,
todas ellas muy similares:
Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.
Una secuencia de pasos que conducen a la realización de una tarea.
Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades
tendientes a resolver un determinado tipo de problema o procedimiento.
Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica
de un programa.
Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser
definido, finito y preciso.
Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un
determinado problema.
Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una
acción determinada.
Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas
reglas definidas.
Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un
trabajo en un número finito de pasos.
Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.
PSEUDO CODIGO
(o falso lenguaje) es utilizado por
programadores para describir
algoritmos en un lenguaje humano
simplificado que no es dependiente
de ningún lenguaje de programación.
Por este motivo puede ser
implementado en cualquier lenguaje
por cualquier programador que utilice
el pseudocódigo.
COMPILAR

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
TRADUCTORES E INTERPRETES

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).
PROGRAMACION ESTRUCTURADA



es una técnica para escribir programas (programación de
computadora) de manera clara. Para ello se utilizan ú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).
Hoy en día las aplicaciones informáticas son mucho más ambiciosas
que las necesidades de programación existentes en los años 1960,
principalmente debido a las aplicaciones gráficas, por lo que las
técnicas de programación estructurada no son suficientes. Ello ha
llevado al desarrollo de nuevas técnicas, tales como la programación
orientada a objetos y el desarrollo de entornos de programación que
facilitan la programación de grandes aplicaciones.
Programacion de 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).
Programacion orientada a objectos


 (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
Los objetos son entidades que tienen un determinado estado,
comportamiento (método) e identidad:
El estado está compuesto de datos, será uno o varios atributos a los que se
habrán asignado unos valores concretos (datos).
El comportamiento está definido por los métodos o mensajes a los que sabe
responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
La identidad es una propiedad de un objeto que lo diferencia del resto, dicho
con otras palabras, es su identificador (concepto análogo al de identificador
de una variable o una constante).
Programacion declarativa

en contraposición a la programación
imperativa es un paradigma de
programación que está basado en el
desarrollo de programas especificando o
"declarando" un conjunto de
condiciones, proposiciones,
afirmaciones, restricciones, ecuaciones
o transformaciones que describen el
problema y detallan su solución. La
solución es obtenida mediante
mecanismos internos de control, sin
especificar exactamente cómo
encontrarla (tan sólo se le indica a la
computadora que es lo que se desea
obtener o que es lo que se está
buscando). No existen asignaciones
destructivas, y las variables son
utilizadas con Transparencia referencial
Diagrama de flujo




es una representación gráfica de un algoritmo o proceso. Se utiliza en
disciplinas como la programación, la economía, los procesos industriales y la
psicología cognitiva. Estos diagramas utilizan símbolos con significados bien
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 de
proceso.

Contenu connexe

Tendances (14)

Sistemas
SistemasSistemas
Sistemas
 
Yuranip
YuranipYuranip
Yuranip
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Sistemas
SistemasSistemas
Sistemas
 
Software
SoftwareSoftware
Software
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
Programa informatico.tecnicas
Programa informatico.tecnicasPrograma informatico.tecnicas
Programa informatico.tecnicas
 
Monicaaa 9 b
Monicaaa 9 bMonicaaa 9 b
Monicaaa 9 b
 
Assembler apesteguia (1)
Assembler apesteguia (1)Assembler apesteguia (1)
Assembler apesteguia (1)
 
Smith
SmithSmith
Smith
 
Nana
NanaNana
Nana
 

En vedette

Triptico que es_salud_ocupacional
Triptico que es_salud_ocupacionalTriptico que es_salud_ocupacional
Triptico que es_salud_ocupacionalBelle Sa
 
U1 agrupa300 dec3 pernos 01
U1 agrupa300 dec3 pernos 01U1 agrupa300 dec3 pernos 01
U1 agrupa300 dec3 pernos 01Edgar Mata
 
Activity 2 2 special productos and factoring
Activity 2 2 special productos and factoringActivity 2 2 special productos and factoring
Activity 2 2 special productos and factoringEdgar Mata
 
Estadística aplicada a la calidad 2016
Estadística aplicada a la calidad 2016Estadística aplicada a la calidad 2016
Estadística aplicada a la calidad 2016Edgar Mata
 
Problema café cpk - unidad 4
Problema café cpk - unidad 4Problema café cpk - unidad 4
Problema café cpk - unidad 4Edgar Mata
 
Integración por fórmulas 02a
Integración por fórmulas 02aIntegración por fórmulas 02a
Integración por fórmulas 02aEdgar Mata
 
Activity 2 1 algebraic expressions
Activity 2 1 algebraic expressionsActivity 2 1 algebraic expressions
Activity 2 1 algebraic expressionsEdgar Mata
 
Integración por fórmulas 01
Integración por fórmulas 01Integración por fórmulas 01
Integración por fórmulas 01Edgar Mata
 
Integración por fórmulas 02
Integración por fórmulas 02Integración por fórmulas 02
Integración por fórmulas 02Edgar Mata
 
Prototyping is an attitude
Prototyping is an attitudePrototyping is an attitude
Prototyping is an attitudeWith Company
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

En vedette (15)

Slideshard
SlideshardSlideshard
Slideshard
 
Triptico que es_salud_ocupacional
Triptico que es_salud_ocupacionalTriptico que es_salud_ocupacional
Triptico que es_salud_ocupacional
 
U1 agrupa300 dec3 pernos 01
U1 agrupa300 dec3 pernos 01U1 agrupa300 dec3 pernos 01
U1 agrupa300 dec3 pernos 01
 
Activity 2 2 special productos and factoring
Activity 2 2 special productos and factoringActivity 2 2 special productos and factoring
Activity 2 2 special productos and factoring
 
Estadística aplicada a la calidad 2016
Estadística aplicada a la calidad 2016Estadística aplicada a la calidad 2016
Estadística aplicada a la calidad 2016
 
Problema café cpk - unidad 4
Problema café cpk - unidad 4Problema café cpk - unidad 4
Problema café cpk - unidad 4
 
Integración por fórmulas 02a
Integración por fórmulas 02aIntegración por fórmulas 02a
Integración por fórmulas 02a
 
Activity 2 1 algebraic expressions
Activity 2 1 algebraic expressionsActivity 2 1 algebraic expressions
Activity 2 1 algebraic expressions
 
Integración por fórmulas 01
Integración por fórmulas 01Integración por fórmulas 01
Integración por fórmulas 01
 
Integración por fórmulas 02
Integración por fórmulas 02Integración por fórmulas 02
Integración por fórmulas 02
 
Prototyping is an attitude
Prototyping is an attitudePrototyping is an attitude
Prototyping is an attitude
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Similaire à Slideshard deisy

Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiñohitep
 
Presentación de tecnicas
Presentación de tecnicasPresentación de tecnicas
Presentación de tecnicasashleytrejos
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemasfelipebutamante1
 
Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiñohitep
 
Programa informatico
Programa informaticoPrograma informatico
Programa informaticobryher
 
Programa informático
Programa informáticoPrograma informático
Programa informáticoVITROY
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionjafp21
 
Jhon garrido power point.
Jhon garrido power point.Jhon garrido power point.
Jhon garrido power point.Jhon Garrido
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096olguito
 
Instructivo de TIC. Software
Instructivo de TIC. SoftwareInstructivo de TIC. Software
Instructivo de TIC. SoftwareMariBianchi
 

Similaire à Slideshard deisy (20)

Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiño
 
Presentación de tecnicas
Presentación de tecnicasPresentación de tecnicas
Presentación de tecnicas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiño
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Software
SoftwareSoftware
Software
 
Cris
CrisCris
Cris
 
Cris
CrisCris
Cris
 
Darckjunio
DarckjunioDarckjunio
Darckjunio
 
Tarea
TareaTarea
Tarea
 
Clasificacion de los lenguajes abel
Clasificacion de los lenguajes abelClasificacion de los lenguajes abel
Clasificacion de los lenguajes abel
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Jhon garrido power point.
Jhon garrido power point.Jhon garrido power point.
Jhon garrido power point.
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096
 
Instructivo de TIC. Software
Instructivo de TIC. SoftwareInstructivo de TIC. Software
Instructivo de TIC. Software
 
Luis silva diapositiva
Luis silva  diapositivaLuis silva  diapositiva
Luis silva diapositiva
 

Slideshard deisy

  • 1. COLEGIO SANTA ISABEL DE HUNGRIA SEDE SAN FELIPE PRESENTADO POR : deisy quintero PRESENTADO A : ALVARO VALENCIA AREA : TECNICA DE SISTEMA EXAMEN FINAL
  • 2. PROGRAMA INFORMATICO 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. 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.
  • 3. PROGRAMA DE APLICACION es un tipo de software diseñado para facilitar al usuario la concreción de un cierto trabajo. Esta característica lo diferencia de otros tipos de programas, como los sistemas operativos (que son los que hacen funcionar a la computadora), los lenguajes de programación (que permiten crear los programas informáticos en general) y las utilidades (que realizan tareas de mantenimiento o de uso general).
  • 4. SISTEMA OPERATIVO Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de hardware del sistema. En una definición informal es un sistema que consiste en ofrecer una distribución ordenada y controlada de los procesadores, memorias y dispositivos de E/S entre los diversos programas que compiten por ellos. A pesar de que todos nosotros usamos sistemas operativos casi a diario, es difícil definir qué es un sistema operativo. En parte, esto se debe a que los sistemas operativos realizan dos funciones diferentes. Proveer una máquina virtual, es decir, un ambiente en el cual el usuario pueda ejecutar programas de manera conveniente, protegiéndolo de los detalles y complejidades del hardware. Administrar eficientemente los recursos del computador.
  • 5. Lenguaje de programacion Un conjunto de sintaxis y reglas semánticas que definen los programas del computador. Es una técnica estándar de comunicación para entregarle instrucciones al computador. Un lenguaje le da la capacidad al programador de especificarle al computador, qué tipo de datos actúan y que acciones tomar bajo una variada gama de circunstancias, utilizando un lenguaje relativamente próximo al lenguaje humano. Un programa escrito en un lenguaje de programación necesita pasar por un proceso de compilación, interpretación o intermedio, es decir, ser traducido al lenguaje de máquina para que pueda ser ejecutado por el ordenador. Los lenguajes de programación pueden ser clasificados de acuerdo a diversos criterios: Lenguajes interpretados (Interpretes) como Basic, Dbase. Lenguajes compilados (Compiladores) como C, C++, Clipper. Lenguajes interpretados con recolectores de basura (Maquina Virtual) como Smalltalk, Java, Ocaml. Lenguajes Scripts (Motor de ejecución) como Perl, PhP.
  • 6. Lenguaje de maquina es el sistema de códigos directamente interpretable por un circuito microprogramable, como el microprocesador de una computadora o el microcontrolador de un autómata . Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones de lenguaje de máquina (más los datos). Estas instrucciones son normalmente ejecutadas en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje de máquina es específico de cada máquina o arquitectura de la máquina, aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas. Lenguaje de máquina del Intel 8088. El código de máquina en hexadecimal se resalta en rojo, el equivalente en lenguaje ensamblador en magenta, y las direcciones de memoria donde se encuentra el código, en azul. Abajo se ve un texto en hexadecimal y ASCII. Los circuitos microprogramables son sistemas digitales, lo que significa que trabajan con dos únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con el cero, 0, y el uno, 1, por eso el lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del álgebra booleana y del sistema binario en el diseño de este tipo de circuitos y en su
  • 7. Lenguaje de alto nivel Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera generación o de alto nivel, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
  • 8. Lenguaje de bajo nivel Un lenguaje de programación de bajo nivel es el que proporciona un conjunto de instrucciones aritmeticológicas sin la capacidad de encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware.
  • 9. Lenguaje de ensamblador 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.
  • 10. •Algoritmo Podemos encontrar muchas definiciones de algoritmo en los textos de programacion, todas ellas muy similares: Conjunto ordenado y finito de pasos que permite hallar la solución de un problema. Una secuencia de pasos que conducen a la realización de una tarea. Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento. Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa. Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso. Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema. Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada. Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas. Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos. Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.
  • 11. PSEUDO CODIGO (o falso lenguaje) es utilizado por programadores para describir algoritmos en un lenguaje humano simplificado que no es dependiente de ningún lenguaje de programación. Por este motivo puede ser implementado en cualquier lenguaje por cualquier programador que utilice el pseudocódigo.
  • 12. COMPILAR 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
  • 13. TRADUCTORES E INTERPRETES 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. PROGRAMACION ESTRUCTURADA es una técnica para escribir programas (programación de computadora) de manera clara. Para ello se utilizan ú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). Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.
  • 15. Programacion de 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).
  • 16. Programacion orientada a objectos (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 Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad: El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos). El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él. La identidad es una propiedad de un objeto que lo diferencia del resto, dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
  • 17. Programacion declarativa en contraposición a la programación imperativa es un paradigma de programación que está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla (tan sólo se le indica a la computadora que es lo que se desea obtener o que es lo que se está buscando). No existen asignaciones destructivas, y las variables son utilizadas con Transparencia referencial
  • 18. Diagrama de flujo es una representación gráfica de un algoritmo o proceso. Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien 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 de proceso.