GUIA de Lab-111-2009

LABORATORIO DE INF-111 LAB-111 (2009) Guía de ejercicios LIC. Menfy Morales R. LA PAZ – BOLIVIA Laboratorio de Inf-11

Views 66 Downloads 0 File size 334KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

LABORATORIO DE INF-111 LAB-111 (2009)

Guía de ejercicios

LIC. Menfy Morales R. LA PAZ – BOLIVIA

Laboratorio de Inf-111

1

Carrera de Informática

Variables y Tipos de Datos

Una variable es un nombre que contiene un valor que puede cambiar a lo largo del programa. Las variables son la parte más importante de un lenguaje de programación: ellas son las entidades (valores, datos) que actúan y sobre las que se actúa. Una declaración de variable siempre contiene dos componentes, el tipo de la variable y su nombre. TipoVariable nombre_variable;

De acuerdo con el tipo de información que contienen, en Java hay dos tipos principales de variables: 1. Variables de tipos primitivos. Están definidas mediante un valor único. 2. Variables referencia. Las variables referencia son referencias o nombres de información más compleja: arrays u objetos de una determinada clase. Desde el punto de vista de su papel en el programa, las variables pueden ser: 1. Variables miembro de una clase: Se definen en una clase, fuera de cualquier método; pueden ser tipos primitivos o referencias. 2. Variables locales: Se definen dentro de un método o más en general dentro de cualquierbloque entre llaves {}. Se crean en el interior del bloque y se destruyen al finalizar dicho bloque. Pueden ser también tipos primitivos o referencias. Tipos de Variables La siguiente tabla muestra todos los tipos primitivos soportados por el lenguaje Java, su formato, su tamaño y una breve descripción de cada uno. Tipo de Variable Boolean Char Byte Short Int Long Float Double

Descripción Valores true y false 2 bytes. Unicode. Comprende el código ASCII 1 byte. Valor entero entre -128 y 127 2 bytes. Valor entero entre -32768 y 32767 4 bytes. Valor entero entre -2.147.483.648 y 2.147.483.647 8 bytes. Valor entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807 4 bytes (entre 6 y 7 cifras decimales equivalentes). De -3.402823E38 a -1.401298E-45 y de 1.401298E-45 a 3.402823E38 8 bytes (unas 15 cifras decimales equivalentes). De -1.79769313486232E308 a -4.94065645841247E-324 y de 4.94065645841247E-324 a 1.79769313486232E308

Cuatro tipos para enteros (byte, short, int y long) y dos para valores reales de punto flotante (float y double). Operadores Aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas habituales: suma (+), resta (-), multiplicación (*), división (/) y resto de la división (%). Operadores de asignación Los operadores de asignación permiten asignar un valor a una variable. El operador de asignación por excelencia es el operador igual (=). La forma general de las sentencias de asignación con este operador es: variable = expresión;

Java dispone de otros operadores de asignación. Se trata de versiones abreviadas del operador (=) que realizan operaciones “acumulativas” sobre una variable. La siguiente Tabla nos muestra estos operadores y su equivalencia con el uso del operador igual (=). Operador

Utilización

Expresión equivalente

++ -+= -= *= /= %=

op1++ op1-op1 += op1 -= op1 *= op1 /= op1 %=

op1 op1 op1 op1 op1 op1 op1

op2 op2 op2 op2 op2

= = = = = = =

op1 op1 op1 op1 op1 op1 op1

+ + * / %

1 1 op2 op2 op2 op2 op2

Operadores relacionales Los operadores relacionales sirven para realizar comparaciones de igualdad, desigualdad y relación de menor o mayor. El resultado de estos operadores es siempre un valor boolean (true o false). Laboratorio de Inf-111

2

Carrera de Informática

Operador

Utilización

