CADERNO DE PROBLEMAS

Documentos relacionados
2 Segmentação de imagens e Componentes conexas

Unidade 1: O Computador

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

FATURA ELETRÔNICA DO PRESTADOR Layout do Arquivo Texto Versão 1.1.1

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

Manual do Usuário. VpetConverter Ferramenta para adequação de documentos para Petições Eletrônicas.

MODELAGENS. Modelagem Estratégica

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

Manual Mobuss Construção - Móvel

epucc.com.br SAIBA COMO INCLUIR INFORMAÇÕES DE COLABORADORES, CENTROS DE CUSTO E RATEIO DE DESPESAS

Manual do Desenvolvedor Geração de Tokens

Sefaz Virtual Ambiente Nacional Projeto Nota Fiscal Eletrônica

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA

OPERAÇÕES COM FRAÇÕES

Conteúdo programático

Exercício. Exercício

MANUAL DE INSTALAÇÃO SAT DIMEP PDV CAKE

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

COBRANÇA BANCÁRIA CAIXA

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

Processamento Digital de Sinais. Conversão A/D e D/A. Prof. Dr. Carlos Alberto Ynoguti

Auditoria de Meio Ambiente da SAE/DS sobre CCSA

DISTRIBUIÇÕES ESPECIAIS DE PROBABILIDADE DISCRETAS

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

Disponibilizada a rotina Vale Presente (LOJA830) no módulo Controle de Lojas (SIGALOJA), assim como já é utilizada no módulo Front Loja (SIGAFRT).

Orientações para Inscrição do Grupo e Projeto de Pesquisa

COMO CRIAR UM PEDIDO DE COMPRAS

Redes de Computadores

[RESOLUÇÃO] Economia I; 2012/2013 (2º semestre) Prova da Época Recurso 3 de Julho de 2013

PROGRAMAÇÃO DE COMPUTADORES

8 Crie um pequeno sistema para controle automatizado de estoque, com os seguintes registros:

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

Análise Qualitativa no Gerenciamento de Riscos de Projetos

TESTES SOCIOMÉTRICOS

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA SOCIEDADE PONTO VERDE

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

A 'BC' e, com uma régua, obteve estas medidas:

Modelo Comportamental

MicroWork TOUCH CHECKLIST

LEUCOTRON EQUIPAMENTOS LTDA ROTEIRO DE INTERLIGAÇÃO SIP ACTIVE IP COM REGISTRO

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Experiência 04: Comandos para testes e identificação do computador na rede.

Treinamento de e-commerce

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

VERSÃO RESPOSTAS PROVA DE MARKETING

REGULAMENTO VI COPA LOC GAMES DE FUTEBOL DIGITAL

Programação para Web HTML - Parte 2

MODELO SUGERIDO PARA PROJETO DE PESQUISA

Tabelas Hash. Aleardo Manacero Jr.

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

com Utilização do Código de Barras VERSÃO 04

aplicação arquivo Condições Gerais de Utilização

Fundamentos de Programação. Diagrama de blocos

Arquitecturas de Software Enunciado de Projecto

Módulo: M_CONFIRMA_AGENDAMENTO - Confirmação dos Agendamentos

PROCEDIMENTO INSTALAÇÃO SINAI ALUGUEL

Formas de Pagamento Resumida Vendas Vendedor Vendas Vendedor Resumido Vendas Vendedor Caixa Vendas por Artigos...

Prof. José Maurício S. Pinheiro - UGB

Sumário. CEAD - FACEL Manual do Aluno, 02

ANEXO III. Roteiro para Apresentação de Projetos do Tipo C R$ ,00 a R$ ,00

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Prova de Fundamentos de Bancos de Dados 1 a Prova

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

MANUAL DO AVALIADOR O que é uma Feira de Ciência? Por que avaliar os trabalhos? Como os avaliadores devem proceder?

5.2.4 Análise de LCR segundo o tempo Regras de marcação LCR

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

REGIMENTO INTERNO RECOMENDADO PARA O ROTARY CLUB

MÓDULO 2 Topologias de Redes

Manual do Usuário (Firma Inspetora) Versão 1.8. CMCP - Controle da Marcação Compulsória de Produtos

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

Título do Case: Categoria: Temática: Resumo: Introdução:

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

MANUAL DE INTEGRAÇÃO FORTES AC PESSOAL / CONTÁBIL

Auxílio Estudantil Fase de análise

Leiaute de arquivos XML para Carta-Circular 3254

Análise e Resolução da prova de Agente de Polícia Federal Disciplina: Raciocínio Lógico Professor: Custódio Nascimento

Introdução à orientação a objetos

Fluxo de caixa, valor presente líquido e taxa interna de retorno 1

