Prova i file

Accesso sequenziale Program ProvaFileInteri; Const   nome=’fileinteri.arc’; Var   FI: File of Integer;   x: Integer;   i: Integer; Begin   Assign(FI, nome);   Rewrite(FI);   For i:=1 To 10 Do       Begin         x:=10*i;         Write(FI, x);       End;   Close(FI);       … Leggi tutto

Unit

Con le unità si realizza la programmazione modulare in Turbo Pascal. Si utilizzano le unità per dividere in parti più piccole un programma molto grande rendere più leggibile il codice dividendolo in parti logicamente indipendenti creare delle librerie di comandi o funzioni da riutilizzare. Sintassi Unit NomeUnita; { Intestazione } Interface { R i s … Leggi tutto

Memoria dinamica

Operatore Sintassi Descrizione @ Addr Addr(x): pointer; Restituisce l’indirizzo dell’oggetto specificato Seg Seg(x): Word; Restituisce il segmento dell’oggetto specificato Ofs Ofs(x): Word; Restituisce l’offset dell’oggetto specificato Ptr Ptr(Seg, Ofs: Word): pointer; Trasforma una base di segmento e un indirizzo di segmento in un valore per un puntatore Cseg CSeg: Word; Restituisce il valore attuale del … Leggi tutto

Esempi di funzioni

Le funzioni restituiscono un valore a chi ha fatto la chiamata Quadrato di un numero function QUADRATO(X: Real): Real; begin     QUADRATO:=X*X; end; Adesso, per calcolare lo spostamento in un moto uniformemente accelerato, possiamo scrivere s:=1/2*a*t*t; oppure s:=1/2*a*Sqr(t); oppure s:=1/2*a*QUADRATO(t); Realizzare una funzione che restituisce la misura dell’ipotenusa, date quelle dei cateti, di un … Leggi tutto

Procedure con parametri misti

Passaggio dei parametri misto Incrementa (decrementa?) di delta la variabile a Procedure incDelta(Var a: Integer; delta: Integer); Procedure decDelta(Var a: Integer; delta: Integer); Restituisce in c il minimo tra a e b Procedure minimo2(a, b: Integer; Var c: Integer); Begin   If(a <= b) Then       c:=a   Else       c:=b;  … Leggi tutto

Procedure con parametri per variabile

Passaggio dei parametri per riferimento/indirizzo/variabile Scambia il contenuto di 2 variabili Procedure scambia2(Var x, y: Real); Var     temp: Real; Begin     temp:=x:     x:=y;     y:=temp; End; Ordina il contenuto di 2 variabili Procedure ordina2(Var x, y: Real); Begin   If(x > y) Then       scambia2(x,y); End; Ordina … Leggi tutto

Procedure con parametri per valore

Passaggio dei parametri per valore Scrive a una certa posizione un certo messaggio Procedure scriviMessaggio(riga, colonna: Integer; msg: String); Begin   GotoXY(colonna, riga);   Write(msg); End; Scrive n volte un numero casuale tra 1 e 6 Procedure lanciaDadoVolte(n: Integer); Var     dado: Integer; Begin     Randomize;     For i:=1 to n Do … Leggi tutto

Procedure senza parametri

Pulisce lo schermo cancellando 25 volte la prima linea Procedure pulisciSchermo1; Var    i: Integer; Begin    GotoXY(1,1);    For i:=1 To 25 Do    Begin       DelLine;       Delay(100);    End; End; Pulisce lo schermo inserendo 25 volte la prima linea Procedure pulisciSchermo2; …     InsLine; … Pulisce lo … Leggi tutto

Funzioni Pascal

Le funzioni sono sottoprogrammi che restituiscono un valore a chi ha fatto la chiamata. Funzioni (operatori) SENZA parametri Random Generatore di numeri casuali con distribuzione uniforme in [0.0, 1.0[ WhereX WhereY Colonna e riga della posizione attuale del cursore KeyPressed È stato premuto un tasto? ReadKey Il carattere corrispondente al tasto premuto CON UN parametro … Leggi tutto

Procedure Pascal

Procedure presenti nelle librerie System e Crt. Si utilizzano come dei comandi rivolti all’esecutore. SENZA parametri ClrEol ClrScr DelLine InsLine ReadLn WriteLn Operazioni … sullo schermo NoSound Smette di emettere suoni Randomize Inizializza il generatore di numeri casuali Prova… CON parametri passati per VALORE Delay() ms L’esecuzione si interrompe per ms millisecondi GotoXY() x y … Leggi tutto