Pagina 2 di 3

MessaggioInviato: 19/04/2004, 14:21
da vecchio
matrici come?? di che dimensioni?? non so..non è che abbia molto tempo...però chissà...di notte...tu intanto dimmi poi vedremo..


<img src="http://www.vecchio85.supereva.it/vecchio.gif" border=0>

MessaggioInviato: 19/04/2004, 14:39
da vecchio
hei Tony!! sono riuscito a farlo funzionare con double!! non funzionava perchè dovevo mettere all'inizio del programma questa dicitura {$N+}
ora la domanda sorge spontanea...che vuol dire?? cmq se uso questo tipo di variabile il risultato migliora decisamente!!! anzi direi che è quasi perfetto!!!!!
che ganzo!!!!!

<img src="http://www.vecchio85.supereva.it/vecchio.gif" border=0>

MessaggioInviato: 19/04/2004, 14:47
da fireball
Due matrici quadrate di ordine 4.

MessaggioInviato: 19/04/2004, 15:01
da vecchio
ma perchè non c'hai voglia te o perchè non 6 capace?

<img src="http://www.vecchio85.supereva.it/vecchio.gif" border=0>

MessaggioInviato: 19/04/2004, 15:25
da vecchio
eccolo qua...

<pre id=code><font face=courier size=2 id=code>
program matrici(i,o); { ESEGUE LA SOMMA TRA 2 MATRICI }
uses crt;
const m=4;n=4;
type mat=array[1..m,1..n] of real;
var A,B,S:mat;
i,j:integer;
PROCEDURE introduzione(var H:mat);
begin
clrscr;
writeln('INSERIRE I COEFFICIENTI MATRICIALI:');
writeln;
for i:=1 to m do
for j:=1 to n do
begin
write('H[',i,',',j,']=');
readln(H[i,j]);
end;

end;
PROCEDURE visualizzazione(H:mat);
begin
writeln;
for i:=1 to m do
begin
for j:=1 to n do
begin
write(H[i,j]:8:3,' ')
end;
writeln;
end;
end;
procedure somma(H,K:mat;var l:mat);
begin
for i:= 1 to m do
for j:= 1 to n do
begin
L[i,j]:=H[i,j]+K[i,j];
end
end;
BEGIN { M A I N }
textcolor(white);
introduzione(A);
introduzione(B);
clrscr;
writeln(' MATRICI DI PARTENZA');
textcolor(red);
visualizzazione(A);
textcolor(green);
writeln;
visualizzazione(B);
textcolor(white);
writeln;
writeln('la somma delle matrici S ');
writeln;
somma(A,B,S);
textcolor(15);
visualizzazione(S);
repeat until keypressed;
END.
</font id=code></pre id=code>

<img src="http://www.vecchio85.supereva.it/vecchio.gif" border=0>

MessaggioInviato: 19/04/2004, 16:16
da fireball
Perché non sapevo come si faceva... GRAZIE!!!!!

MessaggioInviato: 19/04/2004, 19:32
da vecchio
ma questo è solo uno dei tanti modi in cui potresti fare...basta ragionarci un po' e ne troverai sicuramente altre mille!! forse anche + eleganti!!<img src=icon_smile_wink.gif border=0 align=middle>

<img src="http://www.vecchio85.supereva.it/vecchio.gif" border=0>

MessaggioInviato: 20/04/2004, 00:40
da tony
scusate, riesumo l'argomento iniziale
<BLOCKQUOTE id=quote><font size=1 face="Verdana, Arial, Helvetica" id=quote>*quote:<hr height=1 noshade id=quote>
hei Tony!! sono riuscito a farlo funzionare con double!! non funzionava perchè dovevo mettere all'inizio del programma questa dicitura {$N+}
ora la domanda sorge spontanea...che vuol dire?? cmq se uso questo tipo di variabile il risultato migliora decisamente!!! anzi direi che è quasi perfetto!!!!!
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Verdana, Arial, Helvetica" size=2 id=quote>
bene, vecchio, ce l'hai fatta da solo.
la "N" del "directive" da te usato credo voglia dire "Numeric co-processor" (* nota 1), indicazione d'altri tempi, quando non tutte le macchine avevano questo dispositivo; in caso mancasse, il linguaggio restringeva le tue libertà, impedendoti, per es. tipi di dato più "raffinati".
questa spiega la trovi nel famigerato help in inglese. (* nota 2)

