Baixe o app para aproveitar ainda mais
Prévia do material em texto
Quest Linguagem e Técnicas de Programação (Universidade Paulista) Digitalizar para abrir em Studocu A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade Quest Linguagem e Técnicas de Programação (Universidade Paulista) Digitalizar para abrir em Studocu A Studocu não é patrocinada ou endossada por nenhuma faculdade ou universidade Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest https://www.studocu.com/pt-br/document/universidade-paulista/linguagem-e-tecnicas-de-programacao/quest/53313561?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest https://www.studocu.com/pt-br/course/universidade-paulista/linguagem-e-tecnicas-de-programacao/2999205?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest https://www.studocu.com/pt-br/document/universidade-paulista/linguagem-e-tecnicas-de-programacao/quest/53313561?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest https://www.studocu.com/pt-br/course/universidade-paulista/linguagem-e-tecnicas-de-programacao/2999205?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Pergunta 1 0,1 em 0,1 pontos Com base na Linguagem C, assinale a alternativa que apresenta a forma correta para imprimir a mensagem “Meu nome é Francisco, tenho 52 anos e meu aniversário é em 12/06”: Resposta Selecionada: a. printf(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ; Respostas: a. printf(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ; b. printf(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,12,06) ; c. print(“Meu nome é %s, tenho %d anos e o meu aniversario é %s/%s”,”Francisco”,52,”12”,”06”) ; d. printf(“Meu nome é %s tenho %d anos e o meu aniversario é %.2f/%s”,”Francisco”,52,”12”, 06) ; e. printf(“Meu nome é %s tenho %d anos o meu aniversario é %.2f/%.2f”,”Francisco”,52,12,06) ; Comentário da resposta: Resposta: A Comentário: A alternativa A é a única que possui a sintaxe correta, pois o primeiro parâmetro é uma String (cadeia de caracteres) e sua máscara é %s, portanto, está correto. O segundo parâmetro é o número 52 e a máscara é %d, um número inteiro mostrando 52. O terceiro parâmetro é uma string “12” e a máscara é %s, portanto, mostra 12. O quarto parâmetro é uma string “06” e a máscara é %s, portanto, mostra 06. Pergunta 2 0,1 em 0,1 pontos Com base na Linguagem C, assinale a alternativa que apresenta a sintaxe correta do comando scanf() para receber dois números inteiros. Considere num1 e num2 como sendo números inteiros: Resposta Selecionada: d. scanf(“%d %d”, &num1,&num2); Respostas: a. scan(“%d %d”, &num1,&num2); Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest b. scanf(“%d %d”, num1,num2); c. scanf(“%f %f”, &num1,&num2); d. scanf(“%d %d”, &num1,&num2); e. scanf(“%s %s”, &num1,&num2); Comentári o da resposta: Resposta: D Comentário: O comando scanf() é utilizado para a entrada de dados em C e possui uma sintaxe muito bem definida. Para o recebimento de dois números inteiros o comando scanf() utiliza o especificador de formato para inteiros %d, como os dois números são inteiros, a sintaxe correta é: scanf(“%d %d”, &num1,&num2); seguido do endereço das variáveis correspondentes (&num1, &num2). Pergunta 3 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa. #include <stdio.h> void main() { int x=3; int y=15; y/=x; printf(“%d %d \n”, x, y); x=y++; printf(“%d %d \n”, x, y); } Resposta Selecionada: b. 3 5 5 6 Respostas: a. 3 5 3 4 b. 3 5 5 6 c. 3 15 4 16 Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 d. 3 4 3 15 e. 4 16 3 15 Comentário da resposta: Resposta: B Comentário: Fazendo o teste de mesa para o algoritmo, teremos as saídas: Pergunta 4 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int a=15; int b=3; b/=a; printf(“%d %d \n”, a, b); a=b++; printf(“%d %d \n”, a, b); } Resposta Selecionada: c. 15 0 0 1 Respostas: a. 3 5 5 6 b. 15 3 3 4 c. 15 0 0 1 d. 3 6 5 6 e. 3 5 3 4 Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Comentário da resposta: Resposta: C Comentário: Fazendo o teste de mesa para o algoritmo, teremos as saídas: Observação: a operação b/=a (o mesmo que b = b/a) possui o valor zero como resposta, pois 3/15 = 0,2, e por ser declarado como inteiro, a variável b receberá apenas a parte decimal, ou seja, o valor 0 (zero). Pergunta 5 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int i = 15; int j = 3; j% = i; printf(“%d %d \n”, i, j); i = j++; printf(“%d %d \n”, i, j); } Resposta Selecionada: d. 15 3 3 4 Respostas: a. 15 0 0 1 b. 3 5 5 6 c. 15 4 4 5 d. 15 3 3 4 e. 3 0 3 4 Comentário da resposta: Resposta: D Comentário: Fazendo o teste de mesa para o algoritmo, Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 teremos as saídas: Observação: na operação j% = i (o mesmo que j = j % i) representa o resto inteiro da divisão entre j e i. Pergunta 6 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int num1 = 15; int num2 = 3; int num3; num2 += num1; num3 = num2; num2 = 2; printf("%d %d \n", num1, num2); num1 = num2++; printf("%d %d \n", num1, num2); } Resposta Selecionada: e. 15 2 2 3 Respostas: a. 15 3 3 4 b. 3 18 4 5 c. 3 2 2 3 d. 18 2 2 4 e. 15 2 2 3 Comentário da resposta: Resposta: E Comentário: Fazendo o teste de mesa para o programa acima, as saídas serão: Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Pergunta 7 0,1 em 0,1 pontos Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int a=15; int b=3; int c, d; b += a; c = b; b = 2; d = c / b; printf("%d %d %d %d \n", a, b, c, d); } Resposta Selecionada: b. 15 2 18 9 Respostas: a. 15 3 18 9 b. 15 2 18 9 c. 15 18 2 3 d. 18 15 15 9 e. 18 2 9 15 Comentário da resposta: Resposta: B Comentário: Fazendo o teste de mesa para o programa acima, as saídas serão: Pergunta 8 0,1 em 0,1 pontos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 Considere o programa a seguir, escrito em linguagem C, e selecione a alternativa que corresponda à saída correta do programa: #include <stdio.h> void main() { int a=15; int b=3; int c, d; c = a / b; d = a % b; printf("%d %d %d %d \n", a, b, c, d); } Resposta Selecionada: d. 15 3 5 0 Respostas: a. 15 3 0 5 b. 15 5 3 1 c. 5 3 15 0 d. 15 3 5 0 e. 3 15 3 5 Comentário da resposta: Resposta: D Comentário: Fazendo o testede mesa para o programa acima, as saídas serão: Pergunta 9 0,1 em 0,1 pontos Considere o programa abaixo, escrito em Linguagem C, e assinale a alternativa que corresponda com a saída correta do programa: #include <stdio.h> void main() { int a = 8; int b; b=++a; Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest printf(“%d %d\n”, a, b); b = a++; printf(“%d %d\n”,a, b); } Resposta Selecionada: c. 9 9 10 9 Respostas: a. 8 8 10 8 b. 8 9 10 11 c. 9 9 10 9 d. 9 8 10 8 e. 9 10 10 11 Comentário da resposta: Resposta: C Comentário: Fazendo o teste de mesa para o algoritmo, teremos como saída: Pergunta 10 0,1 em 0,1 pontos Dado o seguinte programa: #include <stdio.h> void main() { int a=15; int b=2; b*=a; printf(“%d %d\n”,a, b); b=a--; printf(“%d %d\n”,a, b); } Qual alternativa apresenta a saída correta? Resposta Selecionada: a. 15 30 14 Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 15 Respostas: a. 15 30 14 15 b. 16 30 14 16 c. 15 30 13 14 d. 15 2 14 1 e. 15 2 1 15 Comentário da resposta: Resposta: A Comentário: Fazendo o teste de mesa para o algoritmo, teremos como saída: Pergunta 1 0 em 0 pontos A linguagem de programação C é uma linguagem estruturada, de “médio nível”, utilizada principalmente para o desenvolvimento de sistemas operacionais, planilhas eletrônicas e sistemas gerenciadores de bancos de dados. Com base nestas informações, selecione a alternativa com as afirmações consideradas corretas: Resposta Selecionada : e. Não possui comandos de entrada e saída de dados. Esta ação é realizada através de funções contidas na biblioteca padrão stdio.h. Respostas: a. Escalabilidade do compilador, bibliotecas padronizadas, variedade de operadores, facilidade na sintaxe, acesso a hardware e otimização de aplicações. b. Flexibilidade na sintaxe – tipos, declarações, expressões e funções. c. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Não permite atribuir valores no momento da declaração da variável ou várias variáveis do mesmo tipo e na mesma linha. d. O operador de incremento e decremento automático são operadores considerados convencionais que atuam sobre a própria variável, incrementando ou decrementando o valor. e. Não possui comandos de entrada e saída de dados. Esta ação é realizada através de funções contidas na biblioteca padrão stdio.h. Comentário da resposta: Resposta: e) Pergunta 2 0 em 0 pontos Analise o pseudocódigo abaixo e assinale a alternativa que contenha o valor final das variáveis A e F, respectivamente. Resposta Selecionada: a. A = 6 e F = 14.44 Respostas: a. A = 6 e F = 14.44 b. A = 7 e F = 14.44 c. A = 3 e F = 14.11 d. A = 6 e F = 9.0 e. A = 7 e F = 14.22 Comentário da resposta: Resposta: a) Pergunta 3 0 em 0 pontos Analise o pseudocódigo abaixo e considere X e Y como variáveis inteiras, Z e W cadeias de caracteres e T e K variáveis lógicas (booleanas), ao final da execução, Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 quais os valores que estarão associados às variáveis X, T e K, respectivamente? Resposta Selecionada: d. X = 2, T = 0 (false) e K = 1 (true); Respostas: a. X = 3, T = 0 (false) e K = 1 (true); b. X = 3, T = 0 (false) e K = 0 (false); c. X = 3, T = 1 (true) e K = 0 (false); d. X = 2, T = 0 (false) e K = 1 (true); e. X = 2, T = 1 (true) e K = 1 (true); Comentário da resposta: Resposta: d) Pergunta 4 0 em 0 pontos Considere o trecho de código abaixo, tendo como variáveis nome (cadeia de char), faltas (inteiro) e média (float). Qual das alternativas abaixo imprime a seguinte frase: Olá (nome), você tem (número de faltas) faltas e sua média é (média)! Resposta Selecionada: a. printf(“Olá %s, você tem %d faltas e sua média é %.2f \n”, nome, faltas, media); Respostas: a. printf(“Olá %s, você tem %d faltas e sua média é %.2f \n”, nome, faltas, media); b. printf(“Olá %s, você tem %d faltas e sua média é %.2f \n”, &nome, &faltas, &media); c. printf(“Olá &nome, você tem &faltas faltas e sua média é &media”, nome, faltas, media); Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest d. printf(“Olá %c, você tem %? faltas e sua média é &media”, nome, faltas, media); e. printf(“Olá %?, você tem %? faltas e sua média é %?”, nome, faltas, media); Comentário da resposta: Resposta: a) Pergunta 1 0 em 0 pontos Analise o fluxograma abaixo e responda à seguinte questão: Para que a frase “O maior é n2” seja impressa na tela, é necessário que: Resposta Selecionada: d. n1 seja menor que n2 e n2 seja maior que n3. Respostas: a. n1 seja maior que n2 e n1 seja maior que n3. b. n2 seja menor que n1 e o n3 seja menor que n2. c. n1 seja maior que n2 e n2 seja menor que n3. d. n1 seja menor que n2 e n2 seja maior que n3. e. A ordem de leitura das variáveis seja alterada. Comentário da resposta: Resposta: d) Pergunta 2 0 em 0 pontos Analise o pseudocódigo abaixo e selecione a alternativa que substitua a condição se(numero<0) então... Pela estrutura em linguagem C: Resposta Selecionada: c. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 if(numero <0) printf(“negativo”) Respostas: a. if(numero <0) then printf(“negativo”) b. if(numero > 0) then printf(“negativo”) c. if(numero <0) printf(“negativo”) d. if(n < 0) printf(“negativo”) e. else(numero <0) printf(“negativo”) Comentário da resposta: Resposta: c) Pergunta 3 0 em 0 pontos Com base no conceito do comando switch-case (Escolha-caso), assinale a alternativa incorreta: Resposta Selecionada : d. Ao encontrar a estrutura switch, o programa entende que virá uma expressão lógica (>, <, >=, <=). Caso essa expressão resulte em verdadeiro, é executado o bloco de comandos dentro da estrutura. Respostas: a. Estrutura que evita o encadeamento de condicionais. b. Estrutura utilizada quando for necessário testar uma única expressão que produz um resultado dentre vários possíveis, ou então testar o valor de uma variável em que está armazenada uma determinada informação. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest c. Estrutura que compara o resultado obtido opção a opção, testando os valores individuais fornecidos de cada cláusula. d. Ao encontrar a estrutura switch, o programa entende que virá uma expressão lógica (>, <, >=, <=). Caso essa expressão resulte em verdadeiro, é executado o bloco de comandos dentro da estrutura. e. Permite que uma variável seja testada através da operação de igualdade e comparada com uma lista de valores. Comentário da resposta: Resposta: d) Pergunta 4 0 em 0 pontos O comando if-else (se-senão), permite que uma determinada condição seja testada e, caso verdadeira, um bloco de comando será executado; e caso seja falta, um outro bloco de comandos será executado. Com base neste conceito, assinale a(s) alternativa(s) que apresente(m) erro de sintaxe: Resposta Selecionada: c. if(x >=5.0){...} else(y <= 18){...} Respostas: a. if(x < 0){...} else{...}. b. if(x > 1 && y<5){...} c. if(x >=5.0){...} else(y <= 18){...} d. if(x >= 2 || (x <=10){..} e. if(x >= 2){...} if(y <=10) {..} Comentário da resposta: Resposta: c) Pergunta 1 0,1 em 0,1 pontos Analise o programa escrito em Linguagem C e assinale aalternativa que descreve a função correta do programa. #include <stdio.h> Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 void main ( ) { int diaSemana; printf ("Digite o dia da semana: "); scanf ("%d", &diaSemana); switch (dia) { case 1: printf ("Domingo \n"); break; case 2: printf ("Segunda-feira \n"); break; case 3: printf ("Terça-feira \n"); break; case 4: printf ("Quarta-feira \n"); break; case 5: printf ("Quinta-feira \n"); break; case 6: printf ("Sexta-feira \n"); break; case 7: printf ("Sábado \n"); break; default: printf("Dia inválido \n"); } } Resposta Selecionada: b. O programa recebe um número e apresenta o correspondente ao dia da semana. Respostas: a. O programa recebe um número e informa se o dia será feriado. b. O programa recebe um número e apresenta o correspondente ao dia da semana. c. Segunda-feira corresponde ao número 1 na semana. d. Domingo corresponde ao número 7 na semana. e. Nenhuma das anteriores está correta. Comentário da resposta: Resposta: B Comentário: o programa solicita ao usuário a entrada de um número e verifica pelo comando switch-case o dia da semana correspondente, apresentando como saída a string que representa o dia da semana. Pergunta 2 Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest 0,1 em 0,1 pontos Considere o código a seguir em linguagem C e, após fazer uma análise pelos testes de mesa, assinale a alternativa correta que descreve a função do programa. Escolha 3 números inteiros de sua preferência e faça alguns testes. #include <stdio.h> void main (void) { int a, b, c; int aux; printf("Digite três números inteiros: "); scanf("%d %d %d",&a, &b, &c); if(a>b) { aux=a; a=b; b=aux; } if(a>c) { aux=a; a=c; c=aux; } if(b>c) { aux=b; b=c; c=aux; } printf("%d %d %d", a, b, c); } Resposta Selecionada: e. Recebe 3 números inteiros e apresenta a saída com os números em ordem crescente. Respostas: a. Recebe 3 números inteiros e apresenta a saída com os números em ordem decrescente. b. Recebe 3 números inteiros e apresenta a saída com os números fora de ordem. c. Recebe 3 números inteiros e apresenta a saída com os números em ordem de entrada. d. Recebe 3 números inteiros e apresenta a saída com os números em ordem inversa de entrada. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 e. Recebe 3 números inteiros e apresenta a saída com os números em ordem crescente. Comentário da resposta: Resposta: E Comentário: o programa recebe como entrada 3 números e realiza alguns testes de forma independente, comparando-os de dois em dois, trocando os valores de posição, caso não estejam em ordem crescente. Pergunta 3 0,1 em 0,1 pontos Considere o código escrito em Linguagem C e assinale a alternativa correta. #include <stdio.h> void main() { int idade; printf("Digite sua idade: "); scanf("%d", &idade); if((idade >= 18) && (idade <=67)){ printf("Permitido doar sangue \n"); }else{ printf("Não é permitido doar sangue \n"); } } Resposta Selecionada: b. Uma pessoa de 89 não pode doar sangue. Respostas: a. Uma pessoa de 68 pode doar sangue. b. Uma pessoa de 89 não pode doar sangue. c. Uma pessoa de 17 pode doar sangue. d. Uma pessoa de 67 não pode doar sangue. e. Uma pessoa de 35 não pode doar sangue. Comentário da resposta: Resposta: B Comentário: o programa recebe a idade de uma pessoa e informa se ela pode doar sangue ou não, Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest analisando a sua idade. Para doar sangue, é necessário ter entre 18 e 67 anos. Pergunta 4 0,1 em 0,1 pontos Considere o código escrito em Linguagem C e assinale a alternativa que corresponda ao objetivo (função) dele: #include <stdio.h> void main() { int x, y; printf("Digite o primeiro numero: "); scanf("%d", &x); printf("Digite o segundo numero: "); scanf("%d", &y); if(x > y){ printf("O número = %d \n", x); }else{ printf("O número = %d \n", y); } } Resposta Selecionada: a. A função do programa é identificar o maior número recebido. Respostas: a. A função do programa é identificar o maior número recebido. b. A função do programa é identificar o menor número recebido. c. A função do programa é identificar o número par. d. A função do programa é identificar o número ímpar. e. Nenhuma das anteriores está correta. Comentário da resposta: Resposta: A Comentário: o programa recebe dois números inteiros (por meio das variáveis “x” e “y”) e realiza um teste relacional utilizando a condicional SE (IF). Se “x” for maior que “y”, o número apresentado é “x”, senão o número apresentado é “y”, identificando assim o maior número digitado. Nesse exemplo não é verificado se os números são iguais, sendo necessária a adição de mais um teste Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 relacionado para essa verificação. Pergunta 5 0,1 em 0,1 pontos Considere o código escrito em Linguagem C e, pelo teste de mesa, assinale a alternativa que corresponda à saída correta do programa, considerando como entrada o número 57. #include <stdio.h> void main() { int num, resto; printf("Digite um numero: "); scanf("%d", &num); resto = num % 2; if(resto == 1){ printf("O número %d é impar \n", num); }else{ printf("O número %d é par \n", num); } } Resposta Selecionada: c. O número 57 é ímpar. Respostas: a. O número 57 é par. b. O número 1 é ímpar. c. O número 57 é ímpar. d. O número 1 é par. e. O número 50 é par. Comentário da resposta: Resposta: C Comentário: a variável “resto” recebe o resto da divisão de 57 por 2. Se o resto for igual a 1 (no teste da condicional resto = 1), o número é ímpar, senão o número é par. Pergunta 6 0,1 em 0,1 pontos Considere o programa escrito em Linguagem C: # include <stdio.h> void main () { int ano, resto; printf( "Digite o ano: "); Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest scanf("%d", &ano); if(ano% 100 == 0){ if (ano% 400 == 0){ printf("O Ano %d é bissexto \n \n", ano); }else{ printf(" O Ano %d não é bissexto \n \n", ano); } }else{ if (ano%4 == 0){ printf("O Ano %d é bissexto \n \n", ano); }else{ printf(" O Ano %d não é bissexto \n", ano); } } } Tendo como entrada os anos 1995, 1996 e 1997; dessa forma, podemos afirmar que: Resposta Selecionada: a. 1995 não é bissexto, 1996 é bissexto e 1997 não é bissexto. Respostas: a. 1995 não é bissexto, 1996 é bissexto e 1997 não é bissexto. b. 1995 não é bissexto, 1996 não é bissexto e 1997 não é bissexto. c. 1995 é bissexto, 1996 não é bissexto e 1997 não é bissexto. d. 1995 é bissexto, 1996 é bissexto e 1997 não é bissexto. e. 1995 não é bissexto, 1996 não é bissexto e 1997 é bissexto. Comentário da resposta: Resposta: A Comentário: a resposta correta é a alternativa A, pois o programa informa se o ano é bissexto ou não de acordo com as entradas digitadas pelo usuário. Para a primeira condicional, nenhum ano dividido por 400 tem resto 0, porém: o resto da divisão de 1995 por 4 é 3, dessa forma, o ano não é bissexto; o resto da divisão de 1996 por 4 é 0, dessa forma, o ano é bissexto; Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 o resto da divisão de 1997 por 4 é 1, dessa forma, o ano não é bissexto. Pergunta 7 0,1 em 0,1 pontos Considere o programa escritoem Linguagem C: #include <stdio.h> void main ( ) { char ch; printf ("Estado civil: "); scanf ("%c", &ch); switch(ch) { case 'C': printf ("Casado \n"); break; case 'S': printf ("Solteiro \n"); break; case 'D': printf ("Divórcio \n"); break; case 'V': printf ("Viúvo \n"); break; default: printf("Inválido \n"); break; } } Executando o mesmo programa 3 vezes com as entradas “C”, “s” e “V”, quais serão as saídas, respectivamente? Resposta Selecionada: d. Casado, Inválido e Viúvo. Respostas: a. Casado, Divórcio e Viúvo. b. Casado, Solteiro. c. Casado, Solteiro e Viúvo. d. Casado, Inválido e Viúvo. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest e. Casado, Viúvo. Comentári o da resposta: Resposta: D Comentário: o programa recebe (entrada) um caractere pela variável “ch”, realizando alguns testes com o comando switch-case. Para a primeira entrada “C” digitada, a saída será Casado, na segunda entrada “s”, a saída será Inválido, pois a linguagem C faz diferença entre a letra maiúscula e a letra minúscula ( Case sensitive) e, na terceira entrada “V”, a saída será Viúvo. O comando break presente em cada case fará com que o programa aborte (pare) a sua execução sempre que esse comando for executado. Pergunta 8 0,1 em 0,1 pontos Considere o programa escrito em linguagem C e faça uma análise por meio do teste de mesa para encontrar o valor da variável “z” no final da execução do programa. #include <stdio.h> void main() { int x, y, z; x = 5; y = 7; z = 3; if((y - 1) > 2){ y = y + 2; }else{ y = y - 2; } z = z + x + y; } Resposta Selecionada: e. 17. Respostas: a. 16. b. 14. c. 15. d. 12. e. 17. Comentário da Resposta: E Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 resposta: Comentário: pelo teste de mesa, é possível identificar os seguintes valores para as variáveis x, y e z: Pergunta 9 0,1 em 0,1 pontos Considere o programa escrito em linguagem C e, por meio do teste de mesa, faça uma análise do programa a seguir e assinale a alternativa que corresponda à saída correta do programa, tendo como valores de entrada: 5, 6 e 12. void main() { int totalFaltas; float n1, n2, media; printf("Digite a 1 a nota: "); scanf("%f", &n1 ); printf("Digite a 2 a nota: "); scanf("%f", &n2); printf("Digite o total de faltas: "); scanf("%d", &totalFaltas); media = (n1 + n2) / 2; if(media >= 5){ printf("Aprovado por nota"); if(totalFaltas <= 10) { printf("e esta aprovado. \n"); }else{ printf(", mas reprovou por falta. \n") ; } }else{ printf("Nota abaixo da media."); } } Resposta Selecionada: b. Você passou por nota, mas reprovou por falta. Respostas: a. Você passou por nota e está aprovado. b. Você passou por nota, mas reprovou por falta. c. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Reprovou por falta. d. Está aprovado. e. Nota abaixo da média. Comentário da resposta: Resposta: B Comentário: a média é calculada com a soma de n1 e n2 ((5 + 6) / 2 = 5,5) e a quantidade de faltas é 12. Fazendo uma análise do programa anterior, se a média for maior ou igual a 5 e se o total de faltas é maior que 10, o aluno estará reprovado por falta. Pergunta 10 0,1 em 0,1 pontos O programa, escrito em linguagem C, solicita ao usuário que entre com uma idade e realiza alguns testes relacionais. Considerando duas execuções, tendo como entrada as idades 36 e 10, assinale a alternativa que corresponda à saída correta do programa. #include <stdio.h> main() { int idade; printf("Digite a idade: "); scanf("%d",&idade); if (idade <10){ printf ("A idade %d é classificada como CRIANÇA \n \n ", idade); } else if ((idade >=10) && (idade <=14)){ printf ("A idade %d é classificada como INFANTIL \n \n ", idade); } else if ((idade >=15) && (idade <=17)){ printf ("A idade %d é classificada como JUVENIL \n \n ", idade); } else if (idade >=18) { printf ("A idade %d é classificada como ADULTO \n \n ", idade); } else{ printf ("Classificação inválida); } } Resposta Selecionada: c. ADULTO e Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 INFANTIL. Respostas: a. ADULTO e CRIANÇA. b. JUVENIL e INFANTIL. c. ADULTO e INFANTIL. d. ADULTO E JUVENIL. e. VELHO E CRIANÇA. Comentário da resposta: Resposta: C Comentário: o programa solicita ao usuário que digite uma idade e realiza diversos testes relacionais compostos. A idade de 36 anos é classificada como ADULTO, pois é maior ou igual a 18 e a idade de 10 anos é classificada como INFANTIL, pois a primeira condição é válida para os casos de maior ou igual a 10 e menor ou igual a 14. A primeira condição admite como verdadeiro exclusivamente a idade menor que 10, dessa forma, não é classificada como CRIANÇA. Pergunta 1 0,1 em 0,1 pontos A função calcular () recebe por parâmetros 3 valores do tipo float, realiza um cálculo (potência) e retorna ao resultado. Assinale a alternativa que apresenta o resultado correto da operação. #include<stdio.h> #include<math.h> float calcular (float x, float y, float z) { return (pow(x,2)+(y+z)); } void main() { printf("Resultado: %.2f \n", calcular(2,3,4)); printf("\n \n"); } Resposta Selecionada: d. Resultado: 11.00 Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Respostas: a. Resultado: 8.00 b. Resultado: 9.00 c. Resultado: 10.00 d. Resultado: 11.00 e. Resultado: 12.00 Comentário da resposta: Resposta: D Comentário: a função calcular() recebe três valores do tipo float e retorna o quadrado do 1º + a soma dos outros dois números. Na função main(), o comando printf() se encarrega de receber o retorno da função e imprimir o resultado na tela (saída de dados). Pergunta 2 0,1 em 0,1 pontos Analise o programa e assinale a alternativa que apresenta a saída correta considerando a entrada “Universidade Paulista”. Resposta Selecionada: c. 3 – a, 2 – e, 3 – i, 0 – o, 1 – u Respostas: a. 2 – a, 3 – e, 3 – i, 0 – o, 1 – u b. 3 – a, 2 – e, 3 – i, 0 – o, 0 – u c. 3 – a, 2 – e, 3 – i, 0 – o, 1 – u d. 4 – a, 2 – e, 2 – i, 0 – o, 1 – u e. 3 – a, 2 – e, 3 – i, 1 – o, 0 – u Comentário da resposta: Resposta: C Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 Comentário: o programa recebe do usuário (teclado) uma mensagem e imprime quantas letras A, E, I, O, U há nessa mensagem, considerando minúsculas e maiúsculas. Pergunta 3 0,1 em 0,1 pontos Analise o programa escrito em Linguagem C e assinale a alternativa que representa os elementos contidos na diagonal principal da matriz: #include <stdio.h> void main(){ int lin, col, cont = 0, mat[4][4]; for (lin=0; lin<=3; lin++) { for (col=0; col<=3;col++) { mat[lin][col] = cont++; } } printf("Matriz \n"); for (lin=0; lin<=3; lin++) { for (col=0; col<=3; col++) printf("%d \t", mat[lin][col]); printf("\n \n"); } printf("\n \n Diagonal principal \n \n"); for (lin=0; lin<=3; lin++) { printf("%d ", mat[lin][lin]); } printf("\n \n"); } Resposta Selecionada: d. 0 5 10 15 Respostas: a. 1 2 3 4 b. 0 1 2 3 c. 2 4 6 8 d. 0 5 10 15 e. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest0 3 6 9 Comentário da resposta: Resposta: D Comentário: o programa utiliza a primeira estrutura de repetição aninhada para preencher a matriz utilizando o contador “cont” e, na sequência, imprime a diagonal da matriz, isto é, os elementos na matriz em que a linha é igual à coluna. Pergunta 4 0,1 em 0,1 pontos Considere o código escrito em Linguagem C e, por meio de um teste de mesa, assinale a alternativa que corresponda à saída do programa: #include<stdio.h> void main() { int vet[10], x, y=0; for(x=0; x<=9; x++) { vet[x]=y+2; y=y+2; } for(x=0; x<=9; x++) printf("%d ", vet[x]); printf("\n \n"); } Resposta Selecionada: d. 2 4 6 8 10 12 14 16 18 20. Respostas: a. 0 1 2 3 4 5 6 7 8 9. b. 1 3 5 7 9 11 13 15 17 19 21. c. 4 8 12 16 20 24 28 32 36. d. 2 4 6 8 10 12 14 16 18 20. e. 0 4 8 12 16 20 24 28 32. Comentário da resposta: Resposta: D Comentário: o programa cria um vetor de 10 Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 posições e o preenche com os números pares de 2 a 20, apresentando o conteúdo do vetor como saída. Pergunta 5 0,1 em 0,1 pontos Considere o programa a seguir escrito em Linguagem C, possui uma função verificavogal(char M) que recebe um caractere por parâmetro e informa se ele é uma vogal ou uma consoante. Para que o programa execute corretamente sua tarefa, é preciso adicionar os códigos nas linhas 6 e 8, respectivamente. Assinale a alternativa que apresente os comandos corretos para completar o programa: Resposta Selecionada: e. return(1); return(0); Respostas: a. return(0); return(1); b. return(true); return(false); c. return(vogal); return(consoante) ; d. exit(0); exit(1); e. return(1); return(0); Comentário da resposta: Resposta: E Comentário: a função verificavogal() recebe um caractere por parâmetro, realiza um teste relacional e retorna um número inteiro. Para a linha 6, o retorno do valor 1 indica uma vogal; e na linha 8, o retorno do valor 0 indica uma consoante. Pergunta 6 0,1 em 0,1 pontos Considere o programa escrito em Linguagem C. O usuário digita um texto como entrada e o apresenta como saída excluído as vogais. Para que o programa execute corretamente e atinja o seu objetivo, será necessário preencher as linhas 8 e 11, respectivamente. Assinale a alternativa que apresente os comandos de forma adequada a especificação do programa: Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Resposta Selecionada: b. tam = strlen(cadeia); if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) Respostas: a. tam = cadeia; if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) b. tam = strlen(cadeia); if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) c. tam = strlen(); if (cadeia[x] != 'a' && cadeia[x] != 'e' && cadeia[x] != 'i' && cadeia[x] != 'o' && cadeia[x] != 'u' ) d. tam = strlen(cadeia); if (cadeia[x] == 'a' && cadeia[x] == 'e' && cadeia[x] == 'i' && cadeia[x] == 'o' && cadeia[x] == 'u' ) e. tam = strlen(cadeia); if (cadeia[x] != 'a' || cadeia[x] != 'e' || cadeia[x] != 'i' || cadeia[x] != 'o' || cadeia[x] != 'u' ) Comentário da resposta: Resposta: B Comentário: a função strlen() – linha 8 retorna o tamanho do texto (cadeia). Por outro lado, a linha 11 possui uma estrutura condicional para verificar cada um dos caracteres, ignorando as vogais. Pergunta 7 0,1 em 0,1 pontos O programa a seguir escrito em Linguagem C solicita ao usuário o cadastro de 5 produtos, imprimindo-os na sequência por meio dos campos “código” e o “nome da cada produto”. O programa também permite a consulta do preço de um produto tendo como entrada o código dele. Para que o programa execute e faça corretamente sua função, é preciso adicionar os comandos corretos nas linhas 19 e 26, respectivamente. Assinale a alternativa que corresponda aos comandos corretos para a execução do programa. Resposta Selecionada: b. scanf("%d %s %f", &produtos[i].codigo, produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo == codigo_digitado) Respostas: a. scanf("%d %s %f", produtos[i].codigo, produtos[i].nome, produtos[i].preco); Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 if (produtos[i].codigo == codigo_digitado) { b. scanf("%d %s %f", &produtos[i].codigo, produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo == codigo_digitado) c. scanf("%d %c %f",&produtos[i].codigo, produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo = codigo_digitado) { d. scanf("%s %s %s", &produtos[i].codigo,produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo == codigo_digitado) { e. scanf("%d %s %f",&produtos[i].codigo, &produtos[i].nome, &produtos[i].preco); if (produtos[i].codigo != codigo_digitado) { Comentário da resposta: Resposta: B Comentário: o programa permite o cadastro de 5 produtos por meio de uma estrutura ( struct) – linhas 17 a 19, imprimindo-os na sequência. O programa também permite a consulta do preço de um produto tendo como entrada o código dele – linhas 26 a 28. Pergunta 8 0,1 em 0,1 pontos O programa a seguir possui uma estrutura ( struct) para cadastrar o nome, a altura, o peso e o sexo de algumas pessoas. Com os dados cadastrados, o programa localiza um determinado registro por meio do campo NOME e imprime o seu IMC. Para que o programa execute corretamente sua tarefa, selecione a alternativa que melhor se enquadre nas linhas 15 e 25. Resposta Selecionada: a. Pessoa pessoas[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)==0){ Respostas: a. Pessoa pessoas[QUANTIDADE_DE_PESSOAS]; Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest if (strcmp (pessoas[i].nome, nomeloc)==0){ b. Pessoa[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)==0){ c. pessoas[3]; if (strcomp (pessoas[i].nome, nomeloc)==0){ d. Pessoa pessoas[QUANTIDADE_DE_PESSOAS]; if (strcmp (pessoas[i].nome, nomeloc)! =0){ e. pessoas[QUANTIDADE_DE_PESSOAS]; if (pessoas[i].nome && nomeloc)==0){ Comentário da resposta: Resposta: A Comentário: o programa declara um vetor (pessoas) – linha 15, de tamanho 3 (quantidade de pessoas) e do tipo Pessoa; na linha 25 realiza a comparação entre o nome solicitado para localização com os nomes cadastrados no vetor. Pergunta 9 0,1 em 0,1 pontos O programa a seguir preenche uma matriz inteira de 4 x 4 e imprime todos os elementos, exceto aqueles da diagonal principal. Para que o programa execute corretamente sua tarefa, devemos preencher as linhas 11, 13 e 15, respectivamente. Assinale a alternativa que possua os comandos adequados para que o programa execute de forma correta. Resposta Selecionada: a. d) for (lin=0; lin<=3; lin+ +) for (col=0; col<=3; col++) if (lin != col) Respostas: a. d) for (lin=0; lin<=3; lin+ +) for (col=0; col<=3; col++) Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 if (lin != col) b. for (lin=0; lin<=4;lin++) for (col=0; col<=4; col++) if (lin == col) c. for (lin=0; lin<=3;lin++) for (col=0; col<=3; col++) if (lin == col) d. for (lin=0; lin<3;lin++) for (col=0; col<3; col++) if (lin != col) e. for (lin=1; lin<=4; lin++) for (col=1; col<=4; col++) if (lin != col) Comentário da resposta: Resposta: A Comentário: o programa preenche a matriz “mat” com os valores de “cont” e, na sequência, apenas os elementos em que a linha e a coluna são diferentes.Sendo os índices diferentes, os elementos na diagonal principal não serão impressos. Pergunta 10 0,1 em 0,1 pontos O programa escrito em Linguagem C possui uma estrutura de repetição para solicitar ao usuário 8 números inteiros e preencher o vetor “vet” por meio do comando scanf() – linha 8. Em seguida, o programa solicita ao usuário que digite um número, pesquisando se o mesmo se encontra no vetor. Se o número existir, o programa imprimirá a posição do vetor em que o número se encontra e, caso não exista, a mensagem “Este número não existe” será impressa ao usuário. Para que o programa execute corretamente sua tarefa, será necessário preencher as linhas 13 e 16, respectivamente. Assinale a alternativa que melhor atenda as especificações do programa: Resposta Selecionada: b. for(x=0; x<8; x++) printf("\n O número %d esta na posição %d: Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest ", num, x); Respostas: a. for(x=0;x<=8;x++) printf("\n O número %d esta na posição %d: ", num, x); b. for(x=0; x<8; x++) printf("\n O número %d esta na posição %d: ", num, x); c. for(x=0; x<8; x++) printf("\n O número %d esta na posição %d: ", x, num); d. for(x=1; x<8; x++) printf("\n O número %d esta na posição %d: ", num, x); e. for(x=0; x<num; x++) printf("\n O número %d esta na posição %d: ", num, x); Comentário da resposta: Resposta: B Comentário: a linha 13 – for(x=0; x<8; x++) – deve percorrer o vetor inteiro, isto é, da posição 0 (inicial) até a última posição do vetor (índice 7). A linha 16 imprime em qual posição do vetor (posição controlada por “x”) o número (“num”) foi inserido no vetor. Pergunta 1 0,1 em 0,1 pontos A função troca() recebe dois ponteiros e faz a troca dos valores entre duas variáveis, porém esse código possui um erro. Assinale a alternativa que corresponda ao erro nesta função: void troca (int *i, int *j) { int *temp; *temp = *i; *i = *j; *j = *temp; } Resposta Selecionada: a. As variáveis "i" e “j” não precisavam ser um ponteiro. Respostas: a. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 As variáveis "i" e “j” não precisavam ser um ponteiro. b. A variável “i” deveria ser um contador. c. A variável “j” deveria acumular o valor de “i”. d. A variável "temp" não precisava ser um ponteiro. e. Não existe nenhum erro na função. Comentário da resposta: Resposta: A Comentário: a variável "temp" não precisava ser um ponteiro, já que apenas precisa armazenar um valor inteiro, sem precisar apontar para algum lugar. O código correto seria: void troca (int *i, int *j) { int temp; temp = *i; *i = *j; *j = temp; } Pergunta 2 0,1 em 0,1 pontos Analise a função caracteres() e identifique a alternativa que melhor descreve a tarefa executada por ela. Faça um teste manual para compreender a lógica do programa. char * caracteres(char *s1, char *s2) { int i, j, w, n = 0, encontrado; char *s3; for (i = 0; s1[i] != '\0'; i++) { for (j = 0; s2[j] != '\0'; j++) { if (s1[i] == s2[j]) { n++; break; } } } s3 = malloc((n + 1) * sizeof(char)); n = 0; for (i = 0; s1[i] != '\0'; i++) { for (j = 0; s2[j] != '\0'; j++) { if (s1[i] == s2[j]) { encontrado = 0; for (w = 0; w < n; w++) { if (s3[w] == s1[i]) { Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest encontrado = 1; break; } } if (encontrado == 0) { s3[n] = s1[i]; n++; break; } } } } s3[n] = '\0'; return s3; } Resposta Selecionada: c. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todos os caracteres que aparecem em s1 e em s2. Respostas: a. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todas as vogais que aparecem em s1 e em s2. b. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todas as consoantes que aparecem em s1 e em s2. c. Recebe por parâmetro duas cadeias s1 e s2 e retorna uma nova cadeia s3 que contém todos os caracteres que aparecem em s1 e em s2. d. Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que é a maior cadeia entre s1 e em s2. e. Lê duas cadeias s1 e s2 e retorna uma nova cadeia s3 que é a menor cadeia entre s1 e em s2. Comentário da resposta: Resposta: C Comentário: a função recebe por parâmetro duas cadeias s1 e s2 (ponteiros para char) e retorna uma nova cadeia s3 (ponteiro para char), concatenando as duas cadeias em uma só, ou seja, juntando todos os caracteres de s1 e de s2 em s3. Pergunta 3 0,1 em 0,1 pontos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 Analise o programa escrito em Linguagem C que possui uma função incr_vetor() que recebe um ponteiro para um inteiro e um inteiro. Assinale a alternativa que apresenta a saída correta do programa: #include <stdio.h> void incr_vetor (int *v , int tam) { int i; for (i = 0; i < tam; i++) v[i]++; } void main () { int a[ ] = {1, 3, 5}; incr_vetor(a, 3); printf("%d %d %d\n", a[0], a[1], a[2]); } Resposta Selecionada: a. 2 4 6. Respostas: a. 2 4 6. b. 0 1 2. c. 1 2 3. d. 1 3 5. e. 3 6 9. Comentário da resposta: Resposta: A Comentário: o programa possui uma função incr_vetor(int *v , int tam ) que recebe um ponteiro para um inteiro e um inteiro, tendo como saída do programa os valores 2 4 6, pois os elementos do vetor serão incrementados dentro da função. Pergunta 4 0,1 em 0,1 pontos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Ao declarar um vetor, para dimensioná-lo, é necessário saber de antemão quantos elementos deveriam compô-lo. Temos de prever o número máximo de elementos no vetor durante o processo da codificação. Com base nesses dados, avalie as afirmações seguintes: I. O predimensionamento do vetor é um fator que limita a programação. II. Podemos superdimensionar o vetor, pois nunca estamos sujeitos a ter falta de memória. III. Podemos reservar a memória, isto é, solicitar ao programa que aloque dinamicamente um espaço na memória durante sua execução. É correto apenas o que se afirma em: Resposta Selecionada: e. I e III, apenas. Respostas: a. I, apenas. b. II, apenas. c. III, apenas. d. I e II, apenas. e. I e III, apenas. Comentári o da resposta: Resposta: E Comentário: visando a resolver o problema de “prever” o número máximo de elementos em um vetor, uma solução seria superdimensionar o seu tamanho para tentar contornar essa falta de elementos livres durante a execução do programa. Porém, isso acarreta desperdício de memória, o que é inaceitável em diversas aplicações, principalmente nos aplicativos portáteis, em que sempre estamos sujeitos a ter falta de memória. Pergunta 5 0,1 em 0,1 pontos Considere o programa a seguir escrito em Linguagem C que deve receber uma string de caracteres e uma letra. Para isso, o programa possui uma função que devolve um vetor de inteiros contendo as posições Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 (índices no vetor da string) em que a letra foi encontrada e um inteiro contendo o tamanho do vetor criado (total de letras iguais encontradas). Para que o programa execute corretamente a sua função, é preciso adicionar comandos nas linhas 11 e 25, respectivamente. Assinale a alternativa que apresenta corretamente esses comandos: Resposta Selecionada: b. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', &n); Respostas:a. indices = (int) malloc(n sizeof(int)); indices = acha_caractere(frase, 'a', &n); b. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', &n); c. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', n); d. indices = (int *) malloc(n* sizeof(int)); indices = acha_caractere(frase, 'a', *n); e. indices = (int ) malloc(n sizeof(int)); indices = acha_caractere(frase, 'a', n); Comentári o da resposta: Resposta: B Comentário: o programa possui uma função – linhas 4 a 20. Porém, na linha 11 é preciso alocar memória para os índices e na linha 25 chamar a função acha_caractere(), passando as informações necessárias (frase, 'a', &n) por parâmetro, retornando os índices – linha 19. Pergunta 6 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest alternativa que apresenta corretamente a saída para cada uma das entradas. #include <stdio.h> int f1(int n) { if (n == 0) return (1); else return(n * f1(n-1)); } void main(){ int a, b; printf("Digite um valor inteiro:"); scanf("%d", &a); b = f1(a); printf("%d \n", b); } Resposta Selecionada: e. 1, 1, 120. Respostas: a. 0, 1, 5. b. 1, 2, 3. c. 5, 10, 15. d. 10, 20, 120. e. 1, 1, 120. Comentário da resposta: Resposta: E Comentário: o programa executa a função f1() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código return(n * f1(n-1)); Pergunta 7 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 #include <stdio.h> void f2(int n) { if (n == 0) printf("zero "); else { printf("%d ", n); f2(n-1); } } void main(){ int a; printf("Digite um valor inteiro:"); scanf("%d", &a); f2(a); } Resposta Selecionada: d. Zero; 1 Zero; 5 4 3 2 1 Zero Respostas: a. 0; 0 1; 0 1 2 3 4 5 b. 0; 1 0; 5 4 3 2 1 0 c. 1; 1 2; 1 2 3 4 5 d. Zero; 1 Zero; 5 4 3 2 1 Zero e. Zero; Zero 1; Zero 1 2 3 4 5 Comentário da resposta: Resposta: D Comentário: o programa executa a função f2() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código f2(n-1). Pergunta 8 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest #include <stdio.h> int func (int n) { if (n == 0) return(0); return(n + func(n-1)); } void main(){ int a, b; printf("Digite um valor inteiro:"); scanf("%d", &a); b= func(a); printf ("%d \n", b); } Resposta Selecionada: a. 0, 1, 15. Respostas: a. 0, 1, 15. b. 0, 0, 3. c. 1, 1, 15. d. 1, 2, 3. e. 3, 2, 1. Comentário da resposta: Resposta: A Comentário: o programa executa a função func() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código return(n + func(n-1)). Pergunta 9 0,1 em 0,1 pontos O programa a seguir tem como objetivo calcular o fatorial de um número n. Considere as entradas 0, 1 e 5 e assinale a alternativa que apresenta corretamente a saída para cada uma das entradas. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 #include <stdio.h> int func (int n) { if (n == 0) return(0); return(3*n + func(n-1)); } void main(){ int a, b; printf("Digite um valor inteiro:"); scanf("%d", &a); b= func(a); printf ("%d \n", b); } Resposta Selecionada: b. 0, 3, 45. Respostas: a. 0, 1, 15. b. 0, 3, 45. c. 1, 1, 15. d. 0, 3, 15. e. 1, 3, 9. Comentário da resposta: Resposta: B Comentário: o programa executa a função func() de forma recursiva retornando com o resultado quando o n foi igual a zero. Enquanto o valor de n for diferente de zero, a função é chamada de forma recursiva pelo código return(3*n + func(n-1)). Pergunta 10 0,1 em 0,1 pontos O programa realiza comparações entre duas strings verificando qual das duas aparece primeiro no dicionário, porém há um erro neste código. Assinale a alternativa que apresenta o erro no programa a seguir: Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest #include <stdio.h> #include <string.h> void main() { char *a, *b; *a = "abacate"; *b = "uva"; if (strcmp(a, b) < 0 ) printf ("%s vem antes de %s no dicionário \n", a, b); else printf ("%s vem depois de %s no dicionário \n", a, b); } Resposta Selecionada: c. As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores. Respostas: a. O teste da condicional nunca pode ser menor que 0. b. Estão faltando as chaves para identificar os blocos na condicional. c. As variáveis “a” e “b” não precisavam ser ponteiros na atribuição de valores. d. As variáveis “a” e “b” deveriam ser declaradas como string e não char. e. O programa não possui erro. Comentário da resposta: Resposta: C Comentário: as variáveis “a” e “b” não precisaria ser ponteiros na atribuição de valores, tendo dessa forma um erro de sintaxe. Uma solução desse problema seria: #include <stdio.h> #include <string.h> void main() { char *a, *b; a = "abacate"; b = "uva"; if (strcmp(a,b) < 0 ) printf ("%s vem antes de %s no dicionário \n", Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 a, b); else printf ("%s vem depois de %s no dicionário \n", a, b); } Pergunta 1 0,2 em 0,2 pontos Considerando a função de inserção de um nó em uma estrutura de dados “Lista Ligada”, escrita em Linguagem C, é correto afirmar que: No* insere (No* lista, int num) { No* novo_no = (No*) malloc (sizeof(No)); novo_no.info = num; novo_no.proximo = lista; return novo_no; } Resposta Selecionada: a. A função irá retornar um endereço que conterá um tipo No. Respostas: a. A função irá retornar um endereço que conterá um tipo No. b. Não precisamos alocar um espaço na memória para criar um nó. c. Uma vez criado o novo nó, devemos liberar a memória para ter condições de receber os dados. d. A função retorna o endereço do nó criado sem precisar fazer a inserção. e. A função declara diretamente a estrutura do nó. Comentário da resposta: Resposta: A Comentário: A função insere() recebe, por parâmetro, um ponteiro para a lista (No) e um inteiro através da variável num, retornando para a função um ponteiro (novo_no), ou seja, um endereço do tipo No. Pergunta 2 0,2 em 0,2 pontos Considere um determinado programa executando as seguintes operações, sequencialmente: I – Lê vários caracteres no teclado e cada caractere lido é colocado dentro de uma pilha. II – Esvazia a pilha e coloca cada elemento, um depois do outro, dentro de uma outra pilha. III – Esvazia a pilha e coloca cada elemento, um depois do Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest outro, dentro de umafila. IV – Esvazia a fila e imprime cada elemento, um depois do outro. Assumindo que foram inseridos os seguintes elementos: A B C D, assinale a alternativa que apresente os elementos impressos na ordem correta: Resposta Selecionada: a. A B C D. Respostas: a. A B C D. b. A A B B. c. D C B A. d. C B A D. e. D A C B. Comentário da resposta: Resposta: A Comentário: Analisando o teste de mesa, é possível observar todo o sequenciamento dos elementos, tanto na pilha quanto na fila, e o estado após a manipulação dos elementos. Pergunta 3 0,2 em 0,2 pontos Considere um determinado programa, executando as seguintes operações, sequencialmente: I – Lê vários caracteres no teclado e cada caractere lido é colocado dentro de uma pilha. II – Esvazia a pilha e coloca cada elemento, um depois do outro, dentro de uma fila. III – Esvazia a fila e coloca cada elemento, um depois do outro, dentro de uma outra pilha. IV – Esvazia a pilha e imprime cada elemento, um depois do outro. Assumindo que foram inseridos os seguintes elementos: w x y Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 z, assinale a alternativa que apresente os elementos impressos na ordem correta: Resposta Selecionada: e. w x y z. Respostas: a. w x x z. b. z y x w. c. x y w z. d. w w z z. e. w x y z. Comentário da resposta: Resposta: E Comentário: Analisando o teste de mesa, é possível observar todo o sequenciamento dos elementos, tanto na pilha quanto na fila e o estado após a manipulação dos elementos. Pergunta 4 0,2 em 0,2 pontos Na estrutura de dados do tipo Fila, os acessos aos elementos seguem uma regra fixa. Nessa estrutura, o primeiro elemento que entra é o primeiro que sai ( First-In-First-Out – FIFO). A ideia fundamental da fila é que só é possível inserir um novo elemento no final da fila e só é possível retirar o elemento que está no início da fila, e para isso são definidos os seguintes comandos: • retira (p): Retira um elemento no início da fila. • insere (p, n): Insere um elemento no fim da fila. Considerando uma estrutura de dados tipo Fila “f”, inicialmente vazia, será executada a seguinte sequência de comandos: insere(f, 10); insere(f, 20); insere(f, 30); Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest insere(f, 40); printf(“Primeiro elemento: %d \n”, retira(f)); printf(“Segundo elemento: %d \n”, retira(f)); insere(f, 50); insere(f, 60); printf(“Terceiro elemento: %d \n”, retira(f)); Após a execução dos comandos acima, assinale a alternativa que apresenta o elemento no início da fila e qual é o valor da soma de todos os elementos restantes nesta fila, respectivamente: Resposta Selecionada: c. 40 e 150. Respostas: a. 10 e 50. b. 30 e 100. c. 40 e 150. d. 30 e 180. e. 40 e 60. Comentário da resposta: Resposta: C Comentário: Analisando o teste de mesa, linha a linha, é possível verificar a sequência dos comandos entra e sai de acordo com a sequência previamente definida. A última linha apresenta o elemento 40 como sendo o primeiro elemento da fila e o número 150 representando a soma de todos os elementos restantes na fila. Pergunta 5 0,2 em 0,2 pontos Na estrutura de dados do tipo Fila, os acessos aos elementos seguem uma regra fixa. Essa estrutura, o primeiro elemento que entra, é o primeiro que sai ( First-In-First-Out – FIFO). A ideia fundamental da fila é que só é possível inserir um novo elemento no final da fila e só é possível retirar o elemento que está no início da fila, e para isso são definidos os seguintes comandos: Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 • retira (p): Retira um elemento no início da fila. • insere (p, n): Insere um elemento no fim da fila. Considerando uma estrutura de dados tipo Fila “f”, inicialmente vazia, será executada a seguinte sequência de comandos: insere(f, 12); insere(f, 8); printf(“Primeiro elemento: %d\n”, retira(f)); insere(f, 3); insere(f, 4); printf(“Segundo elemento: %d\n”, retira(f)); insere(f, 9); insere(f, 6); Após a execução dos comandos acima, assinale a alternativa que apresenta o elemento no início da fila e qual é o valor da soma de todos os elementos restantes nesta fila, respectivamente: Resposta Selecionada: b. 3 e 22. Respostas: a. 6 e 7. b. 3 e 22. c. 3 e 19. d. 12 e 42. e. 6 e 15. Comentário da resposta: Resposta: B Comentário: Analisando o teste de mesa, linha a linha, é possível verificar a sequência dos comandos entra e sai de acordo com a sequência previamente definida. A última linha apresenta o elemento 3 como sendo o primeiro elemento da fila e o número 22 representando a soma de todos os elementos restantes na fila. Pergunta 6 0,2 em 0,2 pontos Na estrutura de dados do tipo Fila, os acessos aos elementos seguem uma regra fixa. Nessa estrutura, o primeiro elemento Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest que entra é o primeiro que sai ( First-In-First-Out – FIFO). A ideia fundamental da fila é que só é possível inserir um novo elemento no final da fila e só é possível retirar o elemento que está no início da fila e, para isso, são definidos os seguintes comandos: • retira (p): Retira um elemento no início da fila. • insere (p, n): Insere um elemento no fim da fila. Considerando uma estrutura de dados tipo Fila “f”, inicialmente vazia, será executada a seguinte sequência de comandos: insere(f, 1); printf(“Primeiro elemento: %d\n”, retira(f)); insere(f, 2); insere(f, 3); printf(“Segundo elemento: %d\n”, retira(f)); insere(f, 4); insere(f, 5); insere(f, 6); Após a execução dos comandos acima, assinale a alternativa que apresenta o elemento no início da fila e qual é o valor da soma de todos os elementos restantes nesta fila, respectivamente: Resposta Selecionada: e. 3 e 18. Respostas: a. 6 e 7. b. 3 e 22. c. 3 e 19. d. 6 e 15. e. 3 e 18. Comentário da resposta: Resposta: E Comentário: Analisando o teste de mesa, linha a linha, é possível verificar a sequência dos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 comandos entra e sai, de acordo com a sequência previamente definida. A última linha apresenta o elemento 3 como sendo o primeiro elemento da fila e o número 18 representando a soma de todos os elementos restantes na fila. Pergunta 7 0,2 em 0,2 pontos Uma estrutura de dados do tipo Pilha possui uma regra de inserção dos elementos, em que o último que entra na sequência é o primeiro a sair ( Last-In-First-Out – LIFO) e para a manipulação desses dados, são definidos dois comandos básicos: • POP (p): Retira o elemento no topo da pilha. • PUSH (p, n): Insere um número “n” em uma estrutura de dados do tipo pilha “p”. Considerando uma estrutura de dados tipo Pilha “p”, inicialmente vazia, serão executados os seguintes comandos: PUSH (p, 10) PUSH (p, 3) PUSH (p, 5) PUSH (p, 6) POP (p) POP (p) PUSH (p, 12) PUSH (p, 1) POP (p) Após a execução da sequência dos comandos acima, assinale a alternativa que apresenta o elemento do TOPO da Pilha e qual é o valor da soma de todos os elementos restantes nesta pilha, respectivamente. Resposta Selecionada: b. 12 e 25. Respostas: a. 1 e 10. b. 12 e 25. c. 1 e 22. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest d. 12 e 15. e. 10 e 13. Comentári o da resposta: Resposta: B Comentário: Analisando o teste de mesa, coluna a coluna, é possível verificar a sequência dos comandos pop() e push() de acordo com a sequência previamente definida. A última coluna apresenta o elemento 12 como sendoo TOPO da pilha e o número 25 representando a soma de todos os elementos na pilha nesta mesma coluna. Pergunta 8 0,2 em 0,2 pontos Uma estrutura de dados do tipo Pilha possui uma regra de inserção dos elementos, em que o último que entra na sequência é o primeiro a sair ( Last-In-First-Out – LIFO) e para a manipulação desses dados, são definidos dois comandos básicos: • POP(p): Retira o elemento no topo da pilha. • PUSH(p, n): Insere um número “n” em uma estrutura de dados do tipo pilha “p”. Considerando uma estrutura de dados tipo pilha “p”, inicialmente vazia, serão executados os seguintes comandos: PUSH (p, 8) PUSH (p, 2) POP (p) PUSH (p, 1) PUSH (p, 4) PUSH (p, 6) POP (p) Após a execução da sequência dos comandos acima, assinale a alternativa que apresenta o elemento do TOPO da Pilha e qual é o valor da soma de todos os elementos restantes nesta pilha, respectivamente. Resposta Selecionada: d. 4 e 13. Respostas: a. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 4 e 15. b. 8 e 13. c. 6 e 19. d. 4 e 13. e. 8 e 19. Comentári o da resposta: Resposta: D Comentário: Analisando o teste de mesa, coluna a coluna, é possível verificar a sequência dos comandos pop e push de acordo com a sequência previamente definida. A última coluna apresenta o elemento 4 como sendo o TOPO da pilha e o número 13 representando a soma de todos os elementos na pilha nesta mesma coluna. Pergunta 9 0,2 em 0,2 pontos Uma estrutura de dados do tipo Pilha possui uma regra de inserção dos elementos, em que o último que entra na sequência é o primeiro a sair ( Last-In-First-Out – LIFO) e, para a manipulação desses dados, são definidos dois comandos básicos: • POP(p): Retira o elemento no topo da pilha. • PUSH(p, n): Insere um número “n” em uma estrutura de dados do tipo pilha “p”. Considerando uma estrutura de dados tipo pilha “p”, inicialmente vazia, serão executados os seguintes comandos: PUSH (p, 6) POP (p) PUSH (p,12) PUSH (p, 11) PUSH (p,5) PUSH (p,4) POP (p) Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Após a execução da sequência dos comandos acima, assinale a alternativa que apresenta o elemento do TOPO da Pilha e qual é o valor da soma de todos os elementos restantes nesta pilha, respectivamente. Resposta Selecionada: a. 5 e 28. Respostas: a. 5 e 28. b. 6 e 16. c. 6 e 17. d. 4 e 32. e. 12 e 19. Comentári o da resposta: Resposta: A Comentário: Analisando o teste de mesa, coluna a coluna, é possível verificar a sequência dos comandos pop e push de acordo com a sequência previamente definida. A última coluna apresenta o elemento 5 como sendo o TOPO da pilha e o número 28 representando a soma de todos os elementos na pilha nesta mesma coluna. Pergunta 10 0,2 em 0,2 pontos Uma lista ligada é um conjunto linear de nós conectados de forma unidirecional. Cada nó é composto por um conjunto de dados e um ponteiro indicando o endereço do elemento seguinte. Na manipulação de listas, precisamos de três operações fundamentais. Assinale a alternativa que corresponda com essas operações: Resposta Selecionada: b. Inserção, busca e remoção. Respostas: a. Insert, function e delete. b. Inserção, busca e remoção. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 c. String, nó e delete. d. Nó, ponteiro e lista. e. Função, memória e criação. Comentário da resposta: Resposta: B Comentário: O conjunto de funções que manipulam um determinado dado também é conhecido como Tipo Abstrato de Dados (TAD). Assim, as operações que fazem um conjunto de nós funcionarem dentro de um certo padrão (inserção, busca, remoção, criação, destruição, impressão) formam um TAD. Pergunta 1 0,2 em 0,2 pontos Com base no conceito de árvores binárias, para percorrer uma árvore não vazia em ordem, é correto afirmar que: I. Na primeira iteração, percorre-se a subárvore direita em ordem simétrica. II. Na segunda iteração, visita-se a raiz. III. Na terceira iteração, percorre-se a subárvore esquerda em ordem simétrica. Resposta Selecionada: e. A sequência não está correta. Respostas: a. Apenas I está correta. b. Apenas I e II estão corretas. c. Apenas III está correta. d. Apenas II e III estão corretas. e. A sequência não está correta. Comentário da resposta: Resposta: E Comentário: De acordo com o conceito de árvores binárias em ordem, para percorrer uma árvore será necessário: 1. ir para a SAE (subárvore esquerda); 2. ler o nó; 3. ir para a SAD (subárvore direita). Pergunta 2 0,2 em 0,2 pontos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Considere a árvore binária abaixo e assinale a alternativa que apresenta a sequência correta através do percurso em ordem: Resposta Selecionada: b. A B C D E F G H I. Respostas: a. F B A D C E H G I. b. A B C D E F G H I. c. A C E D B G I H F. d. F B H A D G I C E. e. E C I G D A H B F. Comentário da resposta: Resposta: B Comentário: De acordo com o conceito de árvores binárias, para percorrer uma árvore em ordem serão necessários os seguintes passos: 1. ir para a SAE (subárvore esquerda); 2. ler o nó; 3. ir para a SAD (subárvore direita). Pergunta 3 0,2 em 0,2 pontos De acordo com a definição das estruturas de Árvores Binárias, é correto afirmar: I. São estruturas de dados unidimensionais que permitem a representação em hierarquias. II. Existe um nó denominado raiz, que pode ramificar-se (ou não) em subárvores. III. Uma árvore binária é um caso especial de árvore em que um pai tem no máximo dois filhos. Resposta Selecionada: e. Apenas II e III estão corretas. Respostas: a. Apenas I está correta. b. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 Apenas II está correta. c. Apenas III está correta. d. Apenas I e II estão corretas. e. Apenas II e III estão corretas. Comentário da resposta: Resposta: E Comentário: De acordo com o conceito de árvores binárias, são estruturas de dados multidimensionais que permitem a representação de hierarquias, ou a representação em vários níveis. Pergunta 4 0,2 em 0,2 pontos De acordo com a definição das estruturas de Árvores Binárias, assinale a alternativa que apresenta os nós percorridos para buscar o nó “D” através do percurso em pré-ordem: Resposta Selecionada: c. F B D. Respostas: a. A B D. b. C D. c. F B D. d. F B A D. e. E D. Comentário da resposta: Resposta: C Comentário: De acordo com a definição de árvores binárias, para a realização de uma busca na árvore, devemos saber que os valores menores estão na SAE (subárvore esquerda) e os números maiores, na SAD (subárvore direita). Dessa forma, a busca inicia no nó raiz, segue para a esquerda e na sequência, à direita, encontrando assim, o nó “D”. Pergunta 5 0,2 em 0,2 pontos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest De acordo com a definição das estruturas de árvores binárias, assinale a alternativa que apresenta as folhas da árvore abaixo: Resposta Selecionada: e. A C E G I. Respostas: a. F B H. b. A B D C E H G I. c. B D H F. d. B D H. e. A C E G I. Comentário da resposta: Resposta: E Comentário: De acordo com o conceito de árvores binárias, como os nós A, C, E, G e I não têm ramificações, são chamados de folhas. Pergunta 6 0,2 em 0,2 pontos De acordo com a definição das estruturas de árvores binárias, assinale a alternativa que apresenta a altura da árvore abaixo: Resposta Selecionada: b. 3. Respostas: a. 2. b. 3. c. 4. d. 5. e. 9. Comentário da resposta:Resposta: B Comentário: De acordo com a definição de árvores binárias, a quantidade de nós percorridos da raiz (sem contá-la) até a folha mais distante determina Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 a altura ou níveis da árvore. Pergunta 7 0,2 em 0,2 pontos O diagrama abaixo representa uma árvore binária com o percurso em pós-ordem (pós-fixo). Assinale a alternativa que corresponda com a sequência correta do percurso correto em pós-ordem. Resposta Selecionada: c. A C E D B G I H F. Respostas: a. F B A D C E H G I. b. A B C D E F G H I. c. A C E D B G I H F. d. F B H A D G I C E. e. E C I G D A H B F. Comentário da resposta: Resposta: C Comentário: Com base no conceito de árvores binárias em pós- ordem, a sequência correta é: 1. ir para a SAE (subárvore esquerda); 2. ir para a SAD (subárvore direita); 3. ler o nó. Pergunta 8 0,2 em 0,2 pontos O diagrama abaixo representa uma árvore binária com o percurso em pré-ordem. Assinale a alternativa que corresponda com a sequência correta do percurso correto em pré-ordem. Resposta Selecionada: a. F B A D C E H G I. Respostas: a. F B A D C E H G I. Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest b. A B C D E F G H I. c. A C E D B G I H F. d. F B H A D G I C E. e. E C I G D A H B F. Comentário da resposta: Resposta: A Comentário: Para percorrer uma árvore em pré-ordem, será necessário manter a seguinte sequência: 1. ler o nó; 2. ir para a SAE (subárvore esquerda); 3. ir para a SAD (subárvore direita). Pergunta 9 0,2 em 0,2 pontos Para percorrer uma árvore binária não vazia em pós-ordem, é correto afirmar que: I. primeiro, será necessário percorrer a subárvore esquerda em ordem posterior. II. segundo, será necessário percorrer a subárvore esquerda em ordem anterior. III. terceiro, visita-se o nó raiz. Resposta Selecionada: d. Apenas I e III estão corretas. Respostas: a. Apenas I está correta. b. Apenas II está correta. c. Apenas III está correta. d. Apenas I e III estão corretas. e. Apenas II e III estão corretas. Comentário da resposta: Resposta: D Comentário: De acordo com o conceito de árvores binárias em pós-ordem, para percorrer uma árvore será necessário: 1. ir para a SAE (subárvore esquerda); 2. ir para a SAD (subárvore direita); 3. ler o nó. Pergunta 10 0,2 em 0,2 pontos Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 Para percorrer uma árvore binária não vazia em pré-ordem, é correto afirmar que: I. A primeira iteração será no nó raiz. II. A segunda iteração ocorrerá na subárvore esquerda em ordem prévia. III. A terceira iteração ocorrerá na subárvore direita em ordem prévia. Resposta Selecionada: e. Todas as alternativas estão corretas. Respostas: a. Apenas I está correta. b. Apenas II está correta. c. Apenas III está correta. d. Apenas II e III estão corretas. e. Todas as alternativas estão corretas. Comentário da resposta: Resposta: E Comentário: De acordo com o conceito de árvores binárias em pré-ordem, para percorrer uma árvore será necessário: 1. ler o nó; 2. ir para a SAE (subárvore esquerda); Baixado por julia (jg304258@gmail.com) lOMoARcPSD|32728594 https://www.studocu.com/pt-br?utm_campaign=shared-document&utm_source=studocu-document&utm_medium=social_sharing&utm_content=quest Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10 Pergunta 1 Pergunta 2 Pergunta 3 Pergunta 4 Pergunta 5 Pergunta 6 Pergunta 7 Pergunta 8 Pergunta 9 Pergunta 10
Compartilhar