SóProvas



Questões de C++ (mais mais)


ID
2311
Banca
NCE-UFRJ
Órgão
TRE-RJ
Ano
2001
Provas
Disciplina
Programação
Assuntos

Considere as linhas de código abaixo para responder às
questões 28 e 29:

1) if (x = 4) y := x;
2) if (x = = 4) y = x;
3) if (x = = 4) then y = x;
4) if x = 4 then y := x;
5) if x = 4 then y = x;

O comando válido em C++ é:

Alternativas
Comentários
  • Nenhum desses comandos é válido em C++. O que mais se aproxima de ser válido é o item 2), já que "then" não faz parte de C++ e nem ":=". Mas mesmo o item 2 não é válido, "= =" não é válido em C++.
  • Realmente esta questão deveria ter sido anulada, vejamos:

    1) if (x = 4) y := x; // em C++ não existe o operador := ; ERRADA

    2) if (x = = 4) y = x; // o operador de teste de igualdade está com espaço entre os 'iguais'; ERRADA
    3) if (x = = 4) then y = x; // em C++ não existe o operador then; ERRADA
    4) if x = 4 then y := x;  // em C++ não existe o operador then; ERRADA
    5) if x = 4 then y = x;  // em C++ não existe o operador then; ERRADA

ID
2317
Banca
NCE-UFRJ
Órgão
TRE-RJ
Ano
2001
Provas
Disciplina
Programação
Assuntos

Considere a declaração abaixo, feita em C++:

for(«expressao1»; «expressao2»; «expressao3») { «comandos» };

Pode-se afirmar que o comando while equivalente a esse for é:

Alternativas
Comentários
  • Para resolver as questão substitua as expressões por variais utilizadas na prática da programação:
    for (i = 0; i<10; i++) { printf("%d",i) };   o mesmo comando com o While ficaria:    i=0 ; while (I<10) {printf("%d",i) ;  i++};

    então substituímos pelas expressões da questão e temos: 

    for (i = 0                 ; i<10                 ; i++                    )  { printf("%d",i)  };
    for («expressao1»   ; «expressao2»   ; «expressao3»    ) { «comandos» }; 
    =======================================================
    i=0                   ;  while (I<10)                  { printf("%d",i) ;  i++                    };
    «expressao1»   ;  while («expressao2»)    { «comandos» ; «expressao3»     };


ID
17137
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2007
Provas
Disciplina
Programação
Assuntos

Código para as questões 40 e 41

class Porta {

int numero;

public:

Porta(int numero):numero(numero){}

virtual ~Porta(){cout << "Fechar" << "\n";}

virtual void enviar(char) throw (invalid_argument) = 0;

int getNumero() const {return numero;}

};

class Serial:public Porta {

string nome;

public:

Serial(int numero, string nome):Porta(numero), nome(nome){}

~Serial(){cout << "Encerrar" << "\n";}

string getNome() const;

void enviar(char) throw (invalid_argument);

};

inline string Serial::getNome() const {

return nome;

}

void Serial::enviar(char dado) throw (invalid_argument){

if (dado == '0')

throw invalid_argument("Valor nulo");

cout << "Enviar " << dado << "\n";

}

Considerando o trecho de código apresentado, escrito na linguagem C++, assinale a opção correta.

Alternativas
Comentários
  • O conceito de funções virtuais resolve os seguintes problemas:

    Em OOP quando uma classe derivada herda uma classe base, um objeto da classe derivada pode ser referenciado como sendo do tipo da classe base ou do tipo da classe derivada. Se houver métodos da classe base sendo sobrescrevidos pela classe derivada, o comportamento da chamada do método pode ser ambíguo.

    A distinção entre virtual e não-virtual resolve esta ambiguidade. Se uma função em questão é declarada "virtual" na classe base então a função da classe derivada será chamada (se existir). Se não for virtual, a função da classe base será chamada.

    Funções virtuais superam os problemas com a solução "tipo de campo" ao permitir que programador declare funções na classe base que possam ser redefinidas em cada classe derivada

    Uma função virtual pura ou método virtual puro é uma função virtual que deve ser ser implementada por uma classe derivada, se essa classe não for abstrata. Classes contendo métodos virtuais puros são chamados "abstratos"; elas não podem ser instanciados diretamente, e uma subclasse abstrata só pode ser instanciada diretamente se todos os métodos virtuais puros forem implementados por essa classe ou uma classe pai. Tipicamente, métodos virtuais puros tem uma declaração (assinatura) e nenhuma definição (implementação).
  • Um método pode ser contante?

  • O método com const no argumento, é para que o parâmetro forçado a ser somente leitura


ID
17140
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2007
Provas
Disciplina
Programação
Assuntos

Código para as questões 40 e 41

class Porta {

int numero;

public:

Porta(int numero):numero(numero){}

virtual ~Porta(){cout << "Fechar" << "\n";}

virtual void enviar(char) throw (invalid_argument) = 0;

int getNumero() const {return numero;}

};

class Serial:public Porta {

string nome;

public:

Serial(int numero, string nome):Porta(numero), nome(nome){}

~Serial(){cout << "Encerrar" << "\n";}

string getNome() const;

void enviar(char) throw (invalid_argument);

};

inline string Serial::getNome() const {

return nome;

}

void Serial::enviar(char dado) throw (invalid_argument){

if (dado == '0')

throw invalid_argument("Valor nulo");

cout << "Enviar " << dado << "\n";

}

Ainda considerando o trecho de código apresentado, escrito na linguagem C++, assinale a opção correta.

Alternativas
Comentários
  • a) As classes Porta e Serial são abstratas e não podem ser instanciadas.(Errrado)
    Uma classe abstrata em C++ é definida qd existe uma função pura:

    class AbstractClass {public: virtual void AbstractMemberFunction() = 0; //função pura };
    b) Os métodos públicos na classe Porta são públicos na classe Serial. (Correto)
    Pois como Porta é Classe Pai vai e Serial é a classe filho, vai herda todos os métodos/ atributos definidos como públicos e/ou protegidos 

    c) 
    Em todo o código, só há um método inline. (Errado)
    inline é um keyword opcional, na qual define métodos não sobrecarregado. EM sua maioria, os desenvolvedores não utilizam, pois implicitamente "inline" está definido, caso a a função nao seja sobrecarregada.

    d) Na classe Porta há erro de sintaxe pois destrutores não podem ser virtuais. (Errado)

    Destrutores não podem levar argumento e não podem ser sobrecarregados. e a palavra chave virtual não significa sobrecarregamento (Em C# e outra linguagens O.O o "virtual" sinaliza sobrecarregamento de metodo), mas C++  é utilizada para dizer que queremos que faça a avaliação da chamada dessa função em run-time, não em compile-time como é feito por padrão.


ID
17143
Banca
CESPE / CEBRASPE
Órgão
TSE
Ano
2007
Provas
Disciplina
Programação
Assuntos

1

2 Elemento<T> *primeiro, *ultimo;

3 public:

4 Fila():primeiro(0), ultimo(0){}

5 void inserir(T dado);

6 };

7

8

9 if(primeiro == 0) primeiro = elemento;

10 else ultimo->prox = elemento;

11 ultimo = elemento;

12 }



 O trecho de código acima está escrito na linguagem C++. Assinale a opção que completa corretamente as linhas 1, 7 e 8 desse trecho de código, respectivamente.

Alternativas

ID
104782
Banca
FCC
Órgão
TCM-PA
Ano
2010
Provas
Disciplina
Programação
Assuntos

Quanto à visibilidade, uma classe C++ contempla a

Alternativas
Comentários
  • Dentro de uma classe os métodos e atributos possuem o seguinte escopo:

    Public :

    - Método ou atributo visível a todas as Classes.

    - Ao utilizar um atributo public é possível o acesso e modificação do mesmos diretamente, sendo assim este atributo não estará encapsulado na classe.

    Protected :

    - Método ou atributo visível nas subclasses.

    - Facilita o acesso aos atributos não sendo necessário a utilização de métodos getters (getXxxx) e/ou setters (setXxxx) nas subclasses.

    Private:

    - Método ou atributo visível somente na classe onde é utilizado.

    - Permite encapsular o atributo dentro da classe.

    - Um método private somente pode ser utilizado pelos próprios métodos da classe.



ID
104971
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Dentre os modificadores especiais Java, aquele que indica ao compilador que o método é implementado em outra linguagem (ex. C++ ou Assembly) de modo específico da plataforma (JNI) é o

Alternativas
Comentários
  • Resposta (a)

    native - métodos marcados como native dizem que sua implementação é feita em uma outra linguagem (por exemplo C), para que se possa acessar recursos específicos do sistema operacional.

    transient - indica que uma determinada variável de instância não será serializada junto com o objeto da classe.

    synchronized - um método com essa marcação será controlado para que não se possa ter duas threads acessando o mesmo objeto.

    volatile - indica que uma determinada variável de instância pode ser modificada em duas threads distintas ao mesmo tempo.

    strictfp - serve para aumentar a precisão em operações com pontos flutuantes.

     


ID
104983
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Na linguagem C++, considere:

I. O endereço armazenado em um ponteiro deve ser do mesmo tipo que o ponteiro (ex. um ponteiro para um int não pode armazenar o endereço de um float).

II. Exceção à regra apontada em (I) é o ponteiro void.

III. Não é possível chamar uma função segundo seu endereço, ainda que por meio de um ponteiro que armazena o endereço de início dessa função.

Está correto o que se afirma em

Alternativas
Comentários
  • Questão confusa. Eu anularia, já que o julgamento da questão não pode ser objetivo, já que a alternativa (I) é incorreta, mas supõe-se que seja correta desde que a (II) funcione em conjunto com a mesma.
  • A I e II estão corretas. 
    Segue sobre ponteiros void (Tradução Chula)

    "Void Pointers (Ponteiros Vazios)

    Chamamos de ponteiros vazios qualquer ponteiro que não possua um tipo de dado específico, ou seja, se seu tipo de dado for void.

    Ponteiros vazios ou void pointers são ponteiros genéricos que podem apontar para qualquer outro tipo de dado... "

    http://www.tiexpert.net/programacao/c/null-pointer-void-pointer.php
  • Mas, Douglas BN,

    I) Definiu a regra sem falar da exceção, isso não a torna errada, está apenas incompleta.

    II) Traz a segunda parte da regra, sua exceção.

    III) Em C++ não existem ponteiros para funções, como no Delphi por exemplo.

    Dicas Pertinentes:

    1 - Note que as alterativas utilizam a palavra "apenas", se marcar a) fica errado como você falou, pois a informação estaria incompleta, sendo assim, errada. Marcar b) corrige o problema do qual você reclama.

    2 - Se existem duas afirmações corretas, marque a "MAIS CERTA", pois marcar a "menos certa" é o mesmo que dizer que a "MAIS CERTA" está errada.

  • A questão I é FALSA, porque podemos fazer um cast para alterar o tipo de um ponteiro. Confira o exemplo:

    int *p;

    float c;

    p = (int *)&c;

    A questão II deveria ser FALSA, porque apesar de um ponteiro void poder receber um endereço para qualquer tipo sem cast, a regra em (I) também pode ser quebrada usando-se um cast, portanto não é a única exceção à regra (I).

    A questão III, também é FALSA. Ponteiros para funções podem ser usados em C++ (e em C) também. Confira o seguinte exemplo:

    #include <iostream>

    int myfunc(int i) { return i + 1; }

    int main(int argc, char const *argv[]) {

    int (*p)(int);

    p = &myfunc;

    int k = p(2);

    std::cout << k << std::endl;

    return 0;

    }

    Apenas não é muito comum, porque o suporte à classes e métodos em C++ torna desnecessário o uso. Mas, por razões de compatibilidade com C, a funcionalidade foi incluída em C++.

    A questão deveria ser anulada.


ID
104986
Banca
FCC
Órgão
TRE-AM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Na linguagem C++, é possível criar nomes alternativos (apelidos) para tipos de dados existentes por meio do

Alternativas
Comentários
  • Você pode definir um tipo "inteiro" como sendo "int" da seguinte forma:

    typedef int inteiro;

ID
130030
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às linguagens, julgue os itens a seguir.

C++ é uma linguagem de programação orientada a objetos, de primeira geração.

