100% encontró este documento útil (7 votos)
13K vistas12 páginas

Taller Java

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1/ 12

Lógica y Programación 1 Instituto Tecnológico Metropolitano

Taller facil 1
CONCEPTOS DE JAVA
Registros basicos
1. Registro contador
A=A +1
2. Registro acumulador
A=A+B
3. Registro centinela
Si Opcion = Valor Entonces Pare
Concepto de los espacios
En Java las instrucciones terminan en ; y pueden ser escritas en cualquier orden que conserve los espacios,
respetando los comentarios de una linea
public class PrimerApp{ public static void main(String[] args) { //imprime un mensaje
String mensaje="El primer programa"; System.out.println(mensaje); } }
Identificadores
Un nombre que identifica a una variable, a un método o función miembro, o a una clase
Comentarios
1. Comentarios en una sola línea // Este es un comentario de linea
2. Comentarios de varias líneas
los programadores diseñan comentarios como el siguiente:
/*----------------------------------------|
| (C) Dario Lara Zapata |
| fecha: Marzo 1999 |
| programa: PrimerApp.java |
|----------------------------------------*/
3. Comentarios de documentación // Usan Javadoc.exe para generar la documentación con los comentarios
Operadores
La precedencia de operadores
El lector conocerá que los operadores aritméticos tienen distinta precedencia (raiz, exp, /, *, +, -), así la
expresión
a+b*c
es equivalente a
a+(b*c)
Para realizar la operación scribiremos
a/(b*c);
o bien,
a/b/c;
Operadores aritmeticos
Java tiene cinco operadores aritméticos cuyo significado se muestra en la tabla adjunta
Operador Nombre Ejemplo
+ Suma 3+4
- Diferencia 3-4
* Producto 3*4
/ Cociente 20/7
% Módulo 20%7
Operador asignación
El operador asignación se puede combinar con los operadores aritméticos
Expresión Significado
x+=y x=x+y
x-=y x=x-y
x*=y x=x*y
x/=y x=x/y
Así, la sentencia
X = x + 23;
evalúa la expresión x+23, que es asignada de nuevo a x. El compilador lee primero el contenido de la porción de
memoria nombrada x, realiza la suma, y guarda el resultado en la misma porción de memoria. Se puede escribir la
sentencia anterior de una forma equivalente más simple
www.dariolara.com [email protected]
Lógica y Programación 2 Instituto Tecnológico Metropolitano
x+=23;
Los operadores relacionales
Operador nombre ejemplo significado
< menor que a<b a es menor que b
> mayor que a>b a es mayor que b
== igual a a==b a es igual a b
!= no igual a a!=b a no es igual a b
<= menor que o igual a a<=5 a es menor que o igual a b
>= mayor que o igual a a>=b a es menor que o igual a b
Las asignaciones se realizan con el símbolo =, las comparaciones con ==.
Los operadores lógicos
Los operadores lógicos son:
• && AND (el resultado es verdadero si ambas expresiones son verdaderas)
• || OR (el resultado es verdadero si alguna expresión es verdadera)
• ! NOT (el resultado invierte la condición de la expresión)
La expresión "NO a es igual a b"
!(a==b)
es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta expresión es equivalente a
(a!=b)
Concatenación de strings
En Java se usa el operador + para concatenar cadenas de carcateres o strings
System.out.println("la temperatura centígrada es "+C);
La conversión automática y promoción (casting)
Cuando se realiza una operación, si un operando es entero (int) y el otro es de coma flotante (double) el
resultado es en coma flotante (double).
int a=5;
double b=3.2;
double suma=a+b;
Los operadores unarios
son:
• ++ Incremento
• -- Decremento
actúan sobre un único operando. Se trata de uno de los aspecto más confusos para el programador, ya que
el resultado de la operación depende de que el operador esté a la derecha i++ o a la izquierda ++i.
i=i+1; //añadir 1 a i
i++;
i=i-1; //restar 1 a i
i--;
A la derecha
j=i++;
asigna a j, el valor que tenía i. Por ejemplo, si i valía 3, después de ejecutar la sentencia, j toma el valor de 3
e i el valor de 4. Lo que es equivalente a las dos sentencias
j=i;
i++;
A la izquierda
j=++i;
asigna a j el valor incrementado de i.
Por ejemplo, si i valía 3, después de ejecutar la sentencia j e i toman el valor de 4. Lo que es equivalente a
las dos sentencias
++i;
j=i;

