TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Lista de Exercícios

Por:   •  15/6/2019  •  Monografia  •  7.233 Palavras (29 Páginas)  •  514 Visualizações

Página 1 de 29

[pic 1]

  1. Instituto Federal do Amazonas

TMI11-Algoritmos e Programação

Prof. Vitor Bremgartner da Frota

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.

#include

int main(void)
{
    int valor, c50=50, quantidadeNotas50=0, c2=2, quantidadeNotas2=0, vAcomulado=0;
        
    printf("\nValor do saque: ");
    scanf("%d", &valor);
    
    while (valor >= (vAcomulado + c50)) 
    {
        //printf("_______Adicionando %d valor: %d; vAcomulado: ; %d\n\n", c50, valor, vAcomulado);
        vAcomulado += c50;
        quantidadeNotas50++;
    }
    while (valor >= (vAcomulado + c2))
    {
        //printf("_______Adicionando %d valor: %d; vAcomulado: ; %d\n\n", c2, valor, vAcomulado);
        vAcomulado += c2;
        quantidadeNotas2++;
    }
    if(((quantidadeNotas50 * c50) + (quantidadeNotas2 * c2)) == valor)
    {
        printf("\nSão necessárias %d cédulas de %d e %d cédulas de %d para realizar a operação\n\n", quantidadeNotas50, c50, quantidadeNotas2, c2, valor);
    } else
    {
        printf("\nImposível realizar saque neste valor\n\n");
    }
 
    return 0;
}

  1. 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.
  2. 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.
  3. Indique o que será impresso pelo fluxograma a seguir.

[pic 2]

  1. 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.
  2. Escreva um algoritmo que leia um número e verifique se ele tem ou não tem quatro dígitos. Dica: utilize operadores relacionais.
  3. 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 (%).

  1. 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.
  2. Faça um algoritmo que leia dois números inteiros e verifique se um é divisor do outro.
  3. Faça um algoritmo que dados três números, diga qual o central.
  4. Reescreva o seguinte fluxograma usando apenas uma única condição.

[pic 3]

  1. 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).

[pic 4]

Exercícios  

2.7  Identifique e corrija os erros em cada uma das instruções a seguir (Nota: pode haver mais de um erro por instrução):

a) scanf("d", valor); R: scanf("%d",valor);

b) printf("O produto de %d e %â e %d"\n, x, y) ; R: printf ("O produto de %d e %d \n", x, y);

c) primeiroNumero + segundoNumero = somaDosNumeros

R: primeiroNumero + segundoNumero = somaDosNumeros;

 d) if  (numero => maior) maior == numero;

R: if  (numero => maior) { maior = numero;}

e) */ Programa para determinar o maior de tres inteiros /*

R: /* Programa para determinar o maior de tres inteiros */

 f) Scanf ("%á", umlnteiro) ;

R: Scanf ("%d", umlnteiro) ;

g) printf("0 resto de %d dividido por %â e\n", x, y, x % y);

R: printf("0 resto de %d dividido por %â e\n", x, y, x % y);

h) if   (x = y); printf(%d e igual a %d\n", x, y);

 i) print("A soma e %d\n, " x + y) ;

 j) Printf("O valor fornecido e: %d\n,  &valor);

2.12 O que é impresso quando cada uma das instruções seguintes da linguagem C é executada? Se nada for impresso, responda "nada". Admita x = 2ey = 3.

 a) printf("%d", x); R: Um valor double.

b) printf("%d",  x + x); R: nada

 c) printf ("x=") ;  R: x=

d) printf("x=%d",  x) ; R: x= um valor double.

e)  printf("%ã - %â",  x + y, y + x); nada

 f)  z = x + y; R: z recebe a soma de x+y.

 g)  scanf("%ã%ã", &x, &y); R: nada

 h)  /* printf("x + y = %ã", x + y);  */ R: esta linha é um comentário.

...

Baixar como (para membros premium)  txt (32.9 Kb)   pdf (320.8 Kb)   docx (157.1 Kb)  
Continuar por mais 28 páginas »
Disponível apenas no TrabalhosGratuitos.com