Anónimo
Anónimo preguntado en Ciencias y matemáticasIngeniería · hace 11 meses

¿Al usar el residuo en programacion....?

tengo un pequeño programa con uso del residuo: dianum<---dia%7;

Dado que estamos en Septiembre de 2019 y suponiendo que los días de la semana se numeran de

0 a 6 de Domingo a Sábado respectivamente. (0=Sábado, 1=Domingo, 2=Lunes, 3=Martes, 4=Miércoles,

5=Jueves y 6=Viernes)

el programa pide un día (con número) de Septiembre 2019 e imprima con número que

día de la semana le corresponde....

el detalle es que solo quiero modificar el dia sabado que le corresponde a cero, quiero que lo imprima con el valor 7, y no tengo que usar if, porque una farma facil es usando el if, solo sumas, restas, division, multiplicacion y residuo...

alguien me puede ayudar, la operacion solo debe alterar el resultado cuando salga 0, los demas dias quedan igual...

1 respuesta

Calificación
  • Manu
    Lv 7
    hace 11 meses
    Respuesta preferida

    Usando tu propia nomenclatura:

    dianum <-- (dia + 6) % 7 + 1

    Al sumarle 6 y calcular el módulo (o residuo) es como si restaras una unidad a todos los días de la semana excepto al 0, que lo transformas en 6. Sumándole después una unidad a todo, los días de domingo a viernes recuperan su valor inicial mientras que el sábado toma el valor 7.

    Si sabes que "dia" va a ser siempre mayor que cero, puedes restar una unidad en lugar de sumar 6. Si lo hice así fue pensando en que la función la quieres para transformar el valor de residuo antiguo que ya tenías, y que toma valores de 0 a 6. De la siguiente manera:

    ............................... Sa Do Lu Ma Mi Ju Vi

    dia………………….. 0...1....2...3....4...5...6

    dia + 6...………..…. 6...7....8...9...10.11.12

    (dia + 6) % 7.....….. 6...0....1...2....3...4...5

    (dia + 6) % 7 + 1..... 7...1....2...3....4...5...6

    Saludos.

¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.