Está en la página 1de 59

Programación

3er. cuatrimestre

1.- Conceptos básicos de programación


Diagramas de Flujo

Manuel Veyna Lamas


Temas
Clasificación de los paradigmas de programación
• Declarativo:
– Funcional, Flujo de datos, Lógica, Basada en restricciones, Basada en plantillas,
Estructurada.

• Imperativo:
– Von Neumann, Interpretado (scripting), Orientado a objetos.

• Explicar los métodos de implementación de los paradigmas de


programación:
– Programación Interpretada.
– Programación Compilada.

Representación de datos y operadores


– Identificadores.
– Variables.
– Constantes.
– Palabras reservadas.
– Datos primitivos y extendidos.
2
– Tamaño y rango de valores para cada tipo de dato.
Diagramas de Flujo
• Elementos esenciales en un diagrama de flujo
Inicio y Final del Programa

Entrada de Datos

Proceso

Salida de Datos

Decisión

3
Diagramas de Flujo
• Elementos adicionales en un diagrama de flujo
Inicio y Final del Programa

Entrada de Datos Pantalla

Conector
Proceso

Conector fuera de página


Salida de Datos

Disco Magnético
Decisión
Subprograma
4
Diagramas de Flujo
• Planteo de una situación a resolver utilizando
diagramas de flujo.
• Para plantear un diagrama de flujo debemos
tener muy en claro la situación a resolver.
Ejemplo: Calcular el sueldo mensual de un
operario conociendo la cantidad de horas
trabajadas y el pago por hora.

5
Diagramas de Flujo
Podemos identificar:

• Datos conocidos: (ENTRADA)


Horas trabajadas en el mes.
Pago por hora.

• Proceso: (PROCESO)
Cálculo del sueldo multiplicando la cantidad de horas
por el pago por hora.

• Información resultante: (SALIDA)


Sueldo mensual.
6
Diagramas de Flujo

7
Diagramas de Flujo
En el diagrama de flujo
no indicamos la
definición de variables:
Leer las horas trabajadas
int horasTrabajadas;
float costoHora;
float sueldo;
Leer el costo por hora

sueldo=horasTrabajadas*costoHora

Imprimir el sueldo

Para simplificar, no representamos con símbolos los mensajes


a mostrar previo a la carga de datos por teclado:
8
printf("Ingrese las horas trabajadas por el empleado:");
Diagramas de Flujo
O también se puede
indicar mediante un
rectángulo: horasTrabajadas, costoHora, sueldo

Leer las horas trabajadas


int horasTrabajadas;
float costoHora;
float sueldo;
Leer el costo por hora

sueldo=horasTrabajadas*costoHora

Imprimir el sueldo

Para simplificar, no representamos con símbolos los mensajes


a mostrar previo a la carga de datos por teclado:
9
printf("Ingrese las horas trabajadas por el empleado:");
Diagramas de Flujo
• El diagrama de flujo nos identifica claramente
los datos de entrada, operaciones y datos de
salida.
- En el ejemplo tenemos dos datos de entrada:
horasTrabajadas y costoHora, a las entradas
las representamos con un paralelogramo y
hacemos un paralelogramo por cada dato de
entrada.
- La operación (proceso) se representa con un
rectángulo, debemos hacer un rectángulo por
cada operación.
- A la salida la representamos con la hoja rota.

• El diagrama de flujo nos da una idea del orden


de ejecución de las actividades en el tiempo.
Primero cargamos los datos de entrada, luego
hacemos las operaciones necesarias y por
último mostramos los resultados.
10
Diagramas de Flujo
• El diagrama de flujo nos identifica claramente
los datos de entrada, operaciones y datos de
salida.
- En el ejemplo tenemos dos datos de entrada:
horasTrabajadas y costoHora, a las entradas
las representamos con un paralelogramo y
hacemos un paralelogramo por cada dato de
entrada.
- La operación (proceso) se representa con un
rectángulo, debemos hacer un rectángulo por
cada operación.
- A la salida la representamos con la hoja rota.

• El diagrama de flujo nos da una idea del orden


