Você está na página 1de 7

Instituto Federal do Amazonas

TMI11-Algoritmos e Programação
Prof. Vitor Bremgartner da Frota
ALUNOS: AQUILA RABELO CAMPOS
JEAN MARK BEZERRA LIRA
MARIA DO SOCORRO
NICKENDSON COURTOIS

Lista de Exercícios 02: Estruturas Condicionais


Todos os algoritmos devem ser elaborados em forma de fluxograma, Portugol ou C

1. Um caixa eletrônico dispõe apenas de cédulas de R$50 e R$2 para saques. Elabore um algoritmo que calcule
quantas cédulas de cada tipo devem ser fornecidas para satisfazer um valor de saque informado. Seu
algoritmo deve validar o valor solicitado. Por exemplo, saques nos valores de R$5 ou de R$53 não devem ser
permitidos.

RESPOSTA
#include <stdio.h>
#include <math.h>

int main (void)


{

int c50, c2, valor;

printf("Informe o valor de saque:\n\n CEDULAS DISPONIVEIS: R$50,00 E


R$2,00\n ");
scanf("%d", &valor);
if(valor%2==0)
{
c50 = valor/50;
c2 = valor%50/2;

printf("Seu saque sera composto por %d cedula(s) de R$50 e %d cedula(s) de


R$2 .", c50, c2);
}
else{
printf("\n\nValor de saque nao permitido!");
}
return 0;

2. Repita o problema anterior, mas desta vez considere que a quantidade de cédulas é finita. Ou seja, se a
quantidade de cédulas de R$50 ou de R$2 a serem fornecidas para um saque for maior que a quantidade
delas existente em estoque (Q1 e Q2, respectivamente, informadas antes pelo usuário), então uma
mensagem de erro deve ser exibida.

RESPOSTA
#include <stdio.h>
#include <math.h>

int main (void)


{

int c50, c2, valor;

printf("Informe o valor de saque:\n\nQUANTIDADE CEDULAS DISPONIVEIS: 18


NOTAS DE R$50,00 E 50 NOTAS DE R$2,00\n ");
scanf("%d", &valor);
if(valor%2==0 && valor<=1000)
{
c50 = valor/50;
c2 = valor%50/2;

printf("Seu saque sera composto por %d cedula(s) de R$50 e %d cedula(s) de


R$2 .", c50, c2);
}
else{
printf("\n\nValor nao disponivel para saque!");
}
return 0;

3. Desafio (não-obrigatório): Considere agora que o caixa eletrônico dispõe apenas de cédulas de R$50 e de
R$20. Se você aplicar o algoritmo visto em sala de aula, verá que ele não funciona, por exemplo, para saques
de R$110, apesar de serem possíveis (uma cédula de R$50 e três de R$20). Modifique tal algoritmo.

4. Indique o que será impresso pelo fluxograma a seguir.

RESPOSTA: X= 18, Y=12, Z=12

5. Faça um algoritmo para indicar se um ponto P(X,Y) do plano cartesiano pertence à reta 2x + y = 3. Explicite as
variáveis de entrada e de saída, em termos de grandeza, unidade de medida e faixa de valores.

RESPOSTA
#include <stdio.h>

int main (void)


/*Indicar se um ponto P(X,Y) do plano cartesiano pertence à reta 2x + y = 3*/
{
int x, y, reta;

printf("Vamos verificar se o ponto P(X,Y) pertence a reta 2x+y-3=0\n\n");

printf("\n Informe o valor de x:\n\n");


scanf("%d", &x);
printf("Informe o valor de y:\n\n");
scanf("%d", &y);

if(2*x + y -3 == 0)
{

printf("\n As coordenadas %d e %d pertencem a reta." , x, y);


}
else
{

prinf("\O ponto P com coordenadas %d e %d não pertence a reta\n!", x,


y);
}

return 0;
}

6. Escreva um algoritmo que leia um número e verifique se ele tem ou não tem quatro dígitos. Dica: utilize
operadores relacionais.

RESPOSTA
#include <stdio.h>

int main (void)

{
int n1;

printf("Entre com um numero inteiro ");


scanf ("%d", &n1);

if (n1>= 1000 && n1<= 9999) {


printf("O numero digitado tem quatro digitos");

}
else {
printf("O numero digitado nao possui quatro digitos");

return 0;
}

7. O número 3025 possui a seguinte característica:

3025 = (30 + 25)²

Faça um algoritmo que imprima uma mensagem dizendo se um número fornecido pelo usuário satisfaz ou
não essa característica. Considere que sempre um número de quatro dígitos será fornecido. Dica: utilize o
operador de resto da divisão (%).

RESPOSTA
#include <stdio.h>
int main (void)
{
int n,n1,n2, n3;
printf("Informe o valor de 4 dígitos\n ");
scanf("%d", &n);

n1 = n/100;
n2 = n%100;
n3= ((n/100)+(n%100)) * ((n/100) + (n%100));
if( n == n3)
{
printf("Seu valor digitado eh (%d + %d)² .", n1, n2);
}
else{
printf("\n\nValor digitado invalido");
}
return 0;
}

8. Escreva um algoritmo para calcular a área de um triângulo retângulo, a partir das medidas dos três lados,
fornecidas pelo usuário, em qualquer ordem. O algoritmo não pode permitir a entrada de dados inválidos, ou
seja, medidas menores ou iguais a zero, ou medidas que não correspondam a um triângulo retângulo.

RESPOSTA
#include <stdio.h>

int main (void)


{

float x, y, hip, area;

printf("Informe o valor da hipotenusa:\n");


scanf("%f", &hip);

printf("Informe o valor da base:\n");


scanf("%f", &x);

printf("Informe o valor da altura:\n");


scanf("%f", &y);

if (x<=0)
{
printf("Valor da base invalido!\n");

}
else if (y<=0)
{
printf("Valor da altura invalido!\n");

}
else if (hip<x || hip<y)
{
printf("Nao eh um triangulo retangulo!\n");

}
else
{
area = (x*y)/2;
printf("\nO valor da area eh: %.2f", area);

}
return 0;
}
9. Faça um algoritmo que leia dois números inteiros e verifique se um é divisor do outro.

RESPOSTA
#include <stdio.h>

int main (void)


{
int x, y;

printf("Informe um numero:\n");
scanf("%d", &x);

printf("Informe outro numero:\n");


scanf("%d" , &y);

if (x%y==0)
{
printf("\nO numero %d eh divisor de %d", y, x);

}
else if (y%x==0)
{
printf("\nO numero %d eh divisor de %d", x, y);

}
else {
printf("\n Os numeros %d e %d nao sao divisiveis", x, y);

}
return 0;
}

10. Faça um algoritmo que dados três números, diga qual o central.

RESPOSTA
#include <stdio.h>

int main (void)

{
int n1, n2, n3, c1, c2, c3;

printf("Digite o primeiro valor: \n");


scanf("%d", &n1);

printf("Digite o segundo valor: \n");


scanf("%d", &n2);

printf("Digite o terceiro valor: \n");


scanf("%d", &n3);

if (((n1>=n2)&&(n1<=n3))||((n1<=n2)&&(n1>=n3)))
{

c1 = n1;
printf("A central eh %d", c1);
}

else if (((n2>=n1)&&(n2<=n3))||((n2<=n1)&&(n2>=n3)))
{

c2 = n2;
printf("A central eh %d", c2);
}

else
{
c3 = n3;
printf("A central eh %d", c3);
}
return 0;
}

11. Reescreva o seguinte fluxograma usando apenas uma única condição.

RESPOSTA

início

X, Y, Z

X>Y e V
Z<10

F
W X*Y*Z

Exibir W

fim
12. Em química, a acidez de uma solução aquosa é
medida pelo pH em uma escala que varia de 0 a
14. Uma solução com pH igual a 7 é dita neutra.
Uma solução com pH maior que 7 é básica, e
com pH menor que 7 é ácida. O fluxograma
abaixo pede ao usuário para digitar o valor do
pH de uma solução, e exibe uma mensagem
dizendo se ela é neutra, básica ou ácida. Se o
usuário digitar um valor inválido, uma
mensagem de erro é exibida. Reescreva o
fluxograma, trocando a primeira condição para
(ph < 0 OU ph > 14).

RESPOSTA
início

ph

F
ph < 0 OU
ph > 14

F
V ph < 7

F
V ph == 7

ph Solução Solução Solução


inválido Ácida Neutra Básica

fim