Passa al tema normale
Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

19/04/2004, 14:21

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>

19/04/2004, 14:39

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>

19/04/2004, 14:47

Due matrici quadrate di ordine 4.

19/04/2004, 15:01

ma perchè non c'hai voglia te o perchè non 6 capace?

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

19/04/2004, 15:25

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>

19/04/2004, 16:16

Perché non sapevo come si faceva... GRAZIE!!!!!

19/04/2004, 19:32

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>

20/04/2004, 00:40

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?

20/04/2004, 21:26

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>

21/04/2004, 00:22

<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
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.