A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Perl Tema 3B Pablo Gamallo Otero

Apresentações semelhantes


Apresentação em tema: "Introdução a Perl Tema 3B Pablo Gamallo Otero"— Transcrição da apresentação:

1 Introdução a Perl Tema 3B Pablo Gamallo Otero http://gramatica.usc.es/~gamallo/

2 Bibliografia Levi Lúcio, Vasco Amaral (2001), Programação em PERL, FCA-Editora de Informática. Hammond, Michael (2003), Programming for linguistics: Perl for language researchers, Blackwell Publishing. Tanguy, Ludovic (2007), Perl pour les linguistes, Hermès - Lavoisier. http://perl.linguistes.free.fr/. TUTORIAIS ON LINE (em espanhol): http://www.geocities.com/SiliconValley/Station/8266/perl/index.html http://kataix.umag.cl/~mmarin/topinf/perl.html

3 Vamos programar um pouco A linguagem PERL PERL = Practical Extraction and Report Language. Primeira versão em 1987, Larry Wall.

4 Objectivos ler o texto introduzido através do teclado processar o texto lido: ­ verificar o texto introduzido ­ colocar sufixos, prefixos,... escrever os resultados (na consola ou num ficheiro)

5 Estrutura do Programa “nome.perl” O script escreve na consola: “Cómo te chamas?” O script lê o nome escrito polo usuário O script escreve na consola o nome que foi lido.

6 Como tornar executável o script “nome.perl” ? chmod +x nome.perl Atribuimos ao ficheiro “nome.perl” a propriedade: ser executável

7 Estrutura do Programa “nome.perl” print escreve texto (no terminal, num ficheiro...) lê um conjunto de caracteres ou texto, introduzido através do teclado. $x = lê um conjunto de caracteres introzidos através do teclado e os coloca na variável $x. chop $x corta o carácter de nova linha (\n) que se encontra no valor de $x.

8 Que é um programa (ou script)? Um programa é um conjunto de instruções (print, assignação, leitura,...) As instruções simples sempre acabam com o símbolo ‘;’ (ponto e vírgula) Quando executamos o programa, as instruções são executadas sequencialmente.

9 Tipos de entidades dum programa escalares: números, sequências de caracteres instruções: simples: print, =, chop,... complexas: if, while,... listas (arrays) tabelas (hashes) Descritores Input/Output: STDIN, STDOUT, arquivos de entrada, arq. de saída...

10 Tipos de variáveis escalares: $var listas: @var tabelas: %var

11 O script escreve na consola: “Introduza um nome em singular:” O script lê o nome escrito polo usuário O script escreve na consola o nome em plural. A partir desse nome e o carácter “s”, criamos uma variável com o nome em plural. Estrutura do Programa “morfo_numero.perl”

12 ENTRADA: $pal = lê um conjunto de caracteres ou texto, introzido através do teclado e o coloca na variável $pal. PROCESSAMENTO: $plural = “$pal. “s” engade o “s” ao texto armazenado na variável $pal. O resultado é armazenado na variável $plural. SAÍDA: print escreve o texto processado.

13 Estrutura do Programa “morfo_numero_generico.perl” mesma ENTRADA e SAÍDA que “morfo_numero.perl PROCESSAMENTO: $ConsoanteFinal = “[dlnrs]” if ($Palavra =~ /$ConsoanteFinal$/) { $Plural = $Palavra. "es" ; } elsif ($Palavra =~ /$Zfinal$/) { $Palavra =~ s/z$/c/; $Plural = $Palavra. "es" ; $Palavra =~ s/c$/z/; } else { $Plural = $Palavra. "s" ; } Se a palavra acaba em consoante final(dlnrs), o plural fai-se com -es. Senão, se a palavra acaba em -z, substituimos o -z final por -c e engadimos -es. Senão, engadimos -s.

14 a instrução IF if (expressão) { bloco do if } else { bloco do else } Se a expressão é verdade, executam-se as instruções contidas no bloco do if. Caso contrário, executa-se o bloco de instruções do else. Expressões falsas: 1 > 2 ; 0 ; “”, 1-1 Expressões verdadeiras: 1 < 2 ; os números excepto o 0; as strings excepto “”

15 Expressões Regulares: exemplos 1 if ($x =~ m/s$/) { print “é um plural!”; } Se a sequência de caracteres associada à variável $x contém um -s final, então escrevemos: “é um plural!”. $x =~ s/ble$/bel/; Se a sequência de caracteres associada à variável $x contém a subsequência final -ble, então é substituída por -bel.

16 Expressões Regulares: exemplos 2 if ($x =~ m/ca[sz]ar/) { print $x; } Se a sequência de caracteres associada à variável $x contém uma subsequência “casar” ou “cazar”, então escrevemos toda a sequência (que é o valor de $x). if ($x =~ m/^[Qq]uijote$/) { print $x; } Se a sequência de caracteres associada à variável $x é exactamente 'Quijote' ou “quijote”, então escrevemos essa sequência.

17 Expressões Regulares: exemplos 3 if ($x =~ m/^Paulo$|^Pau$|^Paolo$/) { print $x; } Se a sequência de caracteres associada à variável $x é exactamente “Paulo”, “Pau” ou “Paolo”, então escrevemos o valor de $x. if ($x =~ m/^in[a-z]+ble$/) { print “é um adjectivo!”; } Se a sequência de caracteres associada à variável $x começa polo prefixo “in”, seguido de um número indeterminado de caracteres, e finaliza por “ble”, então a cadea $x é um adjectivo.

18 Instruções iterativas while (expressão) { bloco } O bloco será executado até que a expressão se torne falsa: while ($cont < 5) { print “$cont \n”; $cont++; }

19 Estrutura do Programa “morfo_numero_iterativo.perl” Iterações de entrada e saídas: Uma vez produzida a saída, o sistema solicita uma nova entrada. Só vai finalizar o processo se o usuário lhe di que pare. PROCESSAMENTO: while( $Palavra ne "q" ) { print "Escreve um novo nome ou adjectivo (ou q pour finalizar): "; $Palavra = ; chomp $Palavra; if ($Palavra eq "q") { print "gracinhas e adeus!! \n"; } else { $Plural = $Palavra. "s" ; print "O plural de \"$Palavra\" e o seguinte: \n"; print "$Plural\n\n"; } } Mentres a palavra introduzida não seja o carácter “q”, então o script escreve o plural dessa palavra e volta a pedir que o usuário introduza uma nova palavra.


Carregar ppt "Introdução a Perl Tema 3B Pablo Gamallo Otero"

Apresentações semelhantes


Anúncios Google