Pesquisar neste blog

27/08/2019

Registrador de deslocamento 8 bits

CIRCUITO TRANSMISSÃO DE DADOS SERIAL/PARALELO POR DESLOCAMENTO

Objetivo:
Pegar os dados de R0 para RTX em paralelo, depois transferir para RRX em série e transferir em paralelo para R1.
Registrador de deslocamento no Logisim 2.7



























Clique aqui para fazer o download do arquivo feito no Logisim

Créditos para o aluno "João Vitor do IFMT - Instituto Federal de Mato Grosso"

Palavras chave:

SERIAL / PARALLEL DATA TRANSMISSION CIRCUIT
CIRCUITO DE TRANSMISIÓN DE DATOS SERIE / PARALELO
अनुभवात्मक / पार्सल डेटा ट्रान्समिशन सर्कीट
IṣẸ / PARALLEL DATA TRANSMISSION CIRCUIT
SERIES / PARALLEL DATA TRANSMISJONSCIRCUIT
串行/并行数据传输电路
CIRCUIT SERAT / PARALLEL DATA TRANSMISSION
OBVOD SERIAL / PARALLEL DATA
SERIEN / PARALLEL DATA TRANSMISSJONSKRING
SERIALK / PARALLEL DATYARAN KIRANGIRTIN
SERIEN / PARALLEL DATA TRANSMISSION CIRCUIT
СЕРІЙНИЙ / ПАРАЛЕЛЬНИЙ ПРОДАЖ ДЛЯ ДАНИХ

09/08/2019

GALS

Gals " Gerador de Analisadores Léxicos e Síntáticos "
Emulador Gals


























Saída executada
Saída executada ex1


























Exemplo no emulador GALS













01/08/2019

Ler arquivo em java

Objetivo: Ler um arquivo em Linguagem Java e transferir os dados do arquivo para um vetor:


import conceito.VetorObjetos;
import java.io.IOException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Aplicacao1 {

    public static void main(String[] args) throws IOException{
             
        String nomeArquivo = null;
        String nomeArquivoCompleto = "C:\\Users\\HENRIQUE\\Documents\\texto.txt";
        nomeArquivo = nomeArquivoCompleto;

        FileInputStream fin = null;
        BufferedReader in = null;
        String linha = null;
        int qtddLinhas = 0;

        String[] contatos = new String[qtddLinhas];
        VetorObjetos vet = new VetorObjetos(qtddLinhas);
        ArrayList list = new ArrayList();
     
        try {
            fin = new FileInputStream(nomeArquivo);
            in = new BufferedReader(new InputStreamReader(fin));

            while (in.ready()) {
                linha = in.readLine();

                if (linha == null) {
                    break;
                }
                list.add(linha);//adicionando os dados na lista
                linha = linha.trim();

                if (linha.length() != 0) {
                    System.out.println(linha);//imprimindo o arquivo
                    qtddLinhas++;
                }
            }
            for(int i=0; i<qtddLinhas-1; i++){
                System.out.print(" "+list.get(i));
            }
         
            System.out.println("\nQuantidade de linhas = " + qtddLinhas);
            in.close();
        } catch (FileNotFoundException e) {
            System.out.println("Arquivo não encontrado ...");
            System.exit(1);
        }

    }
}

13/07/2019

Threads usando com Java

Crie um semáforo (sinal de trânsito) usando Threads. O semáforo deve ficar verde por x segundos, depois brevemente amarelo seguido de y segundos na cor vermelha.

Resolução:
Enun CorSemafaro
/**
 *
 * @author HENRIQUE
 */
public enum CorSemafaro {
    //VERDE, AMARELO, VERMELHO;
 
    //opcional
    VERDE(1000), AMARELO(300), VERMELHO(2000);//
    private int tempoEspera;//

    private CorSemafaro(int tempoEspera) {//
        this.tempoEspera = tempoEspera;//
    }
    public int getTempoEspera() {//
        return tempoEspera;//
    }
}

Classe ThreadSemaforo

public class ThreadSemaforo implements Runnable{
    private CorSemafaro cor;
    private boolean parar;
    private boolean corMudou;
 
    public ThreadSemaforo() {
        this.cor = CorSemafaro.VERMELHO;//inicia com vermelho
        this.parar = false;
        this.corMudou = false;
        new Thread(this).start();//executa o metodo run
    }

