Algoritmos e Estrutura de Dados I - AE22CP - 2013/2

Bruno César Ribas

Exercícios

  1. Crie uma conta no sitio http://br.spoj.com com nome de usuario igual da universidade (aRA, exemplo: a1260790).

  2. Resolva o exercício http://br.spoj.com/problems/F91/ e submeta a sua solução no site para verificação da corretude.

  3. Resolva o exercício http://br.spoj.com/problems/FATORIA2/ e submeta a sua solução no site para verificação da corretude.

  4. Escreva um programa que dada uma string imprima ela ao contrário
      ./invertestring
      ola
      alo
    

  5. Escreva um programa que imprima o caractere '*' quantas vezes for pedido. Exemplo:
      ./imprimeasterisco
      3
      ***
    

  6. Foi realizada uma pesquisa entre N habitantes de uma certa região. De cada habitante foram coletados os dados: Idade, sexo, salário e número de filhos.

    Faça um programa em linguagem C que receba do usuário uma lista de dados (idade,sexo,salario,num_filhos) e calcule a média salarial, a maior e menor idade do grupo, a média de idade e a quantidade de mulheres com 3 filhos que recebe até R$ 500,00. Quando a idade fornecida for 0 (zero), o programa deve exibir os resultados e terminar. Use uma função para cada cálculo.

  7. Dado um número inteiro, calcular seu Fatorial.

    O fatorial de um número inteiro é definido como:
        n! = 1 * 2 * 3 * ... * (n - 1) * n
        0! = 1
    
  8. Faça um programa que exiba na tela os 20 primeiros números da seqüência de Fibonnacci.

    A seqüência de Fibonnacci é definida como:
        fib(0) = 0
        fib(1) = 1
        fib(n) = fib(n - 1) + fib(n - 2)
    

  9. Baseado solução do exercício anterior, faça um programa que mostre o N-ésimo elemento da seqüência de Fibonnacci. O valor de N deve ser fornecido pelo usuário.

  10. Ler uma conjunto de linhas de dados contendo a definição de várias equações do segundo grau da forma:

    Cada linha de dados contém a definição de uma equação por meio dos valores de A, B e C do conjunto dos números reais. Após a leitura de cada linha o programa deve calcular as duas raízes da equação. A listagem de saída, em cada linha, deverá conter sempre os valores de A, B e C lidos, seguidos dos valores das duas raízes reais. Caso a equação não tenha raízes reais, isto deve ser indicado na saída. Após cada resultado, o programa deve pedir que o usuário digite T para terminar o programa ou qualquer outra LETRA para continuar a calcular raízes de equações de 2o grau.

    As raízes de uma equação do segundo grau são calculadas pela fórmula de Bhaskara:

    Sabe-se também que se o valor do Discriminante B² - 4AC for menor que 0 (zero), a equação não possui raízes reais.

  11. Sabe-se que o valor do coseno de x radianos pode ser calculado pela série infinita abaixo:

    Faça um programa que calcule o valor do coseno de um ângulo em radianos obtido pela série acima considerando apenas os primeiros 14 termos da mesma.

  12. Afrânio tem um peso de 80 kg e está engordando uma média de 2 kg por ano. Enquanto isto, Ermengarda, sua amada esposa, tem 45 kg e está engordando uma média de 3 kg por ano. Faça um programa que calcule e imprima quantos anos serão necessários para que Ermengarda ultrapasse o peso de Afrânio. O programa deve também imprimir qual será o peso de cada membro do casal ternura neste momento.

  13. Crie um TAD para representar os dados de uma pessoa (nome, data de nascimento, CPF e Sexo). Escreva um programa C para ler dados de 2 pessoas e uma função de comparação que compara dois registros de pessoas. A função de comparação mostra qual das pessoas possui maior prioridade, onde a ordem de prioridade é a seguinte (onde a regra 1 tem maior prioridade que a 2).
    • 1 - A maior prioridade será para crianças até 14 anos;
    • 2 - A segunda maior prioridade será das mulheres.

  14. Implemente uma programa que calcula o Máximo Divisor Comum entre dois números e imprima a árvore de execução da função do MDC. Exemplo de execução:
      ./mdc
      314159 271828
      mdc(314159,271828)
        mdc(271828,42331)
          mdc(42331,17842)
            mdc(17842,6647)
              mdc(6647,4548)
                mdc(4548,2099)
                  mdc(2099,350)
                    mdc(350,349)
                      mdc(349,1)
                        mdc(1,0)
      
    

  15. Resolva http://br.spoj.com/problems/PLACAR/

  16. http://br.spoj.com/problems/ELEVADO2/

  17. http://br.spoj.com/problems/POPULAR/

  18. (desafio) Resolva o exercício http://br.spoj.com/problems/FATORIAL/ e submeta a sua solução no site para verificação da corretude.

--
Last Modified: Tue Oct 15 13:51:57 2013.