Tipos de datos primitivos


Tipo Descripcion
boolean Tiene dos valores true o false.
char Caracteres Unicode de 16 bits Los caracteres alfa-numéricos son los mismos que los ASCII

www.dariolara.com [email protected]
Lógica y Programación 3 Instituto Tecnológico Metropolitano
con el bit alto puesto a 0. El intervalo de valores va desde 0 hasta 65535 (valores de 16-bits
sin signo).
byte Tamaño 8 bits. El intervalo de valores va desde -27 hasta 27 -1 (-128 a 127)
short Tamaño 16 bits. El intervalo de valores va desde -215 hasta 215-1 (-32768 a 32767)
Tamaño 32 bits. El intervalo de valores va desde -231 hasta 231-1 (-2147483648 a
int
2147483647)
Tamaño 64 bits. El intervalo de valores va desde -263 hasta 263-1 (-9223372036854775808
long
a 9223372036854775807)
Tamaño 32 bits. Números en coma flotante de simple precisión. Estándar IEEE 754-1985 (de
float
1.40239846e–45f a 3.40282347e+38f)
Tamaño 64 bits. Números en coma flotante de doble precisión. Estándar IEEE 754-1985. (de
double
4.94065645841246544e–324d a 1.7976931348623157e+308d.)
Los tipos básicos que utilizaremos en la mayor parte de los programas serán boolean, int y double
Caracteres escape ( de rompimiento )
Carácter Secuencia de escape
retorno de carro \r
tabulador
\t
horizontal
nueva línea \n
barra invertida \\
Variables booleanas
En el lenguaje Java existe el tipo de dato boolean. Una variable booleana solamente puede guardar uno de
los dos posibles valores: true (verdadero) y false (falso).
boolean encontrado=false; {...} encontrado=true;
Variables enteras
tipos de números enteros (byte, short, int, long),
existe una clase denominada BigInteger , pueden guardar un número entero arbitrariamente grande.
Variables en coma flotante
float a=12.5f;
float b=7f;
double c=7.0;
double d=7d;
En la primera línea 12.5 lleva el sufijo f, ya que por defecto 12.5 es double. En la segunda línea 7 es un
entero y por tanto 7f es un número de tipo float. Y así el resto de los ejemplos.
Valores constantes
Cuando se declara una variable de tipo final,
final double PI=3.141592653589793; final int MAX_DATOS=150;
las constantes de un programa se suelen poner en letras mayúsculas, para distinguirlas de las que no son
constantes
Las cadenas de caracteres o strings
en Java son objetos de la clase String.
String mensaje="El primer programa";
public class PrimeroApp{
public static void main(String[] args) {
//imprime un mensaje
String mensaje="El primer programa";
System.out.println(mensaje);
}
}

Palabras reservadas
Aquellas que el programador no puede utilizar como identificadores
Las palabras reservadas se pueden clasificar en las siguientes categorías:
• Tipos de datos: boolean, float, double, int, char
• Sentencias condicionales: if, else, switch
• Sentencias iterativas: for, do, while, continue
www.dariolara.com [email protected]
Lógica y Programación 4 Instituto Tecnológico Metropolitano
• Tratamiento de las excepciones: try, catch, finally, throw
• Estructura de datos: class, interface, implements, extends
• Modificadores y control de acceso: public, private, protected, transient
• Otras: super, null, this.
La sentencia if
if (condición){ sentencia1; sentencia2; }
if(numeroBoleto==numeroSorteo) System.out.println("has obtenido un premio");
if(numeroBoleto==numeroSorteo)
System.out.println("has obtenido un premio");
La sentencia if...else
if (condición){
sentencia1;
sentencia2;
}
else
{
sentencia3;
sentencia4;
sentencia5;
}
Forma especial abreviada
Existe una forma abreviada de escribir una sentencia condicional if...else
en una sola línea
premio=(numeroBoleto==numeroSoreteo) ? 1000 : 0;
Un ejemplo significativo es el siguiente: el signo de un número elevado a una potencia par es positivo, y es
negativo cuando está elevado a una potencia impar.
int signo=(exponente%2==0)?1:-1;
La sentencia switch
Por ejemplo, considérese las siguientes series de sentencias if...else
if(expresion==valor1)
sentencia1;
else if(expresion==valor2)
sentencia2;
else if(expresion==valor3)
sentencia3;
else
sentencia4;
El código resultante puede ser difícil de seguir y confuso incluso para el programador avanzado.
Java proporciona una solución la sentencia condicional switch para agrupar
switch(expresion){
case valor1:
sentencia1;
break; //sale de switch
case valor2:
sentencia2;
break; //sale switch
case valor3:
sentencia3;
break; //sale de switch
default:
sentencia4; }
Ejemplo
public class SwitchApp1 {
public static void main(String[] args) {
int mes=3;
switch (mes) {
case 1: System.out.println("Enero"); break;
www.dariolara.com [email protected]
Lógica y Programación 5 Instituto Tecnológico Metropolitano
case 2: System.out.println("Febrero"); break;
case 3: System.out.println("Marzo"); break;
case 4: System.out.println("Abril"); break;
case 5: System.out.println("Mayo"); break;
case 6: System.out.println("Junio"); break;
case 7: System.out.println("Julio"); break;
case 8: System.out.println("Agosto"); break;
case 9: System.out.println("Septiembre"); break;
case 10: System.out.println("Octubre"); break;
case 11: System.out.println("Noviembre"); break;
case 12: System.out.println("Diciembre"); break;
default: System.out.println("Este mes no existe"); break;
}
}
}
La sentencia for
Ejemplo: Escribir un programa que imprima los primeros 10 primeros números enteros empezando
por el cero
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
La sentencia while
Escribir un programa que imprima los primeros 10 primeros números enteros empezando por el cero,
empleando la sentencia iterativa while.
int i=0;
while (i<10) {
System.out.println(i);
i++;
}
La sentencia do...while
Escribir un programa que imprima los primeros 10 primeros números enteros empezando por el cero,
empleando la sentencia iterativa do..while.
int i=0;
do{
System.out.println(i);
i++;
}while(i < 10);
La sentencia break
for(int i = 0; i < 10; i++){ if (i == 8) break; System.out.println(i); } // Concepto de espacios
La sentencia continue
En la siguiente porción de código, se imprimen todos los números del 0 al 9 excepto el número 8.
for(int i = 0; i < 10; i++){
if (i == 8) continue;
System.out.println(i);
}
Etiquetas
Tanto break como continue pueden tener una etiqueta opcional que indica a Java hacia donde dirigirse cuando se
cumple una determinada condición.
salida:
for(int i=0; i<20; i++){ while(j<70){
if(i*j==500) break salida; // Si se cumple la condicion ir a la etiqueta salida:
} }

www.dariolara.com [email protected]
Lógica y Programación 6 Instituto Tecnológico Metropolitano

TALLER DE LÓGICA Y PROGRAMACIÓN


Propuesta del Decano
Fray León Osorio

ENUNCIADOS

1. Un entrenador de un equipo de baloncesto desea reclutar personal para su semillero.


Los aspirantes deben cumplir los siguientes requisitos:
• Si es hombre: edad entre 14 y 18 años y estatura superior o igual a 1.80 metros.
• Si es mujer: edad entre 13 y 15 y estatura superior o igual a 1.70 metros.
Se debe mostrar cuantos aspirantes mujer y cuantos hombres fueron inscritos.
No se sabe cuántos aspirantes irán a la convocatoria.

2. Un número binario se obtiene a partir de un número decimal, realizando sucesivas divisiones


por 2 hasta que no se pueda seguir dividiendo (Cuando el resultado de la división da 1). Los
dígitos del número binario respectivo se muestran en el sentido inverso del cálculo y
corresponden a los residuos que siempre serán 1 ó 0 .

