Entries Tagged as ''

Pilha Força eletromotriz

Força eletromotriz (FEM), geralmente denotada como <math>\mathcal{E}</math>, é a propriedade de um dispositivo, que tende a produzir corrente elétrica num circuito. Em outras palavras, é a diferença de potencial elétrico (DDP) produzida pelo gerador quando se ignora a resistência interna deste.

Força eletromotriz é uma grandeza escalar e não pode ser confundida com uma diferença de potencial elétrico (DDP), apesar de ambas terem a mesma unidade de medida. No Sistema Internacional de Unidades de Medidas a unidade da FEM e da DDP é J/C (Joule por Coulomb), mais conhecida como V (Volt). A DDP entre dois pontos é o trabalho por unidade de carga que a força eletrostática realiza sobre uma carga que é transportada de um ponto até o outro; a DDP entre dois pontos independe do caminho ou trajeto que une um ponto ao outro. A FEM é o trabalho por unidade de carga que um força não-eletrostática realiza quando uma carga é transportada de um ponto a outro por um particular trajeto; isto é, a FEM, contrariamente da DDP, depende do caminho. Por exemplo, a FEM em uma pilha ou bateria somente existe entre dois pontos conectados por um caminho interno a essas fontes.

Todos os materiais exercem uma certa resisência, por menor que seja, ao fluxo de elétrons, o que provoca uma perda indesejada de energia (efeito Joule). Com os geradores não é diferente, ou seja, enquanto a corrente passa do pólo negativo para o positivo, há uma perda de energia devido à resistência interna do próprio dispositivo.

Assim sendo, a energia que chegará no resistor conectado ao gerador não será total, visto que a DDP entre os terminais do gerador e os terminais do resistor seráo diferentes. Para calcularmos qual será a DDP dos terminais do reistor, utilizamos a chamada Equação do gerador que, matematicamente, se traduz na forma <math>U = \epsilon - ri </math>.

Vale lembrar que não existem geradores cuja fem seja igual à DDP do resistor, uma vezs que todo e qualquer material exerce resistência. No entanto, para efeito de cáclulos, é bastante comum o uso da expressão gerador ideal, que nada mais seria que aquele cuja resistência interna é nula, ou seja, não haveria perdas indesejadas na potência do circuito.

A força eletromotriz pode ser gerada de diversas formas, destacam-se:
Força eletromotriz de Peltier, Força eletromotriz de Thomsom, Força eletromotriz inversa, Força eletromotriz térmica, Força fotoeletromotriz, entre outras.

See also

Pilha pode remeter Pano

Pano é um tecido utilizado para a confecção de roupas.

O termo pano pode remeter aos seguintes artigos da Wikipédia:

  • Tecido - um têxtil em geral;

    • Pano-da-costa - um tecido artesanal de origem africana;
  • Panos - grupos indígenas cujas línguas pertencem à família lingüística pano.

See also

Telefones da pilha Maria Cristina (Metro de Barcelona)

Maria Cristina (Metro de Barcelona) é uma estação da linha Linha 3 do Metro de Barcelona. Entrou em funcionamento em 1975.



Facilidades

  • escada rolante;
  • acesso à telefones celulares.

  • Barcelona; Espanha, Catalunha.

Maria Cristina (Metro de Barcelona)

See also

Pilha Troca de contexto

Em sistemas operacionais, uma troca de contexto (também conhecido como chaveamento ou mudança de contexto) é o processo computacional de armazenar e restaurar o estado (contexto) de uma CPU de forma que múltiplos processos possam compartilhar uma única instância de CPU. É garantido que quando o contexto anterior armazenado seja restaurado, o ponto de execução volte ao mesmo estado que foi deixado durante o armazenamento.

Termo referente a sistemas operacionais, encontrado também sobre a designação troca de contexto ou mudança de contexto, que se refere à saída de uma tarefa do processamento para que outra assuma, podendo a primeira não ter sido concluída. O chaveamento garante que quando a primeira novamente voltar a ser processada todo o seu contexto de software volte ao ponto de onde ela permitiu a entrada de outro processo.


Uso

Existem três cenários no qual a troca de contexto ocorre. A primeira e mais comum e a multitarefa. Em uma esquema de escalonamento de processos, um processo deve ser substituído por outro na CPU. Em um sistema preemptivo, o escalonador permite que cada tarefa seja executada por um determinado tempo. Se um processo não indicar explicitamente a troca de contexto (por exemplo, ao realizar uma operação de E/S), uma interrupção de tempo é disparada, e o sistema operacional troca o contexto para outro processo. Isso assegura que a CPU não é monopolizada por um processo somente.