de ejecución de las actividades en el tiempo.
Primero cargamos los datos de entrada, luego
hacemos las operaciones necesarias y por
último mostramos los resultados.
11
Diagramas de Flujo
• El diagrama de flujo nos identifica claramente
los datos de entrada, operaciones y datos de
salida.
- En el ejemplo tenemos dos datos de entrada:
horasTrabajadas y costoHora, a las entradas
las representamos con un paralelogramo y
hacemos un paralelogramo por cada dato de
entrada.
- La operación (proceso) se representa con un
rectángulo, debemos hacer un rectángulo por
cada operación.
- A la salida la representamos con la hoja rota.

• El diagrama de flujo nos da una idea del orden


de ejecución de las actividades en el tiempo.
Primero cargamos los datos de entrada, luego
hacemos las operaciones necesarias y por
último mostramos los resultados.
12
Diagramas de Flujo
Situación a Resolver
• Realizar la carga del
precio de un
producto y la
cantidad a llevar.
Mostrar cuánto se
debe pagar (se
ingresa un valor
entero en el precio
del producto)

13
Diagramas de Flujo
Situación a Resolver
• Realizar la carga del
precio de un
producto y la
cantidad a llevar.
Mostrar cuánto se
debe pagar (se
ingresa un valor
entero en el precio
del producto)

14
Diagramas de Flujo
Situación a Resolver
• Realizar la carga de
dos números
enteros por teclado
e imprimir su suma y
su producto.

15
Diagramas de Flujo
Situación a Resolver
• Realizar la carga de
dos números
enteros por teclado
e imprimir su suma y
su producto.

16
Representación de Información
Tipos de datos:

• Numéricos
– Reales (que tienen decimales)
• float, double
– Enteros
• byte, short, int, long

• Texto
– String (dependiendo del lenguaje), char

• Lógicos
– boolean
17
This page intentionally left blank
18
Instalación de Java
Situaciones a resolver

1. Calcular el sueldo mensual de un operario conociendo


la cantidad de horas trabajadas y el valor por hora.
2. Realizar la carga del lado de un cuadrado, mostrar por
pantalla el perímetro del mismo (El perímetro de un
cuadrado se calcula multiplicando el valor del lado
por cuatro)
3. Escribir un programa en el cual se ingresen cuatro
números, calcular e informar la suma de los dos
primeros y el producto del tercero y el cuarto.
4. Realizar un programa que lea cuatro valores
numéricos e informar su suma y promedio. 19
Instalación de Java
• Descargar e instalar el JDK (Java Development Kit)
de la página de descargas de Oracle
• Descargar e instalar el JRE (Java Runtime
Environment) de la página de descargas de
Oracle, aunque éste por lo general ya viene
instalado en el sistema operativo, en todo caso
ver que esté actualizado.
• Configurar las Variables de Entorno
• Seleccionar un editor de Texto (Bloc de Notas,
Notepad++, Sublime, etc.) o un IDE (Jcreator,
Netbeans, Eclipse, etc.)
20
Navegación entre carpetas
MS-DOS
• dir
• cd
• D:
• mkdir
• javac
• java

21
This page intentionally left blank
22
Paradigmas de programación
• Un paradigma de programación consiste en un
método para llevar a cabo cómputos y la forma
en la que deben estructurarse y organizarse las
tareas que debe realizar un programa.
• Conjunto de creencias, prácticas y conocimientos
que guían el desarrollo de una disciplina durante
un período de tiempo.
• Un paradigma de programación es un estilo de
desarrollo de programas. Es decir, un modelo
para resolver problemas computacionales.
23
Paradigmas de programación
Principales paradigmas de programación
• Imperativo. Los programas se componen de un conjunto de sentencias
que cambian su estado. Son secuencias de comandos que ordenan
acciones a la computadora.
Asociados al paradigma imperativo se encuentran los paradigmas
procedural, modular, y la programación estructurada.
El lenguaje representativo sería FORTRAN-77, junto con COBOL, BASIC,
PASCAL, C, ADA.
También lo implementan Java, C++, C#, Eiffel, Python, ...

• Declarativo. Opuesto al imperativo. Los programas describen los


