La campana.

Ci sono quelli che hanno letto questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere la campana
Senza spam.

Agenzia federale per l'istruzione

astratto

"Tipi di dati in Pascal"

1. Tipi di dati

Qualsiasi dato, I.e. Costanti, variabili, proprietà, valori di funzioni o espressioni sono caratterizzati dai loro tipi. Digitare definisce molti. valori ammissibiliche può avere uno o un altro oggetto, oltre a molte operazioni consentite che si applicano ad esso. Inoltre, il tipo definisce anche il formato della rappresentazione interna dei dati nella memoria del PC.

In generale, l'oggetto Pascal Language è caratterizzato da una struttura di tipo di dati ampia (Fig. 1.1). La lingua fornisce un meccanismo per la creazione di nuovi tipi, a causa del quale il numero totale di tipi di tipi utilizzato nel programma potrebbe essere molto grande.

I dati elaborati nel programma sono suddivisi in variabili, costanti e letterali:

Costanti Presenta i dati, i cui valori sono impostati negli annunci costanti e non cambiano durante l'esecuzione del programma.

Variabili Sono annunciati nella sezione Annunci di classe, ma in contrasto con le costanti ricevono i loro valori nel processo di esecuzione del programma e la modifica di questi valori è consentita. Le costanti e le variabili possono essere chiamate per nome.

Letterale Non ha un identificatore e appare nel testo del programma del programma direttamente.

Un tipo Definisce molti valori che possono ricevere elementi di dati e un insieme di operazioni consentite.

In questo e quattro capitoli successivi sono dati descrizione dettagliata Tutti i tipi.

1.1 tipi semplici

I tipi semplici includono sequenza, tipi reali e tipo data-tempo.

Tipi ordinali Differiscono in questo ha un numero finale di possibili valori. Questi valori possono essere ordinati in un certo modo (da qui - il nome dei tipi) e, quindi, con ciascuno di essi è possibile confrontare alcuni numeri interi: il numero di sequenza del valore.

Tipi di tipi reali , Rigorosamente parlando, ha anche un numero finito di valori, che è determinato dal formato della rappresentazione interna del numero reale. Tuttavia, il numero di possibili valori dei tipi reali è così grande che non è possibile confrontare con ciascuno di essi (il suo numero) è possibile.

Digitare la data-tempo Progettato per memorizzare le date e il tempo. Infatti, per questi scopi, utilizza il vero formato.

1.1.1 Tipi ordinali.

I tipi ordinali sono correlati (vedere figura 1.1) I numeri interi, logici, simboli, elencati e tipo-range. A qualsiasi di loro, la funzione ORD (X) è applicabile, che restituisce il numero di sequenza di espressione X.


Fico. 1.1 - Struttura del tipo di dati

Per interi Tipi funzione ord (x) restituisce il valore di x, i.e. order (x) \u003d x per x appartenente a qualsiasi totale Genere. Applicazione order (x) a logica , simbolico e elencato. I tipi danno un numero intero positivo nell'intervallo da 0 a 1 ( tipo logico), da 0 a 255 ( simbolo), da 0 a 65535 ( elencato). Tipo-range Salva tutte le proprietà di base tipo ordinalePertanto, il risultato dell'applicazione della funzione ORD (X) dipende dalle proprietà di questo tipo.

Per i tipi di sequenza, è anche possibile utilizzare le funzioni:

pred (x) - restituisce il valore precedente del tipo di sequenza (un valore che corrisponde al numero dell'ordine order (x) -1, I.e. order (rosso (x)) \u003d ord (x) - 1;

succ (x) - Restituisce il valore successivo del tipo di sequenza, che corrisponde al numero ordinale ORD (X) +1, I.e. Ord (Succ (X)) \u003d Ord (X) + 1.

Ad esempio, se una variabile è definita nel programma

la funzione Pred (c) restituirà il carattere "4" e la funzione succ (c) è il simbolo "6".

Se si immagina qualsiasi tipo di sequenza come un insieme ordinato di valori in aumento da sinistra a destra e occupare un determinato segmento sull'asse numerico, quindi la funzione Pred (X) non è definita per sinistra, un succ (x) - per l'estremità destra di questo segmento.

Interi tipi . La gamma di possibili valori di tutti i tipi dipende dalla loro rappresentazione interna, che può occupare uno, due, quattro o otto byte. Nella scheda. 1.1 I nomi degli interi tipi sono forniti, la lunghezza della loro rappresentazione interna in byte e la gamma di valori possibili.

Tabella 1.1 - Intere Tipi

Nome Lunghezza, byte. Gamma di valori
Cardinale. 4 0. .. 2 147 483 647
Byte 1 0...255
Shunt. 1 -128...+127
Smallinta. 2 -32 768...+32 767
Parola. 2 0...65 535
Numero intero 4
Longint. 4 -2 147 483 648...+2 147 483 647
INT64. 8 -9*1018...+9*1018
Longword. 4 0. . .4 294 967 295

Tipi Longword. e INT64. Introdotto per la prima volta nella versione 4 e nei tipi Smallinta. e Cardinale. Nessuno in Delphi 1. Tipo numero intero Questa versione richiede 2 byte e ha una serie di valori da -32768 al +32767, cioè coincide con Smallinta. .

Quando si utilizzano le procedure e le funzioni con i parametri interi, dovresti essere guidato dalla "Nesterness" dei tipi, I.e. dovunque possa essere usato parola. L'uso è consentito Byte (ma non viceversa), in Longint. "Entra" Smallinta. che a sua volta include Shunt. .

L'elenco delle procedure e delle funzioni applicabili ai tipi di numero intero è indicato nella tabella. 1.2. Lettere B, S, W, I, L sono indicate dalle espressioni del tipo, rispettivamente Byte , Shint, Word, Integer e Longant ,

x - espressione di uno qualsiasi di questi tipi; Le lettere VB, VS, VW, VI, VL, VX indicano le variabili dei rispettivi tipi. Nelle staffe quadre, viene specificato il parametro opzionale.

Tabella 1.2 - Procedure standard e funzioni applicabili a interi tipi

Appello Tipo di risultato atto
aBS (X) x. Restituisce il modulo X
cHR (B) Char. Restituisce un simbolo nel suo codice
dEC (VX [, I]) - Riduce il valore di VX a I, e in assenza di I - per 1
iNC (VX [, I]) - Aumenta il valore di VX a I, e in assenza di I-IT 1
Ciao (w) Byte Restituisce l'arco dell'argomento anziano
Ciao (i) Anche Restituisce il terzo byte
Lo (i) Restituisce l'argomento più giovane dei byte
Basso) Anche
dispari (l) Booleano. Restituisce true se un argomento è un numero dispari
Casuale (w) Come il parametro Restituisce un numero pseudo-casuale, distribuito uniformemente nell'intervallo 0 ... (W-L)
sqr (x) X. Restituisce il quadrato dell'argomento
swap (i) Numero intero Cambiamenti nei posti byte nella parola
swap (W) Parola. Anche

Quando le azioni con i numeri interi, il tipo di risultato corrisponderà al tipo di operandi e se gli operandi si riferiscono a diversi tipi di tipi - tipo condiviso che include entrambi gli operandi. Ad esempio, quando le azioni con shunt. e parola. Generale sarà tipo numero intero . NEL impostazioni standard Il compilatore Delphi non produce un codice che controlla il possibile controllo del valore dall'intervallo valido, che può portare a incomprensioni.

Tipi logici. . I tipi includono logici. Boolean, bytebool, bool, wordbool e Longbool. . Nel Pascal standard, solo il tipo è definito Booleano. , i tipi di logica rimanenti sono inseriti in oggetto Pascal per la compatibilità Windows: Tipi Booleano. e Bytebool. occupano una ciao ogni, Bool e Wordbool. - 2 byte, Longbool. - 4 byte. Valori tipo logico Potrebbe esserci una delle false costanti pre-annunciate o vere (verità).

Poiché il tipo logico si riferisce ai tipi di sequenza, può essere utilizzato nell'operatore del ciclo del tipo corrente. A Delphi 32 per Booleano. valore

Ord (true) \u003d +1, mentre per altri tipi ( Bool, wordbool. eccetera.)

Ord (true) \u003d -1, quindi questo tipo di operatori dovrebbe essere usato con cautela! Ad esempio, per la versione di Delphi 6 Istruzione eseguibile ShowMessage ("---") nel ciclo successivo per non sarà soddisfatto:

per l: \u003d falso al vero fare

ShowMessage ("-);

Se si sostituisce il tipo di ciclo l nell'esempio precedente su Booleano. Il ciclo funzionerà e il messaggio apparirà due volte sullo schermo. [Per Delphi versione 1 e 2 ord (true) \u003d + 1 per qualsiasi tipo logico.]

Tipo di simbolo . I valori del tipo simbolico sono il set di tutti i caratteri del PC. Ogni personaggio è attribuito a un numero intero nell'intervallo di 0 ... 255. Questo numero funge da codice della rappresentazione interna del simbolo, restituisce la funzione ORD.

Per una codifica in Windows, viene utilizzato un codice ANSI (denominato American National Standard Institute - L'American Institute for Standardization, che ha suggerito questo codice). La prima metà dei caratteri del PC con i codici 0 ... 127 corrisponde alla tabella 1.3. La seconda metà dei simboli con i codici 128 ... 255 sta cambiando per vari caratteri. Caratteri standard di Windows Arial Cyr, corriere Nuovo Cyr e Times New Roman per rappresentare Caratteri cirillici (senza lettere "E" e "E") Utilizzare l'ultimo codice 64 (da 192 a 256): "A" ... "I" sono Valori codificati 192..223, "A" ... "I" - 224 ... 255. I personaggi "E" e "E" hanno, rispettivamente, codici 168 e 184.

Tabella 1.3 - Codifica dei simboli in conformità con lo standard ANSI

Il codice Simbolo Il codice. Simbolo Il codice. Simbolo Il codice Simbolo
0 Nul. 32 Bl. 64 @ 96 "
1 Zona 33 ! 65 MA 97 ma
2 Stx. 34 66 NEL 98 b.
3 Etice 35 # 67 A PARTIRE DAL 99 a partire dal
4 EOT. 36 $ 68 D. 100 d.
5 ENQ. 37 % 69 E. 101 e.
6 ACK. 38 & 70 F. 102 f.
7 Bel. 39 " 71 G. 103 d.
8" BS. 40 ( 72 N. 104 h.
9 Ht. 41 ) 73 IO. 105 iO.
10 Lf. 42 * 74 J. 106 j.
11 Vt. 43 + 75 PER 107 k.
12 Ff. 44 F. 76 L. 108 1
13 Cr 45 - 77 M. 109 m.
14 COSÌ. 46 78 N. 110 n.
15 Si. 47 / 79 0 111 di
16 Del. 48 0 80 R. 112 P.
17 DC1. 49 1 81 Q. 113 q.
18 DC2. 50 2 82 R. 114 r.
19 DC3. 51 3 83 S. 115 s.
20 DC 4. 52 4 84 T. 116 t.
21 Nak. 53 5 85 U. 117 u.
22 Syn. 54 6 86 V. 118 v.
23 ETB. 55 7 87 W. 119 W.
24 PUÒ 56 8 88 h. 120 x.
25 Em. 57 9 89 Y. 121 W.
26 Sub. 58 : 90 Z. .122 z.
27 ESC 59 ; 91 t. 123 {
28 Fs. 60 < 92 \ 124 1
29 GS. 61 = 93 ] 125 }
30 Rs. 62 > 94 L. 126 ~
31 NOI. 63 F. 95 127 r.

Simboli con codici 0 ... 31 appartengono ai codici di servizio. Se questi codici vengono utilizzati nel testo simbolico del programma, sono considerati spazi.

Digitare char. Rapporti applicativi, oltre a funzioni incorporate:

Shar (B) - Funzione tipo char. ; Converte l'espressione in tipo Byte nel simbolo e restituisce il suo significato;

Upcase (CH) - Funzione tipo char. ; Restituisce una lettera maiuscola se il CH è una lettera latina minuscola, altrimenti il \u200b\u200bsimbolo stesso restituisce il carattere sorgente per cirillico).

Tipo quotato . Il tipo di tipo è impostato dall'enumerazione dei valori che può ricevere. Ogni valore è indicato come un determinato identificatore e si trova nell'elenco incorniciato da parentesi rotonde, ad esempio:

colori \u003d (rosso, bianco, blu);

L'applicazione dei tipi elencati rende visivamente i programmi.

