O Máximo Divisor Comum (MDC) de dois ou mais números inteiros, positivos e diferentes de zero é o maior (máximo) número inteiro que divide simultaneamente esses dois ou mais números. Os exemplos a seguir ilustram o cálculo do MDC.
| Números | MDC |
| 90, 12 | 6 |
| 23, 17 | 1 |
| 1024, 2048, 256, 48 | 16 |
Item 1
Descreva em português, sucinta e precisamente, o passo a passo de um algoritmo eficiente que calcula o MDC de dois números inteiros, positivos e diferentes de zero.
Observações sobre o texto apresentado:
a) deve respeitar rigorosamente a especificação;
b) deve ser claro e organizado;
c) não deve conter comentários e/ou justificativas;
d) não deve incluir trechos que estejam fora do escopo da solução.
Item 2
Codifique um(a) método/função intitulado(a) MDCmulti que calcule e retorne o MDC de um conjunto de números, ou seja, o maior (máximo) número que divide simultaneamente todos os números do conjunto fornecido. A função, ou método, recebe apenas um parâmetro, na forma de um array, contendo dois ou mais números inteiros, positivos e diferentes de zero. Esse parâmetro não deve ser validado, pois supostamente estará sempre correto. Uma dica útil: MDC(a,b,c) = MDC(MDC(a,b), c).
O código deve ser integralmente codificado numa única linguagem, que pode ser Java ou JavaScript. Nenhuma outra será aceita.
ü Caso a linguagem escolhida for JavaScript, basta codificar uma função (function); eventuais funções auxiliares devem adotar o mesmo padrão;
ü Caso a linguagem escolhida for Java, basta codificar um método (static), não sendo necessário apresentar as demais declarações que constituem a classe; eventuais métodos auxiliares devem adotar o mesmo padrão.
ü Para facilitar a codificação, é permitido supor, e utilizar opcionalmente, um(a) método/função preexistente, intitulado(a) MDCdue, que retorna o MDC de dois números inteiros, a e b, positivos e diferentes de zero, recebidos como parâmetros de acordo com os modelos a seguir. O método/ função MDCdue pode ser invocado(a) no código apresentado sem necessidade de codificar sua implementação, e o resultado retornado é suposto correto. Nenhum(a) outro(a) método/função adicional, oriundos de bibliotecas, módulos ou frameworks, e afins, pode ser empregado(a) no código apresentado.
| Codificação JavaScript | Codificação Java |
| function MDCdue(a, b) { ———- return (x); } |
static int MDCdue(int a, int b) { ———- return (x); } |
Observações sobre o código apresentado:
a) deve manter a assinatura especificada e respeitar rigorosamente as especificações;
b) deve respeitar a sintaxe da linguagem de programação escolhida;
c) não deve conter comentários ou incluir trechos fora do código requisitado, pois serão considerados erros de sintaxe.
CONTEÚDO EXCLUSIVO
Confira nossos planos especiais de assinatura e desbloqueie agora!
Ops! Esta questão ainda não tem resolução em texto.
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Os contratos inteligentes têm se tornado mais populares nos últimos anos, principalmente devido à ascensão das criptomoedas e criação de diversas redes blockchain. Embora ainda seja um conceito relativamente novo para muitas pessoas, organizações públicas e privadas, é uma tecnologia que está mudando as formas de como se realizam transações, eliminando intermediários e aumentando a segurança das transações.
a) Explique o que é uma rede blockchain.
b) Explique como funcionam os mecanismos de consenso em uma rede blockchain e apresente dois exemplos de utilização.
c) Explique o que são contratos inteligentes e apresente um exemplo de utilização.
Analise o código JavaScript da função XPTO exibido a seguir.
function XPTO(valor, lista) {
var i = 0;
var posicao = -1;
for (i = 0; i < lista.length; i++) {
if (lista[i] == valor) {
posicao = i;
}
}
return posicao;
}
A função percorre um array contendo números inteiros e retorna a posição de um determinado número. Se esse número não é encontrado no array, a função retorna o valor -1. O número procurado e o array são fornecidos como parâmetros. Note que o código, como apresentado, executa tantos ciclos quantos forem os elementos na lista.
Por exemplo,
XPTO (11, [2, 1, 3, 4, 7, 8, 10, 12]) retornaria -1, e percorreria 8 ciclos.
XPTO (13, [1, 2, 3, 5, 8, 13, 21]) retornaria 5, e percorreria …
A analista de sistemas Joana do TJRN recebeu a seguinte demanda dos gestores do Tribunal: desenvolver uma solução tecnológica para apoiar a tomada de decisão respondendo perguntas analíticas. Para começar, Joana levantou o primeiro requisito analítico: quantidade de processos judiciais por instância, por cidade e por data (ano e mês). A partir disso, Joana decidiu implementar o Data Mart ProcMart.
a) Elabore o modelo multidimensional de dados do ProcMart que Joana deve implementar para atender o primeiro requisito analítico levantado.
Com o uso do ProcMart, os gestores do Tribunal perceberam que poderiam descobrir padrões nos dados dos sistemas de informação do Tribunal e solicitaram a Joana…



