Buscar

APOL 1 e 2 PROVA

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

Questão 1/10 - Linguagem de Programação 
A linguagem de programação C permite a criação dos nossos próprios tipos de 
variáveis e um desses tipos pode ser visto como um conjunto de variáveis 
referenciadas pelo mesmo nome, sendo que cada uma delas pode ter o mesmo tipo 
de dado ou vários tipos. E todas as variáveis possuem valores independentes. 
Isto se refere à: 
Nota: 10.0 
 A Struct. 
Você acertou! 
 B Union. 
 C Enum. 
 D Array. 
 E Todas as respostas. 
 
Questão 2/10 - Linguagem de Programação 
Analise o código abaixo. 
 
1. struct cadastroDeAluno 
2. { 
3. char nome[40]; 
4. char disciplina[20]; 
5. float nota1; 
6. float nota2; 
7. }; 
8. struct cadastroDeAluno aluno; 
Responda a alternativa correta acerca deste código. 
Nota: 10.0 
 A cadastroDeAluno é o nome da union. 
 B aluno é a variável que irá utilizar a struct. 
Você acertou! 
 C Uma struct só pode conter variáveis do mesmo tipo. 
 D A variável aluno é um membro da struct. 
 E Todas as alternativas estão corretas. 
 
Questão 3/10 - Linguagem de Programação 
Analise o código abaixo e responda a alternativa correta. 
 
 
1. struct calendario{ 
2. int dia; 
3. int mes; 
4. int ano; 
5. }; 
6. struct calendario agora, *depois; 
7. 
8. depois = &agora; // Coloca o endereço no ponteiro ‘depois’ 
Nota: 10.0 
 A Na linha 6 o símbolo ‘*’ indica o endereço da variável “depois”. 
 B “dia”, “mes” e “ano” são componentes de uma estrutura heterogênea de dados. 
Você acertou! 
 C A linha 8 o operador ‘&’ indica o valor de referência de “agora”. 
 D “agora” é uma variável declara como sendo um tipo de estrutura homogênea de dados. 
 E Todas as alternativas estão corretas. 
 
Questão 4/10 - Linguagem de Programação 
Qual é a saída, apresentada na tela, do fragmento de código abaixo: 
 
01. int main() { 
02. char c = 255; 
03. c = c + 10; 
04. 
05. printf("%d", c); 
06. 
07. return 0; 
08. } 
Selecione a alternativa correta. 
Nota: 0.0 
 A 265 
Incorreto. Uma variável do tipo char possui 8 bits de tamanho. Para escrever o numero 265 são necessários 9 bits.
 B Algum caractere da tabela ASCII. 
Incorreto. A máscara de apresentação de variável é "%d" portanto a saída será um número inteiro. 
 C 7 
Incorreto. O resultado da soma de 255 + 10, em variáveis com 8 bits de tamanho não resulta em 7. 
 D 9 
Correto. Como c é uma variável do tipo char com 8 bits. Quando adicionado 10 a 255 irá resultar 9, com 8 bits.
 
Questão 5/10 - Linguagem de Programação 
Armazenam o endereço de outras variáveis na memória. Ou seja, ao invés de termos 
um valor numérico ou caracteres, por exemplo, armazenado na variável, temos um 
endereço. Essa definição refere-se a qual das alternativas abaixo? 
Nota: 10.0 
 A As variáveis. 
 B Os dados. 
 C Os operadores. 
 D Os ponteiros. 
Você acertou! 
 E Todas as respostas. 
 
Questão 6/10 - Linguagem de Programação 
A memória de um computador é dividida em Bytes, numerados de zero até o limite de 
memória da máquina. Esses números são chamados endereços de Bytes, que são 
usados como referências, pelo computador, para localizar? 
Nota: 10.0 
 A As variáveis. 
Você acertou! 
 B Os dados. 
 C Os operadores. 
 D Os endereços. 
 
Questão 7/10 - Linguagem de Programação 
Foi solicitado que seja desenvolvido, em linguagem C, um programa para mostrar 
todos os números ímpares entre 1 e 100. 
Analise os códigos fornecidos e selecione a alternativa correta. 
Nota: 10.0 
 A 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=1 ; count<= 100 ; count++) 
07. if(count%2 == 1) 
08. printf("%d ",count); 
09. } 
Você acertou! 
Correto. A comparação da linha 07 seleciona somente números ímpares. 
 B 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=1 ; count<= 100 ; count++) 