resultados esperados sin listar explícitamente los pasos a llevar a cabo
para alcanzarlos.
• Lógico. El problema se modela con enunciados de lógica de primer orden.
• Funcional. Los programas se componen de funciones, es decir,
implementaciones de comportamiento que reciben un conjunto de datos
de entrada y devuelven un valor de salida.
24
Paradigmas de programación
Principales paradigmas de programación
• Orientado a objetos. El comportamiento del programa es
llevado a cabo por objetos, entidades que representan
elementos del problema a resolver y tienen atributos y
comportamiento.

Otros son de aparición relativamente reciente y no forman


parte del grupo principal:

• Dirigido por eventos. El flujo del programa está


determinado por sucesos externos (por ejemplo, una
acción del usuario).
• Orientado a aspectos. Apunta a dividir el programa en
módulos independientes, cada uno con un
comportamiento bien definido. 25
This page intentionally left blank
26
Errores al programar
De Sintaxis
• A los errores de escritura, como por ejemplo indicar el
nombre incorrecto de la función, nombres de variables
incorrectas, falta de paréntesis, palabras claves mal
escritas, etc. Ejemplo: “El ratón comer un queso” no
cumple con la sintaxis del castellano.
• Un programa no se puede ejecutar por completo sin
corregir absolutamente todos los errores sintácticos
(dependiendo del lenguaje de programación)

Lógicos
• La sintaxis del programa está mal, pero las instrucciones
pueden estar en secuencia incorrecta, mal escrito el
cálculo, se nos olvidó algo o pusimos de mas, etc.
• Ej: Xcuadrada = x*x*x; perimetro = lado*lado*lado*lado;27
Errores al programar
Lógicos
• Ningún compilador o intérprete es capaz de localizar
los errores lógicos, pues no sabe qué situación deseas
resolver.
• El error lógico aparece durante el tiempo de ejecución
del programa. Los errores en tiempo de ejecución se
detectan observando el programa, ya que éste no hace
lo que el programador desea (Errores lógicos sin aviso)
• o que hagan que la ejecución del programa de aborte o
marque algún error el sistema operativo (Errores
lógicos con aviso)

28
Errores al programar
En resumen

• De sintaxis
– Que no escribiste bien la sintaxis del código. Es
como las faltas de ortografía (pero aquí no te las
corrige el Word)
• Lógicos
– Que la secuencia de la instrucciones no es
correcta, o falta algo
29
Errores al programar
Debugger
• Un debugger es un programa de cómputo con las
siguientes capacidades:
• Permite ejecutar las líneas del programa una a una.
• Permite establecer puntos en el programa en los que el
flujo del mismo debe detenerse pasando el control al
debugger. Estos puntos son conocidos como puntos de
ruptura, o más comúnmente mediante su nombre en
inglés “breakpoint”
• Permite ver (y en algunos casos modificar) el contenido
de las variables
• El debugger permite comprobar como se ejecuta en la
realidad un programa y supone una ayuda inestimable
en el desarrollo de programas. 30
Errores al programar
Debugger

El perfil de la persona que utiliza el debugger es el siguiente:


• Persona de edad variable que no le gusta perder mucho tiempo programando.
• Antes de programar lee atentamente las especificaciones.
• Dedica tiempo a pensar cómo hacer el programa y en cómo gestionar la
información necesaria.
• Sabe lo que quiere programar aunque no lo haya conseguido.
• Sabe lo que tiene que hacer el programa.
• Tiene un papel, folio u hoja a su lado con el esquema del programa.

En cambio, el perfil de la persona que NO utiliza el debugger es este:


