SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Curso: Ciência da Computação


Linguagens Formais e Autômatos

            Aula 4

    Linguagens Regulares
Notas de Aula
.




    Aspectos Teóricos da Computação   2/35
Linguagens Regulares
●   O estudo das linguagens regulares é abordado
    usando os seguintes formalismos:
    ➔   Autômato Finito. Trata-se d eum formalismo
        operacional ou reconhecedor, sendo basicamente,
        um sistema de estados finitos;
    ➔   Expressão Regular. Trata-se de um formalismo
        denotacional, também considerado gerador, o qual
        é definido a partir de conjuntos (linguagens)
        básicos e das operações de concatenação e de
        união;
    ➔   Gramática Regular. Trata-se de um formalismo
        axiomático ou gerador o que, como o nome indica,
        é uma gramática, mas com restrições de forma das
        regras de produção.
                     Aspectos Teóricos da Computação   3/35
Linguagens Regulares
 De acordo com a hierarquia de Chomsky, as
 linguagens regulares constituem a classe de
    linguagem mais simples, sendo possível
desenvolver algoritmos de reconhecimento, de
geração ou de conversão entre formalismos de
pouca complexidade, de grande eficiência e de
             fácil implementação.




               Aspectos Teóricos da Computação   4/35
Linguagens Regulares
Desvantagens:
  ●   Limitações de expressividade
Vantagens
  ●   Simplicidade
  ●   Algoritmos desenvolvidos para essas linguagens
      tem alta taxa de eficiência em tempo de
      processamento.
  ●   Consigo construir outras linguagens regulares a
      partir de uma existente.
  ●   Provar propriedades.
  ●   Construir algoritmos.

                     Aspectos Teóricos da Computação    5/35
Linguagens Regulares
Aplicação principal em Análise Léxica.
Análise léxica é o processo de analisar a entrada de linhas
de caracteres (tal como o código-fonte de um programa de
computador) e produzir uma sequência de símbolos
chamado "símbolos léxicos" (lexical tokens), ou somente
"símbolos" (tokens), que podem ser manipulados mais
facilmente por um parser (leitor de saída).
A Análise Léxica é a forma de verificar determinado alfabeto.
Quando analisamos uma palavra, podemos definir através da
análise léxica se existe ou não algum caracter que não faz
parte do nosso alfabeto, ou um alfabeto inventado por nós. O
analisador léxico é a primeira etapa de um compilador, logo
após virá a análise sintática.


                     Aspectos Teóricos da Computação          6/35
Linguagens Regulares
Para facilitar o estudo de Linguagens Regulares vamos
introduzir 2 conceitos:
●   Sistema de Estados Finitos.
●   Composição de sistemas.




                     Aspectos Teóricos da Computação    7/35
Sistema de Estados Finitos
Um sistema de estados finitos é um modelo
matemático de sistema com entradas e saídas
discretas. Pode assumir um número finito e
predefinido de estados.


Cada estado resume somente as informações do
passado necessárias para determinar ações para
a próxima entrada.




                Aspectos Teóricos da Computação   8/35
Sistema de Estados Finitos
●   Você consegue pensar um sistema de estados
    finitos.
    ●   5 minutos em grupo.




                     Aspectos Teóricos da Computação   9/35
Sistema de Estados Finitos
Exemplo: Elevador
●   É um sistema que não memoriza as
    requisições anteriores.
●   Cada estado sumariza as informações “andar
    corrente” e “direção do movimento”.
●   As entradas para o sistema são requisições
    pendentes.




                  Aspectos Teóricos da Computação   10/35
Sistema de Estados Finitos
Exemplo: Analisador Léxico e Processadores de
Texto
●   Cada estado memoriza a estrutura do prefixo
    da palavra em análise.




                  Aspectos Teóricos da Computação   11/35
Sistema de Estados Finitos
Contra-Exemplo: Cérebro Humano
●   Um neurônio pode ser representado por um
    número finito de bits.
●   O cérebro humano é composto por 2 35 células.
●   Portanto possível de representar por um
    número finito de estados.
●   Entretanto, o elevado número de combinações
    de células determina uma abordagem pouco
    eficiente em termos práticos.
●   Tal fenômeno é denominado explosão de
    estados.
                  Aspectos Teóricos da Computação   12/35
Composição Sequencial, Concorrente e
         Não Determinista
Um sistema em geral se constrói de maneira composicional , no sentido
em que sistemas novos são construídos a partir de sistemas
conhecidos. Dessa maneira fazendo uma desconstrução de sistemas
podemos chegar até o nível mais elementar.
Três formas de composição se destacam:
(a) Sequencial. A execução da próxima componente depende da
   terminação da componente anterior.
(b) Concorrente. Resulta em componentes independentes, no sentido
   em que a ordem em que são executadas não é importante, e,
   portanto podem ser processadas ao mesmo tempo.
(c) Não determinista. A próxima componente a ser executada é uma
   escolha entre diversas componentes alternativas. O não
   determinismo pode ser:
    •   Interno. O sistema escolhe aleatoriamente a próxima componente a ser
        executada.
    •   Externo. A escolha da próxima componente a ser executada é externa
        ao sistema.                                                      13/35
                           Aspectos Teóricos da Computação
Composição Sequencial, Concorrente e
         Não Determinista
Exemplo: Considere um universo de pessoas em um banco
●   Sequencial: em uma fila, o atendimento do próximo cliente depende
    do atendimento do cliente anterior, o pagamento de uma conta
    depende do fornecimento do valor.
●   Concorrente: os diversos caixas atendem independentemente
    diversos clientes; clientes nos caixas executam ações
    independentemente dos clientes que aguardam na fila.
●   Não-determinista: quando dois ou mais caixas ficam disponíveis ao
    mesmo tempo, o próximo cliente pode escolher em qual caixa será
    atendido; o simples caminhar de um indivíduo pode aleatoriamente
    iniciar com a perna esquerda ou direita.




                         Aspectos Teóricos da Computação           14/35
Composição Sequencial, Concorrente e
         Não Determinista
Focaremos na nossa disciplina a composição sequencial e não determinista.
A semântica não determinística adotada na disciplina é a usual para
Linguagens Formais e pode ser resumida como segue:
●   Considera o não determinismo interno;
●   Objetiva determinar a capacidade de reconhecer linguagens e de
    solucionar problemas.




                          Aspectos Teóricos da Computação               15/35
Autômato Finito
Autômato Finito é um sistema de estados finitos o
qual constitui um modelo computacional do tipo
sequencial muito comum em diversos estudos
teórico-formais da Computação e Informática,
com destaque para Linguagens Formais,
Compiladores, Semântica Formal e Modelos para
Concorrência.




                 Aspectos Teóricos da Computação   16/35
Autômato Finito
Um AF pode ser:
●   Determinístico: dependendo do estado corrente e do
    símbolo lido, o sistema pode assumir um único estado
    bem determinado;
●   Não determinístico: dependendo do estado corrente e do
    símbolo lido, o sistema pode assumir um conjunto de
    estados alternativos;
●   Como movimentos vazios: dependendo do estado
    corrente e sem ler qualquer símbolo, o sistema pode
    assumir um conjunto de estados (portanto é não
    determinístico). Movimentos vazios podem ser vistos
    como transições encapsuladas nas quais, excetuando-se
    por uma eventual mudança de estado, nada mais pode
    ser observado, de forma análoga à noção de
    encapsulação das linguagens orientadas a objetos.
                     Aspectos Teóricos da Computação       17/35
Autômato Finito
Autômato Determinístico, Não determinístico e Com
movimentos vazios são equivalentes em termos de poder
computacional.




                   Aspectos Teóricos da Computação      18/35
Autômato Finito
Composição:
a) Fita. Dispositivo de entrada que contém a informação a ser
   processada;
b) Unidade de Controle. Reflete o estado corrente da máquina.
   Possui uma unidade de leitura (cabeça da fita) a qual acessa
   uma célula da fita de cada vez e movimenta-se exclusivamente
   para a direita;
c) Programa, Função Programa ou Função de Transição. Função
   que comanda as leituras e define o estado da máquina.
A fita é finita e armazena um símbolo em cada célula. Os símbolos
pertencem a um alfabeto de entrada. Não é possível gravar sobre
a fita (e não existe memória auxiliar).
O programa é uma função parcial tal que: Dependendo do estado
corrente e do símbolo lido, determina o novo estado do autômato

                      Aspectos Teóricos da Computação           19/35
Autômato Finito



  a        a       b       c       c       b     a

Controle




               Aspectos Teóricos da Computação       20/35
Autômato Finito: Definição Formal
Um Autômato Finito Determinístico (AFD) ou simplesmente Automato Finito M é uma 5-
upla ordenada:

M = { ∑, Q, δ, q0, F}

Na qual:
 a) ∑ é um alfabeto de símbolos de entrada, ou simplesmente alfabeto de entrada;
 b) Q é o conjunto de estados possíveis do autômato o qual é finito;

 c) . δ é uma função programa ou simplesmente programa, ou ainda função de
    transição:

              δ :Q x ∑ → Q
    a qual é uma função parcial. Supondo que a função programa é definida para um
estado p e um símbolo a, resultando no estado q, então:

              δ : (p,a) = q
    é uma transição do autômato;
 d) q0 é um elemento distinguido de Q, denominado estado inicial;

 e) F é um subconjunto de Q, denominado conjunto de estados finais.
                               Aspectos Teóricos da Computação                     21/35
