0% encontró este documento útil (0 votos)
47 vistas23 páginas

Programacion 2.2

Este documento presenta una introducción a la programación, incluyendo elementos básicos como tipos de datos, variables, constantes, operadores y conversiones de tipos. Explica tipos de datos primitivos como cadenas y números, así como instrucciones de entrada/salida y asignación. También cubre operadores aritméticos, relacionales y lógicos.

Cargado por

jorge
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas23 páginas

Programacion 2.2

Este documento presenta una introducción a la programación, incluyendo elementos básicos como tipos de datos, variables, constantes, operadores y conversiones de tipos. Explica tipos de datos primitivos como cadenas y números, así como instrucciones de entrada/salida y asignación. También cubre operadores aritméticos, relacionales y lógicos.

Cargado por

jorge
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

Tema 2.

Introducción a la
programación (Parte II)
2.1. Introducción
2.2. Elementos de un programa
2.3. Tipos de datos
2.3.1. Tipos de datos primitivos
2.3.2. Representación interna de datos
2.3.3. Variables y constantes
2.3.4. Conversiones de tipo
2.3.5. Cadenas
2.4.Instrucciones básicas
2.4.1. Instrucciones de asignación
2.4.2. Instrucciones de entrada/salida
2.5.Operadores
2.5.1. Operadores aritméticos y de asignación
2.5.2. Operadores de incremento y decremento
2.5.3. Operadores relacionales
2.5.4. Operadores lógicos

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 1


Cadenas
• “Tipo” para representar conjuntos de caracteres alfanuméricos

•En Java:
• Se llama String y pertenece al paquete java.lang (no hay que
importarlo)

• Uso: Texto entrecomillado

• Ejemplo:
String cadena = ”Esto es un ejemplo”;

String otraCadena=“ ¡¡ Diablos !! $&% “;

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 2


Operaciones básicas con String
• Asignación:
◦ cadena2 = cadena1;
◦ Ejemplo:
String h=“hola”; String m=“mundo”;
h=m; //h=“mundo”

•Concatenación (“suma”) de cadenas


◦ cadena3 = cadena1 + cadena2;
◦ Ejemplo:
String s=“Hola “+m+”!”; //s=Hola mundo!
String saludo=h+”, ¿qué tal?”; //saludo=mundo, ¿qué tal?

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 3


Ejercicio
Escribe un algoritmo que convierta euros a pesetas y viceversa.
Impleméntalo después en Java (Nota: 1 euro=166,386 pesetas).
Algoritmo PesetasAEuros

Datos

Pesetas: Entero

Euros: Real

Instrucciones

Obtener valor de Euros

Pestas  Euros * 166,386

Obtener valor de Pesetas

Euros  Pesetas / 166,386

Mostrar valor de Pesetas y Euros

Fin_PesetasAEuros

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 4


