• Publicidad

Novato en pañales

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Novato en pañales

Notapor merlenito » 2007-11-22 23:35 @024

HOLA, QUÉ TAL. ¡MUY BUENAS DÍAS! SOY UN NOVATO QUE BUSCA AYUDA PARA VER SI ME SUELTO EN Perl. LA IDEA EN REALIZAR UNA PEQUEÑA APLICACIÓN QUE MEDIANTE UN ARCHIVO TXT QUE Perl ABRIRÁ, ME PERMITA SACAR CIERTA INFORMACIÓN. MEJOR LES ADJUNTO UN ENUNCIADO. OJO, BUSCO AYUDA PERO ESTOY TRANCADO EN COMO USAR LOS BENDITOS ARRAYS ENTRE LAS POSICIONES DEL ARCHIVO Y COMO DESPLAZARME DENTRO DEL MISMO. AQUÍ LES VA...

Se para la implementación en Perl de un intérprete para MiX, lenguaje sencillo con soporte de declaraciones de variables, asignación, salto explícito, operaciones aritméticas básicas y comentarios con #. El lenguaje usa solo mayúsculas, pero no toma en cuenta los espacios en blanco. La secuencia de instrucciones a interpretar será cargada automáticamente desde un archivo llamado TESTn.MiX. Las instrucciones del lenguaje son:

Código: Seleccionar todo
DEF v: Declara v como una variable entera, v debe ser solo letras, pueden declararse n variable.

SET v y: asigna el número entero (o variable) “y” a la variable “v”.

+ v y: suma la variable “v” con el número entero (o variable) “y”. El resultado se almacena en “v”.

- v y: resta la variable “v” con el número entero (o variable) “y”. El resultado se almacena en “v”.

* v y: multiplica la variable “v” con el número entero (o variable) “y”. El resultado se almacena en “v”.

/ v y: divide la variable “v” con el número entero (o variable) “y”. El resultado se almacena en “v”.

LABEL i: establece una etiqueta, i debe ser un número entre 1 y 999

< v y i: Si la variable v es menor que el número entero (o variable) “y”, saltar a la etiqueta i.

> v y i: Si la variable v es mayor que el número entero (o variable) “y”, saltar a la etiqueta i.

= v y i: Si la variable v es igual que el número entero (o variable) “y”, saltar a la etiqueta i.

! v y i: Si la variable v es diferente que el número entero (o variable) “y”, saltar a la etiqueta i.

GO i: salta a la etiqueta i.


Dado como entrada automática un archivo que contiene un programa escrito en MiX, usted deberá:

Interpretar el programa completo.
Generar un archivo de resultados llamado MiX.xml que contenga:

* Nombre del archivo interpretado, con la cantidad de líneas de código que posee.
* Las variable declaradas con su respectivo valor al culminar la interpretación.
* Cantidad de operaciones aritméticas que fueron efectuadas, por operación.
* Cantidad de saltos efectuados (condicionales o explícitos).

Código: Seleccionar todo
# Ejemplo: el siguiente programa MiX calcula el factorial de 4:
DEF A B C    #declaración de 3 variables A,B y C
#inicialización de variable
SET A 4 #  A=4
#la inicialización a cero no es necesaria si el interprete lo hace automáticamente
SET B 0
SET C 1
#
# aquí comienza un ciclo
LABEL 1
+ B 1   #B = B +1
* C B   #C = C*B
< B A 1   #mientras (B<A) saltar a la etiqueta LABEL 1

END


¡LES AGRADEZCO SU AYUDAS CON ALGUNAS LÍNEAS DE CÓDIGO PARA ARRANCAR! SOBRE TODO LA DEL USO DE LOS ARRAY PARA LAS COMPARACIONES GRACIAS. ¡BYE!
merlenito
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2007-11-22 23:24 @017

Publicidad

Notapor explorer » 2007-11-23 04:18 @221

1. Bienvenido a los foros de Perl en Español, merlenito.
2. No escribas en mayúsculas, salvo si quieres gritar.
3. Ese ejercicio que te han mandado hacer ya está casi resuelto en otro hilo. Búscalo.
4. Si tienes problemas con tu código, postéalo, y con gusto te ayudaremos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados