View Full Version : Grattacapo.............
Ciao a tutti,
ho un problema che spero di poter risolvere con il vostro aiuto.
In files di testo di notevoli dimensioni (fino a 1 GB) devo sostituire la stringa
" 287D " con la stringa " 212D " e la stringa " 287D-" con la stringa " 212D-"...
Detto così potrebbe essere semplice, ma:
1.i files da trattare hanno una strana formattazione (a capo ogni 81 caratteri)
che deve essere per cui capita che le stringhe da sostituire siano spezzate:
questo complica notevolmente le coseperchè se le stringhe originali sono uniche,
i pezzi in cui vengono divise non lo sono. Operando le varie sostituzioni (per tutte
le suddivisioni possibili) si sostituiscono parti di testo che non devono essere
sostituite (per es. " 28" ricorrecentinaia di volte in un file di quelle dimensioni)
2.ho provato con vari elaboratori di testo (come textpad), ma le dimensioni dei files da
trattare sono proibitive...
3.insieme a un amico che conosce Matlab abbiamo realizzato un programmino che:
-mette in riga il file;
-fa le sostituzioni (facendo un confronti carattere per carattere);
-rimette in colonna il file;
questo programma funziona, ma è lentissimo...
Il mio amico mi ha detto che un programma in C sarebbe immensamente più veloce...
solo che non so assolutamente da che parte cominciare...
Probabilmente per qualcuno di voi sarà un quesito sciocco, ma io non so che pesci pigliare,
tra librerie e sintassi.
Grazie a tutti
michele
mooolto semplice:
10 righe. :cool:
Sono io un po' tardo o sei tu un pochino criptico:rolleyes:
prrrooooova ;)
P.S.
non è colpa tua: con matlab tutto è tardo ! :D
mandare 20 kB del file mostro please :)
si tratta di un pezzo di uno dei file che devo tradurre...:(
maxithron
07-08-2004, 22:42
Originariamente inviato da cumel
Ciao a tutti,
ho un problema che spero di poter risolvere con il vostro aiuto.
In files di testo di notevoli dimensioni (fino a 1 GB) devo sostituire la stringa......
File di testo da 1GB??
:eek: :eek: :eek: che roba è? il Nechronomicon? il disasm di qualche SO? Il Tensore di Riemann & Christopfel?
#include <stdio.h>
#define TEXT1 " 287D "
#define SUBTEXT1 " 212D "
#define TEXT1 " 287D-"
#define SUBTEXT1 " 212D-"
#define LEN 6
#define FILENAME "pippo.txt"
void scala_buf(char *buf)
{
int i;
for(i = 1; i < LEN+1; ++i)
buf[i-1] = buf[i];
}
int confronta(char *buf, char *text)
{
int i;
for(i = 0; i < LEN; ++i)
if(buf[i] != text[i])
return 0;
return 1;
}
int main()
{
char buf[LEN+1]
int i, ret;
FILE *f;
f = fopen(FILENAME, "r+t");
ret = fread(buf, LEN, 1, f);
while(ret >0)
{
if(confronta(buf, TEXT1))
{
fseek(-LEN, SEEK_CUR, f);
fwrite(SUBTEXT1, LEN, 1, fp);
}
if(confronta(buf, TEXT2))
{
fseek(-LEN, SEEK_CUR, f);
fwrite(SUBTEXT2, LEN, 1, fp);
}
do {
ret = fread(&buf[LEN], 1, 1, f);
} while(buf[LEN] == '\n' & ret > 0)
scala_buf(buf);
}
fclose(f)
return 0;
}
Non l'ho compilato...se qualche anima pia lo può compilare... Purtroppo non sono a casa mia...
Riposto la versione che compila con -Wall e -Werror:
#include <stdio.h>
#define TEXT1 " 287D "
#define SUBTEXT1 " 212D "
#define TEXT2 " 287D-"
#define SUBTEXT2 " 212D-"
#define LEN 6
#define FILENAME "pippo.txt"
void scala_buf(char *buf) {
int i;
for(i = 1; i < LEN+1; ++i)
buf[i-1] = buf[i];
}
int confronta(char *buf, char *text) {
int i;
for(i = 0; i < LEN; ++i) {
if(buf[i] != text[i])
return 0;
}
return 1;
}
int main() {
char buf[LEN+1];
int ret;
FILE *f;
f = fopen(FILENAME, "r+t");
ret = fread(buf, LEN, 1, f);
while(ret > 0) {
if(confronta(buf, TEXT1)) {
fseek(f, -LEN, SEEK_CUR);
fwrite(SUBTEXT1, LEN, 1, f);
}
if(confronta(buf, TEXT2)) {
fseek(f, -LEN, SEEK_CUR);
fwrite(SUBTEXT2, LEN, 1, f);
}
do {
ret = fread(&buf[LEN], 1, 1, f);
} while(buf[LEN] == '\n' && ret > 0);
scala_buf(buf);
}
fclose(f);
return 0;
}
Cya!
grazie mille ragazzi,
appena mi sarà possibile partirò con le traduzioni e vi saprò dire se tutto funziona.
I files che devo tradurre, per soddisfare la curiosità di qualcuno, sono files di risultati di ABAQUS (simulazione strutturale).
La traduzione è necessaria affinchè tali risultati siano leggibili da PATRAN (visualizzatore) (sotto mentite spoglie, scambiando una etichetta che non legge con una etichetta che legge!).
Per questo motivo i files di testo sono enormi!
mk
Purtroppo non so cosa siano -Wall e -Werr :( ...
Comunque ho compliato e lanciato il programma postato da Dun su un piccolo file di esempio e non succede nulla:cry:
Il file di partenza è immutato:eek: (sebbene esca la scritta "press any key..." che mi farebbe pensare tutto ok)
:confused:
Hai cambiato vero nel define pippo.txt col tuo file?
E cmq non mi era chiara una cosa: nel tuo primo post la stringa da trovare era composta da " 287D " che cionci ha interpretato con "spazio287Dspazio".
Confermi?
Sotto che OS sei?
Sarebbe curioso provare ad utilizzare sed....
In effeti non funziona :p :p :p :p :p
appena finito di studiare ci do n okkiata
Anche se a prima occhiata sembra non considerare lo spazio iniziale e il trattino, dovrebbe funzionare perfettamente. :)
#include <stdio.h>
#define TEXT1 "287D"
#define SUBTEXT1 "212D"
#define FILENAME "pippo.txt"
int confronta(FILE *f, int *j, char *text) {
int i;
char buf[1];
(*j) = 0;
for(i = 1; i < 4; i++) {
fread(buf, 1, 1, f);
(*j)++;
if(buf[0] == '\n') {
fread(buf, 1, 1, f);
(*j)++;
}
if(buf[0] != text[i]) {
return 0;
}
}
return 1;
}
void subst(FILE *f, int cchar, char text[5]) {
char buf[1];
int i = 0;
fseek(f, -(cchar+1), SEEK_CUR);
for (i = 0; i < cchar; i++) {
fread(buf, 1, 1, f);
if(buf[0] == '\n') {
fseek(f, -1, SEEK_CUR);
fwrite("\n", 1, 1, f);
}
else {
fseek(f, -1, SEEK_CUR);
}
fwrite(&text[i], 1, 1, f);
}
}
int main() {
char buf[1], bak[1];
int ret;
FILE *f;
f = fopen(FILENAME, "r+t");
ret = fread(buf, 1, 1, f);
bak[0] = '\0';
while(ret > 0) {
if (buf[0] == '2' && bak[0] == ' ') {
if(confronta(f, &ret, TEXT1) == 1) {
subst(f, ret, SUBTEXT1);
}
}
bak[0] = buf[0];
ret = fread(buf, 1, 1, f);
if(ret != 1) {
printf("\nEND OF FILE\n");
}
}
fclose(f);
return 0;
}
Cya!!!
file da 1 gigabyte elaborato (2 sostituzioni) in 6.3 secondi ! :D
e 10 righe di codice :D
Grazie Dun.
Con sed e altri comandi tipo unix avevo già provato...è una soluzione veloce, ma applicabile solo per files fino a qualche mega:poi si pianta per via della grande quantità di memoria richiesta:(
Sono sotto Win.
Le stringhe da sostituire hanno spazio a inizio e fine (spazio287Dspazio)o spazio a inizio e trattino alla fine (spazio287Dtrattino):questo è fondamentale!
Ma ricordo che il casino è che le stringhe da sostituire vengono telvolta spezzate (se si è alla fine degli 81 caratteri della riga):rolleyes:
Per a2000
Funziona davvero alla grande il tuo programmino se fa tutto e bene in 6.3 sec:eek:
Quando Matlab ci impiega circa 4/5 ore:mad:
mk
Lo spazio all'inizio e' calcolato...quello alla fine non dovrebbe disturbarti....e il trattino semplicmente non viene toccato nella sostituzione della stringa, quindi se non c'era non viene aggiunto, se invece c'era non viene toccato dalla sostituzione :)
Originariamente inviato da a2000
file da 1 gigabyte elaborato (2 sostituzioni) in 6.3 secondi ! :D
e 10 righe di codice :D
Fammi indovinare....Fortran?
Se 77 non e' che lo puoi postare che me lo studiando pian panello?
Hai già provato con un editor di testo avanzato, e con le regexp?
Mi ha detto un amico che SciTE (che uso correntemente) è un razzo a processare regexp, io però non ho mai provato.
Ok, non e' molto ottimizzato (leggi scritto alla cazzo) ma il suo dovere lo fa. Queste sonod elle prove con un file di testo creato ad hoc prima e dopo l'esecuzione:
[stefano@paranoia stefano]$ cat pippo.txt
13456287Dciao28
7Dciao28287Dciao
ciao 287D ciao
ciao 287Dciao
ciao 287D- ciao 28
7D ciao
ciao 287D
ciao
[stefano@paranoia stefano]$ cat pippo.txt
13456287Dciao28
7Dciao28287Dciao
ciao 212D ciao
ciao 287Dciao
ciao 212D- ciao 21
2D ciao
ciao 212D
ciao
[stefano@paranoia stefano]$
Ed eccco il codice del programma (viva i Workaround!!!) :D :D
#include <stdio.h>
#define TEXT1 "287D"
#define SUBTEXT1 "212D"
#define FILENAME "pippo.txt"
int confronta(FILE *f, int *j, char *text) {
int i;
char buf[1];
(*j) = 0;
for(i = 1; i < 4; i++) {
fread(buf, 1, 1, f);
(*j)++;
if(buf[0] == '\n') {
fread(buf, 1, 1, f);
(*j)++;
}
if(buf[0] != text[i]) {
return 0;
}
}
fread(buf, 1, 1, f);
(*j)++;
if(buf[0] == ' ' || buf[0] == '-') {
return 1;
}
//Caso che si vada capo e ce lo spazio
if(buf[0] == '\n') {
fread(buf, 1, 1, f);
(*j)++;
if (buf[0] == ' ' || buf[0] == '-') {
return 1;
}
}
return 0;
}
void subst(FILE *f, int cchar, char text[5]) {
char buf[1];
int i = 0;
fseek(f, -(cchar+1), SEEK_CUR);
for (i = 0; i < cchar; i++) {
fread(buf, 1, 1, f);
fseek(f, -1, SEEK_CUR);
if(buf[0] == '\n') {
fwrite("\n", 1, 1, f);
cchar--;
i--;
}
else {
fwrite(&text[i], 1, 1, f);
}
}
}
int main() {
char buf[1], bak[1];
int ret;
FILE *f;
f = fopen(FILENAME, "r+t");
ret = fread(buf, 1, 1, f);
bak[0] = '\0';
while(ret > 0) {
if (buf[0] == '2' && bak[0] == ' ') {
if(confronta(f, &ret, TEXT1) == 1) {
subst(f, ret, SUBTEXT1);
}
}
if (buf[0] != '\n') {
bak[0] = buf[0];
}
ret = fread(buf, 1, 1, f);
if(ret != 1) {
printf("\nEND OF FILE\n");
}
}
fclose(f);
return 0;
}
Astenetevi dal commentare il codice, e' n'ammasso di ripetizioni inutili :D :D :D
Originariamente inviato da Dun
Ok, non e' molto ottimizzato (leggi scritto alla cazzo) ma il suo dovere lo fa. ...
execution time for 1 Gb file, please :D
Ciao Dun,
i programmi che hai mandato scombinano la formattazione originale e quindi non raggiungono lo scopo:(
Allungano alcune righe e introducono alcuni ccaratteri assurdi...
Il files .fil di Abaqus è formato ASCII: forse questa informazione può essere utile.
Non so cosa sia sciTE: qualcuno mi sa dire dove posso documentarmi???
Anche se in realtà mi sembra che un eseguibile sia meglio....
Srano molto strano, sul tuo file di test esegue le sostituzioni perfettamente...non vorrei che ci fosse qualche magagna a proposito dei newline....prova il tutto sotto linux o unix se puoi....io non so che fare :) :)
update: forse che salvi il newline come su windows e quindi diverso da unix?
Come l'hai creato il file che hai uploadato?
Originariamente inviato da a2000
execution time for 1 Gb file, please :D
2 min 30 sec su un duron 800 con 20 GB hardisk (e il mio muletto da remoto :) ); adesso sono a 700 km da casa con un portatile ancora peggio...heeheheheh :D
Non metto in dubbio che tu sappia il fatto tuo ma un atteggiamento un filo piu' rispettoso e meno "sborone" verso chi chiede aiuto e chi prova a darglielo non guasterebbe mica sai? :)
Posta il codice che sembra che la tua versione sia l'unica funzionante plz :)
Magari se Fortran95 posta l'eseguibile anche. :)
Cya!
Originariamente inviato da Dun
Srano molto strano, sul tuo file di test esegue le sostituzioni perfettamente...non vorrei che ci fosse qualche magagna a proposito dei newline....prova il tutto sotto linux o unix se puoi....io non so che fare :) :)
update: forse che salvi il newline come su windows e quindi diverso da unix?
Come l'hai creato il file che hai uploadato?
Penso che il problema sia il '\n' che in windows non viene digerito come un a capo. Difatti se apri il file modificato con wordpad invece che con blocco note dovrebbe essere tutto apposto...sapete mica windows come gestisce i newline? Ovvero che carattere serve per scriverne uno in un file?
Allego le parti tradotte in maniera errata (con cambio di formattazione) :muro:
E grazie per l'aiuto!
;)
Per quanto riguarda il tempo sotto il quarto d'ora è già una favola!!!!!!
Se puoi uploada anche il pezzo che una volta convertito spagina, insomma l'originale :)
Per stasera spero di averci capito qsa in piu a proposito di sti newline.
Cya!!!
tel chì il fortran :D
Subroutine ppp3
Integer, Parameter :: II = 20
Character*(II*81) a; Character*(II*80+80) b
Integer ia1(1:II), ia2(1:II), ib1(0:II), ib2(0:II), stat(1:12), istat
Open (1, FILE = 'c:\temp\esempio2.txt', ACTION='READ' , FORM='BINARY')
Open (2, FILE = 'c:\temp\esempio2.out', ACTION='WRITE', FORM='BINARY')
istat = Fstat(1, stat)
ib1(0)=1;ib2(0)=80
Do i = 1, II
ia1(i)= 81*i-80; ia2(i)= ia1(i) + 79
ib1(i)= 80*i + 1; ib2(i)= ib1(i) + 79
End Do
Read (1) b(1:81)
Do k = 1, Int((stat(8)/81-1)/II)
Read (1) a
Do i = 1, II
b(ib1(i):ib2(i)) = a(ia1(i):ia2(i))
End Do
Call rep (b, ' 287D ', ' 212D ')
Call rep (b, ' 287D-', ' 212D-')
Do i = 1, II
a(ia1(i):ia2(i)) = b(ib1(i-1):ib2(i-1))
End Do
Write (2) a
b(1:80) = b(ib1(II):ib2(II))
End Do
Write (2) b(1:80)
End Subroutine
e per farvi divertire in diretta, ma più lentamente :oink: ... , vi mando la versione VBA :sborone:
Sub ppp3()
Const II% = 20, NC% = 81 * II
Dim a As String * NC, b As String, c As String, a1 As String * 81, i As Integer
c10 = Chr$(10)
Open [Foglio1].Range("NomeFileInp") For Binary As #1
Open [Foglio1].Range("NomeFileOut") For Binary As #2
Get #1, , a1
b = Left$(a1, 80)
Do Until EOF(1)
Get #1, , a
For i = 1 To NC Step 81
b = b & Mid$(a, i, 80)
Next i
rep b, " 287D ", " 212D "
rep b, " 287D-", " 212D-"
c = ""
For i = 1 To II * 80 Step 80
c = c & Mid$(b, i, 80) & c10
Next i
Put #2, , c
b = Right(b, 80)
Loop
Put #2, , b
Close
End Sub
è vero che si somigliano come padre e figlio ? :friend: :D :sborone:
Originariamente inviato da cumel
Per quanto riguarda il tempo sotto il quarto d'ora è già una favola!!!!!!
allora ti basta la versione in VBA-excel pronta per l'uso :)
u piccolo estratto.
prima:
*I 19I 41921A6.4-1 A10-Jul-2A004 A10:49:54I 220I 260D 2.833333333333334D+0
0*I 212I 41900I 216AC3D8 I 214I 213I 223I 230I 239I 240I 241I 242*I 212I 4190
0I 217AC3D8 I 230I 223I 224I 229I 242I 241I 243I 244*I 212I 41900I 218AC3D8
I 229I 224I 225I 228I 244I 243I 245I 246*I 212I 41900I 219AC3D8 I 228I 225I
226I 227I 246I 245I 247I 248*I 212I 41900I 220AC3D8 I 227I 226I 212I 211I 24
8I 247I 249I 250*I 212I 41900I 221AC3D8 I 239I 240I 241I 242I 19I 18I 234I 23
5*I 212I 41900I 222AC3D8 I 242I 241I 243I 244I 235I 234I 233I 236*I 212I 4190
0I 223AC3D8 I 244I 243I 245I 246I 236I 233I 232I 237*I 212I 41900I 224AC3D8
I 246I 245I 247I 248I 237I 232I 231I 238*I 212I 41900I 225AC3D8 I 248I 247I
249I 250I 238I 231I 17I 210*I 212I 41900I 236AC3D8 I 258I 259I 266I 257I 275
I 278I 277I 276*I 212I 41900I 237AC3D8 I 259I 260I 265I 266I 278I 280I 279I 2
77*I 212I 41900I 238AC3D8 I 260I 261I 264I 265I 280I 282I 281I 279*I 212I 419
00I 239AC3D8 I 261I 262I 263I 264I 282I 284I 283I 281*I 212I 41900I 240AC3D8
I 262I 252I 251I 263I 284I 286I 285I 283*I 212I 41900I 241AC3D8 I 275I 278
I 277I 276I 19I 235I 234I 18*I 212I 41900I 242AC3D8 I 278I 280I 279I 277I 235
I 236I 233I 234*I 212I 41900I 243AC3D8 I 280I 282I 281I 279I 236I 237I 232I 2
33*I 212I 41900I 244AC3D8 I 282I 284I 283I 281I 237I 238I 231I 232*I 212I 419
00I 245AC3D8 I 284I 286I 285I 283I 238I 210I 17I 231*I 16I 41901I 17D 0.00000
0000000000D+00D 0.000000000000000D+00D 0.000000000000000D+00*I 16I 41901I 18D 1.
000000000000000D+01D 0.000000000000000D+00D 0.000000000000000D+00*I 16I 41901I 1
9D 1.000000000000000D+01D 5.000000000000000D+00D 0.000000000000000D+00*I 16I 419
01I 210D 0.000000000000000D+00D 5.000000000000000D+00D 0.000000000000000D+00*I 1
6I 41901I 211D 0.000000000000000D+00D 5.000000000000000D+00D 3.000000000000000D+
00*I 16I 41901I 212D 0.000000000000000D+00D 0.000000000000000D+00D 3.00000000000
0000D+00*I 16I 41901I 213D 1.000000000000000D+01D 0.000000000000000D+00D 3.00000
0000000000D+00*I 16I 41901I 214D 1.000000000000000D+01D 5.000000000000000D+00D 3
.000000000000000D+00*I 16I 41901I 223D 8.000000000000000D+00D 0.000000000000000D
+00D 3.000000000000000D+00*I 16I 41901I 224D 6.000000000000000D+00D 0.0000000000
00000D+00D 3.000000000000000D+00*I 16I 41901I 225D 4.000000000000000D+00D 0.0000
00000000000D+00D 3.000000000000000D+00*I 16I 41901I 226D 2.000000000000000D+00D
0.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 227D 2.000000000000000
D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 228D 4.000000000
000000D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 229D 6.000
000000000000D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 230D
8.000000000000000D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901
I 231D 2.000000000000000D+00D 0.000000000000000D+00D 0.000000000000000D+00*I 16I
41901I 232D 4.000000000000000D+00D 0.000000000000000D+00D 0.000000000000000D+00
*I 16I 41901I 233D 6.000000000000000D+00D 0.000000000000000D+00D 0.0000000000000
00D+00*I 16I 41901I 234D 8.000000000000000D+00D 0.000000000000000D+00D 0.0000000
00000000D+00*I 16I 41901I 235D 8.000000000000000D+00D 5.000000000000000D+00D 0.0
00000000000000D+00*I 16I 41901I 236D 6.000000000000000D+00D 5.000000000000000D+0
0D 0.000000000000000D+00*I 16I 41901I 237D 4.000000000000000D+00D 5.000000000000
000D+00D 0.000000000000000D+00*I 16I 41901I 238D 2.000000000000000D+00D 5.000000
000000000D+00D 0.000000000000000D+00*I 16I 41901I 239D 1.000000000000000D+01D 5.
000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 240D 1.000000000000000D+
01D 0.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 241D 8.00000000000
0000D+00D 0.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 242D 8.00000
0000000000D+00D 5.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 243D 6
.000000000000000D+00D 0.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I
244D 6.000000000000000D+00D 5.000000000000000D+00D 1.500000000000000D+00*I 16I 4
1901I 245D 4.000000000000000D+00D 0.000000000000000D+00D 1.500000000000000D+00*I
16I 41901I 246D 4.000000000000000D+00D 5.000000000000000D+00D 1.500000000000000
D+00*I 16I 41901I 247D 2.000000000000000D+00D 0.000000000000000D+00D 1.500000000
000000D+00*I 16I 41901I 248D 2.000000000000000D+00D 5.000000000000000D+00D 1.500
000000000000D+00*I 16I 41901I 249D 0.000000000000000D+00D 0.000000000000000D+00D
1.500000000000000D+00*I 16I 41901I 250D 0.000000000000000D+00D 5.00000000000000
0D+00D 1.500000000000000D+00*I 16I 41901I 251D-3.673940400000000D-16D 0.00000000
0000000D+00D-3.000000000000000D+00*I 16I 41901I 252D-3.673940400000000D-16D 5.00
0000000000000D+00D-3.000000000000000D+00*I 16I 41901I 257D 1.000000000000000D+01
D 0.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 258D 1.0000000000000
00D+01D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 259D 8.0000000
00000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 260D 6.0
00000000000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 26
1D 4.000000000000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 419
01I 262D 2.000000000000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 1
6I 41901I 263D 2.000000000000000D+00D 0.000000000000000D+00D-3.000000000000000D+
00*I 16I 41901I 264D 4.000000000000000D+00D 0.000000000000000D+00D-3.00000000000
0000D+00*I 16I 41901I 265D 6.000000000000000D+00D 0.000000000000000D+00D-3.00000
0000000000D+00*I 16I 41901I 266D 8.000000000000000D+00D 0.000000000000000D+00D-3
.000000000000000D+00*I 16I 41901I 275D 1.000000000000000D+01D 5.000000000000000D
+00D-1.500000000000000D+00*I 16I 41901I 276D 1.000000000000000D+01D 0.0000000000
00000D+00D-1.500000000000000D+00*I 16I 41901I 277D 8.000000000000000D+00D 0.0000
00000000000D+00D-1.500000000000000D+00*I 16I 41901I 278D 8.000000000000000D+00D
5.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 279D 6.000000000000000
D+00D 0.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 280D 6.000000000
000000D+00D 5.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 281D 4.000
000000000000D+00D 0.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 282D
4.000000000000000D+00D 5.000000000000000D+00D-1.500000000000000D+00*I 16I 41901
I 283D 2.000000000000000D+00D 0.000000000000000D+00D-1.500000000000000D+00*I 16I
41901I 284D 2.000000000000000D+00D 5.000000000000000D+00D-1.500000000000000D+00
*I 16I 41901I 285D-1.836970200000000D-16D 0.000000000000000D+00D-1.5000000000000
00D+00*I 16I 41901I 286D-1.836970200000000D-16D 5.000000000000000D+00D-1.5000000
00000000D+00*I 223I 41933ATUTTI I 216I 217I 218I 219I 220I 221I 222I 223I 224I
225I 236I 237I 238I 239I 240I 241I 242I 243I 244I 245*I 213I 41931A 1I 17
I 210I 211I 212I 249I 250I 251I 252I 285I 286*I 14I 41931ACARICATOI 257*I 15I 41
940I 11AINCASTRAATI *I 15I 41940I 12AO+00SD3AA01 *I 15I 41940I 13AO+45
SD3AA01 *I 232I 41902I 11I 12I 13I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I
10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10*I 212I 41922A
TEST MICAHELE A A A A A A A
A *I 12I 42001
*I 223I 42000D 1.000000000000000D+01D 1.000000000000000D+01D 0.000000000000000D+
00D 0.000000000000000D+00I 12I 11I 210I 10D 0.000000000000000D+00D 0.00000000000
0000D+00D 1.000000000000000D+00A A A A A A
A A A A *I 15I 41911I 10A AC3D8 *I 21
1I 11I 216I 10I 11I 11A I 13I 13I 10I 10*I 16I 287D 1.252133247944096D+01
D 1.264693096023671D+01D 1.260926173724633D+01D 1.000000000000000D+00*I 211I 11I
216I 10I 12I 11A I 13I 13I 10I 10*I 16I 287D 1.075975470521950D+01D 1.08
6800608403033D+01D 1.084541802783903D+01D 1.000000000000000D+00*I 211I 11I 216I
10I 13I 11A I 13I 13I 10I 10*I 16I 287D 9.276196888302765D+00D 9.38187561
4284739D+00D 9.364328794090027D+00D 1.000000000000000D+00*I 211I 11I 216I 10I 14
I 11A I 13I 13I 10I 10*I 16I 287D 1.272685180570851D+03D 2.18526560197571
0D+03D 1.273626774833576D+03D 1.000000000000000D+00*I 211I 11I 216I 10I 15I 11A
I 13I 13I 10I 10*I 16I 287D 1.265392159967815D+03D 1.927193482691140D+03D
1.266174115920064D+03D 1.000000000000000D+00*I 211I 11I 216I 10I 16I 11A
I 13I 13I 10I 10*I 16I 287D 1.329811642974873D+03D 1.870770825196809D+03D 1.330
473351749864D+03D 1.000000000000000D+00*I 211I 11I 217I 10I 11I 11A I 13I
13I 10I 10*I 16I 287D 2.425100835349823D+02D 2.461501639833972D+02D 2.432208102
862489D+02D 1.000000000000000D+00*I 211I 11I 217I 10I 12I 11A I 13I 13I 1
0I 10*I 16I 287D 1.897696883824362D+02D 1.925699666626742D+02D 1.902107518419512
D+02D 1.000000000000000D+00*I 211I 11I 217I 10I 13I 11A I 13I 13I 10I 10*
I 16I 287D 1.438190272995430D+02D 1.458796849706250D+02D 1.440286336361227D+02D
1.000000000000000D+00*I 211I 11I 217I 10I 14I 11A I 13I 13I 10I 10*I 16I
287D 1.091218330791569D+04D 1.256511616914678D+04D 1.091390367626052D+04D 1.0000
00000000000D+00*I 211I 11I 217I 10I 15I 11A I 13I 13I 10I 10*I 16I 287D 8
.857662187391918D+03D 9.164192431482366D+03D 8.852694928587444D+03D 1.0000000000
00000D+00*I 211I 11I 217I 10I 16I 11A I 13I 13I 10I 10*I 16I 287D 7.53335
5722701669D+03D 6.889510370669940D+03D 7.523009007540061D+03D 1.000000000000000D
+00*I 211I 11I 218I 10I 11I 11A I 13I 13I 10I 10*I 16I 287D 5.09851932737
9388D+02D 5.252021937218986D+02D 5.117746156613456D+02D 1.000000000000000D+00*I
211I 11I 218I 10I 12I 11A I 13I 13I 10I 10*I 16I 287D 3.677029375273236D+
02D 3.790520980104245D+02D 3.684121919534740D+02D 1.000000000000000D+00*I 211I 1
1I 218I 10I 13I 11A I 13I 13I 10I 10*I 16I 287D 2.492670539852730D+02D 2.
570464465098633D+02D 2.489399120890536D+02D 1.000000000000000D+00*I 211I 11I 218
I 10I 14I 11A I 13I 13I 10I 10*I 16I 287D 3.911034746744942D+04D 3.522845
144151446D+04D 3.904309394916631D+04D 1.000000000000000D+00*I 211I 11I 218I 10I
15I 11A I 13I 13I 10I 10*I 16I 287D 3.306184121785664D+04D 2.603444515259
738D+04D 3.298241122982517D+04D 1.000000000000000D+00*I 211I 11I 218I 10I 16I 11
A I 13I 13I 10I 10*I 16I 287D 2.965276875554819D+04D 1.864414909514057D+0
4D 2.956567535954178D+04D 1.000000000000000D+00*I 211I 11I 219I 10I 11I 11A
I 13I 13I 10I 10*I 16I 287D 6.292237289917431D+02D 6.681386290103142D+02D 6.3
64177689786391D+02D 1.000000000000000D+00*I 211I 11I 219I 10I 12I 11A I 1
3I 13I 10I 10*I 16I 287D 4.388847949791996D+02D 4.681332611176472D+02D 4.4296030
69502929D+02D 1.000000000000000D+00*I 211I 11I 219I 10I 13I 11A I 13I 13I
10I 10*I 16I 287D 2.838677559494315D+02D 3.045098761771176D+02D 2.8528504778770
34D+02D 1.000000000000000D+00*I 211I 11I 219I 10I 14I 11A I 13I 13I 10I 1
0*I 16I 287D 9.698118114915473D+04D 8.173787460414622D+04D 9.682793897532363D+04
D 1.000000000000000D+00*I 211I 11I 219I 10I 15I 11A I 13I 13I 10I 10*I 16
I 287D 8.049568701410503D+04D 5.917205884050273D+04D 8.033244344317287D+04D 1.00
0000000000000D+00*I 211I 11I 219I 10I 16I 11A I 13I 13I 10I 10*I 16I 287D
6.954847045384214D+04D 4.104365321372485D+04D 6.938171146381168D+04D 1.00000000
0000000D+00*I 211I 11I 220I 10I 11I 11A I 13I 13I 10I 10*I 16I 287D 6.377
633190890744D+02D 6.796806356818455D+02D 6.353310741449304D+02D 1.00000000000000
0D+00*I 211I 11I 220I 10I 12I 11A I 13I 13I 10I 10*I 16I 287D 4.701705921
563997D+02D 4.981872647809328D+02D 4.641821828807941D+02D 1.000000000000000D+00*
I 211I 11I 220I 10I 13I 11A I 13I 13I 10I 10*I 16I 287D 3.298835782984527
D+02D 3.463071768076187D+02D 3.210792407906402D+02D 1.000000000000000D+00*I 211I
11I 220I 10I 14I 11A I 13I 13I 10I 10*I 16I 287D 1.652403447773721D+05D
9.527457403272995D+04D 1.648043123251104D+05D 1.000000000000000D+00*I 211I 11I 2
20I 10I 15I 11A I 13I 13I 10I 10*I 16I 287D 1.413689958681685D+05D 6.6327
08995043214D+04D 1.409473496068081D+05D 1.000000000000000D+00*I 211I 11I 220I 10
I 16I 11A I 13I 13I 10I 10*I 16I 287D 1.251961974583185D+05D 4.4487478972
15409D+04D 1.247926940845340D+05D 1.000000000000000D+00*I 211I 11I 221I 10I 11I
11A I 13I 13I 10I 10*I 16I 287D 7.672897250038353D+00D 7.444687037569669D
+00D 7.539817627866216D+00D 1.000000000000000D+00*I 211I 11I 221I 10I 12I 11A
I 13I 13I 10I 10*I 16I 287D 1.321597229045435D+01D 1.321164219375975D+01D 1
.322202042502359D+01D 1.000000000000000D+00*I 211I 11I 221I 10I 13I 11A I
13I 13I 10I 10*I 16I 287D 2.085101980132786D+01D 2.124918771170143D+01D 2.10525
9086972708D+01D 1.000000000000000D+00*I 211I 11I 221I 10I 14I 11A I 13I 1
3I 10I 10*I 16I 287D 5.449496064993695D+03D 1.358376967035650D+04D 5.44909917303
3025D+03D 1.000000000000000D+00*I 211I 11I 221I 10I 15I 11A I 13I 13I 10I
10*I 16I 287D 7.548180431967574D+03D 1.783868755060465D+04D 7.550834215011985D+
03D 1.000000000000000D+00*I 211I 11I 221I 10I 16I 11A I 13I 13I 10I 10*I
16I 287D 1.044791447439485D+04D 2.407238773374445D+04D 1.045382398980673D+04D 1.
000000000000000D+00*I 211I 11I 222I 10I 11I 11A I 13I 13I 10I 10*I 16I 28
7D 7.085428432826876D+01D 7.205110988615119D+01D 7.123840119592453D+01D 1.000000
000000000D+00*I 211I 11I 222I 10I 12I 11A I 13I 13I 10I 10*I 16I 287D 5.9
11154195891962D+01D 5.977322044831701D+01D 5.930014666629282D+01D 1.000000000000
000D+00*I 211I 11I 222I 10I 13I 11A I 13I 13I 10I 10*I 16I 287D 4.8786006
87237368D+01D 4.903330590602293D+01D 4.882451991081456D+01D 1.000000000000000D+0
0*I 211I 11I 222I 10I 14I 11A I 13I 13I 10I 10*I 16I 287D 3.9227594067336
57D+03D 8.102307678697830D+03D 3.923983662429981D+03D 1.000000000000000D+00*I 21
1I 11I 222I 10I 15I 11A I 13I 13I 10I 10*I 16I 287D 2.618426612179088D+03
D 5.929198062350195D+03D 2.618646772181036D+03D 1.000000000000000D+00*I 211I 11I
222I 10I 16I 11A I 13I 13I 10I 10*I 16I 287D 1.769370274571107D+03D 4.28
9326568870585D+03D 1.768805278187510D+03D 1.000000000000000D+00*I 211I 11I 223I
10I 11I 11A I 13I 13I 10I 10*I 16I 287D 7.609364421899858D+01D 8.01778112
0298149D+01D 7.735914558101138D+01D 1.000000000000000D+00*I 211I 11I 223I 10I 12
I 11A I 13I 13I 10I 10*I 16I 287D 4.632605892421419D+01D 4.84779552756249
7D+01D 4.690212783245915D+01D 1.000000000000000D+00*I 211I 11I 223I 10I 13I 11A
I 13I 13I 10I 10*I 16I 287D 2.404654577069037D+01D 2.473270803085783D+01D
2.413522270285180D+01D 1.000000000000000D+00*I 211I 11I 223I 10I 14I 11A
I 13I 13I 10I 10*I 16I 287D 5.062409242075708D+03D 4.627598298448942D+03D 5.055
283571163938D+03D 1.000000000000000D+00*I 211I 11I 223I 10I 15I 11A I 13I
13I 10I 10*I 16I 287D 2.441567383878231D+03D 1.549349775140781D+03D 2.433597822
837767D+03D 1.000000000000000D+00*I 211I 11I 223I 10I 16I 11A I 13I 13I 1
0I 10*I 16I 287D 1.851636001987176D+03D 3.474031930598503D+02D 1.844053345359620
D+03D 1.000000000000000D+00*I 211I 11I 224I 10I 11I 11A I 13I 13I 10I 10*
I 16I 287D 6.781806164785747D+01D 7.723897812507950D+01D 7.057112694061571D+01D
e dopo:
*I 19I 41921A6.4-1 A10-Jul-2A004 A10:49:54I 220I 260D 2.833333333333334D+0
0*I 212I 41900I 216AC3D8 I 214I 213I 223I 230I 239I 240I 241I 242*I 212I 4190
0I 217AC3D8 I 230I 223I 224I 229I 242I 241I 243I 244*I 212I 41900I 218AC3D8
I 229I 224I 225I 228I 244I 243I 245I 246*I 212I 41900I 219AC3D8 I 228I 225I
226I 227I 246I 245I 247I 248*I 212I 41900I 220AC3D8 I 227I 226I 212I 211I 24
8I 247I 249I 250*I 212I 41900I 221AC3D8 I 239I 240I 241I 242I 19I 18I 234I 23
5*I 212I 41900I 222AC3D8 I 242I 241I 243I 244I 235I 234I 233I 236*I 212I 4190
0I 223AC3D8 I 244I 243I 245I 246I 236I 233I 232I 237*I 212I 41900I 224AC3D8
I 246I 245I 247I 248I 237I 232I 231I 238*I 212I 41900I 225AC3D8 I 248I 247I
249I 250I 238I 231I 17I 210*I 212I 41900I 236AC3D8 I 258I 259I 266I 257I 275
I 278I 277I 276*I 212I 41900I 237AC3D8 I 259I 260I 265I 266I 278I 280I 279I 2
77*I 212I 41900I 238AC3D8 I 260I 261I 264I 265I 280I 282I 281I 279*I 212I 419
00I 239AC3D8 I 261I 262I 263I 264I 282I 284I 283I 281*I 212I 41900I 240AC3D8
I 262I 252I 251I 263I 284I 286I 285I 283*I 212I 41900I 241AC3D8 I 275I 278
I 277I 276I 19I 235I 234I 18*I 212I 41900I 242AC3D8 I 278I 280I 279I 277I 235
I 236I 233I 234*I 212I 41900I 243AC3D8 I 280I 282I 281I 279I 236I 237I 232I 2
33*I 212I 41900I 244AC3D8 I 282I 284I 283I 281I 237I 238I 231I 232*I 212I 419
00I 245AC3D8 I 284I 286I 285I 283I 238I 210I 17I 231*I 16I 41901I 17D 0.00000
0000000000D+00D 0.000000000000000D+00D 0.000000000000000D+00*I 16I 41901I 18D 1.
000000000000000D+01D 0.000000000000000D+00D 0.000000000000000D+00*I 16I 41901I 1
9D 1.000000000000000D+01D 5.000000000000000D+00D 0.000000000000000D+00*I 16I 419
01I 210D 0.000000000000000D+00D 5.000000000000000D+00D 0.000000000000000D+00*I 1
6I 41901I 211D 0.000000000000000D+00D 5.000000000000000D+00D 3.000000000000000D+
00*I 16I 41901I 212D 0.000000000000000D+00D 0.000000000000000D+00D 3.00000000000
0000D+00*I 16I 41901I 213D 1.000000000000000D+01D 0.000000000000000D+00D 3.00000
0000000000D+00*I 16I 41901I 214D 1.000000000000000D+01D 5.000000000000000D+00D 3
.000000000000000D+00*I 16I 41901I 223D 8.000000000000000D+00D 0.000000000000000D
+00D 3.000000000000000D+00*I 16I 41901I 224D 6.000000000000000D+00D 0.0000000000
00000D+00D 3.000000000000000D+00*I 16I 41901I 225D 4.000000000000000D+00D 0.0000
00000000000D+00D 3.000000000000000D+00*I 16I 41901I 226D 2.000000000000000D+00D
0.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 227D 2.000000000000000
D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 228D 4.000000000
000000D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 229D 6.000
000000000000D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901I 230D
8.000000000000000D+00D 5.000000000000000D+00D 3.000000000000000D+00*I 16I 41901
I 231D 2.000000000000000D+00D 0.000000000000000D+00D 0.000000000000000D+00*I 16I
41901I 232D 4.000000000000000D+00D 0.000000000000000D+00D 0.000000000000000D+00
*I 16I 41901I 233D 6.000000000000000D+00D 0.000000000000000D+00D 0.0000000000000
00D+00*I 16I 41901I 234D 8.000000000000000D+00D 0.000000000000000D+00D 0.0000000
00000000D+00*I 16I 41901I 235D 8.000000000000000D+00D 5.000000000000000D+00D 0.0
00000000000000D+00*I 16I 41901I 236D 6.000000000000000D+00D 5.000000000000000D+0
0D 0.000000000000000D+00*I 16I 41901I 237D 4.000000000000000D+00D 5.000000000000
000D+00D 0.000000000000000D+00*I 16I 41901I 238D 2.000000000000000D+00D 5.000000
000000000D+00D 0.000000000000000D+00*I 16I 41901I 239D 1.000000000000000D+01D 5.
000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 240D 1.000000000000000D+
01D 0.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 241D 8.00000000000
0000D+00D 0.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 242D 8.00000
0000000000D+00D 5.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I 243D 6
.000000000000000D+00D 0.000000000000000D+00D 1.500000000000000D+00*I 16I 41901I
244D 6.000000000000000D+00D 5.000000000000000D+00D 1.500000000000000D+00*I 16I 4
1901I 245D 4.000000000000000D+00D 0.000000000000000D+00D 1.500000000000000D+00*I
16I 41901I 246D 4.000000000000000D+00D 5.000000000000000D+00D 1.500000000000000
D+00*I 16I 41901I 247D 2.000000000000000D+00D 0.000000000000000D+00D 1.500000000
000000D+00*I 16I 41901I 212D 2.000000000000000D+00D 5.000000000000000D+00D 1.500
000000000000D+00*I 16I 41901I 249D 0.000000000000000D+00D 0.000000000000000D+00D
1.500000000000000D+00*I 16I 41901I 250D 0.000000000000000D+00D 5.00000000000000
0D+00D 1.500000000000000D+00*I 16I 41901I 251D-3.673940400000000D-16D 0.00000000
0000000D+00D-3.000000000000000D+00*I 16I 41901I 252D-3.673940400000000D-16D 5.00
0000000000000D+00D-3.000000000000000D+00*I 16I 41901I 257D 1.000000000000000D+01
D 0.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 258D 1.0000000000000
00D+01D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 259D 8.0000000
00000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 260D 6.0
00000000000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 41901I 26
1D 4.000000000000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 16I 419
01I 262D 2.000000000000000D+00D 5.000000000000000D+00D-3.000000000000000D+00*I 1
6I 41901I 263D 2.000000000000000D+00D 0.000000000000000D+00D-3.000000000000000D+
00*I 16I 41901I 264D 4.000000000000000D+00D 0.000000000000000D+00D-3.00000000000
0000D+00*I 16I 41901I 265D 6.000000000000000D+00D 0.000000000000000D+00D-3.00000
0000000000D+00*I 16I 41901I 266D 8.000000000000000D+00D 0.000000000000000D+00D-3
.000000000000000D+00*I 16I 41901I 275D 1.000000000000000D+01D 5.000000000000000D
+00D-1.500000000000000D+00*I 16I 41901I 276D 1.000000000000000D+01D 0.0000000000
00000D+00D-1.500000000000000D+00*I 16I 41901I 277D 8.000000000000000D+00D 0.0000
00000000000D+00D-1.500000000000000D+00*I 16I 41901I 278D 8.000000000000000D+00D
5.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 279D 6.000000000000000
D+00D 0.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 280D 6.000000000
000000D+00D 5.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 281D 4.000
000000000000D+00D 0.000000000000000D+00D-1.500000000000000D+00*I 16I 41901I 282D
4.000000000000000D+00D 5.000000000000000D+00D-1.500000000000000D+00*I 16I 41901
I 283D 2.000000000000000D+00D 0.000000000000000D+00D-1.500000000000000D+00*I 16I
41901I 284D 2.000000000000000D+00D 5.000000000000000D+00D-1.500000000000000D+00
*I 16I 41901I 285D-1.836970200000000D-16D 0.000000000000000D+00D-1.5000000000000
00D+00*I 16I 41901I 286D-1.836970200000000D-16D 5.000000000000000D+00D-1.5000000
00000000D+00*I 223I 41933ATUTTI I 216I 217I 218I 219I 220I 221I 222I 223I 224I
225I 236I 237I 238I 239I 240I 241I 242I 243I 244I 245*I 213I 41931A 1I 17
I 210I 211I 212I 249I 250I 251I 252I 285I 286*I 14I 41931ACARICATOI 257*I 15I 41
940I 11AINCASTRAATI *I 15I 41940I 12AO+00SD3AA01 *I 15I 41940I 13AO+45
SD3AA01 *I 232I 41902I 11I 12I 13I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I
10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10I 10*I 212I 41922A
TEST MICAHELE A A A A A A A
A *I 12I 42001
*I 223I 42000D 1.000000000000000D+01D 1.000000000000000D+01D 0.000000000000000D+
00D 0.000000000000000D+00I 12I 11I 210I 10D 0.000000000000000D+00D 0.00000000000
0000D+00D 1.000000000000000D+00A A A A A A
A A A A *I 15I 41911I 10A AC3D8 *I 21
1I 11I 216I 10I 11I 11A I 13I 13I 10I 10*I 16I 212D 1.252133247944096D+01
D 1.264693096023671D+01D 1.260926173724633D+01D 1.000000000000000D+00*I 211I 11I
216I 10I 12I 11A I 13I 13I 10I 10*I 16I 212D 1.075975470521950D+01D 1.08
6800608403033D+01D 1.084541802783903D+01D 1.000000000000000D+00*I 211I 11I 216I
10I 13I 11A I 13I 13I 10I 10*I 16I 212D 9.276196888302765D+00D 9.38187561
4284739D+00D 9.364328794090027D+00D 1.000000000000000D+00*I 211I 11I 216I 10I 14
I 11A I 13I 13I 10I 10*I 16I 212D 1.272685180570851D+03D 2.18526560197571
0D+03D 1.273626774833576D+03D 1.000000000000000D+00*I 211I 11I 216I 10I 15I 11A
I 13I 13I 10I 10*I 16I 212D 1.265392159967815D+03D 1.927193482691140D+03D
1.266174115920064D+03D 1.000000000000000D+00*I 211I 11I 216I 10I 16I 11A
I 13I 13I 10I 10*I 16I 212D 1.329811642974873D+03D 1.870770825196809D+03D 1.330
473351749864D+03D 1.000000000000000D+00*I 211I 11I 217I 10I 11I 11A I 13I
13I 10I 10*I 16I 212D 2.425100835349823D+02D 2.461501639833972D+02D 2.432208102
862489D+02D 1.000000000000000D+00*I 211I 11I 217I 10I 12I 11A I 13I 13I 1
0I 10*I 16I 212D 1.897696883824362D+02D 1.925699666626742D+02D 1.902107518419512
D+02D 1.000000000000000D+00*I 211I 11I 217I 10I 13I 11A I 13I 13I 10I 10*
I 16I 212D 1.438190272995430D+02D 1.458796849706250D+02D 1.440286336361227D+02D
1.000000000000000D+00*I 211I 11I 217I 10I 14I 11A I 13I 13I 10I 10*I 16I
212D 1.091218330791569D+04D 1.256511616914678D+04D 1.091390367626052D+04D 1.0000
00000000000D+00*I 211I 11I 217I 10I 15I 11A I 13I 13I 10I 10*I 16I 212D 8
.857662187391918D+03D 9.164192431482366D+03D 8.852694928587444D+03D 1.0000000000
00000D+00*I 211I 11I 217I 10I 16I 11A I 13I 13I 10I 10*I 16I 212D 7.53335
5722701669D+03D 6.889510370669940D+03D 7.523009007540061D+03D 1.000000000000000D
+00*I 211I 11I 218I 10I 11I 11A I 13I 13I 10I 10*I 16I 212D 5.09851932737
9388D+02D 5.252021937218986D+02D 5.117746156613456D+02D 1.000000000000000D+00*I
211I 11I 218I 10I 12I 11A I 13I 13I 10I 10*I 16I 212D 3.677029375273236D+
02D 3.790520980104245D+02D 3.684121919534740D+02D 1.000000000000000D+00*I 211I 1
1I 218I 10I 13I 11A I 13I 13I 10I 10*I 16I 212D 2.492670539852730D+02D 2.
570464465098633D+02D 2.489399120890536D+02D 1.000000000000000D+00*I 211I 11I 218
I 10I 14I 11A I 13I 13I 10I 10*I 16I 212D 3.911034746744942D+04D 3.522845
144151446D+04D 3.904309394916631D+04D 1.000000000000000D+00*I 211I 11I 218I 10I
15I 11A I 13I 13I 10I 10*I 16I 212D 3.306184121785664D+04D 2.603444515259
738D+04D 3.298241122982517D+04D 1.000000000000000D+00*I 211I 11I 218I 10I 16I 11
A I 13I 13I 10I 10*I 16I 212D 2.965276875554819D+04D 1.864414909514057D+0
4D 2.956567535954178D+04D 1.000000000000000D+00*I 211I 11I 219I 10I 11I 11A
I 13I 13I 10I 10*I 16I 212D 6.292237289917431D+02D 6.681386290103142D+02D 6.3
64177689786391D+02D 1.000000000000000D+00*I 211I 11I 219I 10I 12I 11A I 1
3I 13I 10I 10*I 16I 212D 4.388847949791996D+02D 4.681332611176472D+02D 4.4296030
69502929D+02D 1.000000000000000D+00*I 211I 11I 219I 10I 13I 11A I 13I 13I
10I 10*I 16I 212D 2.838677559494315D+02D 3.045098761771176D+02D 2.8528504778770
34D+02D 1.000000000000000D+00*I 211I 11I 219I 10I 14I 11A I 13I 13I 10I 1
0*I 16I 212D 9.698118114915473D+04D 8.173787460414622D+04D 9.682793897532363D+04
D 1.000000000000000D+00*I 211I 11I 219I 10I 15I 11A I 13I 13I 10I 10*I 16
I 212D 8.049568701410503D+04D 5.917205884050273D+04D 8.033244344317287D+04D 1.00
0000000000000D+00*I 211I 11I 219I 10I 16I 11A I 13I 13I 10I 10*I 16I 212D
6.954847045384214D+04D 4.104365321372485D+04D 6.938171146381168D+04D 1.00000000
0000000D+00*I 211I 11I 220I 10I 11I 11A I 13I 13I 10I 10*I 16I 212D 6.377
633190890744D+02D 6.796806356818455D+02D 6.353310741449304D+02D 1.00000000000000
0D+00*I 211I 11I 220I 10I 12I 11A I 13I 13I 10I 10*I 16I 212D 4.701705921
563997D+02D 4.981872647809328D+02D 4.641821828807941D+02D 1.000000000000000D+00*
I 211I 11I 220I 10I 13I 11A I 13I 13I 10I 10*I 16I 212D 3.298835782984527
D+02D 3.463071768076187D+02D 3.210792407906402D+02D 1.000000000000000D+00*I 211I
11I 220I 10I 14I 11A I 13I 13I 10I 10*I 16I 212D 1.652403447773721D+05D
9.527457403272995D+04D 1.648043123251104D+05D 1.000000000000000D+00*I 211I 11I 2
20I 10I 15I 11A I 13I 13I 10I 10*I 16I 212D 1.413689958681685D+05D 6.6327
08995043214D+04D 1.409473496068081D+05D 1.000000000000000D+00*I 211I 11I 220I 10
I 16I 11A I 13I 13I 10I 10*I 16I 212D 1.251961974583185D+05D 4.4487478972
15409D+04D 1.247926940845340D+05D 1.000000000000000D+00*I 211I 11I 221I 10I 11I
11A I 13I 13I 10I 10*I 16I 212D 7.672897250038353D+00D 7.444687037569669D
+00D 7.539817627866216D+00D 1.000000000000000D+00*I 211I 11I 221I 10I 12I 11A
I 13I 13I 10I 10*I 16I 212D 1.321597229045435D+01D 1.321164219375975D+01D 1
.322202042502359D+01D 1.000000000000000D+00*I 211I 11I 221I 10I 13I 11A I
13I 13I 10I 10*I 16I 212D 2.085101980132786D+01D 2.124918771170143D+01D 2.10525
9086972708D+01D 1.000000000000000D+00*I 211I 11I 221I 10I 14I 11A I 13I 1
3I 10I 10*I 16I 212D 5.449496064993695D+03D 1.358376967035650D+04D 5.44909917303
3025D+03D 1.000000000000000D+00*I 211I 11I 221I 10I 15I 11A I 13I 13I 10I
10*I 16I 212D 7.548180431967574D+03D 1.783868755060465D+04D 7.550834215011985D+
03D 1.000000000000000D+00*I 211I 11I 221I 10I 16I 11A I 13I 13I 10I 10*I
16I 212D 1.044791447439485D+04D 2.407238773374445D+04D 1.045382398980673D+04D 1.
000000000000000D+00*I 211I 11I 222I 10I 11I 11A I 13I 13I 10I 10*I 16I 21
2D 7.085428432826876D+01D 7.205110988615119D+01D 7.123840119592453D+01D 1.000000
000000000D+00*I 211I 11I 222I 10I 12I 11A I 13I 13I 10I 10*I 16I 212D 5.9
11154195891962D+01D 5.977322044831701D+01D 5.930014666629282D+01D 1.000000000000
000D+00*I 211I 11I 222I 10I 13I 11A I 13I 13I 10I 10*I 16I 212D 4.8786006
87237368D+01D 4.903330590602293D+01D 4.882451991081456D+01D 1.000000000000000D+0
0*I 211I 11I 222I 10I 14I 11A I 13I 13I 10I 10*I 16I 212D 3.9227594067336
57D+03D 8.102307678697830D+03D 3.923983662429981D+03D 1.000000000000000D+00*I 21
1I 11I 222I 10I 15I 11A I 13I 13I 10I 10*I 16I 212D 2.618426612179088D+03
D 5.929198062350195D+03D 2.618646772181036D+03D 1.000000000000000D+00*I 211I 11I
222I 10I 16I 11A I 13I 13I 10I 10*I 16I 212D 1.769370274571107D+03D 4.28
9326568870585D+03D 1.768805278187510D+03D 1.000000000000000D+00*I 211I 11I 223I
10I 11I 11A I 13I 13I 10I 10*I 16I 212D 7.609364421899858D+01D 8.01778112
0298149D+01D 7.735914558101138D+01D 1.000000000000000D+00*I 211I 11I 223I 10I 12
I 11A I 13I 13I 10I 10*I 16I 212D 4.632605892421419D+01D 4.84779552756249
7D+01D 4.690212783245915D+01D 1.000000000000000D+00*I 211I 11I 223I 10I 13I 11A
I 13I 13I 10I 10*I 16I 212D 2.404654577069037D+01D 2.473270803085783D+01D
2.413522270285180D+01D 1.000000000000000D+00*I 211I 11I 223I 10I 14I 11A
I 13I 13I 10I 10*I 16I 212D 5.062409242075708D+03D 4.627598298448942D+03D 5.055
283571163938D+03D 1.000000000000000D+00*I 211I 11I 223I 10I 15I 11A I 13I
13I 10I 10*I 16I 212D 2.441567383878231D+03D 1.549349775140781D+03D 2.433597822
837767D+03D 1.000000000000000D+00*I 211I 11I 223I 10I 16I 11A I 13I 13I 1
0I 10*I 16I 212D 1.851636001987176D+03D 3.474031930598503D+02D 1.844053345359620
D+03D 1.000000000000000D+00*I 211I 11I 224I 10I 11I 11A I 13I 13I 10I 10*
I 16I 212D 6.781806164785747D+01D 7.723897812507950D+01D 7.057112694061571D+01D
comunque cumel (strano nick ... :oink: ) per evitare questi e altri problemi i codici FEM bisogna scriverseli da soli .... altro che Matlab :D :sborone:
Originariamente inviato da cumel
Non so cosa sia sciTE: qualcuno mi sa dire dove posso documentarmi???
Ho detto che era un editor di testo, non credo ci sia molto da descrivere.
Per documentarti basta davvero un piccolo sforzo:
http://www.google.it/search?q=scite, coraggio! ;)
Originariamente inviato da a2000
tel chì il fortran :D
Subroutine ppp3
Integer, Parameter :: II = 20
Character*(II*81) a; Character*(II*80+80) b
Integer ia1(1:II), ia2(1:II), ib1(0:II), ib2(0:II), stat(1:12), istat
Open (1, FILE = 'c:\temp\esempio2.txt', ACTION='READ' , FORM='BINARY')
Open (2, FILE = 'c:\temp\esempio2.out', ACTION='WRITE', FORM='BINARY')
istat = Fstat(1, stat)
ib1(0)=1;ib2(0)=80
Do i = 1, II
ia1(i)= 81*i-80; ia2(i)= ia1(i) + 79
ib1(i)= 80*i + 1; ib2(i)= ib1(i) + 79
End Do
Read (1) b(1:81)
Do k = 1, Int((stat(8)/81-1)/II)
Read (1) a
Do i = 1, II
b(ib1(i):ib2(i)) = a(ia1(i):ia2(i))
End Do
Call rep (b, ' 287D ', ' 212D ')
Call rep (b, ' 287D-', ' 212D-')
Do i = 1, II
a(ia1(i):ia2(i)) = b(ib1(i-1):ib2(i-1))
End Do
Write (2) a
b(1:80) = b(ib1(II):ib2(II))
End Do
Write (2) b(1:80)
End Subroutine
Thx! :) :)
Stupefacente:eek:
grazie mille a2000: adesso provo subito!!!
Con tutti i casini che sto avendo con i compositi laminati con FEM varrebbe proprio la pena saperselo scrivere un codice:muro: :muro:
E ho pure scoperto che non conoscere nessun linguaggio è un vero casino:mad:
mk
P.S.: a200, se non erro già una volta ti eri stupito per il mio nik:rolleyes:
ti stai uccidendo di membranali eh ... :D
c'è solo una piccola aggiunta da fare ... se ti piace. :)
tridimensionali....è questo il problema:muro: :muro:
Il tuo codice è una scheggia rispetto a quello in C perchè ben scritto o perchè in Fortran e VBA?
Senti, se mi decido imparare un linguaggio quale mi consigli (per velocità di apprendimento, generalità, versatilità, velocità...)
Di che aggiunta parli?! a me sembra okkey:)
Grazie
mk
Originariamente inviato da cumel
tridimensionali....è questo il problema:muro: :muro:
Il tuo codice è una scheggia rispetto a quello in C perchè ben scritto o perchè in Fortran e VBA?
Senti, se mi decido imparare un linguaggio quale mi consigli (per velocità di apprendimento, generalità, versatilità, velocità...)
...
se fai calcolo numerico per l'ingegneria ti consiglio vivamente la coppia Fortran90/95 - VisualBasic (for Application) che tendono ad essere un unico linguaggio.
l'apprendimento del VBA è rapido: un buon tutor con le idee chiare ti mette sulle tue gambe in 2+2 ore.
imparato il Basic hai praticamente imparato il Fortran90/95.
(si convertono codici VB-Fortran uno nell'altro con non più di 10 cerca-sostituisci di un qualunque editor di testo).
nei codici scritti in Fortran trovi applicate regole di efficienza per ottenere la massima velocità di calcolo, [minima memoria utilizzata], minimo numero di righe di codice, solitamente trascurate dagli sviluppatori in altri linguaggi.
Originariamente inviato da cumel
Di che aggiunta parli?! a me sembra okkey:)
Grazie
mk
Come puoi vedere dal codice VBA (Excel > Alt+F11), per aumentare la velocità di elaborazione vengono accumulate-elaborate II righe alla volta (II=20 nell'esempio).
Può rimanere fuori una coda finale di meno di II righe non elaborate.
Per esempio se il file ha 617283 righe = 1 + 30864*20 + 2, rimangono fuori le due ultime righe.
Se il file ha un numero di righe pari a 1 + k*II , non c'è problema.
Si tratta di aggiungere qualche istruzione per ripetere l'elaborazione tal quale per questa eventuale coda.
(non l'ho messa perchè senno' mi allontanava troppo dalla promessa delle 10 righe di codice totali :D)
Altrimenti si possono aggiungere righe fittizie.
Grazie per il parere su Fortran e VBA...se l'avessi un tutor...
e grazie per la spiegazione...non avevo notato "la coda"...
...spero di essere in grado di provvedere da solo:rolleyes: ...
basta modificare il testo in Excel??
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.