Baixe o app para aproveitar ainda mais
Prévia do material em texto
14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 1/21 Avaliação Online 2 Entrega 15 nov em 23:59 Pontos 20 Perguntas 10 Disponível 9 nov em 0:00 - 15 nov em 23:59 7 dias Limite de tempo 120 Minutos Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MANTIDO Tentativa 2 30 minutos 20 de 20 MAIS RECENTE Tentativa 2 30 minutos 20 de 20 Tentativa 1 71 minutos 18 de 20 As respostas corretas estarão disponíveis em 16 nov em 0:00. Pontuação desta tentativa: 20 de 20 Enviado 14 nov em 19:19 Esta tentativa levou 30 minutos. Leia com atenção as orientações abaixo antes de iniciar esta prova: Serão permitidas duas tentativas para realizar esta avaliação, prevalecendo a maior nota. Programe-se para realizar suas avaliações com tranquilidade, pois você terá 120 minutos cronometrados (por tentativa) para conclusão e envio das respostas. Ao iniciar a avaliação o cronômetro não para, independentemente da plataforma estar aberta ou não; Durante a realização da prova: Será exibido uma questão por vez, podendo “Avançar” ou “Voltar” quando necessário dentro do período da tentativa; A tentativa somente será contabilizada após clicar no botão “Enviar”. 2 / 2 ptsPergunta 1 As estruturas de decisão permitem o controle e o desvio do fluxo durante a execução de um programa de computadores. https://newtonpaiva.instructure.com/courses/9716/quizzes/20148/history?version=2 https://newtonpaiva.instructure.com/courses/9716/quizzes/20148/history?version=2 https://newtonpaiva.instructure.com/courses/9716/quizzes/20148/history?version=1 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 2/21 As estruturas de decisão fazem o controle do fluxo de execução do programa com base em condições que são avaliadas; além disso, com base no resultado dessa avaliação, determinarão quais blocos de instruções serão executados e quais serão ignorados. As condições utilizam expressões com operadores relacionais e operadores lógicos, sendo que o seu resultado é um valor lógico – VERDADEIRO ou FALSO. Uma condição é avaliada, bem como uma decisão é tomada diante do resultado dessa avaliação. Para a programação de computadores, a quantidade de caminhos disponíveis para o fluxo de execução do código e o tipo de condição a ser avaliada ajudarão na escolha de qual estrutura de decisão utilizar, lembrando que as estruturas de decisão disponíveis são: estrutura de decisão simples (if), estrutura de decisão dupla (if-else), estrutura de decisão encadeada (if-else-if) e a estrutura de decisão múltipla por valor (switch-case) (FERREIRA, 2018) Com relação às estruturas de decisão, está correto apenas o que se afirma em: As estruturas de decisão condicionais de Múltipla Escolha ou Múltipla por Valor if-else-if ou se-senão-se podem utilizar múltiplos caminhos ou não. O comando if contém uma condição formada por uma expressão aritmética. Tal condição, ao ser avaliada, dará um resultado VERDADEIRO ou FALSO, determinando o controle do fluxo de execução do código do programa, seguindo o caminho do resultado VERDADEIRO ou o caminho do resultado FALSO. As estruturas de decisão condicionais simples if ou se utiliza um único caminho para a decisão e testam somente o bloco falsidade, ou seja se a operação relacional for falsa os comandos seguintes são executados. 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 3/21 As estruturas de decisão condicionais duplas ou compostas if-else ou se- senão utilizam dois caminhos para a decisão e testam o bloco verdade e o bloco falsidade, ou seja, se a operação relacional for verdadeiro um caminho será seguido eos comandos seguintes são executados, se a operação relacional for falsa um outro caminho será seguido e os comandos seguintes são executados. As estruturas de decisão condicionais encadeadas switch-case é utilizada para a seleção de múltiplos valores e são utilizadas quando existem três ou mais caminhos sequenciais. 2 / 2 ptsPergunta 2 As possibilidades de caminhos a seguir durante a execução de um programa de computador também podem ser representadas por meio de ________________________. Esse tipo de representação serve para ajudar o programador a entender melhor o problema bem como a sua solução antes mesmo de iniciar o desenvolvimento do código. Escolha a seguir a opção correta para completar o texto acima: Biblioteca Fluxograma Panorama Organograma Diagrama Opção correta: "Fluxograma" 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 4/21 2 / 2 ptsPergunta 3 O algoritmo, em pseudocódigo (portugol), a seguir calcula a média de quatro notas de um aluno e informa se o aluno foi ou não aprovado. início // declaração de variáveis real: N1, N2, N3, N4, // notas bimestrais MA; // média anual leia (N1, N2, N3, N4); MA (N1 + N2 + N3 + N4) / 4; escreva (MA); se (MA >= 7) então início escreva (“Aluno Aprovado !”); escreva (“Parabéns !”); fim; senão início escreva (“Aluno Reprovado !”); escreva (“Estude mais !”); fim; fimse; fim. Com relação ao algoritmo apresentado, avalie as asserções a seguir e a relação entre elas. I- Este algoritmo u�liza uma estrutura de seleção composta. Porque 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 5/21 II- Quando a <condição> (MA >= 7) for falsa o “bloco verdade” é executado e Quando a <condição> (MA >=7 ) for verdadeira o “bloco falsidade” é executado. Acerca dessas asserções, assinale a opção correta. A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa. A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira. As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da primeira. Tanto a primeira quanto a segunda asserções são proposições falsas. As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da primeira. 2 / 2 ptsPergunta 4 I - O comando switch-case tem a seguinte semântica. Inicialmente verifica-se o conteúdo da variável e, em seguida, identifica-se qual das constantes corresponde ao mesmo conteúdo da variável. Após essa identificação o fluxo “pula” para executar o bloco identificado. II - Após a execução do comando ou do bloco de comandos, um outro comando entrará em ação para finalizar o Switch, sem se importar com quantas “condições” ainda teriam na sequência, pois afinal elas não precisam ser executadas. Esse comando é o break. 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 6/21 III - Caso nenhuma das constantes corresponda ao conteúdo da variável, então o comando default será executado. Marque a opção correta para as afirmativas acima: Fonte: Adaptado de CUNHA, Claudia, 2018. A I, II e III estão corretas. Apenas a II está correta. Apenas a III está correta. Apenas a I e a II estão corretas. Apenas a I está correta. A I, II e III estão corretas. 2 / 2 ptsPergunta 5 Trecho de um programa codificadoem C/C++ No trecho de programa apresentado acima, é correto somente o que se afirma em: 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 7/21 os comandos printf(“ Valor de y = %d”, y); e y = y - 1; foram executados dez vezes. O teste condicional “while ( y > x )” avalia y valendo 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 e 0. os comandos printf(“ Valor de y = %d”, y); e y = y - 1; foram executados dez vezes. O teste condicional “while ( y > x )” avalia y valendo 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10. os comandos printf(“ Valor de y = %d”, y); e y = y - 1; foram executados cinco vezes. O teste condicional “while ( y > x )” avalia y valendo 10, 8, 6, 4, 2 e 0. os comandos printf(“ Valor de y = %d”, y); e y = y - 1; foram executados cinco vezes. O teste condicional “while ( y > x )” avalia y valendo 0, 2, 4, 6, 8 e 10. os comandos printf(“ Valor de y = %d”, y); e y = y - 1; foram executados cinco vezes. Os valores da variável “y” mostrados após a execução da instrução de saída printf(“ Valor de y depois que sair da estrutura de repetição = %d”, y) serão: 0, 2, 4, 6, 8 e 10. 2 / 2 ptsPergunta 6 Apesar de possuírem como parâmetro uma condição lógica que deve fornecer VERDADEIRO ou FALSO, a estrutura while difere da estrutura if-else por uma razão. Qual é essa razão? Os comandos sob a estrutura if-else serão repetidos enquanto a condição lógica for verdadeira. No while o comando só será executado apenas uma vez caso a condição seja verdadeira. 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 8/21 Os comandos sob a estrutura while serão repetidos enquanto a condição lógica for falsa. No if-else o comando só será executado apenas uma vez caso a condição seja verdadeira. Os comandos sob a estrutura if-else serão repetidos enquanto a condição lógica for falsa. No while o comando só será executado apenas uma vez caso a condição seja falsa. Os comandos sob a estrutura while serão repetidos enquanto a condição lógica for verdadeira. No if-else o comando só será executado apenas uma vez caso a condição seja falsa. Os comandos sob a estrutura while serão repetidos enquanto a condição lógica for verdadeira. No if-else o comando só será executado apenas uma vez, caso a condição seja verdadeira. Como apresentado na Unidade 5, na seção 5.1.1 Estrutura de repetição com condição inicial – while. É explicado que while é diferente de if-else justamente por repetir blocos de código de acordo com sua condição lógica e if- else possui blocos que são executados apenas uma vez. 2 / 2 ptsPergunta 7 Um programador desenvolveu um algoritmo, utilizando a linguagem C, que faz a contagem de quantos números, entre 0 e 100, são PARES, desconsiderando na contagem todos os ÍMPARES. Ao final do programa, a quantidade de números pares encontrados é exibida na tela. 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 9/21 Marque a alternativa a seguir que corresponde ao código correto para o problema acima: #include <stdio.h> int main( ) { int contador, numero; numero = contador = 0; while(numero < 100) { if (numero % 2 == 0) contador = contador + 1; } printf(“Números pares encontrados: %i “, contador); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 10/21 #include <stdio.h> int main( ) { int contador, numero; numero = contador = 100; while(numero > 0) { if (numero % 2 == 0) contador = contador + 1; numero ++; } printf(“Números pares encontrados: %i “, contador); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 11/21 #include <stdio.h> int main( ) { int contador, numero; numero = contador = 0; while(numero < 100) { if (numero % 2 == 0) contador = contador + 1; numero ++; } printf(“Números pares encontrados: %i “, contador); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 12/21 #include <stdio.h> int main( ) { int contador, numero; numero = contador = 0; while(numero > 100) { if (numero % 2 == 0) numero = numero + 1; contador ++; } printf(“Números pares encontrados: %i “, contador); return 0; } #include <stdio.h> int main( ) { int contador, numero; numero = contador = 0; while(numero < 100) { if (numero % 2 == 0) contador ++; } printf(“Números pares encontrados: %i“, contador); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 13/21 Código todo correto: #include <stdio.h> int main( ) { int contador, numero; numero = contador = 0; while(numero < 100) { if (numero % 2 == 0) contador = contador + 1; numero ++; } printf(“Números pares encontrados: %i “, contador); return 0; } 2 / 2 ptsPergunta 8 Foi solicitado a um programador que desenvolvesse um algoritmo capaz de exibir todos os números ímpares, de 0 até 100, e que fosse exibido, ao final do programa, quantos números ímpares foram encontrados, além da soma de todos estes números ímpares. Marque a alternativa a seguir que corresponde ao código correto para o problema acima: 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 14/21 #include <stdio.h> int main( ) { int contador, soma; contador = soma = 0; for( int i=0; i<=100; i++){ if( i % 2 != 0) { contador ++; soma = soma + i; } } printf(“Números ímpares encontrados: %i, somando: %i“, contador,soma); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 15/21 #include <stdio.h> int main( ) { int contador, soma; contador = soma = 0; for( int i=0; i<=100; i++){ if( i % 2 != 0) { contador ++; soma = soma + contador; } } printf(“Números ímpares encontrados: %i, somando: %i“, contador,soma); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 16/21 #include <stdio.h> int main( ) { int contador, soma; contador = soma = 0; for( int i=0; i<=100; i++){ if( i % 2 != 0) contador ++; } printf(“Números ímpares encontrados: %i, somando: %i“, contador,soma); return 0; } #include <stdio.h> int main( ) { int contador, soma; contador = soma = 0; for( int i=0; i<=100; i++){ if( i % 2 != 0) contador ++; } soma = soma + contador; printf(“Números ímpares encontrados: %i, somando: %i“, contador,soma); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 17/21 #include <stdio.h> int main( ) { int contador, soma; contador = soma = 0; for( int i=0; i<=100; i++){ if( i % 2 != 0) contador ++; soma = soma + i; } printf(“Números ímpares encontrados: %i, somando: %i“, contador,soma); return 0; } 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 18/21 Código todo correto: #include <stdio.h> int main( ) { int contador, soma; contador =soma = 0; for( int i=0; i<=100; i++){ if( i % 2 != 0) { contador ++; soma = soma + i; } } printf(“Números ímpares encontrados: %i, somando: %i“, contador,soma); return 0; } 2 / 2 ptsPergunta 9 Para resolver um determinado problema, foi proposta a criação de um algoritmo, utilizando a linguagem C, que percorra todos os números pares entre 0 e 1000 e conte quantos são eles, exibindo na tela, após o laço for, a quantidade encontrada de números pares. O trecho de código correto com o laço for que soluciona este problema proposto é apresentado, somente em: 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 19/21 int quan�dade = 0; for (int i=0; i<=1000; i++) { if(i%2==0) quan�dade++; } prin�(“Encontrados %i numeros pares”, quan�dade); int quan�dade = 0; for (int i=0; i<1000; i+2) { if(i%2==0) quan�dade++; } prin�(“Encontrados %i numeros pares”, quan�dade); A. int quan�dade = 0; for (int i=0; i<100; i--) { if(i/2==0) quan�dade++; } prin�(“Encontrados %i números pares”, quan�dade); A. int quan�dade = 0; for (int i=0; i<=100; i-2) { if(i/2==0) quan�dade++; } prin�(“Encontrados %i números pares”, quan�dade); 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 20/21 int quan�dade = 0; for (int i=0; i<=1000; i++) { if(i/2==0) quan�dade++; } prin�(“Encontrados %i numeros pares”, quan�dade); 2 / 2 ptsPergunta 10 Na linguagem C, a estrutura de repetição For possui a seguinte sintaxe: for(inicialização; condição; pos-iteração) { <comandos/instruções> } O parâmetro “inicialização” é o ponto de partida da repetição e definição do valor inicial da variável de controle. O parâmetro “Condição” indica um limite que deverá ser atingido pela variável de controle. E o parâmetro “pós-iteração” possui qual finalidade? O parâmetro pós-iteração indica o que ocorre com a variável de controle após a inicialização. O parâmetro pós-iteração indica o que ocorre com a variável de controle após cada iteração, até que o parâmetro Condição seja satisfeito. O parâmetro pós-iteração indica o que ocorre com a variável de controle após o término da execução da estrutura For. 14/11/2020 Avaliação Online 2: OUT.TADS.1 - Construção de Algoritmos https://newtonpaiva.instructure.com/courses/9716/quizzes/20148 21/21 O parâmetro pós-iteração indica o que ocorre com a variável de controle antes da inicialização. O parâmetro pós-iteração indica o que ocorre com a valor da condição após as repetições. Como apresentado na Unidade 6 no tópico 6.1 A estrutura de repetição com o comando for. O terceiro parâmetro da estrutura de controle For estabelece como, após cada repetição, a variável de controle será manipulada. Pontuação do teste: 20 de 20
Compartilhar