Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução à Programação Prof. Ronaldo Candido 1 Aula 07 – Exercícios de Revisão – AV1 I) Marque a ÚNICA ALTERNATIVA CORRETA em cada questão: 01) Qual dos seguintes sinais representa o término de uma linha de comando na linguagem C++? (a) . (b) ; (c) // (d) : (e) / 02) Um algoritmo pode ser representado de diversas formas. O ______ faz isso através de uma linguagem gráfica. (a) Portugol (b) Português estruturado (c) C++ (d) Visualg (e) Fluxograma 03) Julgue as afirmativas abaixo: I - Lógica de programação é a técnica de encadear pensamentos para atingir um determinado objetivo. II - Um algoritmo é uma sequência de passos finitos com o objetivo de solucionar um problema. III - Um programa de computador nada mais é do que um algoritmo escrito em uma linguagem de computador como C, C++, Pascal, Cobol, etc. Estão CORRETAS: (a) Todas as afirmativas. (b) Somente as afirmativas I e II. (c) Somente as afirmativas I e III. (d) Somente as afirmativas II e III. (e) Somente a afirmativa III. 04) Em C++, quando precisamos armazenar uma letra, qual tipo de variável devemos declarar? (a) int (b) float (c) bool (d) char (e) string 05) A expressão 13 MOD (12 DIV 4) é igual a: (a) 4.3 (b) 4 (c) 1 (d) 0 (e) 3 06) Qual a opção que representa um aviso ao compilador que será usado os comandos e funções padrões de C++? (a) using namespace std; (b) #include (c) #define nome PADRAO (d) using nome padrão (e) #if namespace 07) Assinale a alternativa que apresenta APENAS os exemplos de operadores aritméticos: (a) <, > , >= (b) + , -, %, * , / (c) ==, > , || (d) &&, >= , || (e) +, - , * , != 08) Numa operação lógica com dois operandos, sempre que um dos operandos é falso, o resultado é falso independente do outro. Marque qual operação lógica é realizada. (a) OU (b) E (c) NÃO (d) XOR (e) ATRIBUIÇÃO 09) Qual o operador usado em C++ para se realizar uma operação " E " lógico? (a) && (b) |\| (c) ** (d) || (e) % Introdução à Programação Prof. Ronaldo Candido 2 10) Sobre compiladores e interpretadores, é correto afirmar que: I - Interpretadores são programas que validam e executam diretamente os códigos na linguagem apresentada e apresentam o resultado em tela de saída. II - Os compiladores convertem os códigos apresentados em linguagem de máquina, gerando um programa executável. Após a geração desse programa, temos de executá-lo para verificar seu funcionamento. III - Se usarmos interpretadores, iremos sempre precisar deles para executar ou realizar a solução. IV - Nos compiladores, após criado o programa executável, não precisaremos mais deles, pois utilizaremos os programas gerados, independentemente de onde ou como foram desenvolvidos. Estão corretas: (a) Somente as afirmativas I, II e III. (b) Somente a afirmativa III. (c) Somente as afirmativas II e III. (d) Somente as afirmativas II e IV. (e) Todas as afirmativas. 11) Considerando os tipos primitivos de dados que, poderão ser atribuídos à Variáveis ou Constantes, analise o exemplo abaixo: "Rodrigo de Araújo Mateus" ; 10 ; 1.999,89 ; Verdadeiro. Determine o tipo primitivo de dado de cada valor e assinale a sequência correta. (a) Inteiro; Lógico; Caractere; Real. (b) Caractere; Inteiro; Lógico; Real. (c) Caractere; Real; Inteiro; Lógico. (d) Caractere; Inteiro; Real; Lógico. (e) Real; Caractere; Lógico; Inteiro. 12) Examine o código a seguir e marque a ALTERNATIVA CORRETA: #include <iostream> using namespace std ; int main() { int 1a ; char letra ; string c ; 1a=5 ; letra = "b" ; c = "letra" ; return 0 ; } Analise as alternativas: I - O programa compila sem problemas. II - O programa não compila pois há uma variável com identificador em desacordo com a sintaxe do C++. III - O programa não compila pois a variável do tipo string deveria receber uma sequência de caracteres. IV - A variável em desacordo citada na afirmação II é a variável do tipo 'int'. (a) Somente a alternativa I está correta. (b) Apenas as alternativas II e IV estão corretas. (c) As alternativas II e III estão corretas. (d) Somente a alternativa III está correta. (e) Apenas a alternativa II está correta. Introdução à Programação Prof. Ronaldo Candido 3 13) Analise cada sintaxe abaixo, relativa à entrada de dados: I - No português estruturado, a entrada de dados é representada por: leia (variável) II - Em C++, a entrada de dados é representada por: cin (variável); III - Com o comando para entrada de dados é possível transferir uma informação digitada pelo usuário com o teclado para uma determinada variável no escopo do algoritmo. Estão corretas: (a) Todas as afirmações. (b) Somente as afirmações I e III. (c) Somente a afirmação II. (d) Somente a afirmação III. (e) Somente as afirmações II e III. 14) Considerando a prioridade matemática e a hierarquia das operações, organize numericamente a sequência abaixo e selecione a alternativa correta: ( ) Soma e Subtração. ( ) Multiplicação, Divisão, Quociente e Resto da Divisão. ( ) Parênteses Internos. ( ) Radiciação e Potenciação. (a) 1, 2, 3, 4. (b) 4, 3, 2, 1. (c) 2, 1, 4, 3. (d) 3, 4, 1, 2. (e) 4, 3, 1, 2. 15) Na Linguagem C++ a #include nos traz essencialmente as funções de entrada e saída de dados. Diante desta afirmação, marque a resposta que corresponde a um ERRO na utilização destas funções. (a) cout << "Entre com um Valor"; (b) cin >> x; (c) cout << "A média é X"; (d) cin < ; (e) cout << "A média é " << X 16) O comando utilizado para representar uma estrutura de ____________ é o comando _____. Esse comando fará um teste na ___________ apresentada, determinando se a ______________ é ______________ ou não. (a) decisão, enquanto, condição, decisão, verdadeira. (b) decisão, para, condição, condição, falsa. (c) decisão, se, condição, condição, verdadeira. (d) decisão, se, condição, condição, para. (e) condição, repita, se, condição, para. 17) Qual o operador usado em C++ para se realizar uma operação " OU " lógico? (b) && (b) |\| (c) ** (d) % (e) || Introdução à Programação Prof. Ronaldo Candido 4 II) Correlacione as colunas apropriadamente : 1. variável ( 4 ) Símbolo que representa “diferente”. 2. inteiro (10) Verdadeiro ou falso. 3. caractere ( 8 ) Resto da divisão inteira entre dois números. 4. < > ( 1 ) Guarda dados que podem sofrer alterações. 5. real ( 9 ) Entrada via teclado. 6. cout ( 7 ) Codifica algoritmos e os executa. 7. Visualg ( 5 ) 1.250,75. 8. mod ( 3 ) Representa dados com letras, números e símbolos. 9. cin ( 6 ) Saída em tela. 10. lógico ( 2 ) -100. III) Explique com suas palavras os comandos nos seguintes trechos de um código: a) int main() R: Início do programa principal, { int op; Declara variável inteira, cin >> op; Entrada pelo teclado e guarda na variável, if (op == 0) Se a variável for igual a 0. cout << "zero"; Exibe “zero” else Senão cout << "diferente de Zero"; Exibe "diferente de Zero" return 0; Retorna 0 e termina o programa. } b) Algoritmo "Materiais" R: Nome do algoritmo Var Lista de variáveis codigo : inteiro Define a variável como inteira Inicio Início dos comandos Escreva("Digite o código do material:") Exibe a mensagem Leia (codigo) Entrada via teclado e guarda na variável Escolha (codigo) Verifica o codigo caso 1 caso seja1 Escreva ("Parafuso") Exibe “Parafuso” caso 2 caso seja 2 Escreva ("Porca") Exibe “Porca” caso 3 caso seja 3 Escreva ("Prego") Exibe “Prego” outrocaso caso não seja nenhum deles, Escreva ("Inexistente") Exibe “Inexistente” fimEscolha Termina a verificação FimAlgoritmo Termina o algoritmo. IV) Responda objetivamente: a) Quando devemos usar variáveis e quando usaremos constantes em um algoritmo? R: Usaremos variáveis para armazenar dados que podem ser alterados durante a execução do algoritmo, ao contrário das constantes, que só podem possuir um valor fixo sem alterações. b) Explique a diferença entre compilação e interpretação: R: Na compilação os códigos apresentados são convertidos em linguagem de máquina, gerando um programa executável. Na interpretação, ocorre a validação e execução diretamente dos códigos na linguagem apresentada, sendo traduzidos a cada nova execução. Introdução à Programação Prof. Ronaldo Candido 5 V) Dado o código em C++ abaixo, informe quais os valores de x1, x2, x3, x4, x5, x6 e m, RESPECTIVAMENTE: #include <iostream> using namespace std; int main(void) { int x1, x2, x3, x4, x5, x6, m; x1 = 2*4+6/3-1; x2 = 4/4*4-2; x3 = 15-5/5+5; x4 = 3+4-2*5; x5 = x1*x2; x6 = x3+x5; m = x1%x2; return 0; } VI) Crie algoritmos em português estruturado : a) Para vários tributos, a base de cálculo é o salário mínimo. Fazer um algoritmo que leia o valor do salário mínimo e o valor do salário de uma pessoa. Calcular e imprimir quantos salários mínimos ela ganha. R: Algoritmo "revisao_VIa" Var salario_minimo, salario_pessoa, numero_sm : real Inicio Escreva ("Digite o salário mínimo:") Leia (salario_minimo) Escreva ("Digite o salário da pessoa:") Leia (salario_pessoa) numero_sm <- salario_pessoa / salario_minimo Escreva ("Ela ganha ", numero_sm, " salários mínimos") Fimalgoritmo b) Elabore um algoritmo para receber duas variáveis inteiras, A e B, e faça a troca dos valores, de forma que A passe a ter o valor de B e B tenha o valor de A. Exiba os valores das variáveis antes e depois da troca. R: Algoritmo "revisao_VIb" Var a, b, auxiliar : inteiro Inicio Escreva ("Digite o valor de A:") Leia (a) Escreva ("Digite o valor de B:") Leia (b) Escreval ("Valor de A antes:", a) Escreval ("Valor de B antes:", b) auxiliar <- a a <- b b <- auxiliar Escreval ("Valor de A depois:", a) Escreval ("Valor de B depois:", b) Fimalgoritmo X1 X2 X3 X4 X5 X6 m 9 2 19 -3 18 37 1 Introdução à Programação Prof. Ronaldo Candido 6 c) Construa um algoritmo que leia três números inteiros e escreva os dois menores. Considere que os números lidos são diferentes entres si. R: Algoritmo "revisao_VIc" Var a, b, c : inteiro Inicio Escreva ("Digite o valor de A:") Leia (a) Escreva ("Digite o valor de B:") Leia (b) Escreva ("Digite o valor de C:") Leia (c) Se (a > b) E (a > c) entao Escreval ("Os menores são ", b, " e ", c) Senao Se (b > a) E (b > c) entao Escreval ("Os menores são ", a, " e ", c) Senao Escreval ("Os menores são ", a, " e ", b) FimSe FimSe Fimalgoritmo VII) Analise o código abaixo: Ele não possui nenhum erro. No entanto, você pode sugerir algum tipo de melhoria para o código? Justifique sua resposta, sendo afirmativa ou negativa. R: Sim, como os lados do quadrado são iguais, não há a necessidade de informar o segundo lado. A área será calculada por l1 * l1.
Compartilhar