Logo Passei Direto
Buscar

Exercícios Programação Computadores

Ferramentas de estudo

Questões resolvidas

Analisando a literatura relacionada com a construção de algoritmos, existem três formatos mais comuns utilizados, que são:
Escolha uma:
a. Descrição narrativa, descrição interrogativa e símbolos.
b. Português, inglês e francês.
c. Descrição narrativa, pseudocódigo e fluxograma.
d. Símbolos e fluxograma.
e. Texto, símbolos e linguagens.

O entendimento e a posterior diferenciação dos conceitos de orientação a objetos referente aos objetos e classes são fundamentais para elaborar programas utilizando o paradigma orientado a objetos.
Para que possamos criar uma variável é necessário especificar seu nome (identificador) e o tipo de dados. Nos algoritmos e programas de computador existem alguns tipos de dados mais utilizados, podemos citar:
a. Falso e verdadeiro.
b. Real e fracionário.
c. Caractere, numérico e lógico.
d. Identificador e variável.
e. Caractere e literal.

A programação orientada a objetos faz uso de alguns conceitos principais que são:
Escolha uma:
a. Variáveis e identificadores.
b. Objetos e classes.
c. Fluxograma, variável e tipo de dado.
d. Variáveis, abstração e herança.
e. Variável, função e procedimento.

Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar um nome de identificação e o tipo de dados. Sobre os tipos de dados simples, analise os seguintes valores ou literais: 100, -90.5, ‘p’, falso.
O tipo de cada um desses literais, do início para o final, é:
a. numérico inteiro e numérico real, lógico e caractere;
b. numérico real, numérico real, lógico e caractere;
c. lógico, caractere, numérico inteiro e numérico real;
d. numérico inteiro, numérico real, caractere e lógico;
e. numérico inteiro, numérico real, string e lógico;

Seja o seguinte trecho de código: class Carro { public: string marca; string modelo; int ano; void ligar( ); void acelerar( ); void parar( ); }; carro carro1, carro2;
Sobre este programa, podemos afirmar que:
I – Modelo e marca são atributos, enquanto acelerar e parar são métodos.
II – Carro é uma classe, enquanto carro1 e carro2 são objetos.
III – Modelo e marca são métodos, enquanto acelerar e parar são atributos.
IV – Carro é um objeto, enquanto carro1 é uma classe.
a. III e IV, apenas.
b. I e IV, apenas.
c. I, II, III e IV
d. II e III, apenas.
e. I e II, apenas.

A programação orientada a objeto é uma forma de desenvolver programas de computador, assinale a alternativa que indica os benefícios desta programação:
Escolha uma:
a. aumenta o tempo de alterações e adaptações nas funcionalidades.
b. produz um conjunto definido de processos e instruções sequenciais.
c. possui estruturas isoladas de processos.
d. reduz a produtividade da equipe e a qualidade dos sistemas produzidos.
e. Aprimora os resultados do processo de desenvolvimento de softwares.

De acordo com Melo e Rios (2016), a evolução das tecnologias de software e do hardware possui relação direta com a criação e o desenvolvimento das linguagens de programação. Nesse sentido, são exemplos de Linguagens Funcionais:
Escolha uma:
a. Algol 60, C++ e Lisp.
b. Lisp, Miranda e Haskell.
c. C++, Java e Miranda.
d. Fortran, Algol 60, Ada e Java.
e. Fortram, Ada e Haskell.

Computador pode ser definido como “[...] equipamento eletrônico com capacidade de receber diversos tipos de dados e processá-los para alcançar determinado objetivo.” (MELO; RIOS, 2016). Sobre o funcionamento básico do computador, analise os seguintes eventos:
A ordem correta em que esses eventos devem ocorrer no tempo, do inicio para o final, é:
I – O computador gera uma saída, conforme solicitado pelo usuário, a qual pode ser apresentada em um monitor de vídeo, impressora, dentre outros dispositivos de saída.
II – O computador realiza diversas operações com os dados, podendo inclusive armazená-los em discos, e criando a possibilidade de utilizações futuras.
III – O usuário do computador (ou dispositivo eletrônico) realiza a entrada dos dados, isto é, informa a um programa o que deseja fazer. Para isso, ele normalmente utiliza um dispositivo de entrada, como mouse ou teclado.
a. III, II e I.
b. II, I e III.
c. I, II e III.
d. III, I e II.
e. I, III e II.

A criação e o desenvolvimento das linguagens de programação estão diretamente ligados a evolução das tecnologias de software e também do hardware. Considerando a evolução das linguagens de programação, indique a alternativa correta:
Escolha uma:
a. A linguagem Miranda foi a linguagem de programação da década de 80, com característica lógica.
b. 1940 é considerada a 1ª geração de software, cuja característica principal era a programação lógica.
c. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java.
d. Nos primórdios da computação o item mais valioso era o software.
e. A linguagem de programação faz com que o computador compreenda as instruções que desejamos que ele execute.

“De maneira simplificada, podemos entender a programação estruturada como uma forma de elaboração de programas [...]” (MELO; RIOS, 2016). Assim, analise os seguintes conceitos sobre programação:
Os conceitos relacionados à Programação Estruturada são:
I – Sequencia
II – Condição
III – Iteração
IV – Modularização
V – Herança
a. Todos os conceitos.
b. Somente I, II e III.
c. Somente I, II, III e IV.
d. Somente I, II e IV.
e. Somente III e V.

Conhecer os diferentes conceitos que envolvem a programação orientada a objetos é fundamental para poder programar neste paradigma. Considere os itens abaixo:
Estão corretos:
I - a principal estrutura elaborada dentro da programação orientada a objetos é a classe, que é composta basicamente por atributos e métodos
II - os atributos são as características que um objeto da classe irá possuir
III – os métodos são as ações que o objeto poderá executar dentro do contexto do sistema computacional
a. III apenas.
b. I apenas.
c. I e II apenas.
d. I, II e III.
e. II e III apenas.

Os requisitos básicos para que uma linguagem de programação pertença ao paradigma Orientado a Objetos são:
Escolha uma:
a. Abstração, encapsulamento, herança e polimorfismo.
b. Variável, função e procedimento.
c. Fluxograma, variável e tipo de dado.
d. Abstração, identidade e variável.
e. Objeto, método e classe.

Determinadas partes de uma classe em um programa orientado a objetos necessitam de proteção extra. Os termos utilizados para definir esta liberação de acesso são:
Escolha uma:
a. Classe, objeto e método.
b. Função e procedimento.
c. Public, private e protected.
d. Local, global e único.
e. Variável e constante.

A programação orientada a objetos faz uso de alguns conceitos principais que são:
Quais são os conceitos principais da programação orientada a objetos?
a. Variáveis, abstração e herança.
b. Variáveis e identificadores.
c. Variável, função e procedimento.
d. Objetos e classes.
e. Fluxograma, variável e tipo de dado.

A Linguagem C++ foi criada na década de 1980 com o objetivo de melhorar a Linguagem C. A estruturação de qualquer classe em C++ segue uma padronização básica, que consiste em:
Escolha uma:
a. definir o nome da classe, em seguida os seus atributos para, no final, serem especificados os métodos.
b. declarar os atributos da classe como privados.
c. Incluir na função principal duas bibliotecas do C++ chamadas “iostream” e “string”.
d. indicar na função main os métodos que serão utilizados.
e. incluir a “notação ponto” auxilia no acesso às classes.

Os objetos possuem atributos iguais. A instrução para resolução de determinado problema é denominada:
Escolha uma:
a. Projeto.
b. Sequência.
c. Proposta.
d. Processo.
e. Algoritmo.

A instruções para resolução de determinado problema é denominada:
a. Projeto.
b. Sequência.
c. Proposta.
d. Processo.
e. Algoritmo.

A criação e o desenvolvimento das linguagens de programação estão diretamente ligados a evolução das tecnologias de software e também do hardware.
Considerando a evolução das linguagens de programação, indique a alternativa correta:
a. 1940 é considerada a 1ª geração de software, cuja característica principal era a programação lógica.
b. A linguagem de programação faz com que o computador compreenda as instruções que desejamos que ele execute.
c. A linguagem Miranda foi a linguagem de programação da década de 80, com característica lógica.
d. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java.
e. Nos primórdios da computação o item mais valioso era o software.

Determinadas partes de uma classe em um programa orientado a objetos necessitam de proteção extra. Os termos utilizados para definir esta liberação de acesso são:
a. Variável e constante.
b. Classe, objeto e método.
c. Função e procedimento.
d. Local, global e único.
e. Public, private e protected.

De acordo com Melo e Rios (2016), “Os algoritmos são compostos por diversas variáveis, constantes e rotinas, cada uma identificada por um nome específico, também conhecido como identificador.”.
São identificadores “inválidos”, ou seja, com grafia incorreta, os descritos nos itens:
I – Duas palavras
II – umapalavra
III – um%dois
IV – duas_palavras
V – while
a. I, II e III.
b. I, III e IV.
c. II, IV e V.
d. I, III e V.
e. Apenas II e V.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Analisando a literatura relacionada com a construção de algoritmos, existem três formatos mais comuns utilizados, que são:
Escolha uma:
a. Descrição narrativa, descrição interrogativa e símbolos.
b. Português, inglês e francês.
c. Descrição narrativa, pseudocódigo e fluxograma.
d. Símbolos e fluxograma.
e. Texto, símbolos e linguagens.

O entendimento e a posterior diferenciação dos conceitos de orientação a objetos referente aos objetos e classes são fundamentais para elaborar programas utilizando o paradigma orientado a objetos.
Para que possamos criar uma variável é necessário especificar seu nome (identificador) e o tipo de dados. Nos algoritmos e programas de computador existem alguns tipos de dados mais utilizados, podemos citar:
a. Falso e verdadeiro.
b. Real e fracionário.
c. Caractere, numérico e lógico.
d. Identificador e variável.
e. Caractere e literal.

A programação orientada a objetos faz uso de alguns conceitos principais que são:
Escolha uma:
a. Variáveis e identificadores.
b. Objetos e classes.
c. Fluxograma, variável e tipo de dado.
d. Variáveis, abstração e herança.
e. Variável, função e procedimento.

Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar um nome de identificação e o tipo de dados. Sobre os tipos de dados simples, analise os seguintes valores ou literais: 100, -90.5, ‘p’, falso.
O tipo de cada um desses literais, do início para o final, é:
a. numérico inteiro e numérico real, lógico e caractere;
b. numérico real, numérico real, lógico e caractere;
c. lógico, caractere, numérico inteiro e numérico real;
d. numérico inteiro, numérico real, caractere e lógico;
e. numérico inteiro, numérico real, string e lógico;

Seja o seguinte trecho de código: class Carro { public: string marca; string modelo; int ano; void ligar( ); void acelerar( ); void parar( ); }; carro carro1, carro2;
Sobre este programa, podemos afirmar que:
I – Modelo e marca são atributos, enquanto acelerar e parar são métodos.
II – Carro é uma classe, enquanto carro1 e carro2 são objetos.
III – Modelo e marca são métodos, enquanto acelerar e parar são atributos.
IV – Carro é um objeto, enquanto carro1 é uma classe.
a. III e IV, apenas.
b. I e IV, apenas.
c. I, II, III e IV
d. II e III, apenas.
e. I e II, apenas.

A programação orientada a objeto é uma forma de desenvolver programas de computador, assinale a alternativa que indica os benefícios desta programação:
Escolha uma:
a. aumenta o tempo de alterações e adaptações nas funcionalidades.
b. produz um conjunto definido de processos e instruções sequenciais.
c. possui estruturas isoladas de processos.
d. reduz a produtividade da equipe e a qualidade dos sistemas produzidos.
e. Aprimora os resultados do processo de desenvolvimento de softwares.

De acordo com Melo e Rios (2016), a evolução das tecnologias de software e do hardware possui relação direta com a criação e o desenvolvimento das linguagens de programação. Nesse sentido, são exemplos de Linguagens Funcionais:
Escolha uma:
a. Algol 60, C++ e Lisp.
b. Lisp, Miranda e Haskell.
c. C++, Java e Miranda.
d. Fortran, Algol 60, Ada e Java.
e. Fortram, Ada e Haskell.

Computador pode ser definido como “[...] equipamento eletrônico com capacidade de receber diversos tipos de dados e processá-los para alcançar determinado objetivo.” (MELO; RIOS, 2016). Sobre o funcionamento básico do computador, analise os seguintes eventos:
A ordem correta em que esses eventos devem ocorrer no tempo, do inicio para o final, é:
I – O computador gera uma saída, conforme solicitado pelo usuário, a qual pode ser apresentada em um monitor de vídeo, impressora, dentre outros dispositivos de saída.
II – O computador realiza diversas operações com os dados, podendo inclusive armazená-los em discos, e criando a possibilidade de utilizações futuras.
III – O usuário do computador (ou dispositivo eletrônico) realiza a entrada dos dados, isto é, informa a um programa o que deseja fazer. Para isso, ele normalmente utiliza um dispositivo de entrada, como mouse ou teclado.
a. III, II e I.
b. II, I e III.
c. I, II e III.
d. III, I e II.
e. I, III e II.

A criação e o desenvolvimento das linguagens de programação estão diretamente ligados a evolução das tecnologias de software e também do hardware. Considerando a evolução das linguagens de programação, indique a alternativa correta:
Escolha uma:
a. A linguagem Miranda foi a linguagem de programação da década de 80, com característica lógica.
b. 1940 é considerada a 1ª geração de software, cuja característica principal era a programação lógica.
c. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java.
d. Nos primórdios da computação o item mais valioso era o software.
e. A linguagem de programação faz com que o computador compreenda as instruções que desejamos que ele execute.

“De maneira simplificada, podemos entender a programação estruturada como uma forma de elaboração de programas [...]” (MELO; RIOS, 2016). Assim, analise os seguintes conceitos sobre programação:
Os conceitos relacionados à Programação Estruturada são:
I – Sequencia
II – Condição
III – Iteração
IV – Modularização
V – Herança
a. Todos os conceitos.
b. Somente I, II e III.
c. Somente I, II, III e IV.
d. Somente I, II e IV.
e. Somente III e V.