La corrispondenza tra i valori del tipo di tipo e dei numeri di sequenza di questi valori è impostato dall'ordine del elenco: il primo valore nell'elenco riceve il numero di sequenza 0, il secondo - 1, ecc. Il La massima potenza del tipo di tipo è 65536 valori, quindi in realtà il tipo di tipo specifica un leggero tipo di tipo intero parola. E può essere considerato come un annuncio compatto immediatamente un gruppo di costanti interi con valori di 0, 1, ecc.

L'uso dei tipi elencato aumenta l'affidabilità dei programmi dovuti alla capacità di controllare tali valori che variabili appropriate. Nell'oggetto Pascal, è consentita la trasformazione inversa: qualsiasi espressione Parola. È possibile convertire il valore del tipo di tipo, a meno che il valore di un'espressione intera non superi la potenza di questo tipo. Tale conversione viene raggiunta utilizzando la funzione dichiarata automaticamente con il nome del tipo di elenco.

Tipo-range . Type-range è un sottoinsieme del suo tipo base, che può fungere da qualsiasi tipo di sequenza, ad eccezione del tipo-range.

Il tipo-range è impostato dai limiti dei suoi valori all'interno del tipo base:

<мин.знач.>..<макс.знач.>

Qui<мин. знач. > - il valore minimo di tipo range;<макс. знач. > - il valore massimo.

La gamma di tipo non è necessaria nella sezione Tipo e è possibile specificare direttamente quando le dichiarazioni variabili.

Quando si determina la banda di tipo, è necessario essere guidati dalle seguenti regole:

due caratteri ".." sono considerati come un personaggio, quindi gli spazi sono inaccettabili tra loro; Il limite sinistro dell'intervallo non deve superare il bordo giusto.

L'intervallo di tipo eredita tutte le proprietà del suo tipo base, ma con limitazioni associate alla sua potenza inferiore. In particolare, se la variabile è definita.

La libreria standard dell'oggetto Pascal include due funzioni che supportano il lavoro con le bande:

Alto (x) - restituisce il valore massimo del tipo-range a cui appartiene la variabile X;

Basso (x) - Restituisce il valore minimo del tipo-range.

1.1.2 Tipi reali

In contrasto con i tipi ordinali, i cui valori sono sempre confrontati con un numero di numeri interi e, pertanto, sono assolutamente proprio con precisione con precisione, i valori dei tipi reali determinano un numero arbitrario solo con una precisione finita a seconda di il formato interno del numero reale.

Tabella 1.4 - Tipi reali

NEL versione precedente Delphi 1 ... 3 Tipo Vero Ha tenuto 6 byte e ha avuto una serie di valori da 2,9 * 10-39 a 1,7 * 1038. Versioni 4 e 5 Questo tipo è equivalente al tipo Doppio. . Se necessario (a scopo compatibilita) Utilizzare 6 byte Vero È necessario specificare la direttiva del compilatore (surealcompatility on).

Come si può vedere dal tavolo. 1.4, il numero reale in oggetto Pascal richiede da 4 a 10 byte adiacenti e ha la seguente struttura nella memoria del PC.

Qui s è uno scarico del segno; E - Parte esponenziale; contiene ordine binario; M - numero di mantissa.

Mantissa m ha una lunghezza di 23 (per singolo) fino a 63 (per Esteso) Scarichi binari, che forniscono accuratezza di 7 ... 8 per singolo e 19 ... 20 per Esteso cifre decimali. Il punto decimale (virgola) è pensato prima della scarica sinistra (senior) della mantissa, ma sotto le azioni con il numero, la sua posizione viene spostata a sinistra oa destra in conformità con l'ordine binario del numero memorizzato nella parte esponenziale , quindi le azioni su numeri reali sono chiamate un punto flottante aritmetico (virgola).

Si noti che il coprocessore aritmetico elabora sempre i numeri nel formato Esteso E altri tre tipi reali in questo caso sono ottenuti mediante semplice troncamento dei risultati alle dimensioni desiderate e vengono utilizzati principalmente per salvare la memoria.

Posizione speciale in oggetto Pascal comp. e Moneta. che sono interpretati come numeri reali con parti frazionarie di lunghezza fissa: in comp. La parte frazionata ha una lunghezza di 0 scarichi, cioè è semplicemente assente, in moneta. Durata della parte frazionaria -4 scarica decimale. Infatti, entrambi i tipi definiscono un grande numero intero con un segno che mantiene 19 ... 20 numeri decimali significativi (nella rappresentazione interiore occupano 8 byte adiacenti). Allo stesso tempo delle espressioni comp. e moneta. Completamente compatibile con qualsiasi altro tipo reale: tutte le operazioni reali sono definite sopra di loro, possono essere utilizzate come argomenti di funzioni matematiche, ecc. L'area più adatta dell'applicazione di questi tipi è calcoli contabili.

1.1.3 Tipo Data-Time

Digitare la data-tempo è determinata dall'identificatore standard TDatetime. E progettato per la memorizzazione e la data simultanea e il tempo. Nella rappresentazione interna, ci vogliono 8 byte e simili moneta. È un numero reale con una parte frazionata fissa: nella parte intera del numero memorizza la data, nel tempo frazionario. La data è definita come il numero di giorni passati dal 30 dicembre 1899, e il tempo - come parte del giorno passato da 0 ore, quindi il valore di 36444.837 corrisponde alla data 10.10.1999 e del tempo 20:05. Il numero di giorni può essere negativo, tuttavia, i valori sono inferiori -693594 (corrispondono alla data 00.00.0000 dalla natività di Cristo) vengono ignorati dalle funzioni di conversione date al tipo di stringa.

Sopra il tipo di dati TDatetime. Le stesse operazioni sono identificate come numeri reali, e costanti e variabili dei numeri interi e dei tipi reali possono partecipare alle espressioni di questo tipo.

Dal momento che il tipo TDatetime. Compatibile con il formato di numeri reali, è possibile determinare facilmente la data, separata dall'interno o all'indietro o all'indietro: per questo, è sufficiente aggiungere abbastanza a una data data o prendere il numero intero necessario da esso.

1.2 Tipi strutturati

Qualsiasi dei tipi strutturati (e in oggetto Pascal i loro quattro: array, voci, set e file) è caratterizzato dalla pluralità di questi tipi di elementi. Ogni elemento, a sua volta, può appartenere a un tipo strutturato, che ci consente di parlare del possibile nidificazione dei tipi. L'oggetto Pascal è consentito una profondità arbitraria dei tipi di tipi, tuttavia, la lunghezza totale di qualsiasi parte della rappresentanza interna non deve superare i 2 GB.

Per la compatibilità con Pascal standard in oggetto Pascal, è consentito impostare una parola riservata prima di descrivere il tipo strutturato. confezionato. Prescrizione di un compilatore, se possibile, per salvare la memoria assegnata agli oggetti di tipo strutturato; Ma il compilatore ignora effettivamente questa indicazione: i dati "Imballaggio" in oggetto Pascal vengono eseguiti automaticamente ovunque, ove possibile.

1.2.1 Arrays.

Gli array di oggetto Pascal sono in gran parte simili a tipi di dati simili in altri linguaggi di programmazione. Caratteristica distintiva Gli array stanno nel fatto che tutti i loro componenti sono i dati dello stesso tipo (possibilmente strutturato). Questi componenti possono essere facilmente semplificati e fornire accesso a uno qualsiasi di loro semplicemente indicando il suo numero di sequenza.

Una descrizione del tipo di array è riportata come segue:

<имя типа> \u003d Array [<сп.инд.типов> ] Di.<тип>;

Qui<имя типа> - l'identificatore corretto; array, di. - parole riservate (array, da);<сп.инд.типов> - un elenco di uno o più tipi di indici, separati da virgole; Staffe quadre che incorniciano l'elenco - il requisito della sintassi;<тип> - Qualsiasi tipo di oggetto Pascal.

Come tipo di indice in oggetto Pascal, qualsiasi tipo di sequenza che non ha alcuna capacità di non più di 2 GB può essere utilizzato (cioè eccetto Longword. e INT64.)

La profondità dei tipi strutturati di nidificazione in generale, e, pertanto, gli array sono arbitrari, pertanto il numero di elementi nell'elenco dei tipi di indice (la dimensione dell'array) non è limitata, ma la lunghezza totale della rappresentazione interna di qualsiasi L'array non può essere superiore a 2 GB. Nella memoria del PC, gli elementi dell'array si susseguono in modo che quando si spostano da indirizzi più giovani all'anziano, l'indice di array più giusto cambia.

In oggetto Pascal, è possibile trasferire tutti gli elementi di un array a un'altra serie dello stesso tipo con un operatore di assegnazione.

1.2.2 Records.

Disco - Questa è una struttura di dati costituita da un numero fisso di componenti chiamati campi di ingresso. In contrasto con l'array, i componenti (campi) del record possono essere di tipi diversi. Per fare riferimento a un particolare componente record, i campi sono chiamati.

Tipo di registrazione Struttura dell'annuncio:

<имятипа> \u003d Record.<сп.полей> fine;

Qui<имя типа> - l'identificatore corretto; record / fine. - parole riservate (ingresso, fine);<сп.полей> - Elenco dei campi; È una sequenza di partizioni di registrazione, tra cui è placcato il punto.

Ogni sezione di ingresso è costituita da uno o più identificatori di campo separati da ogni altro virgole.

Frase caso di. , Aprire una variante, esternamente simile all'operatore di selezione appropriato, ma infatti svolge solo il ruolo di una specie di partenza, denotando l'inizio della variante. Ecco perché alla fine dell'opzione non dovrebbe essere messo fine. Come un paio di k caso di. . (Poiché la parte variante è sempre l'ultima nel record, vale ancora la pena di finire, ma solo come coppia da registrare). La scelta della scelta della proposta caso di. Viene effettivamente ignorato dal compilatore: l'unico requisito per questo in oggetto Pascal è che la chiave definisce un tipo di sequenza standard o pre-dichiarato.

I nomi dei campi devono essere univoci all'interno dello stesso record, in cui sono dichiarati, tuttavia, se i record contengono campi di scrittura sul campo, I.e. Niclì uno all'altro, i nomi possono essere ripetuti a diversi livelli di attaccamento.

1.2.3 Set.

Impostato - Questi sono set di simili collegati logicamente gli altri oggetti. La natura dei collegamenti tra gli oggetti è pensata solo dal programmatore e l'oggetto Pascal non è controllato. Il numero di elementi inclusi nel set può variare da 0 a 256 (un set che non contiene elementi è chiamato vuoto). È l'inconto del numero dei suoi elementi del set diverso da array e record.

Due set sono considerati equivalenti se e solo se tutti i loro elementi sono gli stessi, con l'ordine degli elementi nel set è indifferente. Se tutti gli elementi di un set sono anche inclusi nell'altro, parlano dell'inclusione del primo set in secondo. Il set vuoto è incluso in qualsiasi altro.

Descrizione del tipo di set è:

<имя типа> \u003d Set di.<базовый тип>;

Qui<имя типа> - l'identificatore corretto; set, di. - parole riservate (molte, fuori);<базовый тип> - il tipo di base di elementi del set, che può essere utilizzato qualsiasi tipo di sequenza, tranne Parola, Integer, Longant, INT64 .

Per impostare un set, viene utilizzato il cosiddetto costruttore set: un elenco di specifiche degli elementi del set separato l'uno dall'altro con virgole; L'elenco è incorniciato da parentesi quadre. Le specifiche degli elementi possono essere costanti o espressioni del tipo di base, nonché il tipo di gamma dello stesso tipo di base.

Il dispositivo interno del set è tale che ciascun elemento viene messo secondo una scarica binaria (un bit); Se l'elemento è attivato in un set, lo scarico corrispondente è di valore 1, altrimenti - 0. Allo stesso tempo, l'unità minima della memoria è un byte contenente 8 bit, quindi il compilatore ha assegnato il set di un byte, E come risultato, il potere di ciascuno di essi è diventato uguale 8 elementi. Potenza massima di multipli - 256 elementi. Per tali serie, il compilatore evidenzia 16 byte adiacenti.

E un altro esperimento: modificare il tipo di base del tipo entro il 1 ° 256. Sebbene la potenza di questo tipo sia 256 elementi, quando si tenta di compilare il programma, il compilatore segnalerà errore: i set potrebbero avere al massimo da 256 elementi (i set potrebbero non avere più di 256 elementi) T. La numerazione degli elementi del set inizia da zero indipendentemente dal bordo inferiore dichiarato. Il compilatore consente l'uso di un tipo di intervallo intero come tipo di base con un limite minimo 0 e massimo 255 o qualsiasi tipo elencato di non più di 256 elementi (la potenza massima è elencata - 65536 elementi).