Alternativas
Comentários
  • C++ é orientada a objetos, portanto é de quarta geração.

    Gerações:

    - Primeira geração: Linguagem de máquina.

    - Segunda geração: Linguagens assembler.

    - Terceira geração: Linguagens de alto nível. Ex: C, Pascal e Cobol.

    - Quarta geração: São linguagens capazes de gerar código por si só, são os chamados RAD, com o qual pode-se realizar aplicações sem ser um expert na linguagem. Aqui também se encontram as linguagens orientadas a objetos, tornando possível a reutilização de partes do código para outros programas. Ex: Visual, Natural Adabes, C++, C#, Java.

    - Quinta geração: Linguagens orientadas à inteligência artificial. Estas linguagens ainda estão pouco desenvolvidas. Ex: LIS.
  • As linguagens de programação são classificadas por gerações.

    Primeira geração: linguagens de baixo nível, como Assembly.
    Segunda geração: as primeiras linguagens criadas, como Fortran e ALGOL.
    Terceira geração: procedurais e estruturadas, como C e Pascal.
    Quarta geração: linguagens que geram programas em outras linguagens, como Java e C++.
    Quinta geração: linguagens lógicas, como Prolog.

    Fonte: http://www.laifi.com/laifi.php?id_laifi=608&idC=5762#
  • Atenção para não cometerem o mesmo erro que eu.

    Uma vírgula muda completamente o sentido da frase.

    Sem a vírgula a sentença estaria correta, já que C++ foi uma das primeiras linguagens orientadas a objetos, ou seja da primeira geração das linguagens orientadas a objeto.

    No entanto quando falamos de linguagens de programação em geral, C++ é uma linguagem de programação de quarta geração.

ID
149953
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2009
Provas
Disciplina
Programação
Assuntos

Com relação a aspectos de linguagem de programação,
programação estruturada, programação orientada a objetos e
conceitos associados, julgue os itens de 106 a 113.

A sobrecarga de operadores, recurso presente nas linguagens C++ e C#, pode ser considerada uma técnica de uso de polimorfismo.

Alternativas
Comentários
  • A sobrecarga de operadores se enquadra na categoria de polimorfismo ad hoc. Polimorfismo este definido em tempo de execução de acordo com os parâmetros passados para a chamada do método.

ID
150025
Banca
CESPE / CEBRASPE
Órgão
TCE-AC
Ano
2009
Provas
Disciplina
Programação
Assuntos

Com relação às linguagens de programação orientadas a objetos, assinale a opção correta.

Alternativas
Comentários
  • a) Um operador de conversão static, ou operador de coerção, pode ser utilizado para se converter um objeto de uma classe em um objeto de outra classe, exceto quando se tratar de um objeto de tipo fundamental. (o operador de conversão static serve para demonstrar que a classe possui atributos/métodos que podem ser utilizados/acessados sem que a classe seja instanciada. De fato, os métodos e atributos são únicos e pertencentes à classe, e não às instâncias)
    b) No C++, na herança entre classes, quando a derivação da classe base é do tipo public, os membros public e protected da classe base tornam-se membros private public e protected na classe derivada.
    c) Cada método de uma classe é especificado por uma assinatura cuja composição não inclui a lista de argumentos.
     d) Em C++, uma função operadora global pode tornar-se um friend de uma classe se precisar acessar diretamente membros private ou protected dessa classe. (correto)
    e) O modificador de visibilidade não pode ser do tipo public. 
  • Igor,

    a respeito de sua letra b:
    "Public Inheritance: When deriving a class from a public base class, publicmembers of the base class become public members of the derived class andprotected members of the base class become protected members of the derived class. A base class's private members are never accessible directly from a derived class, but can be accessed through calls to the public and protected members of the base class."
    http://www.tutorialspoint.com/cplusplus/cpp_inheritance.htm

ID
157993
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

No que concerne às linguagens de programação, analise:

I. A linguagem de programação C++ não oferece herança múltipla, somente herança simples. Java suporta herança simples, mas a partir de uma classe virtual chamada interface, constitui uma versão da herança múltipla.
II. Existem várias versões de PHP, sendo que o suporte para acesso a banco de dados com o uso de cláusulas SQL está disponível apenas nas versões posteriores à PHP 3.
III. Métodos de passagem de parâmetros permitem que parâmetros sejam transmitidos entre o programa principal e os subprogramas. Nesse sentido, o método de passagem de parâmetros por valor é a técnica na qual são passadas cópias dos parâmetros envolvidos, isto é, ao passar uma variável como parâmetro de um método, sempre será efetuada a cópia dos bits desta variável.
IV. ASP e PHP foram projetadas para serem embutidas em páginas HTML, não podendo ser usadas independentemente para a geração de programas executáveis autônomos.

É correto o que consta em

Alternativas
Comentários
  • A linguagem de programação C++ não oferece herança múltipla?? Estranho pessoal
  • O gabarito desta questão está bizonhamente errado.  Em relação ao item 1 cito:

    1- C++ oferece sim a herança múltipla.

    2- Java implementa interfaces e classes abstratas, alguns dizem que isto é uma forma do Java suportar a herança múltipla !

  • Item I está - completamente errado.

  •  Estranho, segundo a questão Q57243, por exemplo, o PHP pode ser utilizado até para aplicações desktop (eu até desconhecia), mas pelo menos sei que gerar programas de linha comando é plenamente funcional com PHP. Logo a alternativa IV está errada. Como a FCC justificou essa questão?

  • Realmente a alternativa I é bem estranha.
    C++ aceita herança multipla.
    Interface em Java, eu mesmo não considero como herança multipla, mas muita gente considera.

    A alternativa IV também achei esquisita.
    Não programo em PHP, porém pelos meus conhecimentos com o PHP você pode desenvolver programas desktop, usando o PHP-GTK.
  • C++ tem herança múltipla, peguei até o seguinte ponto:

    A herança múltipla é uma das características do C++ mais controversas. Ela permite que uma classe possa ser derivada de mais de uma classe base, o que pode resultar em um complicado grafo de herança e relacionamento entre classes. Por exemplo, uma classe Gato voador pode ser derivada tanto das classes Gato quanto Mamífero voador. A mistura de heranças reflete em uma mistura de espaços de nomes na classe herdada, o que pode ser resolvido através da declaração local de espaço de nomes, como explicado adiante.
  • Questão realmente lamentável. Bem ao estilo FCC. Certamente esse gabarito deve ser revisto. Como já foi enfatizado anteriormente, a linguagem C++ oferece o recurso de herança multipla.
  • Verdade!Essa questão é nada haver dizer que C++ não tem herança múltlipla.Errado

  • Banca ridícula . Questão passível de recurso .

  • Levei até um susto quando li que C++ não oferece herança múltipla! Programei em C++ durante anos... Tá certo que já faz muito tempo atrás mas essa coisas não mudam assim... (KKKK)! 

  • "11 pessoas enganadas..."


ID
171748
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2010
Provas
Disciplina
Programação
Assuntos

A Web 2.0 é uma recente tendência de uso da Web como
plataforma, envolvendo redes sociais e ferramentas com maior grau
de interação e colaboração, porém não faz uso de novas linguagens
de programação, mas sim de novo modo de utilização das já
existentes. Quanto à temática de linguagens para a Web, julgue os
itens de 93 a 102.

A sintaxe da linguagem JavaScript assemelha-se muito à da Java e da C++, por exemplo, na criação de objetos usando o operador new e na definição de classes usando a diretiva class.

Alternativas
Comentários
  • ERRADO.

    É semelhante: na criação de objetos usando o operador new.

    Não é semelhante: na definição de classes usando a diretiva class.

  • JavaScript realmente é semelhante a Java e a C++ na criação de objetos usando o operador new. Até aqui tudo bem.
    Entretanto, JavaScript NÃO utiliza a diretiva class na definição de classes.

    Em JavaScript não existe o conceito de classes como em Java ou C++.
    É possível criar pseudo-classes em JavaScript definindo uma função.
    Observem:

    function Pessoa(n, i) {
        this.nome = n;
        this.idade = i;
    }
    var pedro = new Pessoa("Pedro", 25)
    Portanto, item Errado.
  • Questão desatualizada!

    JavaScript classes introduced in ECMAScript 2015 are syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax is not introducing a new object-oriented inheritance model to JavaScript. JavaScript classes provide a much simpler and clearer syntax to create objects and deal with inheritance.

    ....

    Class declarations

    One way to define a class is using a class declaration. To declare a class, you use the classkeyword with the name of the class ("Rectangle" here).

    class Rectangle {

         constructor(height, width) { this.height = height; this.width = width; }

    }

    REFERÊNCIA: 

    https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes


ID
234385
Banca
NC-UFPR
Órgão
UFPR
Ano
2010
Provas
Disciplina
Programação
Assuntos

Sobre C++, qual das seguintes funções inicializa as variáveis contidas numa classe?

Alternativas
Comentários
  • Os construtores "constructors" são funções membro (métodos) especiais de uma classe. Permitem a inicialização das variáveis membro de um objeto. Ou melhor, permitem a construção e a inicialização de objetos das classes. Se não os declararmos o compilador faz isso por nós. Os construtores têm sempre o mesmo nome que a classe.


ID
239569
Banca
CESPE / CEBRASPE
Órgão
ABIN
Ano
2010
Provas
Disciplina
Programação
Assuntos

Suponha que uma equipe de programadores PHP tenha como
atribuição o desenvolvimento de um módulo de software a
partir da composição, da extensão ou da adaptação de um
framework. Com base nessa situação e considerando as boas
práticas do desenvolvimento e manutenção de sistemas,
incluindo-se as recomendadas pelos desenvolvedores de
extensões padronizadas para PHP, julgue os itens seguintes.

Ao se escreverem scripts PHP, deve-se empregar indentação com espaços em branco, sem uso de tabs; atribuições em arrays devem ser alinhadas; comentários podem adotar o estilo C ou estilo C++, mas comentários em estilo PERL devem ser evitados.

Alternativas
Comentários
  • "Ao se escreverem scripts PHP, deve-se empregar indentação com espaços em branco..."

    Sério que isso tá certo?
  • Encontrei alguma coisa falando sobre isso no site do Zend
    http://zfdoc-ptbr.googlecode.com/svn/manual/pt-br/coding-standard.coding-style.html

    , mas é estranho...
  • É importante observar na questão que ele fala de levar em consideração as boas práticas de programação. O PHP não exige isso, mas são boas práticas que devem ser seguidas.
  • Geraldo Sarmento acho que não :(

  • Realmente fica ruim o "deve", mas como no texto inicial ele falou para se levar em conta as boas práticas, é até aceitável.

  • Prezados,

    Essa questão foi mal formulada pelo examinador. Quando se trata de cespe já estamos acostumados que onde a gente lê "deve-se" , significa algo obrigatório. Sabemos que a identação no PHP ( diferentemente do Python ) é opcional , e não obrigatória.

    A banca considerou a questão como correta.


  • se boa prática é identar com espaço em branco ao inves de tabs é melhor abandonar tudo e virar hippie

  • Em 2010 não existia o "www.php-fig.org". Mesmo assim, não existe o detalhes da identação lá! Pior que essa questão não da a menor chance de marcar certo ou errado =D 

  • Galera, questão polêmica mas bora lá:

     

    O php-fig, que a colega mencionou, existe desde de 2009 (php-fig.org/faqs) e da detalhes sim sobre a identação (php-fig.org/psr/psr-2/#24-indenting); Bom, essa comunidade é formada por um grupo pessoas com projetos já bem estabelecidos em PHP que falam sobre pontos comuns entre seus projetos para "encontrar as melhores maneiras de se trabalhar juntos", ou seja: são um apêndice do manual que indicam as boas práticas.

    Ta mas e daí?

     

    E daí que de acordo com o item 2.4 do guia de estilo de código deles, eles são categóricos em colocar em caixa alta que não se deve usar o tab para a identação, e claro, explicam os motivos:

     

    Usando quatro espaços ao invés do tab (quem em sã consciência faz isso?) se ajuda a evitar problemas com diffs, patches, históricos e anotações (ok, faz sentido quando precisamos acompanhar versionamentos de códigos) além de facilitar a inserção de uma sub-indentação mais específica entre as linhas (o que todo mundo faz com 2tabs);

     

    Enfim,

    Os comentários ao estilo C ou C++ mencionados são / e /*...*/

    E os comentários que devem ser evitados em estilo PERL é o #

     

    Questão correta e ta todo mundo errado.

  • cara, essa prova da ABIN de 2010 foi muuuuuuuuuuito difícil, nem vou usar como padrão na moral


ID
287608
Banca
INSTITUTO CIDADES
Órgão
UNIFESP
Ano
2009
Provas
Disciplina
Programação
Assuntos

Acerca da linguagem de programação Java, analise as seguintes informações:

I. A linguagem de programação Java é baseada em classes e orientada a objetos (OO).

II. A linguagem de programação Java tem relação com C e C++, mas é organizada de maneira diferente, com vários aspectos de C e C++ omitidos e algumas idéias de outras linguagens incluídas.

III. Java 2 Standard Edition (J2SE) é uma plataforma voltada para pequenos dispositivos (telefones celulares, televisores, aparelhos eletrônicos em geral).

Podemos afirmar corretamente que:

Alternativas
Comentários
  • J2ME que é voltada para pequenos dispositivos etc.


ID
320770
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito das características dos paradigmas e das linguagens de programação, assinale a opção correta.

Alternativas
Comentários
  • Letra D.

  • As linguagens imperativas também são chamadas de procedurais e se trata do modelo mais antigo de todos, a execução é baseada em comandos e armazenamento de dados. ... Um programa imperativo é mantido em variáveis que são associadas com localizações de memória que correspondem a um endereço e um valor de armazenamento.


ID
320824
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em relação à linguagem de programação C++, assinale a opção correta.

Alternativas
Comentários
  • b - construtores não retornam nada (void)
    c - métodos static não acessam qualquer membro da classe. Esses métodos não recebem o ponteiro this.
    d - não tem essa de subclasse.

  • Um pequeno erro no comentário do colega Fabio, o erro na alternativa D está em afirmar:  "apenas os membros públicos". Não importa se tais membros são públicos, protected ou private eles serão herdados mesmo assim"

     

    GABARITO LETRA A


ID
339511
Banca
COSEAC
Órgão
DATAPREV
Ano
2009
Provas
Disciplina
Programação
Assuntos

01  class Prova{
02  public int a;
03
04  Prova(int _a){
05  a = _a;
06  }
07  public void acrescenta(int n){
08  a += n;
09  }
10  public void acrescenta(){
11  a++;
12  }
13  }
14  class SubProva extends Prova{
15  private int b;
16  SubProva(int umb, int uma){
17  super(uma);
18  b = umb;
19  }
20  public void acrescenta(int n){
21  b=b+n+2;
22  }
23  public static void main (String args[ ]) {
24  SubProva s = new SubProva(2,5);
25  Prova p = new Prova(2);
26  s.acrescenta(3);
27  p.acrescenta();
28  System.out.println(s.b+s.a);
29  System.out.println(p.a);
30  s.acrescenta();
31  System.out.println(" "+s.b+p.a+s.a) ;
32  }
33 }

Com relação às duas classes anteriores pode-se dizer que:

Alternativas
Comentários
  • Primeiramente temos que saber o que é sobrecarga de métodos

     

    Sobrecarga de método permite a existência de vários métodos de mesmo nome, porém com assinaturas levemente diferentes ou seja variando no número, tipo de argumentos , no valor de retorno e até variáveis diferentes. Ficará a cargo do compilador escolher de acordo com as listas de argumentos os procedimentos ou métodos a serem executados.

     

      a) ERRADO. Não existe sobrecarga no método main;

      b) ERRADO. Não existe sobrecarga no método SubProva;

      c) ERRADO. Não existe sobrecarga no método Prova;

      d) CORRETO. Existe sobrecarga no método acrescenta; São três métodos com o mesmo nome, são eles:  public void acrescenta(int n),  a += n;  public void acrescenta(), a++; public void acrescenta(), b=b+n+2;

      e) ERRADO. Existe sobrecarga no método acrescenta;


