SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
FUNDAMENTOS DE
PROGRAMACIÓN EN
DISEÑO WEB
Juan Felipe Correa Correa
María Fernanda Carvajal Mancera
1002
2013
DEFINICIÓN
DEPROGRAMACIÓN DE
COMPUTADORES
La programación es el proceso de diseñar, codificar,
depurar y mantener el código fuente de programas
computacionales. El código fuente es escrito en un
lenguaje de programación.
CLASIFICACIÓN DE LOS
LENGUAJES DE
PROGRAMACIÓN
1. Nivel de abstracción.
Según el nivel de abstracción, o sea, según el grado de cercanía a
la máquina:
Lenguajes de bajo nivel: La programación se realiza teniendo
muy en cuenta las características del procesador. Ejemplo:
Lenguajes ensamblador.
Lenguajes de nivel medio: Permiten un mayor grado de
abstracción pero al mismo tiempo mantienen algunas cualidades
de los lenguajes de bajo nivel. Ejemplo: C puede realizar
operaciones lógicas y de desplazamiento con bits, tratar todos
los tipos de datos como lo que son en realidad a bajo nivel
(números), etc.
Lenguajes de alto nivel: Más parecidos al lenguaje humano.
Manejan conceptos, tipos de datos, etc., de una manera cercana
al pensamiento humano ignorando (abstrayéndose) del
funcionamiento de la máquina. Ejemplos: Java, Ruby.
2. Propósito.
Según el propósito, es decir, el tipo de problemas a
tratar con ellos:
Lenguajes de propósito general: Aptos para todo tipo
de tareas: Ejemplo: C.
Lenguajes de propósito específico: Hechos para un
objetivo muy concreto. Ejemplo: Csound (para crear
ficheros de audio).
Lenguajes de programación de sistemas: Diseñados
para realizar sistemas operativos o drivers. Ejemplo: C.
Lenguajes de script: Para realizar tareas varias de
control y auxiliares. Antiguamente eran los llamados
lenguajes de procesamiento por lotes (batch) o JCL
(“Job Control Languages”). Se subdividen en varias
clases (de shell, de GUI, de programación web, etc.).
Ejemplos: bash (shell), mIRC script, JavaScript
(programación web).
3. Evolución histórica.
Con el paso del tiempo, se va incrementando el nivel de
abstracción, pero en la práctica, los de una generación no
terminan de sustituir a los de la anterior:
Lenguajes de primera generación (1GL): Código máquina.
Lenguajes de segunda generación (2GL): Lenguajes
ensamblador.
Lenguajes de tercera generación (3GL): La mayoría de los
lenguajes modernos, diseñados para facilitar la
programación a los humanos. Ejemplos: C, Java.
Lenguajes de cuarta generación (4GL): Diseñados con un
propósito concreto, o sea, para abordar un tipo concreto
de problemas. Ejemplos: NATURAL, Matemática.
Lenguajes de quinta generación (5GL): La intención es
que el programador establezca el qué problema ha de ser
resuelto y las condiciones a reunir, y la máquina lo
resuelve. Se usan en inteligencia artificial. Ejemplo:
Prolog.
4. Manera de ejecutarse.
Según la manera de ejecutarse:
Lenguajes compilados: Un programa traductor traduce
el código del programa (código fuente) en código
máquina (código objeto). Otro programa, el enlazador,
unirá los ficheros de código objeto del programa
principal con los de las librerías para producir el
programa ejecutable. Ejemplo: C.
Lenguajes interpretados: Un programa (intérprete),
ejecuta las instrucciones del programa de manera
directa. Ejemplo: Lisp.
También los hay mixtos, como Java, que primero pasan
por una fase de compilación en la que el código fuente
se transforma en “bytecode”, y este “bytecode” puede
ser ejecutado luego (interpretado) en ordenadores con
distintas arquitecturas (procesadores) que tengan todos
instalados la misma “máquina virtual” Java.
5. Manera de abordar la tarea a realizar.
Según la manera de abordar la tarea a realizar, pueden
ser:

