Buscar

AO2 Substitutiva Algoritmos e lógica de programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Entrega 30 out em 23:59 Pontos 6 Perguntas 10 Disponível 29 set em 0:00 - 30 out em 23:59 
MAIS RECENTE	Tentativa 1	32 minutos	6 de 6 Pontuação deste teste: 6 de 6
Enviado 1 out em 0:42
Esta tentativa levou 32 minutos.
Pergunta 1 0,6 / 0,6 pts
Leia o texto a seguir:
A ordenação é o processo de arranjar um conjunto de informações semelhantes em uma ordem crescente ou decrescente, no qual podemos identificar três métodos: por troca, por seleção e por inserção.
A mais conhecida é a ordenação por troca, ou popularmente conhecida como ordenação bolha. Nesta técnica, verifica-se a matriz e cada elemento com seu sucessor x[i] com x[i + 1]. A partir desta comparação, o algoritmo decide pela troca ou não das posições destes elementos.
(Fonte: SCHILDT, H. C. Completo e Total. São Paulo: Makron Books, 2006, p. 51).
Considerando as informações apresentadas, avalie as afirmações a seguir:
I. O conceito intrínseco que temos na ordenação por troca é percorrer de forma sequencial todas as posições da matriz a ser ordenada, em sucessivas comparações.
II. Para ordenar um vetor de uma única dimensão, pela técnica de ordenação por troca, podemos utilizar a estrutura de repetição for, porque a este proporciona um controle automático do acesso a todas as posições do vetor.
III. Podemos utilizar o comando while para ordenar, por troca, uma matriz unidimensional, pois podemos utilizar a variável que controla o laço de repetição while para indexar a todas as posições do vetor
É correto o que se afirma em:
 II e III apenas. 
 III, apenas. 
 II, apenas. 
 I, II e III. Correto! Alternativa A
Alternativa está correta. A afirmativa I é verdadeira, pois envolve repetidas comparações e a troca de dois elementos adjacentes, caso isso seja necessário. A ordenação por troca é dirigida por dois laços: o laço mais externo faz com que a matriz toda seja percorrida, enquanto o laço interno proporciona as comparações e as possíveis trocas. A afirmativa II é verdadeira, pois a estrutura do comando for proporciona que cada elemento da matriz seja acessado, podemos então utilizar a variável sentinela do comando para indexar a variável. A afirmativa III é verdadeira porque o comando while possui uma estrutura que proporciona indexar onde podemos utilizar a variável sentinela para acessar as posições da matriz. Logo, a alternativa correta é I, II e III.
 I e II, apenas. 
Pergunta 2 0,6 / 0,6 pts
Leia o texto a seguir:
As técnicas mais conhecidas e utilizadas no desenvolvimento de programas de computador são o algoritmo e o diagrama de blocos (fluxograma). O algoritmo pode ser entendido como uma descrição textual. Podemos descrever os diversos caminhos de um processamento por intermédio de um diagrama de blocos. O diagrama de blocos se caracteriza pela utilização de símbolos gráficos que representam um processo ou uma ação, os quais estão ligados por meio de setas que indicam a possível trajetória do fluxo.
Os vários símbolos utilizados no diagrama de blocos (diagrama) designam o início ou final do fluxo, fluxo de dados, processamento, decisão, display, dispositivo (disco), cartão perfurado, entrada manual de dados e o conector.
(Fonte: ALVES, W. P. Linguagem e Lógica de Programação.
São Paulo: Érica, 2015).
Na representação gráfica de um algoritmo (fluxograma), podemos observar dois importantes símbolos utilizados, o retângulo e o losango, que representam, respectivamente, decisão e processamento. Entendemos que a decisão está relacionada aos comandos de desvio de fluxo, e que o processamento está relacionado aos comandos de manipulação de dados. 
processamento e fluxo de dados. Entendemos que o processamento está relacionado aos comandos de manipulação de dados, e que o fluxo de dados está relacionado aos comandos para conectar partes do código. 
processamento e laço de repetição. Entendemos que o processamento está relacionado aos comandos de manipulação de dados, e que o laço de repetição está relacionado aos comandos de desvio de fluxo. 
laço de repetição e processamento. Entendemos que o laço de repetição está relacionado aos comandos de desvio de fluxo, e que o processamento está relacionado aos comandos de manipulação de dados. 
Correto!
processamento e decisão. Entendemos que o processamento está relacionado aos comandos de manipulação de dados, e que a decisão está relacionada aos comandos de desvio de fluxo. 
Alternativa A
Alternativa está correta. O retângulo é o símbolo de processamento utilizado para indicar cálculo, atribuição de valores ou qualquer manipulação de dados. Já o símbolo de losango indica decisão, isto é, o comando relacionado às decisões, indicando a possibilidade de desvio de fluxo, cujo resultado deverá ser somente verdadeiro ou falso.
 