Conhecer os diferentes conceitos que envolvem a programação orientada a objetos é fundamental para poder programar neste paradigma. Considere os itens abaixo:
Estão corretos:
I - a principal estrutura elaborada dentro da programação orientada a objetos é a classe, que é composta basicamente por atributos e métodos
II - os atributos são as características que um objeto da classe irá possuir
III – os métodos são as ações que o objeto poderá executar dentro do contexto do sistema computacional
a. III apenas.
b. I apenas.
c. I e II apenas.
d. I, II e III.
e. II e III apenas.

Os requisitos básicos para que uma linguagem de programação pertença ao paradigma Orientado a Objetos são:
Escolha uma:
a. Abstração, encapsulamento, herança e polimorfismo.
b. Variável, função e procedimento.
c. Fluxograma, variável e tipo de dado.
d. Abstração, identidade e variável.
e. Objeto, método e classe.

Determinadas partes de uma classe em um programa orientado a objetos necessitam de proteção extra. Os termos utilizados para definir esta liberação de acesso são:
Escolha uma:
a. Classe, objeto e método.
b. Função e procedimento.
c. Public, private e protected.
d. Local, global e único.
e. Variável e constante.

A programação orientada a objetos faz uso de alguns conceitos principais que são:
Quais são os conceitos principais da programação orientada a objetos?
a. Variáveis, abstração e herança.
b. Variáveis e identificadores.
c. Variável, função e procedimento.
d. Objetos e classes.
e. Fluxograma, variável e tipo de dado.

A Linguagem C++ foi criada na década de 1980 com o objetivo de melhorar a Linguagem C. A estruturação de qualquer classe em C++ segue uma padronização básica, que consiste em:
Escolha uma:
a. definir o nome da classe, em seguida os seus atributos para, no final, serem especificados os métodos.
b. declarar os atributos da classe como privados.
c. Incluir na função principal duas bibliotecas do C++ chamadas “iostream” e “string”.
d. indicar na função main os métodos que serão utilizados.
e. incluir a “notação ponto” auxilia no acesso às classes.

Os objetos possuem atributos iguais. A instrução para resolução de determinado problema é denominada:
Escolha uma:
a. Projeto.
b. Sequência.
c. Proposta.
d. Processo.
e. Algoritmo.

A instruções para resolução de determinado problema é denominada:
a. Projeto.
b. Sequência.
c. Proposta.
d. Processo.
e. Algoritmo.

A criação e o desenvolvimento das linguagens de programação estão diretamente ligados a evolução das tecnologias de software e também do hardware.
Considerando a evolução das linguagens de programação, indique a alternativa correta:
a. 1940 é considerada a 1ª geração de software, cuja característica principal era a programação lógica.
b. A linguagem de programação faz com que o computador compreenda as instruções que desejamos que ele execute.
c. A linguagem Miranda foi a linguagem de programação da década de 80, com característica lógica.
d. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java.
e. Nos primórdios da computação o item mais valioso era o software.

Determinadas partes de uma classe em um programa orientado a objetos necessitam de proteção extra. Os termos utilizados para definir esta liberação de acesso são:
a. Variável e constante.
b. Classe, objeto e método.
c. Função e procedimento.
d. Local, global e único.
e. Public, private e protected.

De acordo com Melo e Rios (2016), “Os algoritmos são compostos por diversas variáveis, constantes e rotinas, cada uma identificada por um nome específico, também conhecido como identificador.”.
São identificadores “inválidos”, ou seja, com grafia incorreta, os descritos nos itens:
I – Duas palavras
II – umapalavra
III – um%dois
IV – duas_palavras
V – while
a. I, II e III.
b. I, III e IV.
c. II, IV e V.
d. I, III e V.
e. Apenas II e V.

Prévia do material em texto

Questão 1 
Analisando a literatura relacionada com a construção de algoritmos, existem 
três formatos mais comuns utilizados, que são: 
Escolha uma: 
a. Descrição narrativa, descrição interrogativa e símbolos. 
b. Português, inglês e francês. 
c. Descrição narrativa, pseudocódigo e fluxograma. 
Descrição narrativa, pseudocódigo e fluxograma. Comentário: Analisando a literatura 
relacionada com a construção de algoritmos, existem três formatos mais comuns 
utilizados: a descrição narrativa, o pseudocódigo, também conhecido como portugol, e o 
fluxograma. (FORBELLONE, 2005). Fonte: livro texto, capítulo 1 seção 1.3. 
d. Símbolos e fluxograma. 
e. Texto, símbolos e linguagens. 
 
Questão 2 
Para que possamos criar uma variável é necessário especificar seu nome 
(identificador) e o tipo de dados. Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, podemos citar: 
Escolha uma: 
a. Falso e verdadeiro. 
b. Real e fracionário. 
c. Caractere, numérico e lógico. 
Caractere, numérico e lógico. Comentário: Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, conhecidos como caractere ou literal, 
numérico e lógico. (XAVIER, 2007). Fonte: livro texto, capítulo 1 seção 1.7. 
d. Identificador e variável. 
e. Caractere e literal. 
Questão 3 
A programação orientada a objetos faz uso de alguns conceitos principais que 
são: 
Escolha uma: 
a. Variáveis e identificadores. 
b. Objetos e classes. 
Objetos e classes. Comentário: O entendimento e a posterior diferenciação dos conceitos 
de orientação a objetos referente aos objetos e classes são fundamentais para elaborar 
programas utilizando o paradigma orientado a objetos. Fonte: livro texto, capítulo 3 seção 
3.1.1 e 3.1.2. 
c. Fluxograma, variável e tipo de dado. 
d. Variáveis, abstração e herança. 
e. Variável, função e procedimento. 
Questão 4 
Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar 
um nome de identificação e o tipo de dados. Sobre os tipos de dados simples, 
analise os seguintes valores ou literais: 
100, -90.5, ‘p’, falso 
O tipo de cada um desses literais, do início para o final, é: 
Escolha uma: 
a. numérico inteiro e numérico real, lógico e caractere; 
Resposta: numérico inteiro, numérico real, caractere e lógico;Comentário: O número -90.5 é 
real, pois possui parte fracionária ou decimal; e é negativo. Um número sem maiores 
pontuações é um número natural ou inteiro positivo. Valores entre aspas simples são 
literais ou caracteres. Os valores lógicos ou booleanos podem assumir somente os valores 
verdadeiro ou falso. Fonte: Capítulo 1, páginas 18 e 19. 
b. numérico real, numérico real, lógico e caractere; 
c. lógico, caractere, numérico inteiro e numérico real; 
d. numérico inteiro, numérico real, caractere e lógico; 
e. numérico inteiro, numérico real, string e lógico; 
Questão 5 
Seja o seguinte trecho de código: 
 
class Carro { 
 public: 
 string marca; 
 string modelo; 
 int ano; 
 void ligar( ); 
 void acelerar( ); 
 void parar( ); 
}; 
 
carro carro1, carro2; 
 
 
Sobre este programa, podemos afirmar que: 
I – Modelo e marca são atributos, enquanto acelerar e parar são métodos. 
II –Carro é uma classe, enquanto carro1 e carro2 são objetos. 
III – Modelo e marca são métodos, enquanto acelerar e parar são atributos. 
IV – Carro é um objeto, enquanto carro1 é uma classe. 
Estão corretas as afirmativas: 
Escolha uma: 
a. III e IV, apenas. 
b. I e IV, apenas. 
c. I, II, III e IV 
d. II e III, apenas. 
e. I e II, apenas. 
Resposta:I e II, apenas.Comentário: Carro é o nome da classe. Dentro da classe 
encontramos os atributos e os métodos. Os atributos vêm somente com o tipo na frente, 
como marca, modelo e ano. Os métodos vêm com o tipo void, quando não são funções, e 
aparecem com os parênteses, pois podem receber parâmetros para executar alguma ação. 
Carro1 e carro2 são objetos da classe Carro.Fonte: Capítulo 3, páginas 49 e 50. 
Questão 6 
A programação orientada a objeto é uma forma de desenvolver programas de 
computador, assinale a alternativa que indica os benefícios desta programação: 
Escolha uma: 
a. aumenta o tempo de alterações e adaptações nas funcionalidades. 
Resposta Correta: Aprimora os resultados do processo de desenvolvimento de softwares. - 
incorreta - pois a programação orientada a objeto aumenta a produtividade, pois possibilita 
o reaproveitamento de código. Incorreta - pois orientação propõe entender os sistemas 
computacionais como uma coleção deles que interagem entre si. Incorreta - pois a 
linguagem reduz o tempo pois permite a reutilização de código. - Incorreta pois a 
linguagem é composta de estruturas que interagem entre si. 
b. produz um conjunto definido de processos e instruções sequenciais. 
c. possui estruturas isoladas de processos. 
d. reduz a produtividade da equipe e a qualidade dos sistemas produzidos. 
e. Aprimora os resultados do processo de desenvolvimento de softwares. 
Questão 7 
De acordo com Melo e Rios (2016), a evolução das tecnologias de software e do 
hardware possui relação direta com a criação e o desenvolvimento das 
linguagens de programação. Nesse sentido, são exemplos de Linguagens 
Funcionais: 
Escolha uma: 
a. Algol 60, C++ e Lisp. 
b. Lisp, Miranda e Haskell. 
Resposta: Lisp, Miranda e Haskell.Comentário: As linguagens Fortran, Algol 60, Ada, C++ e 
Java são exemplos de linguagens do paradigma imperativa/orientado a objetos. As 
linguagensLisp, ML, Miranda e Haskell são exemplos de linguagens funcionais. Prolog é um 
exemplo de linguagem do paradigma lógico.Fonte: Capítulo 2, páginas 23 e 24. 
c. C++, Java e Miranda. 
d. Fortran, Algol 60, Ada e Java. 
e. Fortram, Ada e Haskell. 
Questão 8 
I 
Computador pode ser definido como “[...] equipamento eletrônico com 
capacidade de receber diversos tipos de dados e processá-los para alcançar 
determinado objetivo.” (MELO; RIOS, 2016). 
Sobre o funcionamento básico do computador, analise os seguintes eventos: 
I – O computador gera uma saída, conforme solicitado pelo usuário, a qual 
pode ser apresentada em um monitor de vídeo, impressora, dentre outros 
dispositivos de saída. 
II – O computador realiza diversas operações com os dados, podendo inclusive 
armazená-los em discos, e criando a possibilidade de utilizações futuras. 
III – O usuário do computador (ou dispositivo eletrônico) realiza a entrada dos 
dados, isto é, informa a um programa o que deseja fazer. Para isso, ele 
normalmente utiliza um dispositivo de entrada, como mouse ou teclado. 
A ordem correta em que esses eventos devem ocorrer no tempo, do inicio para 
o final, é: 
Escolha uma: 
a. III, II e I. 
b. II, I e III. 
c. I, II e III. 
d. III, I e II. 
Resposta: III, II e I.Comentário: A assertiva III se refere à entrada de dados, efetuada pelo 
usuário. A assertiva II se refere ao estágio do processamento dos dados, que só pode 
acontecer após a entrada ser efetivada. A assertiva I se refere à saída de dados, algo que 
ocorre após o processamento. Portanto, a alternativa correta é a opção III, II e I.Fonte: 
Capítulo 1, página 9. 
e. I, III e II. 
Questão 9 
A criação e o desenvolvimento das linguagens de programação estão 
diretamente ligados a evolução das tecnologias de software e também do 
hardware. Considerando a evolução das linguagens de programação, indique a 
alternativa correta: 
Escolha uma: 
a. A linguagem Miranda foi a linguagem de programação da década de 80, com 
característica lógica. 
b. 1940 é considerada a 1ª geração de software, cuja característica principalera a 
programação lógica. 
c. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java. 
d. Nos primórdios da computação o item mais valioso era o software. 
e. A linguagem de programação faz com que o computador compreenda as instruções que 
desejamos que ele execute. 
Resposta Correta: As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao java. A 
figura 1 da página 24 do livro disciplina demonstra a evolução da linguagem de 
programação. Opção linguagem Miranda possui característica funcional está incorreta. Está 
incorreta - a característica é linguagem de máquina. A Opção - pois no início o mais valioso 
era o hardware está incorreta. A linguagem que permite que o computador entenda é a 
linguagem de máquina Opção está incorreta. 
Questão 10 
 “De maneira simplificada, podemos entender a programação estruturada como 
uma forma de elaboração de programas [...]” (MELO; RIOS, 2016). Assim, analise 
os seguintes conceitos sobre programação: I – Sequencia II – Condição III – 
Iteração IV – Modularização V – Herança Os conceitos relacionados à 
Programação Estruturada são: 
Escolha uma: 
a. Somente I, II e III. 
b. Somente I, II, III e IV. 
Resposta: Somente I, II, III e IV.Comentário: Os conceitos de sequencia de comandos, 
comandos condicionais, comandos com iteração e de módulos são conceitos presentes da 
Programação Estruturada. O conceito de Herança aparece somente na Programação 
Orientada a Objetos. Fonte: Capítulo 2, páginas 25, 26 e 27. 
c. Somente III e V. 
d. Todos os conceitos. 
e. Somente I, II e IV. 
 
Questão 1 
Conhecer os diferentes conceitos que envolvem a programação orientada a 
objetos é fundamental para poder programar neste paradigma. Considere os 
itens abaixo: 
I - a principal estrutura elaborada dentro da programação orientada a objetos é 
a classe, que é composta basicamente por atributos e métodos 
II - os atributos são as características que um objeto da classe irá possuir 
III – os métodos são as ações que o objeto poderá executar dentro do contexto 
do sistema computacional 
Estão corretos: 
Escolha uma: 
a. III apenas. 
b. II e III apenas. 
c. I apenas. 
d. I e II apenas. 
e. I, II e III. 
Comentário: A principal estrutura elaborada dentro da programação orientada a objetos é a 
classe, que é composta basicamente por atributos e métodos, segundo Sintes (2002). 
Enquanto os atributos são as características que um objeto desta classe irá possuir, os 
métodos são as ações que esse objeto poderá executar dentro do contexto do sistema 
computacional. Fonte: livro texto, capítulo 4 seção 4.1. 
Feedback 
A resposta correta é: I, II e III.. 
 
 
 
 
 