Lenguajes imperativos: Indican cómo hay que hacer la
tarea, es decir, expresan los pasos a realizar. Ejemplo:
C.
Lenguajes declarativos: Indican qué hay que hacer.
Ejemplos: Lisp, Prolog. Otros ejemplos de lenguajes
declarativos, pero que no son lenguajes de
programación, son HTML (para describir páginas web)
o SQL (para consultar bases de datos).
6. Paradigma de programación.
Lenguajes de programación procedural: Divide el
problema en partes más pequeñas, que serán
realizadas por subprogramas (subrutinas, funciones,
procedimientos), que se llaman unas a otras para ser
ejecutadas. Ejemplos: C, Pascal.
Lenguajes de programación orientada a objetos:
Crean un sistema de clases y objetos siguiendo el
ejemplo del mundo real, en el que unos objetos
realizan acciones y se comunican con otros objetos.
Ejemplos: C++, Java.
Lenguajes de programación funcional: La tarea se
realiza evaluando funciones, (como en Matemáticas),
de manera recursiva. Ejemplo: Lisp.
Lenguajes de programación lógica: La tarea a realizar
se expresa empleando lógica formal matemática.
Expresa qué computar. Ejemplo: Prolog.
7. Lugar de ejecución.
En sistemas distribuidos, según dónde se ejecute:
Lenguajes de servidor: Se ejecutan en el servidor.
Ejemplo: PHP es el más utilizado en servidores web.
Lenguajes de cliente: Se ejecutan en el cliente.
Ejemplo: Javascript en navegadores web.
8. Concurrencia.
Según admitan o no concurrencia de procesos, esto
es, la ejecución simultánea de varios procesos
lanzados por el programa:
Lenguajes concurrentes. Ejemplo: Ada.
Lenguajes no concurrentes. Ejemplo: C.
9. Interactividad.
Según la interactividad del programa con el usuario u otros
programas:
Lenguajes orientados a sucesos: El flujo del programa es controlado
por la interacción con el usuario o por mensajes de otros
programas/sistema operativo, como editores de texto, interfaces
gráficos de usuario (GUI) o kernels. Ejemplo: VisualBasic, lenguajes
de programación declarativos.
Lenguajes no orientados a sucesos: El flujo del programa no depende
de sucesos exteriores, sino que se conoce de antemano, siendo los
procesos batch el ejemplo más claro (actualizaciones de bases de
datos, colas de impresión de documentos, etc.). Ejemplos: Lenguajes
de programación imperativos.
10. Realización visual.
Según la realización visual o no del programa:
Lenguajes de programación visual: El programa se realiza
moviendo bloques de construcción de programas (objetos
visuales) en un interfaz adecuado para ello. No confundir con
entornos de programación visual, como Microsoft Visual Studio y
sus lenguajes de programación textuales (como Visual C#).
Ejemplo: Mindscript.
Lenguajes de programación textual: El código del programa se
realiza escribiéndolo. Ejemplos: C, Java, Lisp.
11. Determinismo.
Según se pueda predecir o no el siguiente estado del programa a
partir del estado actual:
Lenguajes deterministas. Ejemplos: Todos los anteriores.
Lenguajes probabilísticos o no deterministas: Sirven para
explorar grandes espacios de búsqueda, (como gramáticas), y en
la investigación teórica de hipercomputación. Ejemplo: mutt
(generador de texto aleatorio).
12. Productividad.

Según se caractericen por tener virtudes útiles o
productivas, u oscuras y enrevesadas:
Lenguajes útiles o productivos: Sus virtudes en
cuanto a eficiencia, sencillez, claridad, productividad,
etc., motiva que sean utilizados en empresas,
administraciones públicas y/o en la enseñanza.
Ejemplos: Cualquier lenguaje de uso habitual (C, Java,
C++, Lisp, Python, Ruby, …).
Lenguajes esotéricos o exóticos: Inventados con la
intención de ser los más raros, oscuros, difíciles,
simples y/o retorcidos de los lenguajes, para diversión
y entretenimiento de frikis programadores. A veces
exploran nuevas ideas en programación. Ejemplo:
Brainfuck.
CONCEPTO DE VARIABLE
Una variable es la expresión simbólica representativa
de un elemento no especificado comprendido en un
conjunto. Este conjunto constituido por todos los
elementos o variables, que pueden sustituirse unas a
otras es el universo de variables. Se llaman así porque
varían, y esa variación es observable y medible.
Las variables pueden ser cuantitativas, cuando se
expresan en números, como por ejemplo la longitud o
el peso. Las variables cualitativas expresan
cualidades, por ejemplo, designar con letras las
preferencias de los estudiantes por sus materias de
estudio.
ALGORITMO
En matemáticas, lógica, ciencias de la computación y
disciplinas relacionadas, un algoritmo (del griego y
latín, dixit algorithmus y este a su vez del matemático
persa Al-Juarismi) es un conjunto prescrito 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.
DIAGRAMAS DE FLUJO
El diagrama de flujo o diagrama de actividades es la
representación gráfica del algoritmo o proceso. Se
utiliza en disciplinas como programación, economía,
procesos industriales y psicología cognitiva.
CLASIFICACIÓN DE LAS
PROPIEDADES DE LOS
NÚMEROS
Un número racional es un numero real que se puede expresar
como el cociente a/b de dos números enteros a y b con b
diferente de cero. Los números reales que no son racionales se
llaman irracionales. Por ejemplo, la razón del perímetro de una
circunferencia a su diámetro es irracional. Este numero real se
denota por P y se escribe P = 3.1416 para indicar que P esa
aproximadamente igual a 3.1416. Otro ejemplo de un numero
irracional es Ö 2.Los números reales se pueden representar por
expresiones decimales infinitas. Por ejemplo, realizando la
división puede verse que la representación decimal del numero
racional 177/55 es 3.2181818..., en donde los dígitos 1 y 8 se
repiten indefinidamente. Los números reales pueden
representarse siempre por expresiones decimales periódicas, es
decir, en las que hay una combinación de dígitos que se repiten
indefinidamente. Los números irracionales pueden representarse
por expresiones decimales infinitas no periódicas
SENTENCIAS DE ASIGNACIÓN
Se utiliza para asignar o almacenar valores a variables
o constantes. Es una operación que sitúa un valor
determinado en una posición de memoria. La
operación de asignación se denota con el signo =
algunos lenguajes de programación admiten
operadores tales como: ←, := El tipo de expresión
debe ser del mismo tipo que el de la variable, en caso
contrario en la fase de compilación se produciría un
error de tipos.
CARÁCTERISTICAS DE UN SÍ
CON CONDICIONES
En programación, una sentencia condicional es una
instrucción o grupo de instrucciones que se pueden
ejecutar o no en función del valor de una condición.
Los tipos más conocidos de sentencias condicionales
son el SI..ENTONCES (if..then), el SI..ENTONCES..SI
NO (if..then..else) y el SEGÚN (case o switch), aunque
también podríamos mencionar al lanzamiento de
errores como una alternativa más moderna para evitar
el "anidamiento" de sentencias condicionales.
ANALISÍS DE UN CICLO DE
REPETICION EN PROGRAMACIÓN
Las estructuras de repetición, permiten la ejecución de
una lista o secuencia de instrucciones
(<bloque de instrucciones>) en varias ocasiones. El
número de veces que el bloque de
instrucciones se ejecutará se puede especificar de
manera explícita, o a través de una condición
lógica que indica cuándo se ejecuta de nuevo y
cuándo no. A cada ejecución del bloque de
instrucciones se le conoce como una iteración.

Weitere ähnliche Inhalte

Was ist angesagt?

Jasmin andrea aguilar h..
Jasmin  andrea  aguilar h..Jasmin  andrea  aguilar h..
Jasmin andrea aguilar h..solokalle
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores947369
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONDIEGO BAROJA
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionSergio Maidana
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacionAnaisMar22
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionalexlo92
 
Niveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónNiveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónJafet Duran
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidadLuisBeltrnAlvinoAlva
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajesAlex Javier
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaEstudiantes ISI_UCA
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNKarol Moreno
 
Lección 1 Introducción a los Lenguajes de Programación
Lección 1   Introducción a los Lenguajes de ProgramaciónLección 1   Introducción a los Lenguajes de Programación
Lección 1 Introducción a los Lenguajes de Programaciónocasas
 
Trabajo practico libro2
Trabajo practico libro2Trabajo practico libro2
Trabajo practico libro2exequiel9035a
 

Was ist angesagt? (17)

Jasmin andrea aguilar h..
Jasmin  andrea  aguilar h..Jasmin  andrea  aguilar h..
Jasmin andrea aguilar h..
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores
 
Informe lpi
Informe lpiInforme lpi
Informe lpi
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacion
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Niveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programaciónNiveles y tipos de lenguajes de programación
Niveles y tipos de lenguajes de programación
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad01. lenguajes de programación autor virtuniversidad
01. lenguajes de programación autor virtuniversidad
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajes
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
PROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓNPROGRAMACIÓN WEB INTRODUCCIÓN
PROGRAMACIÓN WEB INTRODUCCIÓN
 
Lección 1 Introducción a los Lenguajes de Programación
Lección 1   Introducción a los Lenguajes de ProgramaciónLección 1   Introducción a los Lenguajes de Programación
Lección 1 Introducción a los Lenguajes de Programación
 
Passage
PassagePassage
Passage
 
Trabajo practico libro2
Trabajo practico libro2Trabajo practico libro2
Trabajo practico libro2
 

Andere mochten auch

Andere mochten auch (20)

Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 
Fundamentos de la programacion en diseño web
Fundamentos de la programacion en diseño webFundamentos de la programacion en diseño web
Fundamentos de la programacion en diseño web
 
Tipos de web.
Tipos de web.Tipos de web.
Tipos de web.
 
Fundamentos del programación de diseño web
Fundamentos del programación de  diseño webFundamentos del programación de  diseño web
Fundamentos del programación de diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
El CPU Y SUS PARTES
El CPU Y SUS PARTESEl CPU Y SUS PARTES
El CPU Y SUS PARTES
 
partes del cpu
partes del cpupartes del cpu
partes del cpu
 
Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02
 
Oracle
OracleOracle
Oracle
 
Java server faces
Java server facesJava server faces
Java server faces
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
Fundamentos de administracion_oracle_10g
Fundamentos de administracion_oracle_10gFundamentos de administracion_oracle_10g
Fundamentos de administracion_oracle_10g
 
Manualoracle 1
Manualoracle 1Manualoracle 1
Manualoracle 1
 
Manula Oracle 2
Manula Oracle 2Manula Oracle 2
Manula Oracle 2
 
Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01Jsf jpa-y-hibernate-capitulo-01
Jsf jpa-y-hibernate-capitulo-01
 
Tutorial Jsf
Tutorial JsfTutorial Jsf
Tutorial Jsf
 
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
avanttic - webinar: Oracle Seguridad-Desarrollo Software (18-06-2015)
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server Faces
 
Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)Oracle Coherence (by Leonardo Torres Altez)
Oracle Coherence (by Leonardo Torres Altez)
 