Pergunta 3 0,6 / 0,6 pts
Leia o texto abaixo:
O conceito de atribuição de valores a uma variável está relacionado ao armazenamento de um valor a ela. Na linguagem C, utilizamos o sinal de igual para designar que uma variável está para receber um valor. Para que possamos lhe atribuir um valor, a variável deverá ser declarada antes. Em sua declaração, deverá estar especificado o tipo de dado que a variável poderá receber. A uma variável, somente podem ser atribuídos valores compatíveis com o tipo a que a variável foi declarada. Por exemplo, a uma variável do tipo int, não se pode atribuir a constante ‘x’.
Considerando as informações apresentadas, avalie as afirmações a seguir:
I. Ao atribuirmos a uma variável a seguinte constante ‘A’, podemos dizer que é um tipo de atribuição do tipo caractere.
II. A linguagem C permite apenas que seja feita uma única atribuição de valor no mesmo comando de atribuição.
III. A linguagem C não permite que seja feita a atribuição de valor para uma variável pelo retorno direto da função.
É correto o que se afirma em:
II, apenas. 
II e III apenas. 
 I, II e III. 
 I, apenas. Correto!
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque uma atribuição do tipo caractere caracteriza-se pelo recebimento de um único caractere alfanumérico, envolvido por aspas simples. Afirmativa II é falsa porque a linguagem C permite a atribuição de valores para as múltiplas variáveis em um só comando, por exemplo: valorA, valorB, valorC = 1.00. A Afirmativa III é falsa porque a linguagem permite a atribuição de valores a uma variável com o retorno de valores, por exemplo: salario=CalcSalario(). Importante destacar que o tipo de dado da variável que receberá o valor deve ser igual ao tipo de dado de retorno declarado na função. Logo, a alternativa correta é I, apenas.
I e II, apenas. 
 
Pergunta 4 0,6 / 0,6 pts
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
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:
As asserções I e II são proposições ambas falsas 
As asserções I e II são proposições verdadeiras, e a asserção II é uma justificativa correta da I. Correto!
Alternativa está correta. A asserção I é uma proposição verdadeira porque o comando return possui duas importantes utilizações dentro de uma função: provocar a saída imediata da função e devolver um valor para o ponto de chamada da função. A linguagem C permite que, dentro de uma mesma função, seja codificado mais de um comando return. Isso porque o término de uma função pode ser executado em qualquer ponto dela. É importante, porém, que o valor devolvido em todos os pontos seja do mesmo tipo do dado que consta no comando de declaração da função. A asserção II é uma proposição verdadeira porque a linguagem C impõe que todo comando return (quando devolve valores), ao ser codificado, deverá devolver valores do mesmo tipo de dado que consta na declaração da função. A asserção II justifica a corretamente a asserção I, já que ela afirma que os comandos devem devolver valores do mesmo tipo.
 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. 
 
Pergunta 5 0,6 / 0,6 pts
Leia o texto abaixo:
Muitos comandos em C contam com um teste condicional que determina o curso da ação. Uma expressão condicional chega a um valor verdadeiro ou falso. C suporta dois tipos de decisões: IF e switch. Além disso, o operador ternário é uma alternativa ao comando if.
As principais estruturas de decisão são representadas em linguagens hipotéticas (pseudolinguagem), pelos comandos:
SE...ENTÃO...; SE...ENTÃO...SENÃO; ESCOLHA...CASO...FIM-ESCOLHA.
(Fonte: SCHILDT, H. C. Completo e Total. São Paulo: Makron Books, 2006).
Qual é o tipo de decisão que podemos identificar na estrutura de decisão, que é composta por uma avaliação da condição (expressão lógica) e que executa um dos dois comandos (lado verdadeiro ou lado falso) e logo em seguida segue para o final da estrutura?
Decisão múltipla. 
 Laço de repetição. 