Questão 2 
Os requisitos básicos para que uma linguagem de programação pertença ao 
paradigma Orientado a Objetos são: 
Escolha uma: 
a. Abstração, encapsulamento, herança e polimorfismo. 
Abstração, encapsulamento e herança. Comentário: É necessário analisar os requisitos 
básicos para que uma linguagem de programação “pertença” ao paradigma Orientado a 
Objetos, que seriam a abstração, o encapsulamento, a herança e o polimorfismo. Fonte: 
livro texto, capítulo 2 seção 2.3.2. 
b. Variável, função e procedimento. 
c. Fluxograma, variável e tipo de dado. 
d. Abstração, identidade e variável. 
e. Objeto, método e classe. 
Feedback 
A resposta correta é: Abstração, encapsulamento, herança e polimorfismo.. 
Questão 3 
Determinadas partes de uma classe em um programa orientado a objetos 
necessitam de proteção extra. Os termos utilizados para definir esta liberação 
de acesso são: 
Escolha uma: 
a. Classe, objeto e método. 
b. Função e procedimento. 
c. Public, private e protected. 
Public, private e protected. Comentário: Determinadas partes de uma classe podem 
necessitar de proteção extra, isto é, requerem que o acesso a elas não seja feito de forma 
direta pelo usuário, mas sim por um método definido especificamente para isso. As 
palavras reservadas public, private e protected indicam no código a utilização dos 
especificadores. Fonte: livro texto, capítulo 4 seção 4.2. 
d. Local, global e único. 
e. Variável e constante. 
Feedback 
A resposta correta é: Public, private e protected.. 
 
Questão 4 
A programação orientada a objetos faz uso de alguns conceitos principais que 
são: 
Escolha uma: 
a. Fluxograma, variável e tipo de dado. 
b. Variáveis, abstração e herança. 
c. Objetos e classes. 
Objetos e classes. Comentário: O entendimento e a posterior diferenciação dos conceitos 
de orientação a objetos referente aos objetos e classes são fundamentais para elaborar 
programas utilizando o paradigma orientado a objetos. Fonte: livro texto, capítulo 3 seção 
3.1.1 e 3.1.2. 
d. Variáveis e identificadores. 
e. Variável, função e procedimento. 
Feedback 
A resposta correta é: Objetos e classes.. 
Questão 5 
A Linguagem C++ foi criada na década de 1980 com o objetivo de melhorar a 
Linguagem C. A estruturação de qualquer classe em C++ segue uma 
padronização básica, que consiste em: 
Escolha uma: 
a. definir o nome da classe, em seguida os seus atributos para, no final, serem 
especificados os métodos. 
Resposta Correta: definir o nome da classe, em seguida os seus atributos para, no final, 
serem especificados os métodos. Conforme livro da disciplina, página 49 A estruturação de 
qualquer classe em C++ segue uma padronização básica indicando que, primeiramente, é 
definido o nome da classe, em seguida os seus atributos para, no final, serem 
b. declarar os atributos da classe como privados. 
c. Incluir na função principal duas bibliotecas do C++ chamadas “iostream” e “string”. 
d. indicar na função main os métodos que serão utilizados. 
e. incluir a “notação ponto” auxilia no acesso às classes. 
Feedback 
A resposta correta é: definir o nome da classe, em seguida os seus atributos para, no final, 
serem especificados os métodos. 
 
Questão 6 
Como as pessoas compreendem o mundo sendo composto de objetos que 
realizam constantes interações com outros objetos, a orientação a objetos visa 
analisar os sistemas de computação como uma coleção de objetos que 
interagem entre si, e não apenas como um conjunto estruturado de processos. 
(COELHO, 2013). Nesse contexto, analise as seguintes definições: 
I – São todas as ações que um determinado objeto pode executar dentro do 
contexto de um sistema computacional. Na prática, tudo aquilo que o objeto 
realiza no sistema. 
II –É responsável por representar uma coleção de objetos com características e 
comportamentos similares. 
III – Todos os objetos existentes no mundo real apresentam características, que, 
por sua vez, possuem valores definidos. São justamente esses valores que 
definem qual o estado de determinado objeto. 
IV – Representa a instancia de uma classe. 
Estas definições correspondem, respectivamente, às definições de: 
Escolha uma: 
a. Método, classe, atributo e objeto. 
Resposta:Método, classe, atributo e objeto.Comentário: A definição I é a de método. A 
definição II é a de classe. A definição III é a de atributo. E a definição IV é a de objeto.Fonte: 
Capítulo 3, páginas 40 a 46. 
b. Objeto, classe, atributo e método. 
c. Método, atributo, classe e objeto. 
d. Atributo, objeto, método e classe. 
e. Atributo, método, objeto e classe. 
Feedback 
A resposta correta é: Método, classe, atributo e objeto.. 
Questão 7 
O conceito de classe indica que ela é responsável por representar uma coleção 
de objetos com características e comportamentos similares. Neste contexto, é 
correto afirmar que: 
Escolha uma: 
a. As variáveis são responsáveis por interagir com o método. 
b. As informações que descrevemou caracterizam um objeto são chamadas de métodos. 
c. Os objetos possuem atributos iguais. 
d. As classes são compostas por atributos e métodos. 
Resposta Correta: As classes são compostas por atributos e métodos. Conforme o livro da 
disciplina as classes são compostas por atributos e métodos. 
e. A classe executa métodos, pois possui dados armazenados. 
Feedback 
A resposta correta é: As classes são compostas por atributos e métodos.. 
Questão 8 
Na programação de computadores uma sequência finita e sistemática de 
instruções para resolução de determinado problema é denominada: 
Escolha uma: 
a. Projeto. 
b. Sequência. 
c. Proposta. 
d. Processo. 
e. Algoritmo. 
Resposta Correta: Algoritmo. Conforme a página 10 do livro da disciplina que contempla a 
definição de algoritmo as letras de a até d não estão corretas pois são sinônimos de 
algoritmo. 
Feedback 
A resposta correta é: Algoritmo.. 
Questão 9 
 “De maneira simplificada, podemos entender a programação estruturada como 
uma forma de elaboração de programas [...]” (MELO; RIOS, 2016). Assim, analise 
os seguintes conceitos sobre programação: I – Sequencia II – Condição III – 
Iteração IV – Modularização V – Herança Os conceitos relacionados à 
Programação Estruturada são: 
Escolha uma: 
a. Todos os conceitos. 
b. Somente I, II e III. 
c. Somente I, II, III e IV. 
Resposta: Somente I, II, III e IV.Comentário: Os conceitos de sequencia de comandos, 
comandos condicionais, comandos com iteração e de módulos são conceitos presentes da 
Programação Estruturada. O conceito de Herança aparece somente na Programação 
Orientada a Objetos.Fonte: Capítulo 2, páginas 25, 26 e 27. 
d. Somente I, II e IV. 
e. Somente III e V. 
Feedback 
A resposta correta é: Somente I, II, III e IV.. 
Questão 10 
A criação e o desenvolvimento das linguagens de programação estão 
diretamente ligados a evolução das tecnologias de software e também do 
hardware. Considerando a evolução das linguagens de programação, indique a 
alternativa correta: 
Escolha uma: 
a. 1940 é considerada a 1ª geração de software, cuja característica principal era a 
programação lógica. 
b. A linguagem de programação faz com que o computador compreenda as instruções que 
desejamos que ele execute. 
c. A linguagem Miranda foi a linguagem de programação da década de 80, com 
característica lógica. 
d. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java. 
Resposta Correta: As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao java. A 
figura 1 da página 24 do livro disciplina demonstra a evolução da linguagem de 
programação. Opção linguagem Miranda possui característica funcional está incorreta. Está 
incorreta - a característica é linguagem de máquina. A Opção - pois no início o mais valioso 
era o hardware está incorreta. A linguagem que permite que o computador entenda é a 
linguagem de máquina Opção está incorreta. 
e. Nos primórdios da computação o item mais valioso era o software. 
Feedback 
A resposta correta é: As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java.. 
 
 
 
 
 
 
 
 
 
Questão 1 
 
Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar 
um nome de identificação e o tipo de dados. Sobre os tipos de dados simples, 
analise os seguintes valores ou literais: 
100, -90.5, ‘p’, falso 
O tipo de cada um desses literais, do inicio para o final, é: 
Escolha uma: 
a. numérico real, numérico real, lógico e caractere; 
b. numérico inteiro, numérico real, string e lógico; 
c. lógico, caractere, numérico inteiro e numérico real; 
d. numérico inteiro e numérico real, lógico e caractere; 
e. numérico inteiro, numérico real, caractere e lógico; 
Resposta: numérico inteiro, numérico real, caractere e lógico;Comentário: O número -90.5 é 
real, pois possui parte fracionária ou decimal; e é negativo. Um número sem maiores 
pontuações é um número natural ou inteiro positivo. Valores entre aspas simples são 
literais ou caracteres. Os valores lógicos ou booleanos podem assumir somente os valores 
verdadeiro ou falso.Fonte: Capítulo 1, páginas 18 e 19. 
Feedback 
A resposta correta é: numérico inteiro, numérico real, caractere e lógico;. 
Questão 2 
Determinadas partes de uma classe em um programa orientado a objetos 
necessitam de proteção extra. Os termos utilizados para definir esta liberação 
de acesso são: 
Escolha uma: 
a. Public, private e protected. 
Public, private e protected. Comentário: Determinadas partes de uma classe podem 
necessitar de proteção extra, isto é, requerem que o acesso a elas não seja feito de forma 
direta pelo usuário, mas sim por um método definido especificamente para isso. As 
palavras reservadas public, private e protected indicam no código a utilização dos 
especificadores. Fonte: livro texto, capítulo 4 seção 4.2. 
b. Local, global e único. 
c. Variável e constante. 
d. Função e procedimento. 
e. Classe, objeto e método. 
Feedback 
A resposta correta é: Public, private e protected.. 
Questão 3 
Analisando a literatura relacionada com a construção de algoritmos, existem 
três formatos mais comuns utilizados, que são: 
Escolha uma: 
a. Símbolos e fluxograma. 
b. Texto, símbolos e linguagens. 
c. Descrição narrativa, descrição interrogativa e símbolos. 
d. Português, inglês e francês. 
e. Descrição narrativa, pseudocódigo e fluxograma. 
Descrição narrativa, pseudocódigo e fluxograma. Comentário: Analisando a literatura 
relacionada com a construção de algoritmos, existem três formatos mais comuns utilizados: 
a descrição narrativa, o pseudocódigo, também conhecido como portugol, e o fluxograma. 
(FORBELLONE, 2005). Fonte: livro texto, capítulo 1 seção 1.3. 
Feedback 
A resposta correta é: Descrição narrativa, pseudocódigo e fluxograma.. 
Questão 4 
Conhecer os diferentes conceitos que envolvem a programação orientada a 
objetos é fundamental para poder programar neste paradigma. Considere os 
itens abaixo: 
I - a principal estrutura elaborada dentro da programação orientada a objetos é 
a classe, que é composta basicamente por atributos e métodos 
II - os atributos são as características que um objeto da classe irá possuir 
III – os métodos são as ações que o objeto poderá executar dentro do contexto 
do sistema computacional 
Estão corretos: 
Escolha uma: 
a. I apenas. 
b. I e II apenas. 
c. I, II e III. 
Comentário: A principal estrutura elaborada dentro da programação orientada a objetos é a 
classe, que é composta basicamente por atributos e métodos, segundo Sintes (2002). 
Enquanto os atributos são as características que um objeto desta classe irá possuir, os 
métodos são as ações que esse objeto poderá executar dentro do contexto do sistema 
computacional. Fonte: livro texto, capítulo 4 seção 4.1. 
d. III apenas. 
e. II e III apenas. 
Feedback 
A resposta correta é: I, II e III.. 
Questão 5 
De acordo com Melo e Rios (2016), “Os algoritmos são compostos por diversas 
variáveis, constantes e rotinas, cada uma identificada por um nome específico, 
também conhecido como identificador.”. 
Nesse contexto, analise os seguintes “identificadores”, ou nome de variáveis: 
I – Duas palavras 
II – umapalavra 
III – um%dois 
IV – duas_palavras 
V –while 
São identificadores “inválidos”, ou seja, com grafia incorreta, os descritos nos 
itens: 
Escolha uma: 
a. I, II e III. 
b. I, III e IV. 
c. II, IV e V. 
Resposta: I, III e V. Comentário: As assertivas II e IV estão corretas, pois apresentam uma 
única palavra, ou duas unidas por “underline”, e compostas somente por letras. A assertiva I 
está incorreta, pois o identificadoré composto por duas palavras. A assertiva III é incorreta, 
pois aparece um caractere especial, no caso o %, que é utilizado como operador aritmético. 
A assertiva V está incorreta, pois a palavra “while” é uma palavra reservada da linguagem 
C++.Fonte: Capítulo 1, página 17. 
d. , III e V. 
e. Apenas II e V. 
Feedback 
A resposta correta é: , III e V.. 
Questão 6 
No que se refere à programação estruturada e à programação orientada a 
objetos, é preciso ter sempre em mente que genericamente não há um 
paradigma superior ao outro, embora sempre um destes se adapte melhor a 
uma situação específica (MELO; RIOS, 2016). 
Sejam os seguintes conceitos de Programação Estruturada (lista 1) e 
Programação Orientada a Objetos (lista 2): 
I – Variáveis 
II – Rotinas ou subprogramas 
III – Tipos 
IV – Variáveis de Tipos 
 
