Buscar

Atividade AO2 FAM@

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

Pergunta 1 
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, 
 
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. 
 
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. 
 
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. 
 
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. 
 
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. 
 
 
 
 
 
 
 
 
Pergunta 2 
 
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: 
III, apenas. 
II e III apenas. 
II, apenas. 
I, II e III. 
I e II, apenas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pergunta 3 
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: 
III, apenas. 
II e III apenas. 
I e II, apenas. 
II, apenas. 
I, II e III. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pergunta 4 
Leia o texto a seguir: 
A linguagem C permite que uma variável numérica seja incrementada ou 
decrementada automaticamente. Para esse fim, utilizam-se os sinais ++ ou -- 
junto da variável. Os sinais ++ somam 1 ao valor da variável, e o sinais -- 
diminuem 1 da variável. Outro ponto importante a destacar é que a operação 
(incremento/decremento) pode ser realizada antes ou após a atribuição 
(incremento/decremento) do valor, ou após a atribuição (incremento/ 
decremento) do valor. 
Considerando esse contexto, avalie as seguintes asserções e a relação 
proposta entre elas. 
I. Utilizamos incremento i++ no comando for. 
PORQUE 
II. A atribuição pós-incremento atende plenamente ao paradigma proposto na 
estrutura do comando for. 
A respeito dessas asserções, assinale a opção correta: 
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 verdadeira, e a II é uma proposição falsa. 
 
As asserções I e II são proposições verdadeiras, e a II é uma justificativa 
da I. 
 
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pergunta 5 
 
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: 
I, apenas. 
 
I, II e III. 
 
I e II, apenas. 
 
II e III apenas. 
 
II, apenas. 
 
 
 
 
 
 
 
 
 
 
 
Pergunta 6 
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 simples. 
 
Operador ternário. 
 
Decisão múltipla. 
 
Escalada de decisão. 
 
Laço de repetição.Pergunta 7 
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 C disponibiliza 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: 
III, apenas. 
II e III, apenas. 
 
I e II, apenas. 
 
I, II e III. 
 
II, apenas. 
 
 
 
 
 
 
 
 
 
 
Pergunta 8 
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. 
 
I, II e III. 
 
III, apenas. 
 
I e II, apenas. 
 
 
 
 
 
 
 
 
 
 
 
Pergunta 9 
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: 
I, II e III. 
 
III, apenas. 
 
I e II, apenas. 
 
II e III apenas. 
 
II, apenas. 
 
 
 
 
 
 
 
Pergunta 10 
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: 
I e II, apenas. 
 
III, apenas. 
 
II, apenas. 
 
I, II e III. 
 
II e III apenas.

Outros materiais