SlideShare ist ein Scribd-Unternehmen logo
1 von 20
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 e 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.
Jhinet fernanda
Jhinet fernanda
Jhinet fernanda

Weitere ähnliche Inhalte

Was ist angesagt?

Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionnecrosteel
 
Programa informático
Programa informáticoPrograma informático
Programa informáticotomorrowland
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de tecnicas william
Trabajo de tecnicas williamTrabajo de tecnicas william
Trabajo de tecnicas williamwilliam031195
 
Programa informático
Programa informáticoPrograma informático
Programa informáticoVITROY
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096olguito
 
Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiñohitep
 

Was ist angesagt? (13)

Michael guti
Michael gutiMichael guti
Michael guti
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Sistemas
SistemasSistemas
Sistemas
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Software
SoftwareSoftware
Software
 
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
 
Trabajo de tecnicas william
Trabajo de tecnicas williamTrabajo de tecnicas william
Trabajo de tecnicas william
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096
 
Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiño
 

Andere mochten auch

Apresentação taurus 2 t09 ingles
Apresentação taurus 2 t09 inglesApresentação taurus 2 t09 ingles
Apresentação taurus 2 t09 inglesForjasTaurus
 
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
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionIn a Rocket
 
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
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

Andere mochten auch (7)

Apresentação taurus 2 t09 ingles
Apresentação taurus 2 t09 inglesApresentação taurus 2 t09 ingles
Apresentação taurus 2 t09 ingles
 
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
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
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
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Ähnlich wie Jhinet fernanda

Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemasfelipebutamante1
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionjafp21
 
Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiñohitep
 
Monicaaa 9 b
Monicaaa 9 bMonicaaa 9 b
Monicaaa 9 bmoniika16
 
Presentación de tecnicas
Presentación de tecnicasPresentación de tecnicas
Presentación de tecnicasashleytrejos
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónd3m3nt3
 
Programa informativo jkaa
Programa informativo jkaaPrograma informativo jkaa
Programa informativo jkaahitap
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computaSampdp
 
Programa informatico
Programa informaticoPrograma informatico
Programa informaticobryher
 

Ähnlich wie Jhinet fernanda (20)

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
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Abraham campiño
Abraham campiñoAbraham campiño
Abraham campiño
 
Yuranip
YuranipYuranip
Yuranip
 
Monicaaa 9 b
Monicaaa 9 bMonicaaa 9 b
Monicaaa 9 b
 
Nana
NanaNana
Nana
 
Software
SoftwareSoftware
Software
 
Presentación de tecnicas
Presentación de tecnicasPresentación de tecnicas
Presentación de tecnicas
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Programa informativo jkaa
Programa informativo jkaaPrograma informativo jkaa
Programa informativo jkaa
 
Tarea
TareaTarea
Tarea
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Trabajo de introduc computa
Trabajo de introduc computaTrabajo de introduc computa
Trabajo de introduc computa
 
Cris
CrisCris
Cris
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
Darckjunio
DarckjunioDarckjunio
Darckjunio
 

Jhinet fernanda

  • 1. 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.
  • 2. 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).
  • 3. 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.
  • 4. 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.
  • 5. 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
  • 6. Lenguaje e 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.
  • 7. 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.
  • 8. 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.
  • 9. •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.
  • 10. 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.
  • 11. 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
  • 12. 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).
  • 13. 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.
  • 14. 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).
  • 15. 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).
  • 16. 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
  • 17. 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.