Ejercicio
Escribe un programa que convierta pesetas a euros y viceversa.
Impleméntalo después en Java. 1 euro=166,386 pesetas.
import java.util.Scanner;
public class EurosPesetas {

final static Scanner TECLADO = new Scanner(System.in);


final static double PESETASEURO=166.386;

public static void main(String[] args) {

System.out.println(“Convierte una cantidad de EUROS a PESETAS y viceversa");


System.out.print("Introduce la cantidad en EUROS a convertir");
double euros=TECLADO.nextFloat();
System.out.println();
double pesetas=euros*PESETASEURO;
System.out.println(euros+" euros equivalen a "+pesetas+" pesetas");
System.out.print("Introduce ahora la cantidad en PESETAS a convertir");
pesetas=TECLADO.nextFloat();
System.out.println();
euros=pesetas/PESETASEURO;
System.out.println(pesetas+" pesetas equivalen a "+euros+" euros");
}
}

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 5


Ejemplo de ejecución

Problema: Formato de los


números muy “engorroso”

Solución: Utilizar printf para dar formato a la salida

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 6


printf
– Sintaxis: %[anchura][.precisión]especificador
– Anchura: número que nos da el número mínimo de caracteres a ser impresos. Si el
valor a ser impreso es más corto que este número el resultado se rellena de blancos
– Precisión: número máximo de caracteres a escribir en la salida. Para formatos en
punto flotante, 'e', 'E', y 'f' la precisión es el número de dígitos tras la coma (punto)
decimal
– Especificador:
Espec. Significado Ejemplo
d Entero decimal con signo 123
e Notación científica (mantisa/exponente) usando el carácter e 1.234567e+2
E Notación científica (mantisa/exponente) usando el carácter E 1.234567E+2
f Reales en punto (coma) flotante 123.4567
s Cadena de caracteres Ejemplo
b Boolean true
c Carácter en minúscula z
C Carácter en mayúscula Z

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 7


Implementación mejorada
Escribe un programa que convierta pesetas a euros y viceversa.
Impleméntalo después en Java. 1 euro=166,386 pesetas.
import java.util.Scanner;
public class EurosPesetas {

final static Scanner TECLADO = new Scanner(System.in);


final static double PESETASEURO=166.386;

public static void main(String[] args) {

System.out.println(“Convierte una cantidad de EUROS a PESETAS y viceversa");


System.out.print("Introduce la cantidad en EUROS a convertir");
double euros=TECLADO.nextFloat();
System.out.println();
double pesetas=euros*PESETASEURO;
System.out.println(euros+" euros equivalen a "+pesetas+" pesetas");
System.out.printf(" %.2f euros equivalen a %.2f pesetas\n“, euros, pesetas);
System.out.print("Introduce ahora la cantidad en PESETAS a convertir");
pesetas=TECLADO.nextFloat();
System.out.println();
euros=pesetas/PESETASEURO;
System.out.println(pesetas+" pesetas equivalen a "+euros+" euros");
System.out.printf(" %.2f pesetas equivalen a %.2f euros\n“, pesetas, euros);
}
}

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 8


Otro ejemplo de ejecución

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 9


Otro ejemplo con printf
import java.util.Scanner;

public class EjemploPrintf {

final static Scanner TECLADO=new Scanner(System.in);

public static void main(String[] args) {

System.out.println("Introduzca un número real (double)");


double real=TECLADO.nextDouble();
System.out.println("Introduzca un número entero (int)");
int entero=TECLADO.nextInt();

System.out.printf("El número real introducido se puede escribir así:" +


"\nNumReal: %7.4f"+
"\nNumReal: %7.3f"+
"\nNumReal: %7.2e\n", real, real, real);

System.out.printf("El número entero introducido se puede escribir así:" +


"\nNumEntero: %d"+
"\nNumEntero: %5d\n", entero, entero); La variable que se quiera mostrar debe
} repetirse tantas veces como se vaya a
} escribir con formato

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 10


Ejemplo de ejecución
Diferenciar texto mostrado de variable

"\nNumReal: %7.4f"+
"\nNumReal: %7.3f"+
"\nNumReal: %7.2e\n", real, real, real)

"\nNumEntero: %d"+
"\nNumEntero: %5d\n"

%7.4f: 7 caracteres, 4 de ellos decimales Para pasar a la


%7.3f: 7 caracteres, 3 de ellos decimales siguiente línea
%7.2e: 7 caracteres, 2 decimales, notación científica (e minúscula)

%d: Se escribe el entero tal cual


%5d: Se escribe el entero en 5 caracteres

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 11


Ejemplo de lectura y escritura
import java.util.*;

class Ejemplo_tema2_lectura {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.print("Introduzca una cadena: "); String cad1 = sc.nextLine();


System.out.print("Introduzca una cadena sin blancos: "); String cad2 = sc.next();
System.out.print("Introduzca un doble: "); double d = sc.nextDouble();
sc.useLocale(Locale.US);
System.out.print("Introduzca un doble: "); d = sc.nextDouble();
System.out.print("Introduzca un entero: "); int i = sc.nextInt();

System.out.printf("\nLos datos tipo cadena introducidos son:" + "\ncadena1: %s“ + "\ncadena1: %20s" +
"\ncadena2: %s“ + "\ncadena2: %10.5s\n", cad1, cad1, cad2, cad2);
System.out.printf("\nLos datos dobles introducidos son:“ + "\ndoble: %7.4f" + "\ndoble: %7.3f" +
"\ndoble: %7.2e\n", d, d, d);
System.out.printf("\nLos datos enteros introducidos son:“ + "\nentero: %d" + "\nentero: %5d\n", i, i);

System.out.println("Ahora se muestran los datos según el sistema americano");

System.out.printf(Locale.US, "\nLos datos tipo cadena introducidos son:" + "\ncadena1: %s“ + "\ncadena1:
%20s" + "\ncadena2: %s"+ "\ncadena2: %10.5s\n", cad1, cad1, cad2, cad2);
System.out.printf(Locale.US, "\nLos datos double introducidos son:“ + "\ndoble: %7.4f" + "\ndoble: %7.3f"
+ "\ndoble: %7.2e\n", d,d, d);
System.out.printf(Locale.US, "\nLos datos int introducidos son:“ + "\nentero: %d" + "\nentero: %5d",i,i);

}// Fin de main


}// Fin clase ES

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 12


Anexo: Expresiones y
operadores
•Una expresión es una combinación de operadores y operandos usados
para realizar un cálculo
•Un operador es una entidad que representa una operación
•Un operando es una entidad que experimenta el efecto de un operador.
•Operadores
• Unarios (monarios)
• Binarios
•…
•En los lenguajes de programación los operadores son genéricamente
(semánticamente) los mismos

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 13


Operadores aritméticos
Operación Operador

Suma + Precedencia:
Resta - (* , / , %) > (+, -)

Multiplicación *
Uso de paréntesis para modificarla
División /

Resto %

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 14


Operadores de asignación
Algunos operadores combinan una operación básica con la asignación,
realizando una operación sobre una variable y almacenando el resultado en esa
misma variable
Operador Ejemplo Equivalencia

+= a+=b a=a+b

-= a-=b a=a-b

*= a*=b a=a*b

/= a/=b a=a/b

%= a%=b a=a%b

++ a++, ++a a=a+1

-- a--, --a a=a-1

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 15


Cuidado con ++ y --
Cuando estos operadores se usan en una expresión, el incremento o
decremento se realiza después (sufijo) o antes (prefijo) de usar el valor de la
variable en la expresión.

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 16


Operadores relacionales
Relación Sintaxis
Igual ==
Distinto !=
Mayor >
Menor <
Mayor o igual >=
Menor o igual <=

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 17


Operadores lógicos
Significado Operador
“y” lógico (AND) &&
“o” lógico (OR) ||
“no” lógico (NOT) !
“o” exclusivo (XOR) ^

Precedencia ! > ^ > && > | |

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 18


Semántica: tablas de verdad
X Y X AND Y (X && Y) X Y X OR Y (X || Y)
V V V V V V
V F F V F V
F V F F V V
F F F F F F

X Y X XOR Y (X ^ Y)
X NOT X (!X) V V F
V F V F V
F V F V V
F F F

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 19


Conversiones de tipos
ENSANCHAMIENTO O ESTRECHAMIENTO O
PROMOCIÓN CONTRACCIÓN
Origen Destino Origen Destino

byte short, int, long, float, double byte char

short int, long, float, double short byte, char

char int, long, float, double char byte, short

int long, float, double int byte, short, char

long double long byte, short, char, int

float double float byte, short, char, int, long

double ---------- double byte, short, char, int, long, float

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 20


Conversión por asignación
– Se realiza cuando un valor de un tipo determinado se asigna a una
variable de otro tipo.
– Por ejemplo,
float dinero = int euros;
– Sólo se permiten conversiones de ensanchamiento.

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 21


Conversión por promoción
aritmética
– Ocurre automáticamente cuando se realiza una operación aritmética
como la suma o la división.

– Por ejemplo,
int contador=3; float suma=6;
float resultado = suma / contador;

– La promoción aritmética es siempre de ensanchamiento

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 22


Conversión por moldes
– El molde es la instrucción que produce la conversión de tipo.
– Se pueden realizar conversiones de contracción y de ensanchamiento
– En Java, el molde es un operador que se especifica como un nombre
de tipo colocado entre paréntesis a la izquierda del dato a convertir.
Sintaxis:
(tipo) variable_a_convertir
– Ejemplo:
int euros;
double dinero = 30.2;
euros = (int) dinero;

Carmen Lacave FUNDAMENTOS DE PROGRAMACIÓN I 23

También podría gustarte