    @Override
    public void run() {
        while(!parar){
            try{
                /*
                switch (this.cor){
                    case VERMELHO: Thread.sleep(2000);break;
                    case AMARELO: Thread.sleep(300);break;
                    case VERDE: Thread.sleep(1000);break;
                    default:
                        break;
                */
                Thread.sleep(this.cor.getTempoEspera());//opcional
                this.mudarCor();
            }catch(InterruptedException e){
                e.printStackTrace();
            }
        }
    }
    private synchronized void mudarCor(){
        switch (this.cor){
            case VERMELHO:
                this.cor = CorSemafaro.VERDE; break;
            case AMARELO: this.cor = CorSemafaro.VERMELHO; break;
            case VERDE: this.cor = CorSemafaro.AMARELO; break;
         
            default:
                break;
        }
        this.corMudou = true;
        notify();//notifica a thread estiver esperando
    }
 
    public synchronized void esperaCorMudar(){
        while(!this.corMudou){
            try{
                wait();
            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
        this.corMudou = false;
    }
 
    public synchronized void deligarSemafaro(){
        this.parar = true;
    }
 
    public CorSemafaro getCor() {
        return cor;
    }

    public boolean isParar() {
        return parar;
    }
 
}

Classe principal

public class Aplicacao1 {
    public static void main(String[] args) {
        ThreadSemaforo semafaro = new ThreadSemaforo();
     
        for(int i= 0; i< 10; i++){
            System.out.println(semafaro.getCor());
            semafaro.esperaCorMudar();
        }
    }
}

12/07/2019

Deadlock usando Thread com Java

Crie um semáforo (sinal de trânsito) usando Threads. O semáforo deve ficar verde por x segundos, depois brevemente amarelo seguido de y segundos na cor vermelha.

Resolução:

Classe ThreadSemafaro

import com.sun.swing.internal.plaf.synth.resources.synth;
public class ThreadSemafaro implements Runnable {

private CorSemafaro cor;
private boolean parar;
private boolean corMudou;

public ThreadSemafaro(){
this.cor = CorSemafaro.VERMELHO;//iniciando com a cor vermelha

this.parar = false;
this.corMudou = false;

new Thread(this).start();
}

@Override
public void run() {

while(!parar){
try {
/*switch (this.cor) {
case VERMELHO:
Thread.sleep(2000);
break;
case AMARELO:
Thread.sleep(300);
break;
case VERDE:
Thread.sleep(1000);
break;
default:
break;
}*/
Thread.sleep(this.cor.getTempoEspera());
this.mudarCor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

private synchronized void mudarCor(){
switch (this.cor) {
case VERMELHO:
this.cor = CorSemafaro.VERDE;
break;
case AMARELO:
this.cor = CorSemafaro.VERMELHO;
break;
case VERDE:
this.cor = CorSemafaro.AMARELO;
break;
default:
break;
}
this.corMudou = true;
notify();
}

public synchronized void esperaCorMudar(){
while(!this.corMudou){
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
this.corMudou = false;
}

public synchronized void desligarSemafaro(){
this.parar = true;
}

public CorSemafaro getCor() {
return cor;
}
}

Enun CorSemaforo

public enum CorSemafaro {
    VERDE(1000), AMARELO(300), VERMELHO(2000);
 
    private int tempoEspera;
    CorSemafaro(int tempoEspera){
        this.tempoEspera = tempoEspera;
    }
    public int getTempoEspera(){
        return tempoEspera;
    }
}

Método principal

public class Principal1 {

    public static void main(String[] args) {
ThreadSemafaro semafaro = new ThreadSemafaro();

for (int i=0; i<10; i++){
            System.out.println(semafaro.getCor());
            semafaro.esperaCorMudar();
           }
semafaro.desligarSemafaro();
    }
}

04/07/2019

Somador e subtrator completo 7483

Circuito somador e subtrator completo 74LS83
Somador e subtrator completo


































Somador e subtrator completo


















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

Todo crédito desta postagem é para Deus e nosso salvador Jesus Cristo.

Palavras chave:

Complete subtractor and adder circuit
Hoàn thành trừ và mạch cộng
Voltooi subtractor en adder stroombaan
完整的減法器和加法器電路
Hoʻopiha i nā mea unuhi a me nā kaapuni hou
Поўная схема вымання і сумматара
Kompleto nga subtractor ug adder circuit
Kompletan sklop za oduzimanje i zbrajanje
Atupẹṣẹ ti pari ati adiye adder
Heill undirdráttur og adder hringrás
Msaada kamili na mzunguko wa nyongeza
Gcwalisa i-subtractor kunye neesekethe

03/07/2019

Somador Completo

Somador completo


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

Todo crédito deste site é para Deus e nosso salvador Jesus Cristo.

Palavras chave:
Full Adder
Voller Addierer
Volle Adder
الأفعى الكامل
Adder complet
全加器
전체 가산기
Täydellinen täyttäjä
Complet Complet
מלא
Adder Lengkap
Pełny dodatek
Полный сумматор
Tam Toplayıcı