07. if(count%2 != 1) 
08. printf("%d ",count); 
09. } 
Incorreto. A comparação da linha 07 seleciona somente números pares. 
 C 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=1 ; count<= 100 ; count++) 
07. if(count/2 == 1) { 
08. printf("%d ",count); 
09. } 
Incorreto. A linha 07 deveria ser com a operação módulo ao invés da divisão. 
 D 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=0 ; count< 10 ; count++) 
07. if(count%2 == 1) { 
08. printf("%d ",count); 
09. } 
Incorreto. Na linha 06 o comando for faz a contagem de 0 até 10. O enunciado pede mostrar todos os números ímpares de 1 a 100.
 
Questão 8/10 - Linguagem de Programação 
Analise as instruções abaixo e responda a alternativa correta. 
 
 
1. (*depois).dia = 28; 
2. (*depois).mes = 09; 
3. (*depois).ano = 2018; 
Nota: 10.0 
 A Os componentes podem não são acessados, pois não podemos usar o ‘*’ para referenciar um 
 B O ponteiro *depois, entre parênteses, foi usado para acessar os componentes da struct. O uso dos parênteses é opcional.
 C Os componentes da estrutura são acessados sem o uso de ponteiros neste caso. 
 D Podemos substituir “(*depois).dia” por “depois->dia”. 
Você acertou! 
 E Todas as alternativas estão corretas. 
 
Questão 9/10 - Linguagem de Programação 
A declaração de uma union é muito semelhante à uma struct. 
A union se difere da struct em que aspecto? 
Nota: 10.0 
 A Ser alocada com espaço suficiente para todos os objetos. 
 B Permitir que um conjunto de variáveis compartilhem o mesmo espaço na memória. 
Você acertou! 
 C Criar variáveis capazes de suportar dados diferentes, alocados no mesmo espaço de memória.
 D Permitir uma estrutura heterogênea de dados. 
 E Todas as respostas. 
 
Questão 10/10 - Linguagem de Programação 
Na linguagem de programação C, existem comandos que são processados durante a 
compilação do programa. Estes comandos são conhecidos como? 
Nota: 10.0 
 A Comandos especiais. 
 B Comandos pré-processados. 
 C Diretivas de compilação. 
Você acertou! 
 D Diretivas especiais. 
 E Nenhuma das respostas. 
Questão 1/10 - Linguagem de Programação 
A linguagem de programação C permite a criação dos nossos próprios tipos de 
variáveis e um desses tipos pode ser visto como um conjunto de variáveis 
referenciadas pelo mesmo nome, sendo que cada uma delas pode ter o mesmo tipo 
de dado ou vários tipos. E todas as variáveis possuem valores independentes. 
Isto se refere à: 
Nota: 10.0 
 A Struct. 
Você acertou! 
 B Union. 
 C Enum. 
 D Array. 
 E Todas as respostas. 
 
Questão 2/10 - Linguagem de Programação 
Foi solicitado que seja desenvolvido, em linguagem C, um programa para mostrar 
todos os números ímpares entre 1 e 100. 
Analise os códigos fornecidos e selecione a alternativa correta. 
Nota: 10.0 
 A 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=1 ; count<= 100 ; count++) 
07. if(count%2 == 1) 
08. printf("%d ",count); 
09. } 
Você acertou! 
Correto. A comparação da linha 07 seleciona somente números ímpares. 
 B 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=1 ; count<= 100 ; count++) 
07. if(count%2 != 1) 
08. printf("%d ",count); 
09. } 
Incorreto. A comparação da linha 07 seleciona somente números pares. 
 C 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=1 ; count<= 100 ; count++) 
07. if(count/2 == 1) { 
08. printf("%d ",count); 
09. } 
Incorreto. A linha 07 deveria ser com a operação módulo ao invés da divisão. 
 D 01. #include <stdio.h> 