Ejercicio basico jsf’s
Ejercicio basico jsf’sEjercicio basico jsf’s
Ejercicio basico jsf’s
 

Ähnlich wie FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB

Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajesAlex Javier
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096olguito
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónfarmero
 
Software aplicado 2
Software aplicado 2Software aplicado 2
Software aplicado 2carlos
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionElder Giron
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióNAlfonso
 
Mariana precesntacion 2
Mariana precesntacion 2Mariana precesntacion 2
Mariana precesntacion 2esveidi_27
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de ProgramaciónSandra Esposito
 
foro de lenguajes de programación.docx
foro de lenguajes de programación.docxforo de lenguajes de programación.docx
foro de lenguajes de programación.docxJezerCaldern
 
Clasificación de lenguajes de
Clasificación de lenguajes deClasificación de lenguajes de
Clasificación de lenguajes deJoRgEp10
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacionCecilia Díaz
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continaciondetlefsen
 

Ähnlich wie FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB (20)

Clasificacion
ClasificacionClasificacion
Clasificacion
 
Arquitectura de Computadoras
Arquitectura de Computadoras Arquitectura de Computadoras
Arquitectura de Computadoras
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajes
 
Eli rodas
Eli rodasEli rodas
Eli rodas
 
Clasificacion de lenguajes de programacion martha
Clasificacion de lenguajes de programacion marthaClasificacion de lenguajes de programacion martha
Clasificacion de lenguajes de programacion martha
 