1.3 stringhe

Per gestire i testi in oggetto Pascal, vengono utilizzati i seguenti tipi:

corta corta cortariere o stringa [n] dove n.<= 255;

long String. corda ;

ampia stringa Widestring. ;

zero TERMINAL String. pCAR. .

Comune per questi tipi è che ogni riga è interpretata come una matrice unidimensionale di caratteri, il numero di caratteri in cui può variare nel programma di lavoro: per la stringa [n] la lunghezza della linea cambia da 0 a n, per corda e pCAR. - da 0 a 2 GB.

Nello standard Pascal, vengono utilizzate solo linee corte. Stringa [n] . In memoria di tale fila, il byte N + I è assegnato, il primo byte contiene la lunghezza corrente della linea, e i caratteri stessi si trovano, a partire dal 2 ° account Byte. Dal momento che un byte viene assegnato alla lunghezza della stringa in questo caso, la lunghezza massima della stringa corta non può superare i 255 caratteri. Per l'annuncio di una linea corta di lunghezza massima, il tipo standard è inteso. Cortariere (equivalente Corda).

In Windows, sono ampiamente utilizzate linee zero-terminali, che sono catene di simboli limitati al simbolo # o. La lunghezza massima di tale stringa è limitata solo dalla memoria disponibile e può essere molto grande.

Nelle versioni a 32 bit di Delphi hanno introdotto un nuovo tipo corda , combinando la comodità di entrambi i tipi. Quando si lavora con questo tipo, la memoria viene assegnata come necessaria (dinamicamente) ed è limitata al programma disponibile per il programma.

1.4 Puntatori e memoria dinamica

1.4.1 Memoria dinamica

Memoria dinamica - Questo è il PC RAM fornito dal programma durante il suo funzionamento. Posizionamento dei dati dinamici significa usando la memoria dinamica direttamente quando il programma è in esecuzione. Al contrario, il posizionamento statico viene effettuato dal compilatore oggetto Pascal durante il processo di compilazione del programma. Con il posizionamento dinamico, né il tipo né il numero di dati posizionati non è noto.

1.4.2 Puntatori

Il PC RAM è un insieme di celle per la memorizzazione di informazioni - byte, ognuna delle quali ha il proprio numero. Questi numeri sono chiamati indirizzi, consentono di contattare qualsiasi byte di memoria. Object Pascal fornisce uno strumento di controllo della memoria dinamico flessibile a disposizione di un programmatore - i cosiddetti puntatori. Il puntatore è una variabile che contiene l'indirizzo del byte di memoria come valore. Con l'aiuto dei puntatori, è possibile posizionare nella memoria dinamica di uno qualsiasi dei tipi di dati noti nell'oggetto Pascal. Solo alcuni di loro ( Byte, Char, Shurt, Boolean) Nella rappresentazione interna un byte, il resto è in qualche modo adiacente. Pertanto, infatti, il puntatore affronta solo il primo byte dei dati.

Di norma, il puntatore è associato a un determinato tipo di dati. Tali indicatori saranno chiamati digitati. Per dichiarare un puntatore digitato, viene utilizzata un'icona ^, che viene posizionata davanti al tipo appropriato.

Nell'oggetto Pascal, è possibile dichiarare un puntatore e non legarlo con qualsiasi tipo specifico di dati. Questo è il tipo standard. puntatore. , per esempio:

I puntatori di questo tipo saranno chiamati inependi. Poiché i puntatori inepitizzati non sono associati a un tipo specifico, con il loro aiuto, è conveniente per posizionare dinamicamente i dati, la struttura e il tipo di cui vengono modificati durante il programma.

Come già accennato, i valori dei puntatori sono indirizzi delle variabili in memoria, quindi sarebbe necessario aspettarsi che il valore di un puntatore possa essere trasmesso a un altro. In realtà questo non è vero. Nell'oggetto Pascal, è possibile trasmettere valori solo tra i puntatori associati allo stesso tipo di dati.

1.4.3 Assegnazione e rilascio della memoria dinamica

Tutta la memoria dinamica dell'oggetto Pascal è vista come una serie solida di byte, che è chiamata un mazzo.

La memoria per qualsiasi variabile posizionata dinamicamente è evidenziata dalla nuova procedura. Il parametro di contattare questa procedura è un puntatore digitato. Come risultato del riferimento, il puntatore acquisisce il valore corrispondente all'indirizzo, a partire da cui è possibile effettuare i dati. Il valore che indica il puntatore, I.e., i dati effettivi posizionati nell'heap sono indicati dall'icona ^, che viene messa immediatamente dietro il puntatore. Se non c'è icona ^ dal puntatore, allora c'è una vista di cui i dati sono pubblicati. Ha senso pensare di nuovo su ciò che è stato appena detto: il valore di qualsiasi puntatore è l'indirizzo e per indicare che non si tratta dell'indirizzo, ma su tali dati pubblicati a questo indirizzo, il puntatore è impostato ^ ( A volte stanno parlando di come fare un puntatore casuale).

I dati pubblicati dinamicamente possono essere utilizzati ovunque nel programma, dove è consentito per le costanti e le variabili del tipo corrispondente

La memoria dinamica non può essere presa solo da un mucchio, ma tornare indietro. Questo utilizza la procedura di smaltimento. Ad esempio, operatori

Smaltire (PJ);

Smaltire (PR);

la memoria verrà restituita a un gruppo, che è stato precedentemente fissato da segni PJ e PR (vedi sopra).

Noto che la procedura di smaltimento (PPTR) non modifica i valori del puntatore PPTR, ma ritorna solo a un mazzo di memoria precedentemente associato a questo puntatore. Tuttavia, il riutilizzo della procedura al puntatore libero comporterà un errore del periodo di esecuzione. Il programmatore del puntatore liberato può contrassegnare la parola riservata NIL.

1.5 Pseudonimi dei tipi

Per qualsiasi tipo, puoi dichiarare quanti alias. Per esempio:

Tmyinteger \u003d intero;

In futuro, l'alias può essere utilizzato allo stesso modo del tipo di base:

Mylnt: tmyinteger;

Mylnt: \u003d 2 * rotondo (PI);

Tali pseudonimi sono solitamente utilizzati per aumentare la visibilità del codice del programma. Tuttavia, in oggetto Pascal, è necessario dichiarare pseudonimi rigorosamente digitati aggiungendo un tipo di tipo riservato davanti al nome del tipo di base:

TMYINTEGERTYPE \u003d Type Integer;

Mylntvar: tmyintegertype;

Dal punto di vista del compilatore, i pseudonimi digitati sono compatibili con il tipo di base in un diverso tipo di espressioni, ma in effetti dichiarano un nuovo tipo di dati, quindi non possono essere utilizzati come parametri formali di accesso alle subroutine anziché di base genere. Se, ad esempio, l'annunciatore

funzione MyLNTFUNC (APAR: Integer): Integer;

allora un tale appello a lei

Mylntfunc (mylntvar)

sarà considerato dal compilatore come errato.

Pseudonimi rigorosamente digitati CAUSA Il compilatore di generare le informazioni del tipo per la fase di esecuzione del programma (RTTI - Informazioni del tipo di tempo run-time). Queste informazioni sono solitamente utilizzate dal supporto Delphi per garantire il funzionamento dei vari editor.

Nozioni di base della programmazione
Ogni professionista era una volta un bollitore. Sicuramente conosci la condizione quando "non sai come iniziare a pensare di pensarci". Sicuramente hai affrontato la situazione quando non sai da dove iniziare. Questo libro si concentra solo su persone che vorrebbero diventare un programmatore, ma assolutamente non sa come avviare questa strada. ...

Quasi tutti i tipi di dati interi sono correlati a. Questi tipi di dati rappresentano numeri interi in un intervallo specifico. Nomi specifici dei tipi di integer e gamme dipendono dal linguaggio specifico della programmazione, dal compilatore e dalla modalità di compilazione. Ulteriori informazioni su di esso devono essere riconosciute nella documentazione per il compilatore.

Ad esempio, tipo di dati Numero intero Delphi ha una gamma -2147483648 ... 2147483647, mentre nel tipo di dati Turbo Pascal Numero intero Rappresenta i numeri nell'intervallo -35768 ... 32767. Nella gamma di valori di tipo PASCAL gratuiti Numero intero Determinato dalla modalità selezionata.

Dal momento che Lazarus utilizza il compilatore PASCAL gratuito, quindi tutto ciò che è stato detto sui tipi di dati in relazione a Pascal gratis è vero per Lazarus.

Quindi, i tipi di dati interi di PASCAL GRATUITI sono elencati nella Tabella 13.1.

Tabella 13.1. Tipi di dati interi di Pascal (Lazarus).

Un tipo Dimensioni, byte. Gamma di valori
Byte 1 0…255
Shunt. 1 -128…127
Smallinta. 2 -35768…32767
Parola. 2 0…65535
Numero intero 2 o 4. Dipende dalla modalità di compilazione
Cardinale. 4 0…4294967295
Longint. 4 -2147483648…2147483647
Longword. 4 0...4294967295
INT64. 8 -9223372036854775808...9223372036854775807
Qword. 8 0...18446744073709551615

NOTA
Tipi di Pascal gratuiti INT64. e Qword. Non! Ciò significa che non è possibile utilizzarli, ad esempio, per le variabili indicizzabili nei cicli. Tuttavia, li ho portati qui per non descrivere in futuro e raccogliere in un unico posto tutti i tipi interi di Pascal GRATUITO. Se alcune parole non sono chiare - non aver paura. Una volta ti parlerò di tutto.

E ora alcune spiegazioni al tavolo.

In un colloquio UN TIPO Tipo di dati I identificatori sono forniti (parole chiave che indicano il compilatore a quale tipo o altri dati includono). Come usare questi identificatori, imparerai nelle seguenti lezioni.

In un colloquio LA DIMENSIONE Viene specificata la dimensione che occupa il tipo di dati nella memoria del computer. Ad esempio, un numero positivo intero può essere rappresentato da diversi tipi: Byte, Parola., Cardinale. et al. Tuttavia, il numero di tipo Cardinale. occuperà in memoria 4 byte, mentre il tipo di tipo Byte - solo 1 byte. Pertanto, se sai esattamente ciò con cui lavori con cui lavori non prenderà mai un valore più di 255, è meglio determinarlo come tipo BytePoiché questo salverà lo spazio nella memoria del computer. Sebbene qui non sia così inequivocabile (le sfumature di assegnazione della memoria e altre risorse del computer vanno oltre il quadro).

In un colloquio GAMMA Intervallo di valori specificato che gestisce il tipo di dati. Ad esempio, il numero di tipo Byte Può prendere valori da 0 a 255.

E ora pratica. Scriviamo un programma che visualizza le gamme di valori di tutti i tipi di dati interi. Il codice sorgente di questo programma è qui sotto:

Elenco 13.1. Il programma di uscita per la gamma di numeri interi. Programma TD; ($ MODE OBJFPC) ($ H +) utilizza ($ IFDEF UNIX) ($ IFDEF USEXRADS) CTRWADS ($ IFDEF USEXRADS) Classi ($ IFDIF) ($ ENDIF) (puoi aggiungere unità dopo questo); Inizia Writeln ("Byte:", basso (byte), "..", alto (byte)); Writeln ("zipint:", basso (short), "..", alto (short)); Writeln ("smallint:", basso (smentotto), "..", alto (smentotto)); Writeln ("parola:", bassa (parola), "..", alta (parola)); Writeln ("intero:", basso (intero), "..", alto (intero)); Writeln ("Cardinale:", basso (cardinale), "..", alto (cardinale)); Writeln ("longint:", basso (longint), "..", alto (longint)); Writeln ("longword:", basso (appoggiato), "..", alto (longword)); Writeln ("INT64:", basso (INT64), "..", alto (INT64)); Writeln ("qword:", basso (qword), "..", alto (qword)); Readln; fine.

Funzione standard Basso. Determina il valore minimo del tipo di dati. Funzkia. Alto Determina il valore massimo. Con funzioni Writeln. e Readln. Sei già familiare un po '. Più dettagliatamente sulle subroutine (procedure e funzioni) parleremo nella sezione pertinente.

Infine, dirò come vengono registrati i dati interi nel programma. Sì, così come ovunque, scrivi un numero, senza virgolette e altri caratteri aggiuntivi. Ad esempio, così

10
178
35278