comunque, se non vuoi modificare il tuo programma aggiungendo la riga {$N+} puoi sempre agire nel menu "options/compiler/Numeric processing"
accendendo "8087".

avevi cambiato solo questo, per far girare soddisfacentemente il prgm?
un consiglio: torna alle condiz. iniziali e ripeti la prova: potresti aver toccato ANCHE qualcos'altro.

conosci il linguaggio (e, da quanto vedo dal tuo pgm sulla somma di matrici, hai idee piacevolmente "pulite") ma lo strumento non l'hai abbastanza "vissuto" per sentirtelo in mano con scioltezza.
forza! (peccato che oggi, sul pascal, tu trovi pochi interlocutori)

(* nota 1) c'è qualcuno del classico che ci voglia intrattenere su un possibile "copro-cessor"?
(* nota 2) : ma, scusa, hai fatto francese?

tony

P.S. ti prego, indipendentemente da qualsiasi accettabilissaima considerazione, NON mandarmi il sorgente del quesito prima del semaforo rosso.
un po' di disciplina, no?

MessaggioInviato: 20/04/2004, 21:26
da vecchio
no...studio inglese..ma no sapendo cosa fosse quel {$N+}...non c'avevo capito un gran che..cmq alla fine ci sono arrivato!! ; )
riguarda al listato ok!! scusa ma ero ansioso di sapere dove sbagliavo!! cmq tutto ok ora! grazie mille per l'aiuto!!
ho ripreso il programma iniziale e ho ripetuto quello che ho fatto prima...ho scritto al posto di real, duoble e ho aagiunto {$N+}all'inizio..non capisco a cosa si riferisca quel tuo "ANCHE"..bo?

grazie per i complimenti per il pascal...effettivamente l'ho masticato purtroppo un po' poco...infatti, pur facendo un corso sperimentale, abbiamo visto il computer poche volte in 5anni...perchè ai miei compagni non frega nulla di informatica (ma che hanno preso a fa la sperimentazione in informatica allora??mah..) quindi quello che so è perhcè ho rotto le scatole al mio prof e ho studiato da solo a casa...mi piace decisamente molto!!

purtroppo però mi manca la grafica...che dovrebbe essere decismante stimolante..il problema è che sui libri che ho io non c'è una spiegazione decente introduttiva..e non volgio imparare tutto a memoria!!! volgio capire!!!uff..

ora vado..
grazie ancora

il vecchio

<img src="http://www.vecchio85.supereva.it/vecchio.gif" border=0>

MessaggioInviato: 21/04/2004, 00:22
da tony
<BLOCKQUOTE id=quote><font size=1 face="Verdana, Arial, Helvetica" id=quote>*quote:<hr height=1 noshade id=quote>
prima...ho scritto al posto di real, duoble e ho aagiunto {$N+}all'inizio..non capisco a cosa si riferisca quel tuo "ANCHE"..bo?
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Verdana, Arial, Helvetica" size=2 id=quote>
quell'"ANCHE", vecchio, è autobiografico:
quando ritocco qualcosa in un programma, non sono (quasi) mai sicuro di aver raggiunto la soluzione avendo variato UNA sola cosa; spesso, senza pensarci, ne ho toccata ANCHE (almeno) un'altra, solo apparentemente irrilevante, ma che talvolta era la VERA chiave della soluzione.
(è un mestiere divertente per uno "sperimentale")

non mi dici se, anche sulla tua vers. di pascal [io ho la 7 (pascal, turbo pascal e pascal for windows) e la consideravo decrepita!] risolvi (una volta per tutte, salvando l'opzione) il problema del {$N+} con la risposta che ti suggerivo a "menu /options/compiler/Numeric processing".
non c'è fretta.

tony

*Edited by - tony on 21/04/2004 01:25:11