Engenharia de Software II

Classificação de Ativo Orçamento e Provisão de Despesa

Métricas de Software

ORGANIZAÇÃO E ADMINISTRAÇÃO DA EDUCAÇÃO FÍSICA Aula 25/08

Matriz de Referência de Matemática da 8ª série do Ensino Fundamental Comentários sobre os Temas e seus Descritores Exemplos de Itens

REGIMENTO ESPECÍFICO BASQUETEBOL. Câmara Municipal de Lisboa e Juntas de Freguesia Olisipíadas 2ª edição

RETIFICAÇÃO DE EDITAL DO PROCESSO LICITATÓRIO Nº. 045/2.016 DEPARTAMENTO DE COMPRAS E LICITAÇÕES

Transcrição:

CADERNO DE PROBLEMAS

Arquivo: ilogica.[cpp/c/java] Cor: rosa Limite de tempo: 2s PROBLEMA A: ilogica Uma empresa de eletrônicos chamada ilógica está desenvolvendo um simulador para seu modelo de DLP (dispositivo lógico programável). Um DLP pode ser configurado para armazenar um circuito lógico que, dado um determinado número de entradas lógicas (verdadeiro ou falso), forneça uma saída lógica. O simulador realizará a mesma tarefa. Por isso, ele deve interpretar o código usado para programar o DLP e dar a mesma resposta. Você, um engenheiro conceituado da FACENS, foi contratado para programar a parte do simulador que interpretará expressões lógicas usado no código do simulador. As expressões lógicas são compostas de algumas operações lógicas conhecidas, a saber: Operação AND : para duas entradas lógicas verdadeiras, essa operação resulta em uma saída verdadeira. Em qualquer outro caso, a operação resulta em uma saída falsa. Operação OR : para qualquer entrada lógica verdadeira, essa operação resulta em uma saída verdadeira, Em caso de duas entradas lógicas falsas, a saída será falsa. Operação NOT : para uma entrada verdadeira, a saída será falta, e, para uma entrada falsa, a saída será verdadeira. As entradas e saídas verdadeiras podem ser representadas pelo número 1. Já as entradas e saídas falsas podem ser representadas pelo número. Nesse caso, temos as tabelas para as entradas e saídas em cada operação: Operação AND Operação OR Operação NOT s s 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A expressão lógica que o simulador vai interpretar segue o seguinte modelo: A and B operação AND tendo como entrada as variáveia A e B A or B operação OR tendo como entrada as variáveis A e B not A operação NOT tendo como entrada a variável A.

Uma expressão poder ser uma combinação dessas operações, como nos seguintes exemplos: A and B not B or A C and A or D and not B not B or not A and B or C and not D or E or F A or A Para interpretar uma expressão, é necessário saber a precedência das operações. A operação not tem maior precedência, seguida da operação and e por último, a operação or. Ou seja, ao analisar a expressão, primeiro resolvem-se as operações not, na sequência as operações and e, no final, as operações or. A entrada é composta de vários casos de teste. Cada caso de teste possui 2 linhas. A primeira linha é a expressão a ser processada (com um máximo de 2 caracteres). A segunda linha é o valor de cada uma das variáveis de entrada, separados por espaço, sempre iniciando em A e seguindo na sequência, dependendo do número de variáveis (B, C, D, E e F). O número máximo de variáveis é 6. O valor -1 na primeira linha de uma entrada indica o final dos casos de teste. Para cada caso de teste deverá ser apresentado um valor, ou 1. A and B 1 not A or B and C A and B or C and not D 1 1 A and B or C and not D 1 1 not A and not B and not A A or A -1 1 1

Arquivo: thecode.[cpp/c/java] Cor: amarelo Limite de tempo: 1s PROBLEMA B: SHOW ME THE CODE Após a repercussão de alguns atentados virtuais ao redor do globo, segurança digital está em alta no mercado. Aproveitando a oportunidade, você arrumou um emprego em uma empresa especializada em codificação e decodificação de mensagens. Como sua primeira tarefa, uma série de códigos e sua decodificação numérica lhe foram entregues. Você precisa identificar qual é o padrão de codificação e tentar quebrálo, escrevendo um programa que converta as mensagens codificadas no seu código numérico. Sua única pista é que o criador do código adora utilizar as formas dos símbolos na codificação. A única dica que lhe foi dada é que o criador dos códigos gosta muito de utilizar formas de símbolos para criar suas criptografias. A entrada é composta de vários códigos. Cada código C é um número entre zero e 99.999. O código -1 indica o final dos códigos. Para cada caso de teste deverá ser apresentado um valor numérico que corresponde a decodificação do código. 3 8 1 552 44 999 8114 87856 8163 7545 62598 15943 47214 36159 783 9272 7378 86521 8797 137 27514-1 2 3 6 6 3 9 5 6 9 6 11 13 9 4 7 6 8 5 7 12

