ALFA Laboratorio. Víctor J. Díaz Madrigal Departamento de Lenguajes y Sistemas Informáticos Sevilla, 2006

ALFA Laboratorio Víctor J. Díaz Madrigal ([email protected]) Departamento de Lenguajes y Sistemas Informáticos Sevilla, 2006 Víctor J. Díaz Madrigal ALFA, 2006-2007 ÍNDICE Lenguaje de programación Perl • • • • Víctor J. Díaz Madrigal INTRODUCCIÓN TIPO ESCALAR EXPRESIONES REGULARES (EXPREGs) LISTAS ALFA, 2006-2007 INTRODUCCIÓN: Hola, mundo Edición del script hola.pl Características generales de Perl Víctor J. Díaz Madrigal Ejecución del script hola.pl Lenguaje multiplataforma y de distribución gratuita Lenguaje imperativo y de formato libre Las sentencias acaban con punto y coma Las sentencias se ejecutan en el orden en el que aparecen en el fuente Los comentarios empiezan con # y acaban con la línea Programación basada en scripts (guiones) ALFA, 2006-2007 TIPO ESCALAR: Definición Números Escalares (Números y cadenas) 12 Cadenas -5.4 "Hola, $nombre!\n" 'Hola, $nombre!\n' Decla
Author:  Clara Moya Montes

9 downloads 62 Views 167KB Size

Recommend Stories


Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fa

Laboratorio de Sistemas Embebidos
Laboratorio de Sistemas Embebidos Desarrollo de aplicaciones en LPCXpresso basadas en RTOS Alan Kharsansky Mario Azcueta 4 - Marzo - 2011 Alan Khar

Laboratorio de Sistemas Electrónicos Digitales
Laboratorio de Sistemas Electrónicos Digitales 1. Introducción Antiguamente, para realizar un circuito electrónico – receptor de radio, receptor de t

MEJORAS EN EFICIENCIA Y EFICACIA APRENDIZAJE SUPERVISADO DE ALGORITMOS EVOLUTIVOS PARA DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS
M EJORAS EN E FICIENCIA Y E FICACIA DE A LGORITMOS E VOLUTIVOS PARA A PRENDIZAJE S UPERVISADO D EPARTAMENTO DE L ENGUAJES Y S ISTEMAS I NFORMÁTICOS

Revista Neurología, Marta Neurocirugía Georgina Ochoa y Psiquiatría. Madrigal 2006; y cols. 39(3): Jul.-Sep:
medigraphic Artemisa en línea Revista Neurología, Marta Neurocirugía Georgina Ochoa y Psiquiatría. Madrigal2006; y cols. 39(3): Jul.-Sep: 120-124 C

LABORATORIO DE SISTEMAS DE INFORMACIÓN GEOGRÁFICA. Anexos
LABORATORIO DE SISTEMAS DE INFORMACIÓN GEOGRÁFICA Anexos A continuación se presentan las actividades puntuales realizadas durante el año por sede: Dis

Story Transcript

ALFA Laboratorio

Víctor J. Díaz Madrigal ([email protected]) Departamento de Lenguajes y Sistemas Informáticos Sevilla, 2006

Víctor J. Díaz Madrigal

ALFA, 2006-2007

ÍNDICE

Lenguaje de programación Perl • • • •

Víctor J. Díaz Madrigal

INTRODUCCIÓN TIPO ESCALAR EXPRESIONES REGULARES (EXPREGs) LISTAS

ALFA, 2006-2007

INTRODUCCIÓN: Hola, mundo Edición del script hola.pl

Características generales de Perl

Víctor J. Díaz Madrigal

Ejecución del script hola.pl

Lenguaje multiplataforma y de distribución gratuita Lenguaje imperativo y de formato libre Las sentencias acaban con punto y coma Las sentencias se ejecutan en el orden en el que aparecen en el fuente Los comentarios empiezan con # y acaban con la línea Programación basada en scripts (guiones)

ALFA, 2006-2007

TIPO ESCALAR: Definición Números

Escalares (Números y cadenas)

12

Cadenas

-5.4

"Hola, $nombre!\n"

'Hola, $nombre!\n'

Declaración por defecto con ámbito global (En id se distingue entre mayúsculas y minúsculas) Variables

$id

Inicialización por defecto:

