Prévia do material em texto
Você acertou 3 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o exercício quantas
vezes quiser.
Verificar Desempenho
1 Marcar para revisão
Há duas maneiras de se passar argumentos ou parâmetros para funções: por valor e por
referência. Sobre passagem de parâmetros, analise as seguintes afirmativas:
I. Na passagem por referência, o que é passado como argumento no parâmetro formal
é o endereço da variável.
II. Na passagem por valor, o valor é copiado do argumento para o parâmetro formal da
função.
III. Por exemplo, quando duas variáveis inteiras i1 e i2 são passadas por valor à função
troca() chamada pelo programa principal, elas também são alteradas no programa
principal.
IV. Na passagem por referência, dentro da função, o argumento real utilizado na
chamada é acessado através do seu endereço, sendo assim alterado.
Questão 1 de 10
Corretas (3)
Incorretas (7)
Em branco (0)
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Modularização Sair
A
B
C
D
E
V. Na passagem por valor, quaisquer alterações feitas nestes parâmetros dentro da
função não irão afetar as variáveis usadas como argumentos para chamá-la.
Está CORRETO o que se afirma em:
I e III
V, apenas
I, II, IV e V, apenas
I, III e V, apenas
II e IV, apenas
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
As afirmativas I, II, IV e V estão corretas. Na passagem por referência (I e IV), o
endereço da variável é passado como argumento, permitindo que qualquer alteração
feita na função afete a variável original. Na passagem por valor (II e V), uma cópia do
valor é passada para a função, de modo que qualquer alteração feita na função não
A
B
C
afeta a variável original. A afirmativa III está incorreta, pois quando as variáveis são
passadas por valor, qualquer alteração feita na função não afeta as variáveis originais.
2 Marcar para revisão
(NUCEPE/2015 - adaptada) A modularização é importante para organizar melhor o código,
facilitar a manutenção, entre outras coisas.
Sobre a modularização, assinale a alternativa correta.
É um procedimento que sempre retorna um valor ao programa.
As variáveis definidas no escopo de cada função são acessíveis em todo o
programa.
As variáveis locais são declaradas no escopo do programa inteiro.
D
E
A passagem de parâmetros para um subprograma pode ser somente por valor.
É um método que consiste em decompor um programa em uma série de
subprogramas individuais.
Resposta incorreta
Opa! A alternativa correta é a letra E. Confira o gabarito comentado!
Gabarito Comentado
A modularização consiste em decompor um programa em uma série de subprogramas
individuais. Trata-se de um método utilizado para facilitar a construção de grandes
programas, através de sua divisão em pequenas etapas.
3 Marcar para revisão
Na linguagem c, as variáveis podem ser divididas quanto ao escopo em três tipos, sendo
assim pode-se declarar as variáveis em três locais distintos. Sobre a relação do escopo
com os locais onde são declaradas as variáveis, analise as afirmativas.
I - As variáveis globais ficam fora das sub-rotinas de um programa, por isso podem ser
usadas de qualquer lugar do programa.
II - As variáveis locais ficam dentro da sub-rotina de um programa, só tem validade dentro
da sub-rotina na qual foram declaradas.
A
B
C
D
E
III - Os parâmetros formais ficam na lista de parâmetros de uma sub-rotina, tal como as
variáveis locais, estas só têm validade dentro da sub-rotina na qual foram declaradas.
Marque a alternativa que apresenta a(s) afirmativa(s) correta(s).
As afirmativas I, II e III estão corretas.
Apenas as afirmativas I e III estão corretas.
Apenas as afirmativas I e II estão corretas.
Apenas as afirmativas II e III estão corretas.
Apenas a afirmativa I está correta.
Resposta incorreta
Opa! A alternativa correta é a letra A. Confira o gabarito comentado!
Gabarito Comentado
O primeiro local fica fora das sub-rotinas de um programa. Essas são chamadas
de variáveis globais e podem ser usadas a partir de qualquer lugar do programa.
A
B
C
O segundo local já fica dentro da sub-rotina de um programa. Essas são chamadas
de variáveis locais e só têm validade dentro da sub-rotina no qual são declaradas, isto
é, só a sub-rotina em que a variável é declarada sabe da sua existência.
O terceiro local é na lista de parâmetros de uma sub-rotina. Essas são chamadas
de parâmetros formais e são declaradas na definição dos parâmetros de uma sub-
rotina. Apesar de receberem valores externos, elas são conhecidas apenas pela sub-
rotina onde são declaradas.
4 Marcar para revisão
(FUNCAB/2015 - adaptada) Na linguagem C, o cabeçalho de biblioteca stdio.h possui
definições de subrotinas relativas às operações de entrada/saída padrão. Uma das funções
tratadas na biblioteca, associada a esse cabeçalho, é a função.
Stderr.
Trunc.
Strcpy.
D
E
Locatime.
Printf.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
As funções de E/S padrão são responsáveis pelas operações de entrada e saída de
dados. Quando um programa na linguagem C é executado, o sistema operacional é
responsável por abrir três arquivos: O arquivo de entrada padrão (stdin), o arquivo de
saída padrão (stdout) e o erro padrão (stderr). Invocando funções de E/S padrão printf,
scanf, getchar, putchar.
5 Marcar para revisão
As sub-rotinas são procedimentos e funções da programação modularizada. Um parâmetro
passado por valor para uma sub-rotina se comportará como uma variável local, isto é,
qualquer modificação no valor desta variável não será visível fora da sub-rotina. Sobre a
passagem de parâmetros, analise as afirmativas abaixo.
I - Na passagem por valor ocorre uma troca de valores entre variáveis na sub-rotina.
A
B
C
D
E
II - Na passagem por valor ocorre uma cópia do valor da variável em todas as posições de
memória, sendo possível alterar o conteúdo da variável original a qualquer momento.
III - A passagem por referência nunca deve ser utilizada.
Marque a alternativa que apresenta a(s) afirmativa(s) correta(s).
As afirmativas I, II e III estão corretas.
Apenas as afirmativas I e III estão corretas.
Apenas as afirmativas I e II estão corretas.
Apenas as afirmativas II e III estão corretas.
Apenas a afirmativa I está correta.
Resposta incorreta
Opa! A alternativa correta é a letra E. Confira o gabarito comentado!
Gabarito Comentado
A afirmativa II está incorreta. Na passagem por valor, é feita uma cópia do valor da
variável, mas essa cópia não é armazenada em todas as posições de memória.
A
B
C
Alterações feitas na cópia da variável dentro da sub-rotina não afetarão o conteúdo da
variável original fora da sub-rotina.
A afirmativa III está incorreta. A passagem por referência pode ser utilizada em
determinadas situações, quando se deseja que uma sub-rotina seja capaz de
modificar diretamente o conteúdo da variável original. Ela envolve a passagem do
endereço onde se encontra a variável usada como argumento na chamada da sub-
rotina.
6 Marcar para revisão
(VUNESP/2014 - adaptada) Existem várias formas de se passarem parâmetros para uma
sub-rotina. Na chamada por valor, é passada para a sub-rotina uma.
Cópia do valor da variável, sendo possível alterar o conteúdo da variável original.
Cópia do valor da variável, não sendo possível alterar o conteúdo da variável
original.
Informação de redundância a respeito das variáveis passadas, visando à
confiabilidade do processo.
D
E
Referência para a variável, sendo possível alterar o conteúdo da variável original.
Referência para a variável, não sendo possível alterar o conteúdo da variável
original.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado!
Gabarito Comentado
Essa forma de relacionamento do programa principal com a sub-rotina chamamos
de passagem por valor.Nela, é passada realmente uma cópia do valor indicado na
chamada do procedimento ou função. Se alterarmos o conteúdo da variável recebida
como parâmetro, alteraremos a cópia do valor original e, portanto, o original não é
modificado.
7 Marcar para revisão
A modulação é a divisão do programa em módulos menores. Essa divisão apresenta
diversas vantagens. Sobre as vantagens da modulação, analise as afirmativas abaixo.
I - Contribuir para fácil leitura do código-fonte do programa.
II - Compartimentar o programa em blocos maiores (superblocos) de forma a agrupar
esses blocos.
A
B
C
D
E
III - Aumentar os erros de repetição de trechos dentro do mesmo programa.
Marque a alternativa que apresenta a(s) afirmativa(s) correta(s).
As afirmativas I, II hnyIII estão corretas.
Apenas as afirmativas I e III estão corretas.
Apenas as afirmativas I e II estão corretas.
Apenas as afirmativas II e III estão corretas.
Apenas a afirmativa I está correta.
Resposta incorreta
Opa! A alternativa correta é a letra E. Confira o gabarito comentado!
Gabarito Comentado
A modulação não consiste em compartimentar o programa em blocos maiores
(superblocos), mas sim em dividir o programa em módulos menores, cada um com
uma função específica. Ao dividir o programa em módulos menores e reutilizáveis, é
possível evitar a repetição de código e, consequentemente, diminuir a probabilidade
A
B
de erros.
8 Marcar para revisão
Observe o trecho de código abaixo, escrito na linguagem C.
void imprimecabecalho() {
...
}
void calcula() {
int soma;
...
imprimecabecalho();
}
Com base nesse código, é correto afirmar que:
O escopo da variável soma é contido pela função imprimecabecalho().
O escopo e o tempo de vida da variável soma são iguais e contidos pela função
imprimecabecalho().
C
D
E
O tempo de vida da variável soma estende-se durante o tempo em que a função
imprimecabecalho() é executada.
O escopo da variável soma é dinâmico e se estende durante toda execução do
programa.
O escopo da variável soma se estende da função calcula() para a função
imprimecabecalho().
Resposta incorreta
Opa! A alternativa correta é a letra C. Confira o gabarito comentado!
Gabarito Comentado
A alternativa correta é a letra C. No código apresentado, a variável 'soma' é declarada
dentro da função 'calcula()', portanto, seu tempo de vida é limitado ao tempo de
execução dessa função. Quando a função 'imprimecabecalho()' é chamada dentro da
função 'calcula()', a variável 'soma' ainda está em seu tempo de vida, mesmo que não
seja utilizada dentro da função 'imprimecabecalho()'. Portanto, o tempo de vida da
variável 'soma' estende-se durante o tempo em que a função 'imprimecabecalho()' é
executada.
A
B
9 Marcar para revisão
(CESPE / CEBRASPE/2008 - adaptada)
Com relação ao código acima, analise as asserções I e II.
I - A diretiva #include deve ser incluída no início do arquivo stdio.h para a execução do
código em questão.
PORQUE
II - Na linguagem C, arquivos header com extensão ".h" tem suas funções predefinidas nas
bibliotecas da linguagem.
Marque a alternativa que apresenta a relação correta entre as asserções I e II.
Ambas as asserções são verdadeiras, e a asserção II é uma justificativa para a
asserção I.
Ambas as asserções são verdadeiras, mas a asserção II não é uma justificativa
para a asserção I.
C
D
E
A asserção I é verdadeira e a asserção II é falsa.
A asserção I é falsa e a asserção II é verdadeira.
Ambas as asserções são falsas.
Resposta incorreta
Opa! A alternativa correta é a letra B. Confira o gabarito comentado!
Gabarito Comentado
As funções predefinidas na linguagem C estão estipuladas nas bibliotecas da
linguagem, nos arquivos header com extensão ".h". Para usá-las nos programas, é
necessário incluir no início do mesmo, através da diretiva #include, a biblioteca que
possui a função que será usada.
10 Marcar para revisão
Considere o código a seguir escrito na linguagem C.
#include
Int main() {
printf(¿Valor total: %.1f\n¿, 9,1415169265);
A
B
C
D
E
return(0);
}
Assinale a alternativa que apresenta a saída correta.
Valor total: 9.141517.
Valor total: 9.1.
Valor total: 9.14.
Valor total: 9.142.
Valor total: 9.141517e+00.
Resposta incorreta
Opa! A alternativa correta é a letra B. Confira o gabarito comentado!
Gabarito Comentado
Resposta correta: Valor total: 9.1.