È vero, questo si riferisce ai numeri nel sistema numerico decimale. Sicuramente sai già che ci sono altri sistemi. I sistemi numerici binari, decimali ed esadecimali più diffusi sono più comuni.

Il Pascal gratuito supporta il formato quattro per la registrazione di un numero intero:

  1. Record decimale. Solo un numero, ad esempio 10.
  2. Hexadecimale.. Il numero con il prefisso $. Ad esempio, un numero esadecimale $ 10 è decimale di 16 anni.
  3. Record ottale. Il numero con il prefisso e. Ad esempio, un numero ottale e 10 è uguale a decimale 8.
  4. Registrazione binaria. Il numero con il prefisso%. Ad esempio, il numero binario% 10 è uguale a decimale 2.

Compiti a casa:

Creare un programma che visualizza le gamme dei valori degli interi (elenco 13.1). Compilare il programma e eseguilo. Assicurarsi che questi valori corrispondano allo specificato nella Tabella 13.1.

Nel codice sorgente del programma, trova la stringa che imposta la modalità di compilazione:

($ Modalità OBJFPC) ($ h +)

In questa linea invece di una parola oBJFPC. Scrivi una parola tP.. Cioè, la linea finale dovrebbe assomigliare a questo:

($ Modalità TP) ($ h +)

Esegui il programma. Guarda la gamma di valori di tipo Numero intero. Fare conclusioni.

Impara a pensare come programmatore, cioè logicamente. Nessuno per ritirarti per ritirare tutto, come lo faccio ora. Dobbiamo abituarci per pensare in modo indipendente. Altrimenti, andrai al "Principio della scimmia dell'apprendimento", e poi le tue possibilità di diventare un programmatore fantastico si avvicinano allo zero. Per aiutarti a non andare al livello di "Bunning", lascerò periodicamente le lacune nel tuo allenamento in modo da provare a pensare a alcune cose.

Molto meglio se pensi di te stesso soluzione sbagliataTu stesso troverai un errore e correggerlo da te stesso di quello che userai sempre le soluzioni giuste di altre persone e li copiano stupidamente.

In qualsiasi programma è necessario definire il tipo e il tipo di valori che verranno utilizzati durante la risoluzione del problema. Per tipo, valori semplici (nella programmazione, sono tutti chiamati dati) sono suddivisi in costanti e variabili.

Costanti- Questo è il dato che i cui valori non sono soggetti a modifiche durante il processo di esecuzione. Inserito nel blocco cost.

In generale, la descrizione di una semplice costante più elementare è fatta così:

CONST NAME_NAME \u003d espressione;

Le costanti digitate sono descritte come:

Const Name_Constanta: tipo \u003d espressione;

Nelle espressioni possono essere utilizzate:

· Numeri o set di caratteri in apostrofi;

· Operazioni matematiche;

· Relazioni e operazioni logiche;

· ABS (x), round (x), trunc (x) funzioni;

· Funzioni CHR (x), ord (x), pred (x), succ (x) e altri.

Descrizione costante Formato:

identificatore \u003d valore;

1. Intelligente - sono determinati dai numeri registrati in un formato decimale o esadecimale che non contengono un punto decimale.

2. Real - sono determinati dai numeri registrati nel formato dei dati decimali.

3. Il simbolo è qualsiasi simbolo del personal computer racchiuso in apostrofi.

4. String - sono determinati dalla sequenza di caratteri arbitrari racchiusi in apostrofi.

5. La logica è falsa o vera.

Il tipo costante non è specificato, ma viene determinato automaticamente quando la compilazione: i valori delle espressioni vengono immediatamente calcolati e successivamente sostituiti al posto dei nomi.

Variabili - Questi sono dati che possono essere modificati durante l'esecuzione del programma. Ogni variabile ha una cella di cellule / memoria denominata. Quelli. Una variabile è una specie di contenitore in cui alcuni dati possono essere messi e memorizzati lì. Le variabili hanno un nome, un tipo e un valore.

Il nome della variabile - deve iniziare con la lettera, non può contenere spazi e può contenere solo:

· Lettere dell'alfabeto latino;

· Segno di stress.

Esempi: A, A_1, AA, I, J, X, Y, ecc. Nomi non validi: il mio 1, 1a. La lunghezza variabile del nome può contenere fino a 126 caratteri, quindi prova a selezionare nomi variabili significativi. Tuttavia, il compilatore distingue i primi 63 caratteri nei nomi. Ma non distingue le lettere minuscole e maiuscole, sia nei nomi delle variabili che negli identificativi dei servizi di scrittura.

Il tipo di variabile - deve essere necessariamente definito nel blocco Descrizione variabile VAR. Il valore della variabile è la costante dello stesso tipo.

Ogni programma funziona con i dati. I dati sono in senso ampio degli oggetti di parole che elaborano il programma. Il tipo di questa è la sua caratteristica. Dal tipo dipende:

· In quale forma sarà memorizzato questo,

· Quante celle di memoria per il suo stoccaggio saranno riservate,

· Qual è il valore minimo e massimo che può prendere

· Quali operazioni con esso possono essere eseguite.

Alcuni semplici tipi di dati Pascal:

1. Intere tipi (Short, Integer, Longant, Byte, Word).

2. Real, Single, Double, Extended, Comp).

3. Logica (boolean).

4. Simbolo (Char).

5. Tipi di stringa (stringa, stringa [n]).

9. Operatori incondizionati a Pascal. Descrizione e uso.

Vista dell'operatore

vai a.<метка>;

Scopo - Controllo nel programma sull'operatore etichettato<метка>. L'etichetta può essere il nome (scritto dalle regole per i nomi della lingua) o un intero senza un segno descritto nella descrizione del modello del taglabel e in piedi davanti all'operatore contrassegnato, ma solo in un posto del programma . L'etichetta è separata dall'operatore con il simbolo ":". La transizione verso l'etichetta può verificarsi nel blocco più volte, ma l'etichetta stessa è solo una volta. Se non c'è alcun controllo in nessuna etichetta, non ci saranno errori.

L'operatore di transizione incondizionato, in generale, non è consentito nella programmazione strutturale. Sebbene riduce il testo del programma, il suo uso a Pascal è limitato a una serie di regole e raccomandazioni. È vietato cambiare all'interno dell'operatore composito, all'interno o all'inizio della subroutine e lasciare la subroutine al programma che lo ha causato. Non è consigliato transizione dalla pagina (schermo) del testo del programma, ad eccezione del passaggio agli operatori del programma finale. Tutto ciò è associato alla possibilità di saltare importanti operatori per il corretto funzionamento del programma. Di solito, la dichiarazione di transizione incondizionata viene utilizzata solo per tornare all'inizio del corpo del ciclo, se il ciclo è progettato utilizzando operatori condizionali e incondizionati.

Si noti che il prossimo operatore GOTO deve essere contrassegnato anche con un'altra etichetta, (se Goto non è duraturo nel gruppo di operatori). Altrimenti, il prossimo operatore Zagoto non cade.

10. Operatori di filiali a Pascal. Descrizione e uso.

Agli operatori, consentendo da diverse opzioni possibili per l'esecuzione del programma (rami) solo uno, appartiene

Quelli. Questi operatori ti consentono di modificare la procedura naturale per l'esecuzione di operatori del programma.

se.<условие> Poi.< оператор 1 >

aLTRO.<оператор 2> ;

se A\u003e \u003d B Allora max: \u003d un altro max: \u003d B;

Nella dichiarazione IF su entrambi i rami (quindi e altro), è possibile eseguire solo un operatore!

Un esempio di un compito per gli operatori di ramificazione a Pascal. Inserisci due numeri interi e visualizzarli più grandi.

Idea Soluzione: è necessario visualizzare il primo numero se è più del secondo, o secondo, se è maggiore del primo.

Caratteristica: le azioni del contraente dipendono da alcune condizioni (se ... altrimenti ...).

vAR A, B, MAX: Integer;

writeln ("Inserisci due numeri interi");

se A\u003e B Allora max: \u003d un altro max: \u003d B;

writeln ("il numero più grande", max);

Condizioni complesse

Una condizione complessa è una condizione composta da diversi semplici condizioni (Relazione) associata all'aiuto del logico

operazioni:

Non - non (rifiuto, inversione)

E - e (moltiplicazione logica, congiunzione,

performance simultanea)

O - o (aggiunta logica, disgiunzione,

eseguendo almeno una delle condizioni)

XOR - Escludendo o (solo esecuzione

una delle due condizioni, ma non entrambi)

Condizioni semplici (relazione)

< <= > >= = <>

Procedura di esecuzione (priorità \u003d anzianità)

Espressioni tra parentesi

<, <=, >, >=, =, <>

Caratteristica: ciascuna delle condizioni semplici deve essere messo in parentesi.

Operatore di selezione del caso

L'operatore del caso consente di scegliere tra più opzioni.

L'opzione operatore consiste.

Ø Espressioni chiamate il selettore,

Ø Elenco degli operatori, ciascuno dei quali è contrassegnato dalla costante dello stesso tipo del selettore.

Il selettore dovrebbe riguardare solo il tipo di sequenza di dati, ma non al tipo longint.

Il selettore può essere variabile o espressione.

L'elenco delle costanti può essere definito sia da un'enumerazione esplicita che da un intervallo o dalla loro associazione. Ripetizione di costante N.

È permesso.

Il tipo di interruttore e i tipi di tutte le costanti devono essere compatibili.

Astuccio.< выражение {селектор}> Di.

<список констант 1> : < оператор 1>;

< список констант K> : < оператор K>;

L'esecuzione dell'operatore del caso è la seguente:

1) il valore del selettore è calcolato;

2) Il risultato ottenuto è controllato per appartenere a un particolare elenco di costanti;

3) Se si trova tale elenco, ulteriori controlli non vengono più prodotti e l'operatore viene eseguito corrispondente a

il ramo selezionato, dopo di che il controllo viene trasmesso all'operatore di seguito parola chiave Fine, che chiude tutto

case Design;

4) Se non c'è un elenco appropriato di costanti, l'operatore si trova dietro le parole chiave; Se il ramo dell'altro non lo è,

non è fatto nulla.

Nell'istruzione del ramo del caso, è possibile eseguire solo un operatore su tutti i rami!

Se è necessario eseguirne alcuni, sono richieste le staffe dell'operatore di inizio.

case Index Mod 4 di

1: x: \u003d y * y - 2 * y;

11. Opzione operatore (scelta) a Pascal. Descrizione e uso.

L'operatore di selezione (opzione, switch) implementa la scelta di una delle possibili alternative, cioè. Opzioni di continuazione del programma.

Formato di registrazione:

Cassa - scelta, opzione;

S - selettore, selezione del tipo di sequenza;

Ki - Le costanti scelte, la costante, il tipo di cui coincide con il tipo di selettore;

OPI - Qualsiasi operatore incluso vuoto;

L'operatore di selezione implementa il seguente design:

Il lavoro dell'operatore di selezione in Pascal: l'espressione del selettore è calcolata. Il valore calcolato è costantemente confrontato con le alternative costanti e il controllo dell'operatore costante di selezione viene trasmesso, che coincide con il valore del selettore calcolato. L'operatore viene eseguito e il controllo viene trasmesso all'esterno dell'operatore di selezione. Se il valore del selettore calcolato non coincide con nessuna delle costanti, il controllo viene trasmesso al ramo dell altro, la presenza di cui, non necessariamente, il controllo viene trasmesso oltre l'operatore di selezione.

Schema strutturale Operatore di selezione.

La struttura dell'operatore di selezione può essere implementata usando nidificato operatori condizionaliMa questo peggiora la visibilità del programma. Non sono raccomandati più di 2-3 livelli di investimento.

12. Tipi di operatori del ciclo a Pascal, il loro scopo.

5. Costruzioni algoritmiche di cicli. Tipi di cicli.

Esistono tre tipi di algoritmi ciclici: un ciclo con un parametro (che è chiamato un ciclo aritmetico), il ciclo con la precondizione e il ciclo con il postlano (sono chiamati iterativi).

12.13 Ciclo aritmetico.Nel ciclo aritmetico, il numero dei suoi passaggi (ripetizioni) è determinato in modo univoco dalla regola del parametro da modificare, che è specificato utilizzando i valori dei parametri iniziali (N) e FINAL (K) e il passaggio (h) cambiamenti. Quelli., Nel primo passo del ciclo, il valore del parametro è n, al secondo - N + H, sul terzo - N + 2H, ecc. Nell'ultimo gradino del ciclo, il valore del parametro non è più k, ma tale che il suo ulteriore cambiamento porterà a un valore maggiore di K.

