Actualizado el 24 de Noviembre del 2018 (Publicado el 24 de Enero del 2017)
1.458 visualizaciones desde el 24 de Enero del 2017
105,1 KB
13 paginas
Creado hace 23a (19/09/2001)
PROGRAMACI ÓN (PRG). EUI. Curso 2001/2002
Tema 2. CONCEPTOS B ÁSICOS
DSIC.- F. Marqués y N. Prieto
Índice General
1 Estructura elemental de un programa
2 Entrada y salida elemental
3 Variables y asignación
4 Algunas cuestiones sintácticas
5 Algunos Tipos elementales
5.1 Tipos numéricos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Tipos char y String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Constantes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Conversión de tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Algunas funciones predefinidas
. . . . . . . . . . . . . . . . . . . . . . .
6 Bloques de instrucciones
7 Ejercicios
1
2
4
5
7
7
8
8
9
9
10
11
12
1 Estructura elemental de un programa
Un programa es una secuencia de instrucciones, escritas en un cierto lenguaje de pro-
gramación. El programa más sencillo en Java se implementa como una clase que tiene
un único bloque principal llamado main que contiene, entre llaves, la secuencia de ins-
trucciones a realizar. Los detalles sintácticos que aparecen en el esquema se estudiarán
en temas posteriores.
class NombrePrograma
{
public static void main (String args[])
{
...
1
2 ENTRADA Y SALIDA ELEMENTAL
2
}
}
Un programa cuyo efecto sea presentar una frase de saludo en pantalla, por ejemplo
“Hola a todos”, sería el siguiente:
class Hola
{
public static void main (String args[])
{
System.out.println ("Hola a todos");
}
}
El bloque principal de este programa consta de una única instrucción que escribe en
pantalla la secuencia de caracteres comprendidos entre las dobles comillas, parámetro
real. Esta instrucción es la llamada a una operación o método (println) de la clase que
representa la salida estándard (System.out).
2 Entrada y salida elemental
Aunque en un tema posterior se estudiará los detalles sobre cómo se realiza la entrada
de datos y la salida de resultados en Java, por el momento se efectuará utilizando una
interfaz desarrollada por los profesores de la asignatura denominada nsIO. Esta interfaz
está configurada como un paquete (”package”) de Java, y está disponible en la página
web de la asignatura.
Esta interfaz permite utilizar ficheros de texto para realizar la entrada y la salida
de una manera muy sencilla, para ello define dos clases:
• La clase output que permite preparar un fichero para escritura, en particular la
pantalla (output), escribir valores numéricos, lógicos, caracteres, y secuencias o
cadenas de caracteres (write y writeln), y cerrar el fichero cuando ya no se vaya a
escribir más (close).
• La clase input que permite preparar un fichero para lectura, en particular desde el
teclado (input), leer un caracter (read), un entero (readint), un real (readdouble), y
otros valores numéricos, así como leer una palabra (readword), una línea (readline),
cerrar un fichero cuando termina la lectura (close), y otras.
Para poder utilizar este paquete se escribirá al comienzo del fichero una instrucción
especial para poder hacer uso (importar) las clases y operaciones definidas en dicho
paquete. De la forma siguiente:
// instrucción para poder utilizar el paquete de entrada/salida nsIO
import nsIO.*;
2 ENTRADA Y SALIDA ELEMENTAL
3
El programa anterior utilizando esta interfaz quedaría:
import nsIO.*;
class Hola {
public static void main (String args[]) {
output fsal = new output();
fsal.writeln ("Hola a todos");
fsal.close();
}
}
A continuación se va a presentar un ejemplo de un programa en el que se van mos-
trando ciertos mensajes al usuario y para pasar de uno a otro, el programa espera a que
el usuario pulse alguna tecla:
import nsIO.*;
class Adivinanza {
public static void main (String args[]) {
output fsal = new output();
input fent = new input();
int resultado;
fsal.writeln ("Piensa un número...");
fent.readln();
fsal.writeln ("Multiplícalo por 5...");
fent.readln();
fsal.writeln ("Súmale 6...");
fent.readln();
fsal.writeln ("Multiplícalo por 4...");
fent.readln();
fsal.writeln ("Súmale 9...");
fent.readln();
fsal.writeln ("Multiplícalo por 5...");
fent.readln();
fsal.writeln ("Escribe el resultado...");
...
...
fsal.close();
fent.close();
}
}
3 VARIABLES Y ASIGNACI ÓN
4
3 Variables y asignación
En el programa Adivinanza se ha llegado al punto en el que el usuario debe introducir el
resultado obtenido, y el programa debe ”descubrir” cuál era el número que había pensado
el usuario. Para ello, el programa debe de leer el número que el usuario introduce por
teclado y necesita guardar este resultado final en algún ”lugar” para poder ser capaz de
recuperarlo y calcular el número original.
El computador mantiene los datos en dispositivos de memoria que están organizados
en posiciones o celdas de memoria. Una posición de memoria, o varias consecutivas
pueden almacenar un dato de valor simple, como por ejemplo un entero o un caracter.
En un lenguaje de programación estas posiciones de memoria se manipulan mediante lo
que se denominan variables. La descripción de una variable en un programa se llama
declaración de variable y contiene el identificador de la variable y el tipo al que
pertenece.
El tipo al que pertenece una variable:
• define el conjunto de valores que son susceptibles de ser almacenados en dicha
variable
• y las operaciones que se pueden realizar con ella
La declaración de variables en Java se realiza especificando un tipo de datos simple
seguido de una lista de identificadores válidos, separados por comas y finalizando con ;.
Se pueden inicializar las variables en el momento de su declaración, para ello se utiliza
el símbolo de asignación =.
La asignación se utiliza para dar valores a las variables o reemplazar los valores
que ya tienen por otros nuevos. Su sintaxis es:
Identificador = Expresión;
Una expresión está formada por operandos, que pueden ser constantes, variables o su-
bexpresiones, y operadores, y tiene un tipo asignado. En una instrucción de asignación,
los tipos de la variable y la expresión deben de ser compatibles.
Ejemplos de declaraciones de variables:
int var1, var2;
char ch1, ch2=’u’;
float f1=2.0; f2=3.0+f1;
Para almacenar el valor del resultado que introduce el usuario en el programa Adi-
vinanza, se utilizará una variable que se puede llamar, por ejemplo resultado, que debe
de ser de tipo entero. En Java se declarará escribiendo:
int resultado;
4 ALGUNAS CUESTIONES SINT ÁCTICAS
5
El siguiente paso que debe de realizar el programa es el de “adivinar” el número que
ha pensado el usuario. Esto se puede hacer en dos pasos: restar 165 y dividir por 100.
Por ejemplo si el resultado es 199865, el número pensado es 1997. Para hacer esto el
programa utiliza una expresión aritmética (resultado-165)/100.
El programa Adivinanza completo quedaría:
import nsIO.*;
class Adivinanza {
public static void main (String args[]) {
output fsal = new output();
input fent = new input();
int resultado;
fsal.writeln ("Piensa un número...");
fent.readln();
fsal.writeln ("Multiplícalo por 5...");
fent.readln();
fsal.writeln ("Súmale 6...");
fent.readln();
fsal.writeln ("Multiplícalo por 4...");
fent.readln();
fsal.writeln ("Súmale 9...");
fent.readln();
fsal.writeln ("Multiplícalo por 5...");
fent.readln();
fsal.writeln ("Escribe el resultado...");
resultado=fent.readint();
fsal.write("El numero que habias pensado es: ");
fsal.writeln((resultado-165)/100);
fsal.close();
fent.close();
}
}
Obsérvese en este ejemplo cómo hay operaciones o métodos que devuelven un valor
(readint) y otros que no (writeln), y que la forma de utilizarlos es diferente.
4 Algunas cuestiones sintácticas
Las palabras que se usan en un programa son identificadores y palabras reservadas:
Los identificadores son nombres que el programador da a variables, métodos y clases.
Por ejemplo la palabra Hola en los primeros programas es un identificador, en
este caso un identificador de clase. Un identificador en Java debe comenzar por
4 ALGUNAS CUESTIONES SINT ÁCTICAS
6
una letra y a continuación cualquier combinación de letras, números, el carácter
subrayado , y el signo de dólar $. Son identificadores válidos fent, fsal, resultado,
Adivinanza, Pi, x2, . . .
Las palabras reservadas tienen un significado fijo en el lenguaje de programación y
no se pueden usar como identificadores. En la tabla siguiente se muestran las
palabras reservadas de Java; a lo largo del curso se utilizarán muchas de ellas.
abstract
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
extends
final
finally
float
for
goto
private
if
implements protected
import
instanceof
int
interface
long
native
new
package
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
La documentación necesaria para explicar las diferentes partes que componen un
programa se puede incluir en el mismo a través de comentarios. Hay distintas maneras
diferentes de poner comentarios en Java, se pueden utilizar los símbolos /* para abrir
comentario y */ para cerrarlo. También se puede utilizar //, que hace que el compilador
interprete todo lo que resta de la línea como comentario.
Por ejemplo:
class Hola {
public static void main (String args[]) {
/* Ahora va el saludo */
System.out.println ("Hola a todos");
}
}
O bien:
class Hola {
public static void main (String args[]) {
// Ahora va el saludo
System.out.println ("Hola a todos");
}
}
En Java existen caracteres especiales que tiene un papel de separadores. Son los
siguientes:
5 ALGUNOS TIPOS ELEMENTALES
7
Paréntesis () : Contiene listas de parámetros en la definición y llamada a un método
Llaves {} : Sirven para englobar bloques de código y para valores iniciales de vectores
Corchetes [ ]: Sirven para la declaración de vectores y para hacer referen
Comentarios de: PROGRAMACIÓN (PRG) - Tema 2 - CONCEPTOS BÁSICOS (0)
No hay comentarios