Home page

Teacher

On

line

Il sito

Competenze da acquisire

Regole didattiche

Contatore visite
 (dal 18-10-07)
Hit Counter
  Esercitazion PON / TIC Album Fotografico ricreazione_e_video Forum didattico Progetti Alunni Corsi per docenti Download    

IIS: Ragioneria

1°Anno  CAT

2°Anno AFM

3° Anno AFM

3° Anno  SIA

4°Anno AFM

4°Anno SIA

5°Anno SIA


Algoritmi fondamentali


Flow Chart


Codice


Ricordi

Statistiche

Procedure

(soluzioni con l'uso delle procedure)

    Pag.311 n° 34

    Pag  312 n° 37

program citta;  Pag. 311 n.34
uses crt;
const
     lvet=30;             
var
     i:integer;                              {indice}
     N:integer;                              {numero citta}
     nome:string;                            {nome di 1 citta'}
     vetnome:array[1..lvet]of string;        {vettore di citta'}
     totncl:integer;                         {tot cittadini lavaratori}
     totnp:integer;                          {tot pensionati}
     totnnl:integer;                         {tot disoccupati}
     vetncl:array[1..lvet]of integer;        {vettore dei lavoratori}
     vetnp:array[1..lvet]of integer;         {vettore dei pensionati}
     vetnnl:array[1..lvet]of integer;        {vettore dei disoccupati}
     totale:integer;                         {somma dei totali}
     percncl:integer;                        {percentuale  lavoratori}
     percnp:integer;                         {percentuale pensionati}
     percnnl:integer;                        {percentuale disoccupati}
procedure caricavettore;
begin
     writeln('dammi il numero delle citt…');
     readln(N);
     i:=1;
     for i:=1 to N do
     begin
         writeln('dammi il nome della città');
         readln(vetnome[i]);
         writeln('dammi il numero dei lavoratori');
         readln(vetncl[i]);
         writeln('dammi il numero dei pensionati');
         readln(vetnp[i]);
         writeln('dammi il numero dei disoccupati');
         readln(vetnnl[i])
     end;
end;
procedure percentuale;
var
tot:integer;
percncl:real;
percnp:real;
percnnl:real;


begin
     for i:=1 to N do
     begin
          tot:=vetncl[i]+vetnp[i]+vetnnl[i];
          percncl:=vetncl[i]*100/tot;
          percnp:=vetnp[i]*100/tot;
          percnnl:=vetnnl[i]*100/tot;
          writeln('la citt… ',vetnome[i],' ha il');
          writeln (percncl:4:2,'% di lavoratori ',percnp:4:2,'% di pensionati ',percnnl:4:2,'% di disoccupati');
     end;
end;
procedure totali;
var
totncl,totnp,totnnl:integer;
begin
     totncl:=0;
     totnp:=0;
     totnnl:=0;
     for i:=1 to N do
     begin
          totncl:=vetncl[i]+totncl;
          totnp:=vetnp[i]+totnp;
          totnnl:=vetnnl[i]+totnnl;
    end;
    writeln('il totale dei lavoratori è ',totncl,',  dei pensionati è ',totnp,', dei disoccupati è ', totnnl);
end;
begin {programma principale}
      clrscr;
      caricavettore;
      percentuale;
      totali;
      readln;
end.
 




program cd; Pag 312 n°37 
const
     l_vet=30;
var
durata   :array[1..l_vet] of integer;
titbrano :array[1..l_vet] of string[15];
nb:     integer;
titcd:             string[15];
artista:           string[15];
procedure carica_brani;
          var
             i:integer;
          begin
               for i:= 1 to nb do
                   begin
                        writeln('inserisci il titolo del brano');
                        readln(titbrano[i]);
                        writeln('dammi la durata dei brani');
                        readln(durata[i]);
                   end;
          end;
procedure stampa;
var i:integer;
    totcd:integer;
          begin
               totcd:=0;
               writeln('artista:                         titolo:');
               writeln(artista,'                        ',titcd);
               writeln('-------------------------------------');
               writeln('titolo                          durata');
               for i:= 1 to nb do
               begin
                    writeln(titbrano[i],'                ',durata[i]);
                    totcd:=totcd+durata[i];
               end;
               writeln('-------------------------------------');
               writeln('durata del cd: ',totcd);
          end;
begin     {main program}
          writeln('dammi il nome dell''artista');
          readln(artista);
          writeln('dammi il nome del cd');
          readln(titcd);
          writeln('dammi il numero dei brani');
          readln(nb);
          carica_brani;
          stampa;
readln;
e
nd.