A – Classes 
B – Objetos 
C – Atributos 
D – Métodos 
Os conceitos da coluna 1 que se relacionam com os conceitos da coluna 2 são, 
respectivamente: 
Escolha uma: 
a. III–A; IV-B; I-C; II-D; 
Resposta: III–A; IV-B; I-C; II-D;Comentário: O conceito de Classe na programação orientada 
a objetos é correspondente ao conceito de Tipo na programação estruturada. Da mesma 
forma, temos os conceitos de objetos com variáveis de tipo, métodos com rotinas e 
atributos com campos ou variáveis. Fonte: Capítulo 3, páginas 40 a 46. 
b. II-A; III-B; I-C; IV-D; 
c. III–A; I-B; IV-C; II-D; 
d. IV–A; III-B; II-C; I-D; 
e. I-A; II-B; III-C; IV-D; 
Feedback 
A resposta correta é: III–A; IV-B; I-C; II-D;. 
Questão 7 
O computador tem vários componentes que é fundamental conhecer para 
entender o funcionamento de um computador, dentro deste contexto qual o 
componente do computador é usado para comunicar e registrar informações: 
Escolha uma: 
a. CPU. 
b. Dispositivo de saída. 
c. Memória cachê. 
d. Processador. 
Resposta Correta: Dispositivo de saída.Conforme o livro da disciplina página 9 o aluno pode 
verificar a função de cada componente e conforme a figura 1 do funcionamento do 
computador fica claro que o componente para registrar informações é o dispositivo de 
saída. 
e. Dispositivo de entrada. 
Feedback 
A resposta correta é: Dispositivo de saída.. 
Questão 8 
A Linguagem C++ foi criada na década de 1980 com o objetivo de melhorar a 
Linguagem C. A estruturação de qualquer classe em C++ segue uma 
padronização básica, que consiste em: 
Escolha uma: 
a. indicar na função main os métodos que serão utilizados. 
b. incluir a “notação ponto” auxilia no acesso às classes. 
c. declarar os atributos da classe como privados. 
d. Incluir na função principal duas bibliotecas do C++ chamadas “iostream” e “string”. 
e. definir o nome da classe, em seguida os seus atributos para, no final, serem 
especificados os métodos. 
Resposta Correta: definir o nome da classe, em seguida os seus atributos para, no final, 
serem especificados os métodos. Conforme livro da disciplina, página 49 A estruturação de 
qualquer classe em C++ segue uma padronização básica indicando que, primeiramente, é 
definido o nome da classe, em seguida os seus atributos para, no final, serem 
Feedback 
A resposta correta é: definir o nome da classe, em seguida os seus atributos para, no final, 
serem especificados os métodos.. 
Questão 9 
 “De maneira simplificada, podemos entender a programação estruturada como 
uma forma de elaboração de programas [...]” (MELO; RIOS, 2016). Assim, analise 
os seguintes conceitos sobre programação: I – Sequencia II – Condição III – 
Iteração IV – Modularização V – Herança Os conceitos relacionados à 
Programação Estruturada são: 
Escolha uma: 
a. Somente III e V. 
b. Somente I, II e III. 
c. Todos os conceitos. 
d. Somente I, II, III e IV. 
Resposta: Somente I, II, III e IV.Comentário: Os conceitos de sequencia de comandos, 
comandos condicionais, comandos com iteração e de módulos são conceitos presentes da 
Programação Estruturada. O conceito de Herança aparece somente na Programação 
Orientada a Objetos.Fonte: Capítulo 2, páginas 25, 26 e 27. 
e. Somente I, II e IV. 
Feedback 
A resposta correta é: Somente I, II, III e IV.. 
Questão 10 
A criação e o desenvolvimento das linguagens de programação estão 
diretamente ligados a evolução das tecnologias de software e também do 
hardware. Considerando a evolução das linguagens de programação, indique a 
alternativa correta: 
Escolha uma: 
a. A linguagem Miranda foi a linguagem de programação da década de 80, com 
característica lógica. 
b. Nos primórdios da computação o item mais valioso era o software. 
c. A linguagem de programação faz com que o computador compreenda as instruções que 
desejamos que ele execute. 
d. 1940 é considerada a 1ª geração de software, cuja característica principal era a 
programação lógica. 
e. As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java. 
Resposta Correta: As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao java. A 
figura 1 da página 24 do livro disciplina demonstra a evolução da linguagem de 
programação. Opção linguagem Miranda possui característica funcional está incorreta. Está 
incorreta - a característica é linguagem de máquina. A Opção - pois no início o mais valioso 
era o hardware está incorreta. A linguagem que permite que o computador entenda é a 
linguagem de máquina Opção está incorreta. 
Feedback 
A resposta correta é: As linguagens Eiffel, Pascal, Oberon e C++ deram origem ao Java.. 
 
 
 
 
 
 
Questão 1 
Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar 
um nome de identificação e o tipo de dados. Sobre os tipos de dados simples, 
analise os seguintes valores ou literais: 
100, -90.5, ‘p’, falso 
O tipo de cada um desses literais, do inicio para o final, é: 
Escolha uma: 
a. numérico inteiro, numérico real, caractere e lógico; 
Resposta: numérico inteiro, numérico real, caractere e lógico;Comentário: O número -90.5 é 
real, pois possui parte fracionária ou decimal; e é negativo. Um número sem maiores 
pontuações é um número natural ou inteiro positivo. Valores entre aspas simples são 
literais ou caracteres. Os valores lógicos ou booleanos podem assumir somente os valores 
verdadeiro ou falso.Fonte: Capítulo 1, páginas 18 e 19. 
b. lógico, caractere, numérico inteiro e numérico real; 
c. numérico inteiro, numérico real, string e lógico; 
d. numérico real, numérico real, lógico e caractere; 
e. numérico inteiro e numérico real, lógico e caractere; 
Feedback 
A resposta correta é: numérico inteiro, numérico real, caractere e lógico;. 
Questão 2 
Para que possamos criar uma variável é necessário especificar seu nome 
(identificador) e o tipo de dados. Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, podemos citar: 
Escolha uma: 
a. Real e fracionário. 
b. Caractere e literal. 
c. Caractere, numérico e lógico. 
Caractere, numérico e lógico. Comentário: Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, conhecidos como caractere ou literal, 
numérico e lógico. (XAVIER, 2007). Fonte: livro texto, capítulo 1 seção 1.7. 
d. Falso e verdadeiro. 
e. Identificador e variável. 
Feedback 
A resposta correta é: Caractere, numérico e lógico.. 
Questão 3 
A programação orientada a objetos faz uso de alguns conceitos principais que 
são: 
Escolha uma: 
a. Objetos e classes. 
Objetos e classes. Comentário: O entendimento e a posterior diferenciação dos conceitos 
de orientação a objetos referente aos objetos e classes são fundamentais para elaborar 
programas utilizando o paradigma orientado a objetos. Fonte: livro texto,capítulo 3 seção 
3.1.1 e 3.1.2. 
b. Variável, função e procedimento. 
c. Variáveis e identificadores. 
d. Fluxograma, variável e tipo de dado. 
e. Variáveis, abstração e herança. 
Feedback 
A resposta correta é: Objetos e classes.. 
Questão 4 
Analisando a literatura relacionada com a construção de algoritmos, existem 
três formatos mais comuns utilizados, que são: 
Escolha uma: 
a. Texto, símbolos e linguagens. 
b. Descrição narrativa, descrição interrogativa e símbolos. 
c. Símbolos e fluxograma. 
d. Descrição narrativa, pseudocódigo e fluxograma. 
Descrição narrativa, pseudocódigo e fluxograma. Comentário: Analisando a literatura 
relacionada com a construção de algoritmos, existem três formatos mais comuns utilizados: 
a descrição narrativa, o pseudocódigo, também conhecido como portugol, e o fluxograma. 
(FORBELLONE, 2005). Fonte: livro texto, capítulo 1 seção 1.3. 
e. Português, inglês e francês. 
Feedback 
A resposta correta é: Descrição narrativa, pseudocódigo e fluxograma.. 
Questão 5 
A interação entre um humano e o computador acontece mediante os 
dispositivos de entrada e saída. Um programa deve estar preparado para 
realizar estas operações, através de comandos específicos. Considerando 
apseudolinguagemPortugol e a sua implementação em Visualg é correto 
afirmar que: 
I. Os comandos de entrada e saída, no Portugol, são, respectivamente: “leia” e 
“escreva”. 
II. Os comandos de entrada e saída, no Portugol, são, respectivamente: “receba” 
e “imprima”. 
III. Há uma variação entre o comando “escreva” e o “escreval”, que muda de 
linha após apresentar o resultado. 
IV. Tudo o que é apresentado pelo comando de saída deve estar entre aspas. 
Consideram-se como verdadeiras: 
Escolha uma: 
a. apenas as alternativas II e III 
b. apenas as alternativas I, III e IV 
Gabarito: apenas as alternativas I e III 
Justificativa: A troca de informações entre a máquina e o usuário são realizadas por meio de 
comandos de entrada e saída de dados, tornando possível manipular dispositivos de 
hardware como: teclados, mouses, discos, impressoras. No Visualg, o comando de entrada 
é representado pela palavra “leia” e o comando de saída utiliza a palavra “escreva”, sendo 
que este último pode receber a letra “l” ao seu final, inicial da palavra “linha”, resultando no 
comando “escreval”, que força a troca de linha ao final do que é escrito. 
c. apenas as alternativas II, III e IV 
d. apenas as alternativas I e III 
e. apenas as alternativas I e IV 
Feedback 
A resposta correta é: apenas as alternativas I e III. 
Questão 6 
A estrutura de repetição enquanto é utilizada quando não se sabe o número de 
vezes que um trecho do algoritmo deve ser repetido, embora também possa ser 
utilizada quando se conhece esse número. Assinale a alternativa correta em 
relação a sintaxe da condição enquanto. 
Escolha uma: 
a. Enquanto condição faça comando 1 senão comando 2 
b. Enquanto se condição faça comando 1 comando 2 
c. Enquanto condição comando 1 
d. Enquanto se condição faça comando 1 
Gabarito: 
Comentário: A estrutura de repetição enquanto pode ser utilizada com teste de condição 
no início ou no final. No caso de condição no início a sintaxe correta a ser utilizada em um 
algoritmo é ENQUANTO condição FAÇA comando. Cabe ressaltar que o comando somente 
será executado se a condição for verdadeira. 
e. Enquanto condição faça comando1 
Feedback 
A resposta correta é: Enquanto condição faça comando1. 
Questão 7 
Segundo Xavier (2007), uma estrutura de repetição é utilizada quando uma 
parte do programa – ou mesmo o programa inteiro – precisa ser repetido. O 
número de repetições pode ser fixo ou estar relacionado a uma condição. 
Considerando o pseudocódigo a seguir, após sua execução, quais as sequências 
de valores apresentadas em tela, por cada uma das estruturas (“enquanto”, 
“para”, “ate”), respectivamente? 
 
1 Algoritmo "Exercício" 
2 Var 
3 a, b: inteiro 
4 Início 
5 a <- 1 
6 enquanto a < 3 faça 
7 escreva (a) 
8 a <- a + 1 
9 fimenquanto 
10 escreval () 
11 para a de 1 até 3 faça 
12 escreva (a) 
13 fimpara 
14 escreval () 
15 repita 
16 escreva (a) 
17 a <- a - 1 
18 até a = 0 
19 Fimalgoritmo 
 
Escolha uma: 
a. 1 2 3 
1 2 3 
3 2 1 
b. 1 2 
1 2 3 
4 3 2 1 
Gabarito: 1 2 
1 2 3 
4 3 2 1 
Justificativa: O algoritmo em questão utiliza as três estruturas iterativas mais conhecidas. A 
variável “a” recebe inicialmente o valor 1. A partir daí inicia-se uma repetição com a 
estrutura “enquanto”, sempre apresentando em tela e posteriormente incrementando em 1 
o valor da variável “a” a cada repetição. Como o teste lógico que permite a repetição 
considera valores menores do que 3 (a < 3), apenas são impressos os valores 1 e 2. Na 
sequência, a estrutura “para” controla a repetição pré-definida de 1 até 3. São impressos, 
portanto, os valores: 1, 2 e 3. Lembrando que o “para” finaliza com “a” valendo 4. Por fim, a 
estrutura “repita” controla um bloco de comandos que apresenta em tela o valor de “a”, 
desta vez decrescendo o valor da variável a cada repetição, até que o valor chegue em 0 
(zero). Ao chegar em 0 (zero) a repetição é interrompida e, portanto, são impressos os 
valores 4, 3, 2 e 1, não sendo impresso o valor 0 (zero). 
c. 1 2 
1 2 
3 2 1 
d. 1 2 
1 2 3 
2 1 
e. 1 2 3 
1 2 3 
1 2 3 
Feedback 
A resposta correta é: 1 2 
1 2 3 
4 3 2 1. 
Questão 8 
Segundo Costa, Koehler e Morais (2016), “Quando falamos em programação, a 
estrutura de seleção é um comando utilizado quando precisamos decidir sobre 
algo ou alguma coisa.”. Considerando o pseudocódigo a seguir, após sua 
execução, quais os valores remanescentes nas variáveis “a”, “b” e “c”, e o que é 
apresentado em tela, respectivamente? 
 
1 Algoritmo "Exercício" 
2 Var 
3 a, b, c: inteiro 
4 Início 
5 a <- 1 
6 b <- a + 2 
7 c <- b - a * 3 
8 se c = 0 então 
9 escreva (a) 
10 senão 
11 escreva (b) 
12 fimse 
13 Fimalgoritmo 
 
