Buscar

Linguagem de Programação II - 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 6 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 6 páginas

Prévia do material em texto

GABARITO
Página 1 - 06/05/2023 às 16:39
Prova
Data de aplicação: 21/04/2023
Curso: Engenharia de Software
Disciplina: Linguagem de Programação II
Ano: 20231 / Semestre: 3
PROVA 01
Questão 1
O desenvolvimento de software sofreu uma grande crise em 1960, podemos dizer que esta crise ocorreu pela
grande demanda na criação de software, já que a tecnologia estava em grande ascenção na epoca. Descreva
quais medidas foram tomadas para resolver essa crise.
Resposta do aluno: A análise econômica de sistemas de informação (SI), o uso de melhores técnicas, métodos e
ferramentas; o investimento do governo e empresas privadas em treinamentos e educação e a mudança de
paradigma de desenvolvimento de software.
Questão 2
Na programação de computadores existem algumas maneiras de armazenar dados, dentre estas maneiras
existe o armazenamendo em arquivos. Descreva quais as vantagens a utilização deste modelo traz em relação
a variavéis.
Resposta do aluno:
Questão 3
Ao utilizarmos um ponteiro como parametro de uma função é correto afirmar que estamos passando:
a) parâmetro por referencia (correta)
b) variável por referencia
c) parâmetro por valor
d) variável por valor
Questão 4
A imagem abaixo apresenta a declaração de uma variavél e dois ponteiros. Observe que a variavél serve como
base para a inicialização dos ponteiros. Após analisarmos este codigo marque a alternativa correta.
a) Ao adicionarmos o comando cout<<pontponteiro; irá imprimir o valor 512 (correta)
b) Ao adicionarmos o comando cout<<pontponteiro; irá imprimir a posição de memoria da variável inteiro
c) Ao adicionarmos o comando cout<<*pontponteiro; irá imprimir a posição de memoria do pontinteiro
d) Ao adicionarmos o comando cout<<*pontponteiro; irá retornar um erro
Questão 5
É correto afirmar que a modularização de codigo foi um dos grandes fatores para a resolver os problemas da
crise de software em 1960 porque:
GABARITO
Página 2 - 06/05/2023 às 16:39
a) Facilita o desenvolvimento de requisitos e aumenta a qualidade do software (correta)
b) Dificulta o desenvolvimento de requisitos e aumenta a qualidade do software
c) Facilita o desenvolvimento de requisitos diminuindo a qualidade do software
d) Facilita o desenvolvimento de requisitos e aumenta a velocidade do software
Questão 6
Ao criarmos modulos de codigos na programação estrutura em C++ é possivel passar variavéis para dentro
desses modulos. Como é chamada essa tecnica de passagem de variavéis para esses modulos.
a) valores
b) dados
c) globais
d) parâmetros (correta)
Questão 7
Após analisarmos o codigo contido na imagem é correto afirmar que:
a) Na função main existem uma chamada de função que retornará o valor 3628800 (correta)
b) Na função main existem uma chamada de função que retornará o valor 3428800
c) Na função main existem uma chamada de procedimento que retornará o valor 3628800
d) Na função main existem uma chamada de procedimento que retornará o valor 3428800
Questão 8
Quanto a biblioteca fstream é correto afirmar que:
a) Possui objetos de manipulação de stream. (correta)
b) Possui bibliotecas de manipulação de string
c) Possui bibliotecas de manipulação de fstream.
d) Essa biblioteca não existe
Questão 9
Considere que o codigo na imagem tenha como entrada pelo usuario os seguintes valores a=5 e b=4. Qual será
o valor respectivo da variavel (a) e (b) ao final da execução do codigo.
GABARITO
Página 3 - 06/05/2023 às 16:39
a) 5 e 4
b) 4 e 5 (correta)
c) 4 e 4
d) 5 e 5
Questão 10
Considere o seguinte codigo
#include<iostream>
using namespace std;
int main(){
int lista[3];
int *copia;
lista[0]=1;
lista[1]=2;
lista[2]=3;
copia= new int[3];
copia=lista;
cout<<lista[1]<<",";
cout<<copia[1]<<",";
lista[1]=8;
cout<<lista[1]<<",";
cout<<copia[1];
return 0;
}
Quais valores o programa imprimirá
a) 2,2,8,2
b) 2,2,8,8 (correta)
c) 2,2,2,8
d) 1,1,2,8
PROVA 02
Questão 1
GABARITO
Página 4 - 06/05/2023 às 16:39
O método misterio(&i,&j) tem um problema. Qual é? Antes da chamada do método, temos a seguinte linha de
comando:
int i=6, j=10;
void misterio(int *p, int *q){
int *temp;
*temp = *p;
*p = *q;
*q = *temp;
}
Resposta do aluno:
Questão 2
Descreva qual a diferença entre alocação dinamica e alocação estatica.
Resposta do aluno: Alocação Estática: Decisão tomada quando o programa é compilado. Quando o programa é
executado o Sistema operacional o lê e cria um processo, sendo o programa uma noção estática e o processo o
programa em execução, que é criado em armazenamento primário e após isso recebe um espaço na memória.
Já na Alocação Dinâmica: Decisão é adiada até a execução. Os objetos alocados dinamicamente podem ser
criados e liberados a qualquer momento, em qualquer ordem, o que difere dos objetos locais das funções, que
são criados e destruídos em uma ordem específica.
Questão 3
A imagem apresenta um codigo que contem uma definição de estrutura e a criação de uma uma instancia dela
na função main. Ao executar este codigo é correto afirmar que
a) retornará um erro
b) não imprimirá nada (correta)
c) imprimirá o valor 10
d) imprimirá dados
Questão 4
A linguagem C++ reescreveu varias bibliotecas de sua antecessora e também criou novas bibliotecas para
linguagem que mudaram a maneira de executar determinadas tarefas. Portanto quais as bibliocas citadas
abaixo não foi reescrita pela linguagem C++
a) math.h (correta)
b) ctime
GABARITO
Página 5 - 06/05/2023 às 16:39
c) iostream
d) cstring
Questão 5
Ao utilizarmos o operador new em um ponteiro é possivel afirmar que
a) Estamos recebendo uma posição de memoria estática
b) Estamos alocando uma nova posição de memoria ao ponteiro (correta)
c) Estamos recebendo uma posição de memoria já definida
d) Estamos alocando uma nova posição de memoria já existente ao ponteiro
Questão 6
Assinale a alternativa incorreta
a) a palavra typedef é uma palavra reservada para criação de struct (correta)
b) a palavra typedef é uma palavra reservada para criação de atalhos a tipos existentes
c) a palavra typedef é uma palavra reservada que substitui uma struct
d) É possível utilizar a palavra reservada typedef para nomear novos tipos de dados inteiros
Questão 7
Na programação orientada a objetos, há um mecanismo que permite definir modificadores de acesso. Quando
se define um atributo de uma classe com o modificador de acesso privado, significa que
a) o atributo é acessível somente aos métodos da classe (correta)
b) o acesso à classe é privado.
c) o atributo é acessível a um programa que tenha uma referência a um objeto da classe.
d) o atributo é acessível a todos aos métodos do programa
Questão 8
A alocação de memória está dividida em partes. Em qual parte a decisão a alocação de uma variável é tomada
quando o programa é compilado?
 
a) Alocação Estática (correta)
b) Alocação Dinâmica
c) Alocação Local;
d) Alocação Híbrida
Questão 9
Sobre programação estruturada e programação orientada a objetos, é INCORRETO afi rmar que:
 
a) Existem vários paradigmas de programação, dentre eles o estruturado e o orientado a objetos.
b) No paradigma de programação estruturado, qualquer problema pode ser dividido em problemas menores,
chamados de funções.
c) paradigma orientado a objetos entende o problema como um conjunto de objetos interagindo por meio de
troca de mensagens.
d) A linguagem de programação C++ é um exemplo de linguagem orientada a objetos, que não permite a
utilização do paradigma estruturado na solução de um problema. (correta)
GABARITO
Página 6 - 06/05/2023 às 16:39
Questão 10
Na linguagem C++ existe um operador unário responsavel por resolver escopo, ou seja quando utilizamos
comando em outro espaço de nomes ou varivareis globais com mesmo nome de variaveis locais precisamos
utilizar o operador. Portanto assinale a opção que representa corretamente este operador
a) operador :: (correta)
b) operador :
c) operador <<
d) operador >>

Continue navegando