Decisão simples. Correto!
Alternativa A
Alternativa está correta, pois a estrutura de decisão simples tem como objeto a escolha de um entre dois comandos alternativos. A sua estrutura é composta pelo comando de avaliação da condição e duas alternativas: positivo (verdadeiro) ou negativo (falso). Logo após a sua execução, o controle do programa segue para o final da estrutura. A escalada de decisão, mais conhecida como escalada de if-else-if, possui uma estrutura de decisões encadeadas, ou seja, uma sucessão de if simples dentro de outro if. O operador ternário requer três operandos, verifica uma condição e retorna um valor. A decisão múltipla é uma estrutura que permite o teste sucessivo de valores em uma expressão a partir de uma lista. O laço de repetição não é uma estrutura de repetição, mas uma forma de repetir várias vezes um bloco de comandos. O laço de repetição pode conter um elemento de decisão em sua estrutura.
Operador ternário. 
Escalada de decisão. 
Pergunta 6 0,6 / 0,6 pts
Leia este trecho:
Uma variável é uma posição de memória do computador em que um valor pode ser armazenado para utilização de um programa. A variável deve ser declarada onde é especificado o tipo de dado que esta variável deverá receber. As variáveis podem receber valores numéricos inteiros, numéricos decimais, caractere, booleano ou texto. Para a realização de cálculos aritméticos, é necessário que todas as variáveis envolvidas na operação sejam do tipo numérico.
Considerando as informações apresentadas, avalie as afirmações a seguir:
I. Uma variável declarada com tipo de dado int pode receber o valor 150,01 sem prejuízo ao resultado final na precisão do resultado de uma operação matemática.
II. Uma variável declarada com tipo de dado bool possui a melhor precisão quanto ao resultado final uma operação matemática.
III. Um programador deve estar atento à declaração das variáveis numéricas quanto à necessidade de utilização de casas decimais nos resultados finais das operações de que as variáveis fazem parte.
É correto o que se afirma em:
I, II e III. 
II e III apenas. 
I e II, apenas. 
II, apenas. 
III, apenas. Correto!
Alternativa A
Alternativa está correta. A afirmativa I é falsa porque uma variável do tipo int somente pode receber valores numéricos inteiros, ou seja, não possui a parte decimal. Portanto, a utilização da referida variável em uma operação matemática, para um valor com casas decimais, neste caso 150,01, trará prejuízo ao resultado final. A afirmativa II é falsa porque uma variável do tipo bool (booleano) pode receber somente valores booleanos (verdadeiro ou falso). Portanto, este tipo de variável não pode ser parte das variáveis que fazem operações matemáticas. A afirmativa III é verdadeira porque um programador deve estar atento à declaração das variáveis numéricas, pois cada variável que fizer parte de uma operação matemática deve estar de acordo com os valores envolvidos na operação. Por exemplo, quando a operação envolve somente valores numéricos sem casas decimais, devemos utilizar variáveis do tipo int, porém, se envolver valores numéricos com casas decimais, devemos utilizar variáveis do tipo double ou float. Logo, a alternativa correta é III, apenas.
Pergunta 7 0,6 / 0,6 pts
Leia o texto a seguir:
Para que possamos ter o entendimento pleno do conceito de expressões lógicas, é muito importante ter o domínio da utilização dos operadores lógicos, posto que expressões lógicas são formadas a partir da utilização de operadores relacionais e operadores lógicos. Os operadores lógicos retornam um valor verdadeiro ou falso de acordo com seus operandos. Os operandos são E (AND), OU (OR) e NÃO (NTO).
Ao utilizar o operador lógico AND, o resultado só será verdadeiro se as duas condições relacionadas forem verdadeiras; ao utilizar o operador OR, basta que uma das condições seja verdadeira para que o resultado seja verdadeiro; ao utilizar o operador NTO, para que o resultado seja falso as duas condições devem ser falsas.
Considerando as informações apresentadas, avalie as afirmações a seguir:
 
I. O operador booleano AND pode relacionar duas ou mais condições dentro da mesma estrutura condicional.
II. Quando temos o operador AND dentro de uma estrutura de condição, o resultado da condição será sempre falso.
III. Quando temos o operador OR dentro de uma estrutura de condição, o resultado da condição nunca poderá ser falso.
É correto o que se afirma em:
II e III, apenas. 
I, apenas. Correto!
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque, pelo fato de ser comum a necessidade de fazer o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução if (testes múltiplos), utilizamos os operadores lógicos, também conhecidos como operadores booleanos, e o operando AND se encaixa neste caso. A afirmativa II é falsa porque, ao utilizarmos o operador AND, o resultado de uma expressão lógica poderá ser verdadeiro ou falso, dependendo da comparação entre os seus operandos. Por esse motivo, é importante que tenhamos o domínio dos resultados gerados na tabela verdade. A afirmativa III é falsa porque, ao utilizarmos o operador OR, o resultado de uma expressão lógica poderá ser verdadeiro ou falso, dependendo da comparação entre os seus operandos. Por esse motivo, é importante que tenhamos o domínio dos resultados gerados na tabela verdade. Dessa forma, a alternativa correta é I, apenas.
I e II, apenas. 
I, II e III. 
III, apenas. 
Pergunta 8 0,6 / 0,6 pts
Leia o texto a seguir:
A prática dos paradigmas de lógica de programação de laço de repetição é um recurso muito importante para o controle de fluxo de um programa. A linguagem de programação Cdisponibiliza três comandos (for, while e do-while) que atendem de forma plena a este recurso.
A estrutura de repetição for objetiva executa um bloco de comando, por um certo número de vezes, controlado por uma variável específica para tal fim. É sugerido quando o número de repetições é controlado por uma variável controladora ou quando houver a necessidade de inicialização e atualização. O comando while é sugerido quando não há necessidade de inicializar ou atualizar variáveis contadoras. O comando do-while é sugerido quando for necessário executar um bloco pelo menos uma vez. A estrutura do comando do-while força uma primeira execução do bloco de comandos.
Considerando as informações apresentadas, avalie as afirmações a seguir:
 
