Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 1/11 AO2 Iniciado: 24 mar em 20:13 Instruções do teste Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,6 ptsPergunta 1 Leia o trecho abaixo: O fluxo normal de um programa de computador executa instruções em uma sequência: parte-se da primeira instrução do algoritmo até alcançar a última instrução da sequência. Um dos recursos utilizados em linguagens de programação, como forma de desvio do fluxo, é a utilização de funções. As funções são trechos de códigos executados que podem ser chamadas em qualquer ponto do programa, por outras funções. Toda função, exceto as funções declaradas como void, deve devolver valor para o ponto de chamada. Esse valor é devolvido pelo comando return. Para ilustrar a situação, imagine que um programa necessita fazer uma parte do cálculo de pagamento de um funcionário. Esse cálculo é feito a partir dos proventos e dos descontos. Então, o programa deve ser seccionado em várias funções para calcular cada um dos elementos. Cada função deve fazer o cálculo que é de sua responsabilidade e devolver o resultado para o ponto que a chamou (Função principal). Esta, por sua vez, utiliza os valores devolvidos para fazer a soma de proventos e a dedução dos descontos, gerando o valor líquido. Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas. I. Dentro de uma mesma função, pode haver mais de um comando return, porém, todos devem devolver valores do mesmo tipo. PORQUE 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 2/11 As asserções I e II são proposições verdadeiras, e a asserção II é uma justificativa correta da I. A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa da I. As asserções I e II são proposições ambas falsas. II. O comando return deve devolver valores que sejam do mesmo tipo que constam na declaração da função. Por exemplo a função “double calcSalario()”, que deve devolver um valor calculado do tipo double no(s) comando(s) return. A respeito das asserções, assinale a opção correta: 0,6 ptsPergunta 2 Leia o trecho abaixo: A linguagem C oferece estruturas para o controle do fluxo de execução de um programa. Assim, pode-se alterar a simples execução sequencial dos comandos. Dentre as estruturas de controle de fluxo, temos os comandos condicionais. Além dos comandos condicionais, a linguagem C também oferece estruturas que permitem repetir um bloco de comandos. Essas estruturas são conhecidas como comandos de repetição. A parte do programa que é executada várias vezes em um comando de repetição é chamada de laço de repetição. Considerando esse contexto, avalie as seguintes asserções e a relação proposta entre elas. I. O comando while é frequentemente utilizado quando não se conhece, a priori, quanta vezes o laço de repetição será executado, mas se sabe que o laço será executado pelo menos uma vez. O comando while deve ser utilizado quando a execução do laço de repetição não for opcional. 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 3/11 A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. As asserções I e II são ambas proposições falsas. A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a asserção II é uma justificativa correta da I. As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa correta da I. PORQUE II. O do-while é um comando de repetição que, primeiramente, testa o seu critério de continuação e somente depois, dependendo do resultado, prossegue na execução do laço de repetição. A respeito dessas asserções, assinale a opção correta: 0,6 ptsPergunta 3 Leia o trecho abaixo: Em um programa de computador, as instruções são executas em uma sequência, partindo-se da primeira instrução do algoritmo e, pelo fato de não haver desvios (condições e laços de repetição), segue gravitacionalmente até alcançar a última instrução da sequência. Para que o fluxo seja interrompido, utilizam-se recursos imperativos, como o comando goto, também conhecido por comando de interrupção abrupta, ou comando de chamada de função, além de alguma estrutura de repetição ou por estrutura de decisão. Os comandos de controle automático de fluxo (while, for, do-while) são comandos que proporcionam ao programador uma forma segura de condução do fluxo natural do programa, enquanto o comando goto atribui ao programador este controle. 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 4/11 I, II e III. III, apenas. II, apenas. I e II, apenas. I, apenas. A partir dessas informações, avalie as afirmações a seguir: I. Uma boa prática de programação é a utilização de quantos comandos goto forem necessários para controlar o fluxo do programa. Isso evidencia também que o programador é muito habilidoso na manipulação dos comandos que controlam o fluxo de execução dos programas. II. O comando return é utilizado quando a função necessita retornar ao ponto de onde ela foi chamada. Esse comando retorna um valor ou pode não retornar valor, ou seja, quando a função não tiver um valor associado a ela (void). III. O comando break é utilizado quando o programador necessita encerrar a execução do programa imediatamente. É correto o que se afirma em: 0,6 ptsPergunta 4 Leia o texto a seguir: Toda linguagem de programação possui três aspectos que um programador, ao fazer uso de uma dada linguagem, deve ter pleno domínio: aspectos lexicais, sintáticos e semânticos. Os lexicais dizem respeito ao conjunto de palavras que o programa reconhece (dicionário), o que vale tanto para variáveis, comandos e identificadores. Os sintáticos referem-se à estrutura de cada comando, ou seja, a sintaxe do comando. Os semânticos estão relacionados com a manipulação dos dados e seus respectivos tipos. 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 5/11 IDE. Case Sensitive. Eclipse. Palavra Reservada. Expressões. Do ponto de vista léxico, existem linguagens de programação que possuem regras muitos específicas para a identificação de seus vários identificadores (variáveis, comandos, labels etc.). Qual é o termo que designa uma linguagem que diferencia letras maiúsculas de letras minúsculas na codificação dos comandos e atribuição de identificadores (variáveis, nomes de funções e labels)? 0,6 ptsPergunta 5 Leia o texto a seguir: Uma variável é uma posição nomeada de memória usada para guardar um valor que pode ser modificado pelo programa. Na linguagem C, todas as variáveis devem ser declaradas antes de serem usadas. As variáveis declaradas dentro de uma função (dentro do bloco de código) são chamadas de variáveis locais. Um bloco de código inicia-se com o caractere abre-chaves ({) e termina em fecha-chaves (}). Ao contrário das locais, as variáveis globais são reconhecidas pelo programa inteiro e podem ser usadas em qualquer ponto, ou seja, por todas as funções. Essas variáveis podem preservar seus valores durante todo o processamento do programa, valores que também podem ser alterados por qualquer comando específico de atribuição de valores localizados em qualquer parte do programa. (Fonte: SCHILDT, H. C Completo e Total. São Paulo: Makron Books, 2006). Com base nos dados acima, avalie as seguintes asserções e a relação proposta entre elas. 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 6/11 As asserções I e II são proposiçõesverdadeiras, e a asserção II é uma justificativa da I. A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a asserção II não é uma justificativa da I. A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. As asserções I e II são ambas proposições falsas. I. Em um código C, podemos ter variáveis declaradas dentro de diferentes funções com o mesmo nome, e seus valores em memória são preservados, podendo ser alterados somente pela função que a criou. PORQUE II. Em linguagem C, as variáveis declaradas fora de todos os blocos (no início do programa) somente podem ser acessadas pela função main(), porque esta é a função principal do programa. A respeito das asserções, assinale a opção correta: 0,6 ptsPergunta 6 Leia o trecho a seguir: A construção de software não é uma tarefa simples. Por isso, está sujeita a diversos tipos de problema que acabam resultando na obtenção de um produto diferente daquele que se espera. Para que os erros de software sejam descobertos antes de o software ser liberado para utilização, existe uma série de atividades chamadas de validação, verificação e teste, com a finalidade de garantir que tanto o modo pelo qual o software está sendo construído quanto o produto em si estejam em conformidade com o especificado. 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 7/11 I, apenas. III, apenas. I e II, apenas II e III, apenas. I e III, apenas. (Fonte: DELAMARO, M. E.; MALDONADO, J. C.; JINO, M. Introdução ao teste de software. Rio de Janeiro: Campos/Elsevier, 2007). Considerando as informações apresentadas, avalie as afirmações a seguir: I. A única forma de testar um algoritmo é testá-lo após a codificação em uma linguagem de programação, com isso, podemos entrar com os dados. Os resultados finais mostram o comportamento exato do algoritmo nos vários cenários de teste. II. Um sistema é composto por um conjunto de programas, sendo que cada qual possui um objetivo específico, mas que são todos voltados para resolver um problema maior. Por isso, fazer testes unitários não contribui para o teste de um sistema. Somente um teste amplo é capaz de mostrar pontos falhos no todo. III. Ao término da elaboração do algoritmo, o programador deve buscar formas de verificar se está funcionando corretamente. Uma forma eficaz de utilizar uma técnica com a qual possa identificar todas as variáveis manipuladas no algoritmo, verificar todas as condições (requisitos) necessárias para solucionar o problema, dispositivos de entrada e saída, e pontos que demonstrem o comportamento do programa. É correto o que se afirma em: 0,6 ptsPergunta 7 Leia o texto abaixo: 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 8/11 I, apenas. I, II e III. I e III, apenas. I e II, apenas. III, apenas. As matrizes bidimensionais costumam ser utilizadas para representar tabelas de valores, consistindo em informações organizadas em linhas e colunas. Para identificar um elemento particular da tabela, devemos especificar os subscritos. As matrizes bidimensionais são compostas por m linhas e n colunas, e são chamadas de matrizes m por n, e estes elementos m e n determinam o tamanho da matriz. Cada elemento da matriz bidimensional é identificado (acessado) por um nome de elemento seguido dos subscritores que identificam sua localização na matriz. (Fonte: DEITEL, H. M.; DEITEL, P. J. C++: Como Programar. 5. ed. São Paulo: Pearson Prentice Hall, 2006. p. 279). Considerando as informações apresentadas, avalie as afirmações a seguir: I. Suponha uma declaração de uma matriz bidimensional (linguagem C): “int qtd[4][3];”. Com isso, o comando “printf("\n qtd %d = ", qtd[1 [5]);” possui um erro conceitual referente à manipulação de matrizes. II. Para acessar os dados de uma matriz bidimensional, utilizamos os índices i e j, que correspondem respectivamente à referência de colunas e linhas da matriz. III. Para percorrer todas as linhas e colunas de uma matriz, é recomendado o laço de repetição for. Está correto o que se afirma em: 0,6 ptsPergunta 8 Leia o texto abaixo: 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 9/11 A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. As asserções I e II são proposições falsas. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Um programador deve ter competência para resolver problemas computacionais organizadamente. Ele deve praticar os seguintes passos para a resolução sistemática de um problema computacional, no qual temos o entendimento macro do problema, a elaboração do algoritmo, a diagramação da solução e a codificação do programa. Todas as fases assinaladas são importantes. Destacamos a de elaboração do algoritmo, que traz subsídios sólidos para que a busca do programa seja com baixo índice de erros em suas soluções computacionais. Considerando o trecho acima, avalie as seguintes asserções e a relação proposta entre elas. I. Uma pseudolinguagem possui uma estrutura que simula as linguagens de programação formais praticadas por programadores profissionais. PORQUE II. Um programa codificado em pseudolinguagem deve ser totalmente aderente à estrutura de controle de fluxo e comandos das linguagens formais de programação. A respeito dessas asserções, assinale a opção correta: 0,6 ptsPergunta 9 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 10/11 I, apenas. III, apenas. I e II, apenas. II e III, apenas. I, II e III. Leia o texto a seguir: Toda linguagem de programação possui comandos que permitem a execução repetida de um determinado trecho de código de programa. Com esse recurso, o programador não precisa duplicar as linhas de código em virtude da necessidade de executá-las várias vezes. Os diversos comandos disponíveis são denominados estruturas de repetição, comumente conhecidas como laços ou loop. (Fonte: ALVES, W. P. Linguagem e Lógica de Programação. São Paulo: Érica, 2015 - Adaptado). Posto isso, avalie as afirmações a seguir: I. A utilização das estruturas de repetição “enquanto...faça...” e “para...de...ate...faça” podem ser utilizadas nos mesmos casos que necessitem de solução com laço de repetição com a quantidade de iterações definidas. II. A utilização do laço de repetição “para...de...ate...faça” é recomendada para o laço de repetição cujas quantidades de iterações não são previsíveis. III. A utilização de laço de repetição “enquanto...faça...” atende somente a soluções que necessitem de um laço de repetição com a quantidade de iterações indefinidas. É correto o que se afirma em: 0,6 ptsPergunta 10 24/03/2021 Teste: AO2 https://famonline.instructure.com/courses/15461/quizzes/56007/take 11/11 Salvo em 20:05 int. #include. double. return. void. Leia o texto a seguir: A chamada de funções proporciona ao programador uma forma eficiente de estruturar sua lógica, pois, ao fragmentarmos a resolução de um problema computacional em partes menores, passamos a ter um domínio maior do fluxo do programa. Um código em C pode ser estruturado com várias funções, e a função que obrigatoriamente deve aparecer é a função main(). Uma função pode ou não ao seu término, devolver um valor. Este valor é devolvido através do comando return. Qual é o termo, em linguagem C, que declara explicitamente que a função não devolve valores? Enviar teste
Compartilhar