Baixe o app para aproveitar ainda mais
Prévia do material em texto
(ESAF - 2010 - SUSEP - Analista Técnico - Prova 2 - Tecnologia da Informação) Segundo o conceito da Máquina de Von Neumann para os programas de computador (ou instruções) instruções e dados não são armazenados, com vistas à otimização do uso da memória. instruções e dados são armazenados em memórias distintas. apenas instruções ficam armazenadas. os dados ficam armazenados na memória, não havendo armazenamento de instruções. instruções e dados são armazenados na mesma memória. ¿É um conjunto finito de regras que fornece uma sequência de operações para resolver um problema específico.¿ Este conceito descreve qual das opções abaixo: Lógica Linguagem de Programação Compilador Algoritmo Interpretador O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão de um número da base decimal para um número na base binária. O número 01011111b, se escrito na base decimal, equivale a: 65 63 95 127 93 Sabe-se que, em cada sistema posicional, temos um conjunto de algarismos e/ou letras para representar todos os números. Dessa forma, na base 2, temos somente os algarismos 0 e 1 para representar todos os números. Qual das seqüências abaixo representa, no sistema binário, o número 85 em decimal? 1110001 1011001 1010101 1100001 1010110 O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão de um número da base decimal para um número na base binária. O número 35, se escrito na base binária, equivale a: 0101 1001 0101 1101 0010 0011 1101 0111 0110 0011 A CPU (Unidade Central de Processamento) é formada pelos seguintes componentes: UAL, Unidade de Controle e Registradores Unidade de Controle, Registradores e HD UAL, Registradores e Memória Principal Teclado, Memória Principal e Registradores UAL, Registradores e HD O computador pode auxiliá-lo em qualquer tarefa. É consciente, trabalhador, possui muita energia, mas não tem iniciativa e nenhuma independência, não é criativo nem inteligente, por isso precisa receber instruções nos mínimos detalhes. Marque a opção que define a sequência da finalidade de um computador. Entrada, Saída, Processamento de Dados Entrada, Processamento de Dados, Saída Saída, Entrada, Processamento de Dados Processamento de Dados, Saída, Entrada Processamento de Dados, Entrada, Saída Transforme o valor (1111)2 em um valor na base decimal. 4 12 15 14 17 Os algoritmos podem ser definidos usando diversos instrumentos, como a linguagem natural, os fluxogramas, o diagrama de chapin, o português estruturado ou mesmo através de uma linguagem de programação, como o C ou o C++. É sabido que o nível de detalhamento e precisão dos algoritmos varia em cada uma dessas representações. Com base nessas afirmações e nas informações vistas em aula, é válido afirmar que: A linguagem natural é a melhor forma de representar um algoritmo, devido à sua grande flexibilidade e objetividade: uma descrição qualquer em linguagem natural sempre será interpretada da mesma forma por qualquer pessoa ou equipamento. É impossível criar um algoritmo, mesmo que simples, diretamente com o uso de linguagem de programação, não importa a experiência do programador: sempre será necessário criar o algoritmo em linguagem natural, depois passar ao fluxograma e, finalmente, passar ao português estruturado. O português estruturado inclui obrigatoriamente alguns detalhes que, normalmente, não são indicados na linguagem natural, como o tipo de dado que pode ser armazenado em cada variável, por exemplo. O diagrama de chapin é uma forma totalmente textual de representar um algoritmo. O fluxograma, por ser uma representação gráfica, é a forma mais completa de especificar um algoritmo. Infelizmente ela se aplica somente a linguagens de programação específicas, sendo de utilidade bastante limitada e inútil para representar outros processos não computacionais. Podemos construir um algoritmo, usando várias linguagens. Assinale a opção CORRETA que representa uma linguagem que usa símbolos padronizados e é considerada uma linguagem universal, visto que pouco se escreve. Linguagem de marcação Pseudolinguagem Linguagem gráfica - diagrama de Euler Linguagem gráfica - fluxograma Linguagem natural Qual das seguintes opções não se caracteriza como forma de representação de um algoritmo? Pseudocódigo Descrição Narrativa Fluxograma Convencional Lógica Booleana Portugol Existe um registrador que é ponto de concentração de tudo que é armazenado na, ou copiado da, Memória Principal. Assinale a opção onde está presente esse registrador. REM RI PC RDM CC O Ciclo de Controle de uma instrução compreende três momentos. Assinale a opção que apresenta, na ordem, esses momentos. Busca, Análise e Execução Busca, Execução e Decodificação Busca, Decodificação e Execução Análise, Execução e Decodificação Identificação, Decodificação e Execução Quais são os tipos das variáveis abaixo, nesta ordem (A, B e C): A <- 45.85 B <- 8 C <- "peso" numerico, real e caracter real, num e char caracter, numerico e real real, inteiro e caracter float, double e char Para a expressão "valor <- 1.2 * deposito", identifique qual é o melhor tipo de dado a ser relacionado a estas variáveis. Assinale a alternativa correta. caractere inteiro real long lógico O comando que exibe na tela o conteúdo de variável, constante ou resultado de operação é: para imprima leia se escolha A instrução cout, em C++, indica saída de dados. A sintaxe correta para complementar essa instrução no código possui: << >> : < > O Professor de Lógica de Programação pediu para que seus alunos fizessem um programa que recebesse um salário, um valor percentual de aumento e calculasse o valor do salário aumentado, mostrando-o na tela. Para que esse programa faça exatamente isso, a linha que contém pontos de interrogação deveria ser substituída por: novosalario = salario + aumento/100; Nenhuma das anteriores. novosalario = salario * aumento; novosalario = (salario * aumento/100) + salario; novosalario = salario + aumento; Assinale a alternativa correta que mostra exatamente o que será impresso de acordo com o pseudocódigo abaixo, supondo que o usuário digitou o valor 10 para ambas as variáveis x e y. algoritmo Exemplo inteiro x,y,z; leia x, y; x ← x + 1; z ← x; z ← z + 1; x ← -x; y ← y + 1; z ← z - 1; x ← x + y - z; escreva "x = ",x,"y = ",y," z = ",z; fimalgoritmo x = 10, y = 11, z = 11 x = 10, y = 11, z = 10 x = 11, y = 10, z = 10 x = 10, y = 10, z = 10 x = 11, y = 11, z = 11 Analise o trecho de código abaixo e diga o valor das variáveis a e b após a execução da linha de comando: int a = 8, b; b = ++a; a=8 e b=8 a=10 e b=9a=8 e b=10 a=9 e b=10 a=9 e b=9 Dado o algoritmo abaixo: NOTA1 = 8,0; NOTA2 = 5,0 ; NOTA3 =8,0. Qual será o resultado da saída do algoritmo? início real: NOTA1, NOTA2, NOTA3, MEDIA escreva (Digite uma nota: ) leia (NOTA1) escreva (Digite a segunda nota: ) leia (NOTA2) escreva (Digita a terceira nota: ) leia (NOTA3) MEDIA ← (NOTA1 + NOTA2 + NOTA3) / 3 escreva (MÉDIA= , MEDIA) fim 7,0 6,0 5 9,0 6,5 Qual o resultado obtido ao final da execução do seguinte algoritmo caso o usuário digite o número 12? ALGORITMO INÍCIO DECLARE n, t, z : INTEIRO ESCREVA("DIGITE O NUMERO") LEIA (n) m n % 4 x (m *5) + 8 ESCREVA( x ) FIM 0 12 8 3 11 Considere o programa abaixo e suponha que você digitou nessa ordem os seguintes valores 1000, 400. Selecione a opção cujo conteúdo é igual aos valores exibidos na tela. #include using namespace std; int main() { double num1, num2, resultado; cin >> num1 >> num2; resultado = num1 / ( 10 + num2/10 ); cout << resultado << endl; system("pause"); } 25 10 20 40 30 Analise o trecho de código abaixo e diga o valor das variáveis X, Y e Z após a sequência de operações do trecho: X = 33 Y = 11 Z = 10 X = -11 Y = 11 Z = 11 X = 11 Y = 11 Z = 11 X = -33 Y = 11 Z = 11 X = -33 Y = 10 Z = 10 O comando que permite que o usuário digite um dado, interagindo com o algoritmo é: enquanto se escrever escolha ler Na lista de exercícios que foi liberada pela professora de Lógica, na questão X, estava presente o algoritmo codificado em Portugol abaixo. No enunciado da questão, era solicitado que fosse feito o acompanhamento da execução do algoritmo no Teste de Mesa e digitada a seguinte data: 111518. Assinale a opção CORRETA para a saída desse algoritmo. inicio inteiro data escrever "Digite a data no formato mmddaa: " ler data escrever data % 100, " / " escrever data / 10000, " / " escrever (data / 100) %100, "\n" fim 11 / 15 / 18 11 / 18 / 15 18 / 15 / 11 15 / 11 / 18 18 / 11 / 15 Observe as afirmativas abaixo e assinale a resposta CORRETA I Duas vantagens para se usar funções: Dividir o programa em partes menores e reusá-las em vários programas. II Não é obrigado usar o tipo para cada parâmetro no cabeçalho da função se todos forem do mesmo tipo. Somente um é suficiente. III No protótipo de uma função, podemos usar somente os tipos dos parâmetros, isto é, não precisamos incluir os nomes dos parâmetros. IV Toda variável declarada dentro da função main() é denominada variável Global. V Podemos ter nomes de variáveis iguais declaradas em funções diferentes. I , IV e V são verdadeiras I , III e V são verdadeiras I , II e V são verdadeiras II , IV e V são verdadeiras II , III e IV são verdadeiras Em relação à lógica de programação, considere os pseudocódigos: O resultado da solução apresentada por Alg2 é maior do que a de Alg1. Somente Alg1 tem consistência em sua representação e chega a um resultado. Somente Alg2 tem consistência em sua representação e chega a um resultado. Ambos os algoritmos abordam o mesmo problema e chegam ao mesmo resultado. O resultado da solução apresentada por Alg2 é menor do que a de Alg1. As funções existem para decompor um problema em partes menores, simplificando e organizando o programa como um todo. Tendo em vista o que foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em relação aos conceitos de funções. Além do valor de uma variável é possível passar para uma função a referência ou o endereço da variável. O protótipo de uma função informa ao compilador o tipo de retorno, o nome e a lista de parâmetros da função. As variáveis declaradas no corpo de uma função são chamadas variáveis locais. O comando return encerra a execução de uma função e pode retornar vários valores para a função chamadora. Todas as funções apresentam no seu cabeçalho um par de parênteses após o nome da funçao. Observe a fórmula abaixo que calcula a soma dos n primeiros termos de uma PA. Sn = n/2 [ 2a + (n-1) r ] a primeiro termo da série n número de termos da série r razão da série Se você desejasse escrever o corpo de uma função, para resolver o problema acima, cujo cabeçalho seria int somaPA(int a, int n, int r) qual das opções abaixo escolheria? { return (2*a + n-1*r)*n/2; } { return (2*a + (n-1)*r)*n/2; } { return (2*a) + n-1*r*n/2; } { return (2*a) + (n-1)*r*n/2; } { return 2*a + (n-1)*r *n/2; } Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa. cout << "Produto = " << multiplicar(a,b); Observe as opções abaixo e escolha aquela onde o protótipo da função está presente. void multiplicar(int a, b); void multiplicar(int ; int); float multiplicar(int a, int b); int multiplicar(int a, int b) ; void multiplicar(int a, int b); O protótipo de uma função: NDA Pode ser escrito em qualquer lugar do programa; deve preceder a definição da função e toda chamada a ela; pode ser suprimido se a função for definida antes das chamadas; é uma instrução que pertence ao corpo da função que chama; Considerando os valores atribuídos as seguintes variáveis inteiras A = 3, B = 8, C = 2 , analise as expressões abaixo e marque a opção que corresponde a ordem correta dos resultados lógicos. I. (A < B) || (B != 8) && ( C > A) II. (3 * A > B) && (B%2 == 0) && (B - A < 5) III. (A * B > 25) || (C < B-A*C) || (A%C == 0) F F V V F F F F F V V F F V F Selecione a opção que apresenta todos os operadores relacionais da linguagem C++. > < => =< = <> > < >= <= = != > < => =< == <> > < >= <= = <> > < >= <= == != Considere o trecho do algoritmo (pseudocódigo): Em relação às estruturas básicas de controle, o trecho de algoritmo acima refere-se à estrutura I. condicional simples. II. condicional composta. III. de repetição. IV. de decisão ou seleção. É correto o que consta APENAS em: II e III. I, III e IV. II e IV II, III e IV. I e III. O operador lógico "ou" é útil em tipos de análise para verificar se todos os valores são verdadeiros, o que, consequentemente, acarretará em todos os resultados serem também verdadeiros. Depende da aplicação; Somente quando utilizada com o operador "ou"; Não, a afirmação é falsa; Somente quando utilizada com o operador "e"; Sim, a afirmação é verdadeira; Marque a alternativa correta. Em um programa em C++ para dizer se um numero é positivo ou negativo. A estrutura adequada seria? If else if. for. if else. do while whileAs variáveis A=3.5, B=8, C='x' e D="falso", analise as expressões abaixo e marque a opção que corresponde a ordem correta dos resultados lógicos. I. (A < B) || (C = = '8') && (D != "verdadeiro") II. (3*A > B) && (B%2 = = 0.16) && (B-A < 5) III. (A*B > 25) || (D = = falso) || (C != 'x') V / V / V F / V / F F / F / V V / F / V V / F / F Entre os operadores lógicos utilizados em C, qual simbolo utilizado para o operador OU? \\ // || >> <> Na Linguagem C++, existe um comando que faz uso do operador de extração. Assinale a opção que contem o nome desse comando. cin cout if simples if composto comando de atribuição Analise o algoritmo abaixo que tem como objetivo receber o valor de um salário bruto, deduzir os impostos devidos e imprimir o salário liquido: algoritmo "imposto" var salario_bruto, salario_liquido, imposto : real inicio escreva("Digite seu salário: ") leia (salario_bruto) se salario_bruto < 1000 entao escreval("Não há imposto") senao se salario_bruto <= 2200 entao imposto <- salario_bruto * 0.13 senao imposto <- salario_bruto * 0.22 fimse fimse salario_liquido <- salario_bruto - imposto escreval("Seu salário líquido é: R$ ", salario_liquido) fimalgoritmo Considerando que ao executar o algoritmo o usuário digite 2200. Qual será a saída do programa? Seu salário líquido é: R$ 1716.00 Seu salário líquido é: R$ 1914.00 Seu salário líquido é: R$ 484.00 Seu salário líquido é: R$ 286.00 Não há imposto Para que uma estrutura if...else if ... possa ser substituída pela estrutura switch(...) na linguagem C++, precisamos ficar atento a algumas "regras". Leia as afirmativas abaixo e escolha a resposta que contempla a essas "regras" I - Qualquer tipo de variável poderá estar presente nas expressões relacionais dos ifs II - Só o operador de igualdade poderá estar presente em todas expressões relacionais dos ifs III - Qualquer operador relacional poderá estar presente nas expressões relacionais dos ifs IV - A mesma variável tem que estar presente em todas expressões relacionais dos ifs V - A variável presente em todas expressões relacionais dos ifs tem que ser enumerável I, III e V estão corretas I, II e IV estão corretas I, III, e IV estão corretas II, IV e V estão erradas II, IV e V estão corretas Com base nas estruturas de Algoritmos, quais são as estrutura de Decisão? ESCOLHA... CASO SE...ENTAO...SENAO PARA...DE...ATE...FACA ENQUANTO...FACA REPITA... ATE ESCOLHA...CASO ENQUANTO... FACA SE... ENTAO... SENAO SE...ENTAO...SENAO DECIDE...ATE... Observe o programa abaixo e, supondo que, quando foi perguntado o valor do número, digitou-se 17. Em qual opção está presente o número que será exibido ao final? 19 34 32 15 17 Um professor pediu em um chat para que os alunos da turma de Lógica de Programação interpretassem um código que se encontrava no caderno de exercícios e, para cada aluno, enviou quatro números para que pudessem acompanhar duas vezes no teste de mesa. João que sempre estava presente nos fóruns e chat recebeu os seguintes números: 31 e 11 / 28 e 5. Observe o código abaixo e assinale a opção onde estão presentes as mensagens que João recebeu na mesma ordem dos números digitados que se encontram acima. Estado muito critico, pois maximo e minimo alterados / Valor minimo muito alterado Valor maximo muito alterado / Tudo normal Estado muito critico, pois maximo e minimo alterados / Tudo normal Não exibe nada porque estão faltando as chaves dos ifs Valor maximo muito alterado / Valor minimo muito alterado Marque a alternativa que representa o resultado do seguinte algoritmo, supondo que x = 4 e y =6. Primeira opção 9 Segunda opção 20 Terceira opção 46 Primeira opção 7 Em relação às estruturas de controle, considere abaixo o trecho inicial do algoritmo que exibe o conceito de um aluno, dada a sua nota. Levando-se em conta somente notas inteiras, o critério para conceitos é: notas menor que 3, conceito E; notas de 3 a 5, conceito D; notas 6 e 7, conceito C; notas 8 e 9, conceito B; nota 10, conceito A. fimalgoritmo Continuando a construção do algoritmo acima, a estrutura de controle SE-ENTAO-SENAO-FIMSE será utilizada: 6 vezes. 3 vezes. 4 vezes. 7 vezes. 5 vezes. Observe o programa abaixo com muita atenção e suponha que você digitou nessa ordem: 1.62, 1.78, 1.69. Selecione a opção cujo conteúdo é igual ao que será exibido na tela. #include using namespace std; int main() { float alt1, alt2, alt3; cin >> alt1 >> alt2 >> alt3; if(alt1 < alt2 && alt1 < alt3) cout << "alt2" << "\t" << "alt3" << endl; else if( alt2 < alt3) cout << "alt1" << "\t" << "alt3" << endl; else cout << "alt1" << "\t" << "alt2" << endl; system("pause" ); } alt1 alt3 //na 1a zona e na 2a zona, respectivamente 1.78 1.69 //na 1a zona e na 2a zona, respectivamente 1.78 1.69 //na 1a zona e na 2a zona, respectivamente 1.62 1.69 //na 1a zona e na 2a zona, respectivamente alt2 alt3 //na 1a zona e na 2a zona, respectivamente As estruturas de repetição são muito importantes em algoritmos, visto que, com elas, é possível que determinado trecho de código se repita enquanto determinada situação aconteça. Nesse sentido, a estrutura de repetição mais adequada para algoritmos em que o código deve ser repetido por uma quantidade conhecida de vezes é o: While / enquanto If-else / se-senão If-elseif-else / se-senãose-senão Do..while / faça..enquanto For / para O algoritmo abaixo foi construído para gerar a série: 100 99 98 ... 3 2 1. Entretanto, ele apresenta um erro que não é sinalizado durante a interpretação. Selecione a opção que aponta o erro. Tem que trocar x++ por x-- Teria que colocar \t dentro das aspas na linha onde está o comando imprima. Não pode ser usado x++. Tem que trocar para x<-x + 1 O teste x >= 1 está errado A variável x não foi inicializada Leia atentamente o código: #include #include using namespace std; int main (){ int i,x; x=5; for(i=1;i<=x;i++) cout<<i<<" e="" "; system("pause"); }</i<<"> A parte do programa controlada pela estrutura de repetição será executada: nenhuma vez. 1 vez 5 vezes "i" vezes. 3 vezes O presidente da construtora Sempre Verde precisou, em um determinado momento, reajustar o salário dos funcionários e, como ele sabia programar porque tinha se dedicado muito à disciplina de Lógica de Programação, criou uma função com o seguinte protótipo: float calcSalario(float salario, float percentual); Baseado nesse protótipo é CORRETO afirmar que a função: Recebe dois valores, salário e o percentual, passados por valor Retornará dois valores para a função chamadora Não retorna nenhum valor para a função chamadora Retornará o salário somado ao percentual Recebe dois valores passados por referência Para as estruturas de repetição do para representadas a seguir em linguagem UAL, qual das respostas abaixo corresponde aos valores que a variável"c" irá assumir durante a execução do programa: para( c<-1; c<=10; c++ ) 2 3 4 5 6 7 8 9 10 11 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 -1 0 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 Um programa pode ser formado por uma, ou mais funções. Quando existir mais de uma função, onde deverão se posicionar as demais funções em relação à função main()? I Antes ou depois, depende do programador, pois a posição não gera, nunca, problema. II Depois, desde que os protótipos sejam colocados antes da main(). III Antes para não ter que colocar os protótipos e nunca ocasionar erros. IV Antes ou depois, desde que sejam colocados os protótipos. Observe as afirmativas acima e assinale a resposta CORRETA I e IV estão corretas Só a II está correta II e IV estão corretas I e III estão corretas II e III estão corretas Marque a alternativa correspondente ao resultado do trecho de código abaixo: VAR cont, r: inteiro; INICIO para cont de 1 até 10 faça r = cont % 3; if (r =0 && cont >= 5) então escreva(cont); fimse fimpara FIM Exibe os números 6 e 9. Exibe os números 7 e 8. Exibe os números 4,5,7,8,10. Exibe os números 3, 6 e 9. Exibe os números 5,7,8,10. Um aluno de Lógica de Programação após estudar a estrutura de repetição for resolveu fazer algumas experiências para tentar repetir um bloco dez vezes. Abaixo podemos ver os cinco trechos testados por ele. Assinale a opção que apresenta aqueles que repetiram dez vezes. II e V II, III e IV I, IV e V I e IV I, II e V Observe o programa abaixo e suponha que você digitou 12 / 45 / 3 / 9 / 15 / -1. Assinale a opção que exibe os valores durante a execução do programa. 12, 3 e 9 . Ao final, 24 45 e 15 . Ao final, 59 12, 3 e 9 . Ao final, 59 12, 3 e 9 . Ao final, 60 45 e 15 . Ao final, 23 Considerando como entrada os números 5 e 8. Marque a alternativa que contém a resposta na tela do programa abaixo: int main() { int a,b; cin>>a; cin>>b; while (a < b) { cout<<a; a = a + 1; } return 0; } </a; 678 67 567 5678 56 Analise o algoritmo a seguir. Quantas vezes aparecerá a palavra "Lógica de Programação" na tela? 3 0 4 2 1 Considere o trecho de código a seguir. Ao final da execução do trecho de código acima, os valores de X e J são iguais, respectivamente, a 6 e 12. 7 e 12. 7 e 11. 10 e 16 8 e 11. Um desenvolvedor precisava construir um trecho de proteção que só aceitasse os algarismos 1 e 8. Fez cinco trechos, mas só um protegeu a entrada como ele desejava. Assinale a opção onde se encontra o trecho correto. O professor de Algoritmos pediu aos alunos para construírem um programa, codificado na linguagem C++, que exibisse os algarismos de um número, começando pelo algarismo da casa das unidades simples até o algarismo mais significativo. Assinale a opção que apresenta o trecho capaz de exibir o que foi pedido, considerando apenas os valores maiores do que zero. int num, digito; cout << "Numero: " ; cin >> num; while (num > 0) { digito = num mod 10; cout << digito << "\t" ; num = num div 10; } int num; cout << "Numero: "; cin >> num; if (num > 0) { cout << num % 10 << "\t" ; } else num = num / 10; int num; cout << "Numero: " ; cin >> num; while (num > 0) { num = num div 10; cout << num % 10 << "\t" ; } int num, digito; cout << "Numero: " ; cin >> num; while (num > 0) { num = num / 10; digito = num % 10 ; cout << digito << "\t" ; } int num; cout << "Numero: "; cin >> num; while (num > 0) { cout << num % 10 << "\t" ; num = num / 10; } Considere o programa em C++ abaixo. Ao executá-lo, assinale abaixo a quantidade de números que serão lidos. 11 números 10 números 5 números 2 números 9 números Para a estrutura de repetição for representada a seguir, qual das respostas abaixo corresponde aos valores que a variável "c" irá assumir durante sua execução: for( c=10; c>=1; c-- ) 10 8 6 4 2 1 0 10 8 6 4 2 1 12 10 9 8 7 6 5 4 3 2 10 9 8 7 6 5 4 3 2 1 11 10 9 8 7 6 5 4 3 Um aluno estava estudando para a prova de Lógica de Programação quando viu um exercício que pedia para que fosse construído um trecho que pudesse simular a estrutura do for, usando do ... while. Observe o trecho abaixo e escolha a opção que resolve esse problema: do { x=2; cout << x << "\n" ; x += 2; } while(x <= 10); x=2; do cout << x << "\n" ; x += 2; while(x <= 10); x=2; do { cout << x << "\t" ; x += 2; } while(x <= 10); x=0; do { x += 2; cout << x << "\n" ; } while(x <= 10); x=2; do { cout << x << "\n" ; x += 2; } while(x <= 10); Observe o algoritmo abaixo e selecione a opção que resume o que ele faz. Repete 5 vezes: a entrada de dados; conta quando for par e conta todos os números. Repete 6 vezes a entrada de dados; conta quando for ímpar ; conta todos os números e exibe, ao final, o percentual de ímpares. Repete 6 vezes: a entrada de dados; conta quando for ímpar e conta todos os números. Repete 6 vezes: a entrada de dados; conta quando for par e conta todos os números. Repete 5 vezes: a entrada de dados; conta quando for ímpar; conta todos os números e exibe, ao final, o percentual de ímpares. As estruturas de repetição são muito importantes em algoritmos, visto que, com elas, é possível que determinado trecho de código se repita enquanto determinada situação aconteça. Nesse sentido, a estrutura de repetição mais adequada para algoritmos em que o código deve ser repetido pelo menos uma vez é o: If-elseif-else / se-senãose-senão If-else / se-senão For / para Do..while / faça..enquanto While / enquanto Assinale a alternativa que corresponde à estrutura de controle/repetição que é executada ao menos uma vez quando presente ao código. for do-while do for-while if Qual o resultado da variável Z após a execução do código abaixo? x = 5; y = 7; z = 3; if ((x - 1) > 2) y = y + 1; else y = y -1; z = z + x + y; 17 11 13 16 20 Um laco do-while é útil quando seu corpo: Deve ser executado pelos menos uma vez NDA Pode nunca ser executado Termina após a primeira execução Nunca é executado Marque a alternativa correta. Estrutura em C++ que fornece ciclo de repetição obrigatoriamente pelo menos uma vez. while. do while. do for. Nenhuma resposta acima. while do. Observe o algoritmo abaixo e selecione a opção que resume o que ele faz. Repete enquanto o conteúdo de num não for múltiplo de 5, exibindo o quadrado de cada número digitado excetoo do último Repete enquanto o conteúdo de num não for múltiplo de 5, exibindo o dobro de cada número digitado exceto do último Repete enquanto o conteúdo de num não for múltiplo de 5, exibindo o quadrado de cada número digitado inclusive do último Repete enquanto o conteúdo de num for múltiplo de 5, exibindo o dobro de cada número digitado exceto do último Repete enquanto o conteúdo de num for múltiplo de 5, exibindo o dobro de cada número digitado inclusive do último Existem muitas funções, agrupadas em bibliotecas, disponíveis para a linguagem C++. Um desenvolvedor gostaria de definir o número de casas decimais(3) na saída. Em qual biblioteca e qual(is) a(s) função(ões) que é(são) necessária(s) para que ele consiga fazer o que deseja? cstdlib / setbase(3) cstdlib / fixed(3) / setprecision iomanip / fixed / setprecision(3) iomanip / fixed(3) cstdlib / setprecision(3) Um programador percebeu que, mesmo numerando um menu, existia a possibilidade do usuário, sem querer, pressionar uma tecla que não tivesse algarismo. Por essa razão, resolveu fazer a entrada usando um vetor de char e procurou uma função que pudesse converter para número inteiro a resposta do usuário, mesmo sabendo que poderia retornar 0 se não fosse um número, mas evitaria erro na execução. Selecione a opção onde está presente a função pré-definida que possibilita isso. strlwr(...) charInt(...) atof(...) atoi(...) strupr(...) Um programador gostaria de converter para minúsculas todas as letras de uma profissão, mas sabe-se que o número de caracteres varia. Além de uma estrutura de repetição, precisaria de algumas funções para conseguir o que pretendia. Assinale a opção onde estão presentes essas funções. tolower(...) e toupper(...) strcmp(...) e atoi(...) strlen(...) e tolower(...) strlen(...) e toupper(...) strcat(...) e atoi(...) Uma pessoa iniciante em programação se deparou com um problema quando desejou comparar o conteúdo de um vetor de char com uma palavra específica, pois ele estava usando o operador relacional de igualdade (==). Como era muito curiosa, resolveu pesquisar e encontrou várias funções que manipulavam cadeias de caracteres. Sabendo que ela tinha declarado um vetor de char de nome sigla e que desejava saber se o usuário tinha digitado a sigla CE(Ceará) já convertida para maiúscula em trecho anterior. Assinale a alternativa que resolve o problema dela. char sigla; / if(strcmp(sigla, "CE")= 0) char sigla[3]; / if(strcmp(sigla, "CE")== 0) char sigla[3]; / if(strcmp(sigla, "CE")= 0) char sigla[2]; / if(strcpy(sigla, "CE")= 0) char sigla; / if(strcpy(sigla, "CE")== 0) Considere o algoritmo abaixo, em pseudocódigo: Suponha que os dados de entrada A e NOME sejam, respectivamente, "1" e "Maria". Qual a saída do algoritmo? 5 1 3 2 4 Considere o trecho de código a seguir: Ao final da execução do trecho de código acima, os valores de X e J são iguais, respectivamente, a: 6 e 12. 9 e 12. 7 e 11. 10 e 14 8 e 11. 1a Questão (Ref.: 201701882934) Acerto: 1,0 / 1,0 (ESAF - 2010 - SUSEP - Analista Técnico - Prova 2 - Tecnologia da Informação) Segundo o conceito da Máquina de Von Neumann para os programas de computador (ou instruções) apenas instruções ficam armazenadas. os dados ficam armazenados na memória, não havendo armazenamento de instruções. instruções e dados não são armazenados, com vistas à otimização do uso da memória. instruções e dados são armazenados em memórias distintas. instruções e dados são armazenados na mesma memória. 2a Questão (Ref.: 201702188926) Acerto: 0,0 / 1,0 Levando em consideração a Arquitetura de Computadores baseado em John Von Neumann, qual a área responsável por ler dados dos dispositivos de entrada Unidade de Controle Processador Acumulador Unidade Lógico Aritmética Memória 3a Questão (Ref.: 201701380176) Acerto: 1,0 / 1,0 No Sistema Binário, por ser um sistema posicional assim como o Sistema Decimal, cada posição tem um valor. Assinale a opção onde estão presentes os valores das cinco primeiras posições, começando pela de maior valor(esquerda) e indo para a de menor valor(direita). 10000 / 1000 / 100 / 10 / 1 32 / 16 / 8 / 4 / 2 10 / 8 / 6 / 4 / 2 8 / 6 / 4 / 2 / 0 16 / 8 / 4 / 2 / 1 4a Questão (Ref.: 201701284857) Acerto: 1,0 / 1,0 Qual das seguintes opções não se caracteriza como forma de representação de um algoritmo? Pseudocódigo Fluxograma Convencional Lógica Booleana Portugol Descrição Narrativa Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. 5a Questão (Ref.: 201702121541) Acerto: 0,0 / 1,0 Considerando que o valor de X=3, qual o valor de Y na seguinte expressão aritmética: Y = X%2 + X * X ? 9 12 10 13,5 10,5 6a Questão (Ref.: 201701994257) Acerto: 1,0 / 1,0 O Professor de Lógica de Programação pediu para que seus alunos fizessem um programa que recebesse um salário e realizasse um aumento de 32%, mostrando-o na tela. Para que esse programa faça exatamente isso, a linha que contém pontos de interrogação deveria ser substituída por: novosalario = salario + 32%; novosalario <- salario + 32%; novosalario <- salario * 32/100; novosalario = (salario * 32/100) + salario; novosalario = salario * 32/100; 7a Questão (Ref.: 201701380441) Acerto: 1,0 / 1,0 O comando que permite que o usuário digite um dado, interagindo com o algoritmo é: escolha se enquanto ler escrever Gabarito Comentado. 8a Questão (Ref.: 201701380534) Acerto: 1,0 / 1,0 Um desenvolvedor, ao construir um programa, precisou de uma função que calculasse o produto entre dois números inteiros. Ele construiu uma função, tendo considerado a propriedade de fechamento, isto é, o produto de dois inteiros, inteiro será e colocou a linha abaixo no programa. cout << "Produto = " << multiplicar(a,b); Observe as opções abaixo e escolha aquela onde o protótipo da função está presente. void multiplicar(int a, int b); void multiplicar(int ; int); float multiplicar(int a, int b); int multiplicar(int a, int b) ; void multiplicar(int a, b); Gabarito Comentado. 9a Questão (Ref.: 201701381210) Acerto: 1,0 / 1,0 Selecione a opção que apresenta todos os operadores relacionais da linguagem C++. > < => =< = <> > < >= <= = <> > < >= <= = != > < => =< == <> > < >= <= == != Gabarito Comentado. 10a Questão (Ref.: 201701381195) Acerto: 1,0 / 1,0 Observe o programa abaixo com muita atenção e suponha que você digitou nessa ordem: 2012, 18081907. Selecione a opção cujo conteúdo é igual ao que será exibido na tela. #include using namespace std; int main() { int data, anoAtual, num; cin >> anoAtual; cin >> data; num = anoAtual -data % 10000; if(num >= 10 && num <= 99) cout << data /1000000; else cout << data / 10000; system("pause"); } 1907 1808 81907 8 18 Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. 1a Questão (Ref.: 201701380148) Acerto: 1,0 / 1,0 A CPU (Unidade Central de Processamento) é formada pelos seguintes componentes: Unidade de Controle, Registradores e HD UAL, Registradores e HD UAL, Unidade de Controle e Registradores UAL, Registradores e Memória Principal Teclado, Memória Principal e Registradores Gabarito Comentado. Gabarito Comentado. 2a Questão (Ref.: 201701882928) Acerto: 1,0 / 1,0 O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão de um número da base decimal para um número na base binária. O número 35, se escrito na base binária, equivale a: 1101 0111 0110 0011 0101 1101 0010 0011 0101 1001 Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. 3a Questão (Ref.: 201701380196) Acerto: 1,0 / 1,0 Podemos construir um algoritmo, usando várias linguagens. Assinale a opção CORRETA que representa uma linguagem mais próxima de uma linguagem de alto nível, mas que faz uso da língua nativa e cuja sintaxe fica mais próxima da linguagem de preferência do professor/ autor. Pseudolinguagem Linguagem natural Linguagem gráfica Linguagem de marcação Linguagem computacional 4a Questão (Ref.: 201701380202) Acerto: 1,0 / 1,0 Segundo George Pólya, as quatro fases que deverão ser seguidas para se resolver um problema, na ordem, são: Compreenda o problema, Planeje, Execute o plano e Reflita sobre a solução Planeje, Compreenda o problema, Reflita sobre a solução e Execute o plano Planeje, Execute o plano, Compreenda o problema e Reflita sobre a solução Compreenda o problema, Reflita sobre a solução, Planeje e Execute o plano Compreenda o problema, Planeje, Reflita sobre a solução e Execute o plano Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. 5a Questão (Ref.: 201702246182) Acerto: 0,0 / 1,0 Marque a alternativa correta. Levando em consideração: x = 8; cout <<="" p=""> Será exibido apenas um caracter x. Será exibido o número 8. Será exibido um valor hexadecimal. Será exibido um valor binário. Será exibido zero. 6a Questão (Ref.: 201702104504) Acerto: 1,0 / 1,0 Considere o programa em C++ que ler as 3 notas de um aluno e calcula a média final deste aluno. Considerar que a média é ponderada e que o peso das notas é: 2,3 e 5, respectivamente. Analise o programa e selecione a equação que calcula, corretamente, a média ponderada: #include using namespace std; int main(){ float n1, n2, n3, media; cout<<¿Informe a primeira nota:¿; cin>> n1; cout<<¿Informe a segunda nota:¿; cin>> n2; cout<<¿Informe a terceira nota:¿; cin>>n3; ( ) Equação que calcula a média ponderada. cout<<¿A média ponderada é: ¿<<media<<endl;< p=""></media<<endl;<> return 0; } media = (n1 + n2 + n3)/3; media = (n1*2 + n2*3 + n3*5)/3; media = (n1 + n2 + n3)/10; media = (n1*2 + n2*3 + n3*5)/10; media = (n1 + n2 + n3)/30; 7a Questão (Ref.: 201701380441) Acerto: 1,0 / 1,0 O comando que permite que o usuário digite um dado, interagindo com o algoritmo é: se escolha escrever enquanto ler Gabarito Comentado. 8a Questão (Ref.: 201701501370) Acerto: 1,0 / 1,0 Observe as afirmativas abaixo e assinale a resposta CORRETA I Duas vantagens para se usar funções: Dividir o programa em partes menores e reusá-las em vários programas. II Não é obrigado usar o tipo para cada parâmetro no cabeçalho da função se todos forem do mesmo tipo. Somente um é suficiente. III No protótipo de uma função, podemos usar somente os tipos dos parâmetros, isto é, não precisamos incluir os nomes dos parâmetros. IV Toda variável declarada dentro da função main() é denominada variável Global. V Podemos ter nomes de variáveis iguais declaradas em funções diferentes. I , II e V são verdadeiras II , III e IV são verdadeiras I , III e V são verdadeiras II , IV e V são verdadeiras I , IV e V são verdadeiras Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. Gabarito Comentado. 9a Questão (Ref.: 201701906808) Acerto: 1,0 / 1,0 Entre os operadores lógicos utilizados em C, qual simbolo utilizado para o operador OU? // >> <> \\ || 10a Questão (Ref.: 201702246189) Acerto: 1,0 / 1,0 Marque a alternativa correta. Em um programa em C++ para dizer se um numero é positivo ou negativo. A estrutura adequada seria? while if else. for. do while If else if.
Compartilhar