ID
345313
Banca
MOVENS
Órgão
Prefeitura de Manaus - AM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Para se conhecer o endereço ocupado por uma variável de memória, é utilizado o operador de endereços. Assinale a opção que apresenta o operador de endereços na linguagem de programação C++.

Alternativas
Comentários
  • Para os ponteiros serem usados efetivamente, é necessário operadores e expressões que irão fornecer os endereços correntes dos objetos de dados. Tal operador é o "operador de endereço" representado por "&", que retorna um ponteiro para um objeto designado.

  • Importante!

    Operador de indireção: *

    O operador unário de indireção * referência de um ponteiro; 

    Não confundam com o operador unário ‘&’ para obter o endereço de uma variável.

    https://msdn.microsoft.com/pt-br/library/fw63e3c3.aspx 

     


ID
345316
Banca
MOVENS
Órgão
Prefeitura de Manaus - AM
Ano
2010
Provas
Disciplina
Programação
Assuntos

A sobrecarga de operadores é uma propriedade cujo conceito é o de transformar expressões obscuras e complexas em outras mais óbvias e intuitivas. A respeito da sobrecarga de operadores na linguagem de programação C++, julgue os itens abaixo como Verdadeiros (V) ou Falsos (F) e, em seguida, assinale a opção correta.

I – Sobrecarregar um operador possibilita a rede?nição de seu símbolo de forma que ele se aplique também a tipos de dados de?nidos pelo usuário como classes e estruturas.

II – Utilizar a sobrecarga permite transformar um operador binário para criar um operador unário.

III – Com a sobrecarga de operadores, é possível estender a linguagem, criando novos operadores com símbolos novos.

IV – Operadores, como o de resolução de escopo e o condicional ternário, não podem ser sobrecarregados.

A sequência correta é:

Alternativas
Comentários
  • II: ERRADO. É necessário respeitar a definição original do operador. Por exemplo, não é possível mudar um operador binário para criar um operador unário

    III: ERRADO. O programador deve limitar-se aos operadores existentes. Não é permitido estender a linguagem inventando novos operadores como, por exemplo: =#.


ID
377584
Banca
FCC
Órgão
TRE-AP
Ano
2011
Provas
Disciplina
Programação
Assuntos

Em linguagem C++,

Alternativas
Comentários
  • Constantes simbólicas podem ser criadas com as diretivas do preprocessador #define. Neste modo os valores, de fato, não são interpretados imediatamente pelo compilador, antes são identificados e substituidos pelo preprocessador no estágio anterior à compilação.
  • Ótimo comentário, mas o gabarito é a letra A.

    Alguém que entenda de C++ de um help ae!
  • Um breve comentário para a alternativa C que está incorreta. Vejamos:

    Uma string é um conjunto de caracteres entre aspas. Por exemplo, “você é um vencedor” é uma string, composta pelas várias letras que formam a frase.
    Não confunda strings com caractere.
    Uma constante caractere simples fica entre dois apóstrofos, por exemplo ‘a’.
    Entretanto “a” é uma string que contém somente uma letra.
  • Simple Use of ‘const’

    The simplest use is to declare a named constant. This was available in the ancestor of C++, C.

    To do this, one declares a constant as if it was a variable but add ‘const’ before it. One has to initialise it immediately in the constructor because, of course, one cannot set the value later as that would be altering it. For example,

    const int Constant1=96;

    will create an integer constant, unimaginatively called ‘Constant1’, with the value 96.

    Such constants are useful for parameters which are used in the program but are do not need to be changed after the program is compiled. It has an advantage for programmers over the C preprocessor ‘#define’ command in that it is understood & used by the compiler itself, not just substituted into the program text by the preprocessor before reaching the main compiler, so error messages are much more helpful.

    It also works with pointers but one has to be careful where ‘const’ is put as that determines whether the pointer or what it points to is constant. For example,

    const int * Constant2

    declares that Constant2 is a variable pointer to a constant integer and

    int const * Constant2

    is an alternative syntax which does the same, whereas

    int * const Constant3
  • O uso do modificador const tem duas funções principais:

    1. Resguarda da inviolabilidade de valores apontados por ponteiros;
    2. Auxílio na compreensão das características de funções, durante a implementação.

  • a) Constantes simbólicas podem ser criadas com as diretivas do preprocessador #define. Neste modo os valores, de fato, não são interpretados imediatamente pelo compilador, antes são identificados e substituídos pelo preprocessador no estágio anterior à compilação.

    c) Uma string é um conjunto de caracteres entre aspas. Por exemplo, “você é um vencedor” é uma string, composta pelas várias letras que formam a frase.Não confunda strings com caractere. Uma constante caractere simples fica entre dois apóstrofos, por exemplo ‘a’.

    Entretanto “a” é uma string que contém somente uma letra.

    d) para valores enumerados, a sintaxe da declaração de enum seq {A,B,C,D}; se altera se for declarado como seq {A,B,C,D}.

    e) linguagem C e C++, a variável que representa o valor booleano, falso ou verdadeiro pode ser expressa pelo tipo bool.


ID
486622
Banca
FCC
Órgão
TCE-AL
Ano
2008
Provas
Disciplina
Programação
Assuntos

A nomenclatura da linguagem C++ para Chamada de Função e Classe Base corresponde, respectivamente, na programação orientada a objetos a

Alternativas
Comentários
  • Na teoria do paradigma de orientação a objetos (O-O), o programa é formado por um conjunto de classes que são modelos para criação de objetos. As classes e objetos possuem membros que são dados privados, e métodos de acesso, que são as funções. Quando um trecho de código quer fazer uma operação sobre um objeto ele emite uma mensagem para esse objeto requisitando a operação. Na prática, pode-se implementar isso como uma simples chamada de função (chamada de método), que é o que ocorre em C++.

     

    Superclasse é aquela classe que será derivada, é a classe mãe ou base como também é chamada.


ID
486625
Banca
FCC
Órgão
TCE-AL
Ano
2008
Provas
Disciplina
Programação
Assuntos

Quando nenhum tipo de retorno é exigido em um método C++ deve-se especificá-lo como sendo do tipo

Alternativas
Comentários
  • Void - função que nada devolve, apenas se executa e chega ao fim sem retornar (return) nada.

     

    Int - função que devolve no fim um número inteiro.

     

    NULL é chamado de ponteiro nulo.

     

    Public – Quando precede uma lista de membros de classe, o públic palavra-chave especifica que esses membros são acessíveis a partir de qualquer função. Isso se aplica a todos os membros declarados até o próximo especificador de acesso ou o fim da classe. Ou seja, visível a todos.

     

    Double para representar números reais.


ID
486628
Banca
FCC
Órgão
TCE-AL
Ano
2008
Provas
Disciplina
Programação
Assuntos

Na linguagem C++, um container do tipo associativo denomina-se

Alternativas
Comentários

ID
486631
Banca
FCC
Órgão
TCE-AL
Ano
2008
Provas
Disciplina
Programação
Assuntos

Ler um objeto do container ou escrever um objeto no container, do início para o fim do mesmo, na linguagem C++, é uma característica do iterador do tipo

Alternativas
Comentários
  • Input and output iterators are the most limited types of iterators, specialized in performing only sequential input or ouput operations.

    Forward iterators have all the functionality of input and output iterators, although they are limited to one direction in which to iterate through a range.

    Bidirectional iterators can be iterated through in both directions. All standard containers support at least bidirectional iterators types.

    Random access iterators implement all the functionalities of bidirectional iterators, plus, they have the ability to access ranges non-sequentially: offsets can be directly applied to these iterators without iterating through all the elements in between. This provides these iterators with the same functionality as standard pointers (pointers are iterators of this category).
  • A questão pede para ler um objeto do container ou escrever um objeto no container, do início para o fim do mesmo.

     

    Os únicos que fazem isso é Input, Output e Forward.

    Por que só esses três fazem isso?

     

    Vamos ao conceito de cada um.

    1. Input lê valores de um container em direção para frente, ou seja, do início para o fim, seu acesso é linear.

    2. Output escreve valores de um container em direção para frente, ou seja, do início para o fim, seu acesso é linear.

    3. Forward lê/escreve valores de um container em direção para frente, ou seja, do início para o fim, seu acesso é linear.

     

    Por que Random não faz parte?

    Vejamos:

    1. Random lê/escreve valores de um container em direção para frente, para trás, ou seja, do início para o fim e do fim para o início, seu acesso é aleatório.


ID
492382
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2008
Provas
Disciplina
Programação
Assuntos

Quanto à linguagem Delphi 8, julgue os itens a seguir.

O Delphi 8 suporta a linguagem Object Pascal, além de ser capaz de compilar códigos C++.

Alternativas
Comentários
  • Novos recursos do XE8:

    ·         iOS 64-bit e suporte a aplicações universais: para distribuir novas aplicações para a Apple App Store, a versão XE8 do RAD Studio apresenta compiladores Object Pascal e C++ para iOS 64-bit. O RAD Studio XE8 suporta aplicações universais Apple, oferecendo ambos os binários - 32-bit e 64-bit – em um único pacote, como também uma ampla variedade de controles nativos da plataforma iOS para entregar uma experiência ao cliente iOS altamente especializada.

    http://www.segs.com.br/info-e-ti/39329-lancamento-possibilita-que-desenvolvedores-delphi-object-pascal-e-c-estendam-suas-aplicacoes-windows-existentes-para-mac-mobile-nuvem-e-internet-das-coisas.html


  • (ERRADA)
    O Delphi possui a versão 8 que veio depois da versão 7 que tambem é conhecida como delphi for .net, este delphi não tem compilador para C++. Já o XE8 que veio depois do XE7, bem depois do Delphi 8, esse sim tem compilador para C++. ou seja, se tratando somente de Delphi 8 pra mim esta questão está errada.


ID
519478
Banca
Exército
Órgão
EsFCEx
Ano
2009
Provas
Disciplina
Programação
Assuntos

Para ajustar o comprimento do campo de exibição da função cout em C++ qual dos métodos abaixo deve ser usado?

Alternativas

ID
647596
Banca
FCC
Órgão
TCE-AP
Ano
2012
Provas
Disciplina
Programação
Assuntos

A utilização de números como constantes no meio de um código fonte em uma linguagem de programação, conhecidos por 'números mágicos', é considerada uma prática ruim. Na linguagem de programação C/C++ é possível criar constantes numéricas ou strings que substituirão a constante no código por um nome dado pelo programador. Isso é feito com a utilização da diretiva do preprocessador