Autômato Finito
Um AFD pode ser representado na forma de um diagrama no qual:
●   Estado são nodos, representados por círculos;
●   Transições são arestas, ligando os nodos correspondentes.
●   Estados iniciais e finais são representados de forma distinta dos demais.
●   Transições paralelas (mesmo nó de origem e destino) podem alternativamente ser
    representados com duas arestas apontando para o mesmo nodo ou uma aresta com
    os dois símbolos.


    Exemplos do livro página 47.




                               Aspectos Teóricos da Computação                  22/35
Autômato Finito Determinístico
Uma forma alternativa e muito comum de
representar uma função programa ou função de
transição é como uma tabela de dupla entrada.

               δ               a                     ...
               p               q                     ...
               q               ...                   ...


A tabela acima indica a transição do tipo δ(p,a) =
q.


                   Aspectos Teóricos da Computação         23/35
Autômato Finito Determinístico
A computação de AFD para uma palavra de
entrada w, consiste na sucessiva aplicação da
função programa para cada símbolo de w (da
esquerda para a direita) até ocorrer uma condição
de parada.


Um AFD não possui memória de trabalho,
somente estados.




                 Aspectos Teóricos da Computação   24/35
Autômato Finito Determinístico
Exemplo 3.1 página 47.




                Aspectos Teóricos da Computação   25/35
Parada de um AFD
A parada do processamento de um AFD para
uma entrada w pode ser de duas maneiras:
a) Aceita a entrada w. Após processar o último
  símbolo da fita, o autômato finito assume um
  estado final;
b) Rejeita a entrada w. São duas possibilidades:
  ●   Após processar o último elemento da fita, o afd
      assume um estado não final.
  ●   Em algum momento, ao longo do processamento
      de w, a função programa é indefinida para o
      argumento (estado corrente e símbolo lido da fita).

                    Aspectos Teóricos da Computação     26/35
Função Programa ou Função de Transição
                  Estendida
Seja M = (∑, Q, δ,q0, F) um AFD. A função programa
estendida ou computação de M, denotada por:
              δ*:Q   x ∑* → Q
É a função programa δ :Q x ∑ → Q estendida para
palavras e é indutivamente definida como segue:
     δ*(q,ε   )=q
     δ*(q,aw)   = δ *(δ(q,a),w)


Portanto a função programa estendida consiste na
sucessiva aplicação da função programa para cada
símbolo da palavra, a partir de um dado estado. Se a
entrada for vazia o AFD continua no mesmo estado.
                        Aspectos Teóricos da Computação   27/35
Função Estendida
●   Exemplo 3.2 da página 50.




                  Aspectos Teóricos da Computação   28/35
Linguagem Aceita, Linguagem Rejeitada
Seja M = (∑, Q, δ,q0, F) um AFD. A Linguagem Aceita ou Linguagem
Reconhecida por M, denotada por:
          ACEITA(M) ou L(M)
é o conjunto de todas as palavras pertencentes a ∑* aceitas por M, a
partir do estado inicial qo , ou seja:

       L(M) = ACEITA(M) = {w | δ*(q0,w) є F}

Analogamente, a Linguagem Rejeitada por M, denotada por:
          REJEITA(M)
é o conjunto de todas as palavras pertencentes a ∑* rejeitadas por M, a
partir do estado inicial q0, ou seja:

       REJEITA(M) = {w | δ*(q0,w) ∉F ou δ*(q0,w) é indefinida}



                         Aspectos Teóricos da Computação               29/35
Linguagem Aceita, Linguagem Rejeitada
Supondo que ∑* é o conjunto universo, as
seguintes afirmações são verdadeiras.
ACEITA(M) ∩ REJEITA(M) = Ø
ACEITA(M) U REJEITA(M) = ∑*
~ACEITA(M) = REJEITA(M)
~REJEITA(M) = ACEITA(M)
                         ∑*


         ACEITA(M)              REJEITA(M)




                     Aspectos Teóricos da Computação   30/35
Autômatos Finitos Equivalentes
Diferentes autômatos finitos podem aceitar a
mesma linguagem.
Dois autômatos finitos M1 e M2 são ditos
Autômatos Finitos Equivalentes se e somente se:
       ACEITA(M1) = ACEITA(M2)




                 Aspectos Teóricos da Computação   31/35
Linguagem Regular
Uma linguagem L é dita uma Linguagem Regular
ou Linguagem Tipo 3 se existe pelos menos um
autômato finito determinístico que aceita L.




               Aspectos Teóricos da Computação   32/35
Linguagem Regular
●   Exemplo 3.3 da página 51.
●   Exemplo 3.4 da página 52.




                  Aspectos Teóricos da Computação   33/35
Para a Próxima Aula
Ler as seções 3.1, 3.2 e 3.3 do livro texto.




                 Aspectos Teóricos da Computação   34/35
Exercícios
1. Dado o autômato abaixo determine M = (∑, Q, δ,q0, F)

                     b
                q0       a        q1      c       qf