Escolha uma: 
a. 1, 3, 6, 3 
b. 1, 3, 0, 1 
#Gabarito: 1, 3, 0, 1 
Justificativa: O algoritmo em questão utiliza instruções sequenciais e seletivas. A variável “a” 
recebe inicialmente o valor 1. A variável “b” recebe o conteúdo de “a” (que é 1) somando-se 
o valor 2, o que resulta em 3. Por fim, a variável “c” recebe o conteúdo da variável “b” (que 
é 3), subtraindo-se o conteúdo de “a” multiplicado por 3;respeitando-se a ordem da 
Matemática (3 - 1 * 3 = 3 – 3 = 0), a variável “c” recebe então o valor 0. A cláusula “se” testa 
se o valor da variável “c” é 0 (zero), o que de fato é, e, portanto o comando executado é do 
“então”, “escreva (a)” que apresenta em tela o valor da variável “a”, que é 1. 
c. 1, 3, 6, 1 
d. 1, 2, 0, 3 
e. 1, 3, 0, 3 
Feedback 
A resposta correta é: 1, 3, 0, 1. 
Questão 9 
Uma técnica fundamental para a programação orientada a objetos é conhecida 
como encapsulamento. A função do encapsulamento dos membros de uma 
classe é: 
Escolha uma: 
a. permitir que o usuário realize qualquer tipo de alteração de dados de forma direta. 
b. restringir as alterações realizadas pelo o usuário conforme os especificadores 
public, private e protected. 
Resposta Correta: restringir as alterações realizadas pelo o usuário conforme os 
especificadores public, private e protected. Conforme livro da disciplina item 4.2 As outras 
questões estão incorretas pois a função do encapsulamento é: Ocultar a estrutura interna 
do programa e Reduzir o númerode mudanças no código-fonte quando houver alteração 
da estrutura interna dos dados. 
c. definir o padrão público quando nenhum especificador de acesso é definido para um 
membro da classe. 
d. disponibilizar acesso ao usuário à particularidades da estrutura de uma classe. 
e. permitir aos usuários atribuir qualquer valor para o atributo. 
Feedback 
A resposta correta é: restringir as alterações realizadas pelo o usuário conforme os 
especificadores public, private e protected.. 
Questão 10 
Visando melhores práticas de desenvolvimento realizamos a separação entre as 
classes do sistema e o programa aplicativo, o que possibilita: 
Escolha uma: 
a. segregação total entre os arquivos do programa principal (.cpp) e declaração de classes e 
métodos (.h). 
b. Agilidade nas futuras manutenções, pois a técnica cria dependência entre os códigos. 
c. redução do acoplamento entre os elementos do programa. 
Resposta Correta: redução do acoplamento entre os elementos do programa. Conforme 
página 75 do livro da disciplina. Opção Agilidade nas futuras manutenções, pois a técnica 
cria dependência entre os códigos está incorreta pois o acoplamento cria independência 
entre os códigos. As demais opções estão incorretas pois os arquivos são complementares, 
Aextensão “.h” indica que foi criado um arquivo de cabeçalho em que normalmente se 
encontram a definição de classes,atributos e métodos e o .cpp são utilizados para 
implementaçãode códigos diversos, como aqueles dos métodos descritos nos arquivos “.h”. 
d. armazenar arquivos do programa em um único arquivo e diretório único. 
e. integração entre os arquivos “.cpp”, que contêm a definição das classes, métodos e 
atributos, com os métodos descritos nos arquivos “.h” 
Feedback 
A resposta correta é: redução do acoplamento entre os elementos do programa.. 
Questão 1 
Os requisitos básicos para que uma linguagem de programação pertença ao 
paradigma Orientado a Objetos são: 
Escolha uma: 
a. Objeto, método e classe. 
b. Variável, função e procedimento. 
c. Abstração, identidade e variável. 
d. Fluxograma, variável e tipo de dado. 
e. Abstração, encapsulamento, herança e polimorfismo. 
Abstração, encapsulamento e herança. Comentário: É necessário analisar os requisitos 
básicos para que uma linguagem de programação “pertença” ao paradigma Orientado a 
Objetos, que seriam a abstração, o encapsulamento, a herança e o polimorfismo. Fonte: 
livro texto, capítulo 2 seção 2.3.2. 
Feedback 
A resposta correta é: Abstração, encapsulamento, herança e polimorfismo.. 
Questão 2 
Conhecer os diferentes conceitos que envolvem a programação orientada a 
objetos é fundamental para poder programar neste paradigma. Considere os 
itens abaixo: 
I - a principal estrutura elaborada dentro da programação orientada a objetos é 
a classe, que é composta basicamente por atributos e métodos 
II - os atributos são as características que um objeto da classe irá possuir 
III – os métodos são as ações que o objeto poderá executar dentro do contexto 
do sistema computacional 
Estão corretos: 
Escolha uma: 
a. III apenas. 
b. II e III apenas. 
c. I, II e III. 
d. I e II apenas. 
Comentário: A principal estrutura elaborada dentro da programação orientada a objetos é a 
classe, que é composta basicamente por atributos e métodos, segundo Sintes (2002). 
Enquanto os atributos são as características que um objeto desta classe irá possuir, os 
métodos são as ações que esse objeto poderá executar dentro do contexto do sistema 
computacional. Fonte: livro texto, capítulo 4 seção 4.1. 
e. I apenas. 
Feedback 
A resposta correta é: I, II e III.. 
Questão 3 
Correto 
Determinadas partes de uma classe em um programa orientado a objetos 
necessitam de proteção extra. Os termos utilizados para definir esta liberação 
de acesso são: 
Escolha uma: 
a. Função e procedimento. 
b. Local, global e único. 
c. Public, private e protected. 
Public, private e protected. Comentário: Determinadas partes de uma classe podem 
necessitar de proteção extra, isto é, requerem que o acesso a elas não seja feito de forma 
direta pelo usuário, mas sim por um método definido especificamente para isso. As 
palavras reservadas public, private e protected indicam no código a utilização dos 
especificadores. Fonte: livro texto, capítulo 4 seção 4.2. 
d. Variável e constante. 
e. Classe, objeto e método. 
Feedback 
A resposta correta é: Public, private e protected.. 
Questão 4 
A programação orientada a objetos faz uso de alguns conceitos principais que 
são: 
Escolha uma: 
a. Fluxograma, variável e tipo de dado. 
b. Variáveis e identificadores. 
c. Variáveis, abstração e herança. 
d. Variável, função e procedimento. 
e. Objetos e classes. 
Objetos e classes. Comentário: O entendimento e a posterior diferenciação dos conceitos 
de orientação a objetos referente aos objetos e classes são fundamentais para elaborar 
programas utilizando o paradigma orientado a objetos. Fonte: livro texto, capítulo 3 seção 
3.1.1 e 3.1.2. 
Feedback 
A resposta correta é: Objetos e classes.. 
Questão 5 
Texto da questão 
A estrutura de seleção em algoritmos pode ser simples ou composta. Na 
estrutura condicional simples o comando só será executado se a condição for 
verdadeira. Assinale a alternativa correta em relação a sintaxe da estrutura 
condicional simples. 
Escolha uma: 
a. se condição senão 
Gabarito: 
Comentário: Uma condição é uma comparação que possui dois possíveis valores: 
verdadeiro ou falso. No caso do condicional simples sempre haverá uma condição seguido 
da palavra chave então e, posteriormente o comando a ser executado após a condição ser 
verdadeira. 
b. se condição comando 
c. se condição então comando 
d. se condição então comando senão comando 
e. se condição faça comando 
Feedback 
A resposta correta é: se condição então comando. 
Questão 6 
Texto da questão 
Preencher um vetor significa atribuir valores a todas as suas posições. Assim, 
deve-se implementar um mecanismo que faça uma variável assumir todos os 
valores possíveis para o índice. Assinale a alternativa correta para a sintaxe 
correta de preenchimento de vetor. 
Escolha uma: 
a. para i == 1 até 5 faça 
Leia vetor[i] 
Fimpara 
b. para i até 5 faça 
Leia vetor[i] 
Fimpara 
Gabarito: 
Comentário: A estrutura de repetição para foi utilizada para garantir que variável i assuma 
todos p valores possíveis entre 1 e 5 (posições válidas para o vetor[i]). 
c. para i de 1 e se 5 faça 
Leia vetor[i] 
Fimpara 
d. para i de 1 até 5 faça 
Leia vetor[i] 
e. para i de 1 e 5 faça 
Leia vetor[i] 
Fimpara 
Feedback 
A resposta correta é: para i de 1 até 5 faça 
Leia vetor[i]. 
Questão 7 
Em alguns programas, existem situações mutuamente exclusivas, ou seja, se 
uma situação for executada as demais não serão. Quando este for o caso, um 
comando seletivo será o mais indicado. Assinale a alternativa correta em relação 
ao nome do comando para situações condicionais mutuamente exclusivas. 
Escolha uma: 
a. imprima 
b. case 
c. para 
Gabarito: 
Comentário: A estrutura case é o nome dado a condições mutuamente exclusivas, isto é, 
quando uma determinada situação é executada as demais são descartadas. 
d. leia 
e. enquanto 
Feedback 
A resposta correta é: case. 
Questão 8 
É muito frequente que um programa, durante a sua execução, precise passar 
por uma tomada de decisão. A execução de uma determinada sequência de 
comandos pode estar subordinada a uma expressão, cujo resultado lógico será 
colocado a prova em uma seleção simples, ou em uma estrutura composta. 
Considerando a pseudolinguagem Portugole a sua implementação em Visualg, 
sobre estruturas de seleção, é correto afirmar que: 
I. Uma estrutura de seleção simples utiliza as cláusulas “se”, “entao", “senao" e 
“fimse”. 
II. A cláusula “senao" é utilizada para executar uma sequência de comandos 
quando o teste lógico da expressão em questão resulta em FALSO. 
III. Depois da cláusula “senao" é necessário colocar uma expressão lógica antes 
da sequência de comandos. 
IV. Uma estrutura de seleção composta é iniciada pela cláusula “enquanto”. 
Consideram-se como verdadeiras: 
Escolha uma: 
a. apenas as alternativas II e III 
b. apenas as alternativas I, II e III 
Gabarito: apenas as alternativas I e II 
Justificativa: Uma estrutura de seleção simples utiliza um teste condicional para desviar o 
fluxo da execução de um programa. A cláusula “se” inicia a estrutura, onde logo após deve-
se colocar o teste lógico. Se o resultado do teste for VERDADEIRO, são executados os 
comandos subordinados à cláusula, sendo que está subordinação termina com o uso da 
cláusula “fimse”. Quando existe a necessidade de se executar um ou mais comandos para 
quando o teste lógico iniciado pela cláusula “se” resulta em FALSO, utiliza-se a cláusula 
“senão” e só então termina-se o bloco de instruções com a cláusula “fimse”. 
c. apenas as alternativas I, II e IV 
d. apenas as alternativas I e II 
e. apenas as alternativas I, III e IV 
Feedback 
A resposta correta é: apenas as alternativas I e II. 
Questão 9 
Uma classe pode herdar as características, métodos e atributos de outra classe, 
isso ocorre porque: 
Escolha uma: 
a. a herança simples possibilita a herança de uma classe pai para uma classe filha. 
Resposta Correta: a herança é um relacionamento entre classes, que permite que uma 
classe “adquira” os membros (atributos e métodos) de outra classe. Conforme página 96 do 
livro da disciplina. 
b. definimos na codificação do programa que vamos fazer o reuso de código por meio da 
herança. 
c. a herança é um relacionamento entre classes, que permite que uma 
classe “adquira” os membros (atributos e métodos) de outra classe. 
d. automaticamente a herança ocorre quando as classes são idênticas, ou seja que 
possuem exatamente a mesma característica e função. 
e. a herança múltipla permite que uma classe pai tenha muitas classes filhas. 
Feedback 
A resposta correta é: a herança é um relacionamento entre classes, que permite que uma 
classe “adquira” os membros (atributos e métodos) de outra classe.. 
 
Questão 10 
Visando melhores práticas de desenvolvimento realizamos a separação entre as 
classes do sistema e o programa aplicativo, o que possibilita: 
Escolha uma: 
a. Agilidade nas futuras manutenções, pois a técnica cria dependência entre os códigos. 
b. segregação total entre os arquivos do programa principal (.cpp) e declaração de classes 
e métodos (.h). 
c. armazenar arquivos do programa em um único arquivo e diretório único. 
d. redução do acoplamento entre os elementos do programa. 
Resposta Correta: redução do acoplamento entre os elementos do programa. Conforme 
página 75 do livro da disciplina. Opção Agilidade nas futuras manutenções, pois a técnica 
cria dependência entre os códigos está incorreta pois o acoplamento cria independência 
entre os códigos. As demais opções estão incorretas pois os arquivos são complementares, 
Aextensão “.h” indica que foi criado um arquivo de cabeçalho em que normalmente se 
encontram a definição de classes,atributos e métodos e o .cpp são utilizados para 
implementaçãode códigos diversos, como aqueles dos métodos descritos nos arquivos “.h”. 
e. integração entre os arquivos “.cpp”, que contêm a definição das classes, métodos e 
atributos, com os métodos descritos nos arquivos “.h” 
Feedback 
A resposta correta é: redução do acoplamento entre os elementos do programa.. 
 
Questão 1 
Para que possamos criar uma variável é necessário especificar seu nome (identificador) 
e o tipo de dados. Nos algoritmos e programas de computador existem alguns tipos de 
dados mais utilizados, podemos citar: 
Escolha uma: 
a. Caractere e literal. 
b. Caractere, numérico e lógico. 
Caractere, numérico e lógico. Comentário: Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, conhecidos como caractere ou literal, 
numérico e lógico. (XAVIER, 2007). Fonte: livro texto, capítulo 1 seção 1.7. 
c. Falso e verdadeiro. 
d. Real e fracionário. 
e. Identificador e variável. 
Feedback 
A resposta correta é: Caractere, numérico e lógico.. 
Questão 2 
Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar um 
nome de identificação e o tipo de dados. Sobre os tipos de dados simples, analise os 
seguintes valores ou literais: 
100, -90.5, ‘p’, falso 
O tipo de cada um desses literais, do inicio para o final, é: 
Escolha uma: 
a. numérico inteiro, numérico real, string e lógico; 
b. numérico inteiro, numérico real, caractere e lógico; 
Resposta: numérico inteiro, numérico real, caractere e lógico;Comentário: O número -90.5 é 
real, pois possui parte fracionária ou decimal; e é negativo. Um número sem maiores 
pontuações é um número natural ou inteiro positivo. Valores entre aspas simples são 
literais ou caracteres. Os valores lógicos ou booleanos podem assumir somente os valores 
verdadeiro ou falso.Fonte: Capítulo 1, páginas 18 e 19. 
c. lógico, caractere, numérico inteiro e numérico real; 
d. numérico inteiro e numérico real, lógico e caractere; 
e. numérico real, numérico real, lógico e caractere; 
Feedback 
A resposta correta é: numérico inteiro, numérico real, caractere e lógico;. 
Questão 3 
Conhecer os diferentes conceitos que envolvem a programação orientada a objetos é 
fundamental para poder programar neste paradigma. Considere os itens abaixo: 
I - a principal estrutura elaborada dentro da programação orientada a objetos é a 
classe, que é composta basicamente por atributos e métodos 
II - os atributos são as características que um objeto da classe irá possuir 
III – os métodos são as ações que o objeto poderá executar dentro do contexto do 
sistema computacional 
Estão corretos: 
Escolha uma: 
a. I, II e III. 
Comentário: A principal estrutura elaborada dentro da programação orientada a objetos é a 
classe, que é composta basicamente por atributos e métodos, segundo Sintes (2002). 
Enquanto os atributos são as características que um objeto desta classe irá possuir, os 
métodos são as ações que esse objeto poderá executar dentro do contexto do sistema 
computacional. Fonte: livro texto, capítulo 4 seção 4.1. 
b. II e III apenas. 
c. III apenas. 
d. I e II apenas. 
e. I apenas. 
Feedback 
A resposta correta é: I, II e III.. 
Questão 4 
Os requisitos básicos para que uma linguagem de programação pertença ao 
paradigma Orientado a Objetos são: 
Escolha uma: 
a. Abstração, encapsulamento, herança e polimorfismo. 
Abstração, encapsulamento e herança. Comentário: É necessário analisar os requisitos 
básicos para que uma linguagem de programação “pertença” ao paradigma Orientado a 
Objetos, que seriam a abstração, o encapsulamento, a herança e o polimorfismo. Fonte: 
livro texto, capítulo 2 seção 2.3.2. 
b. Variável, função e procedimento. 
c. Objeto, método e classe. 
d. Abstração, identidade e variável. 
e. Fluxograma, variável e tipo de dado. 
Feedback 
A resposta correta é: Abstração, encapsulamento, herança e polimorfismo. 
 
 
 