Arquivo: avenidas.[cpp/c/java] Cor: roxo Limite de tempo: 1s PROBLEMA C: PROMESSAS DE CAMPANHA Sendo um ativista político em um ano de eleições, você decidiu que era hora de ajudar o seu partido. Como primeira tarefa o candidato a prefeito pediu que você construísse um programa que o ajude a determinar quais avenidas ele construirá caso seja eleito. Para tal tarefa seu programa deve receber uma lista de possíveis avenidas (essa lista contém os bairros interligados e a qualidade das avenidas) e, a partir dela, deve definir quais delas devem ser construídas segundo as seguintes regras: O menor número de avenidas deve ser construído; A qualidade das avenidas deve ser maximizada; Deve ser possível sair de um bairro e chegar a qualquer outro utilizando apenas as avenidas construídas; Para ajudá-lo a resolver o problema seguem algumas características interessantes das avenidas contidas na lista: Duas avenidas nunca possuem a mesma qualidade; Todas as avenidas são de mão dupla; Pode existir mais de uma avenida ligando dois bairros; A imagem abaixo ilustra o primeiro caso de teste. A entrada é constituída de vários casos de teste. Cada caso de teste começa com o valor N, que corresponde a quantidade de possíveis avenidas. Em seguida, são informadas N avenidas no formato A B1 B2 Q, que representam o identificador da avenida, o primeiro bairro, o segundo bairro e a qualidade da avenida, respectivamente. O final de entrada é indicado por N =. As restrições são: 1 <= N <= 1 1 <= A <= 5 1 <= B1 <= 5 1 <= B2 <= 5 1 <= Q <= 1

A saída deverá ser composta por uma linha contendo a lista de avenidas que serão construídas separadas por vírgula e ordenadas pelo identificador. 5 2 2 3 11 4 4 5 13 1 1 2 1 3 3 4 12 5 1 4 2 3 1 1 2 5 3 1 3 1 2 2 3 11 2,3,4,5 1,2

Arquivo: lingreg.[cpp/c/java] Cor: branco Limite de tempo: 1s PROBLEMA D: LORD OF THE TOKENS Na teoria de compiladores duas etapas são necessárias para se construir um compilador. Essas etapas são chamadas de análise e síntese. Um compilador é um programa que lê uma entrada escrita em uma linguagem (código fonte) e o traduz num programa equivalente numa outra linguagem (programa alvo). Conceitualmente, um compilador opera em fases, cada uma das quais transforma o programa fonte de uma representação para outra. Sua equipe foi contratada para desenvolver um programa que utilizando os conceitos de compiladores (considere apenas a fase léxica e sintática) construa um programa que receba como entrada registros no seguinte formato (Nome da faculdade, RA e disciplinas) e diga se foram ou não reconhecidos. Na fase da análise léxica são identificados os tokens reconhecidos pela linguagem definida e na análise sintática são identificados se esses tokens estão adequadamente posicionados. Um token é uma sequência justaposta de caracteres. A entrada é constituída de vários casos de teste. Cada caso possui o nome da faculdade (apenas letras maiúsculas), o RA (apenas números) e o nome das disciplinas (cada disciplina contém apenas 2 letras maiúsculas e 3 algarismos). O programa deverá ser encerrado quando a linha se iniciar com $. A saída será composta pela palavra reconhecida ou nao reconhecida. FACENS 123456 XY123 WR456 A 12 AB123 FaCENS 8 AB123 $ reconhecida reconhecida nao reconhecida

Arquivo: moleculas.[cpp/c/java] Cor: verde Limite de tempo: 1s PROBLEMA E: MOLECULAS O laboratório de pesquisas modernas, LPM, está trabalhando com experimentos moleculares altamente avançados. O laboratório está desenvolvendo uma nova técnica para realizar dobras em sequências de moléculas, gerando um sequenciamento ligado entre si. O procedimento em si depende de uma reorganização estrutural da sequência, de forma que a dobra possa ser realizada. Como o procedimento só pode ser realizado em algumas circunstâncias, o LPM possui muitos problemas já que normalmente as sequências podem possuir um número muito grande de moléculas. O exemplo abaixo mostra quando uma dobra pode ser realizada e como é o procedimento: Sequência de moléculas originais B C D C B A D A Molécula reorganizada para realizar a dobra B C D A A D C B Molécula dobrada B C D A B C D A Para auxiliar no desenvolvimento da técnica, o LPM está solicitando a sua ajuda para identificar os sequenciamentos de moléculas que podem ser dobrados. A entrada do problema é composta por uma cadeia de caracteres, onde cada caractere corresponde a uma molécula diferente. A cadeia é composta por N caracteres, onde <N<5. A entrada se encerra com uma sequência vazia. A saída é composta por um texto indicando se é possível realizar a dobra ou não. BCDCBADA ABCDPQRABC ORRPOXTPT NHJIJJHN SIM NAO SIM NAO