2. Desenvolva autômatos finitos determinísticos que reconheçam as seguintes
   linguagens sobre ∑ ={a,b}:
     a) {w | w possui aaa como subpalavra}
     b) {w | o sufixo de w é aa}
     c) {w | w possui número impar de a e número ímpar de b}
     d) {w | w possui número par de a e número ímpar de b ou w possui
        número par de b e ímpar de a}
     e) {w | o quinto símbolo da direita para a esquerda de w é a}
3. Pense na seguinte afirmação: “Um autômato finito sempre pára.” Analise se
   ela é verdadeira ou falsa. Se verdadeira justifique. Se falsa dê um contra-
   exemplo.




                             Aspectos Teóricos da Computação              35/35

Mais conteúdo relacionado

Mais procurados

Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regularwab030
 
Logica computacional
Logica computacionalLogica computacional
Logica computacionalJota Thin
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosTárcio Sales
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Informática na educação infantil
Informática na educação infantilInformática na educação infantil
Informática na educação infantilClaudinéia da Silva
 
Banco de questões qualidade de software
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de softwareBruno Nascimento
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Filipo Mór
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 

Mais procurados (20)

Aula 7 expressão regular
Aula 7   expressão regularAula 7   expressão regular
Aula 7 expressão regular
 
Logica computacional
Logica computacionalLogica computacional
Logica computacional
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Introdução a Automação.
Introdução a Automação.Introdução a Automação.
Introdução a Automação.
 
O que é programação?
O que é programação?O que é programação?
O que é programação?
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
Lista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e AutômatosLista de Exercícios - Linguagem Formais e Autômatos
Lista de Exercícios - Linguagem Formais e Autômatos
 
Como fazer cabos de rede
Como fazer cabos de redeComo fazer cabos de rede
Como fazer cabos de rede
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Informática na educação infantil
Informática na educação infantilInformática na educação infantil
Informática na educação infantil
 
Banco de questões qualidade de software
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de software
 
Flip Flops Parte 4
Flip Flops Parte 4Flip Flops Parte 4
Flip Flops Parte 4
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Aula 6 - Cardinalidade
Aula 6 - CardinalidadeAula 6 - Cardinalidade
Aula 6 - Cardinalidade
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 

Destaque

Apresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzoliniApresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzoliniRenata Budri
 
Propostas feias de Paulo Esperança
Propostas feias de Paulo EsperançaPropostas feias de Paulo Esperança
Propostas feias de Paulo EsperançaHome
 
20140731115819495
2014073111581949520140731115819495
20140731115819495Juan Ramos
 
El presupuesto para 2015
El presupuesto para 2015El presupuesto para 2015
El presupuesto para 2015rueday20
 
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)Harlan Beverly
 
Presentation3 presentation-2
Presentation3 presentation-2Presentation3 presentation-2
Presentation3 presentation-2sumandaspersonal
 
TURMA 400 EM...O RECREIO FANTÁSTICO
TURMA 400 EM...O RECREIO FANTÁSTICOTURMA 400 EM...O RECREIO FANTÁSTICO
TURMA 400 EM...O RECREIO FANTÁSTICOMary Santos
 
Psychology - Postgraduate Library Induction 2011
Psychology -  Postgraduate Library Induction 2011Psychology -  Postgraduate Library Induction 2011
Psychology - Postgraduate Library Induction 2011SHewlett
 
Tutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESTutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESCBTA 52
 
Nicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - CoorimbatáNicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - CoorimbatáUnomarketing
 
Est2 acoso sexual
Est2   acoso sexualEst2   acoso sexual
Est2 acoso sexualemmstone
 

Destaque (20)

Apresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzoliniApresentação natalia. lucio.renata vanzolini
Apresentação natalia. lucio.renata vanzolini
 
Propostas feias de Paulo Esperança
Propostas feias de Paulo EsperançaPropostas feias de Paulo Esperança
Propostas feias de Paulo Esperança
 
20140731115819495
2014073111581949520140731115819495
20140731115819495
 
Resenha cris grupo
Resenha cris grupoResenha cris grupo
Resenha cris grupo
 
Prova 2 eso
Prova 2 esoProva 2 eso
Prova 2 eso
 
Segunda edição do curso Planejamento de Marketing Digital na Construção Civil
Segunda edição do curso Planejamento de Marketing Digital na Construção CivilSegunda edição do curso Planejamento de Marketing Digital na Construção Civil
Segunda edição do curso Planejamento de Marketing Digital na Construção Civil
 
El presupuesto para 2015
El presupuesto para 2015El presupuesto para 2015
El presupuesto para 2015
 
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
Agile Planning Part 2/3 Agile Manifesto and Kanban (a Personal Kanban)
 
Presentation3 presentation-2
Presentation3 presentation-2Presentation3 presentation-2
Presentation3 presentation-2
 
TURMA 400 EM...O RECREIO FANTÁSTICO
TURMA 400 EM...O RECREIO FANTÁSTICOTURMA 400 EM...O RECREIO FANTÁSTICO
TURMA 400 EM...O RECREIO FANTÁSTICO
 
