Baixe o app para aproveitar ainda mais
Prévia do material em texto
AGORATIMO 1. Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : Apenas pseudolinguagem Linguagem natural, fluxograma e pseudolinguagem Linguagem gráfica e pseudolinguagem Linguagem natural e pseudolinguagem Linguagem natural e linguagem gráfica Explicação: Por definição e aula de introdução e formas de representação de algoritmo. 2. A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de: Linguagem de alto nível Programa Linguagem de baixo nível Linguagem de Máquina Compilador Explicação: Falso. É um tradutor. Compilador FAlsa. Linguagem de zeros e uns. Linguagem de Máquina VErdadeiro Programa Falso. Usada para escrever programas Linguagem de alto nível Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly Linguagem de baixo nível 3. Assinale a alternativa correta relacionada à característica de um algoritmo: Teste de Mesa serve para receber os comandos de entrada. A execução de um algoritmo é feita sequencialmente. Valores de entrada são recebidos através do monitor. Para cada variável pode ser definido mais de um tipo de dado. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. Explicação: Verdadeira A execução de um algoritmo é feita sequencialmente. Falso. Entrada é via teclado ou via arquivo, o que aqui não é o caso. Valores de entrada são recebidos através do monitor. Falso. Apenas um tipo de dado. Para cada variável pode ser definido mais de um tipo de dado. Falso. Teste de mesa serve para fazer um passo a passo. Teste de Mesa serve para receber os comandos de entrada. Falso. Tipo real aceita número com casas decimais ou inteiros. Tipo inteiro aceita apenas valores inteiros. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. 4. Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução. A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações. O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada. No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa. O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos. 5. Considerando as afirmativas a seguir em relação a representação de algoritmos: I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. Podemos afirmar que: As alternativas I e III são CORRETAS Todas as alternativas são CORRETAS Apenas a alternativa I é CORRETA Nenhuma das opções anteriores As alternativas II e III são INCORRETAS Explicação: Analisando cada afirmativa... I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; VERDADEIRO II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; FALSO III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. VERDADEIRO Conclusão : As afirmativas I e III estão corretas. 6. Sobre algoritmo, marque a opção correta. É uma etapa posterior à programação da solução de um problema. É uma forma de ensinar o computador. É um hardware especifico para resolver problemas. É a solução teórica, passo a passo, de um problema. É uma linguagem de programação para computadores. Explicação: Falso. Algoritmo não é linguagem de programação. Exemplo de linguagem de programção : C++ É uma linguagem de programação para computadores. Falso. Algoritmo é um conjunto de passos sem ambiguidade que vão traduzir a solução de um problema. O algoritmo poderá virar um programa, que poderá ou não "ensinar" o computador. É uma forma de ensinar o computador. Verdadeiro É a solução teórica, passo a passo, de um problema. Falso. É uma etapa anterior à programação, ou seja, à criação de programa. É uma etapa posterior à programação da solução de um problema. Falso. Algoritmo pode virar um programa. E programa é software e não hardware. É um hardware especifico para resolver problemas. 7. A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser realizada é chamada de: Algoritmo Diagrama Linguagem de Programação Fluxograma Pseudocódigo Explicação: Falso. Não usa representação gráfica Pseudocódigo Falso. Algoritmo não é representação de algoritmo Algoritmo FAlso. Linguagem de programação é usada para escrever programa. Linguagem de Programação Fluxograma FAlso. Que diagrama ? Diagrama 8. Analise as afirmativas a seguir em relação a representação de algoritmos: I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. Podemos afirmar que: Apenas as alternativas II e III são INCORRETAS Apenas a alternativa I é CORRETA Apenas as alternativas I e III são CORRETAS Apenas as alternativas I e II são CORRETAS Todas as alternativas são CORRETAS Explicação: Analisando cada afirmativa : I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; Verdadeira. O fluxograma usa símbolos para E/S, atribuição e outros comandos. II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; Falsa. Pseudocódigo não tem nada de representação gráfica. III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. VErdadeira. Através de alguma linguagem de programação, escrevemos programas. Sobre o FLUXOGRAMA abaixo podemos afirmar que : Apresenta na sua lógica a estrutura básica DECISÃO Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO Apresenta na sua lógica a estrutura básica REPETIÇÃO Apresenta na sua lógica as três estruturas básicas de programação Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO Explicação: Justificativas das opções : >> Apresenta na sua lógica as três estruturas básicas de programação . Falso. Não apresenta repetição >> Apresenta na sua lógica a estrutura básica REPETIÇÃO Falso. Apresenta apenas entrada de dados, saída de dados, atribuição, condicional composto. >> Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO Falso. Não apresenta repetição. >> Apresenta na sua lógica a estrutura básica DECISÃO. Verdadeiro. Veja o uso do losango.>> Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO Falso. Não apresenta repetição. 2. Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ... Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um conjunto de comandos que representam tarefas que serão compreendidas por um computador. Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Explicação: Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Falso. Para escrever programa usamos linguagem de programação e não pseudolinguagem. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. Falso. Para escrever programa usamos linguagem de programação e não pseudolinguagem. Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de instruções/funções que representam tarefas que serão apenas executadas por um computador. Falso. Para escrever programa usamos linguagem de programação e não linguagem gráfica. Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. Para escrever programa usamos linguagem de programação e não linguagem natural. Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um conjunto de comandos que representam tarefas que serão compreendidas por um computador. 3. Observe as assertivas a seguir acerca dos fluxogramas: I. Os mesmos são a representação gráfica dos algoritmos. II. Para desenhá-los, é preciso adotar uma simbologia padrão pré-determinada. III. Existem programas que permitem que os mesmos sejam desenhados no computador. Assinale a seguir a alternativa que indica as afirmações corretas: II e III. I e II. I, II e III. I e III Todas são falsas. 4. Assinale a opção correta. Um programa é um algoritmo codificado em linguagem natural. Um programa é um algoritmo codificado em uma linguagem de programação. Programa e fluxograma são sinônimos. Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação. Um programa é um algoritmo codificado em uma pseudolinguagem. Explicação: Um programa é um algoritmo codificado em uma linguagem de programação. Verdadeira Falsa. Programa é código escrito em alguma linguagem de programação. Fluxograma é uma representação gráfica de algoritmo. Programa e fluxograma são sinônimos. Falso. Programa é um algoritmo codificado ou escrito em alguma linguagem de programação. Um programa é um algoritmo codificado em linguagem natural. Falso. Programa é um algoritmo codificado ou escrito em alguma linguagem de programação. Um programa é um algoritmo codificado em uma pseudolinguagem. Falso. É fundamental o uso da lógica de programação além de se conhecer a linguagem de programação. Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a linguagem de programação. 5. Sobre fluxograma, assina a opção correta. É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade . É usado na escrita de pseudolinguagens, como o Portugol. É uma forma de se representar o uso de hardware no programa. É uma forma de se escrever programas em qualquer linguagem de programação. Explicação: É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como ensinado na aula 1 online. 6. Sobre Português Estruturado, assinale a opção correta : O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases simples e estruturas que possuem um significado muito bem definido. É igual ao fluxograma É igual à linguagem de programação na língua portuguesa É igual a uma carta para um encarregado É igual à linguagem natural ou narrativa Explicação: Definição direta e objetiva dada na aula 1. 7. Imagine que você vai receber um aumento e deseja descobrir qual será seu novo salário a partir de seu salário atual e do percentual de aumento a ser concedido por sua empresa. É preciso somar o salário atual ao percentual de aumento, que deve ser calculado multiplicando-se esse percentual pelo salário atual e dividindo-se por 100. Que fórmula realiza esse cálculo? novoSal <- salAtual + (salAtual*percAumento) novoSal <- salAtual + (salAtual*percAumento/100) novoSal <- salAtual + (percAumento/100) novoSal <- (salAtual*percAumento/100) novoSal <- salAtual + (salAtual*100) 8. Com base nos conceitos de algoritmos, lógica de programação e linguagens de programação, é correto afirmar que: As linguagens de programação possibilitam a codificação de um determinado algoritmo, de acordo com um conjunto de regras específico. Os algoritmos correspondem, estritamente, aos conjuntos de dados e informações que são tratados em um determinado processamento. As linguagens de programação possuem um conjunto de regras flexíveis para a representação dos comandos de um programa. Lógica de programação corresponde à representação gráfica de um determinado algoritmo. Os três conceitos correspondem às únicas formas de representação da solução de um determinado problema. Explicação: 1ª. opção : Falso. As representações de algoritmos são linguagem natural, fluxograma e pseudocódigo. 2ª. opção . Falso. Fluxograma corresponde à representação gráfica de algoritmos. 3ª. opção. Verdadeira. De acordo com o ensinado na aula 1. 4ª. opção. Falso. Em algoritmos se vê também os comandos, além dos dados. 5ª. opção. Falso. As regras não são flexíveis. Temos que seguir corretamente a sintaxe das linguagens na criação de programas. ] 1. Assinale a opção que, corretamente, mostra exemplos de linguagens de programação. C++, Java, portugol C++, Java, C# C++, C# e fluxograma fluxograma, português estruturado, C português estruturado, C++, Java Explicação: Exemplos dados na aula 1. 2. Algoritmo pode ser definido como a descrição dos passos para a execução de uma tarefa. Existem algumas formas distintas de representação de algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para representar linguagem Gráfica e P para representar pseudocódigos, pode-se relacionar estasformas de representação de algoritmos com as seguintes afirmações: ( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais. ( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação. ( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais. Marque a alternativa que representa a o relacionamento existente entre as afirmações e as formas de representação de algoritmos. N, P, G G, N, P G, P, N N, G, P P, N, G Explicação: Analisando as afirmativas : ( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se restringe apenas a algoritmos computacionais. <<< Fluxograma, por exemplo, que é uma linguagem gráfica >>> ( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da maioria das linguagens de programação. <<< Pseudocódigo >>> ( ) A grande ambiguidade existente nos significados de seus termos é uma restrição a representação aos algoritmos computacionais. <<< Linguagem natural >>> 3. Fluxograma é um "diagrama esquemático que apresenta uma sequência de operações, tal como para um programa de computador ou processo industrial" (in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/dlpo/fluxograma [consultado em 13-08-2014]. Abaixo temos um fluxograma de notas (N1 e N2) obtidas pelo aluno João. Selecione a opção que apresenta os itens de entrada do fluxograma. Reprovado Aprovado Fim Média N1 e N2 Explicação: Logo após o início do algoritmo aparecem N1 e N2 no símbolo que representa entrada de dados. 4. A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é chamada de: Compilador Linguagem de alto nível Programa Linguagem de baixo nível Linguagem de Máquina Explicação: Falso. É um tradutor. Compilador FAlsa. Linguagem de zeros e uns. Linguagem de Máquina VErdadeiro Programa Falso. Usada para escrever programas Linguagem de alto nível Falso. Usada para escrever programas mais próximos da máquina. Exemplo : linguagem assembly Linguagem de baixo nível 5. Analise as afirmativas a seguir em relação a representação de algoritmos: I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. Podemos afirmar que: Apenas as alternativas II e III são INCORRETAS Apenas as alternativas I e II são CORRETAS Todas as alternativas são CORRETAS Apenas a alternativa I é CORRETA Apenas as alternativas I e III são CORRETAS Explicação: Analisando cada afirmativa : I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; Verdadeira. O fluxograma usa símbolos para E/S, atribuição e outros comandos. II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar graficamente o algoritmo; Falsa. Pseudocódigo não tem nada de representação gráfica. III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo real a partir dos algoritmos. VErdadeira. Através de alguma linguagem de programação, escrevemos programas. 6. Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : Linguagem natural e linguagem gráfica Linguagem natural, fluxograma e pseudolinguagem Linguagem gráfica e pseudolinguagem Apenas pseudolinguagem Linguagem natural e pseudolinguagem Explicação: Por definição e aula de introdução e formas de representação de algoritmo. 7. Assinale a alternativa correta relacionada à característica de um algoritmo: A execução de um algoritmo é feita sequencialmente. Teste de Mesa serve para receber os comandos de entrada. Valores de entrada são recebidos através do monitor. Para cada variável pode ser definido mais de um tipo de dado. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. Explicação: Verdadeira A execução de um algoritmo é feita sequencialmente. Falso. Entrada é via teclado ou via arquivo, o que aqui não é o caso. Valores de entrada são recebidos através do monitor. Falso. Apenas um tipo de dado. Para cada variável pode ser definido mais de um tipo de dado. Falso. Teste de mesa serve para fazer um passo a passo. Teste de Mesa serve para receber os comandos de entrada. Falso. Tipo real aceita número com casas decimais ou inteiros. Tipo inteiro aceita apenas valores inteiros. Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. 8. Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que representa exibição de informações. No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre negativa. Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o início e o fim da solução. O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja realizada. O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento e do ano em que estamos. 1. Assinale a opção correta. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Para programar em alto nível é preciso dominar a linguagem binária. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. Explicação: Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Falso. Linguagem binária é com zeros e uns, o que é baixo nível. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Falso. C++ é uma linguagem de programação de alto nível e usa palavras em Inglês. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Falso. Não se tem que dominar a linguagem binária em hipótese alguma. Para programar em alto nível é preciso dominar a linguagem binária. FAlso. O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 2. Em C++ existem quatro tipos básicos, isto é , tipos básicos de dados que podem ser utilizados. Qual é o tipo definido da seguinte maneira: "Qualquer número real, negativo, nulo ou positivo." real bool char int float Explicação: Conforme gabarito e aula de tipos primitivos de dados 3. Assinale a opção correta : O tipo int serve para variáveis inteiras ou reais, de pouca precisão Para declarar uma variável podemos usar o tipo da variável ou não. Não se pode usar o underscore ou sublinhado em nome de variável, mas apenasletras e dígitos. Quando declaramos variáveis do mesmo tipo usamos o ponto e vírgula para separá-las. Se precisamos de armazenar 1 caracter usamos o tipo char na declaração da variável Explicação: De acordo com as descrições e características apresentadas na aula sobre variáveis. 4. Assinale a opção correta. Sobre variáveis é correto afirmar que ... nomes de variáveis sempre podem iniciar com aspa. uma variável ocupa um espaço em memória e devemos usar, normalmente, um tipo de dados ao declará-la. o nome de uma variável sempre pode começar com acento. palavras reservadas podem ser usadas para nome de variáveis. uma variável ocupa um espaço em memória e nunca se usa um tipo de dados ao declará-la. Explicação: 1ª. opção : Verdadeiro. De acordo com definição da aula e exemplos vistos nas aulas 2 e 3 e demais aulas. 2ª. opção : Falso. Vide aulas 2, 3 e outras. Palavras reservadas serão de comandos, tipos de dados e não podem ser usadas para nomear variáveis. 3ª. opção : Falso. Nomes de variáveis começam com letra ou _ (sublinhado) 4ª. opção : Falso. Nomes de variáveis começam com letra ou _ (sublinhado) 5ª. opção. Falso. A partir da aula 2 se vê que variáveis terão um tipo de dados. 5. Sobre a linguagem de programação C++, é correto afirmar que a mesma: I. Não permite a criação de variáveis do tipo lógico; II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas; III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_"); IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja definido. I e II são verdadeiras. I e IV são verdadeiras. II, III e IV são verdadeiras. I, II e III são verdadeiras. II e III são verdadeiras. 6. Quanto à linguagem de programação, marque a opção que determina o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente. Compilação Linkedição Evolução Determinação Orientação Explicação: Compilação é o processo que efetua integralmente a tradução de um programa fonte para o código de máquina, podendo assim ser executado diretamente. 7. Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a alternativa que possui um exemplo de nome INCORRETO: salariofinal num1 cad1- id nota2 nome_aluno Explicação: Falso, pois é nome possível ter letras e underscore nome_aluno Falso, pois é nome possível ter letra e dígito. num1 Verdadeiro, pois não se pode usar hífen em nome de variável. cad1- id Falso, pois é nome possível ter letras. salariofinal Falso, pois é nome possível ter letra e dígito. nota2 8. Os comentários são recursos que podem ser utilizados pelos programadores para: Inserir comandos que serão executados pela máquina Inserir textos explicativos apenas para o programador Inserir textos explicativos apenas para o usuário Inserir comandos que serão traduzidos pelo compilador Inserir diretivas para o compilador Explicação: Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão executados pela máquina Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão traduzidos pelo compilador Verdadeiro Inserir textos explicativos apenas para o programador Falso. O usuário não irá ler o programa. Inserir textos explicativos apenas para o usuário Falso. O compilador irá ignorar o texto explicativo dos comentários. Inserir diretivas para o compilador 1. O linha de programa que representa a ação "processamento" em um algoritmo em pseudolinguagem é: se enquanto programa leia valor <- valor + 1; Explicação: Conteúdo administrado no livro, onde é mostrado a equivalência entre algoritmo e programa em C++. As demais opções não apresentam nenhuma linha de processamento. se indica o início de uma estrutura condicional, enquanto, uma estrutura de repetição e programa não diz nada. Leia é o comando de leitura, para entrada de dados e não processamento. 2. No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? const real PI=3.14; const integer PI=3.14; const int PI=3.14; const float PI=3.14; float PI=3.14; 3. Uma variável pode ser entendida como sendo: Um dispositivo de memória auxiliar. Um elemento da unidade lógica de controle. Um dispositivo de entrada de dados. Um endereço na memória principal. Um dispositivo de saída de dados. Explicação: Analisando cada item : Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de entrada de dados é o teclado. Um dispositivo de entrada de dados. Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de memória auxiliar. Verdadeiro. Um endereço na memória principal. Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de saída de dados é o monitor. Um dispositivo de saída de dados. Falso. Variável ocupa espaço em memória e tem um endereço. Um elemento da unidade lógica de controle. 4. Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o preço a ser pago pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o trecho de declaração de variáveis em C++ que seria necessário em um programa capaz de informar ao cliente o valor a pagar é: real quilo = 34.90; real prato = 0; real valor_pagar = 0; bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; char quilo = 34.90; char prato = 0; char valor_pagar = 0; int quilo = 34.90; int prato = 0; int valor_pagar = 0; float quilo = 34.90; float prato = 0; float valor_pagar = 0; 5. Assinale a opção que apresenta somente nomes válidos para variáveis em C++. CONTA, TOTAL1, data Conta, Total, 5data CONTA, TOTAL1, 1DATA Conta, Total1, DIA-MÊS-ANO 1conta, 2total, 3data Explicação: Falsa. Não se pode começar nome de variável com dígito. CONTA, TOTAL1, 1DATA Falsa. Não se pode começar nome de variável com dígito. Conta, Total, 5data Verdadeiro CONTA, TOTAL1, data Falsa. Não se pode pôr acento ou usar hífen em nome de variável. Conta, Total1, DIA-MÊS-ANO Falsa. Não se pode começar nome de variável com dígito. 1conta, 2total, 3data 6. As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: palavras código palavras especiais palavras próprias palavras reservadas palavras únicas Explicação: Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 7. Assinale a opção correta. O que quer dizer main ? estruturado, de português estruturado algoritmo principal programa portugol Explicação: Basta saber a tradução. 8. Um menino resolveuabrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 0,50 e R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, mostre a quantia total economizada, como seria a declaração de variáveis necessárias a este programa? bool qtde25, qtde50, qtde1, quantiaTotal; char qtde25, qtde50, qtde1, quantiaTotal; int qtde25, qtde50, qtde1, quantiaTotal; string qtde25, qtde50, qtde1, quantiaTotal; float qtde25, qtde50, qtde1, quantiaTotal; 1. Assinale a opção correta. Declarando e atribuindo um valor à uma variável booleana em C++ : boolean x = true ; Uma possível declaração de uma variável inteira em C++ : x int; Uma possível declaração de uma variável booleana em C++ : boolean x; Declarando e atribuindo um valor à uma variável booleana em C++ : bool x = "true"; As variáveis do tipo bool podem ser true ou false. Explicação: DE acordo com a sintaxe da linguagem C++ 2. Considerando a linguagem C++, assinale a opção correta : A linguagem C++ diferencia maiúsculas de minúsculas Nem toda variável precisa ser declarada. Alguns programas em C++ começam com float main e outros com int main Se quisermos declarar uma variável que possa armazenar valores reais, com casas decimais, devemos usar o tipo real na declaração da variável. Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou qualquer outra variação, pois é a mesma coisa. Explicação: BAsta seguir as descrições e características da linguagem C++ na aula sobre variáveis 3. Assinale a opção correta: É o linker que traduz o todo programa feito em C++. Os programas em C++ precisam ser traduzidos para uma linguagem que o computador entenda. Programas em C++ são interpretados e não compilados Não se pode escrever programa em C++ que execute no Mac. Um programa escrito em C++ que executa no Linux não vai executar no Windows. Explicação: Basta seguir a definição de programa dada na aula de conceitos introdutórios. 4. Assinale a opção correta: Para terminar um programa podemos escrever : return; Na linguagem C++ temos que não há distinção entre maiúsculas e minúsculas. Para saída de dados usamos cin com o operador << Sem endentação o programa não compila Todas as instruções de um programa em C++ devem estar entre chaves Explicação: Basta considerar o que é descrito da linguagem na aula 2 5. Assinale a opção correta: Os programas em C++ não possuem palavras reservadas. Os programas em C++ possuem palavras reservadas tais como main e int. São palavras reservadas no C++ : int, real, inteiro, float Não são palavras reservadas em C++ : for, while e do Para terminar um programa em C++ devemos usar retorne 0; Explicação: Explicação dada na aula sobre programa em C++ e palavras reservadas em C++ 6. Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Estrutura de Seleção Variável Comando Enquanto-Faça atribuição Comando PARA Explicação: Necessita de espaço na memória e define o tipo de dado a ser armazenado. Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição. Comando PARA Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de repetição. Comando Enquanto-Faça Verdadeiro Variável Falso. É uma operação ou comando. atribuição Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de seleção, como if ou if/else, por exemplo. Estrutura de Seleção 7. Os comentários são recursos que podem ser utilizados pelos programadores para: Inserir textos explicativos apenas para o programador Inserir textos explicativos apenas para o usuário Inserir comandos que serão executados pela máquina Inserir diretivas para o compilador Inserir comandos que serão traduzidos pelo compilador Explicação: Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão executados pela máquina Falso. Comentário não é comando ou permite inserir comando. Inserir comandos que serão traduzidos pelo compilador Verdadeiro Inserir textos explicativos apenas para o programador Falso. O usuário não irá ler o programa. Inserir textos explicativos apenas para o usuário Falso. O compilador irá ignorar o texto explicativo dos comentários. Inserir diretivas para o compilador 8. Assinale a opção correta. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Para programar em alto nível é preciso dominar a linguagem binária. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. Explicação: Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras conhecidas por nós. Falso. Linguagem binária é com zeros e uns, o que é baixo nível. Dizemos que uma linguagem é de alto nível quando usa linguagem binária. Falso. C++ é uma linguagem de programação de alto nível e usa palavras em Inglês. O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. Falso. Não se tem que dominar a linguagem binária em hipótese alguma. Para programar em alto nível é preciso dominar a linguagem binária. FAlso. O C++ é uma linguagem de alto nível na qual o uso de variáveis é necessário para armazenarmos dados. O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 1. Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. &&, >= e || <, > e >= +, - e * =, > e || &&, || e ~ Explicação: <, > e >= Falso. Nenhum é relacional &&, || e ~ Falso. O único relacional é o > =, > e || Falso. O único relacional é o >= &&, >= e || Falso. Nenhum relacional +, - e * 2. Assinale a opção correta. os operadores matemáticos não tem precedência de uso Os operadores matemáticos são : +, - , *, / e %. As expressões lógicas retornam valores inteiros São operadores lógicos : &&, ||, != São operadores relacionais : = , > , < Explicação: Os operadores matemáticos são : +, - , *, / e %. = VERDADE São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de valor a variável.--> FALSO As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia sobre a soma e subtrção 3. Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de uma determinada disciplina. MEDIA = (AV1 + AV2) / 2; MEDIA = (AV1 ** AV2) / 2; MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 - AV2) / 2; MEDIA = (AV1 * AV2) / 2; Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividirpor 2. 4. Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. (NUMERO<0) && (NUMERO%2!=0) (NUMERO>0) !! (NUMERO%2==0) (NUMERO>0) && (NUMERO%2==0) (NUMERO<0) || (NUMERO%2!=0) (NUMERO>0) || (NUMERO%2==0) Explicação: (NUMERO<0) && (NUMERO%2!=0) pra ser negativo , tem que se menor que zero NUMERO<0 pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 5. Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos realizados em relação à expressão: X * X + Y > Z. Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? - O valor do termo X * X + Y é igual a qual valor ? A expressão é FALSA, e o valor de X * X + Y = 3. A expressão é VERDADEIRA, e o valor de X * X + Y = 5. A expressão é FALSA, e o valor de X * X + Y = 6. A expressão é FALSA, e o valor de X * X + Y = 4. A expressão é VERDADEIRA, e o valor de X * X + Y = 3. Explicação: Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa. - O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3 Resolvendo a expressão : X * X + Y > Z 1 * 1 + 2 dá 1 + 2 que é 3 3 > Z, sendo que Z vale 5 ? FAlsa. 6. Considerando os seguintes conteúdos para as variáveis: a = 2, b = 5 e c = 4 Determine qual das sentenças retornará verdadeiro. pow(c,a) > b * c (b + 2) > (a * c) (b % a) == 0 ((b = 2) == a) a == c Explicação: a == c --> falso, pois a é diferente c (b + 2) > (a * c) -> falso, pois 7 > 8 é falso ((b = 2) == a) , verdade, pois a = 2 7. Assinale a alternativa que apresenta APENAS operadores relacionais. &&, || e ~ =, > e || +, - e * &&, >= e || <, > e >= Explicação: <, > e >= && e || são operadores lógicos na linguagem C++ ~ é operador na lógica matemática para negação &&, || e ~ = é atribuição > relacional || ou lógico =, > e || O único relacional é >= . Os outros dois são operadores lógicos. &&, >= e || Operadores matemáticos +, - e * 8. Observe a tabela da verdade para a expressão A && B || B || A. A B A && B A && B || B A && B || B || A V V V V V F F F F V F V F F F F Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são: F - V - V - F F - F - V - F V - V - V - F V - V - V - V V - F - F - F 1. Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. ((pontos>=10) || (pontos <=20)) ((pontos>=10) # (pontos <=20)) ((pontos>=10) % (pontos <=20)) ((pontos>=10) && (pontos <=20)) ((pontos>=10) ! (pontos <=20)) Explicação: Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a expressão ser verdadeira. Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira. % é para cálculo de resto. # não tem efeito O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa. 2. Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? A ou B e C e não D A && B || C || !D A !! B && C && ||D A || B && C && !D A && B && C && !D A || B ! C ! &&D Explicação: A || B && C && !D || = OU && = E ! = não 3. Monte a tabela da verdade para a expressão A || B && C && !A. A B C !A B && C B && C && !A A || B && C && !A V V V F V F V V F F F F V F V F F F V F F F F F F V V V V V F V F V F F F F V V F F F F F V F F A sequência de valores que preenche a última coluna, de cima para baixo, é: V, V, V, V, V, F, F, F F, V, F, V, V, F, V, F F, F, F, F, F, V, V, V V, V, F, F, V, V, F, F V, F, V, F, V, F, V, F 4. Indique qual alternativa calcula corretamente a média aritmética das notas AV1 e AV2 de uma determinada disciplina MEDIA = (AV1 - AV2) / 2; MEDIA = (AV1 ** AV2) / 2; MEDIA = (AV1 * AV2) / 2; MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 + AV2) / 2; Explicação: MEDIA = (AV1 + AV2) / 2; - OK 5. Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria? A e B ou C ou nao D A e B ou C nao D A ou nao B e nao C e nao D A ou B e C e nao D A ou B e C e D 6. Analise o trecho de código abaixo e depois marque a opção correta para o que se pede: int x, y,a , b; float z; a = 14; b = 3; x = a / b; y = a % b; z = y / x; Qual seria o valor de x? 5 4.66666 14 4 3 Explicação: Fazendo um teste de mesa e sabendo que a divisão com / entre inteiros fornece o quociente da divisão e o operador % fornece o resto da divisão inteira, chegamos no valor x igual a 4. 7. Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. &&, || e ! &&, >= e <= +, - e * =, > e ? !, > e >= Explicação: Falso. O único operador lógico é o ! !, > e >= Verdadeiro. &&, || e ! Falso. Nâo há operador lógico neste item. =, > e ? Falso. O único operador lógico é o && &&, >= e <= Falso. Nâo há operador lógico neste item. +, - e * 8. Considerando os seguintes conteúdos para as variáveis: a = 2, b = 5 e c = 4 Determine qual das sentenças retornará verdadeiro. (b % a) == 0 ((b = 2) == a) pow(c,a) > b * c (b + 2) > (a * c) a == c Explicação: a == c --> falso, pois a é diferente c (b + 2) > (a * c) -> falso, pois 7 > 8 é falso ((b = 2) == a) , verdade, pois a = 2 1. Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. +, - e * &&, >= e || =, > e || &&, || e ~ <, > e >= Explicação: <, > e >= Falso. Nenhum é relacional &&, || e ~ Falso. O único relacional é o > =, > e || Falso. O único relacional é o >= &&, >= e || Falso. Nenhum relacional +, - e * 2. Observe a tabela da verdade para a expressão A && B || B || A. A B A && B A && B || B A && B || B || A V V V V V F F F F V F V F F F F Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são: V - V - V - F V - F - F - F F - V - V - F F - F - V - F V - V - V - V 3. Assinale a alternativa que apresenta APENAS operadores relacionais. &&, || e ~ &&, >= e || =, > e || <, > e >= +, - e * Explicação: <, > e >= && e || são operadores lógicos na linguagem C++ ~ é operador na lógica matemática para negação &&, || e ~ = é atribuição> relacional || ou lógico =, > e || O único relacional é >= . Os outros dois são operadores lógicos. &&, >= e || Operadores matemáticos +, - e * 4. Assinale a opção correta. São operadores relacionais : = , > , < São operadores lógicos : &&, ||, != Os operadores matemáticos são : +, - , *, / e %. os operadores matemáticos não tem precedência de uso As expressões lógicas retornam valores inteiros Explicação: Os operadores matemáticos são : +, - , *, / e %. = VERDADE São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de valor a variável.--> FALSO As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia sobre a soma e subtrção 5. Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde aos questionamentos realizados em relação à expressão: X * X + Y > Z. Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? - O valor do termo X * X + Y é igual a qual valor ? A expressão é VERDADEIRA, e o valor de X * X + Y = 5. A expressão é VERDADEIRA, e o valor de X * X + Y = 3. A expressão é FALSA, e o valor de X * X + Y = 4. A expressão é FALSA, e o valor de X * X + Y = 3. A expressão é FALSA, e o valor de X * X + Y = 6. Explicação: Questionamentos: - Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa. - O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3 Resolvendo a expressão : X * X + Y > Z 1 * 1 + 2 dá 1 + 2 que é 3 3 > Z, sendo que Z vale 5 ? FAlsa. 6. Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, denominada NUMERO ,é ímpar e negativa. (NUMERO<0) && (NUMERO%2!=0) (NUMERO<0) || (NUMERO%2!=0) (NUMERO>0) || (NUMERO%2==0) (NUMERO>0) !! (NUMERO%2==0) (NUMERO>0) && (NUMERO%2==0) Explicação: (NUMERO<0) && (NUMERO%2!=0) pra ser negativo , tem que se menor que zero NUMERO<0 pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 7. Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de uma determinada disciplina. MEDIA = (AV1 - AV2) / 2; MEDIA = (AV1 ** AV2) / 2; MEDIA = AV1 + AV2 / 2; MEDIA = (AV1 + AV2) / 2; MEDIA = (AV1 * AV2) / 2; Explicação: Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 8. Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a mesma ficaria? A e B ou C nao D A e B ou C ou nao D A ou B e C e nao D A ou nao B e nao C e nao D A ou B e C e D 1. Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno: printf (" nota 1 = "); scanf("%f", nota1); printf (" nota 2 = "); scanf("%f", nota2); printf (" nota 3 = "); scanf("%f", nota3); media=(nota1+nota2+nota3)/3; printf ("media= %f",media); int nota1, nota2, nota3, media; float nota1, nota2, nota3, media; float nota1..nota3, media; real nota1, nota2, nota3; nota1, nota2, nota3 : float Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 2. Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout << "lendo a idade"; cin >> idade; System.out.println("lendo idade"); System.out.println("lendo idade"); cout < lendo idade; cin > idade cout "lendo a idade"; cin idade; exiba "lendo a idade"; lendo idade; Explicação: Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco cout < lendo idade; cin > idade VErdade cout << "lendo a idade"; cin >> idade; Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados System.out.println("lendo idade"); System.out.println("lendo idade"); 3. No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. iostream - setlocale locale - ptb iostream - ptb locale - setlocale math - math.round 4. Assinale a opção correta : Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos read e para saída de dados usamos write Explicação: Basta seguir as descrições na aula 2. 5. Observe o algoritmo a seguir: 1 programa 2 { 3 inclua biblioteca Matematica --> mat 4 funcao inicio() 5 { 6 real qtdeDin, valComb, qtdeLitros 7 escreva("Quanto custa o litro do combustível? R$ ") 8 leia(valComb) 9 escreva("Quantos reais você tem? R$ ") 10 leia(qtdeDin) 11 qtdeLitros=qtdeDin/valComb 12 escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13 } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." "Você consegue abastecer 51.28 litros de combustível." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 6. Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa { funcao inicio( ) { ???????? } } real tempF, tempC escreva("Temperatura em Fahrenheit: ") tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 7. C++ é uma linguagem de programação compilada. Leia as assertivas a seguir eassinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: ( ) Verificar erros de sintaxe no programa; ( ) Produzir um outro programa em linguagem de máquina; ( ) Executar o programa sem necessidade de conversão alguma. V - V - F F - V - F V - F - F F - F - F V - V - V 8. Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? escreva("Você tem ou fará ", idade, " anos") leia("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " * idade * " anos") leia("Você tem ou fará " / idade/ " anos") escreva("Você tem ou fará " /idade/ " anos") . Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno: printf (" nota 1 = "); scanf("%f", nota1); printf (" nota 2 = "); scanf("%f", nota2); printf (" nota 3 = "); scanf("%f", nota3); media=(nota1+nota2+nota3)/3; printf ("media= %f",media); int nota1, nota2, nota3, media; float nota1, nota2, nota3, media; nota1, nota2, nota3 : float float nota1..nota3, media; real nota1, nota2, nota3; Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 2. No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. iostream - ptb locale - setlocale math - math.round locale - ptb iostream - setlocale 3. Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout "lendo a idade"; cin idade; cout < lendo idade; cin > idade exiba "lendo a idade"; lendo idade; cout << "lendo a idade"; cin >> idade; System.out.println("lendo idade"); System.out.println("lendo idade"); Explicação: Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco cout < lendo idade; cin > idade VErdade cout << "lendo a idade"; cin >> idade; Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados System.out.println("lendo idade"); System.out.println("lendo idade"); 4. C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: ( ) Verificar erros de sintaxe no programa; ( ) Produzir um outro programa em linguagem de máquina; ( ) Executar o programa sem necessidade de conversão alguma. V - F - F F - F - F V - V - F V - V - V F - V - F 5. Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa { funcao inicio( ) { ???????? } } escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 real tempF, tempC escreva("Temperatura em Fahrenheit: ") tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) 6. Observe o algoritmo a seguir: 1 programa 2 { 3 inclua biblioteca Matematica --> mat 4 funcao inicio() 5 { 6 real qtdeDin, valComb, qtdeLitros 7 escreva("Quanto custa o litro do combustível? R$ ") 8 leia(valComb) 9 escreva("Quantos reais você tem? R$ ") 10 leia(qtdeDin) 11 qtdeLitros=qtdeDin/valComb 12 escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13 } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? "Você consegue abastecer 51.28 litros de combustível." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." "Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." 7. Assinale a opção correta : Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos read e para saída de dados usamos write Explicação: Basta seguir as descrições na aula 2. 8. Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? escreva("Você tem ou fará " /idade/ " anos") escreva("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " * idade * " anos") leia("Você tem ou fará ", idade, " anos") leia("Você tem ou fará " / idade/ " anos") 1. Marque a opção correta para a declaração das variáveis conforme o trecho de código abaixo, que calcula a média de 3 notas de 1 aluno: printf (" nota 1 = "); scanf("%f", nota1); printf (" nota 2 = "); scanf("%f", nota2); printf (" nota 3 = "); scanf("%f", nota3); media=(nota1+nota2+nota3)/3; printf ("media= %f",media); nota1, nota2, nota3 : float real nota1, nota2, nota3; float nota1, nota2, nota3, media; float nota1..nota3, media; int nota1, nota2, nota3, media; Explicação: as 4 variáveis precisam ser float, para conterem valores com casas decimais 2. Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ cout << "lendo a idade"; cin >> idade; cout "lendo a idade"; cin idade; cout < lendo idade; cin > idade exiba "lendo a idade"; lendo idade; System.out.println("lendo idade"); System.out.println("lendo idade"); Explicação: Falso. Erro no cout e no cin. Os operadores são >> e <<. E ainda ?: variável não tem espaço em branco cout < lendo idade; cin > idade VErdade cout << "lendo a idade"; cin >> idade; Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; Falso. Em C++ não é exiba e lendo. exiba"lendo a idade"; lendo idade; Falso. Não é Java. Em C++ usam-se cout para saída de dados e cin para entrada de dados System.out.println("lendo idade"); System.out.println("lendo idade"); 3. No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso que sejam utilizadas a biblioteca _______________ e a função _______________. math - math.round locale - ptb iostream - setlocale iostream - ptb locale - setlocale 4. Assinale a opção correta : Para entrada de dados usamos cout e para saída de dados usamos cin Para entrada de dados usamos cin com >> e para saída de dados usamos cout com << Para entrada de dados usamos cin com << e para saída de dados usamos cout com >> Para entrada de dados usamos cout com << e para saída de dados usamos cin com >> Para entrada de dados usamos read e para saída de dados usamos write Explicação: Basta seguir as descrições na aula 2. 5. Observe o algoritmo a seguir: 1 programa 2 { 3 inclua biblioteca Matematica --> mat 4 funcao inicio() 5 { 6 real qtdeDin, valComb, qtdeLitros 7 escreva("Quanto custa o litro do combustível? R$ ") 8 leia(valComb) 9 escreva("Quantos reais você tem? R$ ") 10 leia(qtdeDin) 11 qtdeLitros=qtdeDin/valComb 12 escreva("Com R$ ", qtdeDin, " você consegue abastecer ", mat.arredondar(qtdeLitros,2)," litros de combustível.") 13 } 14 } Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual mensagem seria exibida pelo computador na linha 12? "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." "Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." "Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." "Você consegue abastecer 51.28 litros de combustível." "Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 6. Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das interrogações a seguir? programa { funcao inicio( ) { ???????? } } real tempF, tempC escreva("Temperatura em Fahrenheit: ") tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) tempC=(tempF-32)/1.8 escreva("Temperatura em graus Celsius: ", tempC) real tempF, tempC escreva("Temperatura em Fahrenheit: ") leia(tempF) escreva("Temperatura em graus Celsius: ", tempC) 7. C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: ( ) Verificar erros de sintaxe no programa; ( ) Produzir um outro programa em linguagem de máquina; ( ) Executar o programa sem necessidade de conversão alguma. V - V - F F - V - F V - V - V V - F - F F - F - F 8. Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser utilizada na exibição da idade? leia("Você tem ou fará ", idade, " anos") escreva("Você tem ou fará " * idade * " anos") escreva("Você tem ou fará ", idade, " anos") leia("Você tem ou fará " / idade/ " anos") escreva("Você tem ou fará " /idade/ " anos") 1. Examine as afirmativas a seguir e marque a alternativa correta. I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo. II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois reduz o número de testes. III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores lógicos. Apenas a alternativa iii está correta. Todas as alternativas estão corretas. Apenas a alternativa i está correta. Apenas a alternativa ii está correta. Todas as alternativas estão erradas. Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas simples, já que há menos testes e podemos usar operadores lógicos para combinar condições e reduzir o número de estruturas de decisão simples. Portanto todas as afirmativas estão corretas. 2. Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. a estrutura seletiva adequada para teste do número é: if (resto!=0) {cout <<"Este número é par!";} else {cout <<"Este número é ímpar!";} if (resto==0) then {cout <<"Este número é par!";} elseif not {cout <<"Este número é ímpar!";} switch (resto==0) {cout <<"Este número é par!";} case {cout <<"Este número é ímpar!";} if (resto==0) {cout <<"Este número é par!";} else {cout <<"Este número é ímpar!";} if (resto=0) {cout <<"Este número é par!";} if {cout <<"Este número é ímpar!";} 3. Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você deseja descobrir? se (GASTOS>SAL) escreva("Você gastou mais do que deveria!") se (GASTOS==SAL) escreva("Você gastou mais do que deveria!") se (GASTOS escreva("Você gastou mais do que deveria!") se (GASTOS>=SAL) escreva("Você gastou mais do que deveria!") se (GASTOS<=SAL) escreva("Você gastou mais do que deveria!") 4. O programa abaixo recebeu o valor 2 como entrada. Analise o programa abaixo e assinale a o valor que será impresso. #include using namespace std; int main() { int a, b; cout<< "\n Digite um valor: "; cin>> a; if (a <= 2) b = a + 2 * 30 / 10; else b = a - 2 * 30 /10; cout<< b; system("pause"); } 8 -4 2 12 0 5. Você deseja analisar se um número inteiro qualquer fornecido pelo usuário é par e positivo ou par e negativo. Com base na sintaxe do Portugol Studio, o trecho que realiza corretamente o teste para descobrir as características do número é: escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 ou num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 ou num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num/2 se (resto==0 !! num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 !! num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num^2 se (resto==1 e num>1){ escreva("Este número é par e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 e num>0) { escreva("Este número é par e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é ímpar e positivo!")} escreva("Informe um número qualquer: ") leia(num) resto=num%2 se (resto==0 e num<0) { escreva("Este número é ímpar e positivo!") } senao se (resto!=0 e num>0) { escreva("Este número é par e positivo!")} 6. Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 7 e na 2ª. execução o valor de entrada é 8. Para isso, considere o seguinte trecho em C++. int num; cout << "Digite um numero: "; cin >> num; if (num != 2 || num != 4 || num != 6) { num = num + 2; cout << num << " "; } if (num != 8) { num--; cout << num << " "; } else cout << num * 5 ; 9 40 9 8 10 40 9 6 10 9 8 10 40 9 8 10 9 Explicação: Analisando o trecho de programa em C++ ... 1a. execução : num recebe 7. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if. Então, num recebe 9 e é impresso o valor 9 na tela. Seguimos para o próximo if e testamos sua condição. É verdade que 9 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 9 para 8 e imprimimos o valor 8. Concluindo esta 1a. execução : Foram impressos 9 8 2a. execução : num recebe 8. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o. if. Então, num recebe 10 e é impresso o valor 10. Seguimos para o próximo if e testamos sua condição. É verdade que 10 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 10 para 9, imprimindo o valor 9. Concluindo esta 2a. execução : Foram impressos 10 9 7. Em linguagem de programação, existe uma estrutura que é empregada em situações em que é preciso tomar uma decisão a respeito de determinado resultado que será obtido em duas situações diversas. Marque a opção que determina a estrutura de controle citada: Repetição Decisão Recursiva Vetorial Matricial Explicação: A opção que determina a estrutura de controle citada é a Decisão 8. Considere o trecho de programa em C++. O que é impresso na tela ? int x = 10, y = 3, z, k; y = x + y - 1; z = x/y; k = y % x; if (k == 0) cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k; else cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; x= 11 y = 11 z = 2 k = 0 11 11 2 0 x = 10 y = 12 z = 0 k = 0 x = 10 y = 12 z = 0.833 k = 0 10 12 2 0 Explicação: É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo sobre comando condicional, atualmente, na aula 5, é suficiente, junto com declaração de variáveis de aula anterior. x recebe 10 e depois y recebe 3 e depois y recebe 10+3-1, que dá 12 z recebe 10/12, que dá 0 k recebe 2 TEste do if é falso. Então, entra-se no else e é impresso : 11 11 2 0 1. Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa abaixo e assinale a alternativa que corresponda a saída na tela: 5 11 2 -1 22 2. Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. int x = 13, y = 4, z; if( x > y ) { z = x; x = y; y = z; } cout << z << " " << x << " " << y ; 4 13 13 13 4 13 0 13 4 13 13 4 0 4 13 Explicação: Fazendo um teste de mesa através de comentários no trecho dado : int x = 13, y = 4, z; // x recebe 13 e y recebe 4 if( x > y ) //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if { z = x; // z recebe x, que vale 13. Ou seja, z recebe 13 x = y; // x recebe y, que é 4. Ou seja, x recebe 4 y = z; // y recebe z, que vale 13. Ou seja, y recebe 13 } cout << z << " " << x << " " << y ; //SErá impresso : 13 4 13 3. Considere o trecho de programa em C++ e assinale a opção que mostra o que é impresso na tela. int x, y, z; x = 10; y = 6; z = x/y; cout << z << " "; if (z > 0) z = x % y; cout << z << " "; 4 1 4 4 1 1 Ocorrerá erro, pois o trecho não compila. 1 4 Explicação: Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 4. Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. int x = 4, y = 14, t; float z; if( x < y ) { t=x; x=y; y=t;} z = (x % y) / y; cout << x << " " << y << " " << z ; 4 14 0 0.5 4 14 14 4 0 14 4 0.5 4 14 0.5 Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 5. Analise o código abaixo e marque as saídas corretas: #include < iostream > using namespace std; int main () { int x, i; x = 1; cout << x; i = 6; x = x + i; cout << x; if ( x <= 7) { cout << x; x = x + 10; } else { cout << x; } retun 0; } 1, 7, 17 1, 7 e 7 1, 6 e 16 0, 6 e 7 1, 6 e 7 Explicação: int x, i; x = 1; cout << x; i = 6; x = x + i; cout << x; if ( x <= 7) { cout << x; x = x + 10; } else { cout << x; } Fazendo um teste de mesa, temos : x = 1 e depois é impresso o valor 1 i recebe 6 e então, x recebe 1+6, que dá 7. Então, 7 é impresso. Chegamos na condição do if e testamos se 7 <= 7. É verdade ? Sim. Então, 7 é impresso e depois, x recebe 7 + 10, que dá 17. Ou seja, foi impresso 1 7 7 6. Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. execução o valor de entrada é 10 e na 2ª. execução o valor de entrada é 0. Para isso, considere o seguinte trecho em C++. int num; cout << "Digite um numero: "; cin >> num; if (num > 0) { num++; cout << num << " "; } cout << num + 1 << " "; if (num < 0) { num--; cout << num << " "; } else cout << num * 10 ; 11 110 1 10 11 12 110 1 0 11 110 1 0 11 12 110 11 110 1 0 Explicação: Analisando ... 1a. execução : Valor de entrada é 10. Logo, num recebeu 10 na entrada. 1o. teste >>> 10 > 0 ? Sim . Então, entramos no bloco do 1o. if e fazemos num receber 11. Depois, exibimos 11 na tela. Seguindo... é exibido o valor de num + 1, ou seja, é exibido na tela o valor 12. 2o. teste >>> 11 < 0 ? Não. Então, entramos no último else que imprime o resultado de 11 * 10, que é 110 Concluindo a 1a. execução para a entrada 10 : 11 12 110 2a. execução : Valor de entrada é 0. Logo, num recebe 0 na entrada. 1o. teste >>> 0 > 0 ? Falso. Não entramos no 1o. if. SEguindo em frente temos que o valor de num+1 é exibido na tela. Ou seja, 1 é exibido na tela. 2o. teste >>> 1 < 0 ? Não. Então, entramos no último else, que imprime o valor de 1 * 10, que é 10. Concluindo a 2a. execução para a entrada 0 : 1 10 7. Considere o trecho de programa em C++. O que é impresso na tela ? int x = 10, y = 3, z, k; y = x + y - 1; z = x/y; k = y % x; if ( k != 0) cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n"; 10 12 0.833 1.2 x =
Compartilhar