• Persona joven que se inicia a la programación y que dispone de mucho tiempo por
delante para hacer un programa.
• No entiende lo que él mismo ha programado aunque insiste en escribir alguna que
otra instrucción por ver si pasa algo.
• Tiende a mantener aquellas líneas de código que no dan errores y a borrar
aquellas líneas de las que se queja el PC.
• No suele tener un papel u hoja a su lado y, cuando lo tiene, éste se encuentra en
blanco.
31
This page intentionally left blank
32
Lenguajes de Programación
Exposición
• Lenguajes de alto y bajo nivel (Luévano, Mario, Miguel
Angel 1)
• Lenguajes imperativos y funcionales (Hector, Luis
Trujillo, Maritza)
• Lenguajes interpretados y compilados (Fernanda, Luna,
Panchito)
• Lenguajes que soportan la programación estructurada
Lenguajes que soportan la programación orientada a
objetos (Daniel, Aaron, Aletza)
• Lenguajes fuertemente y débilmente tipados.
(Emmanuel, Miguel2, Enrique)
33
Lenguajes de Programación
Lenguajes de alto y bajo nivel

• Esta clasificación divide a los lenguajes según la


proximidad de las instrucciones que emplea el
programador a las instrucciones que físicamente
emplea el procesador de una computadora.
• Es decir, si las instrucciones son más parecidas al
código binario (bajo nivel), o al lenguaje natural
del ser humano (alto nivel).
34
Lenguajes de Programación
Lenguajes de alto y bajo nivel

• Para facilitar el trabajo de los programadores todos los


fabricantes de CPU crean lenguajes específicos para las
instrucciones que soportan sus microprocesadores,
sustituyendo los valores numéricos de las instrucciones
por un pequeño identificador o mnemónico.
• Por ejemplo, los procesadores de Intel o AMD que
encontramos en los PC comparten las instrucciones y el
lenguaje de ensamblador, pero no así el procesador de
una SONY Playstation que es distinto a los otros dos
mencionados y requiere de otro lenguaje de
ensamblador.
35
Lenguajes de Programación
Lenguajes imperativos y funcionales

• En los lenguajes de programación imperativos los


programas se dividen claramente en datos y código,
siendo este último el encargado de manipular los datos
de forma explícita. Suelen basarse, por lo tanto, en la
manipulación de variables a las que el programa les va
asignado valores específicos.
• En los lenguajes funcionales, por el contrario, se diluye
en cierta medida la diferencia entre código y datos al
poder asignar bloques de código a variables.

36
Lenguajes de Programación
Lenguajes imperativos y funcionales

• Por ejemplo una función para calcular el factorial en el


lenguaje Scheme (funcional) y en Matlab (imperativo), se
puede comprobar que en el caso de Matlab existen
variables a las que se le asignan valores directamente
(mediante el operador de asignación = ) y la inexistencia
del mismo en Scheme. Matlab
function f=fact(n)
Scheme f=1;
(define fact (lambda (n) (if (> n 1) (* n (fact (- n 1))) 1))) for i=1:n
f=f*i;
end
• Algunos lenguajes funcionales son Lisp, Scheme, OCaml,
Haskell, etc. Entre los lenguajes imperativos encontramos
Matlab, C, C++, Pascal, Java, Basic, Fortran, etc. 37
Lenguajes de Programación
Lenguajes interpretados y compilados
• El código de un programa suele escribirse en uno o varios archivos de
texto. Este código que es interpretable por un humano (o al menos
debiera serlo) no puede ser ejecutado directamente por la
computadora.
• En los lenguajes interpretados, existe un programa llamado intérprete
que lee las líneas de código y las ejecuta inmediatamente, y aunque
suelen ser relativamente sencillos de emplear y son muy flexibles, no
suelen ser muy eficientes, ya que se mezcla la tarea de interpretación
y proceso del código con la ejecución de este código.
• Para evitar este problema y que los programas puedan aprovechar
completamente los recursos de una computadora, el código de un
programa puede ser convertido de forma completa en código binario
que el procesador pueda ejecutar directamente. Este proceso se
denomina compilación y se emplea en lenguajes que requieran un
gran rendimiento como C++. 38
Lenguajes de Programación
Lenguajes que soportan la programación estructurada