undef

Según el contexto será el número 0 o la cadena vacía ""

Interpolación de variables dentro de literales cadenas enmarcadas entre dobles comillas "..."

# escalares.pl Sentencia de asignación $autor="Richard Wagner"; $ciudad="Leipzig"; $operas=11; $nace=1813; $muere="1883";

$id =EXPRESION; Operadores para números Suma

+

Resta

-

Producto

*

División

/

Modulo

%

Potencia

**

print "$autor nace en $ciudad\n"; print "Compuso $operas operas\n"; print "Vivió ",$muere-$nace," años\n";

[temperaturas.pl] Convierta una temperatura F medida en grados Fahrenheit a otra C medida en grados Celsius [Nota: C=5(F-32)/9] Víctor J. Díaz Madrigal

ALFA, 2006-2007

TIPO ESCALAR: Condiciones Sentencia Condicional

Expresiones Lógicas

if (COND) {BLOQUE} [ [elsif (COND) {BLOQUE}]*

else {BLOQUE} ]

SENTENCIA if COND;

Valor Falso "0"

""

0

Conjunción undef

Operadores Relacionales Números

&&

and

Disyunción ||

or

Negación !

not

# condiciones.pl Cadenas

Mayor que

>

gt

Menor que

<

lt

Igual que

==

eq

Mayor o igual

>=

ge

Menor o igual

=0) && ($n%2==0)) { print "$n es positivo y par\n" } else { print "$n es negativo o impar\n" } $u="Aire"; $v="Aria"; print "La cadena $u "; print "NO " if ($u ge $v); print " precede a la cadena $v\n";

[raices.pl] Indique de qué tipo son las raíces de una ecuación de segundo grado ax2+bx+c=0. Muestre, si es posible, sus raíces reales. Nota: Use la función sqrt() para calcular la raíz cuadrada Víctor J. Díaz Madrigal

ALFA, 2006-2007

TIPO ESCALAR: Bucles y rupturas Bucle while Bucle for

Rupturas

while (COND) {BLOQUE}

SENT while COND;

for (INICIO; COND_FIN; SIGUIENTE) {BLOQUE}

die ($mensaje)

Cesa la ejecución e imprime $mensaje

Acaba el bucle

last [COND]

exit($código)

Cesa la ejecución y devuelve $código

Siguiente iteración

next [COND]

# bucles.pl

Operadores incremento/decremento

$n= 4; die ("El argumento no es un entero estrictamente positivo\n") if ($n 1, dos => 2, tres =>3)

Mapas Listas de pares de escalares clave-valor (la clave es una cadena y el valor un escalar)

Variables Acceso al valor asociado a $clave

OJO : El valor de una clave no creada es por defecto undef

%mapa $mapa{$clave}

# mapas.pl %operas =(Bartok => 1, Falla=> 1, Brahms => 0); foreach $autor (keys %operas) { print "$autor compuso $operas{$autor} operas\n"; }

Proyección keys (%mapa)

delete($operas{Falla}); Supresión de una par delete($mapa{$clave}) Existencia de una par exists($mapa{$clave})

if (!exists($operas{Berg})) { $operas{Berg}=2; } foreach $autor (keys %operas) { print "$autor compuso $operas{$autor} operas\n"; }

[conjunto.pl] Elimina los elementos repetidos de una lista Víctor J. Díaz Madrigal

ALFA, 2006-2007

LISTAS: Ordenación de arrays Ordena lexicográficamente los elementos de ARRAY

Cambio del criterio de comparación

sort {BLOQUE} (ARRAY)

Operador de comparación

Números

Variables de comparación

$a

Invierte el orden de los elementos de ARRAY



Cadenas

cmp

$b

reverse(ARRAY)

# sort.pl @coro=("Soprano", "Contralto", "Tenor","Bajo"); foreach $c (@coro) {print "$c\n";} @ordenada=sort(@coro); print "Orden ascendente: @ordenada\n"; @ordenada_por_longitud=sort {length($a) length($b); } @coro; print "Ordena por longitud de cadena: @ordenada_por_longitud\n"; @invertida=reverse sort(@coro); print "Orden descendente: @invertida\n";

[maximo.pl] Calcula el máximo de un array de números Víctor J. Díaz Madrigal

ALFA, 2006-2007

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.