O uso de repetição na programação em C
Por: Thiago Ferragut • 14/5/2015 • Relatório de pesquisa • 3.294 Palavras (14 Páginas) • 129 Visualizações
[pic 1] | FUNDAMENTOS DE PROGRAMAÇÃO Atividade Prática - 6 Roberto Affonso |
Assunto: Estrutura Condicional, Estrutura de Repetição
Resolva em Portugol e Linguagem C
Questão 1: Na outra lista de exercício, os alunos resolveram o seguinte problema usando switch case.
O professor de matemática resolveu testar suas habilidades na área de programação. Ele quer que você entre com 3 valores (A, B e C) e a opção desejada. Então você calcula o que foi pedido.
Categoria | X |
1 | X = sen(A) + cos (B) |
2 | X = tan(C) – sen(B) |
3 | X = (cos(C) – tan(A))/sen(B) |
4 | X = raiz(pot(sen(A),2) - 1) |
5 | X = raiz(cos(A) * sen(B)) |
PS: Adote que A, B e C são angulos em radiano e utilize caso (switch) para resolver o problema.
Faça esse programa, agora de tal forma que você não saia do programa. Isto é, crie uma “flag” para fazer um controle, perguntando se o usuário quer ou não sair do programa. Para isso use a estrutura do{}while.
Em C
int main()
{
int opcao, i=0;
double A, B, C, X;
char flag ='s';
do
{
printf("Entre com a opcao desejada: ", &opcao);
scanf("%d", opcao);
printf("Entre com os valores de A, B, C: [em radiano]", &A, &B, &C);
scanf("%d %d %d ",&A,&B,&C);
switch(opcao)
{
case 1:
X=sin(A)+cos(B);
printf("X = %f\n", &X);
break;
case 2:
X=tan(C)-sin(B);
printf("X = %f\n", &X);
break;
case 3:
X=(cos(C)-tan(A))/sin(B);
printf("X = %f\n", &X);
break;
case 4:
X=sqrt(pow(sin(A),2)-1);
printf("X = %f\n", &X);
break;
case 5:
X=sqrt(cos(A)*sin(B));
printf("X = %f\n", &X);
break;
}
printf ( "Quer continuar? (s/n) " );
scanf ( " %c", &flag );
}while(tolower(flag) != 's');
return 0;
}
Em Portugol
inicio
inteiro opcao, i<-0
real A, B, C, X
caracter flag=’s’
inicio
repita
imprima("Entre com a opcao desejada: ", opcao)
leia(" ", opcao)
imprima("Entre com os valores de A, B, C: [em radiano]", A, B, C)
leia(" ",A,B,C)
caso(opcao)
1:
X<-sin(A)+cos(B)
imprima("X = ", X)
2:
X<-tan(C)-sen(B)
imprima("X = ", X)
case 3:
X<-(cos(C)-tan(A))/sen(B)
imprima("X = ", X)
4:
X<-raiz(exp(sen(A),2)-1)
imprima("X = ", X)
5:
X<-raiz(cos(A)*sen(B))
imprima("X = ", X)
imprima(“Quer continuar?(s/n)”)
leia(“flag”)
até (flag = 's') faça
Questão 2:
Na questão 2 e 3 da lista da aula 5 você fez o seguinte exercício:
Faça um programa com caso (switch) que entre com um valor numérico de 1 a 12 e ele diga qual o mês que está. Se não estiver nessa faixa de valores o programa deve informar que o número do mês está errado.
Refaça o programa anterior de forma que só saia do programa depois que digitar um valor na faixa escolhida.
Refaça ele usando a estrutura do{}while.
Em C
int main(void)
{
int opcao, i=0;
char flag='n';
do
{
printf("Entre com um numero [1 a 12]: ");
scanf ("%d",&opcao);
switch(opcao)
{
case 1:
printf("Janeiro\n");
break;
case 2:
printf("Fevereiro\n");
break;
case 3:
printf("Março\n");
break;
case 4:
printf("Abril\n");
break;
case 5:
printf("Maio\n");
break;
case 6:
...