Estos lenguajes son lenguajes de alto nivel que ofrecen una serie de
construcciones de control del flujo del programa como son:
• Las bifurcaciones, donde un bloque de código se ejecutará
dependiendo de una condición (IF, SWITCH-CASE).
• Los ciclos, donde un bloque de código se ejecutará de forma repetida
o bien mientras que se cumpla una condición (WHILE) o bien un
número determinado de veces (FOR).
• Las funciones, que son bloques autónomos e independientes de
código que se encargan de realizar una operación concreta, y que
pueden recibir datos de otras partes del programa en forma de
parámetros y que pueden devolver uno o más valores al terminar de
ejecutarse.
• Entre los lenguajes que soportan la programación estructurada se
encuentra Matlab, C, C++, Fortran, Pascal, Modula, etc.
39
Lenguajes de Programación
• Lenguajes que soportan la programación
orientada a objetos
• Se pasa de trabajar con instrucciones y datos
por separado a unirlos en lo que se denomina
un objeto. Los tipos de los objetos se pueden
definir en estos lenguajes mediante clases.
• Existe una gran cantidad de lenguajes que
soportan este paradigma: C++, Java, C#, Simula,
Smalltalk, Eiffel, Python, Ada, Lisp, OCaml, etc.
40
Lenguajes de Programación
Lenguajes fuertemente y débilmente “tipados”
• Un lenguaje débilmente “tipado” no define de forma explícita el tipo
de las variables (y por lo tanto las operaciones que son válidas con la
variable), sino que el tipo de variable se determina durante la
ejecución, en función de los valores que se les asignan. Matlab
pertenece a este grupo de lenguajes:
a=3
a=“Hola mundo”
//no es necesario decir el tipo de variable, y hasta puede cambiarle el tipo de dato
que contiene
• Por el contrario en un lenguaje fuertemente “tipado”, se determina
de forma explícita el tipo de las variables (y de nuevo las operaciones
que son válidas), el siguiente código no es válido en un lenguaje
fuertemente tipado como C++ (nótese que int indica que la variable
es un número entero):
int a=3;
a=“Hola mundo”;
41
// error: no se puede asignar una cadena de caracteres a un entero directamente
This page intentionally left blank
42
Ejercicios
a) Diseñar un programa en el que se captura la
base y la altura de un triángulo, y se calcule e
imprima su área.
b) Diseñar un programa en el que se capture la
base y la altura de un rectángulo, y que calcule
e imprima el área y el perímetro.
c) Diseñar un programa en el que se capturen los
tres lados de un triángulo, y diga si es
equilátero, isósceles o escaleno.
43
Ejercicios
d. Diseñar y codificar un programa que solicite los
catetos de un triángulo rectángulo, y calcule la
hipotenusa.

e. Diseñar y codificar un programa que solicite un


cateto y la hipotenusa de un triangulo
rectángulo, y calcule el otro cateto.

Este es un triángulo rectángulo

Teorema de Pitágoras: a2 + b2 = c2
44
Ejercicios
f) Se tiene una fecha que es un dato numérico con
valor 20190506
Descomponerla en año, mes y día
Ejemplo: fecha = 20190506
Extraer: año=2019, mes=5, día=6

g) Se tiene el día, mes y año


Armar la fecha en formato aaaammdd
Ejemplo: año=2019, mes=5, día=6
Obtener: fecha = 20190506 (dato numérico
completo, no impresión concatenada)
45
Tipos de datos primitivos
Lista de tipos de datos primitivos del lenguaje Java
Tipo Tamaño 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

float 32 bits (magnitud más chica) (magnitud más chica)


-45 -45
= -1.4x10 = 1.4x10
(magnitud más grande) (magnitud más grande)
38 38
. = -3.402823x10 . = 3.402823x10
double 64 bits (magnitud más chica)
-324
= (magnitud más chica)
-324
=
-4.9x10 4.9x10
(magnitud más grande) = (magnitud más grande) =
308 308
-1.79769313486232x10 1.79769313486232x10
char 16 bits '\u0000' '\uffff'
46
Ejercicios
• Caso especial
– float vs. double
– int vs. long

• Determine cuáles sentencias son correctas y


cuáles incorrectas

