Buscar

AO2 - 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 7 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 7 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

19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 1/7
AO2
Entrega 19 dez em 23:59 Pontos 6 Perguntas 10 Disponível 19 out em 0:00 - 19 dez em 23:59 Limite d
Instruções
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 14 minutos 6 de 6
Pontuação deste teste: 6 de 6
Enviado 19 dez em 19:33
Esta tentativa levou 14 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO
0,6 / 0,6 ptsPergunta 1
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.
 
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:
 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 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 correta da I. 
 As asserções I e II são ambas proposições falsas. Correto!Correto!
A alternativa está correta. A asserção I é uma proposição falsa porque o 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; ele deve ser usado somente quando o 
laço de repetição for opcional. A asserção II é uma proposição falsa porque o do-while é um comando de repetição que, primeiramente, executa o 
laço de repetição e, em seguida, testa o seu critério de continuação para determinar se executa novamente o laço de repetição.
 A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. 
https://famonline.instructure.com/courses/34745/quizzes/171318/history?version=1
19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 2/7
0,6 / 0,6 ptsPergunta 2
Leia o texto a seguir:
Variáveis são um dos elementos fundamentais de qualquer linguagem de programação. É utilizando variáveis que os dados são recebidos e
trabalhados ao longo de um programa, assim como são armazenados ou apresentados ao término de tal programa. Cada linguagem possui suas
próprias regras para a criação e utilização de variáveis.
Uma variável é uma posição de memória, utilizada para guardar um valor que pode ser acessado e modificado pelo programa. Em linguagem C
toda variável deve
 receber valores dos argumentos das funções. 
 possuir conteúdo numérico. 
 ser definida fora de todas as funções. 
 ser declarada antes de ser utilizada. Correto!Correto!
Alternativa correta, pois em linguagem C toda variável deve ser declarada antes de ser utilizada.
 ter letras maiúsculas em seu nome. 
0,6 / 0,6 ptsPergunta 3
Leia o texto abaixo:
 
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:
 I, apenas. 
 III, apenas. 
 I e III, apenas. Correto!Correto!
Alternativa A
Alternativa está correta. A afirmativa I é verdadeira porque conceitualmente o acesso a uma tabela bidimensional tem a seguinte regra: Os valores
dos indexadores estão limitados ao tamanho da matriz, ou seja, o tamanho de uma matriz bidimensional é dado pelos valores declarados para a
linha e a coluna (i e j respectivamente). No caso do comando print..., ele manipulando a coluna [5], porém na declaração o valor máximo é [3]. A
afirmativa II é falsa porque, para acessar os dados de uma matriz bidimensional, utilizamos índices i e j que correspondem respectivamente à
referência de linhas e colunas da matriz. A afirmativa III é verdadeira porque, por definição, o laço de repetição for é recomendado quando o 
número de repetições é controlado por uma variável de valor conhecido. Uma matriz é definida como sendo uma área de tamanho definido em
linhas e colunas. O laço de repetição for é então o paradigma de laço de repetição ideal para percorrer uma matriz bidimensional. Logo, a
alternativa correta é I e III, apenas.
19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 3/7
 I e II, apenas. 
 I, II e III. 
0,6 / 0,6 ptsPergunta 4
Leia o texto abaixo:
 
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:
 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, mas a II não é uma justificativa da I. 
 As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Correto!Correto!
Alternativa A
Alternativa está correta. A asserção I é uma proposição verdadeira porque uma pseudolinguagem é uma reprodução informal das linguagens de
programação formais. Portanto, uma pseudolinguagem deve ter a seguinteestrutura: Início do programa, uma seção para a declaração de variáveis
e uma seção para a codificação do algoritmo. Além disso, é necessário que a pseudolinguagem possua regras para os aspectos lexicais, sintáticos e
semânticos que toda linguagem de programação possui. A asserção II é uma proposição verdadeira e justifica corretamente a asserção I. Uma
pseudolinguagem precisa ter uma estrutura em conformidade com as linguagens formais porque faz com que a transformação da
pseudolinguagem para o código formal tenha uma correspondência de paradigmas entre ambas.
 A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 
