INFOPedia : PRGSol6

HomePage :: Categorie :: Indice :: Ultime modifiche :: Ultimi commenti :: Login/Registrazione

Soluzioni esercizi proposti il 28 e 30/11/2006


Esercizio 1
program Esercizio1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
n=10;
type
Vettore= array[1..n] of integer;
var
i: integer;
v: vettore;

function testavettore(X: vettore): boolean;
var
i:integer;
trovato: boolean;
begin
i:=1;
trovato:=false;
while (v[i]<i) and (trovato=false)and (i<n) do
  begin
  if v[i]=i then trovato:=true
  else
  i:=i+1
  end;
testavettore:=trovato;


end;

begin
writeln('inserisci il vettore');
for i:= 1 to n do
  readln(V[i]);
writeln('hai finito..smettila..');

writeln(testavettore(v));

readln;
end.



Esercizio 2
program Esercizio2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const n=3;

type
Vettore=array[1..n] of integer;
Matrice=array[1..n,1..n] of integer;
var
M:Matrice;



Procedure RiempiMatriceMan(var MM:matrice);
 var
 AA: integer;
 BB: integer;
 begin
 Writeln('Inserisci ',n*n, ' elementi della matrice');
 for AA:=1 to n do
  for BB:=1 to n do
    readln(MM[AA,BB]);
 end;

Procedure StampaMatrice(MM: matrice);
 var
 ii: integer;
 jj: integer;
 begin
  Writeln('Hai inserito ',n*n, ' elementi');
  for ii:=1 to n do
   begin
    for jj:=1 to n do
    write(MM[ii,jj]:2,' ');
    writeln;
   end;
 end;

function TestaDispari(M: matrice): integer;
 var
 jj: integer;
 ii: integer;
 pari: boolean;
 ColonneDispari:integer;
 begin
 ColonneDispari:=0;
 pari:=false;
  for jj:=1 to n do
   begin
    ii:=1;
    pari:=false;
    repeat
    if (not odd(M[ii,jj])) then pari:=true;
    ii:=ii+1;
    until (pari=true) or (ii>n);
    if pari=false then ColonneDispari:=ColonneDispari+1;
   end;
  TestaDispari:=ColonneDispari;

 end;




{***************main**************}
begin
riempimatriceman(M);

stampamatrice(M);
writeln('Le colonne dispari sono: ',Testadispari(m));



readln;
end.



Esercizio 3
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
n=3;
type
Matrice=array[1..n,1..n] of integer;


var
M:matrice;
x: integer;
i,j: integer;

Procedure StampaMatrice(MM: matrice);
 var
 ii: integer;
 jj: integer;
 begin
  Writeln('Hai inserito ',n*n, ' elementi');
  for ii:=1 to n do
   begin
    for jj:=1 to n do
    write(MM[ii,jj]:2,' ');
    writeln;
   end;
 end;



begin
 Writeln('Inserisci il valore della posizione 1,1');
 readln(M[1,1]);
 for j:=2 to n do {sistemo la prima riga}
  M[i,j]:=M[i,j-1]+3;
 for i:=2 to n do
  begin
   M[i,1]:=M[i-1,1]+2;
   for j:=2 to n do
    M[i,j]:=M[i,j-1]+3;
  end;

stampamatrice(m);

readln;
end.



Esercizio 4
program Esercizio4;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const
n=10;

type
vettore=Array[1..n] of integer;

var
X,V:vettore;
split,i,AUX: integer;

begin
writeln('Inserisci tutti e ',n,' gli elementi');
for i:=1 to n do
  readln(V[i]);
for i:=1 to n do
  write(V[i],' ');
writeln;
Writeln('inserisci un numero compreso tra 1 e ',n);
readln(split);
{sposto la metà del vettore dopo lo split nella prima parte del nuovo vettore}

for i:=split to n do
  X[i-split+1]:= V[i];

Writeln('Situazione dopo la prima parte di sostituzioni.');
for i:=1 to n do
  write(X[i],' ');
  writeln;

{sposto la restante parte del vettore, nelle caselle ancora libere}
for i:=1 to split-1 do
  X[n+1-split+i]:=V[i];


for i:=1 to n do
  write(X[i],' ');

readln;
end.


Esercizio 5
Coming soon.



Esercizio 6
program Esercizio6;

{$APPTYPE CONSOLE}

uses
  SysUtils;
const
n=20;
type
matrice=array[1..n,1..n]of integer;
var
M:matrice;



{Richiede "matrice" dichiarato come type e "n" come const}
Procedure RiempiMatriceRandom(var MM:matrice);
 var
 ii: integer;
 jj: integer;
 begin
 randomize;
 Writeln('Ho inserito ',n*n, ' elementi random nella matrice');
 for ii:=1 to n do
  for jj:=1 to n do
    MM[ii,jj]:=random(50);
 end;

 Procedure StampaMatrice(MM: matrice);
 var
 ii: integer;
 jj: integer;
 begin
  Writeln('Matrice di ',n*n, ' elementi');
  for ii:=1 to n do
   begin
    for jj:=1 to n do
    write(MM[ii,jj]:2,' ');
    writeln;
   end;
 end;

Function ContaNere(MM:matrice):integer;
var
ii,jj,somma:integer;
begin
somma:=0;
for ii:=1 to n do
  for jj:=1 to n do
    if  (odd(ii) xor odd(jj)) then somma:=somma+MM[ii,jj];
Contanere:=somma;
end;

Function ContaBianche(MM:matrice):integer;
var
ii,jj,somma:integer;
begin
somma:=0;
for ii:=1 to n do
  for jj:=1 to n do
    if  (odd(ii) xor (not odd(jj))) then somma:=somma+MM[ii,jj];
Contabianche:=somma;
end;



begin
riempimatricerandom(m);
stampamatrice(m);
writeln('La somma delle caselle nere: ',contanere(m));
writeln('La somma delle caselle bianche: ',contabianche(m));
if contanere(m)>contabianche(m) then
  writeln('La somma delle caselle nere e'' maggiore')
else
  writeln('La somma delle nere e'' minore o uguale a quelle bianche');





readln;
end.



Torna a Programmazione e Lab.

Non ci sono commenti in questa pagina. [Scrivi commento]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
La pagina è stata generata in 0.2764 secondi