• Casting y Promoción
47
Precedencia de los Operadores en Java
NOMBRE SIMBOLO
Paréntesis, Corchetes, Punto ( ), [ ], .
Signo negativo, Decremento, -num, --, ++, !
Incremento, Negación
Nuevo objeto new (tipo)
Multiplicación, División, Módulo *, /, %
Suma, Resta +, -
Mayor, Menor, Mayor o igual que, >, <, =>, =<
Menor o igual que
Igualación, Distinto ==, !=
AND &&
OR ||
Condicional (Ternario) ?:
Asignación =, +=, -=, *=, /=, %=
48
https://www.discoduroderoer.es/prioridad-operadores-java/
http://www.esi.uclm.es/www/cmunoz/mytp/operadores.pdf
49
Indica cuáles de los siguientes identificadores son válidos en
Java. Si el identificador no es válido explica porqué no lo es.
1) registro1 18) _$Único
2) 1registro 19) tamaño_màximo
3) archivo_3 20) peso.maximo
4) while 21) Precio___
5) $impuesto 22) matrícula?
6) año 23) cuántoVale
7) primer apellido 24) high
8) primer_apellido 25) barça
9) primer-apellido 26) piragüista
10) primerApellido 27) B_011
11) Tom’s 28) X012AB
12) C3PO 29) 70libro
13) 123# 30) nombre&apellido
14) PesoMáximo 31) 0X1A
15) %descuento 32) else
16) Weight
17) $$precioMínimo
50
Indica cuáles de los siguientes literales son válidos en Java. Si el literal es válido indica
además de qué tipo es (int, double, long, etc) y el sistema de numeración en el que
está escrito (decimal, binario, octal, hexadecimal). Si el literal no es válido explica
porqué no lo es.
1) 0.5 17) .00.8E2 33) abcd
2) .5 18) .3e3f 34) 0125
3) 9.3e12 19) 0b111 35) .01011
4) 9.3e-12 20) 12_234L 36) 3e12
5) 12345678 21) 0Xabcd 37) 3_e12
6) 12345678_L 22) 0xabcEL 38) -3E-1_2
7) 0.8E+0.8 23) _234 39) 0.8E
8) 0.8E 8 24) 1010B 40) 0B1212
9) 05_15 25) 0x1010B 41) 1_2_3
10) 018CDF 26) 1_234.2E-2 42) 0xedad
11) 0XBC5DA 27) 1234.2EF 43) 0XBE2
12) 0x87e3a 28) 1234.2E3F 44) 101e2
13) 234567L 29) 1_1.2e_2 45) B1101
14) 0_B11 30) 0bABCDL 46) 1.34.5
15) 010101 31) 0X1A 47) 12.3E4F
16) 0_557 32) 0X12AL 48) 0X12AG

51
Si a, b y c son variables enteras con valores a=8, b=3, c=-5,
determina el valor de las siguientes expresiones aritméticas:

a) a + b + c j) a * (c % b)
b) 2 * b + 3 * (a – c) k) (3 * a – 2 * b) % (2 * a – c)
c) a / b l) 2 * ( a / 5 + (4 - b * 3)) % (a + c - 2)

d) a % b m) (a - 3 * b) % (c + 2 * a) / (a - c)
e) a / c n) a - b - c * 2
f) a % c

g) a * b / c
h) a * (b / c)
i) (a * c) % b
52
Si x, y, z son variables de tipo double con valores x= 88, y = 3.5, z = -5.2,
determina el valor de las siguientes expresiones aritméticas. Obtén el
resultado de cada expresión con un máximo de cuatro decimales.

a) x + y + z i) x * y % z
b) 2 * y + 3 * (x – z) j) x * (y % z)
c) x / y k) 3 * x – z – 2 * x
d) x % y l) 2 * x / 5 % y
e) x / (y + z) m) x - 100 % y % z
f) (x / y) + z n) x - y - z * 2
g) 2 * x / 3 * y
h) 2 * x / (3 * y)
53
Si c1, c2 y c3 son variables de tipo char con valores c1=’E’, c2=’5’,
c3=’?’, determina el valor numérico de las siguientes expresiones
aritméticas.
Nota el valor ASCII de los caracteres del ejercicio
son:
’E’ 69
’5’ 53
’?’ 63