Curso de inglés bbc english 87
Curso de inglés bbc english 87Curso de inglés bbc english 87
Curso de inglés bbc english 87
 
Jogo figuras, numeros, quantidades a4
Jogo figuras, numeros, quantidades a4Jogo figuras, numeros, quantidades a4
Jogo figuras, numeros, quantidades a4
 
Semen disponible
Semen disponibleSemen disponible
Semen disponible
 
Psychology - Postgraduate Library Induction 2011
Psychology -  Postgraduate Library Induction 2011Psychology -  Postgraduate Library Induction 2011
Psychology - Postgraduate Library Induction 2011
 
Internet
InternetInternet
Internet
 
Tutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADESTutorial prerregistro beca SEP - OPORTUNIDADES
Tutorial prerregistro beca SEP - OPORTUNIDADES
 
Pic 13
Pic 13Pic 13
Pic 13
 
Bani Ummayah_ Pend.Islam Tingkatan 4
Bani Ummayah_ Pend.Islam Tingkatan 4Bani Ummayah_ Pend.Islam Tingkatan 4
Bani Ummayah_ Pend.Islam Tingkatan 4
 
Nicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - CoorimbatáNicolau Priante Filho - Coorimbatá
Nicolau Priante Filho - Coorimbatá
 
Est2 acoso sexual
Est2   acoso sexualEst2   acoso sexual
Est2 acoso sexual
 

Semelhante a Aula 4 linguagens regularese automatosfinitosdeterministicos

Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmosslashmelhor
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básicaPablo Verlly Moreira
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]Dafmet Ufpel
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturadoNaldo Falaschi
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfEizoKato
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfEizoKato
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 

Semelhante a Aula 4 linguagens regularese automatosfinitosdeterministicos (20)

Autômatos
AutômatosAutômatos
Autômatos
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básica
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
XVII SAMET - Prof. Marcello Macarthy [Mini-curso Fortran - 5ª feira 02.12.2010]
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula02
Aula02Aula02
Aula02
 
Aula apontadores
Aula apontadoresAula apontadores
Aula apontadores
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
02 algoritmos
02 algoritmos02 algoritmos
02 algoritmos
 
03 linguagens regulares
03   linguagens regulares03   linguagens regulares
03 linguagens regulares
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Ud2
Ud2Ud2
Ud2
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 

Mais de wab030

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educaçãowab030
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programadowab030
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadaniawab030
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educaçãowab030
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociaiswab030
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...wab030
 
Hp0061
Hp0061Hp0061
Hp0061wab030
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educaçãowab030
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdewab030
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redeswab030
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+bancowab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícioswab030
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turingwab030
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009wab030
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de redewab030
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Redewab030
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDPwab030
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redeswab030
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+bancowab030
 

Mais de wab030 (20)

Internet e Educação
Internet e EducaçãoInternet e Educação
Internet e Educação
 
Programe ou seja programado
Programe ou seja programadoPrograme ou seja programado
Programe ou seja programado
 
Internet e cidadania
 Internet e cidadania Internet e cidadania
Internet e cidadania
 
Internet, Cidadania e Educação
Internet, Cidadania e EducaçãoInternet, Cidadania e Educação
Internet, Cidadania e Educação
 
Internet e redes sociais digitais como instrumento para os movimentos sociais
 Internet e redes sociais digitais como instrumento para os movimentos sociais Internet e redes sociais digitais como instrumento para os movimentos sociais
Internet e redes sociais digitais como instrumento para os movimentos sociais
 
A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...A internet como espaço de mobilidade social: democratização e regulamentação ...
A internet como espaço de mobilidade social: democratização e regulamentação ...
 
Hp0061
Hp0061Hp0061
Hp0061
 
Internet e educação
Internet e educaçãoInternet e educação
Internet e educação
 
Alimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúdeAlimentos Orgânicos - Melhor para sua saúde
Alimentos Orgânicos - Melhor para sua saúde
 
Notas b2redes
Notas b2redesNotas b2redes
Notas b2redes
 
Notas info+banco
Notas info+bancoNotas info+banco
Notas info+banco
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 12 revisãodos exercícios
Aula 12   revisãodos exercíciosAula 12   revisãodos exercícios
Aula 12 revisãodos exercícios
 
Aula 10 maquinade turing
Aula 10   maquinade turingAula 10   maquinade turing
Aula 10 maquinade turing
 
Wireshark ip sept_15_2009
Wireshark ip sept_15_2009Wireshark ip sept_15_2009
Wireshark ip sept_15_2009
 
Aula 10 camada de rede
Aula 10   camada de redeAula 10   camada de rede
Aula 10 camada de rede
 
Aula 9 conceitos gerais de Rede
Aula 9   conceitos gerais de RedeAula 9   conceitos gerais de Rede
Aula 9 conceitos gerais de Rede
 
Wireshark UDP
Wireshark UDPWireshark UDP
Wireshark UDP
 