3. El valor de una llamada telefónica depende de los siguientes parámetros:


• Valor del minuto
• Duración de la llamada en minutos
• Descuento del 10 % si la llamada es internacional entre las 12:00 y 6:00 PM
Descuento del 5 % si la llamada es nacional entre las 10:00 PM y 9:00 AM

www.dariolara.com [email protected]
Lógica y Programación 7 Instituto Tecnológico Metropolitano

TALLER DE LÓGICA Y PROGRAMACIÓN


SOLUCIONES

1. A. Enunciado del problema


Un entrenador de un equipo de baloncesto desea reclutar personal para su semillero.
Los aspirantes deben cumplir los siguientes requisitos:
• Si es hombre: edad entre 14 y 18 años y estatura superior o igual a 1.80 metros.
• Si es mujer: edad entre 13 y 15 y estatura superior o igual a 1.70 metros.
Se debe mostrar cuantos aspirantes mujer y cuantos hombres fueron inscritos.
No se sabe cuántos aspirantes irán a la convocatoria.

B. Solucion en Seudocodigo Analítico


Declaracion de variables
hombresAceptados Es Entero
mujeresAceptadas Es Entero
opcion Es Texto
edad Es Entero
estatura Es Real
Inicializacion de variables
hombresAceptados=0
mujeresAceptadas=0
opcion="s" // Usamos opcion como registro centinela
Cálculos, repeticiones y decisiones
Mientras opción="s"
Lea edad, estatura, sexo
Si edad>=14 Y edad<=18 Y estatura>=1.8 Y sexo="m" entonces
hombresAceptados = hombresAceptados + 1
FinSi
Si edad>=13 Y edad<=15 Y estatura>=1.7 Y sexo="f" entonces
mujeresAceptadas = mujeresAceptadas + 1
FinSi
Lea opcion
FinMientras
Impresión de resultados
Imprima hombresAceptados
Imprima mujeresAceptadas
Final

C. Solucion en Seudocodigo Orientado a Objetos


Clase Publico EquipoBaloncesto
Metodo Principal() Es RetornoVacio
hombresAceptados Es Entero
mujeresAceptadas Es Entero
opcion Es Texto
edad Es Entero
estatura Es Real
hombresAceptados=0
mujeresAceptadas=0
opcion="s"
Mientras opción="s"
Lea edad, estatura, sexo
Si edad>=14 Y edad<=18 Y estatura>=1.8 Y sexo="m" entonces
hombresAceptados = hombresAceptados + 1
FinSi
Si edad>=13 Y edad<=15 Y estatura>=1.7 Y sexo="f" entonces
mujeresAceptadas = mujeresAceptadas + 1
FinSi
Lea opcion
FinMientras
Imprima hombresAceptados
Imprima mujeresAceptadas
FinMetodo
FinClase

