exercicios complementares exame final

Upload: paulo-henrique-pieczarka-da-silva

Post on 07-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Exercicios Complementares Exame Final

    1/1

    Universidade Estadual do Centro-Oeste – UNICENTRO Profª Ana Elisa T. Piekarski da Palma

    Setor de Ciências Exatas e de Tecnologia – SEET Programação de Computadores I

    Departamento de Ciência da Computação – DECOMP Junho de 2013

    EXERCÍCIOS COMPLEMENTARES Programação seqüencial, Estruturas de Seleção e de Repetição, Vetores e Matrizes 

    1.  Considerando o fragmento de código abaixo, quais deverão ser os valores mostrados para as variáveis a,

    b  e t? Há alguma relação entre essas variáveis? Explique o funcionamento do código e, se acharpertinente, reescreva, melhorando a clareza e mantendo a funcionalidade.

    const int TAM=10;

    int i, j, numeros[TAM][TAM], t, a, b;

    srand(time(NULL));

    for (i = 0; i < TAM; i++){

    for (j = 0; j < TAM; j++){

    numeros[i][j] = rand() % 100;

    }

    }

    t = 0;

    a = 0;

    b = 0;

    for (i = 0; i < TAM; i++){

    for (j = 0; j < TAM; j++){

    if ((numeros[i][j] > 15) && (numeros[i][j] < 45)){

    a++;

    }

    if (numeros[i][j] > 60){

    numeros[i][j] = numeros[i][j]%60;

    t++;

    }

    if ((numeros[i][j] > 15) && (numeros[i][j] < 45)){

    b++;

    }

    }

    }

    printf ("T: %d, A: %d, B: %d", t, a, b);

    2.  Desenvolva um programa que gere uma matriz quadrada de ordem 10 preenchida com números

    aleatórios entre 1 e 10. Considerando a matriz gerada, o programa deve verificar:

    a.  Se há linha(s) ou coluna(s) em que todos os elementos são pares – nesse caso, indique a(s)

    linha(s) ou a(s) coluna(s);

    b.  Se a média dos elementos da diagonal principal é maior do que a média de todos os elementos

    da matriz;

    c.  Se há mais elementos na primeira metade do intervalo (entre 1 e 5) ou na segunda (entre 6 e 10).

    3.  Sejam M  e N números constantes definindo respectivamente a quantidade de linhas e colunas de uma

    matriz A[M][N], desenvolva um algoritmo (ou programa) que:

    a.  Faça a leitura dos elementos desta matriz;

    b.  Se a matriz for quadrada, imprima a diagonal de A;

    c. 

    Calcule a matriz transposta1 de A e armazene os valores na matriz B;

    d.  Se há linha(s) ou coluna(s) em que todos os elementos são pares – nesse caso, indique a(s)

    linha(s) ou a(s) coluna(s).

    4.  A empresa Evite Desperdício tem registrado numa tabela os consumos mensais de energia elétrica dos

    anos 2010-2012. Cada linha representa um ano e cada coluna um mês. Considerando esses dados, fazer

    um programa que calcule:

    a.  o consumo médio em cada um dos meses destes 3 anos;

    b.  o mês/ano em que a empresa gastou mais energia nestes 3 anos. Considere que não há empate.

    5.  Desenvolva um programa que leia os valores de uma matriz de ordem 5 e verifique se ela é ou não uma

    matriz triangular superior (matriz triangular superior é uma matriz onde todos os elementos de posições

    acima da diagonal principal são diferentes de 0 e todos os elementos demais elementos são iguais a 0).

    1 A matriz transposta de uma matriz Am × n é a matriz Atn × m em que , ou seja, todos os elementos da primeira linha, tornar-

    se-ão elementos da primeira coluna, todos os elementos da segunda linha, tornar-se-ão elementos da segunda coluna, todos os

    elementos da n linha, tornar-se-ão elementos da n coluna. (Fonte: http://pt.wikipedia.org/wiki/Matriz_%28matem%C3%A1tica%29.)