0,6 / 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.
19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 4/7
 
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:
 As asserções I e II são ambas proposições falsas. 
 A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. Correto!Correto!
Alternativa A
Alternativa está correta. A asserção I é uma proposição verdadeira, visto que variáveis locais só podem ser referenciadas por comando que estão
dentro do bloco no qual as variáveis foram declaradas. Pelo princípio da variável local, ela somente pode ser visível pela função que a criou, ou
seja, embora as variáveis distintas sejam homônimas, elas não são visíveis no programa inteiro. A asserção II é uma proposição falsa, pois as
variáveis criadas fora de todas as funções que fazem parte do programa são variáveis globais; e como tal são reconhecidas pelo programa inteiro,
podendo ser usadas em qualquer ponto do programa, e não somente pela função main().
 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 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 da I. 
0,6 / 0,6 ptsPergunta 6
Leia o texto a seguir:
 
Na programação estruturada, acredita-se que algumas estruturas básicas auxiliam o programador a resolver todos os problemas que se
apresentarem. Programas estruturados são executados de forma sequencial, contando com estruturas de seleção, de repetição e desvio.
Qual é a estrutura (ou comando) condicional utilizada para escolher um entre dois comandos alternativos, e que permite o encadeamento (pode
ser aninhado), e escalada?
 Comando switch 
 Comando if Correto!Correto!
Alternativa correta. O comando de seleção que permite o encadeamento e a escalada, é o comando if.
 Comando continue 
 Comando while 
 Comando ? 
0,6 / 0,6 ptsPergunta 7
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
19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 5/7
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.
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:
 II, apenas. Correto!Correto!
Alternativa está correta. A afirmativa I é falsa porque o comando goto é um recurso que deve ser evitado na lógica de programação, posto que ele
possibilita que o fluxo normal da lógica seja interrompido, e isso propicia muitas oportunidades de erros de lógica. Não se coloca em dúvida a
habilidade de quem o usa, porém, partindo-se do princípio de que programas são passíveis de manutenção, o comando goto dificulta o
entendimento da lógica e potencializa os riscos de surgimento de bugs. A afirmativa II é verdadeira porque o comando return é utilizado para
retornar à função chamada para o ponto que a chamou. Trata-se de um desvio porque faz com que a execução retorne ao ponto onde a chamada da
função foi feita. Sua sintaxe é return expressão. A “expressão” é opcional, caso a função chamada não tiver um valor associado a ela (void). A
afirmativa III é falsa porque a função break não encerra o programa, mas: i) Terminar um case (Comando switch); ii) Forçar o fim de um laço de
repetição (for, while ou do-while). O comando que encerra um programa é o exit(). Logo, a alternativa correta é II, apenas.
 I, apenas. 
 I, II e III. 
 III, apenas. 
 I e II, apenas. 
0,6 / 0,6 ptsPergunta 8
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?
 double. 
 #include. 
 return. 
 int. 
 void. Correto!Correto!
Alternativa está correta, pois toda função, ao seu término, emite um comando para a devolução de valor. O ponto de chamada da função deve estar
preparado para receber o valor. Para isso, na declaração da função deve-se indicar qual é o tipo de dado que deve ser retornado. Entretanto, se a
função não devolver valor, deverá ser indicado quando da codificação da função. Para tanto, a função é declarada com o termo void, no lugar do
tipo de dado. Por exemplo: void fun_nome() { }.19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 6/7
0,6 / 0,6 ptsPergunta 9
Leia o texto a seguir:
 
Uma função é uma unidade de código de programa autônoma projetada para cumprir uma tarefa particular.
Funções permitem grandes tarefas de computação, sejam divididas em tarefas menores.
Uma das principais razões da existência de funções é evitar que o programador tenha de escrever o mesmo código repetidas vezes.
As funções em C são utilizadas como funções, quando retornam valores; podem ser chamadas de dentro de uma expressão e não recebem
parâmetros. Podem ser utilizadas também como sub-rotinas, quando não retornam valores; são chamadas por um comando CALL e recebem
parâmetros.
No entanto, não pode haver aninhamento de uma função dentro de outras funções. Cada bloco de um programa em C é uma e somente uma
função.
 
