Vettori e record (R)

Tipi di dato (semplice o strutturato?)

bulletReal: semplice
bulletRecord: strutturato
bulletInteger: semplice
bulletArray: strutturato

Dichiara (e commenta) un tipo di dato per immagazzinare

A. l'elenco degli studenti di una classe

Type
   Studente = Record
      Cognome,
      Nome: String[15];
   End;
   Classe = Array[1..Nmax] of Studente;

B. le temperature rilevate ogni ora dalle 10.00 alle 20.00

Type TEMPERATURE = Array[10..20] of Real;

C. il risultato di una partita di calcio

Type
   RISULTATO = Record
      SquadraIN,
      SquadraOUT: String[15];
      GolIN,
      GolOUT: Integer;
   End;

D. il numero di volte che compare ciascuna parola in un testo

Type
   PAROLACONT = Record
      Parola: String[30];
      Cont: Integer;
   End;
   TESTOCONT = Array[1..Pmax] of PAROLACONT;

Siano R un record e V un vettore di record, analizza e "commenta" le istruzioni seguenti

  1. V:=R;

    ERRATO: non ammessa l'assegnazione tra tipi diversi
     
  2. V:=V2;

    ERRATO: non ammessa l'assegnazione tra vettori
     
  3. R:=R2;

    Assegna R2 a R
     
  4. V[i]:=R;

    Assegna R a V[i] (V č un vettore di record...)
     
  5. V[i].Nome:=R.Nome;

    Assegna R.Nome a V[i].Nome (V č un vettore di record, i due campi Nome sono dello stesso tipo...)
     
  6. if (V = VX) then ...

    ERRATO: non ammesso il confronto tra vettori
     
  7. if (V = R) then ...

    ERRATO: non ammesso il confronto tra tipi diversi
     
  8. while (V[i].Chiave <> R.Chiave) do ...

    Confronta V[i].Chiave con R.Chiave (come in 5. ...)

Progetta (analisi con esempi, algoritmo risolutivo, interfaccia) e realizza (codifica commentata) un sottoprogramma risolutivo per il problema

bulletQuanti numeri pari in un vettore di INTERI?

Dichiara (e commenta) un tipo di dato per immagazzinare

A. Le caratteristiche di un P.C.

Type
   PC = Record
      ... {µP, Clock, RAM, HD, ...}
   End;
B. I libri di testo per la tua classe
Type
   LIBRO = Record
      ... {autore, titolo, casaeditrice, prezzo, ...}
   End;
   I_LIBRI = Array[1..20] of LIBRO;
C. Le misure annuali, dalla nascita, della tua altezza.
Type
   ALTEZZE = Array[0..25] of Real;
D. I tuoi voti a scuola
Type
   VOTO = Record
      ... {data, materia, tipo, valutazione, ...}
   End;
   I_VOTI = Array[1..100] of Studente;
Analizza e "commenta" in linguaggio naturale le singole istruzioni (corrette…) seguenti

  1. V[R.x]:=3;

    Assegna il valore 3 alla posizione R.x del vettore V (quindi x č un intero, V č un vettore di interi...)
     
  2. V[x]:=R;

    Assegna il record R alla posizione x del vettore V (quindi x č un intero e V č un vettore di record del tipo di R...)
     
  3. if(R.x = V[y].z) then

    Confronta R.x con V[y].z (quindi il campo x di R e il campo z di V[y] sono dello stesso tipo, y č un intero, V č un vettore di record...)

Progetta (analisi con esempi, algoritmo risolutivo, interfaccia) e realizza (codifica commentata) un sottoprogramma risolutivo per il problema

bulletSono uguali i totali dei valori all’interno di due vettori di reali?

- ApPuNtIdIuNiNfOrMaTiCo