O segundo cenário é a interrupção de hardware, presente em algumas arquiteturas (como o Intel x86). Isso significa que se a CPU requisita dados de um disco, por exemplo, ela não precisa esperar a leitura em disco terminar, podendo continuar alguma outra tarefa na fila de execução. Quando a leitura em disco é terminada, a CPU é interrompida e o resultado da leitura é disponibilizado. Antes de realizar a interrupção, o contexto do processo em execução é armazenado para futura restauração.

O terceiro cenário é a troca de modo usuário para modo kernel. Quando tal transição é requisitada pelo sistema operacional, uma troca de contexto não é necessária, mas dependendo da implementação isso é feito.


Procedimento

Em uma troca de contexto, o estado do primeiro processo deve ser armazenado de alguma forma, para que quando o escalonador retorne sua execução, o estado seja antes restaurado. O estado de um processo inclui todos os registradores que o processo pode estar usando, especialmente o contador de programa, e qualquer outro dado específico do sistema operacional. A estrutura que armazena todas essas informações é chamada de bloco de controle de processo.

O bloco pode ser armazenado na pilha de execução do processo na memória do kernel, ou em algum outro local específico definido pelo sistema operacional. A seguir é feita a restauração do bloco de controle do processo que irá executar. Com a atualização do contador de programa, a execução do novo processo pode iniciar.

See also

Telefones da pilha Dona porca


Cunhado pelo professor de química Edilberto Machado, DONA PORCA é o método mnemônico relacionado à Oxiredução de Pilhas representado a seguir:

  • Diminui
  • Oxidação
  • Negativo
  • Anodo
  • POsitivo
  • Redução
  • Cátodo
  • Aumenta

Significam:

  • DONA = A oxidação diminui a massa no lado negativo (ânodo) da pilha.
  • PORCA = A redução aumenta a massa no lado positivo (cátodo) da pilha.

See also

Pilha de Analisador sintático LR

Um analisador sintático LR (também chamado parser LR) é um algoritmo de análise sintática para gramáticas livres de contexto. Ele lê a entrada de texto da esquerda para a direita e produz uma derivação mais à direita (por isso LR, do termo em inglês left-right, diferente do analisador sintático LL). Outro termo usado é analisador sintático LR(x), no qual <math>x</math> refere-se à quantidade de símbolos posteriores ao símbolo atual (ainda não consumidos da entrada) que são usados para tomar decisões na análise. Geralmente esse valor é 1, sendo omitido. Uma gramática livre de contexto é chamada LR(x) se existe uma analisador sintático LR(x) para ela.