Questão 5 
A estrutura de um vetor bidimensional é composta por: nome da variável do tipo vetor, 
tamanho que representa a quantidade de variáveis que vão compor o vetor e tipo que 
é o tipo básico dos dados que serão armazenadosno vetor. Assinale a alternativa 
correta em relação ao nome dado a forma como se referência um dado valor dentro de 
um vetor. 
Escolha uma: 
a. Repetição 
b. Variável 
c. Índice 
Gabarito: 
Comentário: O índice é utilizado no vetor para permitir a localização de um determinado 
valor ou então para navegar dentre todos os elementos que compõem o vetor. 
d. Condição 
e. Constante 
Feedback 
A resposta correta é: Índice. 
Questão 6 
Segundo Costa, Koehler e Morais (2016), “Quando falamos em programação, a 
estrutura de seleção é um comando utilizado quando precisamos decidir sobre algo ou 
alguma coisa.”. Considerando o pseudocódigo a seguir, após sua execução, quais os 
valores remanescentes nas variáveis “a”, “b” e “c”, e o que é apresentado em tela, 
respectivamente? 
 
1 Algoritmo "Exercício" 
2 Var 
3 a, b, c: inteiro 
4 Início 
5 a <- 1 
6 b <- a + 2 
7 c <- b - a * 3 
8 se c = 0 então 
9 escreva (a) 
10 senão 
11 escreva (b) 
12 fimse 
13 Fimalgoritmo 
 
Escolha uma: 
a. 1, 2, 0, 3 
b. 1, 3, 6, 1 
c. 1, 3, 6, 3 
d. 1, 3, 0, 3 
e. 1, 3, 0, 1 
#Gabarito: 1, 3, 0, 1 
Justificativa: O algoritmo em questão utiliza instruções sequenciais e seletivas. A variável “a” 
recebe inicialmente o valor 1. A variável “b” recebe o conteúdo de “a” (que é 1) somando-se 
o valor 2, o que resulta em 3. Por fim, a variável “c” recebe o conteúdo da variável “b” (que 
é 3), subtraindo-se o conteúdo de “a” multiplicado por 3;respeitando-se a ordem da 
Matemática (3 - 1 * 3 = 3 – 3 = 0), a variável “c” recebe então o valor 0. A cláusula “se” testa 
se o valor da variável “c” é 0 (zero), o que de fato é, e, portanto o comando executado é do 
“então”, “escreva (a)” que apresenta em tela o valor da variável “a”, que é 1. 
Feedback 
A resposta correta é: 1, 3, 0, 1. 
Questão 7 
Segundo Xavier (2007), uma estrutura de repetição é utilizada quando uma parte do 
programa – ou mesmo o programa inteiro – precisa ser repetido. O número de 
repetições pode ser fixo ou estar relacionado a uma condição. Considerando o 
pseudocódigo a seguir, após sua execução, quais as sequências de valores 
apresentadas em tela, por cada uma das estruturas (“enquanto”, “para”, “ate”), 
respectivamente? 
 
1 Algoritmo "Exercício" 
2 Var 
3 a, b: inteiro 
4 Início 
5 a <- 1 
6 enquanto a < 3 faça 
7 escreva (a) 
8 a <- a + 1 
9 fimenquanto 
10 escreval () 
11 para a de 1 até 3 faça 
12 escreva (a) 
13 fimpara 
14 escreval () 
15 repita 
16 escreva (a) 
17 a <- a - 1 
18 até a = 0 
19 Fimalgoritmo 
 
Escolha uma: 
a. 1 2 
1 2 3 
4 3 2 1 
Gabarito: 1 2 
1 2 3 
4 3 2 1 
Justificativa: O algoritmo em questão utiliza as três estruturas iterativas mais conhecidas. A 
variável “a” recebe inicialmente o valor 1. A partir daí inicia-se uma repetição com a 
estrutura “enquanto”, sempre apresentando em tela e posteriormente incrementando em 1 
o valor da variável “a” a cada repetição. Como o teste lógico que permite a repetição 
considera valores menores do que 3 (a < 3), apenas são impressos os valores 1 e 2. Na 
sequência, a estrutura “para” controla a repetição pré-definida de 1 até 3. São impressos, 
portanto, os valores: 1, 2 e 3. Lembrando que o “para” finaliza com “a” valendo 4. Por fim, a 
estrutura “repita” controla um bloco de comandos que apresenta em tela o valor de “a”, 
desta vez decrescendo o valor da variável a cada repetição, até que o valor chegue em 0 
(zero). Ao chegar em 0 (zero) a repetição é interrompida e, portanto, são impressos os 
valores 4, 3, 2 e 1, não sendo impresso o valor 0 (zero). 
b. 1 2 3 
1 2 3 
3 2 1 
c. 1 2 3 
1 2 3 
1 2 3 
d. 1 2 
1 2 3 
2 1 
e. 1 2 
1 2 
3 2 1 
Feedback 
A resposta correta é: 1 2 
1 2 3 
4 3 2 1. 
Questão 8 
A estrutura de seleção em algoritmos pode ser simples ou composta. Na estrutura 
condicional simples o comando só será executado se a condição for verdadeira. 
Assinale a alternativa correta em relação a sintaxe da estrutura condicional simples. 
Escolha uma: 
a. se condição faça comando 
b. se condição comando 
c. se condição então comando senão comando 
d. se condição então comando 
Gabarito: 
Comentário: Uma condição é uma comparação que possui dois possíveis valores: 
verdadeiro ou falso. No caso do condicional simples sempre haverá uma condição seguido 
da palavra chave então e, posteriormente o comando a ser executado após a condição ser 
verdadeira. 
e. se condição senão 
Feedback 
A resposta correta é: se condição então comando. 
Questão 9 
Uma classe pode herdar as características, métodos e atributos de outra classe, isso 
ocorre porque: 
Escolha uma: 
a. a herança múltipla permite que uma classe pai tenha muitas classes filhas. 
b. definimos na codificação do programa que vamos fazer o reuso de código por meio da 
herança. 
c. a herança é um relacionamento entre classes, que permite que uma 
classe “adquira” os membros (atributos e métodos) de outra classe. 
Resposta Correta: a herança é um relacionamento entre classes, que permite que uma 
classe “adquira” os membros (atributos e métodos) de outra classe.Conforme página 96 do 
livro da disciplina. 
d. automaticamente a herança ocorre quando as classes são idênticas, ou seja, que 
possuem exatamente a mesma característica e função. 
e. a herança simples possibilita a herança de uma classe pai para uma classe filha. 
Feedback 
A resposta correta é: a herança é um relacionamento entre classes, que permite que uma 
classe “adquira” os membros (atributos e métodos) de outra classe.. 
Questão 10 
Uma técnica fundamental para a programação orientada a objetos é conhecida como 
encapsulamento. A função do encapsulamento dos membros de uma classe é: 
Escolha uma: 
a. restringir as alterações realizadas pelo o usuário conforme os especificadores 
public, private e protected. 
Resposta Correta: restringir as alterações realizadas pelo o usuário conforme os 
especificadores public, private e protected. Conforme livro da disciplina item 4.2 As outras 
questões estão incorretas pois a função do encapsulamento é: Ocultar a estrutura interna 
do programa e Reduzir o número de mudanças no código-fonte quando houver alteração 
da estrutura interna dos dados. 
b. definir o padrão público quando nenhum especificador de acesso é definido para um 
membro da classe. 
c. permitir que o usuário realize qualquer tipo de alteração de dados de forma direta. 
d. disponibilizar acesso ao usuário à particularidades da estrutura de uma classe. 
e. permitir aos usuários atribuir qualquer valor para o atributo. 
Feedback 
A resposta correta é: restringir as alterações realizadas pelo o usuário conforme os 
especificadores public, private e protected.. 
 
 
 
 
Questão 1 
Texto da questão 
Os requisitos básicos para que uma linguagem de programação pertença ao 
paradigma Orientado a Objetos são: 
Escolha uma: 
a. Objeto, método e classe. 
b. Abstração, encapsulamento, herança e polimorfismo. 
Abstração, encapsulamento e herança. Comentário: É necessário analisar os requisitos 
básicos para que uma linguagem de programação “pertença” ao paradigma Orientado a 
Objetos, que seriam a abstração, o encapsulamento, a herança e o polimorfismo. Fonte: 
livro texto, capítulo 2 seção 2.3.2. 
c. Variável, função e procedimento. 
d. Abstração, identidade e variável. 
e. Fluxograma, variável e tipo de dado. 
Feedback 
A resposta correta é: Abstração, encapsulamento, herança e polimorfismo..Questão 2 
Segundo Melo e rios (2016), ao criar uma variável, faz-se necessário especificar 
um nome de identificação e o tipo de dados. Sobre os tipos de dados simples, 
analise os seguintes valores ou literais: 
100, -90.5, ‘p’, falso 
O tipo de cada um desses literais, do inicio para o final, é: 
Escolha uma: 
a. numérico inteiro, numérico real, string e lógico; 
b. numérico inteiro e numérico real, lógico e caractere; 
c. numérico inteiro, numérico real, caractere e lógico; 
Resposta: numérico inteiro, numérico real, caractere e lógico;Comentário: O número -90.5 é 
real, pois possui parte fracionária ou decimal; e é negativo. Um número sem maiores 
pontuações é um número natural ou inteiro positivo. Valores entre aspas simples são 
literais ou caracteres. Os valores lógicos ou booleanos podem assumir somente os valores 
verdadeiro ou falso.Fonte: Capítulo 1, páginas 18 e 19. 
d. lógico, caractere, numérico inteiro e numérico real; 
e. numérico real, numérico real, lógico e caractere; 
Feedback 
A resposta correta é: numérico inteiro, numérico real, caractere e lógico;. 
Questão 3 
Conhecer os diferentes conceitos que envolvem a programação orientada a 
objetos é fundamental para poder programar neste paradigma. Considere os 
itens abaixo: 
I - a principal estrutura elaborada dentro da programação orientada a objetos é 
a classe, que é composta basicamente por atributos e métodos 
II - os atributos são as características que um objeto da classe irá possuir 
III – os métodos são as ações que o objeto poderá executar dentro do contexto 
do sistema computacional 
Estão corretos: 
Escolha uma: 
a. III apenas. 
b. II e III apenas. 
c. I e II apenas. 
d. I apenas. 
e. I, II e III. 
Comentário: A principal estrutura elaborada dentro da programação orientada a objetos é a 
classe, que é composta basicamente por atributos e métodos, segundo Sintes (2002). 
Enquanto os atributos são as características que um objeto desta classe irá possuir, os 
métodos são as ações que esse objeto poderá executar dentro do contexto do sistema 
computacional. Fonte: livro texto, capítulo 4 seção 4.1. 
Feedback 
A resposta correta é: I, II e III.. 
Questão 4 
Analisando a literatura relacionada com a construção de algoritmos, existem 
três formatos mais comuns utilizados, que são: 
Escolha uma: 
a. Símbolos e fluxograma. 
b. Descrição narrativa, descrição interrogativa e símbolos. 
c. Português, inglês e francês. 
d. Texto, símbolos e linguagens. 
e. Descrição narrativa, pseudocódigo e fluxograma. 
Descrição narrativa, pseudocódigo e fluxograma. Comentário: Analisando a literatura 
relacionada com a construção de algoritmos, existem três formatos mais comuns utilizados: 
a descrição narrativa, o pseudocódigo, também conhecido como portugol, e o fluxograma. 
(FORBELLONE, 2005). Fonte: livro texto, capítulo 1 seção 1.3. 
Feedback 
A resposta correta é: Descrição narrativa, pseudocódigo e fluxograma.. 
Questão 5 
Observe o seguinte código fonte: 
 
 
calss Apartamento { 
 protected: 
 float area; 
 usigned qtde_quartos; 
 public: 
 Apartamento(float, unsigned); 
 void mostrar( ); 
 void procuar(unsigned, unsigned); 
}; 
calss Garagem { 
 protected: 
 unsigned qtde_carros; 
 public: 
 Garagem(unsigned); 
 void mostrar( ); 
 void procurar(unsigned, unsigned); 
}; 
class AptoComGaragem: Apartamento, Garagem { 
 public: 
 AptoComGaragem(float, Unsigned, unsigned); 
 void mostrar( ); 
}; 
void AptoComGaragem::mostrar( ) 
{ 
 Apartamento::mostar( ); 
 cout << “Garagem com ” ; 
 Garagem::mostrar( ); 
} 
int main( ) { 
 AptoComGaragem apto; 
 apto.mostrar( ); 
 apto.procura( ); 
} 
 
 
Considerando a questão de “herança múltipla” em programação, analise as 
seguintes afirmações: 
I –A classe AptoComGaragem vai possuir tanto os atributos qtde_quartos de 
Apartamento, quanto qtde_carros de Garagem. 
II – O método mostrar() de AptoComGaragem está usando tanto os métodos 
mostrar() de Garagem, quanto de Apartamento. 
III – O método mostrar() de AptoComGaragem é um exemplo de sobreescrita 
de métodos. 
IV – Na linha apto.procura(); do main teremos um erro de compilação, pois o 
método procura não foi sobrescrito na classe AptoComGaragem. 
É correto apenas o que se afirma em: 
Escolha uma: 
a. I, II, III e IV. 
b. Apenas II, III e IV. 
Resposta: I, II, III e IV. Comentário: A afirmativa I é correta, pois como há herança múltipla 
na classe AptoComGaragem, ela herda tanto os atributos da classe Apartamento, quanto da 
classe Garagem. A afirmativa II é correta, pois o método mostrar() de AptoComGaragem 
está usando tanto os métodos mostrar() de Garagem, quanto de Apartamento. o que 
aparece de forma explicita no código da rotina, com o uso do operador “::”. A afirmativa III 
é correta, pois o método mostrar() de AptoComGaragem é um exemplo de sobreescrita de 
métodos, já que tanto as classes Apartamento, quanto Garagem, também possuem 
métodos com esse nome. A afirmativa IV é correta, pois na linha apto.procura(); do main 
teremos um erro de compilação, pois o método procura não foi sobrescrito na classe 
AptoComGaragem. Fonte: Capítulo 7, páginas 111 a 113. 
c. Apenas I, II e III. 
d. Apenas I, III e IV. 
e. Apenas III e IV. 
Feedback 
A resposta correta é: I, II, III e IV.. 
Questão 6 
Observe o seguinte código fonte: 
 
