Archivio messaggi
Lu | Ma | Me | Gi | Ve | Sa | Do |
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
|
|
Chi può scrivere sul blog
Solo l'autore può pubblicare messaggi in questo Blog e tutti gli utenti registrati possono pubblicare commenti.
|
Messaggi di Febbraio 2014
Post n°1772 pubblicato il 25 Febbraio 2014 da fumarinox
esercitazioni con QuickBasic file.BAS richiamati QBasic si forniscono alcune immagini e listato.BAS: possibile copiarlo,incollarlo su notes , salvarlo come file.BAS, richiamarlo con QBasic (dovrebbe funzionare, anche se datato ..1990..) http://informascienze.altervista.org/qbasic/listaqbasic.htm
Post n°1771 pubblicato il 25 Febbraio 2014 da fumarinox
esercitazioni con GWBasic file.BAS richiamati GWBasic si forniscono alcune immagini e listato.BAS: possibile copiarlo,incollarlo su notes , salvarlo come file.BAS, richiamarlo con GWBasic (dovrebbe funzionare, anche se datato ..1990..) http://informascienze.altervista.org/gwbasic/listagwbasic.htm
Post n°1770 pubblicato il 25 Febbraio 2014 da fumarinox
esercitazioni con MathCAD file.MCD richiamati MathCAD si forniscono alcune immagini e listato.MCD: possibile copiarlo,incollarlo su notes , salvarlo come file.MCD, richiamarlo con MathCAD (dovrebbe funzionare, anche se datato ..1990..) http://informascienze.altervista.org/MathCAD/listamathcad.htm
Post n°1769 pubblicato il 14 Febbraio 2014 da fumarinox
esercitazioni con turbo basic soluzione sistema lineare file.bas richiamati con turbo basic si forniscono alcune immagini e listato.bas: possibile copiarlo,incollarlo su notes , salvarlo come file.bas, richiamarlo con turbo basic presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) http://informascienze.altervista.org/listatiTB/sistemi.htm http://informascienze.altervista.org/listatiTB/turboba.htm
Post n°1768 pubblicato il 14 Febbraio 2014 da fumarinox
esercitazioni con turbo basic file.bas richiamati con turbo basic si forniscono alcune immagini e listato.bas: possibile copiarlo,incollarlo su notes , salvarlo come file.bas, richiamarlo con turbo basic presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) http://informascienze.altervista.org/listatiTB/turboba.htm
Post n°1767 pubblicato il 12 Febbraio 2014 da fumarinox
esercitazioni su verbi regolari latinicon linguaggio Turbo C (C++) listati copiabili e attivabili in ambiente TC http://informascienze.altervista.org/listatiTC/lista.htm
Post n°1766 pubblicato il 07 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) soluzione triangoli (anche rettangoli) con teorema del coseno http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/triangolo.htm
program triango; (* funzioni trigonometriche di angoli inseriti in gradi INTERI*) (* risoluzione triangoli qualsiasi E RETTANGOLI *) uses crt; var tipo:integer;n:string; a,b,c,alfa,beta,gamma,alfar,betar,gammar:real; seno,coseno,tangente:real; c1,beta1,gamma1,betar1,gammar1,r:real; FUNCTION radiante(x:real):real; begin radiante:=x*pi/180; end; FUNCTION gradi(x:real):real; begin gradi:=x*180/pi; end; FUNCTION tan(x:real):real; begin tan:=sin(x)/cos(x); end; function arcsin(x:real):real; const k=1e-15; begin if x<-1 + k then arcsin:=-Pi/2; if x>1-k then arcsin:=Pi/2; if (x>-1+k) and (x<1-k) then arcsin:=arctan(x/sqrt(1-x*x)); end; function arccos(x:real):real; const k=1e-15; begin if (x<k) and (x>-k) then arccos:=Pi/2; if x>k then arccos:=arctan(sqrt(1-x*x)/x); if x<-k then arccos:=Pi+arctan(sqrt(1-x*x)/x); end; procedure pro1; (* NOTI TRE LATI *) begin clrscr; writeln('applicare teorema del coseno'); write('valore lato a =');readln(a); write('valore lato b =');readln(b); write('valore lato c =');readln(c); writeln; writeln('calcolo cos(alfa) = (b^2 + c^2 - 2bc) / 2bc '); coseno:=((b*b+c*c-a*a)/(2*b*c)); writeln('calcolo arco corrispondente a coseno :arccos(coseno)'); alfar:=arccos(coseno); coseno:=((a*a+c*c-b*b)/(2*a*c)); betar:=arccos(coseno); coseno:=((b*b+a*a-c*c)/(2*b*a)); gammar:=arccos(coseno); writeln('trasformo radianti in gradi e stampo i due valori'); writeln('ripeto le stesse operazioni per beta e gamma'); writeln; writeln('angolo alfa =',alfar:8:2,gradi(alfar):8:2); writeln('angolo beta =',betar:8:2,gradi(betar):8:2); writeln('angolo gamma =',gammar:8:2,gradi(gammar):8:2); end;
procedure pro2; (* LATO E ANGOLI ADIACENTI *) begin clrscr; writeln('applicare legge dei seni'); write('valore lato a =');readln(a); write('valore angolo beta =');readln(beta); write('valore angolo gamma =');readln(gamma); writeln; alfa:=180- (beta+gamma); writeln('calcolo angolo opposto al lato a con 180-beta-gamma'); writeln('trasformo angoli da gradi in radianti'); writeln('calcolo lato b = a*sin(beta)/sin(alfa)'); b:=a*sin(radiante(beta))/sin(radiante(alfa)); c:=a*sin(radiante(gamma))/sin(radiante(alfa)); writeln('ripeto operazioni per lato c e stampa risultati'); writeln; writeln('angolo alfa =',alfa:8:2); writeln('lato b =',b:8:2); writeln('lato c =',c:8:2); end; procedure pro3; (* LATO E DUE ANGOLI:opposto e adiacente *) begin clrscr; writeln('applicare legge dei seni'); write('valore lato a =');readln(a); write('valore angolo opposto alfa =');readln(alfa); write('valore angolo adiacente beta=');readln(beta); writeln; writeln('calcolo angolo gamma con 180 - alfa - beta '); gamma:=180- (beta+alfa); writeln('trasformo angoli da gradi in radianti'); writeln('calcolo lato b = a*sin(beta)/sin(alfa)'); b:=a*sin(radiante(beta))/sin(radiante(alfa)); c:=a*sin(radiante(gamma))/sin(radiante(alfa)); writeln('ripeto operazioni per lato c e stampo risultati'); writeln; writeln('angolo gamma =',gamma:8:2); writeln('lato b =',b:8:2); writeln('lato c =',c:8:2); end; procedure pro4; (* NOTI due lati e angolo tra essi compreso *) begin clrscr; writeln('applicare teorema coseno '); write('valore lato a =');readln(a); write('valore lato b =');readln(b); write('valore angolo gamma =');readln(gamma); writeln; writeln('trasformare angolo da gradi in radianti '); gammar:=radiante(gamma); writeln('calcolare lato c^2 = b^2 + a^2 - 2ab*cos(gamma)'); c:=b*b+a*a-2*a*b*cos(gammar); writeln('estrarre radice quadrata di c '); c:=sqrt(c); writeln('calcolare arco corrispondente a seno con arcsin(seno)'); writeln('trasformare valori da radianti in gradi e stampare risultato'); WRITELN; seno:=(b*sin(gammar)/c); betar:=arcsin(seno); alfar:=pi-betar-gammar; writeln('valore lato c =',c:8:2); writeln('valore angolo alfa =',gradi(alfar):8:2); writeln('valore angolo beta =',gradi(betar):8:2); end; procedure pro5; (* NOTI due lati e angolo opposto a un lato *) begin clrscr; write('valore lato a =');readln(a); write('valore lato b =');readln(b); write('valore angolo ALFA opposto ad a =');readln(alfa); WRITELN; alfar:=radiante(alfa); r:=b*sin(alfar); if ((alfar<pi/2) and (a<r)) or ((alfar>=pi/2) and (a<b)) then begin writeln('nessuna soluzione') end else begin betar:=arcsin(b*sin(alfar)/a); beta:=gradi(betar); gammar:=pi-alfar-betar; gamma:=gradi(gammar); c:=a*sin(gammar)/sin(alfar); writeln('angolo gamma compreso tra lati a,b =',gamma:8:2); writeln('angolo beta =',beta:8:2); writeln('terzo lato c =',c:8:2); writeln; if a>b then begin writeln('unica soluzione'); writeln('-----------------------------------------'); end else begin betar1:=pi-betar; beta1:=gradi(betar1); gammar1:=pi - alfar-betar1; gamma1:=gradi(gammar1); c1:=a*sin(gammar1)/sin(alfar); writeln('angolo gamma compreso tra lati a,b =',gamma1:8:2); writeln('angolo beta =',beta1:8:2); writeln('terzo lato c =',c1:8:2); writeln; writeln('due soluzioni'); end; end; end; procedure pro6; (* NOTI I CATETI B,C *) begin clrscr; write('valore cateto b =');readln(b); write('valore cateto c =');readln(c); writeln; tangente:=b/c; (* tg(beta) *) betar:=arctan(tangente); a:=b/sin(betar); beta:=gradi(betar); gamma:=90-beta; writeln; writeln('ipotenusa =',a:8:2); writeln('angolo beta =',beta:8:2); writeln('angolo gamma =',gamma:8:2); writeln; end;
procedure pro7; (* NOTI IPOTENUSA A e CATETO B *) begin clrscr; write('valore ipotenusa =');readln(a); write('valore cateto b =');readln(b); writeln; seno:=b/a ; (* seno(beta) *) betar:=arcsin(seno); gammar:=pi/2 -betar; c:=a*sin(gammar); beta:=gradi(betar); gamma:=gradi(gammar); writeln; writeln('cateto c =',c:8:2); writeln('angolo beta =',beta:8:2); writeln('angolo gamma =',gamma:8:2); writeln; end; procedure pro8; (* NOTI CATETO B e angolo BETA *) begin clrscr; write('valore cateto b =');readln(b); write('valore angolo beta =');readln(beta); writeln; gamma:=90-beta; gammar:=radiante(gamma); c:=b*tan(gammar); betar:=radiante(beta); a:=b/sin(betar); writeln; writeln('cateto c =',c:8:2); writeln('ipotenusa a =',a:8:2); writeln('angolo gamma =',gamma:8:2); writeln; end; procedure pro9; (* NOTI IPOTENUSA A e angolo BETA *) begin clrscr; write('valore ipotenusa a =');readln(a); write('valore angolo beta =');readln(beta); writeln; gamma:=90-beta; betar:=radiante(beta); b:=a*sin(betar); c:=a*cos(betar); writeln; writeln('cateto c =',c:8:2); writeln('cateto b =',b:8:2); writeln('angolo gamma =',gamma:8:2); writeln; end; procedure azione; begin clrscr; writeln('1...noti i tre lati:A,B,C '); writeln('calcolo angoli alfa,beta,gamma'); writeln; writeln('2...noto lato A e angoli adiacenti BETA,GAMMA'); writeln('calcolo alfa,B,C'); writeln; writeln('3...noto lato A e angoli:opposto ALFA e adiacente BETA'); writeln('calcolo gamma,B,C'); writeln; writeln('4...noti due lati A,B e angolo compreso tra essi GAMMA'); writeln('calcolo C,alfa,beta'); writeln; writeln('5...noti due lati A,B e angolo opposto ALFA '); writeln('calcolo C,beta,gamma'); writeln; writeln('TRIANGOLI RETTANGOLI'); writeln('6...noti due cateti B,C calcolare ipotenusa,beta,gamma'); writeln('7...noti ipotenusa A e cateto B:calcolare cateto C,beta,gamma'); writeln('8...noti cateto B e angolo BETA:calcolo A,C,gamma'); writeln('9...noti ipotenusa A e angolo BETA:calcolo B,C,gamma'); writeln('0...per finire'); writeln('indica tipo triangolo da risolvere:'); readln(tipo); if tipo=1 then pro1; if tipo=2 then pro2; if tipo=3 then pro3; if tipo=4 then pro4; if tipo=5 then pro5; if tipo=6 then pro6; if tipo=7 then pro7; if tipo=8 then pro8; if tipo=9 then pro9; write('per altra prova scrivi 1,per finire 2 ');readln(n); if n='1' then azione; end; begin clrscr;azione;end.
Post n°1765 pubblicato il 07 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) soluzione triangoli con teorema del coseno http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/tria.htm
program tria; (* funzioni trigonometriche di angoli inseriti in gradi INTERI*) (* risoluzione triangoli qualsiasi *) uses crt; var tipo:integer;n:string; a,b,c,alfa,beta,gamma,alfar,betar,gammar:real; seno,coseno:real; c1,beta1,gamma1,betar1,gammar1,r:real; FUNCTION radiante(x:real):real; begin radiante:=x*pi/180; end; FUNCTION gradi(x:real):real; begin gradi:=x*180/pi; end; FUNCTION tan(x:real):real; begin tan:=sin(x)/cos(x); end; function arcsin(x:real):real; const k=1e-15; begin if x<-1 + k then arcsin:=-Pi/2; if x>1-k then arcsin:=Pi/2; if (x>-1+k) and (x<1-k) then arcsin:=arctan(x/sqrt(1-x*x)); end; function arccos(x:real):real; const k=1e-15; begin if (x<k) and (x>-k) then arccos:=Pi/2; if x>k then arccos:=arctan(sqrt(1-x*x)/x); if x<-k then arccos:=Pi+arctan(sqrt(1-x*x)/x); end; procedure pro1; (* NOTI TRE LATI *) begin clrscr; writeln('applicare teorema del coseno'); write('valore lato a =');readln(a); write('valore lato b =');readln(b); write('valore lato c =');readln(c); writeln; writeln('calcolo cos(alfa) = (b^2 + c^2 - 2bc) / 2bc '); coseno:=((b*b+c*c-a*a)/(2*b*c)); writeln('calcolo arco corrispondente a coseno :arccos(coseno)'); alfar:=arccos(coseno); coseno:=((a*a+c*c-b*b)/(2*a*c)); betar:=arccos(coseno); coseno:=((b*b+a*a-c*c)/(2*b*a)); gammar:=arccos(coseno); writeln('trasformo radianti in gradi e stampo i due valori'); writeln('ripeto le stesse operazioni per beta e gamma'); writeln; writeln('angolo alfa =',alfar:8:2,gradi(alfar):8:2); writeln('angolo beta =',betar:8:2,gradi(betar):8:2); writeln('angolo gamma =',gammar:8:2,gradi(gammar):8:2); end;
procedure pro2; (* LATO E ANGOLI ADIACENTI *) begin clrscr; writeln('applicare legge dei seni'); write('valore lato a =');readln(a); write('valore angolo beta =');readln(beta); write('valore angolo gamma =');readln(gamma); writeln; alfa:=180- (beta+gamma); writeln('calcolo angolo opposto al lato a con 180-beta-gamma'); writeln('trasformo angoli da gradi in radianti'); writeln('calcolo lato b = a*sin(beta)/sin(alfa)'); b:=a*sin(radiante(beta))/sin(radiante(alfa)); c:=a*sin(radiante(gamma))/sin(radiante(alfa)); writeln('ripeto operazioni per lato c e stampa risultati'); writeln; writeln('angolo alfa =',alfa:8:2); writeln('lato b =',b:8:2); writeln('lato c =',c:8:2); end; procedure pro3; (* LATO E DUE ANGOLI:opposto e adiacente *) begin clrscr; writeln('applicare legge dei seni'); write('valore lato a =');readln(a); write('valore angolo opposto alfa =');readln(alfa); write('valore angolo adiacente beta=');readln(beta); writeln; writeln('calcolo angolo gamma con 180 - alfa - beta '); gamma:=180- (beta+alfa); writeln('trasformo angoli da gradi in radianti'); writeln('calcolo lato b = a*sin(beta)/sin(alfa)'); b:=a*sin(radiante(beta))/sin(radiante(alfa)); c:=a*sin(radiante(gamma))/sin(radiante(alfa)); writeln('ripeto operazioni per lato c e stampo risultati'); writeln; writeln('angolo gamma =',gamma:8:2); writeln('lato b =',b:8:2); writeln('lato c =',c:8:2); end; procedure pro4; (* NOTI due lati e angolo tra essi compreso *) begin clrscr; writeln('applicare teorema coseno '); write('valore lato a =');readln(a); write('valore lato b =');readln(b); write('valore angolo gamma =');readln(gamma); writeln; writeln('trasformare angolo da gradi in radianti '); gammar:=radiante(gamma); writeln('calcolare lato c^2 = b^2 + a^2 - 2ab*cos(gamma)'); c:=b*b+a*a-2*a*b*cos(gammar); writeln('estrarre radice quadrata di c '); c:=sqrt(c); writeln('calcolare arco corrispondente a seno con arcsin(seno)'); writeln('trasformare valori da radianti in gradi e stampare risultato'); WRITELN; seno:=(b*sin(gammar)/c); betar:=arcsin(seno); alfar:=pi-betar-gammar; writeln('valore lato c =',c:8:2); writeln('valore angolo alfa =',gradi(alfar):8:2); writeln('valore angolo beta =',gradi(betar):8:2); end; procedure pro5; (* NOTI due lati e angolo opposto a un lato *) begin clrscr; write('valore lato a =');readln(a); write('valore lato b =');readln(b); write('valore angolo ALFA opposto ad a =');readln(alfa); WRITELN; alfar:=radiante(alfa); r:=b*sin(alfar); if ((alfar<pi/2) and (a<r)) or ((alfar>=pi/2) and (a<b)) then begin writeln('nessuna soluzione') end else begin betar:=arcsin(b*sin(alfar)/a); beta:=gradi(betar); gammar:=pi-alfar-betar; gamma:=gradi(gammar); c:=a*sin(gammar)/sin(alfar); writeln('angolo gamma compreso tra lati a,b =',gamma:8:2); writeln('angolo beta =',beta:8:2); writeln('terzo lato c =',c:8:2); writeln; if a>b then begin writeln('unica soluzione'); writeln('-----------------------------------------'); end else begin betar1:=pi-betar; beta1:=gradi(betar1); gammar1:=pi - alfar-betar1; gamma1:=gradi(gammar1); c1:=a*sin(gammar1)/sin(alfar); writeln('angolo gamma compreso tra lati a,b =',gamma1:8:2); writeln('angolo beta =',beta1:8:2); writeln('terzo lato c =',c1:8:2); writeln; writeln('due soluzioni'); end; end; end;
procedure azione; begin clrscr; writeln('1...noti i tre lati:A,B,C '); writeln('calcolo angoli alfa,beta,gamma'); writeln; writeln('2...noto lato A e angoli adiacenti BETA,GAMMA'); writeln('calcolo alfa,B,C'); writeln; writeln('3...noto lato A e angoli:opposto ALFA e adiacente BETA'); writeln('calcolo gamma,B,C'); writeln; writeln('4...noti due lati A,B e angolo compreso tra essi GAMMA'); writeln('calcolo C,alfa,beta'); writeln; writeln('5...noti due lati A,B e angolo opposto ALFA '); writeln('calcolo C,beta,gamma'); writeln; writeln('0...per finire'); writeln('indica tipo triangolo da risolvere:'); readln(tipo); if tipo=1 then pro1; if tipo=2 then pro2; if tipo=3 then pro3; if tipo=4 then pro4; if tipo=5 then pro5; write('per altra prova scrivi 1,per finire 2 ');readln(n); if n='1' then azione; end; begin clrscr;azione;end.
Post n°1764 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) gestione vettori, inserimento, ordinamento, selezione http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/xvetto7.htm
program vetto7; (* legge vettore interi e stampa vettore frequenze ordinato *) uses crt; var a,b,c,d,n,h:integer; v:array[1..10] of integer; f:array[1..10] of integer; p:array[1..10] of integer; q:array[1..10] of integer; procedure numero; begin write('scrivi numero elementi da inserire <=50 ');readln(n); end; procedure leggi; begin for a:=1 to n do begin write('elemento n.',a,' = ');readln(v[a]); end; end; procedure ordina; begin writeln('vettore ordinato in senso crescente'); for b:=2 to n do begin for c:=n downto b do if v[c-1]>=v[c] then begin d:=v[c-1]; v[c-1]:=v[c]; v[c]:=d; end; end; writeln; end;
procedure stampa; begin writeln('stampa vettore ordinato'); for a :=1 to n do writeln(v[a]); end;
procedure azzera; begin for a:=1 to n do f[a]:=0; end; procedure cerca; begin writeln('cerca frequenza vari elementi inseriti'); for a:=1 to n do begin c:=v[a]; for b:=1 to n do if c=v[b] then f[a]:=f[a]+1; end; end; procedure elimina; begin writeln('elimina duplicati da vettore originale'); for a:=1 to n do begin if v[a]<>v[a+1] then begin p[h]:=v[a]; q[h]:=f[a]; h:=h+1; end; end; end;
procedure mostra; begin writeln('stampa valori e relative frequenze'); for a:=1 to h-1 do writeln(p[a]:8,q[a]:8); end; begin clrscr; numero;h:=1;leggi;azzera;ordina;stampa;readln; cerca;elimina;mostra;readln;
readln; end.
Post n°1763 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) gestione vettori, inserimento, ordinamento, selezione http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/xvetto8.htm
program vetto8; (* legge vettore interi e stampa vettore frequenze ordinato *) uses crt; var a,b,c,d,n,h,u:integer; v:array[1..10] of integer; f:array[1..10] of integer; p:array[1..10] of integer; q:array[1..10] of integer; procedure numero; begin write('scrivi numero elementi da inserire <=50 ');readln(n); end; procedure leggi; begin for a:=1 to n do begin write('elemento n.',a,' = ');readln(v[a]); end; end; procedure ordina; begin writeln('vettore ordinato in senso crescente di valori'); for b:=2 to n do begin for c:=n downto b do if v[c-1]>=v[c] then begin d:=v[c-1]; v[c-1]:=v[c]; v[c]:=d; end; end; writeln; end;
procedure stampa; begin writeln('stampa vettore ordinato'); for a :=1 to n do writeln(v[a]); end;
procedure azzera; begin for a:=1 to n do f[a]:=0; end; procedure cerca; begin writeln('cerca frequenza vari elementi inseriti'); for a:=1 to n do begin c:=v[a]; for b:=1 to n do if c=v[b] then f[a]:=f[a]+1; end; end; procedure elimina; begin writeln('elimina duplicati da vettore originale'); for a:=1 to n do begin if v[a]<>v[a+1] then begin p[h]:=v[a]; q[h]:=f[a]; h:=h+1; end; end; end;
procedure mostra; begin writeln('stampa valori e relative frequenze'); writeln('valori':20,'frequenze':20); for a:=1 to h-1 do writeln(p[a]:20,q[a]:20); end; procedure ordinaf; begin writeln('vettore ordinato in senso crescente'); for b:=1 to h do begin for c:=h-1 downto b do if q[c-1]>=q[c] then begin d:=q[c-1];u:=p[c-1]; q[c-1]:=q[c];p[c-1]:=p[c]; q[c]:=d;p[c]:=u; end; end; writeln; end; procedure mostraf; begin writeln('stampa valori e relative frequenze ordine crescente'); writeln('frequenze':20,'valori':20); for a:=1 to h-1 do writeln(q[a]:20,p[a]:20); end; begin clrscr; numero;h:=1;leggi;azzera;ordina;stampa;readln; cerca;elimina;mostra;readln; ordinaf;mostraf; readln; end.
Post n°1762 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) gestione vettori, inserimento, ordinamento, selezione http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/xvetto2.htm program vetto2; (* variante di vetto1 in SCRIVI *) (* carica due vettori di interi *) (* crea un unico vettore con i precedenti *) (* ordina vettore risultante *) (* crea vettore senza duplicati *) (* stampa vettore ordinato *) uses crt; const max=100; type v=record va:array[1..max] of integer; dim:integer; end; var a,b,c:v;i,j:integer; procedure leggi(var x:v); begin write('dimensione del vettore < di ',max ,' = ');readln(x.dim); for i:=1 to x.dim do begin write('scrivi valore ',i:2,'-->');readln(x.va[i]); end; end; procedure scrivi(x:v); begin for i:=1 to x.dim do write(x.va[i]:6); end; procedure ordina(var x:v); procedure scambio(var xx,yy:integer); var a:integer; begin a:=xx; xx:=yy; yy:=a; end; begin for i:=x.dim downto 2 do for j:=2 to i do if (x.va[j-1]>x.va[j]) then scambio(x.va[j-1],x.va[j]) end; procedure merge(x,y:v;var z:v); var ix,iy:integer; procedure aggiungi(val:integer;var xx:v); begin if (xx.dim<max) then begin xx.dim:=xx.dim+1; xx.va[xx.dim]:=val; end; end; procedure aggiungie(xx:v;var index:integer;var yy:v); begin aggiungi(xx.va[index],yy); index:=index+1; end; begin z.dim:=0; ix:=1; iy:=1; while(ix<=x.dim) and (iy<=y.dim) do begin if(x.va[ix]<=y.va[iy]) then aggiungie(x,ix,z) else aggiungie(y,iy,z) end; while (ix<=x.dim) do aggiungie(x,ix,z); while (iy<=y.dim) do aggiungie(y,iy,z) end; procedure unifica(var x:v); var i,j:integer; begin i:=2;j:=1; while (i<=x.dim) do begin if (x.va[i]<>x.va[j]) then begin j:=j+1; x.va[j]:=x.va[i] end; i:=i+1; end; x.dim:=j; end; begin clrscr; writeln('carica elementi primo vettore'); leggi(a); writeln('carica elementi secondo vettore'); leggi(b); writeln('ordina elementi primo vettore e stampa'); ordina(a);scrivi(a);READLN; writeln('ordina elementi secondo vettore e stampa'); ordina(b);scrivi(b);READLN; writeln('crea vettore unico con due vettori'); merge(a,b,c);scrivi(c);readln; writeln('elimina duplicati e crea vettore risultante'); unifica(c); writeln('vettore risultante,ordinato,senza duplicati:'); scrivi(c); readln; end.
Post n°1761 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) somma matrici http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/matrice8.htm
program matrice8; uses crt; var a,b,c,r:integer; n,m:array[1..20,1..20] of integer; (* dimensione ridondante probabile matrice *) procedure chiede(k:integer); begin for a:=1 to r do begin for b:=1 to c do begin write('scrivi dato riga ',a,' colonna ',b ,'='); case k of 1:readln(m[a,b]); 2:readln(n[a,b]); end;end;end;end; procedure mostra(k:integer); begin for a:=1 to r do begin for b:=1 to c do begin case k of 1:write(m[a,b],' '); 2:write(n[a,b],' '); 3:write(m[a,b]+n[a,b],' '); end;end;writeln;end;end; procedure limiti; begin write('numero righe < 11 =');readln(r); write('numero di colonne < 11 =');readln(c); clrscr; end; procedure pausa; begin writeln('premi enter per proseguire');readln;clrscr; end; begin clrscr; limiti;(* richiesta numero righe e colonne per matrici *) writeln('richiesta dati prima matrice');chiede(1);pausa; writeln('richiesta dati seconda matrice');chiede(2);pausa; writeln('esegue somma due matrici '); writeln('prima matrice');mostra(1);writeln; writeln('seconda matrice');mostra(2);writeln; writeln('somma matrici');mostra(3);writeln;pausa; end.
Post n°1760 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000)
differenza matrici http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/matrice3.htm
program matrice3; uses crt; var a,b,c,r:integer; n,m,s:array[1..20,1..20] of integer; (* dimensione ridondante probabile matrice *) procedure chiede1; begin for a:=1 to r do begin for b:=1 to c do begin write('scrivi dato riga ',a,' colonna ',b ,'=');readln(m[a,b]); end; end; end; procedure chiede2; begin for a:=1 to r do begin for b:=1 to c do begin write('scrivi dato riga ',a,' colonna ',b ,'=');readln(n[a,b]); end; end; end; procedure esegue_differenza; begin for a:=1 to r do begin for b:=1 to c do s[a,b]:=m[a,b]-n[a,b]; end; end; procedure mostra_differenza; begin for a:=1 to r do begin for b:=1 to c do begin write(s[a,b],' '); end; writeln; end; end; procedure limiti; begin write('numero righe < 11 =');readln(r); write('numero di colonne < 11 =');readln(c); clrscr; end; procedure pausa; begin writeln('premi enter per proseguire');readln; clrscr; end; begin clrscr; limiti;(* richiesta numero righe e colonne per matrici *) writeln('richiesta dati prima matrice');chiede1;pausa; writeln('richiesta dati seconda matrice');chiede2;pausa; writeln('esegue differenza due matrici ');esegue_differenza;pausa; writeln('visualizza somma delle due matrici');mostra_differenza;pausa; end.
Post n°1759 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) proprietà dei determinanti http://informascienze.altervista.org/algebraturbo/algebraturbo.htm
http://informascienze.altervista.org/algebraturbo/matrix2.htm
program matrix2; (* verifica proprieta determinanti *) (* 1 scambiare tra loro due righe o due colonne*) (* il determinante cambia solo di segno *) (* 2 scambiare righe con colonne:trasposizione *) (* il determinante non cambia *) (* 3 moltiplicando elementi di riga o colonna per un numero *) (* il determinante risulta moltiplicato per tale numero *) (* 4 aggiungendo agli elementi di una riga o colonna *) (* corrispondenti elementi di altra riga o colonna *) (* eventualmente moltiplicati per uno stesso numero *) (* il determinante non cambia *) (* 5 la somma dei prodotti degli elementi di una riga o colonna *) (* per i complementi dei rispettivi elementi di altra riga o colonna*) (* vale zero *) uses crt; var n:array[1..3,1..3] of real; d:array[1..4] of real; s:string; scelta,T,a,b:integer; procedure fine; begin exit; end; procedure calcola; begin clrscr; s:=' '; writeln('calcolo determinante terzo ordine:regola LAPLACE '); writeln('scrivi i valori della matrice quadrata ordine 3'); writeln('se valori con decimali usa punto decimale 5.3 '); writeln('dopo ogni valore premere enter '); writeln('------------------'); writeln('a1 b1 c1 '); writeln('a2 b2 c2 '); writeln('a3 b3 c3 '); writeln; for a:=1 to 3 do begin writeln('------------------------'); for b:=1 to 3 do begin write('riga ',a,' colonna n.',b,' = ');readln(n[a,b]); end; end; writeln; d[2]:=n[2,2]*n[3,3]-n[3,2]*n[2,3]; d[3]:=-(n[2,1]*n[3,3]-n[3,1]*n[2,3]); d[4]:=n[2,1]*n[3,2]-n[3,1]*n[2,2]; d[1]:=n[1,1]*d[2]+n[1,2]*d[3]+n[1,3]*d[4]; writeln('determinante matrice =',d[1]:4:3); writeln(d[2]:4:3); writeln(d[3]:4:3); writeln(d[4]:4:3); writeln('-----------------------------------'); writeln('prendi nota del valore del determinante'); writeln('per verificare relazione con nuovo determinante'); writeln('ottenuto apportando variazione alla matrice '); writeln; writeln('premi 1 per altro calcolo'); writeln('premi 2 per finire'); write('scelta 1 o 2 ? ');readln(scelta); case scelta of 1:calcola; 2:fine; end; end; begin clrscr; calcola; end.
Post n°1758 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) soluzione sistemi con kramer-sarrus(variante2) http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/kramer5.htm
program kramer5; (* regola pratica per determinante terzo ordine *) (* soluzione sistema a tre equazioni *) (* variante di kramer3 .. numeri reali o interi *) uses crt; var a1,a2,a3,b1,b2,b3,c1,c2,c3,n1,n2,n3:real; ds,dx,dy,dz,x,y,z:real; s:string; scelta,T:integer; procedure fine; begin exit; end; procedure impossibile; begin writeln('sistema impossibile'); end; procedure indeterminato; begin writeln('sistema indeterminato o impossibile'); writeln('premi enter'); readln; end; procedure determinato; begin writeln('sistema determinato:soluzioni='); writeln('determinante sistema ds=',ds:4:3); writeln('determinante incognita dx=',dx:4:3); writeln('determinante incognita dy=',dy:4:3); writeln('determinante incognita dz=',dz:4:3); writeln('X = ',dx/ds:4:3); writeln('Y = ',dy/ds:4:3); writeln('Z = ',dz/ds:4:3); writeln; writeln('premi enter'); readln; end; procedure calcola; begin clrscr; s:=' '; writeln('calcolo determinante terzo ordine:regola di SARRUS '); writeln('soluzione sistema con tre equazioni e tre incognite '); writeln('scrivi i valori dei coefficienti e termini noti'); writeln('se valori con decimali usa punto decimale 5.3 '); writeln('dopo ogni valore premere enter '); writeln('prova con seguenti valori '); writeln('1,2,3,4...2,4,6,8..3,6,9,12 indeterminato '); writeln('2,1,2,1...-3,2,-2,2..12,-1,10,4 impossibile '); writeln('1,2,3,4...7,3,9,8...2,1,6,3 determinato '); writeln('------------------'); writeln('a1 b1 c1 n1'); writeln('a2 b2 c2 n2'); writeln('a3 b3 c3 n3'); writeln('-------------------'); write('a1=');readln(a1); write('b1=');readln(b1); write('c1=');readln(c1); write('n1=');readln(n1); write('a2=');readln(a2); write('b2=');readln(b2); write('c2=');readln(c2); write('n2=');readln(n2); write('a3=');readln(a3); write('b3=');readln(b3); write('c3=');readln(c3); write('n3=');readln(n3); writeln('--------------------'); writeln(a1:4:3,s,b1:4:3,s,c1:4:3,s,n1:4:3); writeln(a2:4:3,s,b2:4:3,s,c2:4:3,s,n2:4:3); writeln(a3:4:3,s,b3:4:3,s,c3:4:3,s,n3:4:3); writeln; ds:=a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1; dx:=n1*b2*c3+b1*c2*n3+c1*n2*b3-n3*b2*c1-b3*c2*n1-c3*n2*b1; dy:=a1*n2*c3+n1*c2*a3+c1*a2*n3-a3*n2*c1-n3*c2*a1-c3*a2*n1; dz:=a1*b2*n3+b1*n2*a3+n1*a2*b3-a3*b2*n1-b3*n2*a1-n3*a2*b1; if (ds<>0) then T:=1 else if (ds=0) and (dx=0) and (dy=0) and (dz=0) then T:=2 else if (ds=0) and (dx<>0) or (dy<>0) or (dz<>0) then T:=3 else; case T of 1:determinato; 2:indeterminato; 3:impossibile; end; writeln('-----------------------------------'); writeln('premi 1 per altro calcolo'); writeln('premi 2 per finire'); write('scelta 1 o 2 ? ');readln(scelta); case scelta of 1:calcola; 2:fine; end; end; begin clrscr; calcola; end.
Post n°1757 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) soluzione sistemi con kramer-sarrus(variante) http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/kramer4.htm
program kramer4; (* regola pratica per determinante terzo ordine *) (* soluzione sistema a tre equazioni *) uses crt; var a1,a2,a3,b1,b2,b3,c1,c2,c3,n1,n2,n3:integer; ds,dx,dy,dz,x,y,z:real; s:string; scelta:integer; procedure fine; begin exit; end; procedure impossibile; begin writeln('sistema impossibile'); writeln('ds=',ds:4:3); writeln('dx=',dx:4:3); writeln('dy=',dy:4:3); writeln('dz=',dz:4:3); end; procedure indeterminato; begin writeln('sistema indeterminato o impossibile'); writeln('ds=',ds:4:3); writeln('dx=',dx:4:3); writeln('dy=',dy:4:3); writeln('dz=',dz:4:3); writeln('premi enter'); readln; end; procedure determinato; begin writeln('sistema determinato:soluzioni='); writeln('determinante sistema ds=',ds:4:3); writeln('determinante incognita dx=',dx:4:3); writeln('determinante incognita dy=',dy:4:3); writeln('determinante incognita dz=',dz:4:3); writeln('X = ',dx/ds:4:3); writeln('Y = ',dy/ds:4:3); writeln('Z = ',dz/ds:4:3); writeln; writeln('premi enter'); readln; end; procedure calcola; begin clrscr; s:=' '; writeln('calcolo determinante terzo ordine:regola di SARRUS '); writeln('soluzione sistema con tre equazioni e tre incognite '); writeln('scrivi i valori interi dei coefficienti e termini noti'); writeln('dopo ogni valore premere enter '); writeln('prova con seguenti valori '); writeln('1,2,3,4...2,4,6,8..3,6,9,12 indeterminato '); writeln('2,1,2,1...-3,2,-2,2..12,-1,10,4 impossibile '); writeln('1,2,3,4...7,3,9,8...2,1,6,3 determinato '); writeln('------------------'); writeln('a1 b1 c1 n1'); writeln('a2 b2 c2 n2'); writeln('a3 b3 c3 n3'); writeln('-------------------'); write('a1=');readln(a1); write('b1=');readln(b1); write('c1=');readln(c1); write('n1=');readln(n1); write('a2=');readln(a2); write('b2=');readln(b2); write('c2=');readln(c2); write('n2=');readln(n2); write('a3=');readln(a3); write('b3=');readln(b3); write('c3=');readln(c3); write('n3=');readln(n3); writeln('--------------------'); writeln(a1,s,b1,s,c1,s,n1); writeln(a2,s,b2,s,c2,s,n2); writeln(a3,s,b3,s,c3,s,n3); writeln; ds:=a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1; dx:=n1*b2*c3+b1*c2*n3+c1*n2*b3-n3*b2*c1-b3*c2*n1-c3*n2*b1; dy:=a1*n2*c3+n1*c2*a3+c1*a2*n3-a3*n2*c1-n3*c2*a1-c3*a2*n1; dz:=a1*b2*n3+b1*n2*a3+n1*a2*b3-a3*b2*n1-b3*n2*a1-n3*a2*b1; if (ds<>0) then determinato else if (ds=0) and (dx=0) and (dy=0) and (dz=0) then indeterminato else if (ds=0) and (dx<>0) or (dy<>0) or (dz<>0) then impossibile else; writeln('-----------------------------------'); writeln('premi 1 per altro calcolo'); writeln('premi 2 per finire'); write('scelta 1 o 2 ? ');readln(scelta); case scelta of 1:calcola; 2:fine; end; end; begin clrscr; calcola; end.
Post n°1756 pubblicato il 06 Febbraio 2014 da fumarinox
esercitazioni con turbopascal v.(3), 5-7 file.pas richiamati con turbo pascal v.5 si forniscono alcune immagini e listato.pas: possibile copiarlo,incollarlo su notes , salvarlo come file.pas, richiamarlo con turbo pascal v.5 o 7 presente su PC (dovrebbe funzionare, anche se datato ..1990..2000) soluzione sistemi con kramer-sarrus http://informascienze.altervista.org/algebraturbo/algebraturbo.htm http://informascienze.altervista.org/algebraturbo/kramer3.htm
program kramer3; (* regola pratica per determinante terzo ordine *) (* soluzione sistema a tre equazioni *) (* variante di kramer4 .. numeri reali o interi *) uses crt; var a1,a2,a3,b1,b2,b3,c1,c2,c3,n1,n2,n3:real; ds,dx,dy,dz,x,y,z:real; s:string; scelta:integer; procedure fine; begin exit; end; procedure impossibile; begin writeln('sistema impossibile'); writeln('ds=',ds:4:3); writeln('dx=',dx:4:3); writeln('dy=',dy:4:3); writeln('dz=',dz:4:3); end; procedure indeterminato; begin writeln('sistema indeterminato o impossibile'); writeln('ds=',ds:4:3); writeln('dx=',dx:4:3); writeln('dy=',dy:4:3); writeln('dz=',dz:4:3); writeln('premi enter'); readln; end; procedure determinato; begin writeln('sistema determinato:soluzioni='); writeln('determinante sistema ds=',ds:4:3); writeln('determinante incognita dx=',dx:4:3); writeln('determinante incognita dy=',dy:4:3); writeln('determinante incognita dz=',dz:4:3); writeln('X = ',dx/ds:4:3); writeln('Y = ',dy/ds:4:3); writeln('Z = ',dz/ds:4:3); writeln; writeln('premi enter'); readln; end; procedure calcola; begin clrscr; s:=' '; writeln('calcolo determinante terzo ordine:regola di SARRUS '); writeln('soluzione sistema con tre equazioni e tre incognite '); writeln('scrivi i valori dei coefficienti e termini noti'); writeln('se valori con decimali usa punto decimale 5.3 '); writeln('dopo ogni valore premere enter '); writeln('prova con seguenti valori '); writeln('1,2,3,4...2,4,6,8..3,6,9,12 indeterminato '); writeln('2,1,2,1...-3,2,-2,2..12,-1,10,4 impossibile '); writeln('1,2,3,4...7,3,9,8...2,1,6,3 determinato '); writeln('------------------'); writeln('a1 b1 c1 n1'); writeln('a2 b2 c2 n2'); writeln('a3 b3 c3 n3'); writeln('-------------------'); write('a1=');readln(a1); write('b1=');readln(b1); write('c1=');readln(c1); write('n1=');readln(n1); write('a2=');readln(a2); write('b2=');readln(b2); write('c2=');readln(c2); write('n2=');readln(n2); write('a3=');readln(a3); write('b3=');readln(b3); write('c3=');readln(c3); write('n3=');readln(n3); writeln('--------------------'); writeln(a1:4:3,s,b1:4:3,s,c1:4:3,s,n1:4:3); writeln(a2:4:3,s,b2:4:3,s,c2:4:3,s,n2:4:3); writeln(a3:4:3,s,b3:4:3,s,c3:4:3,s,n3:4:3); writeln; ds:=a1*b2*c3+b1*c2*a3+c1*a2*b3-a3*b2*c1-b3*c2*a1-c3*a2*b1; dx:=n1*b2*c3+b1*c2*n3+c1*n2*b3-n3*b2*c1-b3*c2*n1-c3*n2*b1; dy:=a1*n2*c3+n1*c2*a3+c1*a2*n3-a3*n2*c1-n3*c2*a1-c3*a2*n1; dz:=a1*b2*n3+b1*n2*a3+n1*a2*b3-a3*b2*n1-b3*n2*a1-n3*a2*b1; if (ds<>0) then determinato else if (ds=0) and (dx=0) and (dy=0) and (dz=0) then indeterminato else if (ds=0) and (dx<>0) or (dy<>0) or (dz<>0) then impossibile else; writeln('-----------------------------------'); writeln('premi 1 per altro calcolo'); writeln('premi 2 per finire'); write('scelta 1 o 2 ? ');readln(scelta); case scelta of 1:calcola; 2:fine; end; end; begin clrscr; calcola; end.
|
Inviato da: fumarinox
il 01/03/2023 alle 20:47
Inviato da: marabertow
il 24/02/2023 alle 20:59
Inviato da: cassetta2
il 20/12/2020 alle 16:11
Inviato da: cassetta2
il 12/10/2020 alle 10:01
Inviato da: cassetta2
il 05/08/2019 alle 20:30