Alternativas
Comentários
  • Constantes são o oposto das variáveis, apesar de trabalharem da mesma forma.

    As "variáveis" têm esse nome exatamente porque podem mudar seu valor durante a execução do programa. Já as "constantes" são dados gravados em memória que de forma alguma podem alterar seu valor.
     
    Para criar uma constante, usa-se o pré-processador define. Define é um pré-processador porque todas as constantes devem ser definidas antes do inicio do programa.

    Resposta é a letra "d"
  • #pragma - Passa ordens ao compilador como por exemplo ignorar um erro

    #include - Adiciona outro arquivo externo para ser compilado

    #const - Isso existe?

    #define - X da questão.

    #declare - Acho que isto também não existe em C++. Pelo menos nunca vi.

  • #define -> Esta diretiva é utilizada para substituir um nome dado pelo programador por um "valor", no código-fonte. Acontece a nível de PREPROCESSOR.

    Ex.:

    #include

    #define numberOne 1

    #define numberTwo 2

    int main (){

    printf ("numberOne vale %d\n",numberOne);

    printf ("numberTwo vale %d\n",numberTwo);

    return 0;
    }


ID
675565
Banca
CONSULPLAN
Órgão
TSE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Boost é uma biblioteca C++ disponível em muitas plataformas, que cobre várias funcionalidades como date/time, funções hashing, dentre outras. No ambiente Boost, as bibliotecas podem ser de dois tipos, sendo “default” o valor

Alternativas
Comentários
  • Shared
  • Shared - A biblioteca é externa e chamada pelo programa. Fica em outro arquivo separado normalmente em *.so (linux) ou *.dll para windows 

    Static - A biblioteca integra o executável do programa, aumentando seu tamanho sem dúvida, mas estará toda lá.

    Como a biblioteca Boost é enorme e muito usada por outros programas, ou seja, é quase onipresente nos sistemas, costuma estar 'linkada' em modo shared.

    Enable e Disable é piada. Quem caiu não manja nada de programação.


ID
814204
Banca
FAPERP
Órgão
TJ-PB
Ano
2012
Provas
Disciplina
Programação
Assuntos

A linguagem HTML possui uma classificação difere da linguagem C++, uma vez que:

Alternativas

ID
961051
Banca
Marinha
Órgão
Quadro Técnico
Ano
2011
Provas
Disciplina
Programação
Assuntos

Conceitualmente na linguagem C+ + , qual dos operadores abaixo é o de menor precedência, ou seja, em uma expressão seria executado por último?

Alternativas
Comentários
  • O gabarito é a letra D.

     

    Esse símbolo é do operador ternário, que tem precedência 13.

  • Precedência dos operadores ordenados da maior precedência para a menor.

    . [] () Máxima precedência: separador, indexação, parâmetros, conversão de tipo

    + - ~ ! ++ -- Operador unário: positivo, negativo, negação (inversão bit a bit), não (lógico), incremento, decremento

    * / % Multiplicação, divisão e módulo (inteiros)

    + - Adição, subtração

    << >> >>> Translação (bit a bit) à esquerda, direita sinalizada, e direita não sinalizada (o bit de sinal será 0)

    < <= >= < Operador relacional: menor, menor ou igual, maior ou igual, maior

    == != Igualdade: igual, diferente

    & Operador lógico e bit a bit

    ^ Ou exclusivo (xor) bit a bit

    | Operador lógico ou bit a bit

    && Operador lógico e condicional

    || Operador lógico ou condicional

    ?: Condicional: if-then-else compacto

    = op= Atribuição


ID
1035370
Banca
CESPE / CEBRASPE
Órgão
PEFOCE
Ano
2012
Provas
Disciplina
Programação
Assuntos

A respeito de linguagens e ambientes de programação, julgue os itens subsequentes.

Uma vez que o C++ inclui recuperação de armazenamento implícita, não há necessidade de liberação explícita para os objetos dinâmicos do heap.

Alternativas
Comentários
  • Todo espaço alocado por linguagens de programação como; C/C++ devem ser liberados, assim como os ponteiros que também ocupam espaço de memória.

    Se fosse na linguagem Java não teria este tipo de problema, lá existe um Garbage Collection (coletor de lixo) que faz esse trabalho de liberar espaço de memória de variáveis que não estão sendo mais utilizadas pelo Sistema Operacional, (tornam-se lixo).


ID
1035379
Banca
CESPE / CEBRASPE
Órgão
PEFOCE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Com relação às linguagens de programação orientada a objetos, julgue os itens que se seguem.

No C++, as matrizes são instâncias de uma classe predefinida que possibilita a verificação da faixa de índice que, no Java, é implícita.

Alternativas
Comentários
  • matrizes em c++ é a junção de vários vetores.

    https://www.inf.pucrs.br/~pinho/LaproI/Vetores/Vetores.htm

    https://docs.microsoft.com/pt-br/cpp/cpp/arrays-cpp?view=msvc-170#:~:text=Uma%20matriz%20%C3%A9%20uma%20sequ%C3%AAncia,bases%20de%20c%C3%B3digo%20mais%20antigas.


ID
1092250
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Julgue os seguintes itens acerca da linguagem C++.

A declaração da variável char float é correta.

Alternativas
Comentários
  • Errado.

    float é uma palavra reservada e não pode ser considerada uma variável.


ID
1092253
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Julgue os seguintes itens acerca da linguagem C++.

A linguagem C++ é uma linguagem de máquina.

Alternativas
Comentários
  • Errado.

    Assembly é um exemplo de linguagem de máquina, entretanto C++ não.

    C++ :  é uma linguagem de programação compilada multi-paradigma (seu suporte inclui linguagem imperativa, orientada a objetos e genérica) e de uso geral. A linguagem é considerada de médio nível, pois combina características de linguagens de alto e baixo níveis.

     

    https://pt.wikipedia.org/wiki/C%2B%2B


ID
1092256
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Julgue os seguintes itens acerca da linguagem C++.

As especializações de templates de classe, conhecida como programação genérica, é um dos mais poderosos recursos de reutilização de software do C++.

Alternativas
Comentários
  • Pontos positivos do C++ incluem a produção de código o quanto mais eficiente possível, fazendo uso de otimizações agressivas e sofisticadas dos compiladores. Entretanto, a linguagem ainda mantém alta flexibilidade, portabilidade e consistência. Um exemplo da flexibilidade é a possibilidade de programação de alto e baixo nível. Outro exemplo é a possibilidade de metaprogramação e programação genérica.

     

    Certo

    https://pt.wikipedia.org/wiki/C%2B%2B


ID
1092412
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às propriedades da linguagem C++, julgue os itens a seguir.

A linguagem C++ suporta polimorfismo, mas apenas estáticos, ou seja, em tempo de compilação.

Alternativas

ID
1092415
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às propriedades da linguagem C++, julgue os itens a seguir.

Em C++, os operadores new e delete estão associados à alocação dinâmica de memória.

Alternativas

ID
1092418
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às propriedades da linguagem C++, julgue os itens a seguir.

Em C++, os operadores try e catch estão associados ao gerenciamento de exceções.

Alternativas

ID
1092421
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às propriedades da linguagem C++, julgue os itens a seguir.

Por meio de templates é possível escrever uma função que pode ser aplicada a diferentes classes

Alternativas

ID
1092424
Banca
CESPE / CEBRASPE
Órgão
INPE
Ano
2008
Provas
Disciplina
Programação
Assuntos

Com relação às propriedades da linguagem C++, julgue os itens a seguir.

A linguagem C++ faz pouco uso de recursos de alocação dinâmica de memória, uma vez que os objetos são todos previamente alocados quando da compilação do programa.

Alternativas

ID
1119937
Banca
FGV
Órgão
DPE-RJ
Ano
2014
Provas
Disciplina
Programação
Assuntos

Considere as seguintes linguagens de programação:

                          C C++ C# Java VB.NET SmallTalk Python

Dessa lista, a linguagem que não oferece suporte a orientação objetos é :

Alternativas
Comentários
  • Pfvr, caia na minha prova kkkk

  • Muitas das linguagens de programação mais utilizadas atualmente (talvez a maioria) são multi-paradigma com suporte à POO. C++, C#, VB.NET, Java, Object Pascal, Objective-C, Python, SuperCollider, Ruby e Smalltalk são exemplos de linguagens de programação orientadas a objetos. ActionScript, ColdFusion, Javascript, PHP (a partir da versão 4.0), Perl (a partir da versão 5), Visual Basic (a partir da versão 4), VimL (ou Vim script) são exemplos de linguagens de programação com suporte a orientação a objetos. Vivace[3] é um exemplo de linguagem sem suporte à POO.

  • Prezados, 

    A linguagem C ainda é uma linguagem não orientada a objetos. O C++ entrou como linguagem que usa uma sintaxe baseada no C , mas com o suporte a orientação a objetos.

    Portanto a alternativa correta é a letra A



ID
1181932
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2014
Provas
Disciplina
Programação
Assuntos

Qual o comando de atribuição utilizado nas linguagens C++ e Java?

Alternativas
Comentários
  • Em java e também em C/C++ o operador de atribuição é o =. Portanto, gabarito A. 

    Fonte: http://www.apcti.com.br (Esse site tem material gratuito de TI)

  • Em Ciência da Computação o comando de atribuição define ou redefine o valor armazenado no local de armazenamento indicado por um nome de variável. Na maioria das linguagens de programação imperativas o comando de atribuição é uma das declarações básicas.

    A instrução de atribuição muitas vezes permite que o mesmo nome de variável possa conter valores diferentes em momentos diferentes durante a execução do programa.

    Representações textuais comuns do operador de atribuição incluem um sinal de igual ("=") e ":=". Estas duas formas são típicas das linguagens de programação (tais como C, Java), que classificam o operador de atribuição como um operador infixo.


ID
1181935
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2014
Provas
Disciplina
Programação
Assuntos

As linguagens Java e C++ são case sensitive.  Isso significa que essas linguagens

Alternativas
Comentários
  • Java, C e C++ são case sensitive. Isso quer dizer o uso de letras maiúsculas e minúsculas é levado em consideração na ciração de identificadores, por exemplo, da nome a uma variável. 

    Fonte: www.apcti.com.br (material para concursos de TI)


ID
1386385
Banca
CESPE / CEBRASPE
Órgão
ANTT
Ano
2013
Provas
Disciplina
Programação
Assuntos

Acerca das linguagens de implementação de regras de negócio, julgue os itens que se seguem.

O paradigma de orientação a objetos é amplamente utilizado em várias linguagens: Java é compilada em bytecode e executada em uma máquina virtual (JVM); C++ apresenta bom desempenho ao unir características de alto e de baixo níveis; Python/Ruby/PHP podem ser utilizadas para desenvolvimento web, mas sem aplicações para dispositivos móveis

Alternativas
Comentários
  • mas sem aplicações para dispositivos móveis ao meu ver deixou a questão errada.

  • Também acho que ficou errada a questão pelo "mas sem aplicações para dispositivos móveis".

  • Errado.

    O Python é uma linguaguem de proposito geral, não é focada em algo só. Com ele você pode desensolver aplicativos para android, windows e linux. É uma linguagem multiplataforma.

  • O tema assusta um pouco, mas se for pela logica da pra ir acertando algumas e memorizando.

  • ERRADO!

    O próprio Google e o Youtube foram feitos em Python.

  • Vai nishimuraaaa

  • kkk Python é a linguagem mais usada em desenvolvimento de APPs

  • ERRADO

    Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. 

    "mas sem aplicações para dispositivos móveis"

    É POSSIVEL SIM.

    O objetivo do projeto , que visa criar um ambiente para que apps escritos em Python possam rodar no iOS, Android, Windows, macOS, tvOS, Linux ou navegadores, usando a interface nativa de cada plataforma. 

    Uma matéria sobre o assunto: https://olhardigital.com.br/2020/05/13/noticias/no-futuro-apps-escritos-em-python-poderao-rodar-no-android/

  • Em informática tudo e possível

  • Método NISHIMURA salvando!

  • GABARITO ERRADO

    Como é uma plataforma livre e de código aberto, é usada por grandes empresas como netflix, google, youtube e outras. Trata-se de uma linguagem multiplataforma que serve para quase tudo, ou seja, permite desenvolver aplicações para celulares, desktop, web e outros. Além disso, permite integrar diversos serviços e sistemas de forma rápida e eficaz.

  • Lembrar do UBER. A maior parte do app UBER foi feita em linguagem de programação Python, por exemplo, que é uma aplicação para dispositivos móveis. Errada.

  • O Python é uma linguagem de propósito geral, não é focada em algo só. Com ele você pode desenvolver aplicativos para android, windows e linux. É uma linguagem multiplataforma. O próprio Google e o Youtube foram feitos em Python.

    #MireAsEstrelas

  • ERRADO

    PYTHON

    • linguagem de programação de ALTO NÍVEL (se aproxima da linguagem humana)
    • Interpretada (não precisa de compilação)
    • linguagem ágil, fácil e objetiva
    • Multiplataforma (por conta dessa característica, Python pode ser utilizada para aplicações em Windows, Linux, Mac, IOS, Android e basicamente qualquer outro.)
    • de tipagem Dinâmica e Forte
    • Imperativa (dá ordem através comandos)
    • Orientada a objetos
  • Gabarito: Errado

    Se o python é um tipo de programação aberta, usada em todos os sistemas operacionais, porque que não seria usado em dispositivos móveis, um exemplo é o app da uber, foi criado para dispositivos móveis e criado pela linguagem de programação python.

    Reconhece o SENHOR em todos os teus caminhos, e Ele endireitará as tuas veredas.

    Provérbios 3:6

  • Python é uma linguagem orientada a objeto e de MULTIPLATAFORMAS.

  • (INFORMÁTICA)

    - Quando a questão detalha/explica determinado assunto/tema/software (GERALMENTE É VERDADEIRA)

    - Quando uma questão impõe algo ou determina uma ação (GERALMENTE ESTÁ ERRADA)

    - Quando uma questão compara tecnologias (GERALMENTE ESTÁ ERRADA)

    - Quando uma questão menospreza determinada tecnologia (GERALMENTE ESTÁ ERRADA)

    - Geralmente quando há uma enumeração de itens sendo pertencentes ao mesmo grupo/programa (GERALEMTEN ESTÁ CORRETA)

    - ATENTANDO PARA O ULTIMO ITEN, SE FOR DE OUTRO GRUPO/PROGAMA

    - Algumas palavras que são sinais que a Questão está CORRETA (pode, é possível, permitem...) 

    - Palavras que podem deixar a questão errada (devem, não é possível, é restrito, somente, palavra de negação e restrição) GERALMENTE ESTÁ ERRADA

    Esse método é bem bacana para pessoas que ficam em duvidas quanto as questões CESPE!

    Algumas questões conceituais podemos matar usando alguns desses métodos