Notas b1 redes
Notas b1 redesNotas b1 redes
Notas b1 redes
 
Notas b1 info+banco
Notas b1 info+bancoNotas b1 info+banco
Notas b1 info+banco
 

Último

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 

Último (20)

Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 

Aula 4 linguagens regularese automatosfinitosdeterministicos

  • 1. Curso: Ciência da Computação Linguagens Formais e Autômatos Aula 4 Linguagens Regulares
  • 2. Notas de Aula . Aspectos Teóricos da Computação 2/35
  • 3. Linguagens Regulares ● O estudo das linguagens regulares é abordado usando os seguintes formalismos: ➔ Autômato Finito. Trata-se d eum formalismo operacional ou reconhecedor, sendo basicamente, um sistema de estados finitos; ➔ Expressão Regular. Trata-se de um formalismo denotacional, também considerado gerador, o qual é definido a partir de conjuntos (linguagens) básicos e das operações de concatenação e de união; ➔ Gramática Regular. Trata-se de um formalismo axiomático ou gerador o que, como o nome indica, é uma gramática, mas com restrições de forma das regras de produção. Aspectos Teóricos da Computação 3/35
  • 4. Linguagens Regulares De acordo com a hierarquia de Chomsky, as linguagens regulares constituem a classe de linguagem mais simples, sendo possível desenvolver algoritmos de reconhecimento, de geração ou de conversão entre formalismos de pouca complexidade, de grande eficiência e de fácil implementação. Aspectos Teóricos da Computação 4/35
  • 5. Linguagens Regulares Desvantagens: ● Limitações de expressividade Vantagens ● Simplicidade ● Algoritmos desenvolvidos para essas linguagens tem alta taxa de eficiência em tempo de processamento. ● Consigo construir outras linguagens regulares a partir de uma existente. ● Provar propriedades. ● Construir algoritmos. Aspectos Teóricos da Computação 5/35
  • 6. Linguagens Regulares Aplicação principal em Análise Léxica. Análise léxica é o processo de analisar a entrada de linhas de caracteres (tal como o código-fonte de um programa de computador) e produzir uma sequência de símbolos chamado "símbolos léxicos" (lexical tokens), ou somente "símbolos" (tokens), que podem ser manipulados mais facilmente por um parser (leitor de saída). A Análise Léxica é a forma de verificar determinado alfabeto. Quando analisamos uma palavra, podemos definir através da análise léxica se existe ou não algum caracter que não faz parte do nosso alfabeto, ou um alfabeto inventado por nós. O analisador léxico é a primeira etapa de um compilador, logo após virá a análise sintática. Aspectos Teóricos da Computação 6/35
  • 7. Linguagens Regulares Para facilitar o estudo de Linguagens Regulares vamos introduzir 2 conceitos: ● Sistema de Estados Finitos. ● Composição de sistemas. Aspectos Teóricos da Computação 7/35
  • 8. Sistema de Estados Finitos Um sistema de estados finitos é um modelo matemático de sistema com entradas e saídas discretas. Pode assumir um número finito e predefinido de estados. Cada estado resume somente as informações do passado necessárias para determinar ações para a próxima entrada. Aspectos Teóricos da Computação 8/35
  • 9. Sistema de Estados Finitos ● Você consegue pensar um sistema de estados finitos. ● 5 minutos em grupo. Aspectos Teóricos da Computação 9/35
  • 10. Sistema de Estados Finitos Exemplo: Elevador ● É um sistema que não memoriza as requisições anteriores. ● Cada estado sumariza as informações “andar corrente” e “direção do movimento”. ● As entradas para o sistema são requisições pendentes. Aspectos Teóricos da Computação 10/35
  • 11. Sistema de Estados Finitos Exemplo: Analisador Léxico e Processadores de Texto ● Cada estado memoriza a estrutura do prefixo da palavra em análise. Aspectos Teóricos da Computação 11/35
  • 12. Sistema de Estados Finitos Contra-Exemplo: Cérebro Humano ● Um neurônio pode ser representado por um número finito de bits. ● O cérebro humano é composto por 2 35 células. ● Portanto possível de representar por um número finito de estados. ● Entretanto, o elevado número de combinações de células determina uma abordagem pouco eficiente em termos práticos. ● Tal fenômeno é denominado explosão de estados. Aspectos Teóricos da Computação 12/35
  • 13. Composição Sequencial, Concorrente e Não Determinista Um sistema em geral se constrói de maneira composicional , no sentido em que sistemas novos são construídos a partir de sistemas conhecidos. Dessa maneira fazendo uma desconstrução de sistemas podemos chegar até o nível mais elementar. Três formas de composição se destacam: (a) Sequencial. A execução da próxima componente depende da terminação da componente anterior. (b) Concorrente. Resulta em componentes independentes, no sentido em que a ordem em que são executadas não é importante, e, portanto podem ser processadas ao mesmo tempo. (c) Não determinista. A próxima componente a ser executada é uma escolha entre diversas componentes alternativas. O não determinismo pode ser: • Interno. O sistema escolhe aleatoriamente a próxima componente a ser executada. • Externo. A escolha da próxima componente a ser executada é externa ao sistema. 13/35 Aspectos Teóricos da Computação
  • 14. Composição Sequencial, Concorrente e Não Determinista Exemplo: Considere um universo de pessoas em um banco ● Sequencial: em uma fila, o atendimento do próximo cliente depende do atendimento do cliente anterior, o pagamento de uma conta depende do fornecimento do valor. ● Concorrente: os diversos caixas atendem independentemente diversos clientes; clientes nos caixas executam ações independentemente dos clientes que aguardam na fila. ● Não-determinista: quando dois ou mais caixas ficam disponíveis ao mesmo tempo, o próximo cliente pode escolher em qual caixa será atendido; o simples caminhar de um indivíduo pode aleatoriamente iniciar com a perna esquerda ou direita. Aspectos Teóricos da Computação 14/35
  • 15. Composição Sequencial, Concorrente e Não Determinista Focaremos na nossa disciplina a composição sequencial e não determinista. A semântica não determinística adotada na disciplina é a usual para Linguagens Formais e pode ser resumida como segue: ● Considera o não determinismo interno; ● Objetiva determinar a capacidade de reconhecer linguagens e de solucionar problemas. Aspectos Teóricos da Computação 15/35
  • 16. Autômato Finito Autômato Finito é um sistema de estados finitos o qual constitui um modelo computacional do tipo sequencial muito comum em diversos estudos teórico-formais da Computação e Informática, com destaque para Linguagens Formais, Compiladores, Semântica Formal e Modelos para Concorrência. Aspectos Teóricos da Computação 16/35
  • 17. Autômato Finito Um AF pode ser: ● Determinístico: dependendo do estado corrente e do símbolo lido, o sistema pode assumir um único estado bem determinado; ● Não determinístico: dependendo do estado corrente e do símbolo lido, o sistema pode assumir um conjunto de estados alternativos; ● Como movimentos vazios: dependendo do estado corrente e sem ler qualquer símbolo, o sistema pode assumir um conjunto de estados (portanto é não determinístico). Movimentos vazios podem ser vistos como transições encapsuladas nas quais, excetuando-se por uma eventual mudança de estado, nada mais pode ser observado, de forma análoga à noção de encapsulação das linguagens orientadas a objetos. Aspectos Teóricos da Computação 17/35
  • 18. Autômato Finito Autômato Determinístico, Não determinístico e Com movimentos vazios são equivalentes em termos de poder computacional. Aspectos Teóricos da Computação 18/35
  • 19. Autômato Finito Composição: a) Fita. Dispositivo de entrada que contém a informação a ser processada; b) Unidade de Controle. Reflete o estado corrente da máquina. Possui uma unidade de leitura (cabeça da fita) a qual acessa uma célula da fita de cada vez e movimenta-se exclusivamente para a direita; c) Programa, Função Programa ou Função de Transição. Função que comanda as leituras e define o estado da máquina. A fita é finita e armazena um símbolo em cada célula. Os símbolos pertencem a um alfabeto de entrada. Não é possível gravar sobre a fita (e não existe memória auxiliar). O programa é uma função parcial tal que: Dependendo do estado corrente e do símbolo lido, determina o novo estado do autômato Aspectos Teóricos da Computação 19/35
  • 20. Autômato Finito a a b c c b a Controle Aspectos Teóricos da Computação 20/35
  • 21. Autômato Finito: Definição Formal Um Autômato Finito Determinístico (AFD) ou simplesmente Automato Finito M é uma 5- upla ordenada: M = { ∑, Q, δ, q0, F} Na qual: a) ∑ é um alfabeto de símbolos de entrada, ou simplesmente alfabeto de entrada; b) Q é o conjunto de estados possíveis do autômato o qual é finito; c) . δ é uma função programa ou simplesmente programa, ou ainda função de transição: δ :Q x ∑ → Q a qual é uma função parcial. Supondo que a função programa é definida para um estado p e um símbolo a, resultando no estado q, então: δ : (p,a) = q é uma transição do autômato; d) q0 é um elemento distinguido de Q, denominado estado inicial; e) F é um subconjunto de Q, denominado conjunto de estados finais. Aspectos Teóricos da Computação 21/35
  • 22. Autômato Finito Um AFD pode ser representado na forma de um diagrama no qual: ● Estado são nodos, representados por círculos; ● Transições são arestas, ligando os nodos correspondentes. ● Estados iniciais e finais são representados de forma distinta dos demais. ● Transições paralelas (mesmo nó de origem e destino) podem alternativamente ser representados com duas arestas apontando para o mesmo nodo ou uma aresta com os dois símbolos. Exemplos do livro página 47. Aspectos Teóricos da Computação 22/35
  • 23. Autômato Finito Determinístico Uma forma alternativa e muito comum de representar uma função programa ou função de transição é como uma tabela de dupla entrada. δ a ... p q ... q ... ... A tabela acima indica a transição do tipo δ(p,a) = q. Aspectos Teóricos da Computação 23/35
  • 24. Autômato Finito Determinístico A computação de AFD para uma palavra de entrada w, consiste na sucessiva aplicação da função programa para cada símbolo de w (da esquerda para a direita) até ocorrer uma condição de parada. Um AFD não possui memória de trabalho, somente estados. Aspectos Teóricos da Computação 24/35
  • 25. Autômato Finito Determinístico Exemplo 3.1 página 47. Aspectos Teóricos da Computação 25/35
  • 26. Parada de um AFD A parada do processamento de um AFD para uma entrada w pode ser de duas maneiras: a) Aceita a entrada w. Após processar o último símbolo da fita, o autômato finito assume um estado final; b) Rejeita a entrada w. São duas possibilidades: ● Após processar o último elemento da fita, o afd assume um estado não final. ● Em algum momento, ao longo do processamento de w, a função programa é indefinida para o argumento (estado corrente e símbolo lido da fita). Aspectos Teóricos da Computação 26/35
  • 27. Função Programa ou Função de Transição Estendida Seja M = (∑, Q, δ,q0, F) um AFD. A função programa estendida ou computação de M, denotada por: δ*:Q x ∑* → Q É a função programa δ :Q x ∑ → Q estendida para palavras e é indutivamente definida como segue: δ*(q,ε )=q δ*(q,aw) = δ *(δ(q,a),w) Portanto a função programa estendida consiste na sucessiva aplicação da função programa para cada símbolo da palavra, a partir de um dado estado. Se a entrada for vazia o AFD continua no mesmo estado. Aspectos Teóricos da Computação 27/35
  • 28. Função Estendida ● Exemplo 3.2 da página 50. Aspectos Teóricos da Computação 28/35
  • 29. Linguagem Aceita, Linguagem Rejeitada Seja M = (∑, Q, δ,q0, F) um AFD. A Linguagem Aceita ou Linguagem Reconhecida por M, denotada por: ACEITA(M) ou L(M) é o conjunto de todas as palavras pertencentes a ∑* aceitas por M, a partir do estado inicial qo , ou seja: L(M) = ACEITA(M) = {w | δ*(q0,w) є F} Analogamente, a Linguagem Rejeitada por M, denotada por: REJEITA(M) é o conjunto de todas as palavras pertencentes a ∑* rejeitadas por M, a partir do estado inicial q0, ou seja: REJEITA(M) = {w | δ*(q0,w) ∉F ou δ*(q0,w) é indefinida} Aspectos Teóricos da Computação 29/35
  • 30. Linguagem Aceita, Linguagem Rejeitada Supondo que ∑* é o conjunto universo, as seguintes afirmações são verdadeiras. ACEITA(M) ∩ REJEITA(M) = Ø ACEITA(M) U REJEITA(M) = ∑* ~ACEITA(M) = REJEITA(M) ~REJEITA(M) = ACEITA(M) ∑* ACEITA(M) REJEITA(M) Aspectos Teóricos da Computação 30/35
  • 31. Autômatos Finitos Equivalentes Diferentes autômatos finitos podem aceitar a mesma linguagem. Dois autômatos finitos M1 e M2 são ditos Autômatos Finitos Equivalentes se e somente se: ACEITA(M1) = ACEITA(M2) Aspectos Teóricos da Computação 31/35
  • 32. Linguagem Regular Uma linguagem L é dita uma Linguagem Regular ou Linguagem Tipo 3 se existe pelos menos um autômato finito determinístico que aceita L. Aspectos Teóricos da Computação 32/35
  • 33. Linguagem Regular ● Exemplo 3.3 da página 51. ● Exemplo 3.4 da página 52. Aspectos Teóricos da Computação 33/35
  • 34. Para a Próxima Aula Ler as seções 3.1, 3.2 e 3.3 do livro texto. Aspectos Teóricos da Computação 34/35
  • 35. Exercícios 1. Dado o autômato abaixo determine M = (∑, Q, δ,q0, F) b q0 a q1 c qf 2. Desenvolva autômatos finitos determinísticos que reconheçam as seguintes linguagens sobre ∑ ={a,b}: a) {w | w possui aaa como subpalavra} b) {w | o sufixo de w é aa} c) {w | w possui número impar de a e número ímpar de b} d) {w | w possui número par de a e número ímpar de b ou w possui número par de b e ímpar de a} e) {w | o quinto símbolo da direita para a esquerda de w é a} 3. Pense na seguinte afirmação: “Um autômato finito sempre pára.” Analise se ela é verdadeira ou falsa. Se verdadeira justifique. Se falsa dê um contra- exemplo. Aspectos Teóricos da Computação 35/35