Um analisador sintático LR é dito um analisador sintático de baixo para cima (bottom-up) pois ele tenta deduzir as produções da gramática a partir dos nós folha da árvore. Várias linguagens de programação são descritas por uma gramática LR(1), ou pelo menos parecida, e por isso os analisadores sintáticos LR são geralmente usados por compiladores para realizar a análise sintática do código fonte. Uma exceção notável é a linguagem de programação [[C++#Análise sintática do código fonte|C++]].

Os analisadores sintáticos LR podem ser implementados muito eficientemente, o que é muito útil para compiladores, por exemplo. Raramente são produzidos manualmente, sendo geralmente construídos por um gerador de análise sintática ou um compilador de compiladores. Dependendo da forma como a tabela de análise sintática é gerada, o analisador é chamado SLR (simples), LALR (quando há análise de símbolos posteriores) e canônico (ou LR(1)). Os analisadores LALR podem lidar com mais tipos de gramáticas que o SLR; o canônico pode lidar com mais tipos de gramáticas que o LALR.


Arquitetura


Caso geral

O analisador sintático é uma máquina de estado finito que consiste de:

  • um buffer de entrada;
  • uma pilha no qual é armazenada uma lista de estados anteriores;
  • uma tabela de próximo estado que indica para onde o novo estado deve se mover;
  • uma tabela de ação que indica uma regra gramatical a aplicar no estado e símbolo atual na entrada de dados.


Algoritmo

O algoritmo do analisador sintático LR é definido como:

  1. A pilha é inicializada com [0]. O estado atual será sempre o estado no topo da pilha.
  2. Dado o estado atual e o símbolo atual na entrada, uma ação é procurada na tabela de ação:
    • uma mudança de estado sn:

      • o símbolo terminal atual é removido da entrada
      • o estado n é inserido na pilha (tornando-se o estado atual)
    • uma redução rm:
      • o número m é escrito no fluxo de saída
      • para cada símbolo à direita da regra m, um estado é removido da pilha
      • dado o então estado atual no topo da pilha e a regra m, um novo estado é procurado na tabela de próximo estado, tornando se o estado atual ao ser inserido na pilha
    • uma aceitação: a cadeia de caracteres é aceita
    • sem ação: um erro de sintaxe é retornado
  3. O passo 2 é repetido até que a haja uma aceitação ou um erro de sintaxe.


Exemplo

A gramática abaixo será usada para o exemplo a seguir. Ela trata expressões matemáticas, no qual é aceito somas e multiplicações entre uns e zeros.

(1) E → E * B
(2) E → E + B
(3) E → B
(4) B → 0
(5) B → 1

deve-se analisar sintaticamente a seguinte entrada:

1 + 1


Tabelas de ação e próximo estado

ação próximo estado
estado * + 0 1 $   E B
0     s1 s2     3 4
1 r4 r4 r4 r4 r4    
2 r5 r5 r5 r5 r5    
3 s5 s6   acc      
4 r3 r3 r3 r3 r3      
5     s1 s2     7
6     s1 s2     8
7 r1 r1 r1 r1 r1      
8 r2 r2 r2 r2 r2      

A tabela de ação é classificada por um estado do analisador sintático e um símbolo terminal (incluindo o terminal especial $ que indica o final da entrada de dados) e contém três tipos de ações:

  • mudança de estado (shift), escrito sn e indicando que o próximo estado é n
  • redução (reduce), escrito rm e indicado que a redução com a regra gramatical m deve ser feita
  • aceitação (accept), escrito acc e indicando que o analisador sintático aceita a entrada de dados

A tabela de próximo passo é classificada por um estado do analisador sintático e por um símbolo não terminal. Ela indica qual o próximo estado do analisado se um símbolo não-terminal foi reconhecido.


Procedimento de análise

A tabela abaixo ilustra cada passo do processo. Aqui o estado refere-se ao elemento no todo da pilha (mais à direita), e a próxima ação é determinada referindo-se à tabela de ação acima. Notar que um $ é adicionado no final da entrada de dados para indicar o fim do texto.

Estado Entrada de dados Saída de dados Pilha Próxima ação
0 1+1$ [0] mudança de estado para 2
2 +1$ [0,2] reduz 5
4 +1$ 5 [0,4] reduz 3
3 +1$ 5,3 [0,3] mudança de estado para 6
6 1$ 5,3 [0,3,6] mudança de estado para 2
2 $ 5,3 [0,3,6,2] reduz 5
8 $ 5,3,5 [0,3,6,8] reduz 2
3 $ 5,3,5,2 [0 3] aceita

O estado inicial do analisador é sempre 0, armazenado na pilha. O primeiro valor terminal encontrado pelo é 1, e de acordo com a tabela de ação deve haver uma mudança de estado para 2. No estado 2 a tabela de ação indica que qualquer terminal que apareça, deve-se realizar uma redução com a regra gramatical 5. Por isso escreve-se 5 da saída de dados, retira-se um estado da pilha e adiciona-se na pilha o estado da tabela de próximo estado (que no caso é 4).

Apesar disso a tabela de ação do estado 4 indica que deve-se realizar uma redução com a regra 3. Então escreve-se 3 na saída de dados, retira-se um estado da pilha, encontra-se um novo estado na tabela de próximo estado (que no caso é 3).

O próximo terminal no parser é +, e de acordo com a tabela de ação deve-se ir para o estado 6. O próximo terminal é 1, significando que deve-se realizar uma mudança para o estado 2. Assim como o 1 anterior, é feita uma redução para B, indo-se para o estado 8. Nesse estado sempre é feita uma redução pela regra 2.

Finalmente é lido o terminal $ da entrada de dados, o que significa que, de acordo com a tabela de ação (o estado atual é 3), o analisador sintático aceita a entrada de dados.

See also

Pilha Hlbr

O HLBR - Hogwash Light BR é um projeto brasileiro, criado em novembro de 2005, derivado do Hogwash (desenvolvido por em 1996). Este projeto é destinado à segurança em rede de computadores.

O HLBR é um IPS (Intrusion Prevention System) capaz de filtrar pacotes diretamente na camada 2 do modelo OSI (não necessita de endereço IP na máquina). A detecção de tráfego malicioso é baseada em regras simples (o próprio usuário poderá confeccionar novas regras). É bastante eficiente e versátil, podendo ser usado até mesmo como bridge para honeypots e honeynets. Como não usa a pilha TCP/IP do sistema operacional, ele é “invisível” a outras máquinas na rede e atacantes.

A versão 1.0 do HLBR, lançada em março de 2006, implementou a possibilidade de uso de expressão regular para a detecção de tráfego anômalo. Há uma idéia no sentido de inserir detecção com Inteligência Artificial até dezembro de 2006.


  • .
  • .
  • .

See also

Telefones da pilha Electrónica de consumo

Electrónica de consumo, ou “consummer electronics“, designa o equipamento electrónico para uso pessoal (em contraste com o uso industrial). A electrónica de consumo encontra aplicações no entretenimento, comunicação e na productividade no escritório.

Algumas subcategorias deste tipo de produtos são por exemplo os telefones, equipamento de áudio, televisores, calculadoras, gravadores de vídeo e relógios digitais.


Ver também

  • Produtos castanhos

See also

Uma pilha de estruturas AAA

AAA pode ser:

  • Associação dos Alcoólicos Anônimos;
  • Um tamanho de pilha.
  • Aneurisma de Aorta Abdominal

See also

Telefones da pilha Busca em profundidade

Busca em profundidade (ou busca em profundidade-primeiro) é um algoritmo usado para realizar uma busca ou travessia numa árvore, estrutura de árvore ou grafo. Intuitivamente, o algoritmo começa num nó raiz (selecionando algum nó como sendo o raiz, no caso de um grafo) e explora tanto quanto possível cada um dos seus ramos, antes de retroceder(backtracking).


Definição Formal

thumb|right|200px|Representação visual de uma busca em profundidade
Formalmente, um algoritmo de busca em profundidade realiza uma busca não-informada que progride através da expansão do primeiro nó filho da árvore de busca, e se aprofunda cada vez mais, até que o alvo da busca seja encontrado ou até que ele se depare com um nó que não possui filhos (nó folha). Então a busca retrocede (backtrack) e começa no próximo nó. Numa implementação não-recursiva, todos os nós expandidos recentemente são adicionados a uma pilha, para realizar a exploração.

A complexidade espacial de um algoritmo de busca em profundidade é muito menor que a de um algoritmo de busca em largura. A complexidade temporal de ambos algoritmos são proporcionais ao número de vértices somados ao número de arestas dos grafos aos quais eles atravessam.

Quando ocorrem buscas em grafos muito grandes, que não podem ser armazenadas completamente na memória, a busca em profundidade não termina, em casos onde o comprimento de um caminho numa árvore de busca é infinito. O simples artifício de “ lembrar quais nós já foram visitados ” não funciona, porque pode não haver memória suficiente. Isso pode ser resolvido estabelecendo-se um limite de aumento na profundidade da árvore.


Exemplo

Para o grafo acima, uma busca em profundidade começando em A, assumindo-se que as arestas esquerdas do grafo apresentado sejam escolhidas antes das arestas direitas, e assumindo que a busca relembre os nós previamente visitados e que não os repita (desde que este seja um grafo pequeno), visitaremos os nós na seguinte ordem : A, B, D, F, E, C, G.

Melhorando essa mesma busca, sem que nos recordemos dos nós previamente visitados, teríamos como resultado a seguinte ordem de visita dos nós: A, B, D, F, E, A, B, D, F, E, etc, eternamente, já que a busca ficaria presa no ciclo A,B,D,F,E e nunca alcançaria G ou C.

O aprofundamento iterativo previne esse looping, alcançando os seguintes nós, nas seguintes profundidades, assumindo-se que ele prossiga da esquerda para a direita, como mostrado abaixo:

  • 0: A
  • 1: A (repetido), B, C, E

(Perceba que o aprofundamento iterativo agora enxergou C, ao passo que uma busca em profundidade convencional não enxergaria.)

  • 2: A, B, D, F, C, G, E, F

(Perceba que a busca ainda enxerga C, mas que ele vem depois. Perceba também que ele enxerga E via diferentes caminhos, e passa duas vezes pelo F .)

  • 3: A, B, D, F, E, C, G, E, F, B

Para esse grafo, quanto maior for a profundidade aplicada, os dois ciclos “ABFE” e “AEFB” simplesmente ficarão maiores, antes que o algoritmo desista e tente outro ramo.


Pseudocódigo

function Busca_Profundidade(Inicio, Alvo)
    empilha(Pilha,Inicio)
    while Pilha is not empty
        var Nodo = desempilha(Pilha)
       	 Colore(Nodo, Cinza)
        if Nodo := Alvo
            return Nodo
        for Filho in Expande(Nodo)
            if Filho.cor = Branco
               empilha(Pilha, Filho)
        Colore(Nodo, Preto)


Ver também

  • Busca em largura

See also