algoritmo metrica

« Older   Newer »
  Share  
ottobit
CAT_IMG Posted on 17/9/2011, 07:26     +1   -1




Salve ragazzi!
Ecco, in breve, cosa mi capita... Mi sono imbattuto in questo documento:
http://www.dma.unina.it/laureescientifiche...%20dantesca.pdf

.. e mi chiedevo se in AutoIt è possibile sviluppare l'algoritmo indicato.
Io non ne cavo piedi, e voi?

(spero di aver postato nella sezione giusta)
 
Top
I.Ren
CAT_IMG Posted on 17/9/2011, 13:06     +1   -1




poi leggo e ti dico

edit: letto, massì quanto ci vuole è un semplice parsing di stringhe e c'è pure scritto il pseudocodice!
 
Top
ottobit
CAT_IMG Posted on 17/9/2011, 14:42     +1   -1




Boh! ... adesso provo a concentrarmi ma... con soli ottobit non è facile! :)

Vediamo... StringRight() serve sicuramente per ottenere la terna di lettere così da poter confrontare le rime... ora provo a stendere qualcosa.

Come cavolfiore si fa' ad associare un numero a una terna di lettere???

Edited by ottobit - 17/9/2011, 16:05
 
Top
ottobit
CAT_IMG Posted on 18/9/2011, 06:20     +1   -1




CODICE
; Nei componimenti poetici in 'Terza Rima' è riconoscibile una struttura
; matematica precisa.
; Preso un qualsiasi canto della Divina Commedia, è possibile associare
; alla rima di ciascun verso un numero intero nel seguente modo:
;
; *        Se le ultime tre lettere dell'ultima parola del verso sono ripetute
;        in altri versi, allora si associa a questi versi uno stesso numero;
;
; *        Se nel verso seguente è presente una nuova terna di lettere, allora
;        si associa  un nuovo numero  ottenuto incrementando di  un'unità il
;        numero assegnato precedentemente.
;
; NEL MEZZO DEL CAMMIN DI NOSTRA VITA                1
; MI RITROVAI PER UNA SELVA OSCURA                2
; CHE LA DIRITTA VIA ERA SMARRITA                        1
;
; AHI QUANTO A DIR QUAL ERA E' COSA DURA        2
; ESTA SELVA SELVAGGIA E ASPRA E FORTE        3
; CHE NEL PENSIER RINNOVA LA PAURA                2
;
; TANT' E' AMARA CHE POCO E' PIU' MORTE                3
; MA PER TRATTAR DEL BEN CH'I' VI TROVAI        4
; DIRO' DE L'ALTRE COSE CH'I' V'HO SCORTE        3
;
; IO NON SO BEN RIDIR COM'I' V'ENTRAI                4
; TANT'ERA PIEN DI SONNO A QUEL PUNTO                5
; CHE LA VERACE VIA ABBANDONAI                        4
;
; Si noti che ad eccezione del primo verso (la cui rima è presente solo
; due volte), ogni rima si presenta tre  volte ed il numero ad essa as-
; sociato si alterna una volta con il numero precedente e una volta col
; numero successivo.
;
; Pertanto è possibile determinare un algoritmo  che rappresenti la co-
; struzione metrica dei versi...
;

Dim $verso[12]
$verso[0]="Nel mezzo del cammin di nostra vita"
$verso[1]="mi ritrovai per una selva oscura"
$verso[2]="che la diritta via era smarrita"
$verso[3]="Ahi quanto a dir qual era è cosa dura"
$verso[4]="esta selva selvaggia e aspra e forte"
$verso[5]="che nel pensier rinnova la paura"
$verso[6]="Tant'è amara che poco è più morte"
$verso[7]="ma per trattar del ben ch'i vi trovai"
$verso[8]="dirò de l'altre cose ch'i v'ho scorte"
$verso[9]="Io non so ben ridir com'i v'entrai"
$verso[10]="tant'era pien di sonno a quel punto"
$verso[11]="che la verace via abbandonai"

For $a = 0 To UBound($verso)-1
       MsgBox(0, "", $verso[$a])                                ; visualizza uno per uno gli elementi (le righe)
       $separa = StringSplit($verso[$a], " ")
       MsgBox(0, "", $separa[$separa[0]])                ; visualizza l'ultima parola di ciascuna riga
       $des = StringRight($separa[$separa[0]], 3)
       MsgBox(0, "", $des)                                                ; visualizza le ultime 3 lettere di ciascuna ultima parola
Next

#cs
For $i = 0 To UBound($verso)-1
If StringInStr($verso[$i], StringRight($verso[0], 3)) Then
$n = 1
MsgBox(0, "", StringRight($verso[$i], 3) & " = " & $n)
Else
$n = $n + 1
MsgBox(0, "", StringRight($verso[$i], 3) & " = " & $n)
EndIf
Next

#ce


Non riesco ad andare oltre... Un aiutino?
 
Top
3 replies since 17/9/2011, 07:26   81 views
  Share