Escolar Documentos
Profissional Documentos
Cultura Documentos
Desarrollo de
Aplicaciones
UF1 – Programación Web
estructurada
“Un
“Un programa
programa informático
informático no
no es
es más
más que
que una
una serie
serie
de
de órdenes
órdenes que
que se
se llevan
llevan aa cabo
cabo secuencialmente,
secuencialmente,
aplicadas
aplicadas sobre
sobre un
un conjunto
conjunto de
de datos.”
datos.”
5
CREACIÓN DE PROGRAMAS
Para
Para especificar
especificar las
las órdenes
órdenes que
que ha
ha de
de seguir
seguir un
un
ordenador
ordenador se
se usa
usa un
un lenguaje
lenguaje de
de programación.
programación. Se
Se trata
trata
de
de un
un lenguaje
lenguaje artificial
artificial diseñado
diseñado expresamente
expresamente para
para crear
crear
algoritmos
algoritmos que
que puedan
puedan ejecutarse
ejecutarse dentro
dentro de
de un
un
ordenador.
ordenador.
En
En un
un lenguaje
lenguaje de
de programación
programación determinado
determinado la
la secuencia
secuencia
de
de ordenes
ordenes se
se denomina
denomina instrucciones
instrucciones
6
CREACIÓN DE PROGRAMAS
Ejemplo de instrucciones en Java
public
public class
class AddTwoIntegers
AddTwoIntegers {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
int
int first
first == 10;
10;
int
int second
second == 20;
20;
int
int sum
sum == first
first ++ second;
second;
System.out.println("The
System.out.println("The sum
sum is:
is: "" ++ sum);
sum);
}}
}}
7
TIPOS DE LENGUAJE DE PROGRAMACIÓN
El
El conjunto
conjunto de
de ficheros
ficheros de
de texto
texto de
de un
un programa
programa se
se
denomina
denomina código
código fuente
fuente
8
LENGUAJES DE BAJO NIVEL
Lenguaje de máquina
0101011 1001101
0111110 1001111 Un
Un programa
programa en
en lenguaje
lenguaje de
de máquina
máquina es
es
0101011 1011101 específico
específico para
para cada
cada procesador
procesador en
en
1101011 1001101 concreto.
concreto. Cada
Cada procesador
procesador entiende
entiende el
el
0101011 1011101 lenguaje
lenguaje de
de máquina
máquina especifico
especifico de
de cada
cada
0101010 1011101 fabricante
fabricante
0101001 1001101
9
LENGUAJES DE BAJO NIVEL
Lenguaje Ensamblador
Códigos
Códigos mnemotécnicos
mnemotécnicos que
que representan
representan instrucciones
instrucciones
básicas
básicas para
para los
los procesadores.
procesadores. Implementa
Implementa una
una
representación
representación simbólica
simbólica de
de los
los códigos
códigos de
de máquina
máquina
binarios
binarios yy otras
otras constantes
constantes necesarias
necesarias para
para programar
programar una
una
arquitectura
arquitectura de
de procesador
procesador
10
LENGUAJES DE BAJO NIVEL
Lenguage Ensamblador
Procesador 6502
11
LENGUAJES DE ALTO NIVEL
12
LENGUAJES DE ALTO NIVEL
Ejemplos
▶ C / C++
▶ C#
▶ Java
▶ PHP
▶ Python
▶ JavaScript
▶ Ruby
▶ MATLAB
▶ Pascal
13
LENGUAJES DE ALTO NIVEL
Ejemplos
▶ C / C++
▶ C#
▶ Java
int
int xx == 12;
12;
▶ PHP int
int yy == 0;
0;
int
int zz == 0;
0;
▶ Python if(
if( yy !=0
!=0 )) zz == xx // y;
y;
System.out.println("El
System.out.println("El resultado
resultado es
es :: "" ++ z);
z);
▶ JavaScript
▶ Ruby
▶ MATLAB Instrucciones en Java
▶ Pascal
14
LENGUAJES COMPILADOS
La
La compilación
compilación es
es la
la traducción
traducción del
del código
código fuente
fuente de
de los
los
ficheros
ficheros del
del programa
programa en
en ficheros
ficheros en
en formato
formato binario,
binario, que
que
contienen
contienen las
las instrucciones
instrucciones en
en un
un formato
formato que
que el
el
procesador
procesador puede
puede entender.
entender. El
El conjunto
conjunto de
de estos
estos ficheros
ficheros
se
se denomina
denomina código
código objeto.
objeto. El
El programa
programa que
que hacer
hacer este
este
proceso
proceso se
se denomina
denomina compilador
compilador
15
LENGUAJES COMPILADOS
Esquema general
16
LENGUAJES COMPILADOS
Compilación y enlace
17
LENGUAJES INTERPRETADOS
Un
Un lenguaje
lenguaje interpretado
interpretado se
se ejecuta
ejecuta indirectamente,
indirectamente,
mediante
mediante la
la ayuda
ayuda de
de un
un programa
programa auxiliar
auxiliar denominado
denominado
intérprete,
intérprete, que
que procesa
procesa el
el código
código fuente
fuente yy gestiona
gestiona la
la
ejecución.
ejecución.
18
LENGUAJES INTERPRETADOS
19
LENGUAJES INTERPRETADOS
Aproximación híbrida
Ejemplo: Java, C#
20
LENGUAJES INTERPRETADOS
21
COMPILADO VS INTERPRETADO
22
Entornos de desarrollos de
1.2 aplicaciones
23
ENTORNOS INTEGRADOS DE DESARROLLO
(IDE)
Un
Un IDE
IDE (( Integrated
Integrated Development
Development Environment
Environment oo entorno
entorno
integrado
integrado de
de desarrollo
desarrollo )) es
es una
una herramienta
herramienta que
que integra
integra
diversas
diversas funciones
funciones que
que hacen
hacen la
la tarea
tarea de
de generar
generar
programar
programar sea
sea más
más cómoda
cómoda
24
ENTORNOS INTEGRADOS DE DESARROLLO
(IDE)
25
ENTORNOS INTEGRADOS DE DESARROLLO
(IDE)
26
IDEs MÁS USADOS: Netbeans
Gratis, opensource, multiplataforma
27
IDEs MÁS USADOS: Eclipse
Gratis, opensource, multiplataforma
28
IDEs MÁS USADOS: Visual Studio
Propietario, versión gratuita, Windows, Mac
29
Variables. Tipos y utilidad
1.3
30
RESOLVIENDO UN PROGRAMA INFORMÁTICO
▶ ¿Que es la computación?
31
RESOLVIENDO UN PROGRAMA INFORMÁTICO
▶ ¿Que es la computación?
▷ ¿Que es el conocimiento?
32
TIPOS DE CONOCIMIENTO
▶ Conocimiento declarativo
▶ Conocimiento imperativo
33
TIPOS DE CONOCIMIENTO
▶ Conocimiento declarativo
▷ Declaración de hechos
▶ Conocimiento imperativo
34
TIPOS DE CONOCIMIENTO
▶ Conocimiento declarativo
▷ Declaración de hechos
▶ Conocimiento imperativo
▷ Métodos o procedimientos
35
CONOCIMIENTO DECLARATIVO
Ejemplo raíz cuadrada
36
CONOCIMIENTO IMPERATIVO
Ejemplo raíz cuadrada
1)
1) Comienza
Comienzacon
conuna
unasugerencia,
sugerencia,llamada
llamada gg
2)
2) Si
Sig*g
g*ges
eslo
losuficientemente
suficientementecercano
cercanoaa x,
x,parar
pararyydecir
decirque
que gges
esla
la
respuesta
respuesta
3)
3) Sino
Sinoobtén
obténuna
unanueva
nuevasugerencia
sugerenciahallando
hallandoel
elpromedio
promedioentre
entre ggyyx/g
x/g
4)
4) Usando
Usandoesta
estanueva
nuevasugerencia,
sugerencia,repetir
repetirel
elprocedimiento
procedimientohasta
hastaque
queel
el
resultado
resultadosea
sealo
losuficientemente
suficientementecercano
cercanoaa xx
Herón de Alejandría
PRIMER SIGLO A.C.
37
Mi primer programa “Hola
mundo” en Java
“HOLA MUNDO” EN JAVA
//
// Mi
Mi primer
primer programa
programa en
en Java
Java
public
public class
class MyFirstApp
MyFirstApp {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
System.out.println("Hola
System.out.println("Hola mundo");
mundo");
}}
}}
39
“HOLA MUNDO” EN JAVA
Comentario
//
// Mi
Mi primer
primer programa
programa en
en Java
Java
public
public class
class MyFirstApp
MyFirstApp {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
System.out.println("Hola
System.out.println("Hola mundo");
mundo");
}}
}}
Primera instrucción
Método principal
40
Mi primer programa en Java
compilando en la consola
COMPILANDO EN LA CONSOLA
//
// Mi
Mi primer
primer programa
programa en
en Java
Java
public
public class
class MyFirstApp
MyFirstApp {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
System.out.println("I
System.out.println("I Rule!");
Rule!");
System.out.println("The
System.out.println("The World");
World");
}}
}}
42
COMPILANDO EN LA CONSOLA
43
VARIABLES
Java 16
leng n um
uaje ero
S tring int
44
VARIABLES
int numero = 16
16 16
n um
ero
int
Memoria RAM
45
TIPOS DE DATOS
46
TIPOS DE DATOS
Un
Un tipo
tipo de
de dato
dato es
es la
la definición
definición del
del conjunto
conjunto de
de valores
valores
válidos
válidos que
que pueden
pueden tener
tener unos
unos datos
datos yy el
el conjunto
conjunto de
de
transformaciones
transformaciones que
que se
se pueden
pueden hacer
hacer con
con estos.
estos.
47
TIPOS DE DATOS EN JAVA
48
TIPOS DE DATOS EN JAVA
49
TIPO DE DATOS BOOLEAN
Representa
Representa un
un valor
valor de
de tipo
tipo lógico.
lógico. Establece
Establece la
la certeza
certeza
(true)
(true) oo falsedad
falsedad (false)
(false) de
de un
un estado
estado oo afirmación.
afirmación.
50
TIPO DE DATOS BOOLEAN
public
public class
class MyFirstApp
MyFirstApp {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
System.out.println(true);
System.out.println(true);
System.out.println(false);
System.out.println(false);
}}
}}
51
OPERACIONES ENTRE BOOLEANOS
▶ Negación (!):
▷ Da como resultado el valor contrario. También conocida como NOT lógico.
▶ Conjunción (&&):
▷ Cierta si todos los operandos son ciertos. También conocida como AND
lógico.
▶ Disjunción (||):
▷
Cierta si al menos un operando es cierto. También conocida como OR lógico.
52
OPERACIONES ENTRE BOOLEANOS
Tabla de la verdad
A B A && B A || B !B
false false false false true
53
OPERACIONES ENTRE BOOLEANOS
Tabla de la verdad
A B A && B A || B !B
0 0 0 0 1
0 1 0 1 0
1 0 0 1 1
1 1 1 1 0
54
Utilización de variables
1.4
55
DECLARACIÓN DE VARIABLES
De
De manera
manera general
general toda
toda variable
variable dentro
dentro de
de un
un programa
programa
debe
debe estar
estar declarada
declarada antes
antes de
de poderla
poderla usar.
usar.
Hay
Hay lenguajes
lenguajes que
que no
no requieren
requieren declarar
declarar el
el tipo
tipo de
de
variable.
variable. Ejemplo:
Ejemplo: JavaScript,
JavaScript, PHP,
PHP, MATLAB
MATLAB
▶ Tipo
▶ Identificador o etiqueta única
▶ Valor inicial
56
DECLARACIÓN DE VARIABLES
57
DECLARACIÓN DE VARIABLES
El nombre de la variable
●
Sin espacios
●
No puede comenzar por un número
●
No puede ser igual a una palabra clave del lenguaje
58
USO DE VARIABLES
nombreVariable = expresión ;
59
USO DE VARIABLES
public
public class
class MyFirstApp
MyFirstApp {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
float
float dividend=17;
dividend=17;
float
float divisor=4;
divisor=4;
float
float resultado;
resultado;
float
float sumarAlFinal=6;
sumarAlFinal=6;
resultat=dividend/divisor;
resultat=dividend/divisor;
resultat=resultat+sumarAlFinal;
resultat=resultat+sumarAlFinal;
System.out.println(resultat);
System.out.println(resultat);
}}
}}
60
USO DE VARIABLES
61
USO DE VARIABLES
Operación y asignación simultánea
Equivale a:
resultat += sumarAlFinal ;
62
USO DE VARIABLES
Operación y asignación simultánea
Equivale a:
resultat += sumarAlFinal ;
63
Constantes
1.5
64
CONSTANTES
Una
Una constante
constante es
es un
un tipo
tipo especial
especial de
de variable,
variable, que
que dentro
dentro
del
del programa
programa su
su valor
valor se
se puede
puede definir
definir pero
pero no
no se
se puede
puede
modificar
modificar
65
CONSTANTES
66
CONSTANTES
Convención de nomenclatura
La
La convención
convención para
para las
las constantes
constantes en
en Java
Java es
es que
que todas
todas
las
las letras
letras se
se escriben
escriben con
con mayúscula.
mayúscula. En
En caso
caso de
de usar
usar
varias
varias palabras
palabras se
se separan
separan por
por guión
guión bajo
bajo (_)
(_)
67
USO DE CONSTANTES
Ejemplo sin usar constante
public
public class
class Conversion
Conversion {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
double
double preuFinal
preuFinal == 0.0;
0.0;
preuFinal
preuFinal +=
+= 120;
120;
preuFinal
preuFinal +=
+= 100;
100;
preuFinal
preuFinal == preuFinal
preuFinal ++ (preuFinal
(preuFinal ** 0.21);
0.21);
System.out.println(preuFinal);
System.out.println(preuFinal);
}}
}}
68
USO DE CONSTANTES
Ejemplo usando constante
public
public class
class Conversion
Conversion {{
public
public static
static final
final double
double IVA
IVA == 0.21;
0.21;
public
public static
static void
void main(String[]
main(String[] args)
args) {{
double
double preuFinal
preuFinal == 0.0;
0.0;
preuFinal
preuFinal +=
+= 120;
120;
preuFinal
preuFinal +=
+= 100;
100;
preuFinal
preuFinal == preuFinal
preuFinal ++ (preuFinal
(preuFinal ** IVA);
IVA);
System.out.println(preuFinal);
System.out.println(preuFinal);
}}
}}
69
USO DE CONSTANTES
Ejemplo usando constante
Fuera del método principal
public
public class
class Conversion
Conversion {{
public
public static
static final
final double
double IVA
IVA == 0.21;
0.21;
public
public static
static void
void main(String[]
main(String[] args)
args) {{
double
double preuFinal
preuFinal == 0.0;
0.0;
preuFinal
preuFinal +=
+= 120;
120;
preuFinal
preuFinal +=
+= 100;
100;
preuFinal
preuFinal == preuFinal
preuFinal ++ (preuFinal
(preuFinal ** IVA);
IVA);
System.out.println(preuFinal);
System.out.println(preuFinal);
}}
}}
70
USO DE CONSTANTES
Ejemplo conversión euro a dólar (1)
¿DONDE ESTA EL ERROR?
public
public class
class Conversion
Conversion {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
double
double valor
valor == 12.0;
12.0;
System.out.println(valor
System.out.println(valor ** 1.3656);
1.3656);
valor
valor == 300.0;
300.0;
System.out.println(valor
System.out.println(valor ** 1.3756);
1.3756);
valor
valor == 189.0;
189.0;
System.out.println(valor
System.out.println(valor ** 1.3656);
1.3656);
}}
}}
71
USO DE CONSTANTES
Ejemplo conversión euro a dólar (2)
¿DONDE ESTA EL ERROR?
public
public class
class Conversion
Conversion {{
public
public static
static final
final double
double CONVERSIO_EURO_A_DOLAR
CONVERSIO_EURO_A_DOLAR == 1.3656;
1.3656;
public
public static
static void
void main(String[]
main(String[] args)
args) {{
double
double valor
valor == 12.0;
12.0;
System.out.println(valor
System.out.println(valor ** CONVERSIO_EURO_A_DOLAR);
CONVERSIO_EURO_A_DOLAR);
valor
valor == 300.0;
300.0;
System.out.println(valor
System.out.println(valor ** CONEVRSIO_EURO_A_DOLAR);
CONEVRSIO_EURO_A_DOLAR);
valor
valor == 189.0;
189.0;
System.out.println(valor
System.out.println(valor ** CONVERSIO_EURO_A_DOLAR);
CONVERSIO_EURO_A_DOLAR);
}}
}}
72
Operadores del lenguaje de
1.6 programación
73
OPERADORES DEL LENGUAJE
Aritméticos
% Resto de la división 10 % 3
74
OPERADORES DEL LENGUAJE
Relacionales (devuelve true/false)
!= Distinto que 6 != 5
75
EXPRESIONES
Una
Una expresión
expresión eses una
una combinación
combinación cualquiera
cualquiera de
de
operadores
operadores yy operandos.
operandos.
76
EXPRESIONES NO VÁLIDAS
Ejemplos
77
EVALUACIÓN DE EXPRESIONES
El
El orden
orden de
de precedencia
precedencia de de un
un conjunto
conjunto de de operadores
operadores es
es
la
la regla
regla para
para establecer
establecer el
el orden
orden de
de las
las operaciones.
operaciones. Las
Las
operaciones
operaciones concon mayor
mayor precedencia
precedencia se se evalúan
evalúan antes
antes que
que
las
las de
de orden
orden menor.
menor.
78
EVALUACIÓN DE EXPRESIONES
Ejemplo
(( ((3
((3 ++ 4)
4) ==
== 77 )) &&
&& !(12.3
!(12.3 >> 2.11)
2.11) ||
|| ('a'
('a' ==
== 'b')
'b') );
);
79
EVALUACIÓN DE EXPRESIONES
Ejemplo
3) Negación
4) Conjunción
5) Disjunción
6) Final
80
Conversión de tipos de
1.7 datos
81
CONVERSIÓN DE TIPOS DE DATOS
▶ Conversión implícita
▶ Conversión explícita
82
CONVERSIÓN IMPLÍCITA
83
CONVERSIÓN IMPLÍCITA
Ejemplo float a double
public
public class
class Conversion
Conversion {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
float
float real
real == 100;
100;
double
double doble
doble == real;
real;
System.out.println(doble);
System.out.println(doble);
}}
}}
84
CONVERSIÓN EXPLICITA
85
CONVERSIÓN EXPLÍCITA
Ejemplo double a long, int
public
public class
class ConversioExplicita
ConversioExplicita {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
double
double realLlarg
realLlarg == 300.0;
300.0;
long
long enterLlarg
enterLlarg == (long)
(long) realLlarg;
realLlarg;
int
int enter
enter == (int)
(int) enterLlarg;
enterLlarg;
System.out.println(enter);
System.out.println(enter);
}}
}}
86
CONVERSIÓN IMPLÍCITA
87
Entrada simple de datos
1.8 por teclado
88
ENTRADA SIMPLE POR TECLADO
package
package entradasimple;
entradasimple;
import
import java.util.Scanner;
java.util.Scanner;
public
public class
class EntadaSimpleTeclado
EntadaSimpleTeclado {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
Scanner
Scanner lector
lector == new
new Scanner(System.in);
Scanner(System.in);
String
String text
text == lector.nextLine();
lector.nextLine();
int
int numeroEntero=
numeroEntero= lector.nextInt();
lector.nextInt();
System.out.println(text);
System.out.println(text);
System.out.println(numeroEntero);
System.out.println(numeroEntero);
}}
}}
89
ENTRADA SIMPLE POR TECLADO
Importar libreria Scanner
package
package entradasimple;
entradasimple;
import
import java.util.Scanner;
java.util.Scanner;
public
public class
class EntadaSimpleTeclado
EntadaSimpleTeclado {{
public
public static
static void
void main(String[]
main(String[] args)
args) {{
Scanner
Scanner lector
lector == new
new Scanner(System.in);
Scanner(System.in);
String
String text
text == lector.nextLine();
lector.nextLine();
int
int numeroEntero=
numeroEntero= lector.nextInt();
lector.nextInt();
System.out.println(text);
System.out.println(text);
System.out.println(numeroEntero);
System.out.println(numeroEntero);
}}
}}
90
ENTRADA SIMPLE POR TECLADO
Importar libreria Scanner
package
package entradasimple;
entradasimple;
import
import java.util.Scanner;
java.util.Scanner;
Scanner
Scanner lector
lector == new
new Scanner(System.in);
Scanner(System.in);
String
String text
text == lector.nextLine();
lector.nextLine();
int
int numeroEntero=
numeroEntero= lector.nextInt();
lector.nextInt();
System.out.println(text);
System.out.println(text);
System.out.println(numeroEntero);
System.out.println(numeroEntero);
}}
}}
91
ENTRADA SIMPLE POR TECLADO
Importar libreria Scanner
package
package entradasimple;
entradasimple;
import
import java.util.Scanner;
java.util.Scanner;
Scanner
Scanner lector
lector == new
new Scanner(System.in);
Scanner(System.in);
String
String text
text == lector.nextLine();
lector.nextLine(); Entrar String
int
int numeroEntero=
numeroEntero= lector.nextInt();
lector.nextInt(); Entrar Entero
System.out.println(text);
System.out.println(text);
System.out.println(numeroEntero);
System.out.println(numeroEntero);
}}
}}
92
ENTRADA SIMPLE POR TECLADO
Métodos de la clase Scanner
nextShort() short
nextInt() int
nextLong() long
nextFloat() float
nextDouble() double
nextBoolean() boolean
nextLine() String
93
EJERCICIOS PROPUESTOS
Ejercicio 1
Usar la fórmula:
Ejercicio 5