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