ID
1403965
Banca
FGV
Órgão
TJ-BA
Ano
2015
Provas
Disciplina
Programação
Assuntos

Considere os termos private / protected, usados para especificar os direitos de acesso aos membros de classes escritas na linguagem C++. Na ordem respectiva, esses termos denotam permissões de acesso que se limitam aos membros:

Alternativas
Comentários
  • https://msdn.microsoft.com/pt-br/library/e761de5s.aspx

  • Quando precede uma lista de membros de classe, a palavra-chave private especifica que esses membros podem ser acessados somente de funções de membros e friends da classe. Isso se aplica a todos os membros declarados até o especificador seguinte do acesso ou ao final da classe.

    Para preceder o nome de uma classe base, a palavra-chave private especifica que os membros públicos e protegidos da classe base são membros particulares da classe derivada.

    O acesso padrão dos membros em um classe é particular. O acesso padrão dos membros em uma estrutura ou união é público.


ID
1428778
Banca
CESGRANRIO
Órgão
LIQUIGÁS
Ano
2012
Provas
Disciplina
Programação
Assuntos

Várias linguagens orientadas a objetos surgiram ao longo do tempo, como SmallTalk, C++, Java e C#.
A característica essencial das linguagens orientadas a objetos é de que elas incluem facilidades para permitir a

Alternativas

ID
1478392
Banca
IDECAN
Órgão
INMETRO
Ano
2015
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, com a linguagem C++, podem ser utilizadas bibliotecas com vários moldes. A Biblioteca STL (Standard Template Library) é uma coleção de bibliotecas que provê moldes utilizados para definição de classes principais contêineres, necessárias para implementação das associações e agregações. São utilizados arquivos de cabeçalho, em que cada um tem a sua função específica. “Programa que necessita de uma biblioteca que constitui um dos três contêineres sequenciais providos pela STL, que provê acesso aleatório a uma sequência de comprimento variável, com constantes inserções de tempo e exclusões, tanto no início quanto no final da sequência.” Trata-se da biblioteca

Alternativas
Comentários
  • Falou em inserir elementos em ambos os lados (tanto no seu início como no seu final) = Deque


ID
1478413
Banca
IDECAN
Órgão
INMETRO
Ano
2015
Provas
Disciplina
Programação
Assuntos

A linguagem de programação C#, que alguns autores defendem como sendo uma evolução do C e C++, é uma linguagem desenvolvida para a plataforma. NET, da Microsoft, fornece recursos muito importantes para os programadores, como, por exemplo, programação orientada a objetos, elementos gráficos, componentes de interface gráfica com o usuário, entre vários outros recursos. É apropriada para implementação de aplicativos para internet e World Wide Web, se integrando de forma transparente com os aplicativos baseados em PC. Na linguagem C#, os módulos de programa são chamados de

Alternativas
Comentários
  • Gabarito C.

    métodos e classes.


ID
1478428
Banca
IDECAN
Órgão
INMETRO
Ano
2015
Provas
Disciplina
Programação
Assuntos

A linguagem de programação C++, uma evolução da linguagem de programação C, pode ser considerada uma linguagem híbrida, pois é possível utilizar a programação estruturada e a orientada a objetos. Os programas na linguagem C++ consistem em peças-chave denominadas classes e funções. Ao derivar uma classe a partir de uma classe base, esta pode ser herdada como public, protected ou private. “Ao derivar uma classe a partir de uma classe base com herança protected, os membros public da classe base tornam-se membros ___________ da classe derivada e os membros protected da classe base tornam-se membros ___________ da classe derivada.” Assinale a alternativa que completa correta e sequencialmente a afirmativa anterior.

Alternativas
Comentários
  • Como a prórpria questão fala, podemos ter 3 tipos de derivar uma classe base (private, protected, public). Vamos lá:

    ----->Classe Base herdada como PUBLIC:

    Membros public da base viram PUBLIC na derivada;

    Membros private da base viram PRIVATE na derivada;

    Membros Protected da base viram PROTECTED na derivada;

    -----> Classe base herdada como PRIVATE

    Membros public da base viram PRIVATE na derivada;

    Membros private da base viram PRIVATE na derivada;

    Membros Protected da base viram PRIVATE na derivada;

    -----> Classe Base herdade como PROTECTED:

    Membros public da base viram PROTECTED na derivada;

    Membros private da base viram PRIVATE na derivada;

    Membros Protected da base viram PROTECTED na derivada;

     

     

    Ou seja, PREVALECE O ATRIBUTO MAIS RESTRITIVO: (PRIVATE, PROTECTED, PUBLIC).

    GABARITO LETRA E(Protected e protected)


ID
1560481
Banca
Marinha
Órgão
CAP
Ano
2013
Provas
Disciplina
Programação
Assuntos

Em relação às tipologias das linguagens de programação, assinale a opção que apresenta somente linguagens orientadas a objeto.

Alternativas
Comentários
  • E- C+ + e Smalltalk.

  • Que pergunta mais nada haver

  • Linguagens que suportam a Linguagem Orientada a Objetos: Java, C++, C#, PHP, VisualBasic, Smaltalk, ObjectPascal.

    Linguagens que não suportam a Linguagem Orientada a Objetos: C, Pascal, Assembly.


ID
1949764
Banca
FUNCAB
Órgão
PC-AC
Ano
2015
Provas
Disciplina
Programação
Assuntos

Um programador da linguagem C++ utilizou o modificador friend em uma função que está fora de um escopo de uma classe. Isso significa que essa função tem permissão para acessar os membros da classe que sejam somente:

Alternativas
Comentários
  • FRIEND não é membro da classe, mas tem premissão para usar e acessar todos os metodos das classes, ou seja, public, private e protected


ID
2056921
Banca
COMVEST UFAM
Órgão
UFAM
Ano
2016
Provas
Disciplina
Programação
Assuntos

AS afirmativas mostradas a seguir estão relacionadas com a programação orientada para objeto sem C++.Analise as afirmativas e marque com V as verdadeiras e com F as falsas:


( ) As classes em C++ não podem ser compostas por objetos de outras classes.


( ) Membros static de uma classe podem ser acessados através de um objeto daquela classe ou através do nome da classe, usando o operador de resolução de esopo (se o membro for public).


( ) Uma função friend de uma classe é uma função definida fora daquela classe e que tem o direito de acessar todos os membros da classe.


( ) Uma função membro definida como const modifica membro de dados de um objeto.


( ) Tentar declarar como const um construtor ou destruidor é um erro de sintaxe.


( ) Membros protected são usados para evitar privilégios às classes derivadas, ao mesmo tempo que permite privilégios para funções que não sejam da classe ou amigas (friend) da classe.


( ) Quando se deriva uma classe a partir de uma classe public, os membros public da classe base se tornam membros protected da classe derivada e os membros protected da classe base se tornam public da classe derivada.


( ) Quando se deriva uma classe a partir de uma classe public, os membros public da classe base se tornam membros public da classe derivada e os membros protected da classe base se tornam protected da classe derivada.


Assinale a alternativa que apresenta a sequência correta de V e F de cima para baixo:

Alternativas

ID
2056924
Banca
COMVEST UFAM
Órgão
UFAM
Ano
2016
Provas
Disciplina
Programação
Assuntos

O trecho de código em C++ mostrado em seguida foi extraído de um programa que seleciona candidatos para um time de basquete. O critério utilizado neste trecho de programa para a aprovação é que o atleta tenha altura maior ou igual a 170,0 cm.

                               if (altura>= 170.0)

                                         cout<< “Aprovado”;

                               else

                                         cout<< “Reprovado”;

Este trecho pode ser substituído de forma CORRETA pela seguinte estrutura condicional:

Alternativas
Comentários
  • Questão de operadores ternários

    cout<<(altura>=170.0?"Aprovado":"Reprovado");

    Onde a linha de código acima é análoga à estrutura dos operadores ternários:

    condição?"opção1(TRUE)":"opção2(FALSE)";


ID
2213359
Banca
Marinha
Órgão
Quadro Técnico
Ano
2009
Provas
Disciplina
Programação
Assuntos

Dado o seguinte trecho de programa em C++, 

int x = 1;

while ( x < 10 ) ;

- -x; 

Pode-se afirmar que o valor de x em qualquer momento da execução será: 

Alternativas
Comentários
  • int x = 1; A variável x do tipo inteiro é declarada e inicializada com valor 1

    while ( x < 10 )...; Programa entra no while e não tem argumentos (pontilhado vermelho)looping eterno com o x =1)

    - -x; Programa nunca executa essa intrução.

    Gabarito B


ID
2213362
Banca
Marinha
Órgão
Quadro Técnico
Ano
2009
Provas
Disciplina
Programação
Assuntos

Em algumas linguagens de Programação Orientadas a Objetos como, por exemplo, o C++, ao se derivar uma classe a partir de uma classe base, a classe base pode ser herdada como public, protected ou private. Quando a derivação é do tipo protected, os membros

Alternativas

ID
2213449
Banca
Marinha
Órgão
Quadro Técnico
Ano
2009
Provas
Disciplina
Programação
Assuntos

Dada a equação algébrica y = ax4 + 8, indique qual o comando correto de C++ para expressar esta equação.

Alternativas

ID
2213455
Banca
Marinha
Órgão
Quadro Técnico
Ano
2009
Provas
Disciplina
Programação
Assuntos

A série de Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, 21, ... começa com 0 e 1 e tem a propriedade de que cada número subseqüente de Fibonacci é a soma dos dois números de Fibonacci anteriores.

A série Fibonacci pode ser definida recursivamente como segue:

fibonacci (0) = 0

fibonacci (1) = 1

fibonacci ( n ) = fibonacci ( n - 1 ) + fibonacci ( n - 2 )

Indique a função recursiva, em C++, que representa a solução correta para a série de Fibonacci apresentada acima.

Alternativas

ID
2213461
Banca
Marinha
Órgão
Quadro Técnico
Ano
2009
Provas
Disciplina
Programação
Assuntos

Considere a declaração abaixo, na linguagem C++: 

«expressao1»; while («expressao2») { «comandos»;

«expressao3» }; 

Pode-se afirmar que o comando for, para ser equivalente ao while, será 

Alternativas

ID
2213464
Banca
Marinha
Órgão
Quadro Técnico
Ano
2009
Provas
Disciplina
Programação
Assuntos

Assumindo as seguintes declarações em C++:

int y = 5;

int *yPtr;

é correto afirmar que o comando yPtr = &y;

Alternativas

ID
2229868
Banca
UFMT
Órgão
UFMT
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sobre as linguagens de programação mais utilizadas na academia e indústria, marque V para as afirmativas verdadeiras e F para as falsas.

( ) Os códigos-fontes em Python devem ser compilados pelo compilador Python que pode ser utilizado em ambientes Windows e Linux.

( ) A linguagem de programação C++ surgiu para substituir a linguagem C, pois C é obsoleta e não é mais utilizada.

( ) Java é uma linguagem de programação orientada a objetos que é executada em uma máquina virtual Java (JVM).

( ) As linguagens de programação C++, Python e Java utilizam o modelo de orientação a objetos.

Assinale a sequência correta.

