esercizio

Topic sul pascal.

Postby hiras on 16 Dec 2006 23:34

Caricati due vettori, calcolare il prodotto scalare (sapendo che è la somma di tutti i prodotti dei valori di indice uguale: v[i]*w[i] + v[i+1]*w[i+1] ... ).

Questo è un esercizio basato sugli array paralleli. Il ritardo nel postare l’esercizio è stato dovuto al fatto che ho dovuto imparare a caricare due vettori… che poi alla fine è risultato abbastanza semplice.
Code: Select all
program prodotto_scalare;

uses crt;
const max=4;

type
vettore= array[1..max] of integer;
var
v,v1:vettore;

procedure caricamento;

var i:integer;

begin
  for i:=1 to max do
   begin
     clrscr;
     writeln('inserisci il ',i,'ø numero del 1ø vettore'); {vettore principale}
     readln(v[i]);
     writeln('inserisci il ',i,'ø numero del 2ø vettore'); {vettore parallelo}
     readln(v1[i]);
   end;
end;

procedure calcolo;

var a,i,tot:integer;

begin
tot:=0;
  for i:=1 to max do
   begin
    a:=v[i]*v1[i]; {moltiplico i valori di indice uguale}
    tot:=tot+a;    {sommo i prodotti}
    end;
    writeln('il prodotto scalare e'' ',tot);
    readln;
   end;


begin
clrscr;
caricamento;
calcolo;
end.


cosa ne pensi? ;)
User avatar
hiras
Newbies
 
Posts: 49
Joined: 27 Nov 2006 09:48
Location: ichnusa

Sponsor

Google Adsense

Postby Fabriz on 17 Dec 2006 19:53

Bene!


a è inutile, puoi fare direttamente tot:= tot + v[i]*w[i];


ora stessa roba solo che devi creare una procedura che carichi automaticamente un vettore.


Ps: sai usare i parametri formali e attuali? Intendo: sai creare procedure con passaggio di varibili per valore od indirizzo?
Bit wrote:Ma sisi cosa? che ca**o c'è da ridere? bha


Dead on my sweet Piano.


IO NON SONO AMICO DI GOOGLE
User avatar
Fabriz
Diagramma a Blocchi
 
Posts: 209
Joined: 02 Jul 2006 16:15

Postby hiras on 17 Dec 2006 20:58

S3raph wrote:
ora stessa roba solo che devi creare una procedura che carichi automaticamente un vettore.


Ps: sai usare i parametri formali e attuali? Intendo: sai creare procedure con passaggio di varibili per valore od indirizzo?


non so cosa siano.. :cry:

potresti postare un esempio? ;)
User avatar
hiras
Newbies
 
Posts: 49
Joined: 27 Nov 2006 09:48
Location: ichnusa

Postby Fabriz on 19 Dec 2006 20:44

Code: Select all
procedure potenza(x:integer);
begin
       ....
       x:=1000*... ;
       ....
end;
//main
begin
       ....
       potenza(a);
       ....
end.
Bit wrote:Ma sisi cosa? che ca**o c'è da ridere? bha


Dead on my sweet Piano.


IO NON SONO AMICO DI GOOGLE
User avatar
Fabriz
Diagramma a Blocchi
 
Posts: 209
Joined: 02 Jul 2006 16:15

Postby hiras on 19 Dec 2006 21:47

S3raph wrote:
Code: Select all
procedure potenza(x:integer);
begin
       ....
       x:=1000*... ;
       ....
end;
//main
begin
       ....
       potenza(a);
       ....
end.


:shock: :shock: :shock:

no mi dispiace non ho capito.. :sad:
User avatar
hiras
Newbies
 
Posts: 49
Joined: 27 Nov 2006 09:48
Location: ichnusa

Postby Fabriz on 28 Dec 2006 12:37

fa nulla. Quelle le imparerai dopo.
Bit wrote:Ma sisi cosa? che ca**o c'è da ridere? bha


Dead on my sweet Piano.


IO NON SONO AMICO DI GOOGLE
User avatar
Fabriz
Diagramma a Blocchi
 
Posts: 209
Joined: 02 Jul 2006 16:15

Postby hiras on 28 Dec 2006 16:17

nel mentre cosa facciamo??

nuova guida o altri esercizi???
User avatar
hiras
Newbies
 
Posts: 49
Joined: 27 Nov 2006 09:48
Location: ichnusa

Postby Fabriz on 28 Dec 2006 19:22

caricati automaticamente(random) due vettori, confrontare i valori divisibili per 5 del primo vettore con gli elementi di posto disari del secondo(ovvero: conforontare il primo valore div per 5 del primo vettore con tutti gli elementi di posto dispari, poi passare al secondo div per 5 e conforntarlo cno tutti i valori di posto dispari e così via...). Una volta trovati due elementi simili comunicare i due indici dei valori dei due vettori. contare i valori simili in una variabile contatore.


Spero di essere stato chiaro :D
Bit wrote:Ma sisi cosa? che ca**o c'è da ridere? bha


Dead on my sweet Piano.


IO NON SONO AMICO DI GOOGLE
User avatar
Fabriz
Diagramma a Blocchi
 
Posts: 209
Joined: 02 Jul 2006 16:15

Postby hiras on 29 Dec 2006 00:02

l'esercizio è chiaro. l'unica cosa è che devo vedere come caricare un vettore con random. fatto quello passerò allo sviluppo dell'es.

ot piacere di averti risentito e anche se in ritardo buon natale :D
User avatar
hiras
Newbies
 
Posts: 49
Joined: 27 Nov 2006 09:48
Location: ichnusa

Postby Fabriz on 29 Dec 2006 00:04

buon natale anche a te :D


Code: Select all
randomize;
...
for i:=1 to n do v[i]:=random(100);
...
Bit wrote:Ma sisi cosa? che ca**o c'è da ridere? bha


Dead on my sweet Piano.


IO NON SONO AMICO DI GOOGLE
User avatar
Fabriz
Diagramma a Blocchi
 
Posts: 209
Joined: 02 Jul 2006 16:15

Postby hiras on 29 Dec 2006 00:10

S3raph wrote:
Code: Select all
randomize;
...
for i:=1 to n do v[i]:=random(100);
...


ok da domani mi metto sotto. grazie ;)
User avatar
hiras
Newbies
 
Posts: 49
Joined: 27 Nov 2006 09:48
Location: ichnusa

Postby Fabriz on 27 May 2007 23:12

hiras wrote:
ok da domani mi metto sotto. grazie ;)



...penso che sei mesi bastino per quel programmino.... :D


(chissa che fine hai fatto...)
Bit wrote:Ma sisi cosa? che ca**o c'è da ridere? bha


Dead on my sweet Piano.


IO NON SONO AMICO DI GOOGLE
User avatar
Fabriz
Diagramma a Blocchi
 
Posts: 209
Joined: 02 Jul 2006 16:15

Previous

Return to Pascal

Who is online

Users browsing this forum: No registered users and 1 guest

cron