> >= < op2 >= op2 < op2 que la otra. indexOf(char c, int i) Devuelve el índice de la 1ra aparición de c comenzando en i indexOf(String cad) Devuelve el índice de la 1ra aparición de la subcadena cad replace(char a, char b) Reemplaza el carácter a por b en toda la cadena toLowerCase() Devuelve cadena con minúsculas toUpperCase() Devuelve cadena con mayúsculas trim() Elimina espacios en blanco en una cadena concat(String cad) Concatena la cadena cad al final de la cadena getChars(int, int, char[], Copia los caracteres indicados en la posición indicada de un int) array de caracteres lastIndexOf(String,[int]) Devuelve la última vez que un String aparece en otro empezando en una posición y hacia el principio replace(char, char) Sustituye un carácter pro otro en un String startsWith(String) Indica si un String comienza con otro String o no valueOf() Devuelve la representación como String de sus argumentos. Admite Object, arrays de caracteres y los tipos primitivos La Clase MATH Proporciona métodos estáticos para realizar operaciones matemáticas. sin(double) cos(double) pow(double, double) sqrt(double) log() random() 3 Laboratorio de Inf-111

Carrera de Informática

Laboratorio de Inf-111

4

Carrera de Informática

Sentencia Condicional Diagrama de Flujo

Codificación en JAVA

if – then

if – then – else

?

if - then

if - then - else

if (?) {

if (?) { P;

?

P

P; } else { S; }

}

P

S

1.- Introducir tres números enteros por teclado en las variables class Segmayor a, b y c, respectivamente. Encontrar el segundo mayor. { public static void main(String args[]) { int a,b,c,m1,m2; System.out.print("Digite el valor de A : ");

a=Leer.datoInt(); System.out.print("Digite el valor de B : "); b=Leer.datoInt(); System.out.print("Digite el valor de C : "); c=Leer.datoInt();

if ( a > b) { m1 = a; m2 = b; } else { m1 = b; m2 = a; }

if ( c > m1) { m2 = m1; m1 = c; } else { if ( c > m2) { m2 = c; } }

System.out.print(“mayor2 es ”+ m2); } } 2.- Introducir dos números enteros positivos en las variables a y b respectivamente. Calcular y desplegar la cantidad de números pares que existen en el intervalo cerrado entre a y b. Inicio

a,b a>b mab mea

maa meb cma-me+1

ma Mod 2 = 0 ^ me Mod 2 = 0 cparesc/2

cparesc/2 + 1

cpares Fin

3.- Introducir 3 valores que representen la hora, minuto y segundo, calcular el siguiente tiempo. Ej. Si entra 10: 45: 59 el siguiente tiempo es 10: 46: 00

Laboratorio de Inf-111

5

Carrera de Informática

Sentencia Condicional-Múltiple Diagrama de Flujo

Codificación en JAVA

Switch – default

switch (?) { case valor1: sentencias_P; break; case valor2: sentencias_S; break; case valorn: sentenciasn; break; [default:

expresión valor1

valor2

P

R

default

Z

sentenciasPorDefecto_Z; ] } 1.- Introducir un número entero positivo en la variable Dia. class DiaLiteral Desplegar en pantalla la descripción literal del día que { corresponde al número digitado. public static void main (String args [])

{ int dia; System.out.print ("Digite un numero: "); dia = Leer.datoInt ();

switch (dia) { case 1: System.out.println ("Lunes"); break; case 2: System.out.println ("Martes"); break; case 3: System.out.println ("Miercoles"); break; case 4: System.out.println ("Jueves"); break; case 5: System.out.println ("Viernes"); break; case 6: System.out.println ("Sabado"); break; case 7: System.out.println ("Domingo"); break; default: System.out.println ("Error"); } } } 2.- Introducir un número entre el 550 y 560, mostrar su equivalente en valor romano. 3.- Introducir un número entero y mostrar su equivalente mes del año.

Laboratorio de Inf-111

6

Carrera de Informática

Instrucciones Cíclicas Diagrama de Flujo

Codificación en JAVA

do while

while ?

do{ P; }while(?)

V

P

P

V

?

1.- Generar los n primeros términos de la serie: 01001100011100001111. . .

class Serie1 { public static void main(String args[]) { int n,cont,c,c1,t; System.out.print("Digite el valor de N: "); n=Leer.datoInt(); cont=1;c1=1;c=2;t=0; while(cont