Jhondiapositiva096
Jhondiapositiva096Jhondiapositiva096
Jhondiapositiva096
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Software aplicado 2
Software aplicado 2Software aplicado 2
Software aplicado 2
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióN
 
Mariana precesntacion 2
Mariana precesntacion 2Mariana precesntacion 2
Mariana precesntacion 2
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
foro de lenguajes de programación.docx
foro de lenguajes de programación.docxforo de lenguajes de programación.docx
foro de lenguajes de programación.docx
 
Plata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativoPlata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativo
 
Plata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativoPlata cabello 2 j cuadro comparativo
Plata cabello 2 j cuadro comparativo
 
Clasificación de lenguajes de
Clasificación de lenguajes deClasificación de lenguajes de
Clasificación de lenguajes de
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 

FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB

  • 1. FUNDAMENTOS DE PROGRAMACIÓN EN DISEÑO WEB Juan Felipe Correa Correa María Fernanda Carvajal Mancera 1002 2013
  • 2. DEFINICIÓN DEPROGRAMACIÓN DE COMPUTADORES La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación.
  • 3. CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN 1. Nivel de abstracción. Según el nivel de abstracción, o sea, según el grado de cercanía a la máquina: Lenguajes de bajo nivel: La programación se realiza teniendo muy en cuenta las características del procesador. Ejemplo: Lenguajes ensamblador. Lenguajes de nivel medio: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. Ejemplo: C puede realizar operaciones lógicas y de desplazamiento con bits, tratar todos los tipos de datos como lo que son en realidad a bajo nivel (números), etc. Lenguajes de alto nivel: Más parecidos al lenguaje humano. Manejan conceptos, tipos de datos, etc., de una manera cercana al pensamiento humano ignorando (abstrayéndose) del funcionamiento de la máquina. Ejemplos: Java, Ruby.
  • 4. 2. Propósito. Según el propósito, es decir, el tipo de problemas a tratar con ellos: Lenguajes de propósito general: Aptos para todo tipo de tareas: Ejemplo: C. Lenguajes de propósito específico: Hechos para un objetivo muy concreto. Ejemplo: Csound (para crear ficheros de audio). Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers. Ejemplo: C. Lenguajes de script: Para realizar tareas varias de control y auxiliares. Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) o JCL (“Job Control Languages”). Se subdividen en varias clases (de shell, de GUI, de programación web, etc.). Ejemplos: bash (shell), mIRC script, JavaScript (programación web).
  • 5. 3. Evolución histórica. Con el paso del tiempo, se va incrementando el nivel de abstracción, pero en la práctica, los de una generación no terminan de sustituir a los de la anterior: Lenguajes de primera generación (1GL): Código máquina. Lenguajes de segunda generación (2GL): Lenguajes ensamblador. Lenguajes de tercera generación (3GL): La mayoría de los lenguajes modernos, diseñados para facilitar la programación a los humanos. Ejemplos: C, Java. Lenguajes de cuarta generación (4GL): Diseñados con un propósito concreto, o sea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL, Matemática. Lenguajes de quinta generación (5GL): La intención es que el programador establezca el qué problema ha de ser resuelto y las condiciones a reunir, y la máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.
  • 6. 4. Manera de ejecutarse. Según la manera de ejecutarse: Lenguajes compilados: Un programa traductor traduce el código del programa (código fuente) en código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto del programa principal con los de las librerías para producir el programa ejecutable. Ejemplo: C. Lenguajes interpretados: Un programa (intérprete), ejecuta las instrucciones del programa de manera directa. Ejemplo: Lisp. También los hay mixtos, como Java, que primero pasan por una fase de compilación en la que el código fuente se transforma en “bytecode”, y este “bytecode” puede ser ejecutado luego (interpretado) en ordenadores con distintas arquitecturas (procesadores) que tengan todos instalados la misma “máquina virtual” Java.
  • 7. 5. Manera de abordar la tarea a realizar. Según la manera de abordar la tarea a realizar, pueden ser: Lenguajes imperativos: Indican cómo hay que hacer la tarea, es decir, expresan los pasos a realizar. Ejemplo: C. Lenguajes declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog. Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de programación, son HTML (para describir páginas web) o SQL (para consultar bases de datos).
  • 8. 6. Paradigma de programación. Lenguajes de programación procedural: Divide el problema en partes más pequeñas, que serán realizadas por subprogramas (subrutinas, funciones, procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C, Pascal. Lenguajes de programación orientada a objetos: Crean un sistema de clases y objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan acciones y se comunican con otros objetos. Ejemplos: C++, Java. Lenguajes de programación funcional: La tarea se realiza evaluando funciones, (como en Matemáticas), de manera recursiva. Ejemplo: Lisp. Lenguajes de programación lógica: La tarea a realizar se expresa empleando lógica formal matemática. Expresa qué computar. Ejemplo: Prolog.
  • 9. 7. Lugar de ejecución. En sistemas distribuidos, según dónde se ejecute: Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP es el más utilizado en servidores web. Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: Javascript en navegadores web.
  • 10. 8. Concurrencia. Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de varios procesos lanzados por el programa: Lenguajes concurrentes. Ejemplo: Ada. Lenguajes no concurrentes. Ejemplo: C.
  • 11. 9. Interactividad. Según la interactividad del programa con el usuario u otros programas: Lenguajes orientados a sucesos: El flujo del programa es controlado por la interacción con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto, interfaces gráficos de usuario (GUI) o kernels. Ejemplo: VisualBasic, lenguajes de programación declarativos. Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro (actualizaciones de bases de datos, colas de impresión de documentos, etc.). Ejemplos: Lenguajes de programación imperativos.
  • 12. 10. Realización visual. Según la realización visual o no del programa: Lenguajes de programación visual: El programa se realiza moviendo bloques de construcción de programas (objetos visuales) en un interfaz adecuado para ello. No confundir con entornos de programación visual, como Microsoft Visual Studio y sus lenguajes de programación textuales (como Visual C#). Ejemplo: Mindscript. Lenguajes de programación textual: El código del programa se realiza escribiéndolo. Ejemplos: C, Java, Lisp.
  • 13. 11. Determinismo. Según se pueda predecir o no el siguiente estado del programa a partir del estado actual: Lenguajes deterministas. Ejemplos: Todos los anteriores. Lenguajes probabilísticos o no deterministas: Sirven para explorar grandes espacios de búsqueda, (como gramáticas), y en la investigación teórica de hipercomputación. Ejemplo: mutt (generador de texto aleatorio).
  • 14. 12. Productividad. Según se caractericen por tener virtudes útiles o productivas, u oscuras y enrevesadas: Lenguajes útiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza. Ejemplos: Cualquier lenguaje de uso habitual (C, Java, C++, Lisp, Python, Ruby, …). Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de frikis programadores. A veces exploran nuevas ideas en programación. Ejemplo: Brainfuck.
  • 15. CONCEPTO DE VARIABLE Una variable es la expresión simbólica representativa de un elemento no especificado comprendido en un conjunto. Este conjunto constituido por todos los elementos o variables, que pueden sustituirse unas a otras es el universo de variables. Se llaman así porque varían, y esa variación es observable y medible. Las variables pueden ser cuantitativas, cuando se expresan en números, como por ejemplo la longitud o el peso. Las variables cualitativas expresan cualidades, por ejemplo, designar con letras las preferencias de los estudiantes por sus materias de estudio.
  • 16. ALGORITMO En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi) es un conjunto prescrito 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.
  • 17. DIAGRAMAS DE FLUJO El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.
  • 18. CLASIFICACIÓN DE LAS PROPIEDADES DE LOS NÚMEROS Un número racional es un numero real que se puede expresar como el cociente a/b de dos números enteros a y b con b diferente de cero. Los números reales que no son racionales se llaman irracionales. Por ejemplo, la razón del perímetro de una circunferencia a su diámetro es irracional. Este numero real se denota por P y se escribe P = 3.1416 para indicar que P esa aproximadamente igual a 3.1416. Otro ejemplo de un numero irracional es Ö 2.Los números reales se pueden representar por expresiones decimales infinitas. Por ejemplo, realizando la división puede verse que la representación decimal del numero racional 177/55 es 3.2181818..., en donde los dígitos 1 y 8 se repiten indefinidamente. Los números reales pueden representarse siempre por expresiones decimales periódicas, es decir, en las que hay una combinación de dígitos que se repiten indefinidamente. Los números irracionales pueden representarse por expresiones decimales infinitas no periódicas
  • 19. SENTENCIAS DE ASIGNACIÓN Se utiliza para asignar o almacenar valores a variables o constantes. Es una operación que sitúa un valor determinado en una posición de memoria. La operación de asignación se denota con el signo = algunos lenguajes de programación admiten operadores tales como: ←, := El tipo de expresión debe ser del mismo tipo que el de la variable, en caso contrario en la fase de compilación se produciría un error de tipos.
  • 20. CARÁCTERISTICAS DE UN SÍ CON CONDICIONES En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición. Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos mencionar al lanzamiento de errores como una alternativa más moderna para evitar el "anidamiento" de sentencias condicionales.
  • 21. ANALISÍS DE UN CICLO DE REPETICION EN PROGRAMACIÓN Las estructuras de repetición, permiten la ejecución de una lista o secuencia de instrucciones (<bloque de instrucciones>) en varias ocasiones. El número de veces que el bloque de instrucciones se ejecutará se puede especificar de manera explícita, o a través de una condición lógica que indica cuándo se ejecuta de nuevo y cuándo no. A cada ejecución del bloque de instrucciones se le conoce como una iteración.