Pascal/Librerie e funzioni predefinite: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m ho commentato la sezione →‎math
Ramac (discussione | contributi)
Riga 10:
 
Le librerie e le rispettive funzioni analizzate in questa pagina sono chiamate "'''librerie predefinite'''" in quanto sono di norma distribuite di default dal compliatore in uso. È infatti possibile anche creare librerie personalizzate per poter agevolare il proprio lavoro in più programmi differenti.
== crt ==
La libreria di gran lunga più usata è sicuramente ''crt'', con tutte le funzioni relative all'estetica in ambito DOS. Ma non abbiamo ancora affrontato il problema dell'utilizzo di librerie all'interno dei nostri programmi.
 
Probabilmente avrete notato che eseguendo i programmi implementati finora l'esecuzione terminava istantaneamente senza l'aggiunga del <code>readln</code> finale, non appena il risultato veniva mostrato sullo schermo. Questo può essere abbastanza scomodo. Ma anche per questi problemi aiuta la libreria CRT, con la funzione <code>readkey()</code> che, come abbiamo già visto, permette di leggere il primo carattere che viene immesso da tastiera.
 
===funzioni Funzioni di crt ===
 
'''clrscr;'''
Riga 102:
===funzioni di math===
-->
 
==graph3==
== graph ==
Un altra libreria molto usata è ''graph3'' che permette l'utilizzo della grafica delle versione di Turbo Pascal 3.xx, e tramite semplici comandi si riesce a disegnare facilmente punti, linee e altre forme geometriche.
''graph'' è una libreria che fornisce la possibilità di integrare la grafica nelle applicazioni Pascal.
=== Funzioni di graph ===
Prima di iniziare a disegnare, è necessario entrare in modalità grafica tramite le funzioni:
scheda := '''detect''';
'''initgraph(scheda, modo, percorso);'''
dove scheda e modo sono due variabili da dichiarare come integer nell'intestazione del programma. La funzione <code>detect</code> ricerca la scheda grafica in uno e restituisce il valore numerico ad essa associato; <code>initgraph</code> avvia la modalità grafica utilizzando la scheda identificata dal valore numerico di <code>scheda</code> e attribuisce alla variabile <code>modo</code> la modalità grafica selezionata automaticamente da Pascal; <code>percorso</code> è una stringa che identifica il percorso nel quale sono presenti i driver della scheda grafica: normalmente è sufficiente indicare il percorso di installazione del compilatore, ad esempio C:\TP per Turbo Pascal e C:\FPC per Free Pascal.
 
Quando la modalità grafica viene attivata, viene aperta una finestra aggiuntiva che sarà la schermata di output delle funzioni grafiche. Per chiuderla, usiamo la funzione
'''closegraph;'''
 
Per usare i colori abbiamo a disposizione le funzioni:
'''setcolor(colore)''' {imposta il colore di primo piano}
Per identificare un colore possiamo usare un numero da 0 a <code>getmaxcolor</code> (è una funzione che restituisce il numero massimo di colore disponibile ) oppure le costanti red, white, black, ecc...
 
Un altro concetto importante è quello di puntatore attivo, cioè la posizione nel quale si trova il puntatore grafico. Quando vengono effettuati dei disegni di punti e linee, viene spostato il puntatore attivo in una posizione particolare.
 
Vediamo ora una serie di funzioni di disegno:
'''putpixel(x, y, colore)'''
Traccia un punto di coordinate x, y e del colore scelto e sposta in x, y il puntatore attivo.
'''getpixel(x,y)'''
Restituisce il colre del pixel in posizione x, y.
'''moveto(x,y)'''
Sposta il puntatore attivo nella posizione x,y.
'''GetX'''
'''GetY'''
Restituiscono le coordinate del puntatore attivo.
'''GetMaxX'''
'''GetMaxY'''
restituiscono i valori massimi della x e della y (ovvero le dimensioni in pixel della finestra di output).
'''line(x1, y1, x2, y2)'''
Traccia una linea dal punto x1, y1 al punto x2, y2. Sposta il puntatore attivo su x2, y2.
'''linerel(dx, dy)'''
Traccia una linea partendo dal puntatore attivo fino alla posizione x+dx e y+dy (dove x e y sono le coordinate del puntatore).
'''lineto(x, y)'''
Traccia una linea dal puntatore attivo al punto di coordinate x,y.
'''circle(x, y, r)'''
Disegna una circonferenza di centro x, y e di raggio r. Sposta il puntatore attivo su x, y.
'''arc(x,y, ang1, ang2, r)'''
Disegna un arco di circonferenza di centro x, y e di raggio r a partire dall'angolo di gradi ang1 fino ad ang2. I gradi sono contati in senso antiorario a partire dalle ore 3. Sposta il puntatore attivo su x, y.
'''ellipse(x,y,ang1, ang2, rx, ry)'''
Disegna un arco ellise di centro x, y tra gli angoli ang1 e ang2 (per una ellisse completa usare i valori 0 e 359) con il raggio orizzontale rx e raggio verticale ry. Sposta il puntatore attivo su x, y.
== graph3 ==
Un altra libreria molto usata è ''graph3'' che permette l'utilizzo della grafica delle versione di Turbo Pascal 3.xx, e tramite semplici comandi si riesce a disegnare facilmente punti, linee e altre forme geometriche. Questa libreria fornisce ovviamente meno funzionalità della sua pronipote graph, ma non richiede l'uso di una scheda grafica.
L'utilizzo di questa libreria sostituisce alcune funzioni della libreria ''crt'' come ''clrscr'', che viene sotituito da ''clearscreen''. Dal momento in cui si entra nella modalità grafica con il comando ''graphcolormode'' la grandezza dei caratteri aumenta e la risoluzione diminuisce.
===funzioni Funzioni di graph3 ===
Per attivare la modalità grafica è possibile usare due funzioni:
'''graphmode'''