Jump to content

O inicio...


migg

Recommended Posts

Comecei agora  a estudar algoritmia, como sei C é mais facil aprender!!

Abri este tópico para ir postando alguns exercícios que faço e a minha resolução...

Para depois dizerem como faziam...

E assim eu evoluir mais depresa a ver o exemplo de gente que anda nisto a muito mais tempo 🙂

Aqui vai o primeiro:

/*       1 – Elaborar um programa que efetue o cálculo do reajuste de salário de um
funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu
salario seja menor que 500. Se o salario for maior ou igual a 500 mas n\menor ou igual a
1000, seu reajuste será de 10%, e caso seja ainda maior que 1000, o reajuste deverá ser
de 5%.
       ler um valor para o salario
       verificar se o valor de salario < 500; se sim, reajustar em 15%
       verificar se o valor de salario <=1000; se sim, reajustar em 10%
       verificar se o valor de salario > 1000; se sim, reajustar em 5%
       apresentar o valor reajustado.*/

#include <stdio.h>
#include <stdlib.h>

main() {
int sal;
float perc_1= 5.0 / 100.0,perc_2= 10.0 / 100.0, perc_3= 15.0 / 100.0; 
int res;
fflush(stdin);
printf("Incerir salário: "); scanf("%d", &sal);
if(sal > 1000){
     res = sal - (sal * perc_1);
     printf("O salário sofreu um reajuste de 5%% ficando com um salario de: %d\n", res);
}
else if(sal <= 1000){
     res = sal - (sal * perc_2);
     printf("O salário sofreu um reajuste de 10%% ficando com um salario de: %d\n", res);
}
else if(sal < 500){
             res = sal - (sal * perc_3);
             printf("O salário sofreu um reajuste de 15%% ficando com um salario de: %d\n", res);
}
main();
return(0);
}
Link to comment
Share on other sites

A solução está quase correcta, mas aquilo que tens escrito em comentário é diferente e se tivesses implementado assim estaria errado.

A razão pela qual digo quase correcta é que o termo "reajuste" é ambíguo já que tanto pode ser um aumento como uma redução, mas o teu sentido de justiça social não te fez imediatamente desconfiar que:

- Se tiver um salário inferior a 500€, cortar 15%

- Se tiver um salário superior a 1000€, cortar 5%

Nunca poderia ser o pretendido?

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

Já agora, é "inserir" e não "incerir" e ao usares as tags CODE, faz, code=c, para fazer highlight. 🙂

tanks

A solução está quase correcta, mas aquilo que tens escrito em comentário é diferente e se tivesses implementado assim estaria errado.

A razão pela qual digo quase correcta é que o termo "reajuste" é ambíguo já que tanto pode ser um aumento como uma redução, mas o teu sentido de justiça social não te fez imediatamente desconfiar que:

- Se tiver um salário inferior a 500€, cortar 15%

- Se tiver um salário superior a 1000€, cortar 5%

Nunca poderia ser o pretendido?

Pelo que percebi, eu teria de apresentar duas soluções uma para aumentar o salario e outra para diminuir o salario é isso?

Link to comment
Share on other sites

tanks

Pelo que percebi, eu teria de apresentar duas soluções uma para aumentar o salario e outra para diminuir o salario é isso?

Não =X

A palavra reajustar é ambígua, e portanto, devia aceitar-se quer o aumento quer a redução, como solução. Bastava fazer uma delas.

O único problema é que qualquer pessoa com a mínima noção de justiça, percebe que ninguém vai fazer um reajuste que tira 5% aos que têm mais e tira 15% aos que não têm quase nada.

Obviamente que essas percentagens se referem a aumentos, os que ganham menos de 500€ vão receber um aumento de 15%.

Não respondo a dúvidas por mensagem.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.