Alternativas
Comentários
  • Analise das opções:

     

    Os códigos-fontes em Python devem ser compilados interpretados  pelo compilador interpretador Python que pode ser utilizado em ambientes Windows e Linux. (Falsa)

     

    A linguagem de programação C++ surgiu para substituir a linguagem C, pois C é obsoleta e não é mais utilizada. (Falsa C++ foi a evolução da linguagem C em direção a POO )

     

    Java é uma linguagem de programação orientada a objetos que é executada em uma máquina virtual Java (JVM). (Correta)

     

    As linguagens de programação C++, Python e Java utilizam o modelo de orientação a objetos. (Correta)

  • rapaz, se eu falar pra vcs que python é sim compilado

    inclusive no mesmo estilo de java?

    tem um compilador python que gera bytecode

    a diferença é que esse processo é automático

    https://docs.python.org/3/library/py_compile.html

    An important aspect of Python’s compilation to bytecode is that it’s entirely implicit. You never invoke a compiler, you simply run a .py file. The Python implementation compiles the files as needed. This is different than Java, for example, where you have to run the Java compiler to turn Java source code into compiled class files. For this reason, Java is often called a compiled language, while Python is called an interpreted language. But both compile to bytecode, and then both execute the bytecode with a software implementation of a virtual machine.


ID
2322649
Banca
Exército
Órgão
EsFCEx
Ano
2016
Provas
Disciplina
Programação
Assuntos

Analise as afirmativas sobre diretivas para o pré-processamento na compilação de programas escritos em linguagem de programação C++, colocando entre parênteses a letra V, quando se tratar de afirmativa verdadeira, e a letra F, quando se tratar de afirmativa falsa. A seguir, assinale a alternativa que apresenta a sequência correta.

( ) A diretiva #include faz com que uma cópia de um arquivo especificado seja incluída no lugar da diretiva.

( ) A diretiva #define é utilizado para configurar a quantidade de bits utilizado pelo tipo inteiro em todo o código compilado.

( ) A diretiva #line faz com que as linhas subsequentes do código-fonte sejam remuneradas, começando com um valor inteiro constante especificado.

Alternativas
Comentários
  • O gabarito é a letra B.

     

    #define é utilizado na definição de constantes.

  • remuneradas???

  • #Include Copia uma função para a outra . fazendo uma reescrita

    #define - usado para Macro

    #line - usar valores inteiros ou constantes

    Gabarito C


ID
2322652
Banca
Exército
Órgão
EsFCEx
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere o seguinte trecho de código escrito em linguagem C++:

 # include <iostream>

 using std::cout;

 using std::cin;

 template <class T> 

 T funcao (T valor)

 { return valor;}

int main ()

 {

      TIPO a;

       cin >> a;

       cout<< funcao (a);

       return 0;

Analise as afirmativas sobre os tipos possíveis de variáveis que poderíam ser utilizados em substituição à palavra TIPO, sem causar erros de compilação, colocando entre parênteses a letra V, quando se tratar de afirmativa verdadeira, e a letra F, quando se tratar de afirmativa falsa. A seguir, assinale a alternativa que apresenta a sequência correta. 

( ) int

( ) double

( ) char

Alternativas
Comentários
  • O gabarito é a letra A.

     

    Não há restrição aos tipos nesse programa, sendo assim int, double e char podem ser utilizados em substituição à palavra TIPO. 

  • Parece bobagem, mas como não sabia nada de C++ fiquei em dúvida sobre esses sinais (>> e <<)

     

    cin >> a; Mesma coisa que: a = cin;

     

    cout<< funcao; mesma coisa que: count = funcao;

     

    Para maiores detalhes:

    http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Companion/cxx_crib/input_output.html

     

    Go ahe@d!!!

  • Prezado Marcelo Rebouças,

    No contexto da questão, não é correto afirmar que "cin >> a;" e "cout << funcao;" equivalem a "a = cin;" e "cout = funcao;" respectivamente.

    Os operadores << e >> manipulam fluxos de dados (streams), aquele refere-se ao operador de inserção e este ao de extração de dados.

    Os usos de "a = cin;" e "cout = funcao;" acarretam erros de compilação nesse contexto.

    At.te,

    Jacob Cabral


ID
2324845
Banca
IFB
Órgão
IFB
Ano
2017
Provas
Disciplina
Programação
Assuntos

Analise as seguintes afirmativas.
I) Ocultar dados dentro das classes e torná-los disponíveis apenas por meio de métodos é uma técnica muito usada em programas orientados a objetos, chamada de sobreescrita de classes.
II) Uma subclasse pode implementar novamente métodos que foram herdados de uma superclasse. Chamamos isso de sobrecarga de atributos.
III) Em Java não existe herança múltipla como em C++. Essa limitação pode ser parcialmente simulada pelo uso de encaminhamento de métodos a variáveis de instância.
Assinale a alternativa CORRETA com relação às afirmativas acima.

Alternativas
Comentários
  • I) Está errada porque o nome da técnica é encapsulamento, e não sobrescrita de classes.
    II) Está errada porque chamamos isso de polimorfismo, e não de sobrecarga de atributos.


ID
2331409
Banca
IF-CE
Órgão
IF-CE
Ano
2017
Provas
Disciplina
Programação
Assuntos

Considere as afirmações sobre os paradigmas de linguagens de programação.

I. Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte.

II. As linguagens de programação Object-Pascal, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos.

III. As linguagens de programação Smalltalk e Ruby são consideradas puramente orientadas a objetos, isto é, tudo é considerado um objeto, até mesmo os tipos básicos da linguagem.

Está(ão) correta(s):

Alternativas
Comentários
  • Analise das opções:

     

    I. Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte.  (Errado Python é uma linguagem fracamente tipada)

     

    II. As linguagens de programação Object-Pascal, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos. (Correto - Java por exemplo possui tipos primitivos que não são objetos)

     

    III. As linguagens de programação Smalltalk e Ruby são consideradas puramente orientadas a objetos, isto é, tudo é considerado um objeto, até mesmo os tipos básicos da linguagem. (Correto)

     

  • Jonathas, na verdade python é fortemente tipada, porém possui tipagem dinâmica. O erro do item I é dizer que Java possui tipagem dinâmica, pois a tipagem é estática.

  • O item I também é falso ao dizer que Java é interpretada.

  • I - Em linguagens fracamente tipadas, os tipos são deduzidos automaticamente. Outra característica é não possui problemas de mixagem ou conversão de tipos. Exemplo: Perl

    $a = 10;
    $b = “20a”;
    $c = $a + $b;
    print $c; #Exibe 30

    Em linguagens fortemente tipadas, elas se importam com o tipo de dados contido em uma variável. Se uma operação for feita entre tipos não compatíveis, um aviso é exibido pelo interpretador ou compilador. São exemplos: Python, Java e Ruby

    int i = 10;
    boolean b = true;
    System.out.println(i + b); //Erro de compilação. Não pode somar int com boolean

    A tipagem das variáveis do Python é dinâmica, pode ser alterada em qualquer hora (assim como ocorre com o Javascript). Mas o Java não possui tipagem dinâmica: uma vez definido o tipo, este se mantém. O Java também é compilado, e não interpretado como as linguagens de script (PHP, Javascript, etc). (Item errado)

     

    II - Correto - Os tipos primitivos da linguagem Java não são objetos

     

    III - Correto

  • Explicando de um jeito bem simples.

    Linguagem com tipagem DINÂMICA:

    PODE:

    x = 'sou uma string'

    x = 10 // agora sou um inteiro

    Linguagem com tipagem ESTÁTICA:

    int x = 1 // sou um inteiro

    x = "quero ser uma string agora, mas não posso, vai dar erro"

    Linguagem FORTEMENTE tipada:

    x = 'uma string' + 3 // não consigo somar uma string e um inteiro, como é o caso do Python

    Linguagem FRACAMENTE tipada:

    x = 'uma string' + 3 // posso somar, x terá o valor "uma string3", como é o caso do Javascript


ID
2369851
Banca
UFMT
Órgão
UFSBA
Ano
2017
Provas
Disciplina
Programação
Assuntos

A sobrecarga de operadores é uma técnica muito utilizada em C++. Assinale a alternativa que NÃO apresenta um operador que possa ser sobrecarregado em C++.

Alternativas
Comentários
  • Em C++ não existem operadores sobrecarregáveis de ordem maior que dois.

    P operador ?: é conhecido como operador ternário

     

    Constituição          (condicaoTestada)?"valor retornado caso verdadeira":"valor retornado caso falso"

    Ex.: (a>b):"A é maior":"B é maior"


ID
2431096
Banca
IF-PA
Órgão
IF-PA
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sabendo que o fatorial do número 5 possui como resultado 125, assinale o trecho do código abaixo que representa essa codificação:

Alternativas

ID
2431249
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2016
Provas
Disciplina
Programação
Assuntos

Dadas as afirmativas sobre o paradigma orientado a objetos e as linguagens Java e C++,


I. O uso de artifícios como Templates (de C++) ou Generics (de Java) é considerado um tipo particular de polimorfismo, denominado polimorfismo paramétrico.

II. Em linguagens orientadas a objetos somente existem três tipos de polimorfismo.

III. Apesar de aumentar a flexibilidade do software, o uso de polimorfismo é desaconselhado, uma vez que prejudica a segurança do sistema.


verifica-se que está(ão) correta(s)  