class Adder { 
 public: 
 
 Adder(int i = 0) { 
 total = i; 
 } 
 
 void addNun(int number) { 
 total += number; 
 } 
 int getTotal( ) { 
 return total; 
 } 
 private: 
 int total; 
}; 
 
int main( ) 
{ 
 Adder a: 
 a.addNum(10); 
 a.addNum(20); 
 a.addNum(30); 
 cout << "Total " << a.getTotal( ) << endl; 
 system("pause"); 
} 
 
O conceito da Programação Orientada a Objetos que está sendo contemplado 
ao se colocar o atributo total dentro da classe como privado, escondendo-o 
totalmente ao se acessar e atribuir seu valor somente através de métodos, é o 
conceito de: 
Escolha uma: 
a. Herança. 
b. Polimorfismo. 
c. Modularização. 
d. Abstração. 
e. Encapsulamento. 
Resposta: EncapsulamentoComentário: O conceito de Encapsulamento consiste em separar 
os aspectos externos de um objeto, que serão acessíveis a outros, dos detalhes internos. 
Classes que implementam o conceito de Encapsulamento devem ter atributos protegidos 
ou privados, e métodos Get e Set públicos para manipular o atributo.Fonte: Capítulo 10, 
página 149 e 150. 
Feedback 
A resposta correta é: Encapsulamento.. 
Questão 7 
Pensando em “encapsulamento”, analise as seguintes afirmações: 
I –Podemos reutilizar o objeto em qualquer lugar. Eles não estarão vinculados a 
nenhum programa em particular. Em vez disso, você pode usá-los sempre que 
seu uso fizer sentido. 
II – Todos os métodos e atributos programados na classe ancestral serão 
automaticamente passados para seus descendentes sem a necessidade de 
reescrevê-los. 
III – Podemos tornar transparentes as alterações em um objeto. Você pode 
atualizar seu componente, fornecer uma implementação mais eficiente ou 
corrigir erros, tudo isso sem ter que alterar os outros objetos de seu programa. 
IV – Diferentes objetos vão responder a uma mesma mensagem de diferentes 
maneiras. 
V –Como o objeto tem implementaçãoindependente, ele não terá nenhuma 
outra interação com o restante do programa, além de sua interface, impedindo 
efeitos colaterais inesperados. 
As três vantagens vinculadas ao encapsulamento correspondem às afirmações: 
Escolha uma: 
a. Apenas III, IV e V. 
b. Apenas I, II e III. 
c. Apenas I, III e V. 
Resposta: I, III e V.Comentário: O encapsulamento transforma seus objetos em 
componentes “plugáveis”. Para que outro objeto use seu componente, ele só precisa saber 
como usar a interface pública do componente. Tal independência tem três vantagens 
importantes:A independência: podemos reutilizar o objeto em qualquer lugar. Quando você 
encapsular corretamente seus objetos, eles não estarão vinculados a nenhum programa em 
particular. Em vez disso, você pode usá-los sempre que seu uso fizer sentido.O 
encapsulamento: permite que você torne transparentes as alterações em seu objeto. Desde 
que você não altere sua interface, todas as alterações permanecerão transparentes para 
aqueles que estiverem usando o objeto. O encapsulamento permite que você atualize seu 
componente, forneça uma implementação mais eficiente ou corrija erros – tudo isso sem 
ter que tocar nos outros objetos de seu programa.Não causará efeitos colaterais 
inesperados entre os objetos e o restante do programa. Como o objeto tem 
implementação independente, ele não terá nenhuma outra interação com o restante do 
programa, além de sua interface.Fonte: Capítulo 6, páginas 103 e 104. 
d. Apenas II, IV e V. 
e. Apenas II, III e IV. 
Feedback 
A resposta correta é: Apenas I, III e V.. 
Questão 8 
Observe o seguinte código fonte: 
 
class Box { 
 public: 
 double length ; // comprimento da caixa 
 double breadth ; // largura da caixa 
 double height ; // altura da caixa 
}; 
 
int main( ) 
{ 
 Box Box1; 
 Box Box2; 
 double volume = 0.0; 
 // especificação da caixa 1 
 Box1.height = 5.0; 
 Box1.length = 6.0; 
 Box1.breadth = 7.0; 
 // especificação da caixa 2 
 Box2.height = 10.0; 
 Box2.length = 12.0; 
 Box2.breadth = 13.0; 
 // volume da caixa 1 
 volume = Box1.height * Box1.length * Box1.breadth; 
 cout << "Volume do Box1 : " << volume << endl; 
 // volume do caixa 2 
 volume = Box2.height * Box2.length * Box2.breadth; 
 cout << "Volume do Box2 : " << volume << endl; 
 // saída do sistema 
 system("pause"); 
} 
 
O conceito da Programação Orientada a Objetos que está sendo desrespeitado 
ao se atribuir valores diretamente aos atributos height e length, na função main, 
é o conceito de: 
Escolha uma: 
a. Modularização. 
Resposta: Encapsulamento.Comentário: O conceito de Encapsulamento consiste em separar 
os aspectos externos de um objeto, que serão acessíveis a outros, dos detalhes internos. 
Classes que implementam o conceito de Encapsulamento devem ter atributos protegidos 
ou privados, e métodos Get e Set públicos para manipular o atributo. Isto falta neste 
programa.Fonte: Capítulo 9, páginas 137 a 142. 
b. Herança. 
c. Polimorfismo. 
d. Abstração. 
e. Encapsulamento. 
Feedback 
A resposta correta é: Encapsulamento.. 
Questão 9 
Um tipo abstrato de dados (TAD) é formado por uma coleção de dados a serem 
armazenados, mais um conjunto de operações, ou ainda operadores que 
podem ser aplicados para manipulá-los. O TAD contém: 
Escolha uma: 
a. três pontos principais: classes, métodos e atributos. 
Resposta Correta: tipos abstratos de dados que são usados para modificar as 
implementações com o menor impacto possível para os programas.Conforme página 122 
do livro da disciplina. 
b. apenas um arquivo denominado TAD complex. 
c. tipo de dado (domínio e operações) com referência a detalhes da implementação. 
d. chamadas de variáveis globais por meio do namespace. 
e. tipos abstratos de dados que são usados para modificar as implementações com o 
menor impacto possível para os programas. 
Feedback 
A resposta correta é: tipos abstratos de dados que são usados para modificar as 
implementações com o menor impacto possível para os programas.. 
Questão 10 
Um tipo abstrato de dados é formado por uma coleção de dados a serem 
armazenados em um conjunto de operações. Analise o diagrama de classes 
abaixo, que faz parte do sistema SOMANUT. Na classe Funcionário, foi 
implementado o método abstrato calcularSalario. 
 
Para que a classe Operador possa ser instanciada, é necessário que a(s) classe(s): 
Escolha uma: 
a. Funcionario tenha definido como público o atributo salário. 
b. Operador e Analista redefinam o método calcularSalario. 
c. Operador redefina o método calcularSalario. 
Resposta Correta: Operador redefina o método calcularSalario.Conforme livro da disciplina 
página 12º. 
d. Funcionario tenha definido um atributo salário que seja protegido. 
e. Funcionario possua outros métodos concretos. 
Feedback 
A resposta correta é: Operador redefina o método calcularSalario.. 
Questão 1 
Determinadas partes de uma classe em um programa orientado a objetos 
necessitam de proteção extra. Os termos utilizados para definir esta liberação 
de acesso são: 
Escolha uma: 
a. Public, private e protected. 
Public, private e protected. Comentário: Determinadas partes de uma classe podem 
necessitar de proteção extra, isto é, requerem que o acesso a elas não seja feito de forma 
direta pelo usuário, mas sim por um método definido especificamente para isso. As 
palavras reservadas public, private e protected indicam no código a utilização dos 
especificadores. Fonte: livro texto, capítulo 4 seção 4.2. 
b. Variável e constante. 
c. Local, global e único. 
d. Função e procedimento. 
e. Classe, objeto e método. 
Feedback 
A resposta correta é: Public, private e protected.. 
Questão 2 
Para que possamos criar uma variável é necessário especificar seu nome 
(identificador) e o tipo de dados. Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, podemos citar: 
Escolha uma: 
a. Caractere e literal. 
b. Real e fracionário. 
c. Identificador e variável. 
d. Caractere, numérico e lógico. 
Caractere, numérico e lógico. Comentário: Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, conhecidos como caractere ou literal, 
numérico e lógico. (XAVIER, 2007). Fonte: livro texto, capítulo 1 seção 1.7. 
e. Falso e verdadeiro. 
Feedback 
A resposta correta é: Caractere, numérico e lógico.. 
Questão 3 
A programação orientada a objetos faz uso de alguns conceitos principais que 
são: 
Escolha uma: 
a. Variáveis, abstração e herança. 
b. Variáveis e identificadores. 
c. Variável, função e procedimento. 
d. Objetos e classes. 
Objetos e classes. Comentário: O entendimento e a posterior diferenciação dos conceitos 
de orientação a objetos referente aos objetos e classes são fundamentais para elaborar 
programas utilizando o paradigma orientado a objetos. Fonte: livro texto, capítulo 3 seção 
3.1.1 e 3.1.2. 
e. Fluxograma, variável e tipo de dado. 
Feedback 
A resposta correta é: Objetos e classes.. 
Questão 4 
Os requisitos básicos para que uma linguagem de programação pertença ao 
paradigma Orientado a Objetos são: 
Escolha uma: 
a. Abstração, encapsulamento, herança e polimorfismo. 
Abstração, encapsulamento e herança. Comentário: É necessário analisar os requisitos 
básicos para que uma linguagem de programação “pertença” ao paradigma Orientado a 
Objetos, que seriam a abstração, o encapsulamento, a herança e o polimorfismo. Fonte: 
livro texto, capítulo 2 seção 2.3.2. 
b. Objeto, método e classe. 
c. Variável,função e procedimento. 
d. Abstração, identidade e variável. 
e. Fluxograma, variável e tipo de dado. 
Feedback 
A resposta correta é: Abstração, encapsulamento, herança e polimorfismo.. 
Questão 5 
O Visual C++ é uma poderosa ferramenta para desenvolvimento, é considerado 
eficiente pois: 
Escolha uma: 
a. É restrita a desenvolvimento de programas acadêmicos. 
b. Possibilita a identificação de erros de codificação no momento da compilação do 
programa. 
Resposta correta: É muito útil para escrever device drivers e outros programas de 
manipulação de hardware.Conforme página 138 do livro da disciplina 
c. Possibilita o desenvolvimento para múltiplos dispositivos, pois é portável como o Java. 
d. É muito útil para escrever device drivers e outros programas de manipulação de 
hardware. 
e. O visual studio é utilizado somente para desenvolvimento em C++. 
Feedback 
A resposta correta é: É muito útil para escrever device drivers e outros programas de 
manipulação de hardware.. 
Questão 6 
questão 
Texto da questão 
Observe o seguinte código fonte: 
 
class Rectangle { 
 protected: 
 int width; 
 int height; 
 public: 
 void setWidth(int w) { 
 width = w; 
 } 
 void setHeight(int h) { 
 height = h; 
 } 
 int getPerimetro( ) { 
 return 2*(width + height); 
 } 
}; 
 
class Circle { 
 protected: 
 int raio; 
 double PI = 3.1415; 
 public: 
 void setRaio(int r) { 
 raio = r; 
 } 
}; 
 int main(void) 
{ 
 Rectangle r1; 
 Circle c1; 
 
 r1.setwidth(5); 
 r1.setHeight(6); 
 cout << "perimetro:" << r1.getPerimetro( ) << endl; 
 
 c1.setRaio(3); 
 cout << "circunferencia:" << c1.getPerimetro( ) << endl; 
} 
 
A saída deste programa será: 
Escolha uma: 
a. perimetro:11 / circunferencia:9. 
b. perimetro:22 / circunferencia:9. 
Resposta: perimetro:22 / circunferencia:18. Comentário: Como o retângulo recebeu lados 5 
e 6, seu perímetro será a sua soma, 11, vezes 2, o que é igual a 22. Já o círculo tem como 
raio o valor 3, e seu perímetro será 3 vezes 2, 6, vezes PI que é 3, o que dá 18. Fonte: 
Capítulo 8, páginas 125 e 126. 
c. perimetro:11 / circunferencia:18. 
d. perimetro:18 / circunferencia:22. 
e. perimetro:22 / circunferencia:18. 
Feedback 
A resposta correta é: perimetro:22 / circunferencia:18.. 
Questão 7 
Observe o seguinte código fonte: 
 