Adaptado de: https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC .
Acesso em: 13/10/2020.
Considerando o texto acima, assim como o conteúdo visto, avalie as afirmações a seguir:
 
1. A passagem de valores entre funções pode acontecer por valor ou referência, sendo que a passagem por referência pode ser ainda efetuada
como Matriz, como Matriz sem dimensão ou como ponteiro.
2. A diferença entre passagem por referência e por valor é que na passagem por valor, quando acaba a função os parâmetros não foram
alterados pela execução da função chamada. Já na chamada por referência, quando acaba a função os parâmetros são alterados pela
execução da função chamada.
3. Na chamada por referência é feita uma cópia do valor do argumento no parâmetro formal da sub-rotina, logo as alterações de valores que
acontecerem dentro da sub-rotina, não serão refletidas nas variáveis do chamador.
 
É correto o que se afirma em:
 III apenas. 
 II e III apenas. 
 II apenas. 
 I apenas. 
 I e II apenas. Correto!Correto!
Alternativa correta. São corretas as afirmativas I e II, pois quando se passa valores entre funções na linguagem C, esses valores podem ser 
passados de duas formas: por valor ou por referência, sendo que na passagem por valor, quando acaba a função os parâmetros não foram alterados 
pela execução da função. Isso ocorre, pois os parâmetros estão em uma área de memória que pertence somente à função chamadora. Já na 
chamada por referência, quando acaba a função os parâmetros são alterados pela execução da função chamada. Isso ocorre, pois na chamada por 
referência a manipulação dos parâmetros ocorre na área da memória que é compartilhada entre a função chamadora e a função chamada. Há três 
formas de se efetuar uma chamada por referência: como Matriz, como Matriz sem dimensão ou como ponteiro.
0,6 / 0,6 ptsPergunta 10
Leia o texto a seguir:
 
O que é uma variável?
Variável é um local reservado na memória para armazenar um tipo de dado.
Toda variável deve ter um identificador, ou seja, um nome. Além de ter um nome, a variável também precisa ter um tipo. O tipo de dado de uma
variável determina o que ela é capaz de armazenar.
 
Tipos de dados
Existem diversos tipos de dados que podem ser usados nas variáveis.
Cada tipo de dado é específico para armazenar um determinado formato de dado.
https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC
https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC
https://wiki.ifsc.edu.br/mediawiki/index.php/AULA_13_-_Introdu%C3%A7%C3%A3o_%C3%A0_Linguagem_C_-_FIC
19/12/23, 20:01 AO2: DP.ADAP.BIM - Algoritmos e Lógica de Programação
https://famonline.instructure.com/courses/34745/quizzes/171318 7/7
Podemos dizer que os principais tipos de dados numéricos se dividem em:
Inteiro: armazena números inteiros
Real: armazena números com casas decimais, são as variáveis de ponto flutuante;
O tipo de dado caracter é capaz de representar um caracter ou um conjunto de caracteres (letras, dígitos ou símbolos).
 
Fonte: CASAVELLA, E. Variáveis em Linguagem C. Disponível em: http://linguagemc.com.br/variaveis-em-linguagem-c/ . Acesso em: 05
de abril de 2021.
 
O tipo de dados float refere-se também aos dados do tipo
 caractere. 
 real com precisão simples. Correto!Correto!
Alternativa correta.
O tipo de dado chamado de float em linguagem C representa os números reais.
Caracteres são representados pelo char.
Números inteiros são representados pelo int.
Números reais com precisão dupla são representados pelo double.
Local não é um tipo de dado. 
 inteiro. 
 local. 
 real com precisão dupla. 
Pontuação do teste: 6 de 6
Anterior Próximo
http://linguagemc.com.br/variaveis-em-linguagem-c/
http://linguagemc.com.br/variaveis-em-linguagem-c/
http://linguagemc.com.br/variaveis-em-linguagem-c/
https://famonline.instructure.com/courses/34745/modules/items/987645
https://famonline.instructure.com/courses/34745/modules/items/987655

Continue navegando