02. 
03. int main() { 
04. int count; 
05. 
06. for(count=0 ; count< 10 ; count++) 
07. if(count%2 == 1) { 
08. printf("%d ",count); 
09. } 
Incorreto. Na linha 06 o comando for faz a contagem de 0 até 10. O enunciado pedemostrar todos os números ímpares de 1 a 100.
 
Questão 3/10 - Linguagem de Programação 
Armazenam o endereço de outras variáveis na memória. Ou seja, ao invés de termos 
um valor numérico ou caracteres, por exemplo, armazenado na variável, temos um 
endereço. Essa definição refere-se a qual das alternativas abaixo? 
Nota: 10.0 
 A As variáveis. 
 B Os dados. 
 C Os operadores. 
 D Os ponteiros. 
Você acertou! 
 E Todas as respostas. 
 
Questão 4/10 - Linguagem de Programação 
Podemos dizer que uma passagem de parâmetros por referência pode: 
Nota: 10.0 
 A Modificar o conteúdo da variável diretamente na memória. 
 B Passar seu endereço através dos ponteiros para uma função. 
 C As alterações sofridas dentro da função serão refletidas para fora dela. 
 D É enviado para a função uma referência às variáveis utilizadas. 
 E Todas as alternativas estão corretas. 
Você acertou! 
 
Questão 5/10 - Linguagem de Programação 
Veja o programa, desenvolvido em linguagem C. 
 
#include <stdio.h> 
 
int main() 
{ 
 int num, count; 
 
 printf("Digite um numero: "); 
 scanf("%d", &num); 
 
 for(count=1 ; count<=10 ; count++) 
 printf("%d * %d = %d\n", num, count, num*count); 
} 
 
 
Se for executado este código e informado o número 7 quando for apresentada a 
mensagem "Digite um número:" será apresentado na tela: 
Selecione a alternativa correta. 
Nota: 10.0 
 A 1 * 1 = 1 
2 * 2 = 4 
3 * 3 = 9 
4 * 4 = 16 
5 * 5 = 25 
6 * 6 = 36 
7 * 7 = 49 
8 * 8 = 64 
9 * 9 = 81 
10 * 10 = 100 
Incorreto. Verifique a ordem das váriaveis apresentadas no 
printf("%d * %d = %d\n", num, count, num*count); 
O primeiro %d irá apresentar o valor de num, informado pelo usuário. 
O segundo %d irá apresentar o valor de count, contador do laço for. 
E, o terceiro %d irá apresentar a valor da operação num*count 
 B 7 * 1 = 7 
7 * 2 = 14 
7 * 3 = 21 
7 * 4 = 28 
7 * 5 = 35 
7 * 6 = 42 
7 * 7 = 49 
7 * 8 = 56 
7 * 9 = 63 
7 * 10 = 70 
Você acertou! 
Correto. A ordem das váriaveis apresentadas no 
printf("%d * %d = %d\n", num, count, num*count); 
O primeiro %d irá apresentar o valor de num, informado pelo usuário. 
O segundo %d irá apresentar o valor de count, contador do laço for. 
E, o terceiro %d irá apresentar a valor da operação num*count 
 C 1 * 7 = 7 
2 * 7 = 14 
3 * 7 = 21 
4 * 7 = 28 
5 * 7 = 35 
6 * 7 = 42 
7 * 7 = 49 
8 * 7 = 56 
9 * 7 = 63 
10 * 7 = 70 
Incorreto. Verifique a ordem das váriaveis apresentadas no 
printf("%d * %d = %d\n", num, count, num*count); 
O primeiro %d irá apresentar o valor de num, informado pelo usuário. 
O segundo %d irá apresentar o valor de count, contador do laço for. 
E, o terceiro %d irá apresentar a valor da operação num*count 
 D 7 = 1 * 7 
14 = 2 * 7 
21 = 3 * 7 
28 = 4 * 7 
35 = 5 * 7 
42 = 6 * 7 
49 = 7 * 7 
56 = 8 * 7 
63 = 9 * 7 
70 = 10 * 7 
Incorreto. Verifique a ordem das váriaveis apresentadas no 
printf("%d * %d = %d\n", num, count, num*count); 
O primeiro %d irá apresentar o valor de num, informado pelo usuário. 
O segundo %d irá apresentar o valor de count, contador do laço for. 
E, o terceiro %d irá apresentar a valor da operação num*count 
 
Questão 6/10 - Linguagem de Programação 
Quais as duas tarefas principais que são executadas por um compilador no processo 
de tradução? 
Nota: 10.0 
 A Gerenciamento da memória e síntese. 
 B Controla e gerencia a entrada e saída de dispositivos. 
 C Análise e controle de entrada e saída de dispositivos. 
 D Análise e síntese. 
Você acertou! 
 E Nenhuma das respostas. 
 
Questão 7/10 - Linguagem de Programação 
O comando typedef é usado para criar o que? 
Nota: 10.0 
 A Um sinônimo ou um alias. 
Você acertou! 
 B Uma variável. 
 C Um novo tipo de dado. 
 D Uma constante. 
 E Um laço de repetição. 
 
Questão 8/10 - Linguagem de Programação 
A memória de um computador é dividida em Bytes, numerados de zero até o limite de 
memória da máquina. Esses números são chamados endereços de Bytes, que são 
usados como referências, pelo computador, para localizar? 
Nota: 10.0 
 A As variáveis. 
Você acertou! 
 B Os dados. 
 C Os operadores. 
 D Os endereços. 
 
Questão 9/10 - Linguagem de Programação 
Analise o código abaixo e responda a alternativa correta. 
 
 
1. struct calendario{ 
2. int dia; 
3. int mes; 
4. int ano; 
5. }; 
6. struct calendario agora, *depois; 
7. 
8. depois = &agora; // Coloca o endereço no ponteiro ‘depois’ 
Nota: 10.0 
 A Na linha 6 o símbolo ‘*’ indica o endereço da variável “depois”. 
 B “dia”, “mes” e “ano” são componentes de uma estrutura heterogênea de dados. 
Você acertou! 
 C A linha 8 o operador ‘&’ indica o valor de referência de “agora”. 
 D “agora” é uma variável declara como sendo um tipo de estrutura homogênea de dados. 
 E Todas as alternativas estão corretas. 
 
Questão 10/10 - Linguagem de Programação 
Analise o código abaixo. 
 
1. struct cadastroDeAluno 
2. { 
3. char nome[40]; 
4. char disciplina[20]; 
5. float nota1; 
6. float nota2; 
7. }; 
8. struct cadastroDeAluno aluno; 
Responda a alternativa correta acerca deste código. 
Nota: 10.0 
 A cadastroDeAluno é o nome da union. 
 B aluno é a variável que irá utilizar a struct. 
Você acertou! 
 C Uma struct só pode conter variáveis do mesmo tipo. 
 D A variável aluno é um membro da struct. 
 E Todas as alternativas estão corretas. 
Questão 1/10 - Linguagem de Programação 
O uso de funções recursivas é uma prática bastante comum em programação. Acerca 
de recursividade e funções recursivas, assinale a alternativa correta. 
Nota: 10.0 
 A Uma função recursiva pode realizar chamadas de si própria diversas vezes. Assim, é necessário tomar muito cuidado com a quant
da função devido ao excesso de uso de memória. 
 B Quando não controlada, a função recursiva será chamada de forma infinita, gerando infinitas chamadas da própria função e exce
da máquina. 
 C É considerada como um processo repetitivo de uma rotina (procedimento ou função) que faz uma chamada para ela mesma.
 D Um LOOP eterno ou infinito ocorre quando um bloco do código repete a instrução descontroladamente, sobrecarregando a memória 
travamento de todo o sistema. 
 E Todas as alternativas estão corretas. 
Você acertou! 
 
Questão 2/10 - Linguagem de Programação 
A função calloc() tem como objetivo? 
Nota: 10.0 
 A Criar um vetor com tamanho único. 
 B Criar um vetor com tamanho dinâmico. 
Você acertou! 
 C Criar um vetor com tamanho único e coloca zero nos bits do espaço alocado. 
 D Aloca e realoca um espaço na memória durante a execução do programa. 
 E Todas as alternativas estão corretas. 
 
Questão 3/10 - Linguagem de Programação 
Na manipulação de arquivos, podemos abrir um arquivo de diversos modos de acesso. 
O modo de acesso é uma string que contém uma sequência de caracteres que 
informam se o arquivo será aberto para escrita ou leitura. Depois que abrir o arquivo, 
podemos executar os tipos de ação previstos pelo modo de acesso. Assim, não será 
possível ler de um arquivo que foi aberto somente para escrita. 
Acerca dos modos de acesso usados na linguagem C, assinale a alternativa que 
contém todos eles. 
 
I. ‘r’ - Leitura de arquivo 
II. ‘w’ - Escrita em arquivo 
III. ‘a’ - Escrevendo ao final do arquivo (anexando) 
IV. ‘w+’ - Abre um arquivo tanto para leitura quanto para escrita. Se o arquivo já existir 
terá seu conteúdo substituído. 
V. Todas as alternativas estão corretas. 
Nota: 10.0 
 A I, II e III. 
 B I e II. 
 C I, II e IV. 
 D V. 
Você acertou! 
 E I, III, IV. 
 
Questão 4/10 - Linguagem de Programação 
Analisando o código fonte abaixo: 
 
#include <stdio.h> 
 func(int *a, int b) { 
 int temp; 
 temp = *a; 
 *a = b; 
 b = temp; 
 } 
 
 void main() { 
 int a = 10, b = 20; 
 func(&a, b); 
 printf("a = %d, b = %d", a, b); 
 } 
Executando este código, será apresentado na tela: 
Nota: 10.0 
 A a = 10, b = 20 
 B a = 20, b = 10 
 C a = 10, b = 10 
 D a =20, b = 20 
Você acertou! 
Como estamos trabalhando com ponteiro e endereço da memória da variável "a", ela será alterada de dentro da função
seja, a função vai usar uma cópia do valor de "b", e não a variável "b" em si, que permanecerá intocada.
 
Questão 5/10 - Linguagem de Programação 
A função memset() preenche (inicializa) uma quantidade de memória e sua sintaxe é? 
Nota: 10.0 
 A void * memset ( void * nPonteiro , int nValor , size_t nBytes ); 
Você acertou! 
 B void memset ( void nPonteiro , int nValor , size_t nBytes ); 
 C void memset ( void * nPonteiro , int nValor , size_t nBytes ); 
 D void * memset ( void * nPonteiro , int *nValor , size_t nBytes ); 
 E void * memset ( void * nPonteiro , int *nValor , size_t *nBytes ); 
 
Questão 6/10 - Linguagem de Programação 
As funções memset(), memcpy(), memmove() e memcmp() pertencem a qual 
biblioteca na linguagem C? 
Nota: 10.0 
 A stdio.h 
 B stdlib.h 
 C time.h 
 D string.h 
Você acertou! 
 E Todas as alternativas estão corretas. 
 
Questão 7/10 - Linguagem de Programação 
Uma das vantagens de criar um ponteiro para uma struct é? 
Nota: 10.0 
 A a possibilidade de passar o seu endereço como um parâmetro para uma função. 
Você acertou! 
 B a possibilidade de passar um parâmetro por valor para uma função. 
 C Que as alterações sofridas dentro da função não serão sentidas fora dela. 
 D É que é enviado para a função os dados das variáveis utilizadas. 
 E Todas as alternativas estão corretas. 
 
Questão 8/10 - Linguagem de Programação 
Nesta disciplina aprendemos sobre códigos iterativos. Acerca desta assunto, assinale 
a alternativa correta. 
Nota: 10.0 
 A Utiliza a repetição na forma de chamadas para ela mesma. 
 B Se encerra quando se alcança o caso trivial. 
 C Utiliza a repetição em forma de laços ou estruturas de repetição (para, enquanto, repita) 
Você acertou! 
 D Se o problema não for reduzido de forma que se converta para o caso trivial, e não tenha a condição de parada definida, o laço vai se repetir até s
a memória. 
 E Todas as alternativas estão corretas. 
 
Questão 9/10 - Linguagem de Programação 
Nesta disciplina aprendemos sobre macros. Acerca de funções macros, assinale a 
alternativa correta. 
Nota: 10.0 
 A São informados o nome e os parâmetros da função como sendo o nome da macro e o trecho de código semelhante a ser aplicado na 
Você acertou! 
 B A macro sabe resolver somente a partes mais simples de um todo. O caso mais trivial. 
 C As alterações sofridas dentro da função não serão sentidas fora dela. 
 D Na macro é enviado para a função os dados das variáveis utilizadas. 
 E Todas as alternativas estão corretas. 
 
Questão 10/10 - Linguagem de Programação 
Ponteiros também podem ser definidos como componentes de estruturas. Em 
linguagem C, qual o operador utilizamos para identificar uma variável ponteiro? 
Nota: 10.0 
 A ‘*’ (asterisco) 
Você acertou! 
 B ‘&’ (e comercial) 
 C ‘;’ (ponto e vírgula) 
 D ‘#’ (hashtag) 
 E ‘%’ (porcentagem)

Continue navegando