2ª Edição Revisada e Ampliada Aurélio Marinho Jargas
|
|
- Matilde Cipriano Mota
- 7 Há anos
- Visualizações:
Transcrição
1 2ª Edição Revisada e Ampliada Aurélio Marinho Jargas Novatec
2 Capítulo 1 Introdução Olá. Que tal esquecer um pouco a rotina e a realidade e fazer uma viagem ao interior de sua mente? Descobrir conceitos novos, diferentes. Ao voltar, as coisas não serão mais tão normais quanto antes, pois símbolos estranhos farão parte de seu dia-a-dia. Inspirado pelo funcionamento de seus próprios neurônios, descubra o fascinante mundo abstrato das expressões regulares. Objetivo Neste nosso mundo tecnoinformatizado onde o acesso rápido à informação desejada é algo crucial, temos nas expressões regulares uma mão amiga, que quanto mais refinada for sua construção, mais preciso e rápido será o resultado, diferenciando aqueles que as dominam daqueles que perdem horas procurando por dados que estão ao alcance da mão. O assunto é algo bem peculiar, pois apesar de a maioria das linguagens de programação, programas e editores de texto mais utilizados possuírem esse recurso, poucos o dominam, principalmente pelo fato de a documentação sobre o assunto, quando existente, ser enigmática e pouco didática, ou simplesmente se resumir a listagens, sem explicar os conceitos. Esta obra nasceu dessa necessidade e tem como objetivo preencher essa lacuna, sendo uma documentação completa e didática para iniciantes, tipo tutorial, e um guia de referência para os já iniciados. [ 17 ]
3 [ 18 ] Expressões Regulares Este livro é a primeira publicação em português totalmente dedicada ao assunto, e espero que esse pioneirismo traga muitos frutos, inclusive outras publicações sobre o tema, para difundir e desmistificar o uso das expressões regulares. Sobre o livro A primeira parte é o feijão com arroz, indicada àqueles que desconhecem ou ainda não se sentem à vontade para criar suas próprias expressões regulares. Faremos um tour por todas as pecinhas que compõem esse mundo fantástico, explicando didaticamente, do zero, o que são, de onde vieram, para que servem e como utilizá-las (Exemplos! Exemplos!). Após ler e entender essa primeira parte, algo como ^ *[A-Za-z0-9_]+:(.*)..$ vai fazer parte de sua realidade, sem lhe causar pânico. A segunda parte é a feijoada, para aqueles que querem uma experiência mais intensa. Mergulharemos de cabeça e entenderemos de vez essa maquininha esquisita. São as explicações dos conceitos envolvidos, bem como táticas e dicas para você realmente entender e otimizar seu uso das expressões regulares. Ao final da leitura, você entenderá porque ^[^:]+:([[:alpha:]]+): é melhor que.*:(.*): Mas note que tudo isso, sem viajar muito nos detalhes intrínsecos e sem conhecer os becos escuros que você talvez nunca precisará saber que existem. Acima de tudo este é um livro prático. É para ler e fazer suas expressões. Isso não o torna superficial, apenas direto. Com tudo isso temos diversas tabelas e listagens, que servem para serem consultadas rapidamente em caso de dúvida ou esquecimento. Relaxe, não
4 Capítulo 1 Introdução [ 19 ] é um bicho de [0-9]+ cabeças... Vamos bater um papo descontraído sobre o assunto. Então respire fundo, desligue a TV, olhe fixamente para estas letras e vamos! Apresentando as Expressões Regulares Então, para podermos começar nossa viagem, nada como uma apresentação de nosso objetivo, pois afinal de contas, que raios são estas expressões? Bem resumido, uma expressão regular é um método formal de se especificar um padrão de texto. Mais detalhadamente, é uma composição de símbolos, caracteres com funções especiais, que, agrupados entre si e com caracteres literais, formam uma seqüência, uma expressão. Essa expressão é interpretada como uma regra, que indicará sucesso se uma entrada de dados qualquer casar com essa regra, ou seja, obedecer exatamente a todas as suas condições. Ou como variações aceitas também pode-se afirmar que é: uma maneira de procurar um texto que você não lembra exatamente como é, mas tem idéia das variações possíveis; uma maneira de procurar um trecho em posições específicas como no começo ou no fim de uma linha, ou palavra; uma maneira de um programador especificar padrões complexos que podem ser procurados e casados em uma cadeia de caracteres; uma construção que utiliza pequenas ferramentas, feita para obter determinada seqüência de caracteres de um texto. Ou ainda, didaticamente falando, é: Como o brinquedo LEGO, várias pecinhas diferentes, cada uma com sua característica, que juntas compõem estruturas completas e podem ser arranjadas com infinitas combinações diferentes. Como um jogo de truco, com as cartas normais e as quentes: gato, copas, espadilha e mole, que são especiais e têm uma ordem de grandeza.
5 [ 20 ] Expressões Regulares Como um quebra-cabeça, sempre tem solução, às vezes óbvia, às vezes difícil, mas decifrando as partes, junta-se tudo e chega-se ao todo. Como um jogo, no começo é difícil, mas após conhecer todas as regras, basta jogar e curtir. Como uma receita culinária, com seus ingredientes e uma ordem correta para adicioná-los à mistura. Como consertar carros. Você tem várias peças e várias ferramentas. Dependendo do tipo da peça, há uma ferramenta certa para você lidar com ela. E dependendo da sua localização, você tem de incrementar a ferramenta com mais barras e cotovelos para alcançá-la. Como o alfabeto. Você aprende primeiro as letras individualmente. Depois as sílabas, as palavras, frases e finalmente os textos. Mas no fundo, são apenas letras. Acima de tudo, assim como um sorvete no domingo ensolarado, uma expressão regular é: Divertida! Divertida? Tá louco? Todos aqueles símbolos estranhos... Calma... É normal estranharmos ou até repudiarmos aquilo que ainda não conhecemos ou não dominamos bem. Como diria o vovô Simpson no meio da multidão: vamos destruir aquilo que não entendemos! Ao final da leitura, ficará claro que as expressões são apenas pequenos pedacinhos simples que agrupados formam algo maior. O importante é você compreender bem cada um individualmente, e depois apenas lê-los em seqüência. Lembre-se do alfabeto: são apenas letras...
6 Capítulo 1 Introdução [ 21 ] História Vem cá, mas de onde surgiram essas tais expressões regulares, tem algo a ver com expressões matemáticas? Sim! Vou te contar uma história. A fecundação dessas expressões aconteceu no ano de 1943, quando os pais, dois neurologistas, publicaram um estudo que teorizava o funcionamento dos nossos neurônios. Sentiu o drama? Nosso assunto é nobre desde a sua origem. Anos depois o parteiro, um matemático, descreveu algebricamente os modelos desse estudo, utilizando símbolos para representar seus recém-criados grupos regulares (do inglês regular sets ). Com a criação dessa notação simbólica, nasceram as expressões regulares, que durante toda a sua infância e juventude (cerca de 20 anos), foram muito estudadas pelos matemáticos da época. Mas o encontro com o computador só aconteceu mesmo em 1968, em um algoritmo de busca utilizado no editor de textos qed, que depois virou o ed, editor padrão dos primeiros sistemas Unix. Este ed tinha o comando de contexto g, que aceitava expressões regulares e um comando p. Sua sintaxe ficava g/re/p ( Global Regular Expression Print ), que deu origem ao aplicativo grep, que por sua vez originou o egrep. Outros filhos como o sed e o awk também apareceram, cada um implementando as expressões do seu próprio jeito; e finalmente em 1986 foi criado o divisor de águas, um pacote pioneiro em C chamado regex que tratava das expressões regulares e qualquer um poderia incluí-lo em seu próprio programa, de graça. Opa! Falaram as palavras mágicas: de graça. Aí não teve mais volta, as expressões caíram no gosto popular e cada vez mais e mais programas e linguagens as utilizam.
7 [ 22 ] Expressões Regulares Curiosidade: apesar de esse assunto ser antigo, o que vamos ver aqui basicamente é o mesmo que um estudante veria há 15 anos atrás. É um conceito consistente, que não sofre alterações com o passar do tempo. Terminologia E se eu te disser que ERs são metacaracteres que casam um padrão? Não entendeu? Bem, como expressões regulares é um termo muito extenso, daqui adiante, chamarei apenas de ER (ê-érre) para simplificar a leitura. Outras nomenclaturas que podem ser encontradas em outras fontes são expreg, regexp, regex e RE. Particularmente regex é uma boa escolha para usar em ferramentas de busca na Internet. E como estamos falando de termos, tem mais alguns novos que farão parte de nossa conversa. Lembra que as expressões são formadas por símbolos e caracteres literais? Esses símbolos são chamados de metacaracteres, pois possuem funções especiais, que veremos detalhadamente adiante. Outro termo que é interessante e às vezes pode assustar um leitor meio distraído é o casar ( match ). Casamento aqui não é juntar os trapos, mas sim o ato de bater, conferir, combinar, igualar, encontrar, encaixar, equiparar. É como em um caixa 24 horas, em que você só retirará o dinheiro se sua senha digitada casar com aquela já cadastrada no banco. Também temos o padrão ( pattern ), que é nosso objetivo quando fazemos uma ER: casar um padrão. Esse padrão pode ser uma palavra, várias, uma linha vazia, um número, ou seja, o que quer que precise ser encontrado pela nossa ER. E ainda tem o robozinho, que é uma referência ao compilador e interpretador das expressões regulares, o código que vai ler, checar, entender e aplicar sua ER no texto desejado. Como exemplo, para programas em C o robozinho é a biblioteca regex, que faz todo o serviço.
8 Capítulo 1 Introdução [ 23 ] Para que servem? Basicamente servem para você dizer algo abrangente de forma específica. Definido seu padrão de busca, você tem uma lista (finita ou não) de possibilidades de casamento. Em um exemplo rápido, [rgp]ato pode casar rato, gato e pato. Ou seja, sua lista abrange especificamente essas três palavras, nada mais. Na prática as expressões regulares servem para uma infinidade de tarefas, é difícil fazer uma lista, pois elas são úteis sempre que você precisar buscar ou validar um padrão de texto que pode ser variável, como: data horário número IP nome de pessoa endereço de endereço de Internet nome de usuário e senha declaração de uma função() dados na coluna N de um texto dados que estão entre <tags></tags> campos específicos de um texto tabulado Mmmmmmmmmmmmmmm... número de telefone, RG, CPF, cartão de crédito dados que estão apenas no começo ou no fim da linha E mais uma infinidade de outros padrões que não podem ser especificados com caracteres literais.
9 1 [ 24 ] Expressões Regulares Um exemplo prático: você tem uma lista diária de acesso de usuários que entraram em seu sistema, onde consta em cada linha, o horário do acesso e o login do usuário, algo como: 05:15 ernesto 08:39 ricardo 10:32 patricia 14:59 gabriel 16:27 carla 22:23 marcelo Como fazer para buscar automaticamente apenas os usuários que acessaram o sistema no período da tarde (meio-dia às seis)? Você tem várias opções, desde procurar uma a uma manualmente até fazer um programa que compare os primeiros caracteres de cada linha, mas falando de algo prático e rápido, que não exija conhecimentos de programação, a ER é simplesmente ^1[2-8]. O que significa essa sopa de letrinhas? ^ Caaaaaaalma. Acompanhe o próximo tópico e vamos conhecer todos os metacaracteres, essas coisinhas úteis que facilitam nossa vida.
Capítulo 1. Introdução. Objetivo
Capítulo 1 Introdução Olá. Que tal esquecer um pouco a rotina e a realidade e fazer uma viagem ao interior de sua mente? Descobrir conceitos novos, diferentes. Ao voltar, as coisas não serão mais tão normais
Leia maisIncrementando o Shell com Expressões Regulares. Rudson Ribeiro Alves - UVV
Incrementando o Shell com Expressões Regulares Rudson Ribeiro Alves - UVV rudsonalves@yahoo.com.br O que são Expressões Regulares (ERs ou regexes)? ER é uma composição de símbolos, caracteres com funções
Leia maisBasicamente, podemos dizer algo abrangente de forma específica. Definindo um padrão de busca, temos uma lista de possibilidades.
Introdução Definições Basicamente, podemos dizer algo abrangente de forma específica. Definindo um padrão de busca, temos uma lista de possibilidades. Como o brinquedo LEGO, várias pecinhas diferentes,
Leia maisAlgoritmos Computacionais
Material produzido por professores da UFABC Objetivos Aprender a sintaxe e a semântica de instruções de saída e de entrada de dados na linguagem PORTUGOL Aprender alguns operadores pra uso na parte de
Leia mais1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1
1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C Página 1 2 TECNOLOGIA ELEMENTAR CAPÍTULO 3 SUMÁRIO Apresentação -----------------------------------------------------------
Leia maisEstácio-FIC Graduação em Redes de Computadores
Estácio-FIC Graduação em Redes de Computadores Disciplina Programação para Servidores Prof. Andrey Halysson Lima Barbosa Aula 8 Expressões regulares Sumário Definições; Metacaracteres: Representantes;
Leia maisLógica de Programação
Lógica de Programação Aula 1 - Introdução Clenisson Calaça Sobre mim Tecnólogo em Análise e Desenvolvimento de Sistemas Maurício de Nassau, 2015 Desenvolvedor Plus Agência
Leia maisPassando do português para a linguagem matemática.
1 Passando do português para a linguagem matemática. Professor Maurício 2 Um grande problema para quem está estudando matemática pela primeira vez é passar o enunciado (na forma de palavras e escrito em
Leia maisFormação de Administradores de Redes Linux LPI level 1
Formação de Administradores de Redes Linux LPI level 1 SENAC TI Fernando Costa Expressões Regulares e exercícios Expressões regulares - ERs Uma expressão regular é um método formal de se especificar um
Leia maisAlgoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza
Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Conceitos Lógica de Programação técnica de encadear pensamentos
Leia maisExpressões Regulares. Tiago Alves de Oliveira
Expressões Regulares Tiago Alves de Oliveira Introdução As expressões regulares consistem em uma maneira de representar um padrão de caracteres. Expressão Regular descreve um conjunto de cadeias de caracteres,
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia maisTÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke
TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (
Leia maisEstrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas
Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal
Leia mais5ª Edição Revisada e Ampliada Aurelio Marinho Jargas
5ª Edição Revisada e Ampliada Aurelio Marinho Jargas Novatec Copyright 2006, 2008, 2009, 2012, 2016 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida
Leia maisCubo Mágico. Tutorial de Resolução. Nível Básico. Método das Camadas. Autor: Rinaldo Pitzer Junior.
Cubo Mágico Tutorial de Resolução Nível Básico Método das Camadas Autor: Rinaldo Pitzer Junior www.artedocubo.com.br Tópicos Abordados Curiosidades As Peças do Cubo Algoritmos Resolução Links Úteis Agradecimentos
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisNesse artigo falaremos sobre:
Este conteúdo faz parte da série: Excel Dicas Avançadas Ver 11 posts dessa série Nesse artigo falaremos sobre: Deadline para controle de datas Outras funções avançadas Formatação Condicional Tabelas Dinâmicas
Leia maisOlá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas
Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas atualmente. Uma linguagem de programação é um conjunto padronizado
Leia maisEscolas e Faculdades QI. Demétrius Loblein e Carlos Henrique EXPRESSÕES REGULARES
Escolas e Faculdades QI Demétrius Loblein e Carlos Henrique EXPRESSÕES REGULARES Uma expressão regular, na Informática, define um padrão a ser usado para procurar ou substituir palavras ou grupos de palavras.
Leia maisUm programa awk contém uma seqüência de padrões (expressões regulares) e ações da seguinte forma:
Awk (linguagem de programação) Awk é um grande utilitário de interpretação da linguagem de programação awk para manipulação de dados e texto de programação em shell script, nos quais é bastante utilizado
Leia maisSistema Computacional
Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.
Leia maisIntrodução à Programação de Computadores Fabricação Mecânica
Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador
Leia maisVariáveis e Memória. Revisão. Conceitos. Operações sobre a memória
Variáveis e Memória Revisão Estudamos, na Introdução, que os programas de computador implementam algoritmos, os quais manipulam um conjunto de dados para produzir um resultado. O algoritmo é um conjunto
Leia maisAlgoritmos I Introdução a Algoritmos. Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10
Algoritmos I Introdução a Algoritmos Carlos de Salles Soares Neto csalles@deinf.ufma.br Segundas e Quartas, 17h40 às 19h10 Sejam bem-vindos! Os celulares têm que ficar no silencioso ou desligados Não se
Leia maisIntrodução à Computação
Introdução à Computação INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 3 Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia Civil Linguagens de Programação Uma linguagem
Leia maisAulas 5 e 6 / 28 e 30 de março
Aulas 5 e / 8 e 30 de março 1 Notação de soma e produto Como expressar a seguinte soma de uma maneira mais concisa? 1 + + 3 3 + + 10? Note que as parcelas são semelhantes, e que a única coisa que varia
Leia maisALGORITMO: FASE 1 PARTE 1
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE ALGORITMO: FASE 1 PARTE 1 Rhavy Maia Guedes rhavy.maia@gmail.com Algoritmo e Programação 2 Precisamos saber o que
Leia maisComputação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa
Computação Eletrônica Tipos de dados, constantes, variáveis, operadores e expressões Prof: Luciano Barbosa Site da disciplina: www.cin.ufpe.br/~if165/ Recapitulando num cubo = n * n * n cubo Algoritmo
Leia maisProcedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Leia mais1.1 Linguagens de Programação
Fundamentos Procurando fazer com que haja uma melhor compreensão para o estudo e desenvolvimento utilizando linguagens de programação, este capítulo apresenta conceitos básicos sobre como um programa pode
Leia maisRaciocínio Lógico Matemático
Raciocínio Lógico Matemático Cap. 4 - Implicação Lógica Implicação Lógica Antes de iniciar a leitura deste capítulo, verifique se de fato os capítulos anteriores ficaram claros e retome os tópicos abordados
Leia maisLINGUAGEM E TECNICAS DE PROGRAMAÇÃO
LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos
Leia maisUm alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.
Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem
Leia maisAlgoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?
Algoritmos Seqüência finita e ordenada de procedimentos que resolvem um determinado problema Exemplo: O que preciso fazer para preparar um omelete? Pegar os ovos na geladeira; Bater os ovos; Escolher o
Leia maisIntrodução a programação Visão geral
Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Visão geral Professor: Saulo Henrique Cabral Silva Conceitos lógica/algoritmo A lógica é usada no dia a dia das pessoas para
Leia maisALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisProvamos: M&M s Peanut Butter Recheio de Manteiga de Amendoim
Provamos: M&M s Peanut Butter Recheio de Manteiga de Amendoim O que mais tem é produto bom que não é comercializado no Brasil. Quando a marca não está presente aqui, tudo bem, eu me conformo, mas quando
Leia maisAntes de começar a usar sua Moderninha Wifi, fique atento:
W MANUAL DE USO Importante Antes de começar a usar sua Moderninha Wifi, fique atento: * * * * Caso sua Moderninha Wifi esteja com pouca bateria, utilize o cabo USB para ligá-la a um computador ou conecte-a
Leia maisAlgoritmo de Programação. Aula1
Algoritmo de Programação Aula1 Conceituação Muitas definições podem ser dadas à palavra algoritmo. Atualmente, tem-se associado algoritmo à computação, mas este não é um termo restrito à computação ou
Leia maisUniversidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever
Leia maisTreinamento Olimpíada Brasileira de Informática
Treinamento Olimpíada Brasileira de Informática Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 01 Introdução Estrutura do programa Prof. Roberto Affonso da Costa Junior rcosta62br@gmail.com
Leia maisLinguagens 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 maisAula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU
Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito
Leia maisORIENTAÇÕES SOBRE A ASSISTÊNCIA ESTUDANTIL CAMPUS AVANÇADO UBERABA PARQUE TECNOLÓGICO
ORIENTAÇÕES SOBRE A ASSISTÊNCIA ESTUDANTIL CAMPUS AVANÇADO UBERABA PARQUE TECNOLÓGICO OLÁ PESSOAL! VOU ESCLARECER PARA VOCÊ UM POUQUINHO SOBRE O QUE É A ASSISTÊNCIA ESTUDANTIL, VAMOS LÁ? O QUE É ASSISTÊNCIA
Leia maisPC Polícia Civil do Estado de São Paulo PAPILOSCOPISTA
PC Polícia Civil do Estado de São Paulo PAPILOSCOPISTA Concurso Público 2016 Conteúdo Teoria dos conjuntos. Razão e proporção. Grandezas proporcionais. Porcentagem. Regras de três simples. Conjuntos numéricos
Leia mais4 O conceito de variável
4 O conceito de variável Para resolver problemas no computador é necessário manipular dados, sejam números ou caracteres. Se alguém precisa calcular o resultado de uma única conta provavelmente o melhor
Leia mais4ª Edição Revisada e Ampliada Aurelio Marinho Jargas
4ª Edição Revisada e Ampliada Aurelio Marinho Jargas Novatec Copyright 2006, 2008, 2009, 2012 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida
Leia maisI. Variáveis Aleatórias
I. Variáveis Aleatórias Raciocínio Lógico e Estatística Olá, Pessoal! Tudo em paz? Como vão os estudos? Segue um pequeno artigo introdutório sobre Variáveis Aleatórias. I.1 Conceito Bem, se você ler a
Leia maisProgramação II. Aula 3
Programação II Aula 3 Algoritmo Algoritmo: REVISÃO qualquer procedimento bem definido que toma algum valor como entrada e produz algum valor como saída. Técnica de refinamentos sucessivos: dividir um processo
Leia maisObjetivo: descrever como abrir uma solicitação de suporte técnico através da internet.
Suporte Técnico Hotline Como abrir uma solicitação Denilson Pegaia Objetivo: descrever como abrir uma solicitação de suporte técnico através da internet. Aviso: Este documento apresenta dicas e exemplos
Leia maisTécnicas de Programação
Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir
Leia maisLógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas
Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas Prof. Me. Hélio Esperidião Ferreira Objetivos: (Entender os principais conceitos atuais e históricos sobre o desenvolvimento
Leia maisOpte então pela opção Suplementos disponível do lado esquerdo da tela que se abriu.
2.4 - Solução computacional utilizando ferramenta solver do MS Excel O problema envolvendo a produção de CPUs é um problema de maximização: queremos o máximo lucro. Vamos aproveitá-lo mais uma vez como
Leia maisPara começar, vamos começar vendo alguns exemplos do uso da SOMASE na gestão de empresas:
Este conteúdo faz parte da série: Excel Fórmulas Avançadas Ver 10 posts dessa série Esse é o meu segundo post da série Como gerir melhor usando uma função do Excel (veja o meu post sobre a PROCV função
Leia maisSaiba por onde começar e aproveite seu curso! Confira a nossa proposta de plano de estudos. Pode segui-la ou explorar a escola virtual do seu jeito.
Saiba por onde começar e aproveite seu curso! Confira a nossa proposta de plano de estudos. Pode segui-la ou explorar a escola virtual do seu jeito. Não esqueça que pode contar com o apoio dos nossos professores
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 O Que é Lógica? 2 Problemas e Algoritmos 3 Representando Algoritmos Material
Leia maisÉ uma sequência lógica de ações, um passo a passo, para atingir determinado objetivo.
Computação I Introdução Olá pessoal, eu sou o Edivaldo e aqui vou tentar ensinar de um jeito resumido e descomplicado as noções iniciais do curso de Programação da UFRJ, que é ministrado na linguagem de
Leia maisSemântica Denotacional
Semântica Denotacional Uma introdução ISBN 0-321-19362-8 Semântica denotacional é um método formal para definir a semântica de linguagens de programação. Interessa a: projetista de linguagens, quem escreve
Leia maisProf. Diego Pereira Gerência e Configuração de Serviços para Internet. Shell Script
Prof. Diego Pereira Gerência e Configuração de Serviços para Internet Shell Script Objetivos Entender os princípios da programação no ambiente shell; Elaborar pequenos scripts
Leia maisSubalgoritmos. algoritmo completo é dividido num algoritmo principal e em diversos subalgoritmos (tantos quantos forem necessários ou convenientes).
Subalgoritmos Sempre é possível dividir problemas grandes e complicados em problemas menores e de solução mais simples. A decomposição de um problema é fator determinante para a redução da complexidade.
Leia maisMATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21
AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por
Leia maisAfirmações Matemáticas
Afirmações Matemáticas Na aula passada, vimos que o objetivo desta disciplina é estudar estruturas matemáticas, afirmações sobre elas e como provar essas afirmações. Já falamos das estruturas principais,
Leia maisWorking 03 : Conceitos Básicos I
Working 03 : Conceitos Básicos I Objetivos: Dominar os conceitos básicos da linguagem de programação C; Aprender a utilizar o compilador, identificando os erros de sintaxe do código fonte; Prazo de Envio:
Leia maisProvamos: M&M s Peanut Butter Recheio de Manteiga de Amendoim
Provamos: M&M s Peanut Butter Recheio de Manteiga de Amendoim O que mais tem é produto bom que não é comercializado no Brasil. Quando a marca não está presente aqui, tudo bem, eu me conformo, mas quando
Leia maisMATRIZES - PARTE Mais exemplos Multiplicação de duas matrizes AULA 26
AULA 26 MATRIZES - PARTE 2 26. Mais exemplos Nesta aula, veremos mais dois algoritmos envolvendo matrizes. O primeiro deles calcula a matriz resultante da multiplicação de duas matrizes e utiliza três
Leia maisProf. Jorge Cavalcanti
Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 03 (baseado no material do prof. Marcelo Linder) Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br
Leia maisLocalizar um determinado trecho de texto que só se tem idéia das variações possíveis.
Para a Ciência da Computação Expressões Regulares(ERs ou do inglês abreviado regex - regular expression) provê uma forma eficiente de identificar e manusear cadeias de caracteres de interesse, como caracteres
Leia maisInformática no Ensino de Matemática Prof. José Carlos de Souza Junior
Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 03 ATIVIDADE 01 (a) Sejam u = (a b)/(a + b), v = (b c)/(b + c) e w = (c a)/(c
Leia maisAulas de Inglês para Executivos.
Aulas de Inglês para Executivos info@acelanguageschool.com.br Bem-vindo à Ace Aulas de Inglês para Executivos. Ace Language School é uma escola de Inglês com sede em São Paulo, Brasil. Somos especialistas
Leia mais3. Tipos de dados e variáveis
3. Tipos de dados e variáveis DIM0320 2015.1 DIM0320 3. Tipos de dados e variáveis 2015.1 1 / 26 Conteúdo 1 Tipos de dados 2 Tipos básicos Portugol 3 Variáveis 4 Exercícios DIM0320 3. Tipos de dados e
Leia maisIntrodução à Ciência da Computação Disciplina:
Introdução à Ciência da Computação Disciplina: 113913 Prof. Edison Ishikawa Python 3.0 Capítulo 3 Funções Sumário Chamadas de funções Conversão entre tipos Coerção entre tipos Funções matemáticas Composição
Leia maisSumário. 1. Introdução O que é o Waga? Como criar uma Conta no Waga? Entrar no Waga Cadastros Básicos...
MANUAL DO USUÁRIO Introdução 1 Sumário 1. Introdução... 3 1.1 O que é o Waga?... 3 1.2 Como criar uma Conta no Waga?... 4 1.3 Entrar no Waga... 5 2. Cadastros Básicos... 7 2.1 Cadastro de Veículo... 7
Leia maisFERRAMENTAS BÁSICAS DA PROGRAMAÇÃO
FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO VARIÁVEIS E O COMANDO DE ATRIBUIÇÃO O computador possui uma área específica de armazenamento denominada de memória. O computador possui uma área específica de armazenamento
Leia maisA resposta apresentada em aula, no quadro, (em Chapin e/ou Português Estruturado) está correta?
23 Algoritmos com Repetição Nos exemplos e exercícios vistos até agora, sempre foi possível resolver os problemas com uma sequência de instruções que eram executadas apenas uma vez. Existem três estruturas
Leia maisPreliminares, cap. 3 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani
Preliminares, cap. 3 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani 1 1 Linguagens linguagem: sistema de símbolos que serve como meio de comunicação (p. 31) articial natural: isso não se restringe
Leia maisApostila - Desenvolvimento web com PHP
José Roberto Madureira Junior Adaní Cusin Sacilotti Reginaldo Sacilotti Apostila - Desenvolvimento web com PHP Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO PHP... 1 1.1 PREPARAÇÃO DO AMBIENTE
Leia maisDescrição do Algoritmo LZ77
Departamento de Ciência da Computação IME-USP MAC 110 Introdução à Computação BCC Primeiro Semestre de 2007 Terceiro Exercício-Programa Prazo de entrega: até 12 de junho de 2007. Compressão de Arquivos
Leia maisProgramação de Computadores
Programação de Computadores CONSIDERAÇÕES INICIAIS Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Página da Disciplina O material será disponibilizado por meio
Leia maisIntrodução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 02 Primeiro Programa Roteiro Primeiros Passos Variáveis Expressões Comandos
Leia maisObjectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes
Tipos de Dados Objectivos Observar os tipos fornecidos pelo C++ São dados alguns exemplos Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes O que são Como se distinguem
Leia maisAula Inaugural. Iniciação à Programação
Aula Inaugural Iniciação à Programação A OBI Olimpíada Brasileira de Informática Modalidades: 1. Iniciação a. 2. Provas de Lógica Objetiva utilizando Papel e Caneta Programação a. Provas com Problemas
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisCompiladores. Análise Léxica
Compiladores Análise Léxica Regras Léxicas Especificam o conjunto de caracteres que constituem o alfabeto da linguagem, bem como a maneira que eles podem ser combinados; Exemplo Pascal: letras maiúsculas
Leia maisInformática Aplicada à Engenharia Florestal INTRODUÇÃO
Informática Aplicada à Engenharia Florestal INTRODUÇÃO Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Vamos aprender a fazer programas! 2/34 Questão Fundamental
Leia maisBEM-VINDO AO E-BOOK DE BUSINESS MODEL CANVAS DA CANVAS ACADEMY! A LEI SUPREMA DOS MODELOS DE NEGÓCIOS Uau! Fascinante este título não acha?! O que é a lei suprema de modelos de negócios, e, mais importante
Leia maisIntrodução as Máquinas de Autômatos
Faculdade de Engenharia da Computação Disciplina: Autômatos e Linguagens Formais Introdução as Máquinas de Autômatos Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de
Leia maisMatemática Divertida. Triângulos Mágicos
Matemática Divertida Triângulos Mágicos ζ(s) = n=1 1 n s Prefácio Comecei a escrever esta série de livros intitulada Matemática Divertida, pois acredito que a matemática possa ser um agente de mudanças
Leia maisCapítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
Leia maisAula 4 Introdução ao C
Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções
Leia mais2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006
Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma
Leia mais14 regras práticas para seu aplicativo ou software. engajar os usuários
14 regras práticas para seu aplicativo ou software engajar os usuários produto X usuário Sua empresa tem uma solução interativa digital? Um site? Um aplicativo mobile? Um software? Se sim talvez você já
Leia maisCOZINHA & SABOR. Manual
Sumário 1. TELA ABERTURA... 2 2. TELA DE LOGIN... 2 2.1. QUERO ME CADASTRAR... 2 2.2. ENTRAR COM E-MAIL E SENHA... 3 2.3. ESQUECI MINHA SENHA... 3 3. MENU PRINCIPAL... 4 4. FASES DO EVENTO... 4 5. RESTAURANTES...
Leia maisLÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2013-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++
Leia maisModos gregos. Os modos gregos nada mais são do que 7 modelos diferentes para a escala maior natural. Vamos detalhar para ficar mais claro:
Modos gregos Talvez você já tenha ouvido por aí os nomes "mixolídio", "dórico", ou algo semelhante. Parece coisa de outro mundo, não? Pois bem, mostraremos que esses e outros nomes são, na realidade, assuntos
Leia maisA diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável.
Aula 02 - Introdução ao css ( folhas de estilo ) CSS é a sigla para o termo em inglês Cascading Style Sheets que, traduzido para o português, significa Folha de Estilo em Cascatas. O CSS é fácil de aprender
Leia mais