V Olimpíada Cearense de Informática 22 de Agosto de 2015 Modalidade Programação Leia atentamente as instruções: Confira se os dados impressos no Cartão-Resposta correspondem aos seus. Caso haja alguma irregularidade, comunique-a imediatamente ao Aplicador da Prova. Não serão permitidos empréstimos de materiais, consultas e comunicação entre os candidatos, tampouco o uso de livros e apontamentos. Relógios e aparelhos eletrônicos em geral deverão ser desligados. O não cumprimento dessas exigências ocasionará a exclusão do candidato deste Exame. Aguarde o Aplicador da Prova autorizar a abertura do Caderno da Prova. Após a autorização, confira todas as questões antes de iniciar a Prova. Este Caderno de Prova contém 25 (vinte e cinco) questões objetivas, cada qual com apenas 1 (uma) alternativa correta. No Cartão-Resposta, peencha completamente, com caneta de tinta azul ou preta, o retângulo correspondente à alternativa que julgar correta para cada questão. No Cartão-Resposta, anulam a questão: a marcação de mais de uma alternativa em uma mesma questão, as rasuras e o preenchimento além dos limites do retângulo destinado para cada marcação. Não haverá substituição do Cartão-Resposta em nenhuma hipótese. Não serão permitidas perguntas ao Aplicador da Prova sobre as questões da Prova. A duração desta prova será de 4 (quatro) horas, já incluído o tempo para o preenchimento do Cartão-Resposta. O tempo mínimo para ausentar-se definitivamente da sala é de 1 (uma) hora. Ao concluir a prova, permaneça em seu lugar e comunique ao Aplicador de Prova, sinalizando com uma de suas mãos. Aguarde autorização para devolver, em separado, o Caderno de Prova e o Cartão-Resposta assinado. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 2 TABELA DE CONECTIVOS LÓGICOS Os símbolos a seguir podem aparecer em algumas questões e deverão ser interpretados como descrito aqui. Operador lógico E ( ) A resposta da operação é verdade (V) se ambas as variáveis de entrada forem verdade, ou seja, a operação possui a seguinte tabela-verdade: A B V V V F F V F F V F F F Operador lógico OU ( ) A resposta da operação é verdade (V) se pelo menos uma das variáveis de entrada for verdade, ou seja, a operação possui a seguinte tabela-verdade: A B V V V F F V F F V V V F Operador lógico de negação ( ) Representa a negação (inverso) da variável atual. Se ela for verdade, torna-se falsa, e vice-versa. Tem a seguinte tabela-verdade: A V F F V Operador condicional ( ) A implicação entre duas fórmulas só é falsa se a da esquerda (antecedente) for verdadeira e da direita (consequente) for falsa. Veja a sua tabela-verdade: A B V V V F F V F F V F V V Símbolo de consequência formal ( ) Uma demonstração pode ser representada por uma sequência de proposições, com hipóteses à esquerda do símbolo de consequência formal e as conclusões à direita. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 Questão 1. 3 Dado o pseudocódigo abaixo, assinale a alternativa CORRETA: 1. inicio 2. inteiro x,y,z; 3. leia (x); 4. y <- x; 5. z <- 1; 6. enquanto (z < 10) faça 7. y <- y * x; 8. z <- z + 1; 9. fim enquanto 10. escreva (y); 11. fim (A) (B) (C) (D) (E) O programa calcula a soma de todos os números inteiros positivos menores do que 10. O programa calcula a multiplicação de todos os números inteiros positivos entre 1 e 10. O programa calcula a divisão de todos os números inteiros positivos entre 1 e 10. O programa calcula o valor fornecido pelo usuário elevado à décima potência. O programa calcula o valor fornecido pelo usuário elevado à nona potência. Questão 2. Considere as inferências lógicas abaixo: I1: Se chover então não haverá partida de futebol. A partida de futebol aconteceu. Inferência: Não choveu. I2: Se chover então não haverá partida de futebol. Não choveu. Inferência: A partida de futebol aconteceu. Qual das seguintes afirmações é verdadeira? (A) (B) (C) (D) (E) I1 e I2 são inferências verdadeiras. I1 é uma inferência verdadeira e I2 é falsa. I1 é uma inferência falsa e I2 é verdadeira. I1 e I2 são inferências falsas. Não podemos dar valores lógicos para as inferências por falta de dados. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 4 Questão 3. Na computação, existem várias maneiras de se criar programas, podendo-se usar várias linguagens de programação diferentes. Duas pessoas, Maria e Carlos, desejam desenvolver 4 programas (P1, P2, P3 e P4), cada um em linguagens distintas, sendo elas, Java, C, Python e Pascal. Inspirados por um desejo de testar o conhecimento de um amigo em lógica, eles pedem para que José, um colega contemporâneo, adivinhe a linguagem de, pelo menos, um dos programas. Para deixar as coisas mais divertidas, eles decidiram que Carlos sempre mentiria, enquanto Maria falaria sempre a verdade. A dupla fez as seguintes afirmações: M: P1 está em Python se, e somente se, P3 estiver em Pascal. C: Se P3 está em C então P4 está em Pascal. M: Se P4 está em Java então P1 não está em Pascal. Assim, José pode afirmar que: (A) (B) (C) (D) (E) P4 pode estar em Python. P1 pode estar em Python. P3 não está em C. P1 está em Pascal. P4 está em Java. Questão 4. Sejam P(x,y) o predicado que indica que x é pai de y, e M(x,y) o predicado que indica que x é mãe de y. Dada a seguinte expressão lógica ) ) ) qual o significado dela em português? (A) (B) (C) (D) (E) Todo mundo tem um pai e uma mãe. Todo mundo tem um pai ou uma mãe. Todos os pais são mães. Todas as mães são pais. Todo mundo é mãe e pai. Questão 5. Tem-se os seguintes argumentos: Todo A é B, algum C não é A. Então algum C é B; Todo A é B, algum C não é A. Então algum C não é B; Todo B é A, algum C não é A. Então algum C não é B. O item que indica corretamente a veracidade dos argumentos é: (A) (B) (C) (D) (E) F, F, V. F, F, F. F, V, V. V, V, V. V, V, F. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 5 Questão 6. Em um encontro, há 100 gamers conversando entre si. Cada um deles é fã ou não dos jogos de RPG do século XX. Os seguintes fatos são sabidos: Pelo menos um gamer é fã dos jogos de RPG do século XX. Em cada par de dois gamers, há pelo menos um que não é fã dos jogos de RPG do século XX. Quantos são fãs e quantos não são fãs dos jogos de RPG do século XX? (A) (B) (C) (D) (E) 10 e 90. 1 e 99. 2 e 98. 3 e 97. 50 e 50. Questão 7. Numa caixa com 40 moedas, 5 apresentam duas caras, 10 são normais (cara e coroa) e as demais apresentam duas coroas. Uma moeda foi tirada ao acaso e pelo menos uma de suas faces era uma coroa. A probabilidade de a outra face desta moeda ser uma coroa é: (A) (B) (C) (D) (E) 7 / 8. 5 / 7. 5 / 8. 3 / 5. 3 / 7. Questão 8. Tome as demonstrações como verdadeiras, mesmo estando em desacordo com os fatos comumente conhecidos. Demonstrações: Alguns cães são ratos. Todos os ratos são árvores. Algumas árvores não são cães. Conclusões: I - Algumas árvores são cães. II - Todos os cães são árvores. III - Todos os ratos são cães. IV - Nenhuma árvore é um cão. Qual das conclusões são logicamente verdadeiras a partir das demonstrações? (A) (B) (C) (D) (E) Nenhuma das conclusões. Apenas a I. Apenas a I e a II. Apenas a II e a III. Todas as conclusões. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 6 Questão 9. Criptografia é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por alguém não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com facilidade. Um exemplo de criptografia seria transformar o trecho “03Texto ” em “63 qvzgV”, seguindo os seguintes passos: 1º - Cada caractere alfa numérico deve ser deslocado três posições para a direita no conjunto alfa numérico, ou seja, ‘a’ vira ‘d’, ‘y’ vira ‘1’, ‘8’ vira ‘b’ e assim por diante; 2º - o trecho deverá ser invertido; 3º - todo e qualquer caractere a partir do terceiro em diante deverá ser deslocado uma posição a esquerda do conjunto alfanumérico. Obs: Manter letras em maiúsculas e minúsculas. Espaços não contam como letras. Diversas mensagens estranhas estão sendo enviadas para agência onde você trabalha, muitas estão criptografadas da maneira apresentada acima, sendo assim, seu chefe o encarrega de descriptografar as mensagens para descobrir o que elas querem dizer. Ao iniciar o serviço, você se depara com este trecho: “ks2 9n4frzx”. Depois da descriptografia (traduzir trechos criptografados), qual é a mensagem verdadeira? (A) (B) (C) (D) (E) vv.xwfxo.fd. vxpd2j7 0ph. gi1r6hyz xx. vv4xwfxo fd. rvzgV 7se. Questão 10. Maria vai se casar amanhã em uma cerimônia ao ar livre no deserto. Nos últimos anos tem chovido apenas 5 dias a cada ano. Infelizmente, o meteorologista previu uma chuva para amanhã. Quando realmente chove, o meteorologista prevê corretamente a chuva em 90% dos casos. Quando não chove, ele prevê incorretamente a chuva em 10% dos casos. Qual a probabilidade de chover no dia do casamento de Maria? Observação: Considere 1 ano com 365 dias. (A) (B) (A) (B) (C) 0,567. 0,111. 0,332. 0,732. 0,900. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 7 Questão 11. Considere a seguinte expressão lógica e sua representação no formato de árvore: ¬((¬R (¬P R)) (¬Q → ¬R)) = φ Tal árvore facilita em muito o teste de certas validações. Marque o item que corresponde a uma validação e seu resultado de forma correta. (A) (B) (C) (D) (E) Se R = F; P = V; Q = V; então φ = F. Se R = V; P = V; Q = F; então φ = F. Se R = V; P = F; Q = V; então φ = F. Se R = F; P = F; Q = V; então φ = V. Se R = V; P = F; Q = V; então φ = V. Questão 12. Certa vez o governante de um grande reino da idade média organizou um torneio de justas entre todos os seus cavaleiros cujo o prêmio para o campeão era a mão de sua bela filha. Dentre os cavaleiros estavam Henry, o nobre cavaleiro das safiras e Hugh, o impetuoso cavaleiro dos rubis. Sejam G(x,y) um predicado que indica que x ganha de y, C(x) um predicado que indica que x é um cavaleiro, P(x,y) um predicado que indica que x perde de y, s representando Henry e r representando Hugh. Desta forma, como ficaria a seguinte sentença traduzida em uma sentença lógica? “Se Henry, o nobre cavaleiro das safiras ganhar de Hugh, o impetuoso cavaleiro dos rubis, então Henry não perderá de nenhum outro cavaleiro.” (A) (B) (C) (D) (E) ) ) ) ) ) ) ) ) ) ) ))) )) )) OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 8 Questão 13. Temos a sentença “Se nenhum A é B, então todo C é D”. Sabendo que a frase não é verdade, a afirmação correta seria: (A) (B) (C) (D) (E) Nenhum A é B e existe ao menos um C que não é D. Nenhum A é B ou existe ao menos um C que não é D. Todo A é B ou todo C é D. Existe um A que é B ou todo C é D. Existe um A que é B e todo C é D. Questão 14. George estava a caminho para a Olimpíada Cearense de Informática quando, por não olhar para os dois lados da rua, foi atropelado por um carro que vinha na contramão. Por sorte, seu amigo Fred estava por perto e imediatamente ligou para a ambulância. Fred havia estudado Lógica para a prova e logo tentou concluir se seu amigo seria ou não salvo: “A ambulância está a caminho. Se ela chegar nos próximos vinte minutos, ele sobreviverá. Portanto, ele sobreviverá, pois se a ambulância está a caminho e ela chegará nos próximos vinte minutos.” Analisando as frases de Fred, como podemos convertê-las de forma apropriada para uma escrita lógica formal? Considere que cada afirmação e condição assume a forma de uma letra maiúscula. (A) A, C v SㅏS. (B) A, C→S ㅏS, A→C. (C) A→C→S ㅏS, A. (D) A, C→S, A→C ㅏS. (E) Nenhuma das anteriores. Questão 15. Em uma urna há 3 tipos de bolas, com x bolas de cada tipo. Nessas bolas está escrito 4, 6 ou 8. Em uma segunda urna, há 5 tipos de bolas, com x bolas de cada tipo, mas nesse caso as bolas estão escritas com 2,4,6 ou 8. Em um concurso, uma pessoa é convidada a retirar uma bola de uma dessas urnas e o valor da bola que sair será multiplicado por mil e será dado ao participante como prêmio. Em termos de probabilidade, qual urna ele deve escolher e por quê? (A) (B) (C) (D) (E) A primeira, pois a media dos valores é maior. A segunda, pois a chance de sair o valor médio é maior. Não importa, pois o valor médio é o mesmo. A segunda, pois a chance de dar o maior valor é maior que de dar o menos valor. A primeira, pois o menor valor é maior que o da segunda. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 9 Questão 16. Em uma urna I há 1 bola preta e 9 brancas; em uma urna II há n bolas pretas e, o restante, brancas, sendo o total de bolas dessa urna igual ao da I. Podem ser realizados 2 procedimentos: 1º - uma bola é retirada de cada urna; 2º - as bolas das urnas I e II são unidas em uma urna III e, em seguida, 2 bolas são tiradas. Qual o valor mínimo e máximo de n para que a probabilidade de saírem 2 bolas pretas no 2º procedimento seja maior que no 1º? (A) (B) (C) (D) (E) 1 e 10. 3 e 10. 2 e 9. 3 e 9. 2 e 10. Questão 17. Marque a opção que apresenta a(s) variável(is) declarada(s) que possuirá(ão) ao final valor 0 (zero) no algoritmo a seguir: 1. Inicio 2. a1 , a2, a3 3. a1 = 1 4. a2 = 2 5. a3 = 3 6. 7. Enquanto (a3 > 0) faça 8. a2 = a3 9. a1 = a3 - 1 10. a3 = a1 11. a2 = a2 + 1 12. Fim Enquanto 13. Fim (A) (B) (C) (D) (E) a2, a3. a1, a2, a3. a1, a2. a1, a3. a3. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 10 Questão 18. Através de uma determinada técnica de programação, um algoritmo pode tornar-se mais legível e de melhor compreensão. Tal técnica consiste em, ao invés de utilizar laços de repetição para aumentar o valor de uma determinada variável ou computar diferentes variáveis para chegar a um determinado resultado, criar uma sub-rotina dentro das funções presentes no algoritmo. Esta sub-rotina invoca (chama) a mesma função a qual pertence. Qual o nome desta técnica? (A) (B) (C) (D) (E) Árvore binária. Lista circular. Recursividade. Fila circular. Pilha circular. Questão 19. O bubble sort, ou ordenação por flutuação (literalmente "por bolha"), é um algoritmo de ordenação dos mais simples. A ideia é comparar dois elementos a partir do início e trocá-los de posição, até que os elementos de maior valor sejam levados para o final do vetor. De acordo com as características apresentadas, podemos destacar como desvantagens do bubble sort, exceto: (A) (B) (C) (D) (E) Complexidade. Número de trocas. Tempo em excesso. Armazenamento em memória. Limite de dados. Questão 20. Quando se trabalha com linguagens de programação, devemos conhecer as especificidades de cada linguagem às quais nos propomos a trabalhar. Um exemplo disso é o fato de algumas linguagens serem “case sensitive”, ou seja, letras maiúsculas e minúsculas fazem diferença. Pamella e Thayane estavam estudando linguagens de programação e fizeram as considerações abaixo. Qual delas está incorreta? ( A ) Posso programar fazendo o uso de linguagens “case sensitive” as funções Soma, SoMa, SOMA que todas elas serão interpretadas de forma diferente. ( B ) A linguagem C é “case sensitive” pois os comandos for e FOR representam ações diferentes. ( C ) Na estrutura de um programa ao declarar a variável ‘oci’ usando linguagem “case sensitive” em nenhuma outra linha de meu código posso declarar outras variaveis do tipo OCI. ( D ) Os comandos if e for só podem ser escritos em minúsculos senão o compilador não irá interpretá-los como sendo comandos em linguagem C. ( E ) Se tenho if e IF, posso dizer que o primeiro representa um comando e o segundo uma variável em linguagem C. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 11 Questão 21. Dependendo do propósito ao qual está a escrever seu código em linguagem C, existem técnicas básicas que facilitam e até melhoram o desempenho de seu programa. Um desses “truques” são os chamados modificadores de acesso. A relação correta encontra-se em: 1- const 2- volatile 3- static 4- register ( ) Diz ao compilador que a variável em questão deve ser usada em estrutura diferente da memória principal. ( ) Depende do tipo de variável, se local ou global. Normalmente relacionada a restrição, estabilidade. ( ) Seu uso faz com que a variável não possa ser modificada no programa. ( ) Diz ao compilador que a variável pode ser alterada a qualquer momento sem que o compilador seja notificado. (A) (B) (C) (D) (E) 4 - 2 - 3 - 1. 4 - 3 - 2 - 1. 4 - 1 - 3 - 2. 4 - 3 - 1 - 2. 4 - 2 - 1 - 3. Questão 22. A figura abaixo representa graficamente parte das amizades de João (boneco cinza) e Maria (boneco preto) numa certa rede social. Um traço entre dois bonecos indica que eles são amigos. Os amigos de uma pessoa estão no nível 1 de amizade em relação a essa pessoa, os amigos dos amigos dessa mesma pessoa estão no nível 2, e assim por diante. João vai dar uma festa e quer que Maria vá, mas para disfarçar ele vai convidar todo mundo da sua rede de amigos com nível de amizade igual ou inferior ao nível de amizade entre ele e Maria. Quantas pessoas João vai convidar? (A) (B) (C) (D) (E) 15. 20. 10. 13. 18. OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 12 Questão 23. Abaixo são mostradas as restrições para aspirantes a soldado quanto a peso, altura e idade: i) Soldados devem ter peso (P) entre 70Kg e 100Kg; ii) Soldados devem ter altura (A) entre 1,70 m e 2,00 m iii) Soldados devem ter idade (I) entre 18 e 22 anos. O trecho de algoritmo, em pseudo-código, que verifica corretamente se os dados se enquadram nas restrições fornecidas é: ( A ) SE (P > 70 e P < 100) ou (A > 1,7 e A < 2) e (I > 18 e I < 22) ENTÃO imprima (“APROVADO”) SENÃO imprima (“REPROVADO”) ( B ) SE (P > 70 e P < 100) e (A > 1,7 e A < 2) e (I > 18 e I < 22) ENTÃO imprima (“APROVADO”) SENÃO imprima (“REPROVADO”) ( C ) SE (P > 70 e P < 100) e (A > 1,7 e A < 2) ou (I > 18 e I < 22) ENTÃO imprima (“APROVADO”) SENÃO imprima (“REPROVADO”) ( D ) SE (P > 70 ou P < 100) e (A > 1,7 ou A < 2) e (I > 18 ou I < 22) ENTÃO imprima (“APROVADO”) SENÃO imprima (“REPROVADO”) ( E ) SE (P > 70 ou P < 100) ou (A > 1,7 ou A < 2) ou (I > 18 ou I < 22) ENTÃO imprima (“APROVADO”) SENÃO imprima (“REPROVADO”) OLIMPÍADA CEARENSE DE INFORMATICA – OCI 2015 13 Questão 24. Snippy, Pilot e Engie são três amigos que fazem parte do mesmo esquadrão de combate. Os três usam armas diferentes e, por isso, tem chances diferentes de acertar um alvo. Os três voltavam calmos de uma batalha quando avistaram, muito distante, um inimigo fujão. O trio tem, respectivamente, 20%, 30% e 15% chances de acertar naquela distância. Quais as chances de ao menos um deles acertar o tiro? (A) (B) (C) (D) (E) 30%. Pouco mais de 50%. Aproximadamente 22%. 10%. Acima de 60%. Questão 25. Considere o trecho de um algoritmo em pseudo-código, que mostra comandos condicionais (se/senão-então) aninhados com início e fim delimitados por { }: se(X) então{ comando A; comando B; } senão{ se(Y) então{ comando C; } senão{ comando D; } } comando E; Assinale o item correto: ( A ) Independente dos valores de X e Y, três dos cinco comandos serão executados sempre. ( B ) Existe uma combinação de valores de X e Y, em que o comando E não é executado. ( C ) Se X for falso, o comando B será executado. ( D ) Se X for verdadeiro, somente o comando B será executado. ( E ) Se X for falso e Y for verdadeiro, então os comandos C e E serão executados.