class Shape 
{ 
 public: 
 void setLargura(int l) { 
 latgura= l; 
 void setComprimento(int c) { 
 comprimento = c; 
 } 
 protected: 
 int largura; 
 int comprimento; 
}; 
 
class Retangulo : public Shape 
{ 
 public: 
 int getArea( ) { 
 return (largura * comprimento); 
 } 
}; 
 
 
O conceito da Programação Orientada a Objetos que está sendo contemplado 
ao se criar a classe Retângulo como subclasse da classe Shape é o conceito de: 
Escolha uma: 
a. Abstração. 
b. Modularização. 
Resposta: Herança.Comentário: O conceito de Herança consiste em compartilhar atributos e 
operações entre classes baseadas em um relacionamento. Lembre-se que uma classe é 
definida inicialmente de forma genérica e, depois, em termos de subclasses, também 
chamadas de classes derivadas. Programas que implementam herança vão possuir pelo 
menos duas classes, uma delas sendo superclasse das demais. Fonte: Capítulo 10, páginas 
144 a 146. 
c. Polimorfismo. 
d. Encapsulamento. 
e. Herança. 
Feedback 
A resposta correta é: Herança.. 
Questão 8 
Observe o seguinte código fonte: 
 
class Shape { 
 public: 
 virtual int getArea( ) = 0; 
 void setWidth(int w) { 
 width = w; 
 } 
 void setHeight(int h) { 
 height = h; 
 } 
 protected: 
 int width; 
 int height; 
}; 
 
class Rectangle: public Shape { 
 public: 
 int getArea( ) { 
 return (width * height); 
 } 
}; 
 
class Triangle: public Shape { 
 public: 
 int getArea( ) { 
 return (width * height) /2; 
 } 
}; 
 
int main(void) 
{ 
 Rectangle Rect; 
 Triangle Tri; 
 
 Rect.setWidth(5); 
 Rect.setHeigth(6); 
 cout << "area:" << Rect.getArea( ) << endl; 
 
 Tri.setWidth(5); 
 Tri.setHeight(6); 
 cout << "area:" << Tri.getArea( ) << endl; 
} 
 
A saída deste programa será: 
Escolha uma: 
a. área:30 / área:30. 
b. área:15 / área:30 
c. área:10 / área:15 
d. área:30 / área:15 
Resposta:área:30 / área:15 - Comentário: Como o retângulo recebeu lados 5 e 6, sua área 
será a multiplicação de 5 por 6, o que é igual a 30. Já o triangulo tem como área metade da 
área do retângulo. Como sua medida de altura e largura também são 5 e 6, sua área será 30 
/ 2 = 15.Fonte: Capítulo 8, páginas 123 e 124. 
e. área:15 / área:15 
Feedback 
A resposta correta é: área:30 / área:15. 
 
Questão 9 
Um tipo abstrato de dados é formado por uma coleção de dados a serem 
armazenados em um conjunto de operações. Analise o diagrama de classes 
abaixo, que faz parte do sistema SOMANUT. Na classe Funcionário, foi 
implementado o método abstrato calcularSalario. 
 
Para que a classe Operador possa ser instanciada, é necessário que a(s) classe(s): 
Escolha uma: 
a. Operador e Analista redefinam o método calcularSalario. 
b. Funcionario possua outros métodos concretos. 
c. Funcionario tenha definido um atributo salário que seja protegido. 
d. Operador redefina o método calcularSalario. 
Resposta Correta: Operador redefina o método calcularSalario.Conforme livro da disciplina 
página 12º. 
e. Funcionario tenha definido como público o atributo salário. 
Feedback 
A resposta correta é: Operador redefina o método calcularSalario.. 
Questão 10 
Um tipo abstrato de dados (TAD) é formado por uma coleção de dados a serem 
armazenados, mais um conjunto de operações, ou ainda operadores que 
podem ser aplicados para manipulá-los. O TAD contém: 
Escolha uma: 
a. chamadas de variáveis globais por meio do namespace. 
b. tipos abstratos de dados que são usados para modificar as implementações com o 
menor impacto possível para os programas. 
Resposta Correta: tipos abstratos de dados que são usados para modificar as 
implementações com o menor impacto possível para os programas.Conforme página 122 
do livro da disciplina. 
c. apenas um arquivo denominado TAD complex. 
d. três pontos principais: classes, métodos e atributos. 
e. tipo de dado (domínio e operações) com referência a detalhes da implementação. 
Feedback 
A resposta correta é: tipos abstratos de dados que são usados para modificar as 
implementações com o menor impacto possível para os programas.. 
 
Questão 1 
Analisando a literatura relacionada com a construção de algoritmos, existem 
três formatos mais comuns utilizados, que são: 
Escolha uma: 
a. Descrição narrativa, descrição interrogativa e símbolos. 
b. Português, inglês e francês. 
c. Descrição narrativa, pseudocódigo e fluxograma. 
Descrição narrativa, pseudocódigo e fluxograma. Comentário: Analisando a literatura 
relacionada com a construção de algoritmos, existemtrês formatos mais comuns utilizados: 
a descrição narrativa, o pseudocódigo, também conhecido como portugol, e o fluxograma. 
(FORBELLONE, 2005). Fonte: livro texto, capítulo 1 seção 1.3. 
d. Texto, símbolos e linguagens. 
e. Símbolos e fluxograma. 
Feedback 
A resposta correta é: Descrição narrativa, pseudocódigo e fluxograma.. 
Questão 2 
A programação orientada a objetos faz uso de alguns conceitos principais que 
são: 
Escolha uma: 
a. Objetos e classes. 
Objetos e classes. Comentário: O entendimento e a posterior diferenciação dos conceitos 
de orientação a objetos referente aos objetos e classes são fundamentais para elaborar 
programas utilizando o paradigma orientado a objetos. Fonte: livro texto, capítulo 3 seção 
3.1.1 e 3.1.2. 
b. Fluxograma, variável e tipo de dado. 
c. Variáveis, abstração e herança. 
d. Variável, função e procedimento. 
e. Variáveis e identificadores. 
Feedback 
A resposta correta é: Objetos e classes.. 
Questão 3 
Para que possamos criar uma variável é necessário especificar seu nome 
(identificador) e o tipo de dados. Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, podemos citar: 
Escolha uma: 
a. Falso e verdadeiro. 
b. Real e fracionário. 
c. Caractere, numérico e lógico. 
Caractere, numérico e lógico. Comentário: Nos algoritmos e programas de computador 
existem alguns tipos de dados mais utilizados, conhecidos como caractere ou literal, 
numérico e lógico. (XAVIER, 2007). Fonte: livro texto, capítulo 1 seção 1.7. 
d. Identificador e variável. 
e. Caractere e literal. 
Feedback 
A resposta correta é: Caractere, numérico e lógico.. 
Questão 4 
Determinadas partes de uma classe em um programa orientado a objetos 
necessitam de proteção extra. Os termos utilizados para definir esta liberação 
de acesso são: 
Escolha uma: 
a. Public, private e protected. 
Public, private e protected. Comentário: Determinadas partes de uma classe podem 
necessitar de proteção extra, isto é, requerem que o acesso a elas não seja feito de forma 
direta pelo usuário, mas sim por um método definido especificamente para isso. As 
palavras reservadas public, private e protected indicam no código a utilização dos 
especificadores. Fonte: livro texto, capítulo 4 seção 4.2. 
b. Classe, objeto e método. 
c. Variável e constante. 
d. Função e procedimento. 
e. Local, global e único. 
Feedback 
A resposta correta é: Public, private e protected.. 
Questão 5 
Observe o seguinte código fonte: 
 
class veiculos { 
 int rodas; 
 int passageiros; 
 public: 
 void set_rodas(int num); 
 int get_rodas( ); 
 void set passageiros(int num); 
 int get_passgeiros( ); 
}; 
 
class truck :public veiculos { 
 int carga; 
 public: 
 void set_carga(int tamanho); 
 int get_carga( ); 
 void show( ); 
}; 
 
enum tipo { carro, furgao }; 
class car : public veiculos { 
 enum tipo car_type; 
 public: 
 void set_tipo(enum tipo t); 
 enum tipo get_tipo( ); 
 void show( ); 
}; 
 
int main( ) { 
 truck t1, t2; 
 car c; 
 t1.set_rodas(18); 
 t1.set_passageiros(2); 
 t1.set_carga(3200); 
 t2.set_rodas(6); 
 t2.set_passageiros(3); 
 t2.set_carga(1200); 
 t1.show( ); 
 t2.show( ); 
 c.set_rodas(4); 
 c.set_passageiros(6); 
 c.set_tipo(furgao); 
 c.show( ); 
 system("pause"); 
} 
 
 
O conceito da Programação Orientada a Objetos que está sendo contemplado 
ao se esconder os atributos rodas e passageiros dentro da classe Veículos e 
derivadas, e se acessá-los através de métodos Gets e Sets, é o conceito de: 
Escolha uma: 
a. Herança. 
b. Polimorfismo. 
c. Abstração. 
d. Encapsulamento. 
Resposta: Encapsulamento. Comentário: O conceito de Encapsulamento consiste em 
separar os aspectos externos de um objeto, que serão acessíveis a outros, dos detalhes 
internos. Classes que implementam o conceito de Encapsulamento devem ter atributos 
protegidos ou privados, e métodos Get e Set públicos para manipular o atributo. Fonte: 
Capítulo 10, páginas 151 a 154. 
e. Modularização. 
Feedback 
A resposta correta é: Encapsulamento.. 
Questão 6 
Quanto aos fundamentos básicos de programação orientada a objetos, qual é o 
conceito correto de polimorfismo: 
Escolha uma: 
a. é o princípio pelo qual duas ou mais classes, derivadas de uma mesma superclasse, 
podem invocar métodos que têm a mesma identificação, mas comportamentos 
distintos. 
Resposta Correta: é o princípio pelo qual duas ou mais classes, derivadas de uma mesma 
superclasse, podem invocar métodos que têm a mesma identificação, mas 
comportamentos distintos.Conforme página 146 do livro da disciplina;As demais opções 
estão incorretas pois são conceito de herança, método e encapsulamento. 
b. Uma classe é qualquer elemento do software ao qual se associam dados e rotinas. 
c. o mecanismo pelo qual uma classe pode estender outra classe ou, ainda, ser estendida 
de outra classe. 
d. consiste na separação de aspectos internos e externos de um objeto. 
e. definem as habilidades dos objetos. 
Feedback 
A resposta correta é: é o princípio pelo qual duas ou mais classes, derivadas de uma mesma 
superclasse, podem invocar métodos que têm a mesma identificação, mas 
comportamentos distintos.. 
Questão 7 
Seja a seguinte imagem sobre Herança: 
 
 
FONTE: Adaptado do livro texto 
Considerando os itens em relação a imagem: 
I - A classe Objeto é generalização da classe Pessoa. 
II - A classe Pai é especialização da classe Filho. 
III - A classe Pessoa é superclasse da classe Filho. 
IV - A classe Pai é superclasse da classe Filho. 
V - A classe Filho é subclasse da classe Pai. 
Assinale a afirmação correta: 
Escolha uma: 
a. III, IV e V apenas. 
b. II, IV e V apenas. 
c. I, III, IV e V apenas. 
d. I, II e III apenas. 
Resposta:I, III, IV e V apenas. Comentário: A classe Objeto é superclasse das classes Pessoa, 
Pai e Filho. A classe Pessoa é superclasse das classes Pai e Filho. A classe Pai é superclasse 
apenas da classe Filho. A classe Filho é subclasse das classes Pai, Pessoa e Objeto. A classe 
Pai é subclasse da classe Pessoa e Objeto. Toda superclasse é uma generalização da classe 
filha. Toda subclasse é uma especialização da classe pai.Fonte: Capítulo 6, página 95. 
e. I e II apenas. 
Feedback 
A resposta correta é: I, III, IV e V apenas.. 
Questão 8 
Observe o seguinte código fonte: 
 
class Box 
{ 
 public: 
 double getVolume(void) { 
 return length * breadth * height; 
 } 
 void show( ) { 
 cout << "Volume do Box: " << getVolume( ) << endl; 
 } 
 
 void setLength(int l) { length= l; } 
 void setBreadth(int b) { breadth= b; } 
 void setHeigth(int h) { heigth= h; } 
 
 private: 
 double length; // comprimento da caixa 
 double breadth; // largura da caixa 
 double height; // altura da caixa 
}; 
 
int main( ) 
{ 
 Box box1; 
 Box box2; 
 double volume = 0.0; 
 // especificação do caixa 1 
 box1.setHeight(5.0); 
 box1.setLength(6.0); 
 box1.setBreadth(7.0); 
 // especificação do caixa 2box2.setheight(10.0); 
 box2.setLength(12.0); 
 box2.setBreadth(14.0); 
 // volumes 
 box1.show( ); 
 box2.show( ); 
 // saída do sistema 
 system("pause"); 
} 
 
O conceito da Programação Orientada a Objetos que está sendo contemplado 
neste programa, ao se colocar os três atributos da classe Box como privado, e 
seu acesso e atribuição ser realizado somente através de métodos, é o conceito 
de: 
Escolha uma: 
a. Polimorfismo. 
b. Herança. 
c. Abstração. 
d. Encapsulamento. 
Resposta: Encapsulamento.Comentário: O conceito de Encapsulamento consiste em separar 
os aspectos externos de um objeto, que serão acessíveis a outros, dos detalhes internos. 
Classes que implementam o conceito de Encapsulamento devem ter atributos protegidos 
ou privados, e métodos Get e Set públicos para manipular o atributo.Fonte: Capítulo 9, 
páginas137 a 142. 
e. Modularização. 
Feedback 
A resposta correta é: Encapsulamento.. 
Questão 9 
Um tipo abstrato de dados (TAD) é formado por uma coleção de dados a serem 
armazenados, mais um conjunto de operações, ou ainda operadores que 
podem ser aplicados para manipulá-los. O TAD contém: 
Escolha uma: 
a. chamadas de variáveis globais por meio do namespace. 
b. tipo de dado (domínio e operações) com referência a detalhes da implementação. 
c. apenas um arquivo denominado TAD complex. 
d. três pontos principais: classes, métodos e atributos. 
e. tipos abstratos de dados que são usados para modificar as implementações com o 
menor impacto possível para os programas. 
Resposta Correta: tipos abstratos de dados que são usados para modificar as 
implementações com o menor impacto possível para os programas.Conforme página 122 
do livro da disciplina. 
Feedback 
A resposta correta é: tipos abstratos de dados que são usados para modificar as 
implementações com o menor impacto possível para os programas.. 
Questão 10 
Um tipo abstrato de dados é formado por uma coleção de dados a serem 
armazenados em um conjunto de operações. Analise o diagrama de classes 
abaixo, que faz parte do sistema SOMANUT. Na classe Funcionário, foi 
implementado o método abstrato calcularSalario. 
 
Para que a classe Operador possa ser instanciada, é necessário que a(s) classe(s): 
Escolha uma: 
a. Funcionario tenha definido um atributo salário que seja protegido. 
b. Operador e Analista redefinam o método calcularSalario. 
c. Funcionario tenha definido como público o atributo salário. 
d. Funcionario possua outros métodos concretos. 
e. Operador redefina o método calcularSalario. 
Resposta Correta: Operador redefina o método calcularSalario.Conforme livro da disciplina 
página 12º. 
Feedback 
A resposta correta é: Operador redefina o método calcularSalario..

Mais conteúdos dessa disciplina