Prévia do material em texto
<p>Prova Impressa</p><p>GABARITO | Avaliação II - Individual (Cod.:991920)</p><p>Peso da Avaliação 2,00</p><p>Prova 88001990</p><p>Qtd. de Questões 10</p><p>Acertos/Erros 10/0</p><p>Nota 10,00</p><p>Assim como a linguagem, sua biblioteca padrão também sofreu melhorias ao longo do tempo. Sua</p><p>primeira adição foi a biblioteca de E/S, e posteriormente a Standard Template Library (STL); ambas</p><p>tornaram-se algumas das principais funcionalidades que distanciaram a linguagem em relação a C.</p><p>Criada primordialmente na HP por Alexander Stepanov no início da década de 1990 para explorar os</p><p>potenciais da programação genérica, a STL foi apresentada a um comitê</p><p>unificado ANSI e ISO em 1993 à convite de Andrew Koenig. Após uma proposta formal na reunião</p><p>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</p><p>código, o valor das constantes permanece inalterado do começo ao fim da execução.</p><p>B Enquanto o valor de um inteiro pode mudar a qualquer momento durante a execução de um</p><p>código, o valor das constantes permanece inalterado do começo ao fim da execução.</p><p>C Enquanto o valor de uma string pode mudar a qualquer momento durante a execução de um</p><p>código, o valor das variáveis 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</p><p>código, o valor das variáveis permanece inalterado do começo ao fim da execução.</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</p><p>linguagens comerciais mais populares, sendo bastante usada também na academia por seu grande</p><p>desempenho e base de utilizadores. Ela é utilizada na programação de microcontroladores, seguida</p><p>pela linguagem Assembly. Com base nesse contexto, classifique V para as sentenças verdadeiras e F</p><p>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 dados numéricos positivos e sem</p><p>casas decimais.</p><p>( ) O dado Lógico é utilizado para armazenar números inteiros expressos por vírgula, ou seja, os</p><p>famosos números 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 - V - F.</p><p>B V - F - V - F.</p><p>C V - F - F - V.</p><p>D F - V - F - V.</p><p>VOLTAR</p><p>A+ Alterar modo de visualização</p><p>1</p><p>2</p><p>18/09/2024, 10:29 Avaliação II - Individual</p><p>about:blank 1/5</p><p>Stanley B. Lippman documenta em seu livro Inside the C++ Object Model (1996)</p><p>como compiladores convertem código de programas C++ em mapeamentos de memória. Lippman</p><p>trabalhou implementando e mantendo o C-front, a implementação original do C++ nos Bell Labs.</p><p>Stroustrup sempre desejou que o C++ fosse mantido como uma linguagem de especificação pequena,</p><p>apesar de pressões externas para adições de novas funcionalidades na especificação da própria</p><p>linguagem ao invés da codificação de novas bibliotecas para a biblioteca padrão. Brian Kernighan</p><p>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</p><p>como: asm, continue,born, short etc.</p><p>B A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais</p><p>como: asm, continue, goto, term etc.</p><p>C A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais</p><p>como: asm, structure, goto, short etc.</p><p>D A linguagem C++ tem algumas palavras reservadas que também não podem ser utilizadas, tais</p><p>como: asm, continue, goto, short etc.</p><p>As variáveis estão por toda parte dentro de um código em C++, sendo importante denotar o tipo</p><p>correto e também um nome adequado para a identificar. O nome pelo qual referenciamos uma</p><p>variável é conhecido como identificador. Para escolher um identificador adequado para uma variável</p><p>precisamos nos ater a algumas regras 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</p><p>deve iniciar com uma letra ou até mesmo o bool.</p><p>B Primeiro, não é possível iniciar o identificador de uma variável com números. Todo identificador</p><p>deve iniciar 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</p><p>deve iniciar com uma letra ou até mesmo o underline.</p><p>D Primeiro, não é possível iniciar o identificador de uma variável com números. Todo identificador</p><p>deve iniciar com uma letra ou até mesmo o char.</p><p>Apesar de ainda ser requerida em algumas áreas específicas, e ser especialmente útil para aprender a</p><p>arquitetura de processadores, a linguagem Assembly não é mais tão utilizada assim na programação</p><p>de microcontroladores. No lugar dela, a linguagem C++ está entre as mais utilizadas para a</p><p>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 médio nível, a linguagem C++ possui a vantagem de possuir</p><p>códigos simples e eficientes, além também de possuir recursos como orientação a objetos,</p><p>tratamento de exceções e coleta de lixo de memória.</p><p>3</p><p>4</p><p>5</p><p>18/09/2024, 10:29 Avaliação II - Individual</p><p>about:blank 2/5</p><p>B</p><p>Além de ser uma linguagem de baixo nível, a linguagem C++ possui a vantagem de possuir</p><p>códigos simples e eficientes, além também de possuir recursos como orientação a objetos,</p><p>tratamento de exceções e coleta de lixo 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</p><p>simples e eficientes, além também de possuir recursos como orientação a objetos, tratamento de</p><p>exceções e coleta de lixo 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</p><p>simples e eficientes, além também de possuir recursos como orientação a objetos, tratamento de</p><p>exceções e coleta de lixo de memória.</p><p>No livro In The Design and Evolution of C++ (1994), Bjarne Stroustrup descreve algumas regras que</p><p>ele utiliza 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</p><p>eficiente e portátil 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</p><p>programador escolher a opção errada.</p><p>- C++ é desenvolvido para ser o mais compatível com C possível, fornecendo transições simples para</p><p>código C.</p><p>- C++ evita fornecer facilidades que são específicas a certas plataformas ou a certos grupos de</p><p>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 #</p><p>em nenhuma parte do identificador da variável.</p><p>B Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como $, @, ou #</p><p>em nenhuma parte do identificador da variável</p><p>C Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como *, @, ou &</p><p>em nenhuma parte do identificador da variável.</p><p>D Outra regra na linguagem C++ é que não podemos utilizar caracteres especiais como $, %, ou &</p><p>em nenhuma parte do identificador da variável.</p><p>“A primeira versão oficial do C++ apareceu em 1985, juntamente com o livro “The C++</p><p>Programming Language”, que esclareceu vários pontos sobre o C++. Em 1989, foi lançada uma</p><p>segunda versão da linguagem, com acréscimo das características: Herança múltipla, classes abstratas,</p><p>métodos estáticos, métodos constantes e membros</p><p>protegidos, incrementando também um suporte de</p><p>orientação a objeto. Um ano depois foi lançado o livro “The Annotated C++ Reference Manual”, que</p><p>se tornou uma base”. Com base nesse assunto, analise as sentenças a seguir:</p><p>I- Nem todo código em linguagem C++ possui uma estrutura padrão onde é realizada a declaração das</p><p>instruções e 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</p><p>repetição, operadores lógicos e tudo que precisamos para desenvolver um algoritmo em C++.</p><p>Assinale a alternativa CORRETA:</p><p>6</p><p>7</p><p>18/09/2024, 10:29 Avaliação II - Individual</p><p>about:blank 3/5</p><p>A As sentenças I e II estão corretas.</p><p>B Somente a sentença III está correta.</p><p>C As sentenças II e III estão corretas.</p><p>D As sentenças I e III estão corretas.</p><p>Linguagens de programação são responsáveis por transmitir instruções para o computador, para que</p><p>certas tarefas possam ser realizadas. Os computadores entendem apenas sequências de números</p><p>binários, e para um ser humano seria difícil decorar inúmeras combinações desses números como</p><p>representações de instruções. Para que a transmissão de instruções para o computador ocorra de</p><p>maneira mais fácil, foram criadas as linguagens de programação. Desde o surgimento da primeira</p><p>linguagem de programação (Assembly), na década de 1950, várias outras surgiram. Com base nesse</p><p>contexto, classifique V para as sentenças verdadeiras e F para as falsas:</p><p>( ) Estruturas de repetição são utilizadas quando um determinado bloco de código deve ser</p><p>executado várias vezes, evitando, assim, que as mesmas instruções sejam declaradas repetidamente.</p><p>( ) Ponteiros oferecem a possibilidade de armazenar vários elementos de um mesmo tipo em uma</p><p>única variável. Neles, cada elemento é indexado através de um índice.</p><p>( ) Strings são basicamente vetores de caracteres. Cada string deve terminar com o caractere nulo,</p><p>sendo necessário inclui-lo ao contar a quantidade de elementos da string.</p><p>( ) Constantes são trechos de código separados intencionalmente, de modo a serem reaproveitados</p><p>em vários pontos do código.</p><p>Assinale a alternativa que apresenta a sequência CORRETA:</p><p>A F - F - V - V.</p><p>B V - F - V - F.</p><p>C F - V - F - V.</p><p>D V - V - F - F.</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</p><p>corrigir os erros que em C++, pois muitas das sintaxes do C++ são sutis, e quando se erra alguma</p><p>coisa mínima, o código simplesmente não funciona, ou em caso de erros menores, o código passa a</p><p>apresentar problemas muito difíceis de identificar. Alguns dos mais conhecidos programas são feitos</p><p>em C++, ou parte dos seus códigos são nessa linguagem. Alguns deles são: Adobe Photoshop,</p><p>MySQL, Mozilla Firefox, Internet Explorer, Microsoft Windows, 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</p><p>variáveis, ao invés de registradores.</p><p>II- Uma constante é um endereço de memória utilizado para armazenar temporariamente um dado.</p><p>Apesar de ser possível referenciar diretamente o endereço de memória da constante, é comum</p><p>deixarmos essa escolha por conta do compilador.</p><p>III- Apesar dos tipos de dados serem essencialmente iguais aos estudados a nível de máquina, existe</p><p>uma maneira diferente de tratá-los utilizando a linguagem C++.</p><p>Assinale a alternativa CORRETA:</p><p>8</p><p>9</p><p>18/09/2024, 10:29 Avaliação II - Individual</p><p>about:blank 4/5</p><p>A Somente a sentença III está correta.</p><p>B As sentenças I e III estão corretas.</p><p>C As sentenças II e III estão corretas.</p><p>D Somente a sentença II está correta.</p><p>Os algoritmos são uma maneira de formalizar uma sequência de passos para execução de uma</p><p>atividade. A formalização é necessária para que diferentes pessoas possam entender e repetir os</p><p>passos para chegar à solução do problema. São exemplos: executar a operação de soma em uma</p><p>calculadora; fazer uma transferência bancária; ajustar o horário no celular; programar um DVD para</p><p>gravar um programa etc. Com base nesse assunto, analise as sentenças a seguir:</p><p>I- A descrição é a forma mais próxima de se representar um algoritmo, utilizando assim uma</p><p>linguagem genérica próxima da linguagem escrita, mas estruturada em formato de código.</p><p>II- No pseudocódigo, o algoritmo é dito diretamente em linguagem escrita. É o caso das receitas e</p><p>manuais que descrevemos anteriormente, sendo especialmente útil para explicar como o algoritmo</p><p>funciona através de linguagem escrita.</p><p>III- O fluxograma é a representação gráfica do algoritmo, sendo utilizadas formas e setas para indicar</p><p>o sentido de execução das instruções e as decisões tomadas pelo algoritmo.</p><p>Assinale a alternativa CORRETA:</p><p>A As sentenças I e II estão corretas.</p><p>B As sentenças I e III estão corretas.</p><p>C Somente a sentença III está correta.</p><p>D As sentenças II e III estão corretas.</p><p>10</p><p>Imprimir</p><p>18/09/2024, 10:29 Avaliação II - Individual</p><p>about:blank 5/5</p>