Pesquisar neste blog

22/12/2019

SAP_Ev2

Simulação do modelo de um SAP1 no Logisim
Autor: Professor Giuliano - Microprocessadores - IFMT - Engenharia da Computação 2019/2
SAP1















Clique aqui para fazer o download do arquivo feito no Logisim versão 2.7

20/12/2019

HashSet em java

package conceito;
import java.util.HashSet;
import java.util.Set;

public class Main1 {

    public static void main(String[] args) {
        // TODO code application logic here
        Set<String> lista = new HashSet<String>();
        lista.add("a");
        lista.add("a");//só vai adicionar elementos não repetidos
        lista.add("b");
        lista.add("c");
        lista.add("d");
        lista.add("d");só vai adicionar elementos não repetidos
       
        for(String s : lista){
            System.out.println(lista);
        }
    }
   
}
Saída gerada

















CPU Simples no Logisim




























Clique aqui para fazer o download do arquivo feito no Logisim versão 2.7

13/12/2019

PostegreSQL / PGAdmin no Java

O objetivo desta atividade é a modelagem do banco de dados e o desenvolvimento de um sistema para controle e gerenciamento de torneios de tênis de mesa. Um torneio dever ter um nome, uma data de início/fim e o endereço onde será realizado, além de dados de contato do administrador do torneio (e-mail e telefone). Um torneio é composto por diversos Eventos, que por sua vez podem filtrar os participantes com base em diversos critérios:


  • a. individual ou duplas; 
  • b. sexo: masculino, feminino ou sem restrição de sexo; 
  • c. por idade: Rating (baseado na data de nascimento do jogador) define um intervalo de idade permitido neste evento; 


  • d. pelo nível de jogo: Ranking (pontuação acumulada do jogador que define a qualidade do seu jogo) onde será definido um intervalo pelo qual o participante poderá disputar. Esses critérios podem ser cumulativos ou não, ou seja, pode haver eventos individuais com restrição de ranking mas sem restrição de sexo e rating, da mesma forma que pode ter evento de duplas com restrição de sexo e rating mas sem restrição de ranking. No Evento deve ser possível ainda definir o modelo de disputa que poderá variar entre: disputa em grupos GR, eliminação simples ES ou uma combinação entre grupos e eliminação simples. Deve ser permitida a definição do tamanho dos grupos e a formatação das chaves de eliminação quando, houverem não houverem quantidade suficiente de participantes para a formatação dos grupos de forma homogênea (grupos de 3, 4 ou 5 jogadores) ou para a definição das chaves de mata mata (ES) quando a quantidade de jogadores não for múltiplo de 2. Deve ainda ser permitido ao sistema realizar a impressão dos grupos e chaves de eliminação simples em formato impresso e digital. Por fim deve ser possível fazer o controle financeiro das inscrições dos jogadores nos Eventos dos Torneios. As informações acima descritas servem apenas para dar um norte inicial aos trabalhos, segue abaixo mais links de informações para melhor entendimento do objeto a ser analisado, que pode se deve ser ampliado, conforme maior maturidade no ambiente de negócio do cliente.

















Resolução:

































Informações da caixa de diálogo








Informações incluídas







































Simulando jogo






































Dados incluídos no Banco de Dados







































Clique aqui para fazer o download do arquivo feito em Java e no PostegreSQL

Pilha em Java (Balanceamento)


/*ESCREVA UM PROGRAMA PARA VERIFICAR SE UMA EXPRESSAO MATEMATICA
TEM OS PARENTESES AGRUPADOS DE FORMA CORRETA ISTO É
1 - SE O NUMERO DE PARENTESES A ESQUERDA E A DIREITA SAO IGUAIS E
2 - SE TODO PARENTESE ABERTO É SEGUIDO POSTERIORMENTE POR UM FECHAMENTO
DE PARENTESE

 */
package hierarquiaMatematica;

import java.util.Stack;
/** EX: 06
 * A + B [D + C)
 * @author HENRIQUE
 */
public class ExpressaoMat {
   
    final static String ABRE = "([{";
    final static String FECHA = ")]}";
   
    public static boolean verificaSimbolos(String expressao){
        boolean balanceado = true;
        Stack<Character> pilha = new Stack<Character>();

        int index = 0;
        char simbolo, topo;
       
        while(index < expressao.length()){
            simbolo = expressao.charAt(index);
           
            if(ABRE.indexOf(simbolo)> -1){
                pilha.push(simbolo);
            }else if(FECHA.indexOf(simbolo)> -1){
                if(pilha.isEmpty()){
                    return false;
                }else{
                    topo = pilha.pop();
                    if(ABRE.indexOf(topo) != FECHA.indexOf(simbolo)){
                        return false;
                    }
                }
            }index++;
        }
        return true;
    }
   
    public static void main(String[] args) {
       
        imprimeResultado("A + B");
        imprimeResultado("A + B + (C - D)");
        imprimeResultado("{[()]{[](){()}");
        imprimeResultado("{[(]}[]()[()}");//desbalanceado
        imprimeResultado("A + B + C - D");//OK
    }
    public static void imprimeResultado(String expressao){
        System.out.println(expressao+" está balanceado ? "+verificaSimbolos(expressao));
    }
}


12/12/2019

Analisador léxico e sintático em java

Clique aqui para fazer o download do arquivo feito em Java
Autor: Mateus Marques - IFMT - Engenharia da Computação - 2018/2


Clique aqui para fazer o download do arquivo feito em Java
Autor: Luis Alexandre - IFMT - Engenharia da Computação - 2018/2


Clique aqui para fazer o download do arquivo feito em Java
Autor: Tales - IFMT - Engenharia da Computação - 2019/2


Clique aqui para fazer o download do arquivo feito em Pyton
Autor: Adriano - IFMT - Engenharia da Computação - 2019/2

Clique aqui para fazer o download do arquivo feito em Pyton
Autor: Lucas - IFMT - Engenharia da Computação - 2019/2