Exercícios 03. Questão 1.5) Qual o estado do AFD após processar a sentença w = abbbbaaaaab? A sentença w L?

Tamanho: px
Começar a partir da página:

Download "Exercícios 03. Questão 1.5) Qual o estado do AFD após processar a sentença w = abbbbaaaaab? A sentença w L?"

Transcrição

1 Exercícios 03 CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB 1 a Questão: Codifique no programa JFLAP o AFD definido sobre o alfabeto Σ={a,b, que reconhece sentenças de determinada linguagem L, conforme apresentado abaixo e faça o que se pede : Questão 1.1) Este AFD reconhece um número finito ou infinito de sentenças? Questão 1.2) Quais são os estados não finais deste AFD? Questão 1.3) Quais são os estados finais deste AFD? Questão 1.4) Qual o estado do AFD após processar a sentença w = abbbb? A sentença w L? Questão 1.5) Qual o estado do AFD após processar a sentença w = abbbbaaaaab? A sentença w L? Questão 1.6) Qual o estado do AFD após processar a sentença w = abbbbaaaaa? A sentença w L? Questão 1.7) Qual o estado do AFD após processar a sentença w = abbbbaba? A sentença w L? Questão 1.8) Qual o estado do AFD após processar a sentença w = babbbbaba? A sentença w L? Questão 1.9) A linguagem L, que está formalmente definida pelo AFD apresenta um número finito ou

2 infinito de sentenças? Questão 1.10) Após a codificação do AFD, teste no JFLAP as seguintes sentenças: (1) bbbb (2) abbbba (3) abbbbab (4) abbbbaba 2 a Questão: Codifique no programa JFLAP os AFD s dos exercícios 1,2, 7 e 8 apresentados abaixo. Em seguida responda: Questão 2.1) Para cada AFD, teste no JFLAP uma sentença que deve ser aceita e uma sentença que não deve ser aceita pelo mesmo. Questão 2.2) Responda para cada AFD: Questão 2.2.1) Este AFD reconhece um número finito ou infinito de sentenças?

3 Questão 2.2.2) Quais são os estados não finais deste AFD? Questão 2.2.3) Quais são os estados finais deste AFD? CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB Questão 2.2.4) A linguagem L, que está formalmente definida pelo AFD apresenta um número finito ou infinito de sentenças? 3 a Questão Definição do problema: Um vendedor de mercadorias disponibilizou seu banco de dados na Internet para consulta. Uma das tabelas refere-se aos dados das mercadorias vendidas. O nome da tabela é TB01MERC. Um dos campos desta tabela é o campo D_CODMERC, referente ao código da mercadoria, que é um número inteiro entre 0 e inclusive. Um usuário na Internet pode consultar os dados desta tabela escolhendo os produtos a serem listados, digitando intervalos numéricos diversos, usando os operadores relacionais >, >=, <, <=, =, E e OU. Veja abaixo alguns exemplos de expressões corretas que o usuário pode digitar para realizar as consultas: Exemplos de expressões corretas Exemplos de expressões corretas > = 1267 > >= 200 E < 7738 > 5322 E <= OU >= >= 336 E <=885 OU >15 E < 45 E =98 OU = 133 < OU > OU = >=10 E <= 20 OU >=50 E <= 70 OU >= 85 E < Espera-se que as expressões sejam corretamente digitadas. As expressões incorretas podem ser: Expressão incorreta Exemplo Não iniciam com algum operador relacional 77 OU > 45 Apresentam ao final da expressão o conectivo lógico E ou > 55 OU OU Apresentam espaço(s) em branco entre o > e = ou entre > = 55 < e = Apresentam um número com 6 ou mais dígitos > E < 43 Condifique no programa JFLAP um AFD para avaliar se a expressão digitada pelo usuário na tela da Internet está ou não correta. Após a codificação do AFD, teste no JFLAP as seguintes expressões: (1) > 8999 E < OU = 7777 (2) > 8999 OU < = OU = 600 (3) <333 E <= 555 OU >= 44 OU =675 (4) > E <=

