Prévia do material em texto
<p>“A primeira versão oficial do C++ apareceu em 1985, juntamente com o livro “The C++ Programming Language”,</p><p>que esclareceu vários pontos sobre o C++. Em 1989, foi lançada uma segunda versão da linguagem, com acréscimo</p><p>das características: Herança múltipla, classes abstratas, métodos estáticos, métodos constantes e membros</p><p>protegidos, incrementando também um suporte de orientação a objeto. Um ano depois foi lançado o livro “The</p><p>Annotated C++ Reference Manual”, que se tornou uma base”. Com base nesse assunto, analise as sentenças a</p><p>seguir:</p><p>I- Nem todo código em linguagem C++ possui uma estrutura padrão onde é realizada a declaração das instruções e</p><p>variáveis.</p><p>II- É dentro da função “structure” que a execução principal do código em C++ está inserida.</p><p>III- Apesar de eventualmente existirem desvios, é nela que são declaradas as variáveis, estruturas de repetição,</p><p>operadores lógicos e tudo que precisamos para desenvolver um algoritmo em C++.</p><p>Assinale a alternativa CORRETA:</p><p>A Somente a sentença III está correta.</p><p>B As sentenças I e II estão corretas.</p><p>C As sentenças I e III estão corretas.</p><p>D As sentenças II e III estão corretas.</p><p>Stanley B. Lippman documenta em seu livro Inside the C++ Object Model (1996) como compiladores convertem</p><p>código de programas C++ em mapeamentos de memória. Lippman trabalhou implementando e mantendo o C-front,</p><p>a implementação original do C++ nos Bell Labs. Stroustrup sempre desejou que o C++ fosse mantido como uma</p><p>linguagem de especificação pequena, apesar de pressões externas para adições de novas funcionalidades na</p><p>especificação da própria linguagem ao invés da codificação de novas bibliotecas para a biblioteca padrão. Brian</p><p>Kernighan notou que enquanto em C existe geralmente uma maneira de resolver problemas, em C++ existem</p><p>várias.</p><p>Com base nesse contexto, assinale a alternativa CORRETA:</p><p>A A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais como: asm,</p><p>continue, goto, term etc.</p><p>B A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais como: asm,</p><p>structure, goto, short etc.</p><p>C A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais como: asm,</p><p>continue, goto, short etc.</p><p>D A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais como: asm,</p><p>continue,born, short etc.</p><p>1</p><p>2</p><p>1 of 5</p><p>As variáveis estão por toda parte dentro de um código em C++, sendo importante denotar o tipo correto e também</p><p>um nome adequado para a identificar. O nome pelo qual referenciamos uma variável é conhecido como</p><p>identificador. Para escolher um identificador adequado para uma variável precisamos nos ater a algumas regras</p><p>presentes.</p><p>Com base nesse contexto, assinale a alternativa CORRETA:</p><p>A Primeiro, não é possível iniciar o identificador de uma variável com números. Todo identificador deve iniciar</p><p>com uma letra ou até mesmo o underline.</p><p>B Primeiro, não é possível iniciar o identificador de uma variável com números. Todo identificador deve iniciar</p><p>com uma letra ou até mesmo o main.</p><p>C Primeiro, não é possível iniciar o identificador de uma variável com números. Todo identificador deve iniciar</p><p>com uma letra ou até mesmo o bool.</p><p>D Primeiro, não é possível iniciar o identificador de uma variável com números. Todo identificador deve iniciar</p><p>com uma letra ou até mesmo o char.</p><p>Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do tempo. Sua primeira adição</p><p>foi a biblioteca de E/S, e posteriormente a Standard Template Library (STL); ambas tornaram-se algumas das</p><p>principais funcionalidades que distanciaram a linguagem em relação a C. Criada primordialmente</p><p>na HP por Alexander Stepanov no início da década de 1990 para explorar os potenciais da programação genérica, a</p><p>STL foi apresentada a um comitê unificado ANSI e ISO em 1993 à convite de Andrew Koenig. Após uma proposta</p><p>formal na reunião do ano seguinte, a biblioteca recebe o aval do comitê.</p><p>Com base nesse contexto, assinale a alternativa CORRETA:</p><p>A Enquanto o valor de uma variável pode mudar a qualquer momento durante a execução de um código, o valor</p><p>das constantes permanece inalterado do começo ao fim da execução.</p><p>B Enquanto o valor de uma string pode mudar a qualquer momento durante a execução de um código, o valor das</p><p>variáveis permanece inalterado do começo ao fim da execução.</p><p>C Enquanto o valor de um inteiro pode mudar a qualquer momento durante a execução de um código, o valor das</p><p>constantes permanece inalterado do começo ao fim da execução.</p><p>D Enquanto o valor de uma constante pode mudar a qualquer momento durante a execução de um código, o valor</p><p>das variáveis permanece inalterado do começo ao fim da execução.</p><p>A linguagem C é mais complicada, e tem de se ter mais atenção a erros de lógica, porém, é mais fácil corrigir os</p><p>erros que em C++, pois muitas das sintaxes do C++ são sutis, e quando se erra alguma coisa mínima, o código</p><p>simplesmente não funciona, ou em caso de erros menores, o código passa a apresentar problemas muito difíceis de</p><p>identificar. Alguns dos mais conhecidos programas são feitos em C++, ou parte dos seus códigos são nessa</p><p>linguagem. Alguns deles são: Adobe Photoshop, MySQL, Mozilla Firefox, Internet Explorer, Microsoft Windows,</p><p>entre vários outros.</p><p>Com base nesse assunto, analise as sentenças a seguir:</p><p>I- Em linguagens de alto nível como é o caso do Assembly, é comum armazenarmos dados em variáveis, ao invés</p><p>de registradores.</p><p>II- Uma constante é um endereço de memória utilizado para armazenar temporariamente um dado. Apesar de ser</p><p>possível referenciar diretamente o endereço de memória da constante, é comum deixarmos essa escolha por conta</p><p>do compilador.</p><p>III- Apesar dos tipos de dados serem essencialmente iguais aos estudados a nível de máquina, existe uma maneira</p><p>diferente de tratá-los utilizando a linguagem C++.</p><p>3</p><p>4</p><p>5</p><p>2 of 5</p><p>Assinale a alternativa CORRETA:</p><p>A As sentenças II e III estão corretas.</p><p>B Somente a sentença II está correta.</p><p>C As sentenças I e III estão corretas.</p><p>D Somente a sentença III está correta.</p><p>Apesar de ainda ser requerida em algumas áreas específicas, e ser especialmente útil para aprender a arquitetura de</p><p>processadores, a linguagem Assembly não é mais tão utilizada assim na programação de microcontroladores. No</p><p>lugar dela, a linguagem C++ está entre as mais utilizadas para a programação de microcontroladores.</p><p>Com base nesse contexto, assinale a alternativa CORRETA:</p><p>A</p><p>Além de ser uma linguagem de baixo nível, a linguagem C++ possui a vantagem de possuir códigos simples e</p><p>eficientes, além também de possuir recursos como orientação a objetos, tratamento de exceções e coleta de lixo</p><p>de memória.</p><p>B</p><p>Além de ser uma linguagem de médio nível, a linguagem C++ possui a vantagem de possuir códigos simples e</p><p>eficientes, além também de possuir recursos como orientação a objetos, tratamento de exceções e coleta de lixo</p><p>de memória.</p><p>C</p><p>Além de ser uma linguagem de alto nível, a linguagem C++ possui a vantagem de possuir códigos simples e</p><p>eficientes, além também de possuir recursos como orientação a objetos, tratamento de exceções e coleta de lixo</p><p>de memória.</p><p>D</p><p>Além de ser uma linguagem sem nível, a linguagem C++ possui a vantagem de possuir códigos simples e</p><p>eficientes, além também de possuir recursos como orientação a objetos, tratamento de exceções e coleta de lixo</p><p>de memória.</p><p>6</p><p>3 of 5</p><p>C++ é uma linguagem de programação compilada multiparadigma, ou seja, seu suporte inclui</p><p>linguagem imperativa, orientada a objetos e genérica, e de uso geral. Desde os anos 1990 é uma das linguagens</p><p>comerciais mais populares, sendo bastante usada também na academia por seu grande desempenho e base de</p><p>utilizadores. Ela é utilizada na programação de microcontroladores, seguida pela linguagem Assembly. Com base</p><p>nesse contexto, classifique V para as sentenças verdadeiras e F para as falsas:</p><p>( ) Um tipo de dado na linguagem C++ é o inteiro (denotado por int).</p><p>( ) O dado Flutuante na linguagem C++ é utilizado para armazenar</p><p>dados numéricos positivos e sem casas</p><p>decimais.</p><p>( ) O dado Lógico é utilizado para armazenar números inteiros expressos por vírgula, ou seja, os famosos números</p><p>decimais.</p><p>( ) Uma variável do tipo float utiliza 32 bits de memória.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>A F - V - F - V.</p><p>B V - F - F - V.</p><p>C F - V - V - F.</p><p>D V - F - V - F.</p><p>Um exemplo tanto de software como hardware livre, como já sabemos, é a placa de desenvolvimento Arduino.</p><p>Nesse projeto, tanto o esquema elétrico da placa, como o ambiente de desenvolvimento integrado (IDE) estão</p><p>disponíveis e podem ser utilizados por terceiros. Dessa forma, poderíamos simplesmente imprimir o circuito</p><p>impresso (PCB) da placa e utilizando o conhecimento de hardware e software disponível, montar nossa própria</p><p>placa Arduino. Com base nesse contexto, classifique V para as sentenças verdadeiras e F para as falsas:</p><p>( ) A marca Arduino não possui direitos autorais, sendo possível utilizar exatamente o mesmo nome e a logo da</p><p>empresa.</p><p>( ) O termo open-source afirma apenas que o código está aberto para a comunidade.</p><p>( ) Internet das Coisas representa um velho paradigma em que os objetos do dia a dia passam a estar conectados à</p><p>Internet.</p><p>( ) O software livre apresenta uma série de benefícios como: custo reduzido de desenvolvimento, maior</p><p>confiabilidade, independência de fornecedores e um desenvolvimento mais rápido.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>A V - V - F - F.</p><p>B V - F - F - V.</p><p>C F - V - V - F</p><p>D F - V - F - V.</p><p>7</p><p>8</p><p>9</p><p>4 of 5</p><p>A biblioteca padrão do C++ incorpora a biblioteca padrão do C, com algumas pequenas modificações, para</p><p>trabalhar melhor com as novas funcionalidades criadas pela linguagem. Outra grande parte da biblioteca é composta</p><p>pela biblioteca padrão de gabaritos. Ela fornece ferramentas úteis como containers (vetores, listas, entre</p><p>outros), algoritmos (filtragem de elementos de container, busca, ordenação, entre outros) e iteradores (ponteiros</p><p>inteligentes genéricos para acessar tais containers e interligá-los aos algoritmos).</p><p>Com base nesse contexto, assinale a alternativa CORRETA:</p><p>A Outro fato que precisamos nos atentar é que a linguagem C++ é o que chamamos de In Sensitive. Isso indica</p><p>que a mudança entre maiúsculas e minúscula muda totalmente o significado do elemento.</p><p>B Outro fato que precisamos nos atentar é que a linguagem C++ é o que chamamos de Case Sensitive. Isso indica</p><p>que a mudança entre maiúsculas e minúscula muda totalmente o significado do elemento.</p><p>C Outro fato que precisamos nos atentar é que a linguagem C++ é o que chamamos de Out Sensitive. Isso indica</p><p>que a mudança entre maiúsculas e minúscula muda totalmente o significado do elemento.</p><p>D Outro fato que precisamos nos atentar é que a linguagem C++ é o que chamamos de Term Sensitive. Isso indica</p><p>que a mudança entre maiúsculas e minúscula muda totalmente o significado do elemento.</p><p>No livro In The Design and Evolution of C++ (1994), Bjarne Stroustrup descreve algumas regras que ele utiliza</p><p>para desenvolver a linguagem. Analise essas regras a seguir:</p><p>- C++ é desenvolvido para ser uma linguagem tipada estaticamente e de propósito geral que é tão eficiente e portátil</p><p>quanto o C.</p><p>- C++ é desenvolvido para suportar múltiplos paradigmas.</p><p>- C++ é desenvolvido para fornecer ao programador escolhas, mesmo que seja possível ao programador escolher a</p><p>opção errada.</p><p>- C++ é desenvolvido para ser o mais compatível com C possível, fornecendo transições simples para código C.</p><p>- C++ evita fornecer facilidades que são específicas a certas plataformas ou a certos grupos de desenvolvedores.</p><p>- C++ não exige overhead para facilidades que não são utilizadas.</p><p>- C++ é desenvolvido para ser utilizado mesmo sem um ambiente de desenvolvimento sofisticado.</p><p>Com base nesse contexto, assinale a alternativa CORRETA:</p><p>A Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como *, @, ou & em nenhuma</p><p>parte do identificador da variável.</p><p>B Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como $, @, ou # em nenhuma</p><p>parte do identificador da variável</p><p>C Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como $, %, ou & em nenhuma</p><p>parte do identificador da variável.</p><p>D Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como *, %, ou # em nenhuma</p><p>parte do identificador da variável.</p><p>10</p><p>5 of 5</p>