Lengua Jes
Lengua Jes
Lengua Jes
INTRODUCCIÓN
Programación Web
Python
Lenguajes multiplataforma
1991 - Java
Diseñados para ejecutar
actualidad PHP
código de fuentes remotas de
C#
modo seguro
Generaciones
Tipos de datos
Dentro de los elementos comunes, se definen los tipos de
datos. Los tipos de datos previenen de errores en una fase
inicial, como por ejemplo la división de un dato tipo fecha
por un número entero. Los tipos comunes de datos son:
variables booleanas, número entero, número real, byte y
palabra, pero también fechas, horas del día y cadenas
(strings).
Basado en estos tipos de datos, el usuario puede definir sus
propios tipos de datos, conocidos como tipos de datos
derivados. De este modo, se puede definir por ejemplo un canal
de entrada analógica como un tipo de dato.
Variables
Ramificación
En los programas se necesitará que algunas sentencias se
ejecuten condicionalmente y se omitan otras. Java proporciona
varios mecanismos para conseguir este control y decidir qué
partes del código ejecutar, mediante sus sentencias de
ramificación.
if-else
La construcción if-else provoca que la ejecución atraviese un
conjunto de estados boolean que determinan que se ejecuten
distintos fragmentos de código.
if ( expresión-booleana ) sentencia1; [ else sentencia2; ]
La cláusula else es opcional. Cada una de las sentencias puede
ser una sentencia compuesta encerrada entre llaves, { }. Una
expresión-booleana es cualquier expresión que devuelve un
valor boolean. Podría ser una variable simple declarada como
boolean.
boolean datosdisponibles; int bytesdisponibles;
// ... // ...
if (datosdisponibles) if (bytesdisponibles > 0)
ProcesarDatos(); ProcesarDatos();
else else
esperarAMasDatos(); esperarAMasDatos();
Si se desea incluir más sentencias después del if o else, hay
que utilizar las llaves como en este código ejemplo.
int bytesDisponibles;
// ...
if (bytesDisponibles > 0) {
ProcesarDatos();
bytesDisponibles -= n;
} else
esperarAMasDatos();
break
La sentencia break de Java está diseñada para cubrir aquellos
casos en los que saltar arbitrariamente a una porción de
código es una constucción valiosa y legítima para el control
del flujo. El término break se refiere al acto de salirse de
un bloque de código. Le dice al intérprete que retome la
ejecución pasado el final del bloque.
switch
La sentencia switch proporciona una forma limpia de dirigir la
ejecución a partes diferentes del código en base al valor de
una variable o expresión. Esta es la forma general de la
sentencia switch:
switch ( expresión ) {
case valor1:
break;
case valor2:
break;
case valorN:
break;
default:
}
El valor de expresión se compara con cada uno de los valores
literales de las sentencias case. Si coincide con alguno, se
ejecuta el código que sigue a la sentencia case. Si no
coincide con ninguno de ellos, entonces se ejecuta la
sentencia default (por defecto). La sentencia default es
opcional. La sentencia break, comentada anteriormente, hace,
en este caso, que la ejecución salte al final del switch. Si
no se pone el break, la ejecución continuará en el siguiente
case.
return
Como se explicará en el siguiente capítulo, Java utiliza una
forma de subrutina llamada método para implementar una
interfaz de procedimiento a las clases de objetos. En
cualquier momento dentro de un método, se puede utilizar la
sentencia return para que la ejecución salte y vuelva al punto
donde se llamó al método.
Bucles
Un bucle es lo que llamamos ejecutar repetidamente el mismo
bloque de código hasta que cumpla una condición de
terminación. Hay cuatro partes en cualquier bucle,
inicialización, cuerpo, iteración y terminación. La
inicialización es el código que establece las condiciones
iniciales de un bucle. El cuerpo es la sentencia que queremos
repetir. La iteración es el código que queremos ejecutar
después de cuerpo, pero antes de entrar de nuevo en el bucle.
Se utiliza a menudo para incrementar o decrementar contadores
e índices. La terminación es la expresión booleana que
comprueba cada vez a lo largo de un bucle para ver si ha
llegado el momento de parar de iterar. Java tiene tres
construcciones para bucles: while, do-while y for.
while
Ejecuta una sentencia repetidamente mientras una expresión
booleana sea verdadera. Esta es su forma general:
[ inicialización; ]
while (terminación) {
cuerpo;
[ iteración; ]
}
Las partes inicialización e iteración son opcionales, y
mientras la expresión terminación devuelva un valor true, la
sentencia cuerpo continuará ejecutándose.
do-while
Un subprograma
begin
end Intercambia;
begin
end Principal;
En un mismo ámbito se pueden tener varios subprogramas con el
mismo nombre, siempre que se diferencien en los parámetros o
en el tipo del resultado (si son funciones). Esto se conoce
como sobrecarga de subprogramas. La sobrecarga de operadores
es una clase de sobrecarga de subprogramas.
begin
end Intercambia;
begin
end Intercambia;
Declaración de un subprograma.
Llamada a un subprograma.
8_Media No válido
CASA≠casa
Se recomienda utilizar identificadores descriptivos.
Constantes reales:
4.7, -5.65, 4E3, -7e-2, 4.8E4, -7.2e-2
– La letra E substituye al número 10. Así, el número 4.8 x 104
es el 4.8E4.
– Las siguientes constantes representan el mismo valor:
0.00075E1, 0.0075, 0.075E-1, 0.75E-2,
75E-4
Constantes carácter:
– Representación: Un único carácter entre
comillas simples (‘).
– Una constante carácter tiene asociado un
valor numérico: su código ASCII.
– Una secuencia de escape es una pareja
de caracteres que representan uno solo.
El primero es siempre la barra inclinada \
Constantes cadena:
– Representación: una secuencia de caracteres delimitados por
comillas dobles “.
“Esto es una cadena”
“INICIO\n\nFIN”
“Comillas dobles \” y simples \’”
“C:\\Directorio\\Fichero.txt”
– Toda cadena tiene un carácter final de código ASCII 0 (‘\0’)
que el compilador
sitúa automáticamente al final de la cadena.
Argumentos.
– Fuera de todas las funciones. Variables globales.
Operador Acción
- Sustracción y signo unario
+ Adición
* Multiplicación
/ División
% Módulo (resto de la división entera)
-- Decremento
++ Incremento
Sentencia Equivalencia
z++; z=z+1;
++z; z=z+1;
x=++z; z=z+1; x=z;
x=z++; x=z; z=z+1;
Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual
!= Distinto
• El resultado de estos operadores es un valor entero (0
FALSE, otro valor TRUE).
• En los primeros programas que se escriben en C es frecuente
confundir los operadores == y != al usar sus equivalentes en
PASCAL, = y <>.
Operador Acción
&& AND (Y lógico)
|| OR (O lógico)
! NOT (negación)
Condición Resultado lógico
5 Cierto
!5 Falso
!0 Cierto
5<6 && 7>=5 Cierto
5>6 && 7>=5 Falso
6>5 || 7>=5 Cierto
5>6 || 7<=5 Falso
!(5>6 || 7<=5) Cierto
Operador Acción
~ Complemento a 1 unario
& AND bit a bit
| OR inclusivo bit a bit
^ OR exclusivo (XOR) bit a
bit
<< Desplazamiento a la
izquierda
>> Desplazamiento a la
derecha
Operador Acción
= Asignación
operador= Asignación especial
Sentencia Equivalencia
a=b=c; a=c; b=c;
a+=b; a=a+b;
a*=b; a=a*b;
Operador Acción
& Dirección de un objeto (unario).
* Direccionamiento indirecto (unario).
[] Direccionamiento indexado.
sizeof(_) Da la talla de la variable o el tipo entre
paréntesis.
, Sirve para reunir varias expresiones
en una instrucción.
. Da acceso a los campos de las
estructuras.
-> Da acceso a los campos de las
estructuras accedidas por punteros.
ü Un editor de texto.
ü Un compilador.
ü Un intérprete.
ü Herramientas de automatización.
ü Un depurador.
ü Posibilidad de ofrecer un sistema de control de
versiones.
ü Factibilidad para ayudar en la construcción de
interfaces gráficas de usuarios.
o Ejemplos especiales:
• Entornos Ada (Stoneman, Cais, Asis)
• Entornos Smalltalk
• Entornos Oberon, Component Pascal
o Ejemplos:
• The Cornell Program Synthesizer (subconjunto de
PL/I)
• Mentor (Pascal)
• Alice Pascal
• Gandalf (intenta ser un entorno de desarrollo
completo, para todo el ciclo de vida)
Entornos multilenguaje
Entornos genéricos
o Ejemplos:
• Emacs (con diferentes "modos")
• Eclipse (con diferentes "plug-ins")
Entornos específicos
CUESTIONARIO
a) Java
b) C
c) El lenguaje corporal
d) El lenguaje maquina
e) El lenguaje hablado
a) Máquina de Babbage
b) Arquitectura de Von Neumann
c) Teoría de la relatividad
d) Máquina del tiempo
e) Teoría de conjuntos
a) 30’s
b) 40’s
c) 50’s
d) 60’s
e) 70’s
a) C
b) Pascal
c) PHP
d) Java
e) Fortran
6. ¿En cuantas generaciones se suele clasificar a los
lenguajes de programación?
a) 2 generaciones
b) 5 generaciones
c) 8 generaciones
d) 10 generaciones
e) 15 generaciones
a) Visual Basic
b) C#
c) Java
d) Lenguaje ensamblador
e) PHP
9. ¿Que es un subprograma?
a) Es un procedimiento (procedure) o una función
(function). La diferencia entre un procedimiento y una
función es que el primero sólo indica la ejecución de
una secuencia de instrucciones, en función de unos
parámetros, mientras que la segunda representa un valor
que se genera como resultado de su ejecución.
Bibliografía
SETHI, Ravi. Lenguajes de programación, conceptos y
constructores.
Addison -Wesley Iberoamericana.
México 1992.
http://www.tiobe.com/index.html?tiobe_index
http://www.todo-
programacion.com.ar/archives/2005/04/lenguaje_de_maq.html
http://www.desarrolloweb.com/articulos/2358.php
http://etsiit.ugr.es/alumnos/mlii/ArqVonNeumann.htm
http://es.wikipedia.org/wiki/Generaciones_de_lenguajes_de_prog
ramaci%C3%B3n
http://enciclopedia.us.es/index.php/Lenguaje_de_programaci%C3%
B3n