• a) c1 + 1 • f) c1 % c3
• b) c1 – c2 + c3 • g) '2' + '2'
• c) c2 – 2 • h) (c1 / c2) * c3
• d) c2 – '2' • i) 3 * c2
• e) c3 + '#' • j) '3' * c2
54
Si X, Y y Z son variables de tipo boolean con valores X = true,
Y = false, Z = true, determina el valor de las siguientes
expresiones lógicas:

a) (X && Y) || (X && Z)
b) (X || !Y)&& (!X || Z)
c) X || Y && Z
d) !(X || Y) && Z
e) X || Y || X && !Z && !Y
f) !X || !Y || Z && X && !Y

55
Si W, X, Y y Z son variables de tipo boolean con valores W = false,
X = true, Y = true, Z = false, determina el valor de las siguientes
expresiones lógicas:

a) W || Y && X && W || Z Precedencia de los


operadores lógicos
b) X && !Y && !X || !W && Y Mayor !
precedencia
c) !(W || !Y) && X || Z
&&
d) X && Y && W || Z || X $
e) Y || !(Y || Z && W)
Menor ||
f) !X && Y && (!Z || !X) Precedencia

56
Si x es una variable de tipo int con valor 10, determina qué se
muestra por pantalla cuando se ejecutan las siguientes
instrucciones:
int x = 10;
System.out.println(x);
x++;
System.out.println(x);
System.out.println(++x);
System.out.println(x++);
System.out.println(x);
System.out.println(x++);
System.out.println(++x);
System.out.println(++x);
++x;
x++;
System.out.println(++x);
System.out.println(x++);
System.out.println(++x);
57
Ejercicios
1. Declara dos variables numéricas (con el valor que desees), muestra por
consola la suma, resta, multiplicación, división y módulo (resto de la
división).
2. Declara un String para que solicite tu nombre, después muestra un
mensaje de bienvenida por consola. Por ejemplo: si
introduces “Fernando”, aparezca “Bienvenido Fernando”.
3. Lee un número por teclado y muestra por consola, el carácter al que
pertenece en la tabla ASCII. Por ejemplo: si introduzco un 97, me
muestre una a.
4. Programa para que en lugar de pedir un número, pida un carácter (char)
y muestre su código en la tabla ASCII.
5. Lee un número por teclado que pida el precio de un producto (puede
tener decimales) y calcule el precio final con IVA. El IVA será una
constante con valor del 21%.
6. Realiza una aplicación que nos calcule una ecuación de segundo grado.
Debes pedir las variables a, b y c por teclado y comprobar antes que
el discriminante (operación en la raíz cuadrada). Para la raíz cuadrada
usa el método sqrt de Math. Te recomiendo que uses mensajes de traza.
7. Dada una cadena, extraer la cuarta y quinta letra usando el método
substring.
58
https://www.discoduroderoer.es/ejercicios-propuestos-y-resueltos-basicos-java/
Ejercicios
1. http://puntocomnoesunlenguaje.blogspot.com/p/ejercicios.html
2. http://puntocomnoesunlenguaje.blogspot.com/2018/09/ejercicio-sobre-
indentificadores-java.html
3. http://puntocomnoesunlenguaje.blogspot.com/2018/09/ejercicio-sobre-
literales-java.html
4. http://puntocomnoesunlenguaje.blogspot.com/2018/09/ejercicio-sobre-
operadores-aritmeticos.html
5. https://puntocomnoesunlenguaje.blogspot.com/2018/09/ejercicios-sobre-
operadores-logicos.html
6. https://puntocomnoesunlenguaje.blogspot.com/2018/09/ejercicios-operadores-
incremento-y-decremento.html
7. http://puntocomnoesunlenguaje.blogspot.com/2012/10/java-ejercicios-
iniciales.html
8. http://puntocomnoesunlenguaje.blogspot.com/2012/10/java-ejercicios-iniciales-
2.html
9. http://puntocomnoesunlenguaje.blogspot.com/2012/10/java-ejercicios-iniciales-
3.html
10. http://puntocomnoesunlenguaje.blogspot.com/2018/10/ejercicios-con-el-
operador-condicional-java.html
11. https://puntocomnoesunlenguaje.blogspot.com/2018/10/ejercicios-sobre-
expresiones.html
59

También podría gustarte