I cicli con un misuratore vengono utilizzati quando la parte ciclica del programma deve ripetere il numero fisso di volte. In tali cicli c'è una variabile di un tipo intero, che è chiamato il contatore del ciclo.

Se è necessario che il frammento del programma abbia ripetuto il numero specificato di volte, la struttura è utilizzata:

Per<имя счетчика цикла> = <начальное значение> Quella<конечное значение> Fare.<оператор>;

Per, a, fare - parole riservate (inglese: per, prima, performing);

<счетчик (параметр) цикла> - Tipo variabile Integer, che varia nel segmento da<начального значения>, aumentando l'unità alla fine di ogni passo ciclo;

<оператор> - qualsiasi operatore (più spesso composito).

C'è un'altra forma di questo operatore:

Per<имя счетчика цикла>:= <начальное значение> Giù verso.<конечное значение> Fare.<оператор> :

Sostituzione quindi su Downto (Inglese: fino a) significa che la fase di modifica del parametro del ciclo è - 1, cioè una diminuzione passo-passo nel contatore per unità.

12.14 Ciclo con precondizione. Il numero di cicli passaggi non è predeterminato e dipende dai dati di input dell'attività. In questa struttura ciclica, il valore dell'espressione condizionale (condizione) viene prima controllata prima di eseguire il passaggio successivo del ciclo. Se il valore dell'espressione condizionale è veramente vero, il corpo del ciclo viene eseguito. Successivamente, il controllo viene nuovamente trasmesso alla verifica della condizione, ecc. Queste azioni vengono ripetute fino a quando l'espressione condizionale prende il valore di falso. Nella prima non conformità, la condizione del ciclo è completata.

Questo operatore di ripetizione più utilizzato ha il modulo:

Mentre<условие> Fare.<оператор>;

Mentre, le parole riservate (inglesi: mentre fanno);

<условие> - espressione logica;

<оператор> - Operatore arbitrario (possibilmente composito).

Una caratteristica del ciclo con la precondizione è che se l'espressione inizialmente condizionale è falsa, il corpo del ciclo non sarà soddisfatto.

I cicli con la precondizione vengono utilizzati quando l'esecuzione del ciclo è associata a una determinata condizione logica. L'operatore del ciclo con quanto sopra ha due parti: la condizione del ciclo e il corpo del ciclo.

12.15 ciclo con la banda banda (ciclo iterativo). Come nel ciclo con la precondizione, nel design ciclico con il bandaband, il numero di ripetizioni del corpo del ciclo non è determinata, dipende dai dati di input dell'attività. In contrasto con il ciclo con la precondizione, il corpo del ciclo con la banda banda sarà sempre soddisfatto almeno una volta, dopo di che la condizione viene controllata. In questo design, il corpo del ciclo verrà eseguito fino a quando il valore dell'espressione condizionale è falsa. Non appena diventa vero, l'esecuzione del comando è interrotta.

Questo operatore ha la forma:

Ripetere.<тело цикла> Fino a<условие>:

Ripeti, fino a - Parole riservate (inglese: ripetere, non ancora);

<условие> - L'espressione di un tipo logico se il suo valore è vero, quindi esci dal ciclo.

Va notato che in questo design, la sequenza di operatori che definisca il corpo del ciclo non è l'inizio ... le staffe dell'operatore finale, poiché servono un paio di ripetizioni ... fino a.

I cicli con la postcondition sono simili ai cicli con la precondizione, ma la condizione è in loro dopo il corpo del ciclo.

In contrasto con il ciclo con la precondizione, che può terminare il lavoro, mai dopo il corpo del ciclo (se la condizione di esecuzione è falsa al primo ciclo), il corpo del ciclo con la banda è necessariamente eseguita almeno una volta , dopo di che la condizione è controllata.

Uno degli operatori del corpo del ciclo dovrebbe influire sul valore della condizione di esecuzione del ciclo, altrimenti il \u200b\u200bciclo verrà ripetuto un numero infinito di volte.

Se la condizione è vera, allora c'è una via d'uscita dal ciclo, altrimenti gli operatori del ciclo sono ripetuti.

16. Vettore- Questi sono una varietà di elementi uniformi combinati con un nome comune e nel computer una specifica area di memoria. Il numero di elementi nell'array è sempre ovviamente. In generale, un array è tipo strutturato Dati costituiti da un numero fisso di elementi aventi lo stesso tipo. Il nome del tipo regolare (o delle righe) degli array è stato ottenuto per il fatto che gli stessi elementi di tipo (logogenei) elementi, ordinati (regolati), determinando la posizione di ciascun elemento nell'array sono combinati. Come elementi di array, è possibile utilizzare qualsiasi tipo di dati, quindi è abbastanza legittimamente l'esistenza di array di record, array di puntatori, linee, array, array, ecc. Gli elementi dell'array possono essere dati di qualsiasi tipo, incluso strutturato. Una caratteristica del linguaggio PASCAL è che il numero di elementi di array è fissato quando si descrive e durante il processo di esecuzione non cambia. Gli elementi che formano un array sono ordinati in modo tale che ciascun elemento corrisponda al set di numeri (indici) che determinano la sua posizione nella sequenza generale. L'accesso a ciascun singolo elemento viene eseguito indicizzando gli elementi dell'array. Gli indici sono le espressioni di qualsiasi tipo scalare (più spesso), ad eccezione del vero. Il tipo di indice determina i limiti della modifica dei valori dell'indice. Per descrivere l'array, è inteso la matrice di frase di (array da).

Un array è chiamato un insieme di dati che eseguono funzioni simili e denotate da un nome. Se solo un numero di sequenza è fissato dietro ciascun elemento dell'array, tale array è chiamato lineare o monodimensionale.

17. Array monodimensionale- Questo è un numero fisso di elementi dello stesso tipo, combinato con un solo nome e ogni elemento ha il proprio numero unico, e le stanze degli elementi vanno di fila.

Per descrivere tali oggetti nella programmazione, è necessario prima inserire il tipo appropriato nella sezione Sezione Descrizioni.

Il tipo di array è descritto come segue:

Digitare nome \u003d array [tipo di indice] del tipo di elementi;

Nome variabile: tipo Nome;

Tipo variabile Un array può essere descritto immediatamente nella sezione Variabili del VAR:

Nome variabile VAR: array [tipo di indice] del tipo di elementi;

