Jump to content

Search the Community

Showing results for tags 'algoritmos'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 44 results

  1. Sou iniciante em Java e estou tendo dificuldades para executar o algoritmo Stable Marrage de GaleShapley,. Na execução aparece o seguinte erro: Error: Index 3 out of bounds for length 3 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 3 at br.com.entrada.GaleShapley.calcMatches(GaleShapley.java:48) at br.com.entrada.GaleShapley.<init>(GaleShapley.java:33) at br.com.entrada.GaleShapley1.main(GaleShapley1.java:164) Gale Shapley Marriage Algorithm Sized : 3 Segue o código abaixo: import java.io.BufferedReader; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; public class GaleShapley { private int N, engagedCount; private String[][] menPref; private String[][] womenPref; private String[] men; private String[] women; private String[] womenPartner; private boolean[] menEngaged; /** Constructor **/ public GaleShapley (){ } public GaleShapley(String[] m, String[] w, String[][] mp, String[][] wp) { System.out.println("Sized : "+ mp.length); N = mp.length; engagedCount = 0; men = m; women = w; menPref = mp; womenPref = wp; menEngaged = new boolean[N]; womenPartner = new String[N]; calcMatches(); } /** function to calculate all matches **/ private void calcMatches() { while (engagedCount < N) { int free; for (free = 0; free < N; free++) if (!menEngaged[free]) break; for (int i = 0; i < N && !menEngaged[free]; i++) { int index = womenIndexOf(menPref[free]); if (index < womenPartner.length && womenPartner[index] != null ) { womenPartner[index] = men[free]; menEngaged[free] = true; engagedCount++; } else { String currentPartner = womenPartner[index]; if (morePreference(currentPartner, men[free], index)) { womenPartner[index] = men[free]; menEngaged[free] = true; menEngaged[menIndexOf(currentPartner)] = false; } } } } printCouples(); } /** function to check if women prefers new partner over old assigned partner **/ private boolean morePreference(String curPartner, String newPartner, int index) { for (int i = 0; i < N; i++) { if (womenPref[index].equals(newPartner)) return true; if (womenPref[index].equals(curPartner)) return false; } return false; } /** get men index **/ private int menIndexOf(String str) { for (int i = 0; i < N; i++) if (men.equals(str)) return i; return -1; } /** get women index **/ private int womenIndexOf(String str) { for (int i = 0; i < N; i++) if (women.contains(str)) return i; return -1; } /** print couples **/ public void printCouples() { System.out.println("Couples are : "); for (int i = 0; i < N; i++) { System.out.println(womenPartner +" "+ women); } } /** main function **/ public static void main(String[] args) throws IOException{ System.out.println("Gale Shapley Marriage Algorithm\n"); /** list of men **/ String[] m = {"1", "2", "3"}; /** list of women **/ String[] w = {"1", "2", "3"}; /** men preference **/ String[][] mp = null ; /** women preference **/ String[][] wp= null ; try{ FileInputStream fstream = new FileInputStream("src/input.txt"); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; int line=0; int k=0; int n=0; int i=0; while ((strLine = br.readLine()) != null) { if(line==0){ n =Integer.valueOf(strLine.trim()); mp=new String[n][n]; wp=new String[n][n]; line++; } else{ String[] preferences=strLine.split(" "); if(i<n){ mp=preferences; } else{ if(i-n < w.length) { wp[i-n]=preferences; } } i++; } } in.close(); GaleShapley gs = new GaleShapley(m, w, mp, wp); }catch (Exception e){//Catch exception if any e.printStackTrace(); System.err.println("Error: " + e.getMessage()); } } }
  2. Olá, Eu sou novo aqui, e na area de ''programação'', queria perguntar se alguém que conseguiria ajudar com alguns exercíos que tenho tido dificuldade em resolver. Exercício 1:Escrever em pseudocódigo um programa que some os três primeiros múltiplos de 3 introduzidos pelo utilizador e que mostre o resultado da sua soma. Exercício 2:Modifique o algoritmo2 de forma a este mostrar uma mensagem de erro ao utilizador sempre que o número de segundos seja inferior a zero ou superior a 1000000. Sempre que isto se verifique não deverá efetuar qualquer processamento/cálculo. (Algoritmo: Determinar se um número é impar.) Exercício 3:Como alteraria o algoritmo3 de forma a este somar apenas os números ímpares, e a contagem iniciar com o valor 0, ao invés de 100, de forma a efetuar a mesma contagem, mas no sentido inverso. (Algoritmo:Imprimir números no intervalo de 1 a 100) Obrigado Cumprimentos e resto de Boa noite
  3. O sistema de numeração romana (ou números romanos) desenvolveu-se na Roma Antiga e utilizou-se em todo o seu Império. Neste sistema as cifras escrevem-se com determinadas letras, que representam os números. As letras são sempre maiúsculas, já que no alfabeto romano não existem as minúsculas, as letras são I, V, X, L, C, D e M. Sua tarefa é desenvolver um programa que converta números romanos formato arábico. As regras para a formação dos números romanos são apresentadas a seguir. Cada letra corresponde a um determinado valor: I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000. Agrupando as letras acima, podemos representar os números de acordo com um conjunto de regras: Com exceção de V, L e D, os outros numerais podem se repetir no máximo três vezes: III = 3 XXX = 30 CCC = 300 MMM = 3000 Quando escritos à direita de numerais maiores, I, X e C somam-se aos valores dos primeiros: VIII = 5 + 1 + 1 + 1 = 8 LXII = 50 + 10 + 1 + 1 = 62 CLVIII = 158 MCXX = 1000 + 100 + 10 + 10 = 1120 Mas se os numerais I, X e C estiverem à esquerda dos maiores, seus valores são subtraídos como, por exemplo, em: IV = 5 - 1 = 4 IX = 10 - 1 = 9 XC = 100 - 10 = 90 Acho que sei como finalmente fazer primeiramente eu pegaria o valor em romano digitado, pegaria o tamanho da letra valor atribuído seria n tamanho da letra e desse tamanho da letra tiraria n-1, depois tentaria dividir a letra, não sei o comando no VisualG para separar as letras e criaria um variável para armazenar o separamento dessas letras nesse caso separador criaria outra variável nesse caso s e receberia zero depois faria um para onde i =0 e i tem que ser menor que o tamanho da letra nessa e iria somando por +1 depois abriria um se verificando se a divisão da letras separador = "M" então s= s+1000 e dentro desse se abriria outro se e se se separador[i-1]= "C" então s= s-200, terminaria esse se depois abriria outro se verificando se separador = "D" então s=s+500 e dentro abriria outro se e se separador[i-1] = "C" então s=s-200 depois fecharia esse se e abriria outro se separador = "C" então s=s+100 e dentro desse se abriria outro se se separador[i-1] = "X" e então s=s-20 depois terminaria esse se e abriria outro se, se separador = "L" então s=s+50 dentro abriria outro se, se separador[i-1] = "X" então s=s-20 depois terminaria esse se e abriria outro se, se separador="X" então s=s+10 abriria outro se, se separador[i-1] = "I" então s=s-2 depois fecharia esse se depois abriria outro se, se separador="V" então s=s+5 e dentro desse se abriria outro se, se separador[i-1] = "I" então s=s-2 fecharia esse se depois abriria outro se se separador = "I" então s=s+1 depois daria um escreval(s) O problema está na hora de separar as letras qual o comando no VisualG para separar letra ou não tem? O comando copia é útil somente se separar letra por letra porém falha na hora, por exemplo de copiar um número romano, eu eu tenho que já passar esse comando com parâmetros já pré-deficinidos copie desta casa até esta casa (romano;1;2), que no não teria como colocar todos os parâmetros para todos os números de 1 a 3999 Var // Seção de Declarações das variáveis vetromano:vetor[1..9] de caractere romano:caractere i:inteiro m,c,d,u:caractere soma:inteiro Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Digite um número em romano para ser convertido em arábico") escreval("menor que 4000 e maior que 0") leia(romano) m <- copia(romano;1;2) c <- copia(romano;3;2) d <- copia(romano;5;2) u <- copia(romano;7;2) para i de 1 ate Compr(romano) faca se (m = "M") entao soma<-soma+1000 se(m-1) entao soma<-soma-200 fimse fimse escreval(soma) fimpara Fimalgoritmo Sou brasileiro como puderam perceber, você conhecem a linguagem VisualG?
  4. Olá a todos, inicio este tópico porque preciso de ajuda sobre qual o algoritmo que é usado para calcular o digito de verificação (nono digito) do número de utente do SNS. Segundo a legislação (Portaria nº 981/95) link: https://dre.pt/web/guest/pesquisa/-/search/477871/details/normal?q=981%2F95 usa a Norma ISO 7064 (MOD 11-2). Pelas minhas pesquisas, e resumindo o algoritmo, o mod 11, multiplica : 1 2 3 4 5 6 7 8 9 ---- numero ficticio do SNS por 9 8 7 6 5 4 3 2 - ----- factor de multiplicação depois soma tudo e divide por 11 (Mod11), com base no resto da divisão faz 11-resto e o numero será o digito de verificação (sendo que se for 11 ou 10 aplica-se 0 Isto aplicado ao NIF funciona bem. Mas para o numero do SNS não. Alguém aqui no fórum me pode ajudar com isto?
  5. Ruan_sóstenes_muniz_braga

    como calcular o século em java?

    olá pessoal, estou estudando programação há três meses, mais estou com alguns problemas. Preciso criar um algoritmo que calcule o século em que um ano se encontra. Já pesquisei mais ñ encontrei nada que possa me ajudar. Gostaria de saber como vocês (os mais experientes) resolveriam esse problema. desde já agradeço.
  6. Olá a todos. Sou ex-participante em Portugal e agora estou a fazer doutouramento na Bélgica. Sou treinador das equipas para o NWERC e já por mais de 3 anos ganhamos medalhas. Este ano vamos organisar um campo de treino aqui na Bélgica: https://sites.uclouvain.be/acm-icpc18/index.html
  7. Boa noite galera, estou estudando sobre pseudocodigos, recentemente e me surgiram exercicios nos quais tive problemas; programa calc var n,conta:inteiro inicio n <- 8 conta <- 2 repita conta <- conta + ( n – 1 ) n <- n – 1 até que n = 0 escreva conta fim. var x : inteiro inicio x <- 11 se ( x < > 1 0) se ( ( x > 15 ) OU ( x <= 20 ) ) x <- x + 2 senão x <- x – 4 fim_se fim_se se ( x MOD 4 >= 2 ) x <- x + 5 senão x <- x – 3 fim_se escreva “ x = “, x fim Conseguem me ajudar/explicar qual seria o resultado final de ambos os códigos?
  8. Version 2005/2006

    988 downloads

    Slides de curso de Algoritmos e Estruturas de Dados. Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Algoritmos e Estruturas de Dados Autor: Professor Luís Miguel Silveira Conteúdo Motivação - Problema da Conectividade Estruturas de Dados Análise de Algoritmos e Complexidade Algoritmos de Ordenação Tabelas de Dispersão Árvores Filas com prioridade Grafos
  9. Version Fevereiro 2006

    1,595 downloads

    Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática Autor: Professor Jorge Santos Resumo Estes apontamentos têm como objectivo principal apoiar os leitores que pretendam aprender programação de computadores Os conteúdos propostos têm como objectivo fornecer bases sólidas de metodologias de programação que auxiliem a compreensão de programas computacionais simples, a sua adaptação e desenvolvimento de novas aplicações, e estimular a capacidade dos leitores para: analisar e resolver problemas de programação. A estrutura destes apontamentos foi definida de acordo com a abordagem de aprender-por-exemplo, pelo que, os conceitos são apenas introduzidos de acordo com a necessidade de explicar a resolução de um determinado algoritmo. Neste manual introduzem-se as bases da algoritmia de acordo com o paradigma da programação estruturada. Em cada secção é apresentada um pequena introdução teórica sobre o tópico em destaque, apresentados problemas e propostas soluções para os mesmos, adicionalmente são propostos exercícios para resolução. Na codificação/apresentação das soluções é geralmente Pseudo-Código e/ou Fluxogramas. Este documento compila exercícios de vários anos de ensino de muitos docentes do departamento nos quais me incluo. Ao longo do manual poderão ser encontrados exemplos e exercícios propostos pelos docentes nas disciplinas de Algoritmia e Programação, Linguagens de Programação I do curso de Engenharia Informática do Departamento de Engenharia Informática (DEI), bem como de Programação I e Programação II do curso Engenharia Electrotécnica do Departamento de Engenharia Electrotécnica (DEE), ambos do ISEP.
  10. Version 2010/2011

    7,065 downloads

    Slides de curso de Algoritmos e Estruturas de Dados. Universidade do Porto Faculdade de Engenharia Autores: Professora Ana Paula Rocha, Professor Rosaldo Rossetti, Professor António Castro Conteúdo Programação Orientada por Objectos em C++ Sobrecarga de Operadores em C++ Herança em C++ Templates em C++ Excepções em C++ Introdução ao UML e Ferramentas para C++ Análise de Complexidade de Algoritmos Vectores: Algoritmos de Pesquisa Vectores: Algoritmos de Ordenação Listas Filas de prioridade Árvores Tabelas de dispersão Filas de prioridade Árvores AVL Árvores “Splay” Árvores B
  11. 2,536 downloads

    Instituto Politécnico de Viana do Castelo Escola Superior de Técnologia e Gestão Algoritmos e Estruturas de Dados Autores: Professor Dr. Salvado Lima, Professor Ricardo Castro Conteúdo Algoritmos Linguagem de Programação C Operadores / Estruturas de Controlo de Fluxo Apotadores / Arrays
  12. 9,264 downloads

    Instituto Politécnico de Setúbal Escola Superior de Ciências Empresariais Autor: Professor José Gaivéo (2009-2010) Conteúdo: Globalização e Sociedade de Informação Teoria de Sistemas Informação Gestão dos Sistemas de Informação e das TIC Planeamento e Desenvolvimento dos Sistemas de Informação Especificação de Necessidades e Requisitos Algoritmos Modelação Modelação de Processos Modelação de Dados Modelação de Processos vs Modelação de Dados Abordagem Moderna à Modelação de Dados Outras Abordagem à Modelação de Dados Ferramentas de Modelação de Dados Desenvolvimento de Sistemas
  13. Version 2004/2005

    289 downloads

    Conjunto de exercícios sobre implementação de algoritmos e estruturas de dados, usando Pascal. Universidade de Aveiro Departamento de Matemática Autor: Professora Rosália Rodrigues
  14. Version N/D

    102 downloads

    Implementação de ordenação usando multi-threading.
  15. Version 2008/2009

    94 downloads

    Coletânea de exercícios para a disciplina de Métodos Numéricos e Computacionais. Universidade do Minho Métodos Numéricos e Computacionais Autor: Professora M. J. Soares Conteúdo Revisões de Matlab Aritmética Computacional Interpolação e Aproximação Quadratura Sistemas Lineares Equações Não Lineares Equações Diferenciais Ordinárias
  16. Luís00

    Corrigir função c#

    Considerar a seguinte função em C#: public static bool DoThings(int[] x, int j, out int i) { i = 0; for (int i = 1; i < x.length(); ++i) if (x == j) ++i return i > 0; } Corrija a função de modo a que funcione (tenha um comportamento útil). Descreva o funcionamento implementado (para que serve a função).
  17. Luís00

    Class Data C#

    Olá pessoal, estou precisando da vossa ajuda para resolver o seguinte problema: Considere a necessidade de representar uma data (dia, mês, ano). Defina uma classe que permita: definir uma nova data; Garantir que a data é válida (número de dias válido para o mês em causa, e mês válido); Funcione corretamente para anos bissextos. Um ano é bissexto se: ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0) Permita o uso de propriedades para alterar dia, mês e ano (e obter respetivos valores); Implemente um método para a sua representação numa string devidamente formatada, Não é permitido a utilização da class DateTime.
  18. Fidel Carlos Tembe

    Algoritmo para média

    Considere o cálculo da media de quatro algarismos. Apresente: a) O algoritmo simples em Fluxograma; b) O algoritmo simples em Pseudo-código;
  19. Olá, estou escrevendo para contar e compartilhar com um projeto que eu só percebi, é chamado de pseudo-código, é uma aplicação Android, destinado a estudantes que frequentam os primeiros ciclos e fazer o curso de algoritmos e programação, eu ter tomado esse curso ea ele precisa fazer uma ferramenta para testar os nossos algoritmos, especialmente a partir do celular no momento em que é essencial para cada aluno, como nem todos andar com um laptop na mochila. I compartilhar o link do meu projeto: https : // play.google.com /store/apps/details?id=pe.diegoveloper.pseudocode Ele é baseado no pseudocódigo ferramenta para PC: PSeInt (estritamente) http : // pseint. sourceforge . net/ A aplicação suporta Inglês e Espanhol, se quisessem traduzi-lo para necessidade Português de sua ajuda, você acha? lembranças
  20. telmolourenço

    Algoritmo verificaçao respostas

    Boa tarde, estou com um problema no desenvolvimento de um algoritmo e agradecia a vossa ajuda, caso seja possivel. Tenho um grupo de 20 pessoas, que respondem a um questionario de escolhas multiplas e a funçao do algoritmo é fazer a comparaçao entre todos os questionarios e devolver as que têm as respostas iguais. Alguem que consegue ajudar? Obrigado
  21. cataninja

    Função do seno

    Olá pessoal, será que me podem ajudar com um problema? Tenho de escrever o algoritmo disto: O seno de x pode ser calculado usando o desenvolvimento em série de Taylor Escreva e teste uma funçao que determine o seno de um angulo x (introduzido pelo utilizador em radianos), usando este desenvolvimento em série, até um termo em que a diferença para o termo seguinte tenha um valor absoluto abaixo de uma tolerância (especificada pelo utilizador). Sugestão: utilize uma funçao para calcular o fatorial de um número. P.S.: se vos der mais jeito podem fazer o programa e eu tento fazer o algoritmo a partir daí
  22. crislanio_macedo

    Ordenador QuickSort com Threads

    Ordenador QuickSort com Threads Ver Ficheiro Implementação de ordenação usando multi-threading. Submetido por crislanio_macedo Submetido em 14-06-2015 Categoria Bibliotecas e Aplicações Licença Website https://github.com/crislanio/OrdenadorQuickSortComThreads Submetido pelo Autor? Sim
  23. angelicous

    Pesquisar numa tabela hash polinomial

    Boas eu tenho uma tabela hash polinomial, que me codifica palavras que têm 2 letras e 2 números. Por exemplo o formato que uso para a codificação é esta Onde k1 é a primeira letra, k2 a segunda ... e A é um número primo, que no meu caso é 11. Agora eu tenho a tabela com as palavras, sem qualquer problema a pesquisar palavras completas... O meu problema é, eu quero fazer uma função, onde é fornecida a primeira letra, e eu quero que ele me retorne todas as palavras na tabela que começam com essa letra. Não conhecendo a ordem da tabela visto que a hash gera as posições aleatóriamente, como é que posso fazer isto, sem ter que correr a tabela toda de ponta a ponta?
  24. Boas pessoal... Sou novato aqui no forum e no mundo da programação. Estou com um sério problema e não sei como começar! Portanto, pretendia implementar o algoritmo Ricart-Agrawala em Java, usando JGroup como mecanismo de comunicação, devendo o sistema ser constituído apenas por um módulo (ou peer). Cumps
  25. amigos preciso criar uma calculado em binário com as 4 operações básicas, em c++ e apresentar o algorítimo alguem me da alguma dica por favor
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.