curso de java estructura del lenguaje
DESCRIPTION
Curso de Java Estructura del Lenguaje. Contenido de la clase. Variables Convención de código Java Tipos primitivos Compilación y ejecución de un programa Java Estructuras de control. Declaración de variables. Declaración < tipo de variable> < nombre de variable>; - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/1.jpg)
Curso de Java
Estructura del LenguajeCurso de Java
Estructura del Lenguaje
![Page 2: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/2.jpg)
Contenido de la clase
- Variables- Convención de código Java- Tipos primitivos- Compilación y ejecución de un programa Java
- Estructuras de control
![Page 3: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/3.jpg)
Declaración de variables
Declaración<tipo de variable> <nombre de variable>;
Declaración y asignación <tipo de variable> <nombre de variable> = <valor>;
// Variable de tipo intint numeroEntero;
//Múltiples declaraciones en una sola líneaint i, j, l;
![Page 4: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/4.jpg)
Identificadores
Un identificador es un nombre que nos permite dirigirnos a las variables, funciones y otros elementos utilizados a la hora de escribir el código de un programa.
Reglas- Los nombres deben empezar con una letra, con _ o $.
- Los siguientes caracteres pueden ser números, letras, _ o $.
Ejemploscontador //válido
_siguiente //válido
1erContador //??
INT //??
![Page 5: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/5.jpg)
Práctica
Definir las variables para un programa que reciba como parámetro la cantidad de horas para terminar un trabajo y calcule el equivalente en días de trabajo.
Parámetro
Variables
![Page 6: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/6.jpg)
Convenciones
Los identificadores asociados a variables se suelen poner en minúsculas
int Contador; // Malint contador; // Bien
Cuando el identificador está formado por varias palabras, la primera palabra va en minúsculas y el resto de las palabras se una inicia con una letra mayúscula.
int contadorelementos; // malint contadorElementos; // bien
![Page 7: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/7.jpg)
Convenciones
Número por línea
Se recomienda una declaración por línea ya que alienta a comentar.
int tamaño; // tamaño de la tablaint cantidad; // cantidad de alumnos
LugarDeclarar las variables al inicio del bloque
void myMethod() { int int1; // inicio del bloque del método if (condicion) { int int2; // inicio del bloque if ... }}
![Page 8: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/8.jpg)
Convención - Importancia
-El 80% del costo del ciclo de vida del software va a mantenimiento.
-Difícilmente un software es mantenido por su autor original.
- La convención de código mejora la lectura del programa
![Page 9: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/9.jpg)
Definición de constante
final <tipo> identificador = <valor>;
Convenciones
Los identificadores asociados a constantes se suelen poner en mayusculas
final int COTIZACION = 4600;
Si el identificador esta formado por varias palabras, las distintas palabras se separan por un guion bajo.
final COTIZACION_DOLAR = 4600;
![Page 10: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/10.jpg)
Tipos primitivos
Tipo numéricoNúmeros enteros: byte, short, int, logNúmeros en coma flotante: float, double
Tipo carácter char
Tipo booleano boolean
Manejo de caracteres a través de una clase.
![Page 11: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/11.jpg)
Números enteros
Tipo de dato Espacio en memoria
Valor mínimo Valor máximo
byte 8 bits -128 127
short 16 bits -32768 32767
int 32 bits -2147483648 2147483647
long 64 bits -9223372036854775808 9223372036854775807
![Page 12: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/12.jpg)
Números enteros
Tipo de dato Espacio en memoria
Valor mínimo Valor máximo
byte 8 bits -128 127
short 16 bits -32768 32767
int 32 bits -2147483648 2147483647
long 64 bits -9223372036854775808 9223372036854775807
¿long o int?47483648
![Page 13: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/13.jpg)
Literales enteros
• Los literales enteros son de tipo int por defecto.
• Un literal entero es de tipo long si va acompañado del sufijo l o L.
• 2334567665L es de tipo long.
![Page 14: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/14.jpg)
Desbordamiento de número enteros
short numero = 32767;
numero + 1
![Page 15: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/15.jpg)
Desbordamiento de número enteros
Tipo Operación Resultado
byte 127 + 1 -128
short 32767+1 -32768
int 2147483647+1 -2147483648
![Page 16: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/16.jpg)
Números en coma flotante
Tipo de dato Espacio en memoria
float 32 bits
double 64 bits
![Page 17: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/17.jpg)
Literales reales
• Cadenas de dígitos con un punto decimal234.32 .001
• En notación científica (mantisa.10exponente)123e45 123E+45 1E-6
• Por defecto, los literales reales representan valores de tipo double.
• Para representar un valor de tipo float, añadir el sufijo f o F.
123.87F
![Page 18: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/18.jpg)
Caracteres
Literales de tipo carácter
Valores entre comillas simples‘a’ ‘1’ ‘*’
Tipo de dato Espacio en memoria
Codificación
char 16 bits UNICODE
![Page 19: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/19.jpg)
Secuencias de escape para representar caracteres especiales
Secuencia de escape Descripción
\t Tabulador
\n Nueva línea
\r Retorno de carro
\b Retroceso
\’ Comillas simples
\” Comillas dobles
\\ Barra invertida
![Page 20: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/20.jpg)
Secuencias de escape para representar caracteres especiales
Secuencia de escape Descripción
\t Tabulador
\n Nueva línea
\r Retorno de carro
\b Retroceso
\’ Comillas simples
\” Comillas dobles
\\ Barra invertida
System.out.println("Bienvenidos alumnos al "primer" día de clase");
![Page 21: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/21.jpg)
Secuencias de escape para representar caracteres especiales
Secuencia de escape Descripción
\t Tabulador
\n Nueva línea
\r Retorno de carro
\b Retroceso
\’ Comillas simples
\” Comillas dobles
\\ Barra invertida
System.out.println("Bienvenidos alumnos al \"primer\" día de clase");
![Page 22: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/22.jpg)
Tipo boolean
• Los literales son true y false
Tipo de dato Espacio en memoria
Valores
boolean 1 bit Verdadero o falso
![Page 23: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/23.jpg)
Conversión entre tipos primitivos
Narrowing: conversión de un tipo primitivo mayor a un tipo primitivo menor. La conversión tiene que ser explícita.
double d = 1.5;int i = (int) d; // el valor de d queda truncado a 1
Widening: conversión de un tipo primitivo menor a un tipo primitivo mayor. La conversión puede ser implícita.
short s = 15;float f = s;
![Page 24: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/24.jpg)
Conversión entre tipos primitivos
byte
double
short
char
long floatint
Widening
Narrowing
![Page 25: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/25.jpg)
Promoción aritmética
Se dá cuando se realiza una operación aritmética entre dos tipos primitivos numéricos diferentes. El compilador realiza una operación widening.
int intDato = 5;double doubleDato = 3;
doubleDato = intDato * doubleDato;
intDato = intDato * doubleDato;
![Page 26: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/26.jpg)
Promoción aritmética
Se dá cuando se realiza una operación aritmética entre dos tipos primitivos numéricos diferentes. El compilador realiza una operación widening.
int intDato = 5;double doubleDato = 3;
doubleDato = intDato * doubleDato;
intDato = intDato * doubleDato;
intDato = (int) (intDato * doubleDato);
![Page 27: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/27.jpg)
Practica conversión y promoción
Se dá cuando se realiza una operación aritmética entre dos tipos
![Page 28: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/28.jpg)
Operadores aritméticos
- Si los operandos son enteros se realizan operaciones enteras.Ejemplo
Operador Operación
+ Suma
- Resta o cambio de signo
* Multiplicación
/ División
% Módulo (resto de la división)
Operación Tipo Resultado
8/3 int 2
![Page 29: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/29.jpg)
C
String
String é uma classe que manipula cadeias de caracteresA classe String possui métodos para essas manipulaçõesTrabalha com Pool de Strings para economizar memória
Outros métodos úteis da classe String:
![Page 30: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/30.jpg)
Funciones de la clase Character
isDigit() isLetter() isLowerCase() isUpperCase() toLowerCase() toUpperCase()
Mostrar los tipos primitivos y las clases de los tipos primitivos para no aburrir tanto esta parte. Se pueden ir realizando prácticas con las funciones aprendidas.
![Page 31: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/31.jpg)
C
Comentarios
Os comentários em Java podem ser por linha ou em bloco:Por linha:// isto é um comentário e inicia com duas barras.Em bloco:/*Comentário em bloco aceita múltiplas linhasNão utilize comentários aninhados*
![Page 32: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/32.jpg)
C
La clase String
-String no es un tipo primitivo, sino ua clase
La clase String
- String no es un tipo primitivo sino una clase predefinida.- Una cadena (String) es una secuencia de caracteres.- Las cadenas de caracteres son inmutables. Es decir, no se
pueden modificar los caracteres individuales de la cadena.
![Page 33: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/33.jpg)
C
Concatenación de cadena de caracteres- Para concatenar cadenas de caracteres se utiliza el operador +
Operación Resultado
“Total = “ + 100 + 50 Total = 10050
“Total = “ + (100 + 50) Total = 150
![Page 34: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/34.jpg)
C
Lista de operadores
Incremento e Decremento: ++ e --int a = 0;int b = a++; // incrementado depois de atribuirint c = ++a; // incrementado antes de atribuirb = a--; // decrementado depois de atribuirc = --a; // decrementado antes de atribuir
![Page 35: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/35.jpg)
C
Operadores aritméticos
Multiplicação e Divisão: * e /int um = 3 / 2; // divisão de inteiros gera um inteirofloat umEmeio = (float) 3 / 2; // ocorre promoção aritmética para floatdouble xyz = umEmeio * um; // ocorre promoção aritmética para floatMódulo: %int resto = 7 % 2; // resto = 1Adição e Subtração: + e -long l = 1000 + 4000;double d = 1.0 – 0.01;Concatenação:long var = 12345;String str = “O valor de var é “ + var;Na concatenação de Strings, as variáveis ou literais são promovidos a String antes:String str = “O valor de var é “ + Long.toString( var );
![Page 36: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/36.jpg)
C
Operadores de comparación
Comparação ordinal: >, >=, < e <=Compara tipos primitivos numéricos e o tipo char.boolean b = ( 10 < 3 );boolean w = (x <= y);if( x >= y ) { }Operador instanceofCompara o tipo da classe de uma referência de um objeto.String str = “Uma String”;if( str instanceof String ) { } // trueif( srt instanceof Object ) { } // trueComparação de Igualdade: == e !=Comparam tipos primitivos, valores literais e referências de objetos.if( abc == 10 ) { }boolean b = ( xyz != 50 );if( refObj1 == refObj2 ) { }
![Page 37: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/37.jpg)
Operadores de comparación
Los operadores de comparaci[on son v[alidos para n[umeros y caracteres
Operador Significado
== Igual
!= Distinto
< Menor
> Mayor
<= Menor o igual
>= Mayor o igual
![Page 38: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/38.jpg)
C
Operadores l[ogicos
Los operadores && || son de corto circuito.
Operador Nombre Significado
! NOT Negaci[on l[ogica
&& AND
|| OR
^ XOR
![Page 39: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/39.jpg)
Operadores de asignación
Operadores l[ogicos
Los operadores && || son de corto circuito.
Operador Nombre Significado
! NOT Negaci[on l[ogica
&& AND
|| OR
^ XOR
![Page 40: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/40.jpg)
C
Ejercicios - Dada una medida de tiempo expresada en horas, minutos y
segundos con valores arbitarios, elabore un programa que transforme diche medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s, el programa deberá obtener como resultado 5h 1m 15.
![Page 41: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/41.jpg)
Operador condicional ?
Permite bifurcar el flujo del programa a partir del valor de una variable boolean. Permite incluir una condición dentro de una expresión.
variableBoolean ? Expre1 : expre2;
Ejemplo
int cotizacion = 5000;int precio = 5; // 5 U$SInt moneda = 2; // U$S
int total = (moneda == 1) ? precio : cotizacion * precio;
Mostrar sintaxis y ejemplo por separado en la parte de condicionales.
![Page 42: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/42.jpg)
Contenido de la clase
- Elementos de la tecnología Java
- Compilación y ejecución de un programa Java
- Estructuras de control
![Page 43: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/43.jpg)
Estructuras condicionales
if / else
operador ?,
switch
![Page 44: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/44.jpg)
If() / else
- Sintaxis if
if (condicion) sentencia;
if (condicion) {bloque;
}
- Sintaxis if / else
if (condicion) sentencia1;
elsesentencia2;
if (condicion) {bloque1;
} else {
bloque 2;}
![Page 45: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/45.jpg)
If() / else
- Ejemplopublic class ClausulaIf {public static void main( String[] args ) {int idade = 20;if( idade <= 12 ) {System.out.println( "Criança" );}else if( idade <= 19 ) {System.out.println( "Adolescente" );}else if( idade <= 60 ) {System.out.println( "Adulto" );}else {System.out.println( "Idoso" );}}}
![Page 46: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/46.jpg)
switch()
Permite seleccionar entre varias alternativas posibles que representan números enteros.
- Sintaxisswitch (expresion) {
case valorExp1:bloque 1;break;
case valorExp2:bloque2;break;
…default
// bloque por defecto;}
![Page 47: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/47.jpg)
switch()
- Ejemplo
int nota;String comentario;switch (expresion) {
case 1:case 2:
comentario = “No pasa”;break;
case 3:case 4:
comentario = “Pasa”;break;
case 5:comentario = “Pasa con buen rendimiento”; break;
defaultcomentario = “Nota no reconocida”;
}
![Page 48: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/48.jpg)
Estructuras iterativas
- While, for, do..while
![Page 49: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/49.jpg)
El bucle while
- Sintaxiswhile (condicion)
sentencia;
while (condicion) {bloque
}
![Page 50: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/50.jpg)
El bucle while
- Sintaxisfor (expr1; expre2; expre3) {
bloque;}
![Page 51: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/51.jpg)
Equivalencia entre for y while
for (expr1; expre2; expre3) {bloque
}
expr1;while (expre2) {
bloque;expre3;
}
![Page 52: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/52.jpg)
El bucle do while
Sintaxis
dosentencia;
while ( condicion );
dobloque;
while ( condicion );
![Page 53: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/53.jpg)
Ejercicios de bucles
Diseñe un programa para jugar a adivinar un número entre 0 y 100. El programa irá dando pistas al jugador indicándole si el número introducido por el jugador es menor o mayor que el número que tiene que adivinar. El juego termina cuando el jugador adivina el número o decide terminar el juego introduciendo un número negativo.
![Page 54: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/54.jpg)
Array
- Declaración- Creación- Uso- Copia de arrays se debe explicar en la clase de
referencia.
![Page 55: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/55.jpg)
C
Ejercicios
- Programar un algoritmo que realice una división por restas sucesivas.
- Programar un algoritmo recursivo que muestre el numero menor de un vector.
- Generar 5,10,15,20,25,30,...- class JavaSeries1
{ public static void main (String args []) {int n, c = 1, serie = 5;System.out.print ("Cantidad d terminos: ");n = Leer.datoInt ();while (c <= n){ System.out.print ("," + serie); serie += 5; c++;} }}
![Page 56: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/56.jpg)
C
Ejercicios- Obtener subcadena de cadenas.- Crear una clase pública de nombre EjercicioString2 que contenga
sólo al método main y que muestre por consola el número de veces que aparece la letra "a" en la siguiente String "Mañana es sabado sabadete y voy a irme a tomar unas copillas por los barrios bajos de Logroño"
![Page 57: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/57.jpg)
C
Ejercicios- Probar conversión de tipos y promoción aritmética.
![Page 58: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/58.jpg)
C
Ejercicios- Escribir un programa Java para evaluar cada una de las
siguientes fórmulas. Declarar las variables con los tipos más adecuados.
![Page 59: Curso de Java Estructura del Lenguaje](https://reader030.vdocumento.com/reader030/viewer/2022032612/56813245550346895d98b703/html5/thumbnails/59.jpg)
C
Ejercicios- Escribir un programa Java para evaluar cada una de las
siguientes fórmulas. Declarar las variables con los tipos más adecuados.