Guida Pascal
Capitolo 12° - Il tipo derivato record
Un record (che chiameremo sempre struttura) è un tipo nuovo di variabile, definito dal programmatore. Non è altro che linsieme di più tipi diversi e reimpostati. In una struttura ci sono più variabili diverse, chiamate campi, che sono accessibili con loperatore . (punto). Vediamo un esempio:
type persona=record eta:byte; nome:string[40]; cognome:string[50]; professione:string[55]; end; Questa dichiarazione rende accessibile il tipo persona come tipo di dato, nel quale ci sono 4 campi, eta, nome, cognome e professione. La riga persona=record definisce il nome della struttura. Quindi, per dichiarare una struttura si usa lespressione: type <nome>=record <campo1>:<tipo>; <campo2>:<tipo>; ... end; Ora vediamo come si usa sul piano pratico, prendendo sempre le struttura persona, definita in precedenza: Program Esempio6; Uses Crt; type persona=record eta:byte; nome:string[40]; cognome:string[50]; professione:string[55]; end; Var qualcuno:persona; begin clrscr; writeln(Inserire il nome e il cognome della persona.); readln(qualcuno.nome,qualcuno.cognome); write(Inserire letà: ); readln(qualcuno.eta); write(e la professione: ); readln(qualcuno.professione); write(qualcuno.nome, ,qualcuno.cognome, ha ,qualcuno.eta); writeln(anni e fa il ,qualcuno.professione); readln end. Per accedere ad un qualsiasi campo di dati di una struttura si usa il punto. Nondimeno, ci possono essere anche array e altre strutture in ununica struttura, ad esempio: (*...*) type tipo1=record vettore:array[1..29] of char; n:array[1..99,2..98] of byte; t:text; end; type tipo2=record esempio:tipo1; stringa:string[167]; vettore:array[1..10] of char; end; Var a:tipo2; b:array[1..56] of tipo1; (*...*) write(a.esempio.vettore[3]); a.vettore[3]:=chr(a.esempio.n[76,23]); read(b[45].n[3,78]); (*...*) Si sono dichiarate due strutture, tipo1 e tipo2: questultimo possiede al proprio interno un campo di tipo tipo1. Per accedere ad ogni singolo campo si possono usare anche più di un punto. Lindicazione di un indice di un array è da specificare sempre vicino alla variabile di cui è indice, ad esempio: b.t[2] (*E sbagliato, perché, per indicare lelemento 2 di b si deve scrivere*) b[2].t Piccola nota finale: la funzione chr(x:byte) resituisce il carattere numero x in base alle tabelle ASCII.
C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...
|