www.dariolara.com [email protected]
Lógica y Programación 8 Instituto Tecnológico Metropolitano
D. Código en Java
public class EquipoBaloncesto {
public static void main(String[] args) {
int hombresAceptados=0;
int mujeresAceptadas=0;
String opcion="s";
while(opcion.equals("s")) {
//Lectura de la edad y estatura
int edad=LeerVariable.leerEntero("Edad?");
double estatura=LeerVariable.leerReal("Estatura (metros)?");
//lectura del sexo validada (solo acepta "f" o "m")
String sexo="";
while(!sexo.equals("f") && !sexo.equals("m"))
sexo=LeerVariable.leerTexto("Sexo (f/m)?").toLowerCase();
//Es una mujer que califica
if(edad>=14 && edad<=18 && estatura>=1.8 && sexo.equals("m"))
hombresAceptados++;
//Es un hombre que califica
if(edad>=13 && edad<=15 && estatura>=1.7 && sexo.equals("f"))
mujeresAceptadas++;
//lectura de la opción validada (solo acepta si comienza con "s" o "n")
opcion="";
while(!opcion.startsWith("s") && !opcion.startsWith("n"))
opcion=LeerVariable.leerTexto("Desea continuar (s/n)?").toLowerCase();
}
System.out.println("Total de hombres aceptados "+hombresAceptados);
System.out.println("Total de mujeres aceptadas "+mujeresAceptadas);
} }
2. A. Enunciado
Un número binario se obtiene a partir de un número decimal, realizando sucesivas divisiones por 2 hasta que no se
pueda seguir dividiendo (Cuando el resultado de la división da 1). Los dígitos del número binario respectivo se muestran
en el sentido inverso del cálculo y corresponden a los residuos que siempre serán 1 ó 0 .
B. Solucion en Seudocodigo Analítico
Declaracion de variables
decimal Es Entero
cociente Es Entero
digito Es Entero
binario Es Texto
Inicializacion de variables
Lea decimal
Cálculos, repeticiones y decisiones
cociente=decimal
binario=""
Mientras cociente>1
digito = cociente mod 2
cociente = (cociente - digito) / 2
binario = digito + binario
FinMientras
binario = cociente + binario
Impresión der resultados
Imprima binario
Final
C. Solucion en Seudocodigo Orientado a Objetos
Clase Publico DecimalABinario
Metodo Principal() Es RetornoVacio
decimal Es Entero
cociente Es Entero
digito Es Entero
binario Es Texto
Lea decimal
cociente=decimal
binario=""
Mientras cociente>1
digito = cociente mod 2

www.dariolara.com [email protected]
Lógica y Programación 9 Instituto Tecnológico Metropolitano
cociente = (cociente - digito) / 2
binario = digito + binario
FinMientras
binario = cociente + binario
Imprima binario
FinMetodo
FinClase
D. Código en Java
public class DecimalABinario {
public static void main(String[] args) {
int decimal=LeerVariable.leerEntero("Numero decimal?");
//El cociente inicia con el valor del número decimal
int cociente=decimal;
//Inicio de la cifra binaria
String binario="";
//Repetir mientras el cociente de dividir por 2 sea mayor a 1
while(cociente>1)
{
//Obtener el residuo de dividir por 2. Este será el dígito binario
int digito=cociente%2;
//Obtener el cociente de la división entera por 2
cociente=(cociente-digito)/2;
//Agregar el dígito binario a la cifra
binario=digito+binario;
}
//Agregar el último cociente para completar la cifra
binario=cociente + binario;
System.out.println("El numero "+decimal+" en binario es "+binario);
}
}

EJERCICIO PARA COMPLETAR


3. El valor de una llamada telefónica depende de los siguientes parámetros:
• Valor del minuto
• Duración de la llamada en minutos
• Descuento del 10 % si la llamada es internacional entre las 12:00 y 6:00 PM
• Descuento del 5 % si la llamada es nacional entre las 10:00 PM y 9:00 AM

GENERAR SEUDOCODIGOS - ANALITICO Y OO


D. Código en Java
//Clase Publico DecimalABinario
public class ValorLlamada {

//Metodo Principal() Es RetornoVacio


public static void main(String args[]) {
Mientras hora <0 O hora >23 entonces
Lea hora
Tipo=0
//Duracion es entero
int duracion=LeerVariable.leerEntero("Duracion (minutos)?");
// ValorMinuto es entero
int valorMinuto=LeerVariable.leerEntero("Valor minuto (pesos)?");
// Hora es entero
// Hora = -1
int hora=-1;
// Mientras hora < 0 O hora > 23 entonces
while(hora<0 || hora>23)
// Lea hora
hora=LeerVariable.leerEntero("Hora [0 1 2 ... 11 12 13 ... 22 23]?");
// tipo = 0
int tipo=0;
// Mientras tipo < 1 O tipo > 2
while(tipo<1 || tipo>2)
// Lea Tipo

www.dariolara.com [email protected]
Lógica y Programación 10 Instituto Tecnológico Metropolitano
tipo=LeerVariable.leerEntero("Tipo: [1] Nacional |[2] Internacional?");
int valorLlamada=duracion*valorMinuto;
if(tipo==2 && hora>=12 && hora<=18)
valorLlamada*=0.9;
if(tipo==1 && (hora>=22 || hora<=9))
valorLlamada*=0.95;
System.out.println();
System.out.println("El valor de llamada es $ "+valorLlamada);
}
}