Alternativas
Comentários
  • TIPOS DE POLIMORFISMO:

    1.     Universal

    ·         Inclusão - um ponteiro para classe mãe pode apontar para uma instância de uma classe filha (exemplo em Java: List lista = new LinkedList(); (tipo de polimorfismo mais básico que existe)

    ·         Paramétrico - se restringe ao uso de templates (C++, por exemplo) e generics (C#/Java)

    2.     Ad-Hoc

    ·         Sobrecarga - duas funções/métodos com o mesmo nome mas assinaturas diferentes

    ·         Coerção - conversão implícita de tipos sobre os parâmetros de uma função

  • Quem não tem acesso:  - -> A

  • a-

    A generic type is a generic class or interface that is parameterized over types.

    https://docs.oracle.com/javase/tutorial/java/generics/types.html


ID
2431264
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2016
Provas
Disciplina
Programação
Assuntos

Dadas as afirmativas acerca das linguagens de programação Java, C++ e Python,


I. Das três linguagens consideradas, Java é a única que não permite sobrecarga de operadores.

II. O nível de dinamismo permitido pela linguagem Python, em termos de polimorfismo, é inferior às linguagens C++ e Java, uma vez que não possui construção equivalente aos Templates (de C++) e Generics (de Java).

III. Na linguagem C++, o padrão é o uso do acoplamento estático; e para optar pelo acoplamento dinâmico, é necessário utilizar a palavra reservada virtual.

IV. Na linguagem Java, o operador final somente pode ser utilizado para qualificar atributos, não podendo ser utilizado para qualificar métodos.


verifica-se que está(ão) correta(s)  

Alternativas
Comentários
  • Quem não tem acesso:  - -> B


ID
2620549
Banca
CS-UFG
Órgão
SANEAGO - GO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere a sentença a seguir.

for(I i: new I[] {x-> x+2, (x)->x*2 })
System.out.println(i.c(2));

Dada a interface I, interface I{int c(int i);}, essa sentença

Alternativas
Comentários
  • Preciso de ajuda para entender esse código

  • Nunca na vida vi um código igual esse.

  • Ele tá usando o lambda do Java 8 com classe anônima.

    Reescrevendo o código de forma extensa:

    -------------------------------------------------------------------------------

    // primeira classe anônima 

    I i1 = new I() {

          public int c(int x) {

                return x+2;

          }

    };

    // segunda classe anônima

    I i2 = new I() {

          public int c(int x) {

                return x*2;

          }

    };

    // adiciona os objetos num array e percorre no for

    I[] list = {i1, i2};

    for (I i : list) {

          System.out.println(i.c(2));

    }


ID
2839447
Banca
FADESP
Órgão
IF-PA
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise as afirmações sobre as linguagens de programação.

I. O mecanismo de herança em Java ocorre em tempo de compilação, ou seja, todo reaproveitamento de código realizado por herança é imutável em tempo de execução.
II. A linguagem C++ possui herança múltipla, Java possui somente herança simples para classes concretas e abstratas, mas possui herança múltipla para a “interface”, já Javascript não possui herança como funcionalidade nativa.
III. C++ é uma linguagem compilada, Java é compilada para uma linguagem de máquina intermediária chamada de bytecodes, sendo esta interpretada e Javascript é interpretada.

É correto afirmar que

Alternativas
Comentários
  • I. CORRETO, depois criada as classes e os relacionamentos em tempo de compilação, não podemos altera-los em tempo de execução.


    II. INCORRETO, A linguagem C++ possui herança múltipla, Java possui somente herança simples para classes concretas e abstratas, mas possui herança múltipla para a “interface”, já Javascript não possui herança como funcionalidade nativa.

    Acredito que o erro principal é afirmar que javascript não possui herança, como javascript é orientada a objeto, obviamente possui suporte a herança nativa.


    III. CORRETO, afirmativa serve para resumir bem as linguagens mencionada.


    GABARITO ALTERNATIVA B

  • Java não admite herança múltipla.

  • b-

    All JavaScript objects inherit properties and methods from a prototype.

    https://www.w3schools.com/js/js_object_prototypes.asp


ID
2858647
Banca
UFES
Órgão
UFES
Ano
2018
Provas
Disciplina
Programação
Assuntos

Após reconhecer que muitas estruturas de dados e algoritmos são comumente utilizadas por programadores em C++, o comitê-padrão adicionou a Standard Template Library (STL) à C++ Standard Library. Os contêineres são estruturas de dados baseadas em templates populares. Sobre os contêineres da STL em C++, é INCORRETO afirmar:

Alternativas
Comentários
  • Um contêiner list é uma lista duplamente vinculada que permite acesso bidirecional, rápidas inserções e exclusões rápidas em qualquer lugar no contêiner, mas você não pode acessar aleatoriamente um elemento no contêiner.

     

    Um contêiner priority_queue é organizado de modo que o elemento que tem o valor mais alto é sempre o primeiro na fila.

     

    Fonte: https://docs.microsoft.com/pt-br/cpp/standard-library/stl-containers?view=vs-2019


ID
2858650
Banca
UFES
Órgão
UFES
Ano
2018
Provas
Disciplina
Programação
Assuntos

Um recurso relevante da linguagem C++ é o que declara membros de classe como static. O objetivo de se declarar um membro de classe como static em C++ é permitir que

Alternativas
Comentários
  • Gabarito A

    Uma variável static é tratada como se fosse uma variável global, mesmo que

    dentro de uma função, mas com o escopo restrito à própria função. Isso

    permite que a variável da função armazene o último estado (valor) entre

    chamadas da função.

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • A (C) fala sobre static final


ID
2858656
Banca
UFES
Órgão
UFES
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o trecho de código C++ abaixo.


class MinhaClasse{

private:

int a;

public:

MinhaClasse(int b){

a = b;

ImprimeA();

};

~MinhaClasse(){

IncrementaA();

ImprimeA();

};

void IncrementaA(){

a++;

};

void ImprimeA(){

printf("[%d]", a);

};

};

int main(){

MinhaClasse * mClasseD = new MinhaClasse(1);

MinhaClasse mClasseE(10);

return 0;

}


Considerando os conceitos de gerenciamento dinâmico de memória, o código C++ acima imprimirá na saída padrão:

Alternativas

ID
2900848
Banca
IF-SP
Órgão
IF-SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

Nas linguagens de programação Java e C++, o polimorfismo paramétrico é materializado, respectivamente, pelas funcionalidades e/ou características:

Alternativas
Comentários
  • O C++ proporciona os modelos de (templates) para oferecer generalidade e polimorfismo paramétrico. O mesmo código é utilizado com diferentes tipos , onde é um parâmetro do corpo do código. O Java possui característica de tipos genéricos

     

    Letra A 

    Programação em C ++ - 2.ed.: Algoritmos, estruturas de dados e objetos

    Luis Joyanes Aguilar

  • Polimorfismo paramétrico é fornecido por um subprograma que recebe parâmetros genéricos usados em expressões de tipo que descrevem os tipos dos parâmetros do subprograma. Subprogramas parametricamente polimórficos são chamados e subprogramas genéricos. ❞ (Sebesta).

    .

    .

    At.te

    Foco na missão 

  • a-

    exemplo de polimorfismo parametrico:

    _____________________________________________________________________________________

    package parametrics;

    public class Copier <T>{

       public void copy(T a[], T b[], int n) {

          for (int i=0; i<n; i++)

             a[i]=b[i];

       }

    }

    _____________________________________________________________________________________

    package parametrics;

    public class Test {

       public static void main(String[] args) {

          // TODO Auto-generated method stub

          Double f1[] = new Double[10];

          Double f2[] = new Double[10];

          Copier<Double> cpDouble = new Copier<>();

          cpDouble.copy(f1, f2, 10);

          String s1[]= new String[20];

          String s2[] = new String[20];

          Copier<String> cpString = new Copier<>();

          cpString.copy(s1, s2, 15);

       }

    }


ID
2994289
Banca
COPESE - UFPI
Órgão
UFPI
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise as assertivas a seguir sobre as linguagens de programação C, C++, Python e Java.


I. A linguagem Python é uma linguagem interpretada e imperativa;

II. Java, assim como C++, é um exemplo de linguagem que segue o paradigma de orientação a objetos;

III. O identificador % é utilizado para identificar um comentário que utiliza somente uma linha em um programa escrito na linguagem C;

IV. A linguagem de programação JAVA não fornece suporte à criação de tipos definidos pelo usuário.


Assinale a opção referente às assertivas CORRETAS.

Alternativas
Comentários
  • Letra C.

  • I. A linguagem Python é uma linguagem interpretada e imperativa;

    II. Java, assim como C++, é um exemplo de linguagem que segue o paradigma de orientação a objetos;

    III. O identificador // é utilizado para identificar um comentário que utiliza somente uma linha em um programa escrito na linguagem C;

    IV. A linguagem de programação JAVA  fornece suporte à criação de tipos definidos pelo usuário, enumerações, por exemplo.

    .

    .

    At.te

    Foco na missão 

  • Assertiva C

    Estão corretas somente as assertivas I e II.

    I. A linguagem Python é uma linguagem interpretada e imperativa;

    II. Java, assim como C++, é um exemplo de linguagem que segue o paradigma de orientação a objetos;

  • Cara eu pensei que C++ não era OO. kkk


ID
3007867
Banca
Marinha
Órgão
Quadro Técnico
Ano
2019
Provas
Disciplina
Programação
Assuntos

Em relação às linguagens de programação, é correto afirmar que:

Alternativas
Comentários
  • Letra D ao pé da letra

    Conceitos de linguagens de programação 11ed pg: 88

    Por Robert W. Sebesta

  • por que não a letra A?

  • Java e C++ são linguagens orientadas a objetos não baseadas no paradigma imperativo.

    Java e C++ são linguagens orientadas a objetos são baseadas no paradigma imperativo. se alguém discorda pode me corrigir.

    https://www.youtube.com/watch?v=H47-MSAXd50

  • a) Java e C++ são linguagens orientadas a objetos não baseadas no paradigma imperativo. (ERRADA)

    Segundo Sebesta, 9ª edição, página 114: "2.17 UMA LINGUAGEM ORIENTADA A OBJETOS BASEADA NO PARADIGMA IMPERATIVO: JAVA"

    b) Smalltalk foi a primeira linguagem de programação que ofereceu suporte à orientação a objeto. No entanto, devido à sua natureza precursora, não apresenta suporte completo a esse tipo de paradigma.

    Segundo Sebesta, 9ª edição, página 108: "Smalltalk foi a primeira linguagem de programação que ofereceu suporte completo à programação orientada a objetos".

    c) As linguagens de scripting, dentre elas Perl, JavaScript e Ruby, não são imperativas em todos os sentidos. (ERRADA)

    Segundo Sebesta, 9ª edição, página 44: As linguagens de scripting, dentre elas Perl, JavaScript e Ruby, são imperativas em todos os sentidos.

    d) A linguagem Java é baseada em C++, mas foi projetada para ser menor, mais simples e mais confiável.

    GABARITO: retirado da página 115 do Sebesta, 9ª edição.

    e) Lua foi projetada na Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) e oferece suporte à programação não procedural e não funcional.

    Segundo Sebesta, 9ª edição, página 44: "É uma linguagem de scripting que oferece suporte para programação procedural e funcional com extensibilidade como um de seus objetivos primários."


ID
3189505
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2016
Provas
Disciplina
Programação
Assuntos

Dadas as afirmativas a respeito das linguagens de programação Java e C++,

I. As linguagens de programação Java e C++ permitem herança múltipla de implementação.

II. As linguagens Java e C++ precisam de uma Máquina Virtual para executarem o código objeto; por isso, programas escritos em ambas as linguagens podem ser executados em quaisquer plataformas de hardware.

III. As linguagens Java e C++ oferecem os comandos try e catch para proporcionar maior confiabilidade aos programas escritos nessas linguagens.

IV. A linguagem Java utiliza o modelo de passagem de parâmetros por valor.


verifica-se que estão corretas apenas 

Alternativas
Comentários
  • I. As linguagens de programação Java e C++ permitem herança múltipla de implementação.

    Incorreta, a linguagem Java não permite herança múltipla, por sua vez, a linguagem C++ permite!.

    II. As linguagens Java e C++ precisam de uma Máquina Virtual para executarem o código objeto; por isso, programas escritos em ambas as linguagens podem ser executados em quaisquer plataformas de hardware.

    Incorreta, a linguagem C++ não precisa de máquina virtual

    III. CORRETA

    IV. CORRETA

    GABARITO DA QUESTÃO: ALTERNATIVA C


ID
3256978
Banca
FCC
Órgão
TRF - 3ª REGIÃO
Ano
2019
Provas
Disciplina
Programação
Assuntos

Em C++, a chamada de uma função provoca o desvio do controle de execução para o início do código da função. Quando do seu término, o controle de execução volta para a instrução seguinte à sua chamada. Funções poupam espaço de memória, mas requerem mais tempo de execução. Se houver uma função muito pequena em relação à quantidade de instruções, em seu lugar utiliza-se

Alternativas
Comentários
  • "O qualificador INLINE antes do tipo de retorno da função na definição da função 'aconselha' o compilador a gerar uma cópia do código da função no próprio local - quando apropriado-, para evitar uma chamada de função."

    C++ Com programar - H.M. DEITEL

    GABARITO ALTERNATIVA D


ID
3260656
Banca
IBFC
Órgão
Prefeitura de Divinópolis - MG
Ano
2018
Provas
Disciplina
Programação
Assuntos

Referente à linguagem de programação C++, uma de suas características marcantes é a existência de:

Alternativas
Comentários
  • Uma das características marcantes da linguagem C++ é o recurso HERANÇA MÚLTIPLA. 

    **** atenção que isso outras bancas cobram ****


ID
3538990
Banca
INSTITUTO AOCP
Órgão
ITEP - RN
Ano
2018
Provas
Disciplina
Programação
Assuntos

Na linguagem C++, qual é a palavra-chave utilizada para a criação de novos tipos de dados?

Alternativas
Comentários
  • Trata-se de uma questão sobre a linguagem C++.

    O comando da questão pergunta qual a palavra chave utilizada para criação de um novo tipo de dado. 

    Vamos para as alternativas.

    A) Errado, pois setw serve para especificar a largura da saída de operações.

    B) Errado, pois while serve para iniciar uma estrutura de repetição.

    C) Correto, pois struct serve para criar um novo tipo de dado.

    D) Errado, pois #include serve para incluir uma biblioteca.

    E) Errado, pois #define serve para criar uma macro.


    Gabarito do Professor: Letra C.

ID
3538993
Banca
INSTITUTO AOCP
Órgão
ITEP - RN
Ano
2018
Provas
Disciplina
Programação
Assuntos

Em C++, como se denomina um conjunto de funções que compartilha um mesmo nome, porém contendo um código independente em cada uma?

Alternativas
Comentários
  • Trata-se de uma questão sobre C++.

    O comando da questão pergunta como se chama um conjunto de funções que possuem o mesmo nome, mas com código independente em cada uma delas.

    Vamos para as alternativas.

    A) Errado. Redundância não é um conceito da orientação a objetos.

    B) Errado. Objeto é uma classe instanciada.

    C) Errado. Encapsulamento, dentro de orientação a objetos, é a forma de ocultarmos detalhes da implementação e fazer uso apenas das chamadas.

    D) Correto. Polimorfismo é, dentro da orientação a objetos, a forma de um método ter comportamento diferente. Mesmo nome, implementações diferentes.

    E) Errado. Herança é quando uma classe filha herda as características da classe pai.


    Gabarito do Professor: Letra D.

ID
3620845
Banca
CONSULPLAN
Órgão
CEPISA
Ano
2007
Disciplina
Programação
Assuntos

Assinale a alternativa que NÃO está correta: 

Alternativas
Comentários
  • O Java foi criado pela empresa Sun Microsystems, e atualmente é propriedade da Oracle.

    Alternativa: D

  • Java é completamente orientado a objetos? E os tipos primitivo são o que?

    Enfimm deu pra matar pelo fato de mencionar Microsoft na alternativa D, MAS JAVA NÃO É COMPLETAMENTE OO NÃO!


ID
3707200
Banca
FCC
Órgão
Prefeitura de Teresina - PI
Ano
2016
Disciplina
Programação
Assuntos

Considere a declaração da seguinte classe em C++: 
 
#include <iostream> 
#include <string> 
using std::string; 
using namespace std; 
 
class Prefeitura{ 
   public:
     void setNome(string nome); 
     void setAno(int ano); 
     string getNome(); 
      int getAno(); 
 private: 
    string nome; 
     int ano; 
}; 
 
 Sabendo que um Assistente Tecnológico da PRODATER criou esta classe como parte do programa prefeituras.cpp, é correto afirmar: 

Alternativas
Comentários
  • Não entendi nada da alternativa A, mas por eliminação ela é a certa ja que 100% garantido as outras estão totalmente erradas:

    b) não são

    c) ambos são metodos da prefeitura

    d) parametros invertidos, getnome não recebe parametros de entrada e setnome precisa receber uma string

    e) os get não recebem