I. As estruturas de repetição while e for são estruturas que possuem uma precondição para que o laço seja executado.
II. Para fazermos o controle do laço de repetição while, devemos utilizar uma variável de controle chamada sentinela.
III. O que diferencia as estruturas de repetição while e do-while é o ponto onde fazem o controle do laço de repetição.
É correto o que se afirma em:
II e III, apenas. 
I e II, apenas. 
II, apenas. 
III, apenas. 
I, II e III. Correto!
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque a estrutura de repetição while possui uma precondição para que o bloco de comando seja executado. O bloco de comando somente é executado se a precondição for verdadeira. Quando a condição atingir o estado de falso, o bloco de comando não é executado, assim, o laço de repetição termina. A Estrutura de repetição for é uma estrutura de repetição com contador (sentinela) e tem seu funcionamento controlado por uma variável que conta o número de vezes que o comando é executado. A inicialização deste contador atribui um valor inicial ao contador, a condição verifica se a contagem chegou ao fim, e o incremento modifica o valor do contador. A afirmativa II é verdadeira, porque na estrutura do comando do laço de repetição while utiliza-se um valor de controle chamado sentinela. O controle sentinela é um valor que indica o final de uma sequência de dados; enquanto o valor da sequência não for atingido, repetem-se os passos de computação do trecho de bloco de comandos. A quantidade de repetições fica, portanto, dependente de uma condição envolvendo o valor-sentinela. A afirmativa III é verdadeira, porque a estrutura de repetição do-while é semelhante a estrutura de repetição while. O que as diferencia é o ponto onde ambas testam a condição de repetição. Enquanto a condição while efetua o teste de repetição antes que o bloco de comandos seja executado, a estrutura do-while executa o teste de repetição após o bloco de comandos ser executado, ou seja, na estrutura do-while, o bloco de comando é executado, necessariamente, ao menos uma vez. Portanto, a alternativa correta é I, II e III.
Pergunta 9 0,6 / 0,6 pts
Leia o trecho abaixo:
Um algoritmo é uma sequência de passos que representam as ações que levam à solução de um problema. Essas ações são dirigidas por uma estrutura de controle, totalizando assim o algoritmo em um único bloco. À medida que os problemas a serem solucionados se tornam complexos, aumenta a complexidade dos algoritmos, aumentando assim a dificuldade de coesão interna do algoritmo. Como técnica de combate a estas circunstâncias, recomenda-se que se utilize a técnica de estrutura de soluções com seus “subalgoritmos”, conhecida como modularização de algoritmo.
(Fonte: BERG, A.; FIGUEIRÓ, J. P. Lógica de Programação. Canoas: Ulbra, 2006).
Considerando as informações apresentadas, analise as afirmações:
I. O programador tem a plena liberdade de fazer seus programas de computadores utilizando qualquer técnica de programação. A técnica de programação linear deve ser aplicada em todos os programas, cuja lógica deve ser codificada em um único módulo ou função.
II. Devemos praticar a técnica “dividir para conquistar”, pois ela proporciona solucionar problemas a partir de sua quebra em problemas menores, de mais fácil solução.
III. A prática de divisão de programas em vários módulos ou funções dificulta o entendimento da lógica que o programador aplicou no programa.
É correto o que se afirma em:
II, apenas. Correto!
Alternativa A
Alternativa está correta. A afirmativa I é falsa porque, apesar de o programador ter plena liberdade na criação de seus programas, a técnica de programação linear não deve ser adotada, pois o programa fica muito complexo e de difícil compreensão, consequentemente, dificulta sua manutenção. A técnica “dividir para conquistar” deve ser praticada, visto que traz mais qualidade ao programa, com codificação mais clara e de fácil manutenção. A afirmativa II é verdadeira, porque a técnica “dividir para conquistar”, ou simplesmente programação modular, proporciona que façamos a divisão da complexidade, transformando-a em problemas menores. Cada parte do problema é dividido onde resulta um fragmento de código. Dessa forma, diminuímos a possibilidade de erros de lógica de programação. A afirmativa III é falsa porque, ao dividirmos os problemas maiores em problemas menores, diminuímos sua complexidade. Com isso, diminuímos a possibilidade de erros de lógica de programação. Portanto, a alternativa correta é II, apenas.
I, II e III. 
III, apenas. 
II e III apenas. 
I e II, apenas. 
Pergunta 10 0,6 / 0,6 pts
Leia o texto abaixo:
Um ponteiro é um endereço de memória de uma variável. Uma variável de ponteiro é especialmente declarada para guardar um ponteiro para seu tipo especificado. Saber o endereço de uma variável pode ser de grande ajuda em certos tipos de rotinas.
Na linguagem C, para declarar um ponteiro, utilizamos os operadores ‘*’ e ‘&’, sendo o primeiro o operador de indireção, e o segundo serve para obter o endereço de uma variável, por exemplo: 
int valor = 33; int * ponteiro_valor; ponteiro_valor = &valor.
É importante destacar que, pelo fato de o ponteiro realizar um acesso indireto, o ponteiro deve ter o mesmo tipo de dado da variável apontada.
(Fonte: SCHILDT, H. C. Completo e Total. São Paulo: Makron Books, 2006, p. 51).
Considerando as informações apresentadas, avalie as afirmações a seguir:
I. Supondo que a int variável2=10; e que seja feita uma atribuição a uma variável ponteiro int *valor1 = &valor2; podemos dizer que a variável valor1 ficará também com 10 em seu valor.
II. O operador de ponteiro aponta para um endereço de memória de um operando.
III. Não podemos utilizar variável de ponteiro em operações matemáticas
É correto o que se afirma em:
II, apenas. Correto!
Alternativa A
Alternativa está correta. A afirmativa I é falsa porque o princípio básico de uma variável de ponteiro é que ela não guarda conteúdo, mas guarda endereço de memória de outra variável. Portanto, a atribuição que analisamos no enunciado da questão faz com que a variável *valor1 seja valorizada com o endereço de memória da variável valor2. A afirmativa II é verdadeira porque o princípio básico de uma variável de ponteiro é que ela não guarda conteúdo, mas guarda endereço de memória de outra variável. A afirmativa III é falsa porque podemos sim utilizar uma variável de ponteiro em operações matemática, posto que o valor a ser utilizado está no endereço de memória da variável apontada pela variável ponteiro. Assim, a alternativa correta é II, apenas.
 I, II e III. 
 III, apenas. 
 I e II, apenas. 
 II e III apenas. 
Pontuação do teste: 6 de 6

Continue navegando