Arquivo: qmm.[cpp/c/java] Cor: preto Limite de tempo: 1s PROBLEMA F: QUANTO MAIS MELHOR O fotografo Chico Treva é nacionalmente conhecido pelo perfeccionismo nas imagens que publica. Para chegar a essa perfeição, ele normalmente tira 3 ou 4 fotos do mesmo cenário para escolher a melhor. Porém em um dos seus últimos trabalhos ele, como sempre fez, fotografou diversas vezes a cena, mas devido a um problema na câmera, todas as imagens saíram com ruídos aleatórios. Como o prazo para entrega do material estava apertado, não seria possível refazer todas as fotos. Dessa forma, ele recorreu a computação para tentar resolver o problema. A solução encontrada foi utilizar a sequência de imagens de um mesmo objeto para calcular uma imagem média e eliminar o ruído e tomar a imagem mais nítida, uma das características dos trabalhos do Chico. A entrada é composta de vários casos de testes, sendo que a primeira linha deve conter as dimensões das imagens (1 <= X <= 1 e 1 <= Y <= 1), na linha seguinte o número de imagens que serão utilizadas para calcular a imagem média e por fim as imagens, representadas por uma matriz de caracteres ASCII. Os casos de testes terminam quando as dimensões da matriz forem -1-1. Para cada caso de teste, a saída deverá conter uma matriz do mesmo tamanho das imagens de entrada com a imagem média.

3 3 4 ABA AAB ABA BAA 4 4 3 **** ***+ **** +*** **** ***+ ***+ **** **** ***+ +*** -1-1 SIM NAO SIM NAO

PROBLEMA G: JUROS POR TUDO QUE É MAIS SAGRADO Arquivo: juros.[cpp/c/java] Cor: laranja Limite de tempo: 1s O novo presidente da empresa onde você trabalha pediu que uma nova informação fosse adicionada ao relatório mensal de despesas. Atualmente, o relatório exibe, entre outras coisas, o valor dos juros mensal do empréstimo realizado para expandir a empresa. Agora, o presidente deseja saber o valor dos juros diário de tal empréstimo. Para calcular o valor dos juros diário você deve considerar a quantidade de dias do mês do relatório; considere que fevereiro sempre possui 28 dias. Dica: o valor dos juros diário deve ser calculado como juros composto. A entrada é constituída de vários casos de teste. Cada caso de teste possui dois valores J e M que correspondem ao valor dos juros mensais e o mês do relatório, respectivamente. O final de entrada é indicado por J = M =. Restrições: 1. <= J <= 9.99 1 <= M <= 12 A saída deverá ser composta por uma linha contendo o valor dos juros diário do empréstimo realizado com precisão de dez casas decimais. 7.53 2 1.8 3 5.67 12.25962149%.346579288%.178642964%

Arquivo: placar.[cpp/c/java] Cor: azul Limite de tempo: 5s PROBLEMA H: PLACAR RETURNS A Liga Nacional de Basquete (LNB) foi lançada em Dezembro de 28, reunindo as principais lideranças e os mais representativos clubes do basquete brasileiro, com o objetivo de reconduzir o esporte ao posto de segundo mais popular do Brasil, atrás apenas do futebol. A LNB conta com 18 clubes associados, que participam do Novo Basquete Brasil (NBB), campeonato brasileiro masculino adulto, organizado pelos clubes. Devido à intenção de recuperar a popularidade desse esporte, são feitos investimentos e pesquisas para melhorar a sistemática das partidas, o desempenho dos jogadores e a atuação dos árbitros. Dentro desse contexto, uma confederação de basquete contratou a sua equipe para desenvolver um programa que, a partir do placar final de um jogo e do número de lances livres convertidos por cada equipe, determine quantas possíveis sequências de cestas existem para chegar ao placar final. A entrada é composta de vários casos de teste. Cada caso de teste possui quatro valores, sendo os dois primeiros os totais de pontos marcados pelas equipes e os dois últimos os lances livres convertidos por elas respectivamente. Todas as entradas pertencem ao intervalo [1, 1]. O valor -1 na primeira posição de uma entrada indica o final dos casos de teste. Para cada caso de teste deverão ser apresentadas quantas possíveis sequências de cestas existem para chegar ao placar final. 2 2 2 2 2 2 4 4 2 2 5 9 6 9 6 8 6-1 6 2 18