Lista.02.Testes.de.Mesa

Embed Size (px)

DESCRIPTION

k

Citation preview

  • Exerccios - Questes Objetivas

    Apresentao 05 - Subrotinas

    1. Analise os procedimentos a seguir e marque qual est declarado CORRETAMENTE:

    a)

    imprimeMenor ( inteiro a, inteiro b)

    {

    se (a < b)

    imprima (a);

    seno

    imprima (b);

    }

    b) imprimeMenor ( inteiro a, inteiro b)

    {

    se (a < b)

    retorne (a);

    seno

    retorne (b);

    }

    c)

    imprimeMenor (a, b)

    {

    se (a < b)

    imprima (a);

    seno

    imprima (b);

    }

    d)

    imprimeMenor ( inteiro x, inteiro y)

    {

    se (a < b)

    imprima (a);

    seno

    imprima (b);

    }

    e)

    imprimeMenor ( inteir o a, inteiro b)

    {

    inteiro a, b;

    se (a < b)

    imprima (a);

    seno

    imprima (b);

    }

    2. Qual fragmento de cdigo chama o procedimento do exerccio anterior corretamente?

    a)

    inteiro a, b;

    leia (a, b);

  • imprimeMenor ( inteiro a, inteiro b);

    b) inteiro a, b;

    leia (a, b);

    imprimeMenor (a, b);

    c)

    inteiro a, b;

    imprimeMenor ( leia (a), leia (b));

    d)

    imprimeMenor ( inteiro x, inteiro y);

    e)

    inteiro a, b, menor;

    leia (a, b);

    menor imprimeMenor (a, b);

    3. Considere o algoritmo a seguir e marque qual ser sua sada se as entradas forem 3.14 e 1.54, respectivamente.

    lerDados ( real x, real y)

    {

    leia (x);

    leia (y);

    }

    principal

    {

    real x, y;

    x 0.00;

    y 2.34;

    lerDados (x, y);

    i

    }

    a) x -3.14 e y 3.88

    b) x 3.14 e y 2.34

    c) x 3.14 e y 1.54

    d) x 0.00 e y 2.34

    e) x 3.14 e y -1.54

    4. Assinale a sada do algoritmo a seguir, considerando 7 como entrada.

    inteiro funo (inteiro x)

    {

    inteiro i, aux ;

    aux 1;

    para (i 1; i < x; i i + 1) faa

    {

    aux aux*i;

    }

    retorne (aux);

    }

    principal

    {

    inteiro num, aux;

    leia (num);

    aux funo (num);

  • imprima

    }

    a) Resultado : 7

    b) Resultado : 5040

    c) Resultado : 120

    d) Resultado : 720

    e) Resultado : 21

    5. Qual a sada do algoritmo em C a seguir?

    void calculo (int *a, int *b)

    {

    *a = *a * 2;

    *b = *b + 5;

    }

    int main()

    {

    int x = 2, y = 12;

    calculo(&x, &y);

    printf("%d e %d", x, y);

    return 0;

    }

    a) 2 e 12

    b) 12 e 2

    c) 17 e 4

    d) 17 e 5

    e) 4 e 17

    6. Analise o procedimento e sua chamada:

    void media (float nota1, float nota2, float nota3, char opcao)

    {

    float media;

    media=((nota1+nota2+nota3)/3);

    media=((nota1*5+nota2*3+nota3*2)/10);

    printf("Media = %.2f \ n",medi a);

    }

    media (60, 80.6, x, y);

    Sabendo que a sada foi 80.10, os valores de x e y so, respectivamente:

    a) 99 e P

    b) 99.7 e A

    c) 99.70 e S

    d) 84.7 e P

    e) 99.7832 e A

  • 7. Considerando que uma pessoa tem ICM (ndice de massa corporal) 27.8, de acordo com o procedimento a seguir, ela :

    void classifica (float IMC)

    {

    if (IMC < 18,5)

    printf ("A seguir do peso. \ n");

    else

    if (IMC

  • 9. Uma pessoa tem 21 anos, 5 meses e 20 dias de idade, isso equivale a quantas semanas de idade de acordo coma funo?

    inteiro idadeEmSemanas ( inteiro ANOS, inteiro MESES, inteiro DIAS)

    {

    inteiro TOTAL;

    TOTAL ANOS*365+MESES*30+DIAS;

    TOTAL (TOTAL div 7);

    retorne (TOTAL);

    }

    a) 7835 semanas

    b) 1305 semanas

    c) 1119.28 semanas

    d) 119 semanas

    e) 1119 semanas

    10. Considerando o algoritmo em C a seguir e, primeiro, as entradas 2, 10 e 5, e em segundo as entradas 9, 3 e 6, marque a alternativa que representas as sadas do algoritmo. Considere as entradas respectivas.

    #include

    #include

    int funcaoXYZ (int X, int Y, int *Z)

    {

    int i;

    if (X > Y && Y > *Z)

    {

    *Z = X * Y;

    }

    else

    {

    if ( Y > *Z && *Z > X)

    Y = X + *Z;

    else

    {

    if (*Z > X && *Z > Y)

    {

    for (i=0; i < 3; i++)

    {

    X++;

    *Z = *Z - 1;

    }

    }

    else

    {

    for (i=0; i < 4; i++)

    {

    Y-- ;

    Z++;

    }

    }

    }

    }

    if (*Z%2 == 0)

    X*=2;

    else

    Y+=13;

    retur n (X + Y + *Z);

  • }

    int main()

    {

    int A, B, C;

    printf ("Digite valor de A: ");

    scanf ("%d", &A);

    printf ("Digite valor de B: ");

    scanf ("%i", &B);

    printf ("Digite valor de C: ");

    scanf ("%i", &C);

    printf("Valor de Retorno e': %d", func aoXYZ(A, C, &B));

    printf(" \ nValores de A, B e C sao: %d, %d e %d", A, B, C);

    return 0;

    }

    a) Valor de Retorno : 30

    Valores de A, B e C sao: 2, 10 e 5

    Valor de Retorno : 78

    Valores de A, B e C sao: 9, 3 e 6

    b) Valor de Retorno : 35

    Valores de A, B e C sao: 2, 7 e 5

    Valor de Retorno : 75

    Valores de A, B e C sao: 9, 54 e 6

    c) Valor de Retorno : 30

    Valores de A, B e C sao: 2, 7 e 5

    Valor de Retorno : 30

    Valores de A, B e C sao: 2, 7 e 5

    d) Valor de Retorno : 30

    Valores de A, B e C sao: 2, 7 e 5

    Valor de Retorno : 78

    Valores de A, B e C sao: 9, 54 e 6

    e) Valor de Retorno : 45

    Valores de A, B e C sao: 2, 10 e 5

    Valor de Retorno : 78

    Valores de A, B e C sao: 2, 54 e 5

  • Apresentao 06 - Vetores

    1. Observando os fragmentos de cdigo, so maneiras de se declarar um vetor, EXCETO:

    a)

    inteiro notas [10];

    b) int x;

    int vetor [x];

    c)

    float vet [50];

    d)

    #define TAM 30

    int main()

    {

    int nmeros [TAM];

    e)

    principal

    {

    constanteinteiro H 15;

    real s[H];

    2. Considerando os fragmentos de cdigo a seguir, todos representam o mesmo vetor de 5 posies, onde todas elas tem o valor 0 (zero). Aumentando o tamanho do vetor para 20, qual maneira de inicializar o vetor comea a se tornar a mais invivel para um programador?

    a)

    int vet[5], i;

    for (i=0; i

  • a) 2, 6, 67, 78 e no existe.

    b) No existe, 2, 1, 32 e 23.

    c) No existe, 6, 67, 78 e no existe.

    d) 2, 6, 67, 78 e 23.

    e) 2, 6, 78, 67 e no existe.

    4. Quais sero as sadas do fragmento de cdigo em C a seguir:

    Int vet[10] = {10,12,9,5,7,4,3,2,13,11};

    int i;

    for (i = 0; i < 9; i++)

    {

    if(vet[i]+vet[i+1] > 10)

    printf("%d ",vet[i]);

    }

    a) 10 12 9 5 7 2 13 11

    b) 10 12 9 7 13 11

    c) 10 12 9 7 13

    d) 10 12 9 3 2 13

    e) 10 12 9 5 7 2 13

    5. Quais sero as sadas do fragmento de cdigo a seguir:

    inteiro vet[10], i;

    para (i i + 1) faa

    {

    n[i] i;

    }

    para (i i + 1) faa

    {

    n[i] (n[i] * i) + 1;

    imprima (n[i]);

    }

    a) 1 2 5 10 17 26 37 50 65

    b) 1 1 4 9 16 25 36 49 64 81

    c) 0 1 4 9 16 25 36 49 64 81

    d) 0 2 5 10 17 26 37 50 65 82

    e) 1 2 5 10 17 26 37 50 65 82

    6. Quais ser a sada do fragmento de cdigo em C a seguir.

    int vet[10] = {9,12,9,5,13,4,3,1,13,14};

    int i;

    for (i = 0; i < 9; i++)

    if (vet[i] > vet[i+1])

    printf ("%d, ",i+1);

    a) 9, 5, 4, 1,

  • b) 2, 3, 5, 6, 7

    c) 1, 2, 4, 5, 6

    d) 2, 3, 5, 6, 7, 8

    e) 9, 5, 4, 1

    7. que a ordenao do vetor fique correta para qualquer entrada.

    #include

    #include

    #defin e tamanho 10

    void ordena (int vet[], int tam)

    {

    int i,j,aux;

    for(??????????????)

    {

    for(j=tam - 1; j>i; j -- )

    {

    if(vet[j]

  • Apresentao 07 - Vetores de Caracteres

    1. So maneiras corretas de inicializar um vetor de caracteres, EXCETO:

    a)

    b)

    c) caracter nome[30];

    nome

    d) caracter cidade[30];

    leia (cidade);

    e) char str[50];

    2. Observe os fragmentos de cdigo a seguir e julgue-os como C (correto) ou I (incorreto).

    char palavra[ ];

    char palavra[20];

    a) C C C

    b) C I C

    c) C I I

    d) I C I

    e) I I I

    3. A linguagem de programao C possui uma biblioteca para trabalhar com strings (ou vetores de caracteres), dentre algumas funes dessa biblioteca temos, gets(), puts() e strlen(). O que cada uma dessas funes faz, respectivamente?

    a) Imprime a string, l a string e retorna o tamanho da string.

    b) L a string, imprime a string e retorna o tamanho da string.

    c) L a string, imprime a string e copia uma string para outra.

    d) Apaga a string, imprime a string e l a string.

    e) Imprime a string, apaga a string, e l a string.

    4. Qual ser a sada do algoritmo a seguir?

    principal

    {

    inteiro i 8;

    caracter frase[30];

    frase

    enquanto ( i

  • imprima (frase[i]);

    i i + 1;

    }

    }

    a) Estamos_ciente_da_materia

    b) ciente_da_materia

    c) Estamos_ciente_da

    d) ciente_da_

    e) mos_ciente_da_mat

    5. Qual ser a sada do algoritmo em C a seguir?

    #include

    #include

    #include

    int contc(char s tr[], char c)

    {

    int tam,i,cont=0;

    tam=strlen(str);

    for(i=0;i

  • {

    destino[i]=toupper(origem[i]);

    }

    destino[i]=' \ 0';

    }

    int main()

    {

    char s1[20],s2[20]="QuaLqueR.. Coisa?";

    stringup(s1,s2 );

    printf("%s",s1);

    return 0;

    }

    a) qualquer.. coisa?

    b) Qualquer.. coisa?

    c) qUAlQUEr.. cOISA?

    d) QuaLqueR!! Coisa.

    e) QUALQUER..COISA?

    7. O algoritmo em C a seguir foi criado para ler uma string e um tamanho, com isso ele copia todos os caracteres da string lida at o tamanho lido para uma segunda string, em seguida, como sada, mostra o que foi copiado. Porm, temos um problema, o algoritmo no est funcionando corretamente. Analise o algoritmo e marque a linha em que ele est ERRADO

    1. #include 2. #inclu de 3. 4. void copiaAte(char destino[], char origem[], int num) 5. { 6. int i; 7. 8. for(i=0;(i

  • Gabarito

    Apresentao 05 - Subrotinas:

    1. A

    2. B

    3. C

    4. D

    5. E

    6. B

    7. C

    8. A

    9. E

    10. D

    Apresentao 06 - Vetores Numricos:

    1. B

    2. C

    3. A

    4. E

    5. E

    6. B

    7. A

    Apresentao 07 - Vetores de Caracteres:

    1. E

    2. B

    3. B

    4. D

    5. E

    6. E

    7. B