PROBLEMAS PROPUESTOS
OBTENER
1. SEUDOCODIGO ANALITICO
2. SEUDOCODIGO OO
3. CODIGO JAVA
PARA CADA EJERCICIO PROPUESTO

4. Las calificaciones de un curso tienen asignados 4 porcentajes. Se deben leer las calificaciones que obtuvo cada
estudiante del curso y obtener su respectivo promedio basados en los anteriores porcentajes. Indicar el estudiante con
mejor promedio.

5. Dadas las estaturas de un conjunto de personas, calcular el promedio general.

6. Para un conocido número de llamadas se tienen los siguientes datos: Duración en minutos, valor del minuto y tipo de
destino (nacional e internacional). Calcular el valor total de las llamadas por cada tipo.

7. Para la realización de un pentatlón (competencia que consta de 5 pruebas a realizarse en un sólo día: tiro con pistola,
esgrima, natación 200 metros libres, equitación de obstáculos y carrera a campo-traviesa.) se inscriben determinado
número de participantes. De cada uno se obtiene el nombre, el puntaje en cada prueba y el sexo. Calcular

• Pruebas en que dominan las mujeres


• Nombre del ganador de cada prueba

8. En un censo barrial se desea determinar el nivel de escolaridad de sus habitantes. Cada uno de ellos deberá pasar a
decir cuál es su nivel (Primaria, Secundaria, Técnico, Tecnológico, Universitario y Postgrado) en el transcurso del día del
censo. Se conoce con anticipación el total de habitantes pero no el total de los que aportarán la información. Terminado
el día se deberá determinar si existe suficiente muestra para saber el nivel de escolaridad de los habitantes (si el total de
quienes aportaron información supera el 10% de la población total). Realizar el cálculo del nivel de escolaridad si la
muestra es suficiente.

9. Un banco tiene en su portafolio 4 tarjetas de crédito: MasterCard, Visa, Diners Club y American Express. Desea realizar
un proceso para determinar el nivel de uso de cada una y los montos que se manejan.

Para ello por cada cliente se lee que tarjetas tiene y por cada tarjeta, el número total de transacciones en el año y el
monto total por cada uno de los siguientes destinos: Educación, Restaurantes, Eventos y Comercio. Calcular

• La tarjeta que más transacciones presenta


• En cada tarjeta, el destino que mayores montos maneja

10. Una compañía desea evaluar el nivel de satisfacción de los clientes en una región. Para ello realiza una encuesta a un
indeterminado número de personas. En primer lugar se consulta si han adquirido sus productos con base en los
siguientes rangos:
• 0 a 2 productos (peso 15%)
• 2 a 10 productos (peso 40%)
• Más de 10 productos (peso 55%)

Seguido se les pide el nivel de conformidad con base en la siguiente lista:


• Inconforme (0)
• Conforme (1)
• Muy conforme (2)

www.dariolara.com [email protected]
Lógica y Programación 11 Instituto Tecnológico Metropolitano
11. Las calificaciones de un curso tienen asignados 4 porcentajes. Se deben leer las calificaciones que obtuvo cada
estudiante del curso y obtener su respectivo promedio basados en los anteriores porcentajes. Indicar el estudiante con
mejor promedio.

12. Dadas las estaturas de un conjunto de personas, calcular el promedio general.

13. Para un conocido número de llamadas se tienen los siguientes datos: Duración en minutos, valor del minuto y tipo de
destino (nacional e internacional). Calcular el valor total de las llamadas por cada tipo.

14. Para la realización de un pentatlón (competencia que consta de 5 pruebas a realizarse en un sólo día: tiro con pistola,
esgrima, natación 200 metros libres, equitación de obstáculos y carrera a campo-traviesa.) se inscriben determinado
número de participantes. De cada uno se obtiene el nombre, el puntaje en cada prueba y el sexo. Calcular

• Pruebas en que dominan las mujeres


• Nombre del ganador de cada prueba