Array - parola di servizio (tradotto dall'inglese significa "array");

Di - parola ufficiale (tradotta dall'inglese significa "out").

Tipo di indice: qualsiasi tipo di sequenza tranne Integer, tipi di longint.

Il tipo di elementi stessi può essere chiunque tranne il tipo di file.

Il numero di elementi di array è chiamato la sua dimensione. È facile calcolarlo quando ultimo metodo Descrizioni del set di indici La dimensione dell'array è: il valore massimo dell'indice è il valore indice minimo di + 1.

Per esempio:

mas \u003d array di reale;

Array x - one-dimensionale, composto da venti elementi tipo reale. Gli elementi dell'array sono memorizzati nella memoria del computer successivamente l'uno per l'altro.

Quando si utilizzano variabili per designare l'indice, il loro valore al momento dell'uso deve essere definito e, in caso di espressioni aritmetiche, il loro risultato non dovrebbe essere fuori dai limiti del valore minimo e massimo dell'Indice dell'array.

Gli indici degli elementi dell'array possono iniziare con qualsiasi numero intero, incluso negativo, ad esempio:

Tipo BB \u003d Array [-5..3] di booleano;

Gli array di questo tipo conterranno 9 variabili logiche numerate da -5 a 3.

18. Array bidimensionale a Pascal È interpretato come un array unidimensionale, il tipo di elementi di cui è anche un array (array di array). La posizione degli elementi negli array PASCAL bidimensionali è descritta da due indici. Possono essere rappresentati come tavolo rettangolare o matrice.

Considera una matrice bidimensionale di Pascal con una dimensione di 3 * 3, cioè, sarà tre linee, e in ogni riga tre elementi:

Ogni elemento ha il proprio numero, come un array unidimensionale, ma ora il numero è già composto da due numeri: i numeri di linea in cui si trova l'elemento e il numero della colonna. Pertanto, il numero dell'elemento è determinato dall'incrocio della stringa e della colonna. Ad esempio, un 21 è un elemento in piedi nella seconda riga e nella prima colonna.

Descrizione del massiccio bidimensionale di Pascal.

Ci sono diversi modi per dichiarare il massiccio bidimensionale di Pascal.

Sappiamo già come descrivere gli array midimensionali, gli elementi di cui possono avere qualsiasi tipo, e, quindi, gli elementi stessi possono essere array. Considera la seguente descrizione dei tipi e delle variabili:

Azioni di base S. array bidimensionali Pascal.

Tutto ciò che è stato detto sulle azioni di base con array monodimensionali è giusto sia per matrici. L'unica azione che può essere eseguita oltre le stesse matrici di tipo è l'incarico. Quelli, se abbiamo due matrici di un tipo nel programma, ad esempio,

matrice \u003d array di integer;

ciò nel corso dell'esecuzione del programma può essere assegnato alla matrice un valore della matrice B (A: \u003d B). Tutte le altre azioni vengono eseguite alternativamente, con tutte le operazioni consentite, definite per il tipo di dati degli elementi dell'array. Ciò significa che se un array è costituito da numeri interi, le operazioni definite per gli interi possono essere eseguite al di sopra dei suoi elementi, se l'array è costituito da caratteri, le operazioni definite per funzionare con i simboli sono applicabili a loro.

21. Tecnologie di lavoro con documenti di testo. Editor di testo e processori: appuntamento e opportunità.

più perfetto editor di testo. (per esempio, Microsoft Word. E OpenOffice.org scrittore), che a volte sono chiamati processori di testo, hanno una vasta gamma di opzioni di creazione dei documenti (inserire elenchi e tabelle, strumenti di ortografia, memorizzazione di correzioni, ecc.).

Per prepararsi alla pubblicazione di libri, riviste e giornali, potenti programmi di elaborazione del testo vengono utilizzati nel trattamento dei sistemi di pubblicazione - sistemi di pubblicazione desktop (ad esempio Adobe PageMaker, Microsoft Office Publisher).

Per preparare la pubblicazione su Internet, le applicazioni specializzate vengono utilizzate su Internet (ad esempio, Microsoft FrontPage) per preparare pagine Web e siti Web.

I redattori di testo sono programmi per la creazione, la modifica, la formattazione, il salvataggio e la stampa di documenti. Il documento moderno può contenere, ad eccezione del testo e di altri oggetti (tabelle, diagrammi, disegni, ecc.).

La modifica è una conversione che fornisce l'aggiunta, l'eliminazione, lo spostamento o la fissaggio del contenuto del documento. La modifica di un documento viene solitamente eseguita aggiungendo, eliminando o spostati frammenti di caratteri o di testo.

La formattazione è la progettazione del testo. Oltre ai simboli di testo, il testo formattato contiene particolari codici invisibili che riportano il programma, come dovrebbe essere visualizzato sullo schermo e stampare sulla stampante: quale carattere utilizzare quale dovrebbe essere l'iscrizione e la dimensione dei caratteri, come paragrafi e i titoli sono fatti.

I testi formattati e non formatati sono in qualche modo diversi in natura. Questa differenza deve essere compresa. Nel testo formattato, tutto è importante: e la dimensione delle lettere e la loro immagine, e dove finisce la linea e l'altra inizia. Cioè, il testo formattato è inestricabilmente collegato con i parametri del foglio di carta su cui è stato stampato.

Durante la digitazione dei documenti di testo, è spesso necessario aggiungere al documento no elementi di testo o oggetti. Gli editori di testo avanzati lo consentono di fare - hanno ampie opportunità che inseriscono nel testo dei disegni, dei diagrammi, delle formule e così via.

Documenti cartacei ed elettronici. I documenti possono essere carta o elettronici. Documenti cartacei Creare e formattarlo per garantire la sua migliore vista quando si stampa su una stampante. Documenti elettronici Creare e formato allo scopo della migliore vista sullo schermo del monitor. Il graduale spostamento del fatturato della carta elettronica - una delle tendenze di sviluppo tecnologie informatiche. La riduzione del consumo di carta ha un effetto benefico per il salvataggio delle risorse naturali e la riduzione dell'inquinamento ambientale.

Formattazione della carta I. documenti elettronici Può differire in modo significativo. Per i documenti cartacei, viene presa la cosiddetta formattazione assoluta. Il documento stampato è sempre formattato sotto il foglio stampato della dimensione nota (formato). Ad esempio, la larghezza della stringa di documenti dipende dalla larghezza della carta. Se il documento è stato emesso per la stampa su un foglio di grande formato, non può essere stampato su foglie piccole - parte del documento non si adatta. In una parola, la formattazione del documento stampata richiede sempre una scelta preliminare di un foglio di carta, seguito da rilegatura a questo foglio. Per un documento stampato, è possibile sempre essere chiamato esattamente (in qualsiasi unità di misura) la dimensione di caratteri, campi, distanze tra righe o paragrafi, ecc.

Per i documenti elettronici, la cosiddetta formattazione relativa è presa. L'autore del documento non può prevedere in anticipo, su quale computer, con quale schermo verrà visualizzato il documento. Inoltre, anche se le dimensioni degli schermi erano conosciute in anticipo, è ancora impossibile prevedere ciò che la dimensione della finestra sarà in cui il lettore vedrà il documento. Pertanto, i documenti elettronici lo rendono in modo che si adattino alla dimensione corrente della finestra e formattata "al volo".

Anche l'autore del documento elettronico non sa quali caratteri sono sul computer del lettore futuro e quindi non possono essere strettamente indicati da come il testo dovrebbe essere raffigurato e titoli. Ma può impostare tale formattazione, a cui su qualsiasi intestazione dei computer sembrerà più grande del testo.

La formattazione relativa viene utilizzata per creare documenti Internet elettronici (le cosiddette pagine Web) e assolute - per creare documenti stampati nei processori di testo.

22. Fast. elementi strutturali documento di testo. Caratteri, stili, formati.

Formattazione di font (simboli).

I simboli sono lettere, numeri, lacune, segni di punteggiatura, caratteri speciali. I simboli possono essere formattati (cambiarli aspetto). Tra le proprietà principali dei caratteri, è possibile selezionare quanto segue: Carattere, dimensione, iscrizione e colore.

Il carattere è set completo Simboli di un certo design. Ogni carattere ha il suo nome, come Times New Roman, Arial, Comic Sans Sans. L'unità di misurazione del carattere è il paragrafo (1 pt \u003d 0,367 mm). Le dimensioni del carattere possono essere modificate in grandi limiti. Oltre ai normali (soliti) caratteri caratteristici, un audace, media, audaci, corpi, di solito si applicano.

Secondo il metodo di visualizzazione nel computer, i font raster e vettoriali differiscono. I metodi sono usati per rappresentare i font raster grafica raster., i simboli dei font sono gruppi pixel. I font raster consentono il ridimensionamento solo con alcuni coefficienti.

Nei caratteri vettoriali, i simboli sono descritti da formule matematiche e possibili ridimensionli arbitrari. Tra i caratteri vettoriali, i font come TrueType hanno ricevuto la più grande distribuzione.

Puoi anche installare opzioni extra. Formattazione simbolo: caratteri sottolineati con vari tipi di linee, cambiando il tipo di simboli (indice superiore e inferiore, schiacciato), modificare le distanze tra i caratteri.

Se viene pianificata una stampa a colori, è possibile impostare colori diversi per diversi gruppi di caratteri.

I moduli software speciali vengono utilizzati per controllare l'ortografia e la sintassi, che sono solitamente inclusi nei processori di testo e nei sistemi di pubblicazione. Tali sistemi contengono dizionari e regole grammaticali per diverse lingue, che consente di correggere gli errori nei documenti multilingue.

24. Banca dati - questo è modello di informazioneche consente di memorizzare ordinare i dati sul gruppo di oggetti con lo stesso set di proprietà.

Ce ne sono diversi tipi diversi Database: tabellare (relazionale), gerarchica e rete.

Database della tabella.

Un database tabellare contiene un elenco di oggetti di un tipo, I.e. Oggetti con lo stesso set di proprietà. Tale database è conveniente per rappresentare sotto forma di un tavolo bidimensionale.

Nei database relazionali, tutti i dati sono presentati sotto forma di tavoli semplici, suddivisi in stringhe e colonne, sull'intersezione di cui si trovano i dati. Richieste per tali tali di ritorno tavoli da soli possono diventare un oggetto di ulteriori richieste. Ogni database può includere più tabelle.

Il vantaggio principale delle tabelle è nella loro comprensione. Con informazioni tabellare ci stiamo trattando quasi tutti i giorni. Guarda, ad esempio, nel tuo diario: il programma delle lezioni è presentato sotto forma di un tavolo. Quando arriviamo alla stazione, guardiamo il programma dei treni. Che tipo di esso ha? Questo tavolo! E c'è ancora un tavolo del campionato di calcio. E la rivista dell'insegnante, dove ti mette le stime - anche il tavolo.

Caratteristiche brevemente un database relazionale può essere formulato come segue:

1. I dati sono memorizzati in tabelle costituite da colonne ("Attributi", "Campi") e Righe ("voci");

2. sull'intersezione di ciascuna colonna e le linee costa esattamente un valore;

3. Ogni colonna ha il suo nome che funge da nome e tutti i valori in una colonna hanno un tipo.

4. Scopo al database Restituire il risultato sotto forma di tabelle che possono anche fungere da oggetto di richieste.

5. Gli standard nel database relazionale sono disordinati - l'ordinazione è eseguita al momento della risposta alla richiesta.

6. Le informazioni nei database nel database non sono memorizzate nella stessa tabella, ma in diversi interrelanti.

Nel database relazionale, viene chiamata la fila della tabella discoe colonna - campo. Ogni campo tabella ha un nome.

Campo - Queste sono caratteristiche diverse (a volte dicono attributi) dell'oggetto. I valori del campo in una riga appartengono a un oggetto.

Chiave primaria Nel database, chiamano il campo (o la totalità dei campi), il cui valore non viene ripetuto da diversi record.

Un'altra proprietà molto importante è associata a ciascun campo - tipo di campo. Il tipo di campo definisce molti valori che possono ricevere questo campo in vari record.

I database relazionali utilizzano quattro tipi principali di campi:

Numerico;

Simbolo;

Logico.

25. Sistemi di gestione dei database e principi di lavoro con loro. Cerca, eliminare e ordinare i dati nel database. Termini di ricerca (espressioni logiche); L'ordine e le chiavi di ordinamento.

Sistemi di gestione del database (DBMS).

Per creare database, oltre a eseguire il funzionamento dei dati di ricerca e ordinamento destinati programmi speciali - Sistemi di gestione del database del database (DBMS).

Pertanto, è necessario distinguere il database effettivo (database) - set di dati ordinati e sistemi di gestione del database (DBMS) - Programmi che controllano l'archiviazione e l'elaborazione dei dati. Ad esempio, l'applicazione di accesso incluso in pacchetto di ufficio programmi Microsoft Office è il DBMS che consente all'utente di creare ed elaborare i database delle tabelle.

Il database relazionale è essenzialmente un tavolo bidimensionale. Sotto il record, la linea del tavolo bidimensionale è intesa qui, gli elementi di cui formano le colonne della tabella. A seconda del tipo di dati, le colonne possono essere numeriche, testo o contenere una data. Le righe della tabella sono numerate.

Lavorare con DBMS inizia con la creazione di una struttura del database, cioè dalla definizione:

colonne;

nomi di colonne;

tipi di colonna (testo / numero / data);

larghezze della colonna.

Le funzioni principali del DBMS:

Gestione dei dati in. memoria esterna (sui dischi);

Gestione dei dati B. memoria ad accesso casuale;

Journaling Modifica e ripristinare il database dopo i guasti;

Mantieni linguaggi del database (linguaggio definizione dei dati, linguaggio di manipolazione dei dati).

Nei comandi DBMS, la condizione di selezione è scritta sotto forma di un'espressione logica.

Espressione logicaCome un'espressione matematica, viene eseguita (calcolata), ma il risultato non è un numero, ma un valore logico: verità (vero) o falso (falso).

Un'espressione costituita da un valore logico o una relazione sarà chiamata un'espressione logica semplice.

Ci sono spesso compiti che utilizzano condizioni non separate, ma una combinazione di condizioni correlate (relazioni). Ad esempio, è necessario scegliere gli studenti in cui il peso è superiore a 60 e la crescita è inferiore a 168.

Le espressioni contenenti operazioni logiche saranno chiamate un'espressione logica complessa.

Combinando due (o diverse) dichiarazioni a una con l'aiuto dell'Unione "e" è chiamato il funzionamento di moltiplicazione logica o congiunzione.

Come risultato della moltiplicazione logica (congiunzione), viene ottenuta la verità se tutte le espressioni logiche sono vere.

Combinare due (o diverse) dichiarazioni con la potenza dell'Unione "o" è chiamata un'operazione di aggiunta logica o disgiunzione.

Come risultato dell'aggiunta logica (disgiunzione), la verità è ottenuta se almeno un'espressione logica è vera.

L'aggiunta di una particella "non" alla dichiarazione è chiamata il funzionamento di una negazione logica o di inversione.

27. Tabelle elettroniche, appuntamenti e funzioni principali.

Foglio di calcolo - Questo è un programma di elaborazione dei dati numerici che memorizza e producono dati in tabelle rettangolari.

Il foglio di calcolo è costituito da colonne e linee. Le intestazioni delle colonne sono indicate da lettere o combinazioni di lettere (A, G, AB, ecc.), Intestazioni di stringhe - numeri (1, 16, 278, ecc.). Cellulare - il luogo di intersezione della colonna e linee.

Ogni cella da tavolo ha il proprio indirizzo. L'indirizzo email del foglio di calcolo è composto da un'intestazione di colonna e un'intestazione della stringa, ad esempio: A1, F123, R1. La cella da cui alcune azioni sono realizzate sono evidenziate dal telaio ed è chiamata attiva.

Tipi di dati. I fogli di calcolo consentono di lavorare con tre tipi di dati di base: il numero, il testo e la formula.

Numeri in elettronica tabelle di Excel. Può essere registrato in un formato numerico o esponenziale convenzionale, ad esempio: 195.2 o 1.952E + 02. Per impostazione predefinita, i numeri sono allineati nella cella lungo il bordo destro. Questo è spiegato dal fatto che quando si posizionano numeri l'uno dall'altro (nella colonna della tabella), è conveniente avere l'allineamento su scarichi (unità sotto unità, decine di decine, ecc.).

La formula dovrebbe iniziare con il segno di uguaglianza e può includere numeri, nomi di cellule, funzioni (matematica, statistica, finanziaria, data e ora, ecc.) E segni di operazioni matematiche. Ad esempio, la formula "\u003d A1 + B2" fornisce l'aggiunta dei numeri memorizzati nelle celle A1 e B2 e la formula "\u003d A1 * B" - la moltiplicazione del numero memorizzata nella cella A1, per 5. La formula è inserita, la formula stessa viene visualizzata nella cella e il risultato dei calcoli per questa formula. Quando i valori di origine vengono modificati nella formula, il risultato viene ricalcolato immediatamente.

Collegamenti assoluti e relativi. Le formule utilizzano collegamenti agli indirizzi cellulari. Esistono due tipi principali di collegamenti: relativi e assoluti. Le differenze tra loro si manifestano quando si copia la formula dalla cellula attiva in un'altra cella.

Il riferimento relativo nella formula viene utilizzato per specificare l'indirizzo della cella calcolata dalla cella in cui si trova la formula. Quando si sposta o alla copia di una formula da una cella attiva, i riferimenti relativi vengono aggiornati automaticamente a seconda della nuova posizione della formula. I riferimenti relativi sono i seguenti: A1, BZ.

Se il simbolo del dollaro sta affrontando la lettera (ad esempio: $ A1), la coordinata della colonna è assoluta e le linee sono relative. Se il simbolo del dollaro è prima del numero (ad esempio, un $ 1), quindi, al contrario, la coordinata della colonna è relativa e le linee sono assolute. Tali collegamenti sono chiamati misti.

Lasciare, ad esempio, nella cella C1 è stata registrata una formula \u003d un $ 1 + $ J31, che quando la copia della cella D2 acquisisce la specie \u003d a $ 1 + $ B2. Riferimenti relativi quando la copia è cambiata e assoluta - no.

Ordinamento e ricerca di dati. I fogli di calcolo consentono l'ordinamento dei dati. I dati nei fogli di calcolo sono ordinati ascendenti o discendenti. Durante l'ordinamento, i dati si allineano in un determinato ordine. È possibile eseguire l'ordinamento annidato, I.e. Per ordinare i dati su più colonne, mentre viene assegnata la sequenza di colonne di ordinamento.

Nei fogli di calcolo, i dati sono possibili in conformità con le condizioni specificate - filtri. I filtri sono determinati utilizzando le condizioni di ricerca (più, meno, uguali, ecc.) E Valori (100, 10, ecc.). Ad esempio, più di 100. Di conseguenza, la ricerca verrà trovata da tali celle che contengono dati che soddisfano il filtro specificato.

Costruisci diagrammi e grafici. I fogli di calcolo consentono di rappresentare i dati numerici sotto forma di grafici o grafici. I grafici sono disponibili in vari tipi (colonnari, circolari, ecc.); La scelta del tipo di diagramma dipende dalla natura dei dati.

28. Tecnologia di elaborazione delle informazioni nei fogli di calcolo (ET). Struttura del foglio di calcolo.

Il foglio di calcolo è un programma di elaborazione dei dati numerici che memorizza e producono dati in tabelle rettangolari. Il foglio di calcolo è costituito da colonne e linee. Le intestazioni delle colonne sono indicate da lettere o combinazioni di lettere (A, G, AB, ecc.), Intestazioni di stringhe - numeri (1, 16, 278, ecc.). Cellulare - il luogo di intersezione della colonna e linee. Ogni cella da tavolo ha il proprio indirizzo. L'indirizzo email del foglio di calcolo è composto da un'intestazione di colonna e un'intestazione della stringa, ad esempio: AL, B5, E7. La cella da cui alcune azioni sono realizzate sono evidenziate dal telaio ed è chiamata attiva. Il foglio di calcolo con cui l'utente funziona nell'applicazione è chiamato fogli di lavoro. È possibile inserire e modificare i dati contemporaneamente su più fogli di lavoro, nonché eseguire calcoli in base ai dati da diversi fogli. I documenti dei fogli di calcolo possono includere diversi fogli di lavoro e sono chiamati cartelle di lavoro.

29. Tipi di dati in fogli di calcolo (ET): numeri, formule, testo. Regole per la registrazione di formule.

Tipi di dati.

I fogli di calcolo consentono di lavorare con tre tipi di dati di base: il numero, il testo e la formula.

I numeri nei fogli di calcolo di Excel possono essere registrati in un formato numerico o esponenziale convenzionale, ad esempio: 195.2 o 1.952, + 02. Per impostazione predefinita, il numero è allineato nella cella lungo il bordo destro. Questo è spiegato dal fatto che quando si posizionano numeri l'uno dall'altro (nella colonna della tabella), è conveniente avere l'allineamento su scarichi (unità sotto unità, decine di decine, ecc.).

Il testo in fogli di calcolo Excel è una sequenza di caratteri costituiti da lettere, numeri e spazi, come la registrazione "32 MB" è testuale. Per impostazione predefinita, il testo è allineato nella cella lungo il bordo sinistro. Questo è spiegato dal modo tradizionale di scrittura (da sinistra a destra).

La formula dovrebbe iniziare con il segno di uguaglianza e può includere numeri, nomi cellulari, funzioni (matematica, statistica, finanziaria, data e ora, ecc.) E segni matematici: operazioni. Ad esempio, la formula "\u003d A1 + B2" fornisce l'aggiunta dei numeri memorizzati nelle celle A1 e B2 e la formula "\u003d A1 * 5" - la moltiplicazione del numero memorizzata nella cella A1, per 5. La formula è inserita nella cella, viene visualizzata la formula stessa. E il risultato dei calcoli per questa formula. Quando i valori di origine vengono modificati nella formula, il risultato viene ricalcolato immediatamente.

Regole per la registrazione di formule nei tavoli elettronici

1. Le formule contengono numeri, nomi di celle, operazioni, staffe rotonde, nomi di caratteristiche

2. Operazioni aritmetiche e i loro segni:

Combinazione del tasto del segno del nome dell'operazione

aggiunta + (Shift + + \u003d) o (+) su una tastiera aggiuntiva

sottrazione - (-)

moltiplicazione * (Shift + 8) o (*) su una tastiera extra

divisione / (Shift + | \\) o (/) su una tastiera aggiuntiva

intenzione al grado ^ (Shift + 6) in inglese

3. La formula è scritta nella stringa, i caratteri sono coerentemente fiancheggiati l'uno con l'altro, tutte le operazioni di operazioni sono apposte; Vengono utilizzati staffe rotonde.

4. Prima di tutto, le operazioni vengono eseguite tra parentesi, se non ci sono parentesi, la procedura per l'esecuzione è determinata dall'anzianità delle operazioni. Discendendo l'anzianità, l'operazione si trova in questo ordine:

1. Erend.

2. Moltiplicazione, divisione

3. Aggiunta, sottrazione

Le operazioni della stessa anzianità vengono eseguite nell'ordine del loro ingresso da sinistra a destra.

5. Le formule possono essere inserite nella modalità di visualizzazione dei calcoli, I.e. Registrazione della formula alla cella corrente L'utente inizia dal marchio \u003d e nella cella dopo aver premuto il tasto ENTER visualizza il risultato del calcolo da parte della formula.

6. Le formule possono essere somministrate nella modalità di visualizzazione delle formule, I.e. L'utente nella cella corrente registra la formula senza un segno \u003d e nella cella dopo aver premuto il tasto ENTER visualizza la formula.

30.Trang funzioni incorporate. Riferimenti assoluti e relativi in \u200b\u200btabelle elettroniche (ET).

Il riferimento relativo nella formula viene utilizzato per specificare l'indirizzo della cella calcolata dalla cella in cui si trova la formula. Quando si sposta o alla copia di una formula da una cella attiva, i riferimenti relativi vengono aggiornati automaticamente a seconda della nuova posizione della formula. I riferimenti relativi sono i seguenti: A1, VZ.

Il collegamento assoluto nella formula viene utilizzato per specificare l'indirizzo di cella fissa. Quando si sposta o copia la formula, i collegamenti assoluti non cambiano. In link assoluti, un segno di dollaro viene messo davanti a un valore immutabile della cella (ad esempio, $ A $ 1).

Se il simbolo del dollaro sta affrontando la lettera (ad esempio: $ A1), quindi la coordinata della colonna è assoluta e le linee sono relative. Se il simbolo del dollaro è prima del numero (ad esempio, un $ 1), quindi, al contrario, la coordinata della colonna è relativa e le linee sono assolute. Tali collegamenti sono chiamati misti. Lasciare, ad esempio, nella cella C1, è registrata una formula \u003d un $ 1 + $ B1, che, quando si copia la cella D2, acquisisce la specie \u003d a $ 1 + $ B2. Riferimenti relativi quando la copia è cambiata e assoluta - no.

La classe spiegherà l'algoritmo per la creazione di tipi di dati utente a Pascal (tipo). Gli esempi saranno smontati.

I tipi di dati a Pascal sono suddivisi in modo semplice e complesso.

I tipi semplici includono Standard, elencato e limitato.

A tipi complessi - Array, set, record, file. Elementi di tipi complessi possono essere tipi semplici e complessi. Aspetteremo i tipi di dati complessi in seguito.

Uno dei tipi più comuni è il tipo standard seriale.
Tipo standard Indica il set lineare finale dei valori. Di solito appartiene intere tipi, byte, simbolico e logico.

Nuovi tipi di dati (personalizzati) Necessario principalmente per visibilità e convenienza:

Esempio: La matrice è impostata su 10 x 50 dimensioni. Eseguire la descrizione della matrice utilizzando il tipo di dati utente

procedura P (A: Array of Integer);

Ma dovresti creare un tipo di dati e registra come questo:

1 2 Tipo Vector \u003d Array [1 .. 10] di Integer; Procedura VAR P (A: vector);

tipo Vector \u003d Array of Integer; Procedura VAR P (A: vector);

Esempi della descrizione degli array usando nuovi tipi

tipo Vector \u003d Array of Integer; Matritsa \u003d array di vettore;

  • 1 Digitare matritsa \u003d array [1 .. 8] di array [1 .. 10] di numero intero;

    digita matritsa \u003d array di array di intero;

  • 1 Digita matritsa \u003d array [1 .. 8, 1 .. 10] di numero intero;

    digita Matritsa \u003d array di Integer;

  • Nell'esempio seguente, variabili c. e d. Descrive lo stesso:

    1 2 3 4 5 6 Tipo Vector \u003d Array [1 .. 10] di Integer; Matritsa \u003d array [1 .. 8] di vettore; VAR A, B: vector; C: matritsa; D: array [1 .. 8] di vettore;

    tipo Vector \u003d Array of Integer; Matritsa \u003d array di vettore; VAR A, B: vector; C: matritsa; D: array di vettore;

    Tipo 1.: Imposta gli array A, B e C. Trova gli elementi minimi aritmetici medi dell'array (usa la formazione di un array e).
    Quando si descrive le procedure utilizzano tipi personalizzati Dati

    Tipo stato elencato e tipo di intervallo in Pascal

    Tipo quotato

    Il programma può utilizzare variabili di questo tipo, che non corrisponde a nessuno dei tipi standard.

    Quindi, il tipo può essere impostato dall'elenco dei valori durante la dichiarazione; Una variabile di questo tipo può assumere uno qualsiasi di questi valori.

    Questi valori non posso essere righe, non puoi ritirarti e non è possibile inserire un computer Usando operatori di lettura e scrittura.

    Considera un esempio di creazione di un tipo elencato in Pascal:

    Digita PT \u003d (Word1, Word2, ... Wordn); Var w: pt;

    digita Pt \u003d (Word1, Word2, ... wordn); Var w: pt;

  • pT - Identificatore di tipo (arbitrario),
  • word1, Word2 ... - Valori specifici che possono ricevere una variabile w appartenente al tipo PT
  • i valori di questo tipo sono considerati ordinati, cioè. La descrizione del tipo allo stesso tempo introduce l'ordine word1.
  • Tipo di intervallo

    Tipo di intervallo Specifica un sottoinsieme specifico di valori che questa variabile può ricevere. Creato impostando il valore più piccolo e il più grande del tipo ordinale. Come costanti (valori minimi e massimi), i valori di qualsiasi tipo semplice possono essere utilizzati diversi dai tipi reali.

    Considera un esempio di un annuncio di tipo intervallo:

    A: min .. max;
  • uN. - variabile intervallabile
  • min. - Linea di fondo
  • max. - Bordo Subset superiore
  • i confini della gamma sono separati da due punti.
  • il confine min.dovrebbe essere sempre meno max.
  • costanti min.e max.deve appartenere allo stesso tipo. Definiscono il tipo di base di variabile uN..
  • Condivisione dei tipi di trasferibili e intervalli

    La variabile del tipo di intervallo può essere impostata con la base per il tipo di base elencato. Considera un esempio:

    Esempio: Se la variabile. b. può prendere uno dei valori rosso, giallo, verde.Questa variabile può essere descritta come segue: B: rosso..green; Tipo di base per b. è tipo. colore:

    Tipo colore \u003d (rosso, giallo, verde, blu); VAR B: rosso .. verde; Iniziare B: \u003d rosso; Writeln (b); B: \u003d giallo; Writeln (b); B: \u003d verde; Writeln (b); End Readln.

    tipo colore \u003d (rosso, giallo, verde, blu); VAR B: rosso..Green; Iniziare B: \u003d rosso; Writeln (b); B: \u003d giallo; Writeln (b); B: \u003d verde; Writeln (b); End Readln.

    NEL questo esempio Tipo colore - è essenziale. La variabile di tipo intervallo è definita utilizzando il tipo di base elencato.

    Esempio: È noto quanti giorni in ogni mese dell'anno. Quanti giorni in estate?
    31,28,31,30,31,30,31,31,30,31,30,31

    Una delle soluzioni di questo compito sembra questo:

      Mostra soluzione:

      1 2 3 4 5 6 7 8 Const DNI: array [1 .. 12] di byte \u003d (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); VAR S, I: Integer; Iniziare s: \u003d 0; Per i: \u003d da 6 a 8 do s: \u003d s + dni [i]; (Mesi estivi - 6, 7, 8) Writeln (s) termina.

      const DNI: array di byte \u003d (31,28,31,30,31,30,31,31,30,31,30,31,31,30,31,30,31); VAR S, I: Integer; Iniziare s: \u003d 0; Per i: \u003d da 6 a 8 do s: \u003d s + dni [i]; (Mesi estivi - 6, 7, 8) writeln (s) termina.

      Il codice questa soluzione Non ha la migliore visibilità, inoltre, è necessario calcolare il numero dei mesi dell'inizio e la fine dell'estate (6 e 8).
      La convenienza e la visibilità di tali programmi possono essere migliorate come segue:

      Mostra soluzione:

      1 2 3 4 5 6 7 8 9 Digitare MES \u003d (gennaio, febbraio, marzo, aprile, maggio, giugno, luglio, agosto, settembre, ottobre, novembre, dicembre, ingannevole); Const DNI: array [gennaio .. Dicembre] di byte \u003d (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); VAR S: Integer; I: mes; (Contatore del ciclo variabile I è impostato dal tipo MES, non in numero intero) Iniziare s: \u003d 0; Per I: \u003d Giugno ad agosto DO S: \u003d S + DNI [i]; Writeln (s) termina.

      Digitare MES \u003d (gennaio, febbraio, marzo, aprile, maggio, giugno, luglio, agosto, settembre, ottobre, novembre, dicembre, ingannevole); Const DNI: array di byte \u003d (31,28,31,30,31,30,31,31,30,31,30,31,31,30,31,30,31); VAR S: Integer; I: mes; (Contatore a ciclo variabile I è impostato dal tipo MES, e non intero) Iniziare S: \u003d 0; Per I: \u003d Giugno ad agosto DO S: \u003d S + DNI [i]; Writeln (s) termina.

    Tipo 2: Determinare dal nome del giorno della settimana, sia che sia o del giorno lavorativo.

  • Determinare il tipo enumerabile con i valori dei giorni della settimana ( mon., marittimo, matrimonio, thu., venerà, sab., sole.).
  • Nel programma assegnare il valore della variabile (dai valori di tipo, ad esempio, mon.).
  • Controllare la variabile: se il valore del sabato o della domenica è quello di emettere un messaggio. "Produzione!"Altrimenti "Lavoriamo!".
  • Tipo 3: A seconda del mese dell'anno, rilascia un messaggio "freddo" - Se il mese invernale e "calore" - Se l'estate.

  • Determina il tipo elencato con i nomi dei mesi dell'anno.
  • Dichiarare una variabile relativa a questo tipo.
  • Nel programma assegnare il valore della variabile (dai valori del tipo).
  • Controllare la variabile: se il valore si riferisce al mese invernale, - emettere un messaggio "freddo" Altrimenti, - "calore".
  • Implementare in diversi modi.
  • Writeln (pribitie) termina.

    var otpravlenie, pribitie: byte; Inizia OtPravlenie: \u003d 22; Pribitie: \u003d otpravlenie + 10; Writeln (pribitie) termina.

    il programma invece della risposta "8" stamperà "32".
    L'introduzione di un tipo di intervallo limitato eviterà risultati errati, ma il compilatore fornirà ancora un errore:

    1 2 3 4 5 6 Var otpravlenie, pribitie: 0 .. 24; Inizia OtPravlenie: \u003d 22; Pribitie: \u003d otpravlenie + 10; Writeln (pribitiedeva); VAR A: Znak; Iniziare a: \u003d Lev; SE UN.<= strelets then writeln ("огонь" ) ; if (a>\u003d VESI) e (a<= bliznetsi) then writeln ("воздух" ) ; if (a>\u003d Rak) e (a<= ribi) then writeln ("вода" ) ; if (a>\u003d kozerog) e (a<= deva) then writeln ("земля" ) ; end .

    tipo Znak \u003d (Forno, Lev, Streelets, Vesi, Vodoley, Bliznetsi, Rak, Skorpion, Ribi, Kozerog, Teletti, Deva); VAR A: Znak; Iniziare a: \u003d Lev; SE UN.<=strelets then writeln("огонь"); if (a>\u003d VESI) e (a<=bliznetsi) then writeln ("воздух"); if (a>\u003d Rak) e (a<=ribi) then writeln ("вода"); if (a>\u003d kozerog) e (a<=deva) then writeln ("земля"); end.

    Tipo 5: A seconda del nome del fiore, per emettere quale stagione dell'anno si riferisce:

  • Primavera: bucaneve, iris, narciso
  • Estate: Camomilla, Dailed, Mac
  • Autunno: Astra, Chrysanthemum, Flox
  • Quando descrivi la variabile, è necessario specificare il suo tipo. Il tipo di variabile descrive un insieme di valori che può accettare e azioni che potrebbero essere completate sopra di esso. Tipo Descrizione Specifica l'identificatore che indica il tipo.

    I tipi semplici sono suddivisi in standard (ordinali) e quotati (limitato).

    Tipi standard

    Turbo-Paskal ha quattro tipi standard integrati: intero (intero), reale (reale), booleano (logico) e char (simbolo).

    Tipo intero (intero)

    In Turbo Pascal ci sono cinque tipi interi integrati: Short (breve numero intero), intero (intero), longant (lungo intero), byte (byte-long) e parola (lunghezza della parola). Ogni tipo indica un sottoinsieme specifico di numeri interi, come mostrato nella seguente tabella.

    Tipi integrati integrati.

    Gamma

    Formato

    8 bit con un segno

    16 bit con un segno

    2147483648 +2147483647

    32 bit con un segno

    8 bit senza segno

    16 bit senza segno

    Le azioni aritmetiche sugli operandi di tipo intero vengono eseguite in conformità con le seguenti regole:

    1. Il tipo di un'intera costante è un tipo integro integrato con la gamma più piccola, che include il valore di tutta questa costante.
    2. Nel caso di un'operazione binaria (funzionamento utilizzando due operandi), entrambi gli operandi vengono convertiti nel loro tipo condiviso prima che l'azione venga eseguita sopra di loro. Il tipo comune è il tipo intero integrato con la gamma più piccola, che include tutti i valori possibili di entrambi i tipi. Ad esempio, un tipo comune per un tutto e un'intera lunghezza in byte è un numero intero e il tipo comune per un intero e un'intera lunghezza nella parola è un lungo intero. L'azione viene eseguita secondo la precisione del tipo totale e il tipo di risultato è un tipo generale.
    3. L'espressione a destra nella dichiarazione di assegnazione viene calcolata indipendentemente dalle dimensioni della variabile a sinistra.

    Operazioni eseguite su numeri interi:

    "+" - Aggiunta

    "-" - sottrazione

    "*" - moltiplicazione

    SQR - Costruzione del quadrato

    Div - dopo la parte frazionariata dalla Fissione scartata

    Mod - ottenere un intero equilibrio dopo la divisione

    ABS - Numero modulo

    Casuale (x) - numero casuale da 0 a x

    A: \u003d 100; B: \u003d 60; Un risultato div B - 1 un risultato Mod B - 40

    Le variabili integer sono descritte come segue:

    elenco var delle variabili: tipo;

    Ad esempio: VAR A, P, N: Integer;

    Tipo reale (reale)

    Il tipo reale include un sottoinsieme di numeri reali, che può essere rappresentato in un formato flottante-semicolo con un numero fisso di numeri. Un record di un punto e virgola mobile di solito include tre valori - M, B ed E - in modo tale da M * B E, dove B è sempre 10, e M ed E sono valori interi nel raggio di tipo reale. Questi valori M ed E determinano ulteriormente la gamma e la precisione del tipo reale.

    Ci sono cinque tipi di tipi reali: reale, single, duble, exnse, comp. I tipi reali differiscono nell'intervallo e accuratezza dei valori associati

    Gamma e numeri decimali per tipi reali

    Gamma

    Numeri

    2.9x10e-39 a 1.7x10e 38

    1.5x10e-45 a 3.4x10e 38

    5.0x10e-324 a 1.7x10e 308

    3.4x10e-493 a 1.1x10e 403

    2e 63 a 2E 63

    Operazioni eseguite sopra i numeri reali:

    • Tutte le operazioni ammessi per i numeri interi.
    • SQRT (X) -Korn Square tra x.
    • Peccato (x), cos (x), arctan (x).
    • Ln (x) -Hared logaritmi.
    • Exp (x) -exponent x (e x).
    • EXP (x * ln (A)) - Erend (A X).
    • Digitare funzioni di conversione:
      • Trunc (x) è una parte frazionata;
      • Round (x) -Crugua.
    • Alcune regole delle operazioni aritmetiche:
      • Se nell'azione aritmetica ci sono numeri di tipo reale e integer, il risultato avrà un tipo di reale.
      • Tutti i componenti dell'espressione sono registrati in una riga.
      • Vengono utilizzate solo parentesi rotonde.
      • È impossibile mettere due segni aritmetici di fila.

    Descrive le variabili del tipo reale come segue:

    Elenco var delle variabili: tipo;

    Per esempio:

    Var d, g, k: reale;

    Tipo di simbolo (CHAR)

    K Tipo Char appartiene a qualsiasi simbolo racchiuso in apostrofi. Per rappresentare l'apostrofo come variabile simbolica, è necessario concludersi all'apostrofo: "'' '.

    Ogni simbolo ha il proprio codice e numero. I numeri di sequenza dei numeri 0.1..9 sono ordinati ascendenti. Anche il numero di sequenza di lettere viene ordinato ascendente, ma non necessariamente seguirsi a vicenda.

    Segni di confronto applicabili dei dati simbolici:

    > , < , >=, <=, <> .

    Ad esempio: 'A'< ‘W’

    Funzioni che si applicano alle variabili simboliche:

    1. Ord (x) - Definisce il numero di sequenza del simbolo X. ORS ('A') \u003d 97;
    2. CHR (x) - Determina il carattere per numero. CHR (97) \u003d 'A';
    3. Pred (x) - dà un simbolo di fronte al simbolo di X. Pred ('B') \u003d 'A';
    4. Succ (x) - Problemi un simbolo successivo dopo il simbolo X. succ ('A') \u003d 'B';

    Tipo quotato

    Il tipo di dati elencato è denominato perché è impostato sotto forma di trasferimento di costanti in ordine rigorosamente definito e in un importo rigorosamente definito. Il tipo elencato è costituito da un elenco di costanti. Le variabili di questo tipo possono rendere il valore di una qualsiasi di queste costanti. La descrizione del tipo elencato ha il modulo:

    genere<имя типа>\u003d (Elenco delle costanti); Var.<имя переменной>:<имя типа>;

    dove<список констант> - Questo è un tipo speciale di costanti definiti attraverso la virgola e avendo il proprio numero di serie, a partire da 0.

    Per esempio:

    Direzione di tipo \u003d (nord, sud, ovest, est); mese \u003d (giugno, luglio, agosto, gennaio); Capacità \u003d (secchio, barile, contenitore, serbatoio); Var gira: direzione; Partenza: lun; Volume: capacità; Var girata: (SPE, sud, ovest, est); Partenza: (giugno, luglio, agosto, gennaio); Volume: (secchio, barile, contenitore, serbatoio);

    È possibile eseguire tali operatori di assegnazione:

    Girare: \u003d sud; Partenza: \u003d agosto; Volume: \u003d serbatoio;

    ma è impossibile eseguire incarichi misti:

    Partenza: \u003d sud; Volume: \u003d agosto;

    Le seguenti funzioni sono applicate alle variabili del tipo elencato:

    1. ORD - Numero sequenza

    2. Elemento predisposto

    3. Il succ è l'elemento successivo.

    Pred (barile) \u003d secchio; Succ (sud) \u003d ovest; Ord (luglio) \u003d 1;

    Le variabili dell'elenco possono essere confrontate, poiché sono ordinate e numerate. Quindi espressioni: nord< юг, июнь < январь имеют значения TRUE, а юг>west e Buck<бочка значение FАLSE.

    Tipo limitato

    Se la variabile non accetta tutti i valori del suo tipo, ma solo in un determinato intervallo, può essere considerato una variabile di tipo limitato. Ogni tipo limitato è impostato imponendo restrizioni sui tipi di base.

    Descrive come questo:

    genere<имя типа>\u003d costante1 .. Constanta2

    Allo stesso tempo, devono essere seguite le seguenti regole:

    1. Entrambe le costanti limitate dovrebbero essere un tipo.
    2. Come tipo di base, è possibile utilizzare qualsiasi tipo semplice diverso da valido (reale).
    3. Il valore iniziale quando si determina il tipo limitato non dovrebbe essere maggiore del valore finale.
    tipo indice \u003d 0 ..63; Lettera \u003d 'a' .. 'z'; Var char1, char2: lettera; A, G: indice;

    Può essere descritto immediatamente nelle descrizioni delle variabili:

    VAR A, G: 0 ..63; CHAR1, CHAR2: 'A' .. 'Z'.

    La campana.

    Ci sono quelli che hanno letto questa notizia prima di te.
    Iscriviti per ricevere articoli freschi.
    E-mail
    Nome
    Cognome
    Come vuoi leggere la campana
    Senza spam.