ID
3709075
Banca
FCC
Órgão
TRE-RN
Ano
2005
Disciplina
Programação
Assuntos

Considere as afirmações abaixo sobre linguagem de programação. 


I. Na linguagem ASP, request.QueryString é uma função do objeto Request que recupera valores de variáveis enviadas via formulário pelo método get. 

II. Ao contrário do que ocorre em C e C++, strings em Java não são tratadas como seqüências de caracteres terminadas por NUL. São objetos, instâncias da classe java.lang.String. 

III. Em PHP, O comando <? print $x?> pode ser substituído por <?=$x?>. 

IV. Considerando que Delphi tem a vantagem de possuir vários mecanismos para adicionar componentes ou código de outras linguagens, ele pode suportar tanto arquivos .OBJ quanto objetos ActiveX. 

É correto o que se afirma em:

Alternativas

ID
3871354
Banca
FAURGS
Órgão
UFCSPA - RS
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise o trecho de código abaixo, escrito em C++.

class classe_base () {

private:

int a;

float x;

protected:

int b;

float y;

public:

int c;

float z;

};

class subclasse_1 : public classe_base {...};

class subclasse_2 : private classe_base {...};

class subclasse_3 : private classe_base {...};


Com base nesse código, é correto afirmar que

Alternativas
Comentários
  • A) na subclasse_1 os atributos b e y são protegidos.

    Correta, GABARITO DA QUESTÃO, como a classe base foi derivada como public, os métodos protected serão protected na classe derivada;

    B) na subclasse_1 os atributos c e z são privados.

    Incorreta, atributos c e z são públicos;

    C) na subclasse_2 os atributos b e y são públicos.

    Incorreta, a classe base foi derivada como private, então os atributos b e y serão privados;

    D) na subclasse_2 os atributos c e z são protegidos.

    Incorreta, conforme alternativa C: a classe base é extendida como private, portanto os atributos c e z serão privados;

    E) as instâncias da subclasse_3 podem acessar o atributo c.

    Incorreta, subclasse_3 derivou como privada a classe base, portanto o atributo c será privado e as instâncias não poderão acessa-lo;


ID
4134013
Banca
COMPERVE
Órgão
UFRN
Ano
2016
Provas
Disciplina
Programação
Assuntos

Na linguagem C++, é possível substituir as funções scanf("%d", &x) e printf("%d", y) da linguagem C, respectivamente, por

Alternativas
Comentários
  • std::cin >> x e std::cout << y


ID
4180945
Banca
CETRO
Órgão
AMAZUL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Considere o código abaixo, escrito na linguagem de programação C++.


#include <iostream>

usingnamespacestd;

intmain(){

int A = 0, B = 7, C = 4, D = 3;

for (A = 0; A < B; A++)

D = D + 1;

for (A = 0;A <= C; A++)

D = D + 2;

if (D>=20)

cout<< "SISTEMAS OPERACIONAIS";

else

cout<< "REDES DE COMPUTADORES";

}


Assinale a alternativa que apresenta o valor que a variável D apresentará ao final da execução do programa e qual mensagem aparecerá na tela do computador.

Alternativas
Comentários
  • Sinteticamente:

    No primeiro laço for:

    for (A = 0; A < B; A++)

    D = D + 1;

    Iremos iterar 7 vezes (a= 0 a 6), D valerá 10;

    No segundo laço for:

    Zeramos o valor da variável A, e iteramos 5 vezes (a = 0 a 4 )

    for (A = 0;A <= C; A++)

    D = D + 2;

    D valerá 20;

    if (D>=20)

    cout<< "SISTEMAS OPERACIONAIS";

    O if será verdadeiro e imprimiremos SISTEMAS OPERACIONAIS

    GABARITO ALTERNATIVA B


ID
4180954
Banca
CETRO
Órgão
AMAZUL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Considere o trecho de código abaixo, escrito na linguagem de programação C++, que define uma classe chamada Pessoa.

class Pessoa
{
public:
char nome[45];
char sexo;
intanoNascimento;
private
float salario;
private
voidcalcularAumento();

public:
intcalcularIdade (int ano);
}

Sobre a definição acima, assinale a alternativa correta.

Alternativas

ID
4180963
Banca
CETRO
Órgão
AMAZUL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Considere o código abaixo, escrito na linguagem de programação C++, que é o arquivo Aluno.hpp (supondo que exista um arquivo previamente escrito chamado Pessoa.hpp).

#ifndef _Aluno_H
#define _Aluno_H
#include “Pessoa.hpp”
#include <string>
usingnamespacestd;
class Aluno: public Pessoa {
private:
string curso;
string semestre;
public:
Aluno();
stringobtemCurso();
voidconfiguraCurso();
stringobtemSemestre();
voidconfiguraSemestre)(;
);
#endif


Sobre o código, assinale a alternativa correta.

Alternativas
Comentários
  • AJUDA NA FORMATAÇÃO AI QCONCURSO!

     class Aluno: public Pessoa {

    Significa que a classe Aluno herda métodos e atributos da classe Pessoa, a principio, pois não vemos classe Pessoa.

    Vamos as alternativas:

    A) Aluno é superclasse da subclasse Pessoa e herda dela atributos e métodos.

    Incorreta, aluno é subclasse;

    B) Aluno é subclasse da superclasse Pessoa e herda dela atributos e métodos.

    Correta, GABARITO DA QUESTÃO

    C) Pessoa é subclasse da superclasse Aluno e herda dela atributos e métodos.

    Incorreta, pessoa é superclasse de Aluno;

    D) Pessoa é superclasse da subclasse Aluno e herda dela atributos e métodos.

    Incorreta, Pessoa estende seus atributos e métodos à subclasse Aluno

    E) Não existe qualquer relação entre as classes Aluno e Pessoa.

    Incorreta, a relação é a de herança;


ID
4180978
Banca
CETRO
Órgão
AMAZUL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Utilizando a linguagem de programação C++, foi definida uma classe Empregado em empregado.hpp. Nessa definição, é encontrada a seguinte linha de comando:

virtualfloatcalculaSalario () ;

Assinale a alternativa que apresenta a propriedade da orientação a objetos implementada utilizando esse comando e o que essa linha de comando indica.

Alternativas

ID
4182691
Banca
IFPI
Órgão
IF-PI
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere a expressão a = (x > y)? ((x > z)? x : z): ((y> z)? y : z) na linguagem de programação C++.


Para obter o valor 4 para a variável a, a combinação das variáveis inteiras x, y e z é

Alternativas
Comentários
  • Questão aborda o operador ternário:

    condição ? se_verdadeiro : se_falso

    A finalidade é fazer o candidato perder tempo, vamos direto a resposta:

    x = 3, y = 4, z = 2.

     a = (x > y)? ((x > z)? x : z): ((y> z)? y : z) 

    a= (x > y)? ((3>2)? 3:2) : ((4>2)?4:2)

    a= (3>4) ? 3 : 4

    a= 4

    GABARITO ALTERNATIVA C


ID
4834102
Banca
Exército
Órgão
EsFCEx
Ano
2020
Provas
Disciplina
Programação
Assuntos

Considere a execução do código C++ a seguir:


#include <iostream>

class Animal {

public:

virtual void falar() = 0;

virtual ~Animal() = default;

};


class Gato final : public Animal {

public:

void falar(){

std::cout << "Miau\n";

}

};


class Cao final : public Animal {

public:

void falar(){

std::cout << "Auau\n";

}

};


int main(){

Animal *a;


a = new Gato;

a->falar();

delete a;


a = new Cao;

a->falar();

delete a;

}


Na programação orientada a objetos, a capacidade de a classe Animal se comportar de forma diferente em cada uma das invocações do método falar(), é chamada de:




Alternativas
Comentários
  • O principal conceito do polimorfismo é a partir da superclasse invocar os mesmo métodos com as mesma assinaturas em classes derivadas, mas com comportamentos diferentes.

    Resposta correta Letra (D)

  • Trata-se de uma questão sobre orientação a objetos.

    O comando da questão pergunta qual a propriedade que permite a classe animal se comportar de forma diferente a cada invocação do método falar().

    Vamos para as alternativas:

    A) Errada. Encapsulamento é a propriedade pela qual um objeto esconde (encapsula) sua implementação interna, deixando conhecida apenas sua interface de comunicação.

    B) Errada. Sobrecarga de método é a técnica que envolve criar vários métodos com o mesmo nome na mesma classe e implementações diferentes. A decisão de qual método seria executado seria feita verificando os parâmetros passados. Não é o caso dessa questão, visto que temos o mesmo método em classes diferentes, e eles são idênticos, inclusive os parâmetros esperados, dessa forma não se tratam de sobrecarga.

    C) Errada. Abstração é um conceito da orientação a objetos que trata da capacidade de extrair dos atores/itens do contexto suas principais características, criando dessa forma, objetos.

    D) Certa. Quando temos duas classes que herdam de um mesmo pai,  e cada uma delas implementa um método de sua sorte, e em tempo de execução o programa decide qual implementação será usada conforme o tipo da classe filha, temos o polimorfismo.

    E) Errada. Herança é o fato de uma classe filha herdar as características da classe pai. Isso, por si só, não garante a capacidade de se utilizar diferentes implementações do mesmo método.


    Gabarito do Professor: Letra D.
  • A resposta já está no enunciado da questão.

     a capacidade de a classe Animal se comportar de forma diferente em cada uma das invocações do método -> Conceito perfeito de polimorfismo


ID
5330404
Banca
Exército
Órgão
EsFCEx
Ano
2020
Provas
Disciplina
Programação
Assuntos

Na linguagem de programação C, para imprimir todos os elementos da matriz “int matriz[10][20];”, iniciando da posição inicial e variando a primeira dimensão após a impressão de cada elemento, pode-se utilizar o código:

Alternativas

ID
5377450
Banca
INSTITUTO AOCP
Órgão
ITEP - RN
Ano
2021
Provas
Disciplina
Programação
Assuntos

Em linguagens de programação, os tipos de dados podem ser classificados como elementares ou estruturados. Em qual das alternativas a seguir há exemplos somente de um mesmo tipo de dado (elementar ou estruturado) reconhecido pela linguagem C++?

Alternativas
Comentários
  • E ai, tudo bom?

    Gabarito: A

    Bons estudos!

    -Quanto MAIOR forem os seus estudos, MENORES são as chances de cair no fracasso.


ID
5377504
Banca
INSTITUTO AOCP
Órgão
ITEP - RN
Ano
2021
Provas
Disciplina
Programação
Assuntos

Analise o código C++ a seguir:

#include "iostream"
using namespace std;

int main() {
string nome;
int idade;
cout << "Digite seu nome: ";
cin >> nome;
cout << "Digite sua idade: ";
cin >> idade;
meuNome(nome, idade);
return 0;
}

Para que a chamada da função meuNome, ocorra livre de erros, assinale a alternativa correta em relação à escrita dessa função.

Alternativas
Comentários
  • GABARITO A

    void meuNome(string Nome, int Idade) {

    cout << "Meu nome é "<< Nome << ". Tenho " << Idade << " anos.\n";

    }

  • Elimina B e D por não indicar tipo de retorno (void).

    C++ é estaticamente tipada, então elimina C e E por não ter o tipo dos parâmetros (string e int)

  • Oi!

    Gabarito: A

    Bons estudos!

    -Não se faz concurso só PARA passar, se faz ATÉ passar.


ID
5385478
Banca
CEPUERJ
Órgão
UERJ
Ano
2021
Provas
Disciplina
Programação
Assuntos

Um tipo de dados define uma coleção de valores de dados e um conjunto de operações pré-definidas sobre ele. O sistema de tipos de uma linguagem de programação define como um tipo é associado com cada expressão na linguagem e inclui suas regras para equivalência e compatibilidade de tipos. Entender seu sistema de tipos é uma das partes mais importantes para entender a semântica de uma linguagem de programação. De acordo com essa afirmação e com os conceitos da linguagem de programação Java, é correto afirmar que:

Alternativas
Comentários
  • a) Java não permite array de tipos diferentes. Quem permite é Python

    b) ENUM = "coleções de constantes nomeadas"

    c) Java não usa ponteiro explicitamente, usa referência

    d) Java e C# não têm herança múltipla. C++ e Python têm

  • Oi, tudo bem?

    Gabarito: B

    Bons estudos!

    -Todo progresso acontece fora da zona de conforto. – Michael John Bobak


ID
5445547
Banca
VUNESP
Órgão
EsFCEx
Ano
2021
Provas
Disciplina
Programação
Assuntos

Na linguagem de programação C++, as heranças de classes podem ser do tipo public, protected e private. Ao derivar uma classe de uma classe básica usando herança do tipo protected, os membros public e protected da classe básica se tornam, respectivamente, na classe derivada,

Alternativas
Comentários
  • Tipo de acesso:

    public : não altera a visibilidade dos membros da classe

    private : herda os membros public e protected como privados

    protected : herda os membros public e protected como protegidos

    Resposta correta letra (A)