Você está na página 1de 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 Concepto de los espacios

Entonces Pare

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"; Identificadores

Un nombre que identifica a una variable, a un método o función miembro, o a una clase Comentarios

System.out.println(mensaje);

}

}

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

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

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)

int

Tamaño 32 bits. El intervalo de valores va desde -231 hasta 231-1 (-2147483648 a

2147483647)

long

Tamaño 64 bits. El intervalo de valores va desde -263 hasta 263-1 (-9223372036854775808 a 9223372036854775807)

float

Tamaño 32 bits. Números en coma flotante de simple precisión. Estándar IEEE 754-1985 (de 1.40239846e–45f a 3.40282347e+38f)

double

Tamaño 64 bits. Números en coma flotante de doble precisión. Estándar IEEE 754-1985. (de 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

 

horizontal

\t

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

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 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

else

Por ejemplo, considérese las siguientes series de sentencias if

if(expresion==valor1)

sentencia1;

else if(expresion==valor2)

sentencia2;

else if(expresion==valor3)

else

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:

Ejemplo

sentencia1;

break; //sale de switch case valor2:

sentencia2;

break; //sale switch case valor3:

sentencia3;

break; //sale de switch

default:

sentencia4;

}

public class SwitchApp1 { public static void main(String[] args) { int mes=3; switch (mes) { case 1: System.out.println("Enero"); break;

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

Escribir un programa que imprima los primeros 10 primeros números enteros empezando por el cero, empleando la sentencia iterativa do 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++){

while

}

if (i == 8)

System.out.println(i);

continue;

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:

}

}

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

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

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

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

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)

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.

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

Seudocodigo analitico tradicional

2%.

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