Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2011, 10:26
Avatar de Edgar87
Edgar87
 
Fecha de Ingreso: agosto-2011
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 1
Lógica de programación ejercicio

Hola, soy nuevo en el foro, me estoy iniciando en la programación, tengo un problema con un ejercicio de lógica de programación, es el siguiente:

Calcular el sueldo semanal de un trabajador de jornada diurna en base a su sueldo por hora y las horas que trabajó a la semana, considerando el artículo 66 de la Ley federal del trabajo que dice: "podrá también prolongarse la jornada de trabajo por circunstancias extraordinarias, sin exceder nunca de tres horas diarias ni de tres veces en una semana", las primeras 8 horas se pagarán doble y las demás el triple.

Este es el ejercicio, en lo que se me dificulta, es como sumar el total que gano en una semana más las horas extras, a continuación muestro el codigó que logre generar, pero creo que no esta bien del todo, creo que puede reducirse más y generar un mejor codigó, ¿como puedo lograr que el codigó tenga mayor funcionalidad con la menor cantidad de líneas?...


Código PHP:
<?php

$sueldoPorHora 
50;
    
    for(
$horaDia 1$horaDia <= 40$horaDia++){
        
$horasTrabajadas++ ."<br>";
        
        if(
$horasTrabajadas == 8){
            echo 
"En un d&Iacute;a se gana ".($sueldoPorHora $horaDia). " pesos<br>";
        }else{
            if(
$horasTrabajadas == 16){
                echo 
"En dos d&Iacute;as se gana ".($sueldoPorHora $horaDia)." pesos<br>";
            }else{
                if(
$horasTrabajadas == 24){
                    echo 
"En tres d&Iacute;as se gana ".($sueldoPorHora $horaDia)." pesos<br>";
                }else{
                    if(
$horasTrabajadas == 32){
                        echo 
"En cuatro d&Iacute;as se gana ".($sueldoPorHora $horaDia)." pesos<br>";
                    }else{
                        if(
$horasTrabajadas == 40){
                            echo 
"En cinco d&Iacute;as se gana ".($sueldoPorHora $horaDia)." pesos<br><br>";
                            echo 
"En una semana se gana ".($sueldoPorHora $horaDia)." pesos<br><br>";
                        }
                    }
                }
            }
        }
    }
    
    echo 
"Horas Extras Acumuladas<br><br>";
    
    for(
$horaExtra 1$horaExtra <= 9$horaExtra ++){
        if(
$horaExtra == 3){
            echo 
"En el d&iacute;a 1 horas acumuladas son ".(($sueldoPorHora $horaExtra) * 2)." pesos<br>";
        }else{
            if(
$horaExtra == 6){
                echo 
"En el d&iacute;a 2 horas acumuladas son ".(($sueldoPorHora $horaExtra) * 2)." pesos<br>";
            }else{
                if(
$horaExtra == 8){
                    echo 
"En el d&iacute;a 3 horas acumuladas son ".((($sueldoPorHora $horaExtra) * 2) + ($sueldoPorHora 3))." pesos<br>";
                }
            }
        }
    }


?>
Coloque una variable llamada $sueldoPorHora con un valor de 50, como ejemplo, dos for, el primero para horas que trabaja en una semana, suponiendo que la jornada laboral del trabajador por dia son 8 horas y 5 días a la semana, de Lunes a Viernes, el segundo for para las horas extras que trabajo.

Gracias por la atención, espero me puedan ayudar con mi problema.