15. En un censo barrial se desea determinar el nivel de escolaridad de sus habitantes. Cada uno de ellos deberá pasar a
decir cuál es su nivel (Primaria, Secundaria, Técnico, Tecnológico, Universitario y Postgrado) en el transcurso del día del
censo. Se conoce con anticipación el total de habitantes pero no el total de los que aportarán la información. Terminado
el día se deberá determinar si existe suficiente muestra para saber el nivel de escolaridad de los habitantes (si el total de
quienes aportaron información supera el 10% de la población total). Realizar el cálculo del nivel de escolaridad si la
muestra es suficiente.

16. Un banco tiene en su portafolio 4 tarjetas de crédito: MasterCard, Visa, Diners Club y American Express. Desea realizar
un proceso para determinar el nivel de uso de cada una y los montos que se manejan.

Para ello por cada cliente se lee que tarjetas tiene y por cada tarjeta, el número total de transacciones en el año y el
monto total por cada uno de los siguientes destinos: Educación, Restaurantes, Eventos y Comercio. Calcular

• La tarjeta que más transacciones presenta


• En cada tarjeta, el destino que mayores montos maneja

17. Una compañía desea evaluar el nivel de satisfacción de los clientes en una región. Para ello realiza una encuesta a un
indeterminado número de personas. En primer lugar se consulta si han adquirido sus productos con base en los
siguientes rangos:
• 0 a 2 productos (peso 15%)
• 2 a 10 productos (peso 40%)
• Más de 10 productos (peso 55%)

Seguido se les pide el nivel de conformidad con base en la siguiente lista:


• Inconforme (0)
• Conforme (1)
• Muy conforme (2)
El nivel de satisfacción general se calcula totalizando los niveles elegidos en cada rango para hallar el de mayor
preferencia. Luego se multiplica cada nivel elegido por el respectivo peso. La suma de estas multiplicaciones define el
nivel de conformidad (se debe hacer un redondeo).

18. A un trabajador le pagan segun sus horas y una tarifa de pago por horas. si la cantidad de horas trabajadas es mayor a
40 horas. La tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas
trabajadas y la tarifa.
Seudocodigo analitico tradicional
variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e
inicio
leer: horas_trabajadas,tarifa
si: horas_trabajadas <= 40 entonces
salario <-- horas_trabajadas * tarifa
si_no
tarifa_extra <-- tarifa + 0.50 * tarifa
horas_extras <-- horas_trabajadas - 40
salario <-- horas_extras * tarifa_extra + 40 *
tarifa
fin_si
imprimir: salario.

www.dariolara.com [email protected]
Lógica y Programación 12 Instituto Tecnológico Metropolitano
fin

19. A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de 1000 y hasta
2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el
trabajador dado su sueldo.
Seudocodigo analitico tradicional
variables: sueldo,sueldo_neto,descuento
inicio
leer: sueldo
si: sueldo <= 1000 entonces
descuento <-- sueldo * 0.1
si_no
si: sueldo <= 2000 entonces
descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1
si_no
descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1
fin_si
imprimir: descuento.
fin

20. Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por debajo de 100
el descuento es el 2%.
Seudocodigo analitico tradicional
variables: monto,descuento
inicio
leer: monto
si: monto > 100 entonces
descuento <-- monto * 10 / 100
si_no
descuento <-- monto * 2 / 100
fin_si
imprimir: monto, descuento
fin

21. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en
minutos.
Seudocodigo analitico tradicional
variables: tiempo_seg,minutos,segundos
inicio
leer: tiempo_seg
si minutos <-- tiempo_seg div 60 entonces
segundos <-- tiempo_seg mod 60
fin_si
imprimir: minutos,segundos.
fin

22. Dado un tiempo en minutos, calcular los dias, horas y minutos que le corresponden.
Seudocodigo analitico tradicional
variables: tiempo,dias,horas,minutos
inicio
leer: tiempo
si: dias <-- tiempo div 1440
x <-- tiempo mod 1440
horas <-- x div 60
minutos <-- x mod 60
imprimir: dias,minutos,horas
fin_si
fin

OJO: <-- esto es una asignacion

www.dariolara.com [email protected]

También podría gustarte