4 4 a Questão: Codifique no programa JFLAP um AFD sobre o alfabeto Σ={a,b,c que reconheça SENTENÇAS da linguagem L onde as sentenças tenham, obrigatoriamente, um número par de primitivas a, ao menos uma subpalavra ca, e terminem obrigatoriamente com a sequência ba. 5 a Questão Construa um AFD sobre o alfabeto Σ={a,b,c que reconheça SENTENÇAS da linguagem L onde as sentenças tenham, obrigatoriamente, um número ímpar de primitivas b, nenhuma subpalavra ac, e iniciem obrigatoriamente com a sequência bc, 6 a Questão Condifique no programa JFLAP um AFD sobre o alfabeto Σ={a,b,c que reconheça SENTENÇAS da linguagem L onde as sentenças tenham, obrigatoriamente, um número par de primitivas c e ao menos uma subpalavra bb. Obs.: considere zero uma quantidade par. 7 a Questão Condifique no programa JFLAP um AFD sobre o alfabeto Σ={a,b,c que reconheça SENTENÇAS da linguagem L onde as sentenças tenham, obrigatoriamente, um número par de primitivas a, nenhuma subpalavra ac, e iniciem obrigatoriamente com a sequência bc. Obs.: considere zero uma quantidade par. 8 a Questão Exercícios a Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui abc como prefixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui zyx como prefixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui bca como subpalavra. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyx como subpalavra. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui aba como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {i, j, k, que reconheça a linguagem L = {w w possui kiki como sufixo.

5 Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {1, 2, 3, que reconheça a linguagem L = {w w possui 121 como prefixo e 231 como subpalavra. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyz como prefixo e xx como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {i, j, k, que reconheça a linguagem L = {w w possui kkj como subpalavra e iji como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui abc como prefixo, acb como subpalavra e cab como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui abc como prefixo, dad como subpalavra e ccd como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {1, 2, 3, que reconheça a linguagem L = {w w possui 121 como prefixo e 123 como subpalavra. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyz como prefixo e yzz como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {i, j, k, que reconheça a linguagem L = {w w possui kkj como subpalavra e jij como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui abc como prefixo, cbc como subpalavra e abb como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyz como prefixo, xzy como subpalavra e zyz como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {0, 1, que reconheça a linguagem L = {w w possui 001 como prefixo, 101 como subpalavra e 011 como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui y como prefixo, yx como subpalavra e xzx como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xy como prefixo, yzx como subpalavra e xzx como sufixo.

6 Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui abcd como prefixo, cdba como subpalavra e abab como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui dada como prefixo, daba como subpalavra e baba como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui bac ou abc como prefixo, abb como subpalavra e bca como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui yz como prefixo, xyx ou yxy como subpalavra e zz como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui bac como prefixo, cba como subpalavra e bca ou ccb como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui c como prefixo, aa ou bb como subpalavra e cac ou cbc como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui zz ou xz como prefixo, yyx ou xxz como subpalavra e yzy ou yy como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyz ou zyx como prefixo, xyy ou xzz como subpalavra e xyx ou xzx como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui ca como prefixo, bcc ou bca como subpalavra e abb ou acc como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui bca ou dac como prefixo, dbc ou bab como subpalavra e cba ou cac como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyz ou zyx como prefixo, zxy ou zyz como subpalavra e yxy ou yyz como sufixo.

7 Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui abc ou bab como prefixo, cba ou cab como subpalavra e acb ou aab como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, w, que reconheça a linguagem L = {w w possui xyw ou wzz como prefixo, wzx ou wyx como subpalavra e xyy ou xwz como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui acd ou bab como prefixo, babc ou bcdb como subpalavra e dba ou bcb como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xyz ou zyx ou yzy como prefixo, xyy ou xzx ou xxz como subpalavra e yxy ou yzy ou yxx como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui abc como prefixo, cbb ou caa como subpalavra e bab como sufixo, caso a subpalavra seja cbb, ou aba como sufixo, caso a subpalavra seja caa. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui baa como prefixo, cac ou aba como subpalavra e caab ou cabb como sufixo, caso a subpalavra seja cac, ou abca ou acca como sufixo, caso a subpalavra seja aba. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, que reconheça a linguagem L = {w w possui palavras no formato anbm. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, que reconheça a linguagem L = {w w possui palavras no formato (aabb)n ou (bbaa)n. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, que reconheça a linguagem L = {w w possui jogo ou jogatina ou sex ou sensual como subpalavra. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, que reconheça a linguagem L = {w w possui ftp ou ssh como prefixo, games ou cars ou money como subpalavra e net ou com como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, que reconheça a linguagem L = {w w possui pop ou http como prefixo, arara ou carro ou rural como subpalavra e tcp ou udp como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) que reconheça os tokens da linguagem de programação SIMPLE, ou seja, que implemente o analisador léxico dessa linguagem de programação, definida em A Linguagem Simple.

8 Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui acb ou cac como prefixo, baa ou cba como subpalavra e acb ou bac como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui acdb como prefixo, babc como subpalavra e abab como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui yxx ou zyy como prefixo, yzx ou xzz como subpalavra e zyy ou xxy como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui bac ou cbc como prefixo, bca ou caa como subpalavra e abc ou cac como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui abc ou cba como prefixo, acc ou abb como subpalavra e cbb ou caa como sufixo, caso a subpalavra seja acc, ou bab ou bcb como sufixo, caso a subpalavra seja abb. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, w, que reconheça a linguagem L = {w w possui xyw ou wzw como prefixo, wzx ou ywx como subpalavra e xyy ou xwz como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui bbc ou acc como prefixo, cab ou bcb como subpalavra e bba ou abc como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, k, que reconheça a linguagem L = {w w possui yyz como prefixo, yzkk como subpalavra e kyk como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, que reconheça a linguagem L = {w w possui bca ou bab como prefixo, abc ou bac como subpalavra e aca ou cca como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {a, b, c, d, que reconheça a linguagem L = {w w possui abcd ou dcba ou baba como prefixo, badcd ou abcbc ou ccdab como subpalavra e bcca ou cdac ou dabc como sufixo. Q.8 - Exerc Desenvolva um Autômato Finito Determinístico (AFD) sobre o alfabeto Σ = {x, y, z, que reconheça a linguagem L = {w w possui xy ou xzcomo prefixo, yxy ou zxz como subpalavra e yxx ou yzz como sufixo, caso a subpalavra seja yxy, ou zxx ou zyy como sufixo, caso a subpalavra seja zxz.

9 Definição do problema: 9 a Questão DESCRIÇÃO DO PROBLEMA CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB Construção de um interpretador de expressões regulares. Um vendedor de mercadorias disponibilizou seu banco de dados na Internet para consulta. Uma das tabelas refere-se aos dados das mercadorias vendidas. O nome da tabela é TB01MERC. Um dos campos desta tabela é o campo D_CODMERC, referente ao código da mercadoria, que é um número inteiro entre 0 e inclusive. Um usuário na Internet pode consultar os dados desta tabela escolhendo os produtos a serem listados, digitando intervalos numéricos diversos, usando os operadores relacionais >, >=, <, <=, =, E e OU. Veja abaixo alguns exemplos de expressões que o usuário pode digitar para realizar as consultas: Exemplos > > > 5322 E <= OU >= OU = 133 < OU > OU = = 1267 (obs.: este exemplo mostra ser obrigatório operador relacional) >= 200 E < 7738 >= 336 E <=885 OU >15 E < 45 E =98 >=10 E <= 20 OU >=50 E <= 70 OU >= 85 E < 99 Espera-se que as expressões sejam corretamente digitadas. As expressões incorretas podem ser: Não iniciam com algum operador relacional (por exemplo: 77 OU > 45) Apresentam ao final da expressão o conectivo lógico E ou OU (por exemplo: > 55 OU ) Apresentam espaço(s) em branco entre o > e = ou entre < e = (por exemplo: > = 55) Apresentam um número com 6 ou mais dígitos (por exemplo: > E < 43)

10 (1) Usando JFLAP, desenhar um AFD (Autômato Finito Determinístico) que represente a aceitação ou não das expressões regulares possíveis de serem geradas para o problema. (2) Implemente um código (em Pascal, Delphi, C ou Java) para o AFD desenhado usando exclusivamente, como estrutura de dados, vetor de tipo string e variável de tipo integer e/ou string, para simular uma máquina AFD : (2.1) variável tipo vetor de string para simular a FITA do AFD. (2.2) variável tipo integer, para simular a posição do cabeçote de leitura do AFD. (2.3) variável tipo string para armazenar o estado corrente do AFD. (3) Na implementação: Ofereça um campo tipo texto para digitação da expressão de consulta, nos moldes dos exemplos acima. Como saída, após o processamento do AFD para a expressão, imprima EXPRESSÃO INCORRETA se for o caso e, caso contrário, imprima a consulta SQL que será gerada. Veja os dois exemplos abaixo:

11 Note que as expressões acima estão armazenadas na fita do AFD (veja abaixo) Codificação em JAVA Recomenda-se o uso do código Java abaixo para implementação... Não é necessário nenhum ambiente de programação (Eclipse, Netbeans, etc)... basta usar o editor WordPad ou NotePad... Basta entender um pouco do código apresentado e codificar o AFD na função fafdemexecucao (veja o código abaixo) import java.awt.*; import java.awt.event.actionlistener; import java.awt.event.actionevent; import java.util.arraylist; public class AFD01 extends Frame implements ActionListener { int mlargura = 500; FlowLayout mfl = new FlowLayout(FlowLayout.CENTER); Panel mpainel1; Panel mpainel2; Panel mpainel3; Panel mpainel4; Panel mpainel5; Label mlbfita; TextField mfita; Button mbtexecutar; TextArea mtxtexecucao; Button mbtfim; //---> Construtor da Classe AFD01... AFD01() {

12 super("afd - Codigo da mercadoria"); //------> Desenhar "lay-out" da tela... mpainel1 = new Panel(); mpainel2 = new Panel(); mpainel3 = new Panel(); mpainel4 = new Panel(); mpainel5 = new Panel(); mlbfita = new Label("Digite abaixo a sentença desejada"); mfita = new TextField(50); mbtexecutar = new Button("Executar"); mtxtexecucao = new TextArea("Execução"); mbtfim = new Button("Fim"); //------> Disposição dos painéis... mpainel1.setlocation(0,0); mpainel1.setbackground(new Color(255,128,128)); mpainel1.setsize(mlargura,50); mpainel1.add(mlbfita); add(mpainel1); // mpainel2.setlocation(0,50); mpainel2.setbackground(new Color(255,255,255)); mpainel2.setsize(mlargura,50); mpainel2.add(mfita); add(mpainel2); // mpainel3.setlocation(0,100); mpainel3.setbackground(new Color(255,128,128)); mpainel3.setsize(mlargura,50); mpainel3.add(mbtexecutar); add(mpainel3); mbtexecutar.addactionlistener(this); // mpainel4.setlocation(0,150); mpainel4.setbackground(new Color(0,255,0)); mpainel4.setsize(mlargura,150); mpainel4.add(mtxtexecucao); add(mpainel4); // mpainel5.setlocation(0,550); mpainel5.setbackground(new Color(255,128,255)); mpainel5.setsize(mlargura,50); mpainel5.add(mbtfim); add(mpainel5); mbtfim.addactionlistener(this); //------> Mostar janela this.resize(mlargura,600);

13 mfl.sethgap(100); this.setlayout(mfl); this.show(); // //---> Processamento de Sentenca pelo AFD // public void fprocessamentopeloafd() { int vtamanhofita = mfita.gettext().length(); int icursor; String vprimitivalida; String Q; String venter = String.valueOf((char)13) + String.valueOf((char)10); String vaux; //---> loop para processar a fita... Q = "q0"; mtxtexecucao.settext("inicio DO PROCESSAMENTO" + venter + "=========================" + venter); for (icursor = 0; icursor < vtamanhofita; icursor++) { vprimitivalida = mfita.gettext().substring(icursor,icursor+1); if ( (vprimitivalida.equalsignorecase(" ")) && (Q.equalsIgnoreCase("q0")) ) { mtxtexecucao.append(q + " x " + "espaço em branco >>> "); Q = "q0"; // estado é o mesmo... mtxtexecucao.append(q + venter); else if ( (vprimitivalida.equalsignorecase("<")) && (Q.equalsIgnoreCase("q0")) ) { else if ( (vprimitivalida.equalsignorecase(">")) && (Q.equalsIgnoreCase("q0")) ) { //======>>> ALUNO!!!! CODIFICAR AQUI O RESTANTE DO AFD!!!!! //---> Sentença foi aceita? mtxtexecucao.append(venter + " " + venter); if (Q.equalsIgnoreCase("???")) { mtxtexecucao.append("sentença ACEITA!!!" + venter); else { mtxtexecucao.append("sentença REJEITADA!!!" + venter);

14 mtxtexecucao.append(" " + venter); mtxtexecucao.append(venter + "*** FIM ***" + venter); // //---> Listener // public void actionperformed(actionevent e) { if (e.getactioncommand() == "Fim") { System.exit(0); if (e.getactioncommand() == "Executar") { fprocessamentopeloafd(); // //---> Programa principal // public static void main(string[] args) { new AFD01();

15 Apêndice Para gerar um arquivo.jar Para gerar uma arquivo java executável (JAR Java Executable Archive) proceda da seguinte maneira: Certifique-se que o compilador java está instalado na máquina... Compile seu código java até ficar sem erros Agora, na pasta deve existir o arquivo fonte (no caso AFD01.java) e o arquivo bytecode (no caso, AFD01.class) Crie agora o arquivo manifest. No exemplo, vamos criar o arquivo afd01_manifest.txt com o seguinte conteúdo: Arquivo afd01_manifest.txt Manifest-Version: 1.0 Main-Class: AFD01 Note que o importante é escrever o nome da classe principal do código fonte. No exemplo, supondo o programa fonte AFD01.java, a classe principal se chama AFD01 (veja o código fonte acima).

16 Neste momento, os arquivos deste projeto são os seguintes: AFD01.class e afd01_manifest.txt AFD01.java, Finalmente crie seu arquivo executável JAR da seguinte maneira: jar cvfm AFD01.jar afd01_manifest.txt AFD01.class Teste o programa AFD01.jar clicando sobre o ícone do arquivo

17 10 a Questão CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB Implementar em Java todos os AFDs da 8 a questão (exercícios a 02.53) ** FIM ***

Responda às questões abaixo: 1 a Questão: Indique todos casos de não determinismo do AFN acima

Responda às questões abaixo: 1 a Questão: Indique todos casos de não determinismo do AFN acima Exercícios 04 CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB O Autômato Finito Não Determinístico (AFN) abaixo reconhece sentenças da linguagem L, definida sobre o alfabeto Σ = {0, 1, onde as sentenças: possuem

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018 27 de Fevereiro de 2018 Definição: Concatenação Sejam u, v Σ. A concatenação de u e v, denotado por uv é a operação binária sobre Σ assim definida (i) BASE: Se tamanho(v) = 0 então v = λ e uv = u. (ii)

Leia mais

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz Algoritmos e Programação : Conceitos e estruturas básicas Hudson Victoria Diniz Relembrando... Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Podemos pensar

Leia mais

para Fazer Contas? A primeira e, de longe, mais importante lição é 1.1. Produtos notáveis; em especial, diferença de quadrados!

para Fazer Contas? A primeira e, de longe, mais importante lição é 1.1. Produtos notáveis; em especial, diferença de quadrados! Álgebra: É Necessário ter Ideias para Fazer Contas? A primeira e, de longe, mais importante lição é 1. Fatoração é legal; fatoração é sua amiga 1.1. Produtos notáveis; em especial, diferença de quadrados!

Leia mais

Exercícios: Recursão

Exercícios: Recursão UNIVERSIDADE FEDERAL DE UBERLÂNDIA Lista de exercícios de programação em linguagem C Exercícios: Recursão 1) Faça uma função recursiva que calcule e retorne o fatorial de um número inteiro N. 2) Faça uma

Leia mais

TRABALHO DE RECUPERAÇÃO Menção máxima = MM

TRABALHO DE RECUPERAÇÃO Menção máxima = MM Nome Completo TRABALHO DE RECUPERAÇÃO Menção máxima = MM Rubrica INSTRUÇÕES 1) ATENÇÃO!!! Entregar o trabalho com a resolução das questões totalmente escrita à mão!!! Não será aceita em hipótese alguma

Leia mais

Circuitos Digitais Segunda Lista de Exercícios

Circuitos Digitais Segunda Lista de Exercícios Circuitos Digitais Segunda Lista de Exercícios Observação: o início da lista é composto dos problemas recomendados do livro-texto. exercícios nas últimas duas páginas da lista são novos (não estão no livro-texto).

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Lista de Exercícios n o 2 Revisão de Autômatos 1. Fazer os seguintes exercícios do

Leia mais

BC-0505 Processamento da Informação

BC-0505 Processamento da Informação BC-0505 Processamento da Informação 0.Declarar Variáveis/ Atributos (Armazenar Dados) 1.Entrada de Dados (Obter dados = Leitura) double raio = 0; double area = 0; double PI = 3.14159; 2.Processamento (=

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, Cadeias, Operações e Linguagens Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter

Leia mais

Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float.

Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float. 1 - Tipos de Dados em Java Java possui 4 tipos de dados. Estes tipos de dados são divididos em: boolean, character, integer e float. a. Boolean Um dado boolean poderá assumir somente dois valores: true

Leia mais

Exercícios de Teoria da Computação Autómatos, gramáticas e expressões regulares

Exercícios de Teoria da Computação Autómatos, gramáticas e expressões regulares Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Comunicação e Informação - LERCI Exercícios de Teoria da Computação Autómatos, gramáticas e expressões

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Structs 1. Utilizando estrutura, fazer um programa em C que permita

Leia mais

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada.

1. Escreva um programa em Pascal que leia três valores inteiros e mostre-os em ordem crescente. Utilize seleção encadeada. Universidade Estadual Vale do Acaraú Curso: Engenharia Civil Disciplina: Programação de Computadores Prof. Hudson Costa Instruções: as equipes de cinco componentes (ou elementos) deverão fazer apenas 30

Leia mais

Programação Orientada a Objeto Java

Programação Orientada a Objeto Java Programação Orientada a Objeto Java Aula 2 Introdução a Programação Java Sintaxe da Linguagem e Principais Conceitos Profª Kelly Christine C. Silva Sumário Construção do programa Saída de dados Entrada

Leia mais

AV2 - MA 12-2011 UMA SOLUÇÃO

AV2 - MA 12-2011 UMA SOLUÇÃO Questão 1. Considere os caminhos no plano iniciados no ponto (0, 0) com deslocamentos paralelos aos eixos coordenados, sempre de uma unidade e no sentido positivo dos eixos x e y (não se descarta a possibilidade

Leia mais

Como tratar eventos - A interface ActionListener e o método actionperformed

Como tratar eventos - A interface ActionListener e o método actionperformed Se você parar para reparar, um aplicativo gráfico é como se fosse como um cardápio de um restaurante. Você chega, faz seus pedidos e suas ordens são atendidas. Cada pessoa vai fazer pedidos diferentes,

Leia mais

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1)

Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1) Encerrando Introdução a Objetos e Classes Redefinição de Métodos (1) Overriding x Overload Métodos de diferentes classes que possuem uma relação de herança. Métodos possuem mesmo nome, mesma assinatura

Leia mais

Vetores, Matrizes e String

Vetores, Matrizes e String Vetores, Matrizes e String Escola CDI Professor: Paulo Marcos Trentin O que é um Vetor? Conhecido também como matriz unidimensional, é uma variável que pode conter vários valores do mesmo tipo de dado.

Leia mais

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch Switch A estrutura if de seleção única, a estrutura if / else de seleção dupla. Outra maneira de indicar uma condição é através de uma declaração switch. A construção switch permite que uma única variável

Leia mais

Comandos de Desvio 1

Comandos de Desvio 1 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para

Leia mais

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral.

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 01. [Sebesta, 2000] Defina sintaxe e semântica. 02. [Sebesta, 2000] A quem se destinam as descrições de linguagem? 03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 04. [Sebesta,

Leia mais

Análise Léxica. Sumário

Análise Léxica. Sumário Análise Léxica Renato Ferreira Sumário Definição informal de Análise Léxica Identifica tokens numa string de entrada Alguns detalhes Lookahead Ambiguidade Especificação de Analisadores Léxicos Expressões

Leia mais

Lista de exercícios 1

Lista de exercícios 1 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro

Leia mais

Autómatos Finitos Determinísticos (AFD)

Autómatos Finitos Determinísticos (AFD) Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto

Leia mais

Java Deployment Course

Java Deployment Course Java Deployment Course Atividade Prática Programação Visual com JBuilder Jorge H. C. Fernandes Recife, 12 de Maio de 1999 Tópicos Modelo da Aplicação Interface da Aplicação Conexão entre Modelo e Interface

Leia mais

TUTORIAL MATLAB Victor Breder 2016

TUTORIAL MATLAB Victor Breder 2016 TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra

Leia mais

Lista 4 Introdução à Programação Entregar até 07/05/2012

Lista 4 Introdução à Programação Entregar até 07/05/2012 Lista 4 Introdução à Programação Entregar até 07/05/2012 1. Um vendedor necessita de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve receber o código de um produto e a quantidade

Leia mais

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média. 1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)

Leia mais

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C

3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3. COMPILAÇÃO E ESTRUTURA BÁSICA DE UM PROGRAMA EM C 3.1. Compilação de um Programa C O compilador C realiza a compilação do código-fonte de um programa em cinco etapas: edição, pré-processamento, compilação,

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Escreva um programa que leia 10 números

Leia mais

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido

Leia mais

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico Prof. Esp. André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java/aulajava07a09.pptx Existe grande quantidade de funcionalidades

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

UM POUCO MAIS DE FORMATAÇÃO

UM POUCO MAIS DE FORMATAÇÃO UM POUCO MAIS DE FORMATAÇÃO Ao digitar os dados na planilha abaixo, observamos que o conteúdo da célula B5 ultrapassa seus limites invadindo os campos das células C5 e D5. Observe que na barra de fórmulas

Leia mais

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos

Referências. Programação de Computadores II. Cap. 7 Cadeias de Caracteres. Caracteres. Tópicos Referências Programação de Computadores II Cap. 7 Cadeias de Caracteres Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo 7 Livro: Waldemar

Leia mais

Exercícios (if/ if else/ if elseif else)

Exercícios (if/ if else/ if elseif else) SECRETARIA DA EDUCAÇÃO E CULTURA POLÍCIA MILITAR DO ESTADO DO TOCANTINS COLÉGIO DA POLÍCIA MILITAR DO ESTADO DO TOCANTINS UNIDADE ESCOLAR: CPM PERÍODO: 4º Bimestre DISCIPLINA: Lógica de Programação ANO/SÉRIE:

Leia mais

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada

Leia mais

1.2. ELEMENTOS DE ÁLGEBRA EXPANSÃO DE PRODUTOS

1.2. ELEMENTOS DE ÁLGEBRA EXPANSÃO DE PRODUTOS 1.2. ELEMENTOS DE ÁLGEBRA 1.2.1. EXPANSÃO DE PRODUTOS Em álgebra, é frequente termos de expandir produtos cujos fatores são expressões algébricas (polinômios, por exemplo). Para isso, aplicamos a propriedade

Leia mais

LINGUAGEM JAVA - RESUMO

LINGUAGEM JAVA - RESUMO LINGUAGEM JAVA - RESUMO 1.1. Estrutura Geral de um Programa 1. ESTRUTURAS BÁSICAS public class nome do programa public static void main(string[] args) instruções do programa 1.2. Tipos Primitivos de Dados

Leia mais

Folha 3 - Análise léxica

Folha 3 - Análise léxica Folha 3 Análise léxica 1. Escrever um programa em FLEX que permite contar o número de ocorrências de uma cadeia de caracteres contida num ficheiro de texto. 2. Escrever um programa em FLEX que permite

Leia mais

3 Cadeias de Caracteres

3 Cadeias de Caracteres INF1007: Programação 2 3 Cadeias de Caracteres 05/03/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Caracteres Cadeias de caracteres Leitura de caracteres e cadeias de caracteres Exemplos de funções que

Leia mais

Introdução ao reconhecimento de padrões e expressões regulares; Aprendizagem dos conceitos através da realização de alguns exercícios;

Introdução ao reconhecimento de padrões e expressões regulares; Aprendizagem dos conceitos através da realização de alguns exercícios; Capítulo 1 Introdução ao Flex Objectivos: Familiarização com a ferramenta FLEX; Introdução ao reconhecimento de padrões e expressões regulares; Aprendizagem dos conceitos através da realização de alguns

Leia mais

Lista de Exercícios - Programação I (Pascal/ Python)

Lista de Exercícios - Programação I (Pascal/ Python) ENTRADA E SAÍDA Lista de Exercícios - Programação I (Pascal/ Python) 1) Escreva um programa que imprima seu nome na tela. 2) Escreva um programa que imprima o valor guardado em uma variável. 3) Escreva

Leia mais

Exercícios 02. A gramática acima gera sentenças que tenham os N primeiros bits 0 e o último bit é sempre 1.

Exercícios 02. A gramática acima gera sentenças que tenham os N primeiros bits 0 e o último bit é sempre 1. Exercícios 02 CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB 1 a Questão Considere a gramática abaixo que gera sentenças da linguagem L onde L = { w w = 0 m 1, m 1. A gramática acima gera sentenças que tenham

Leia mais

Modelos de Computação Folha de trabalho n. 8

Modelos de Computação Folha de trabalho n. 8 Modelos de Computação Folha de trabalho n. 8 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada

Leia mais

Simulado de Linguagem de Programação Java

Simulado de Linguagem de Programação Java Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as

Leia mais

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira Tipos de problemas de programação inteira (PI) Programação Inteira Pesquisa Operacional I Flávio Fogliatto Puros - todas as variáveis de decisão são inteiras Mistos - algumas variáveis de decisão são inteiras

Leia mais

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Conteúdo da aula Gramáticas Livres de Contexto Marcelo Johann Trabalho - primeira etapa Definição, código e estrutura Mais elementos e detalhes de lex GLCs Gramática, produção, derivações, árvores Ambíguas,

Leia mais

Capítulo 1: Alfabetos, cadeias, linguagens

Capítulo 1: Alfabetos, cadeias, linguagens Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de

Leia mais

Controle de Fluxo Comandos de repetição: while e do-while

Controle de Fluxo Comandos de repetição: while e do-while BCC 201 - Introdução à Programação Controle de Fluxo Comandos de repetição: while e do-while Guillermo Cámara-Chávez UFOP 1/1 Comandos de Repetição (Laços) I São muito comuns as situações em que se deseja

Leia mais

Montadores e Compiladores

Montadores e Compiladores Montadores e Compiladores Prof. Idevar Gonçalves de Souza Júnior Conteúdo Programático Resumido Revisão da Arquitetura de Computadores Introdução a Teoria das Linguagens Compilação e Interpretação Análise

Leia mais

Equação e Inequação do 2 Grau Teoria

Equação e Inequação do 2 Grau Teoria Equação e Inequação do Grau Teoria Candidato segue um resumo sobre resolução e discussão de equações e inequações do grau. Bons Estudos! Equação do Grau Onde Uma Equação do Grau é sentença aberta do tipo

Leia mais

LPII Programando uma Cálculadora Simples Módulo III

LPII Programando uma Cálculadora Simples Módulo III Abra o Eclipse e crie um projeto de nome calculadorasimples. Em seguida crie um frame de nome calculadora na opção New >> Other que apresenta a tela: Inclua os componentes button e TextField, conforme

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:

Leia mais

Autómatos de Pilha e Linguagens Livres de Contexto

Autómatos de Pilha e Linguagens Livres de Contexto Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição

Leia mais

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos:

Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos: Professor: André Rabelo Curso: Engenharia da Computação Disciplina: Lógica Digital Período: 3º Data Entrega: 21/03/2012 Valor: 15 pts Objetivos: Pesquisar e aprofundar os conhecimentos em Lógica Digital

Leia mais

Lista de Exercícios 04 Estruturas de Dados Homogêneas - Vetores

Lista de Exercícios 04 Estruturas de Dados Homogêneas - Vetores Instituto de Ciências Eatas e Biológicas ICEB Lista de Eercícios 04 Estruturas de Dados Homogêneas - Vetores 1) Escreva um programa que armazene em um vetor todos os números inteiros de 0 a 50. Após isso,

Leia mais

Polos Olímpicos de Treinamento. Aula 13. Curso de Álgebra - Nível 2 Prof. Marcelo Mendes. Revisão - Parte I

Polos Olímpicos de Treinamento. Aula 13. Curso de Álgebra - Nível 2 Prof. Marcelo Mendes. Revisão - Parte I Polos Olímpicos de Treinamento Curso de Álgebra - Nível 2 Prof. Marcelo Mendes Aula 13 Revisão - Parte I Como o título indica, faremos uma breve revisão de temas já abordados em nosso treinamento, a fim

Leia mais

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Apostila 05 Assunto: Linguagens dos tipos 0 e 1 Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Doutorando em Ciência da Computação Estagiário em docência II Departamento de Ciência da Computação

Leia mais

Programação de Computadores I BCC 701 2012-02 Terceira Avaliação 06/04/2013 Valor (3,0)

Programação de Computadores I BCC 701 2012-02 Terceira Avaliação 06/04/2013 Valor (3,0) Programação de Computadores I BCC 701 2012-02 Terceira Avaliação 06/04/2013 Valor (3,0) ATENÇÃO: Leia com atenção as questões da prova. A interpretação do enunciado faz parte da avaliação. Todos os programas

Leia mais

Expressões e Gramáticas Regulares e Autómatos Finitos

Expressões e Gramáticas Regulares e Autómatos Finitos Folha Prática Expressões e Gramáticas Regulares e Autómatos Finitos 1 Expressões e Gramáticas Regulares e Autómatos Finitos Expressões Regulares e Autómatos Finitos 1. Determine e implemente computacionalmente

Leia mais

CRIANDO MAPAS TEMÁTICOS COM SETORES CENSITÁRIOS DE SÃO PAULO

CRIANDO MAPAS TEMÁTICOS COM SETORES CENSITÁRIOS DE SÃO PAULO CRIANDO MAPAS TEMÁTICOS COM SETORES CENSITÁRIOS DE SÃO PAULO 1. Unificar as informações de interesse em uma única planilha Neste exemplo, temos os seguintes dados da Capital de São Paulo: Coluna A Código

Leia mais

MÓDULO 4 SWING Parte 3

MÓDULO 4 SWING Parte 3 Aplicações de Linguagem de Programação Orientada a Objetos 2ºsem/2011 (Professores: Tiago e Daniele) // Exemplo11 Ação do Mouse import javax.swing.*; import java.awt.*; import java.awt.event.actionevent;

Leia mais

AF Não-determinísticos Equivalência entre AFND e AFD

AF Não-determinísticos Equivalência entre AFND e AFD AF Não-determinísticos Equivalência entre AFND e AFD 1 AF NÃO-Determinístico (AFND) Consideremos uma modificação no modelo do AFD para permitir zero, uma ou mais transições de um estado sobre o MESMO símbolo

Leia mais

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Manipulando Atributos Podemos alterar ou acessar os valores guardados nos atributos de um objeto se tivermos a referência a esse objeto. Os atributos são acessados pelo nome. No

Leia mais

Reader e Writer para streams de caracteres (texto).

Reader e Writer para streams de caracteres (texto). Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo

Leia mais

Histórico e motivação

Histórico e motivação Expressões regulares 1. Histórico e motivação 2. Definição a) Sintaxe b) Semântica c) Precedência dos operadores 3. Exemplos 4. Leis algébricas 5. Dialetos 6. Aplicações 7. Exercícios Pré-requisito: básico

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II TCC 00.174 Profs.: Leandro A. F. Fernandes (A1) & Marcos Lage (B1) & Isabel Rosseti (C1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage (Turma C1)

Leia mais

Compiladores II. Fabio Mascarenhas - 2016.2.

Compiladores II. Fabio Mascarenhas - 2016.2. Compiladores II Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/comp2 Objetivo Durante esse curso iremos revisitar as técnicas de implementação de linguagens de programação Veremos novas técnicas

Leia mais

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho O que é Microsoft Excel? Microsoft Excel O Microsoft Excel é um programa para manipulação de planilhas eletrônicas. Oito em cada dez pessoas utilizam o Microsoft Excel pra trabalhar com cálculos e sistemas

Leia mais

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos. Objetivos 4. Álgebra Booleana e Simplificação Lógica Aplicar as leis e regras básicas da álgebra Booleana Aplicar os teoremas de DeMorgan em expressões Booleanas Descrever circuitos de portas lógicas com

Leia mais

Vetores Unimensionais

Vetores Unimensionais Vetores Unimensionais Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Imprimir elementos de um

Leia mais

Unidade 3 Função Afim

Unidade 3 Função Afim Unidade 3 Função Afim Definição Gráfico da Função Afim Tipos Especiais de Função Afim Valor e zero da Função Afim Gráfico definidos por uma ou mais sentenças Definição C ( x) = 10. x + Custo fixo 200 Custo

Leia mais

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação Algoritmos e Lógica de Programação Linguagem de Programação C Linguagem C Entrada e Saída de dados Reinaldo Gomes reinaldo@cefet-al.br Fluxo de Saída Padrão Saída Formatada: ( ) Tem a função de

Leia mais

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo MODEL-VIEW-CONTROLER Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é MVC? Modelo de arquitetura de software Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo

Leia mais

Estrutura de repetição do/while

Estrutura de repetição do/while Es truturas de Controle Estrutura de repetição do/while A estrutura de repetição do/while é semelhante à estrutura while. Na estrutura while, o programa testa a condição de continuação do laço no começo

Leia mais

Familiarização com a ferramenta JavaCC

Familiarização com a ferramenta JavaCC Ficha nº 2 Familiarização com a ferramenta JavaCC Estrutura do ficheiro JavaCC O JavaCC utiliza um ficheiro com a extensão.jj, onde são descritos, pelo utilizador, o léxico e a sintaxe da linguagem e gera

Leia mais

Árvores de Derivação para GLC Ambigüidade nas GLC Precedência, Prioridade e Associatividade de operadores

Árvores de Derivação para GLC Ambigüidade nas GLC Precedência, Prioridade e Associatividade de operadores Árvores de Derivação para GLC Ambigüidade nas GLC Precedência, Prioridade e Associatividade de operadores 1 Árvores de Derivação para GLC GLC são as mais importantes para a definição de linguagens de programação

Leia mais

2. PRODUTOS NOTÁVEIS 2.1. EXPANSÃO DE PRODUTOS

2. PRODUTOS NOTÁVEIS 2.1. EXPANSÃO DE PRODUTOS 2. PRODUTOS NOTÁVEIS 2.1. EXPANSÃO DE PRODUTOS Em álgebra, é frequente termos de expandir produtos cujos fatores são expressões algébricas (polinômios, por exemplo). Para isso, aplicamos a propriedade

Leia mais

EXERCÍCIOS PREPARATÓRIOS PARA AS DISCIPLINAS INTRODUTÓRIAS DA MATEMÁTICA

EXERCÍCIOS PREPARATÓRIOS PARA AS DISCIPLINAS INTRODUTÓRIAS DA MATEMÁTICA UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA UNIDADE ACADÊMICA DE MATEMÁTICA PROGRAMA DE EDUCAÇÃO TUTORIAL TUTOR: Prof. Dr. Daniel Cordeiro de Morais Filho BOLSISTA: Tiago Alves

Leia mais

MC-102 - Teste de Mesa e Comandos Repetitivos

MC-102 - Teste de Mesa e Comandos Repetitivos MC-102 - Teste de Mesa e Comandos Repetitivos Elaborado por Raoni Teixeira e Editado por Danillo Roberto Pereira Instituto de Computação Unicamp Primeiro Semestre de 2013 Introdução Introdução Pode acontecer

Leia mais

O AMBIENTE DELPHI. Programação de Computadores.

O AMBIENTE DELPHI. Programação de Computadores. O AMBIENTE DELPHI Programação de Computadores Profº.: Cristiano Vieira cvscaminha@hotmail.com A IDE (Integrated Development Environment) do Delphi consiste em quatro partes principais: JanelaPrincipal(1)

Leia mais

Vamos imaginar que queremos projetar um jogo em que haja diferentes personagens:

Vamos imaginar que queremos projetar um jogo em que haja diferentes personagens: Interfaces Interfaces Interfaces padronizam como coisas, pessoas ou sistemas podem interagir Por exemplo, os controles de um rádio: interface entre o usuário e os componentes internos do rádio Interfaces

Leia mais

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans. 1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um

Leia mais

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

1) Responda de acordo com os conceitos de orientação a objetos (0,5). Avalição II (Teórica) 22/06/2017 Disciplina Linguagem de Programação II Prof. Wagner, dos Santos C. de Jesus Curso Engenharia da Computação Questões Solução da Avaliação 1) Responda de acordo com os conceitos

Leia mais

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt A lista é individual e deve ser escrita à mão. 1) Uma importante

Leia mais

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 3. Divisibilidade 1. Carlos Gustavo Moreira e Samuel Barbosa Feitosa

Polos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 3. Divisibilidade 1. Carlos Gustavo Moreira e Samuel Barbosa Feitosa Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 3 Carlos Gustavo Moreira e Samuel Barbosa Aula 1 Divisibilidade 1 Teorema 1. (Algoritmo da Divisão) Para quaisquer inteiros positivos

Leia mais

Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br

Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Um Exemplo de Refatoração Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Exemplo Programa para calcular e imprimir o valor devido por um cliente de uma vídeo locadora Filme códigopreço:int 1 * * 1 Locação

Leia mais

Conceitos básicos de Teoria da Computação

Conceitos básicos de Teoria da Computação Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3

Leia mais

PYTHON Compreensão de Listas. Introdução à Programação SI2

PYTHON Compreensão de Listas. Introdução à Programação SI2 PYTHON Compreensão de Listas Introdução à Programação SI2 Inicializando listas Não é possível atribuir a uma posição inexistente de uma lista >>> vetor = [] >>> vetor [0] = 1 Traceback (most recent call

Leia mais

Criando interfaces com o usuário. Continuação

Criando interfaces com o usuário. Continuação Criando interfaces com o usuário Continuação A diferença básica entre um objeto Window e um objeto JFrame é que o JFrame representa a janela principal de uma aplicação e o Window apenas uma janela a mais.

Leia mais

Teoria da Computação Aula 02 Introdução

Teoria da Computação Aula 02 Introdução Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:

Leia mais

Gabarito de Matemática do 7º ano do E.F.

Gabarito de Matemática do 7º ano do E.F. Gabarito de Matemática do 7º ano do E.F. Lista de Exercícios (L1) 1. Em que altitude está um mergulhador que desceu num primeiro momento 5 m e depois desceu, a partir deste ponto, mais 6 m? Lembre-se de

Leia mais

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA Curso de Sistemas de Informação Disciplina: Algoritmos 1º e 2º Períodos Turmas 216071A, 216071B e 216062 Notas de Aula Aulas 07, 08 e 09. Professor: Edkallenn Aula 07 Variáveis Talvez o conceito de variável

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Terceira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal

Leia mais