Da questa definizione si evincono le due proprietà fondamentali dell'algoritmo:
|
|
- Graziana Ranieri
- 8 anni fa
- Visualizzazioni
Transcript
1 MANUALETTO DI TURBO PASCAL (tratto da Emagister e Wikipedia) Capitolo 1: Introduzione ai linguaggi di programmazione "Il computer è una macchina che elabora delle informazioni; in quanto macchina, però, non è capace di gestirle da sé, ma necessita di un operatore esterno che istruisca l' elaboratore e gli insegni come trattare queste informazioni." Questa definizione racchiude in sé il significato della parola programmazione. In informatica, un linguaggio di programmazione è un linguaggio formale, dotato (al pari di un qualsiasi linguaggio naturale) di un lessico, di una sintassi e di una semantica ben definiti, utilizzabile per il controllo del comportamento di una macchina formale o di una implementazione di essa (tipicamente, un computer) ovvero per la programmazione di questa attraverso la scrittura di un programma sotto forma di codice. Un computer ovviamente non può risolvere qualunque tipo di problema, ma può risolvere solamente problemi traducibili in algoritmi, cioè serie finite di istruzioni semplici che possano condurre ad una soluzione calcolabile o valutabile in modo esatto. Un algoritmo si può definire come un procedimento che consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme di passi semplici corrispondenti ad azioni scelte solitamente da un insieme finito di passi. Il termine deriva dal nome del matematico e filosofo arabo Abū Ja far Muhammad ibn Mūsā al-khwārizmī, latinizzato in Algoritmi, che si ritiene essere uno dei primi autori ad aver fatto riferimento esplicitamente a questo concetto nel libro GHf - ghtr adouf (Libro della matematica orientale). La parola algebra deriva sempre dall'arabo al-giabr (ridurre le fratture, riunire i pezzi) probabilmente, in particolare, dal libro Algiabar wal-muqabala dello stesso matematico l Khuwarizmi. Da questa definizione si evincono le due proprietà fondamentali dell'algoritmo: la sequenza di istruzioni è finita (finitezza); essa deve portare ad un risultato (effettività). Concetti base Tutti i linguaggi di programmazione esistenti possiedono (almeno) questi due concetti chiave: Variabile: un dato o un insieme di dati, noti o ignoti, già memorizzati o da memorizzare; ad una variabile corrisponde sempre, da qualche parte, un certo numero (fisso o variabile) di locazioni di memoria che vengono allocate, cioè riservate, per contenere i dati stessi. Molti linguaggi inoltre attribuiscono alle variabili un tipo, con differenti proprietà (stringhe di testo, numeri, liste, ecc.). Istruzione: un comando oppure una regola descrittiva: anche il concetto di istruzione è molto variabile fra i vari linguaggi. A prescindere dal particolare linguaggio però, ogni volta che un'istruzione viene eseguita, lo stato interno del calcolatore (che sia lo stato reale della macchina oppure un ambiente virtuale, teorico, creato dal linguaggio) cambia. 1
2 Alcuni concetti sono poi presenti nella gran parte dei linguaggi: Espressione: una combinazione di variabili e costanti, unite da operatori; le espressioni sono state introdotte inizialmente per rappresentare le espressioni matematiche, ma in seguito la loro funzionalità si è estesa. Una espressione viene valutata per produrre un valore, e la sua valutazione può produrre "effetti collaterali" sul sistema e/o sugli oggetti che vi partecipano. Strutture dati, meccanismi che permettono di organizzare e gestire dati complessi. Strutture di controllo, che permettono di governare il flusso di esecuzione del programma, alterandolo in base al risultato o valutazione di una espressione (che può ridursi al contenuto di una variabile, o essere anche molto complessa) (cicli iterativi quali ad esempio for, do, while e strutture condizionali quali ad esempio if, switch-case). Sottoprogramma: un blocco di codice che può essere richiamato da qualsiasi altro punto del programma. In tale ambito quasi tutti linguaggi offrono funzionalità di riuso di codice accorpando cioè sequenze di istruzioni all'interno di funzioni richiamabili secondo necessità all'interno di programmi o all'interno di librerie richiamabili in ogni programma. Funzionalità di input dati da tastiera e visualizzazione dati in output (stampa a video). Il codice sorgente Programmare in un dato linguaggio di programmazione significa generalmente scrivere uno o più semplici file di testo ASCII, chiamato codice sorgente. Compilazione e interpretazione Il codice sorgente, contenente le istruzioni da eseguire e (spesso) alcuni dati noti e costanti, può essere poi eseguito passandolo ad un interprete che eseguirà le istruzioni in esso contenute; oppure può venire compilato, cioè tradotto in istruzioni di linguaggio macchina, cioè una modalità di comunicazione con la macchina basta solamente sul codice binario, da un programma compilatore: il risultato è un file binario 'eseguibile' (codice eseguibile) che non ha bisogno di altri programmi per andare in esecuzione, ed è anche molto più veloce di un programma interpretato. La compilazione è quindi il processo per cui il programma, scritto in un linguaggio di programmazione ad alto livello, cioè in un linguaggio lontano dal linguaggio macchina e più vicino al nostro linguaggio naturale, viene tradotto in un codice eseguibile per mezzo di un altro programma detto appunto compilatore. La compilazione offre numerosi vantaggi, primo fra tutti il fatto di ottenere eseguibili velocissimi nella fase di run (esecuzione) adattando vari parametri di questa fase all'hardware a disposizione; ma ha lo svantaggio principale nel fatto che è necessario compilare un eseguibile diverso per ogni sistema operativo o hardware (piattaforma) sul quale si desidera rendere disponibile l'esecuzione ovvero viene a mancare la cosiddetta portabilità. Esistono quindi due principali tipi di linguaggi con cui programmare una macchina: i programmi interpreti e i compilatori. 2
3 Alla prima categoria appartengono numerosi programmi tra i quali spicca il BASIC ( Beginners All- Purpose Symbolic Instruction Code = Codice simbolico di istruzioni per tutti gli usi, per principianti) grazie alla sua intuitività. Il suo funzionamento è semplice: il codice sorgente (quello introdotto dall'operatore esterno) viene tradotto in linguaggio macchina (ASCII) riga per riga ogniqualvolta il programma stesso viene eseguito. Oltre agli interpreti però, come già detto, esistono anche i compilatori. PASCAL, FORTRAN( FORmula TRAnslate = Traduzione di formule) e C, sono soltanto alcuni dei più diffusi linguaggi compilati. I programmi compilatori funzionano nel modo opposto degli interpreti: dato il solito codice sorgente, il compilatore lo trasforma in blocco in codice eseguibile. Questi due metodi di programmazione sono entrambi validi ma ciascuno offre vantaggi e svantaggi. I compilatori infatti hanno il vantaggio di essere più veloci rispetto agli interpreti ma sono più soggetti ad errori degli interpreti. Capitolo 2: Introduzione al Turbo Pascal In questa sede ci occuperemo estesamente di un particolare tipo di linguaggio di programmazione compilato, il Turbo Pascal. Il Pascal prende il suo nome dal matematico francese Blaise Pascal che fu il primo ad ideare una macchina calcolatrice: la Pascalina. Questo linguaggio fu messo a punto nel 1960 da Niklaus Wirth, docente all'università di Zurigo. Esso si diffuse dapprima negli ambienti scientifici ma, successivamente, grazie alla sua versatilità ed alla sua semplicità, si diffuse un po' dappertutto. Passiamo ora alla parte operativa. Una volta avviato il TP (Turbo Pascal, N.d.A.) si presenterà un' interfaccia a menu abbastanza intuitiva. Compariranno vari menu, ma quelli principali sono tre: File, Run,Compile. Il primo è formato da: New, per creare un nuovo documento di lavoro; Load, per aprire lavori già salvati; Save, registra un lavoro. Nel menu Compile l' unico comando che ci riguarda è Compile, che compila il programma (Cfr. Cap.1). Spesso può risultare utile conoscere il comando Destination (nel menu Compile) per decidere se compilare il programma nella Ram oppure in un file eseguibile (nome_programma.exe). Una volta compilato il programma, però, dobbiamo eseguirlo, e perciò è necessario selezionare dal menu Run il comando Run. 3
4 Capitolo 3 : Struttura generale di un programma Un programma scritto in TP consta in tre sezioni principali: sezione intestazione, sezione dichiarazioni e sezione esecutiva. Nonostante questi terribili nomi esse sono semplicissima comprensione: nella prima sezione si inserisce il nome del programma, nella seconda sezione vengono digitate le variabili e la loro tipologia, ed infine viene scritto il programma vero e proprio. Per intenderci possiamo fare un banalissimo esempio: possiamo considerare il TP come un teatro in cui si inscena un' opera: il titolo dell' opera è dato dalla sezione delle intestazioni, gli attori che prendono parte all' opera vengono presentati nella sezione dichiarativa, mentre lo svolgimento dello spettacolo è rappresentato dal corpo del programma. Esistono delle parole, dette riservate, a cui non può essere dato il valore di variabile, esse infatti rappresentano dei comandi che il TP può eseguire. Tornando all' esempio del teatro, non possiamo chiamare un personaggio SIPARIO oppure SCENA, esse infatti sono parti specifiche del teatro e non possono essere perciò dei personaggi. Capitolo 4 : Abbozziamo un programma Ora cominceremo con l' abbozzo di un programmino semplice: -Calcolare il triplo di un numero dato-. D'ora in poi le parole riservate verranno scritte in maiuscolo. E' da ricordare che alla fine di qualsiasi istruzione bisogna inserire il punto e virgola (;). Anche se non è obbligatorio andare a capo dopo di esso, è preferibile farlo per rendere più agevole la lettura e la comprensione del listato. Inoltre per inserire un commento che non interferisca con l' esecuzione del programma bisogna inserire il commento tra asterischi, e mettere il tutto tra parentesi tonde. Es.(* Questo è un commento *). Ecco qui il programma: PROGRAM triplo; (* Sezione dell'intestazione *) Uses wincrt; (* Sezione della dichiarazione della libreria *) VAR n:integer; (* Sezione delle dichiarazioni delle variabili *) Begin (* Inizio del corpo del programma *) clrscr (* Istruzione per pulire lo schermo *) writeln('questo programma calcola il triplo di un numero dato'); writeln; (* Istruzioni di scrittura *) writeln ('Introduci un numero intero'); readln(n); (* Istruzione di lettura *) n:=n*3; (* Istruzione di assegnazione *) writeln; writeln('il triplo è ',n); writeln; writeln('premi enter per finire'); readln; end. Nella parte dichiarativa abbiamo comunicato all' elaboratore che n è una variabile (VAR) che nel corso dell'esecuzione potrà avere soltanto un valore INTEGER, cioè di numero intero positivo o negativo. 4
5 Esaminando successivamente il listato vedremo che la parte esecutiva è introdotta da ( = inizio). Poi troviamo una nuova parola riservata, READLN ( abbreviazione Read Line = leggi riga). Essa serve a leggere i dati di input. La sua sintassi è molto semplice: READLN(nome variabile da leggere). Inoltre l' istruzione READLN non seguito da alcun parametro, crea un ciclo di attesa che dura finché non viene premuto Invio. E' d'obbligo inserirla alla fine di un listato, prima dell' END, poiché "congela" lo schermo quando dobbiamo leggere il risultato dell' elaborazione. Ad esempio, se eseguissimo il programma precedente senza READLN finale, non potremmo esaminare i risultati della nostra operazione, perché il programma si arresterebbe troppo in fretta. Un altra fondamentale istruzione è WRITELN ( abbreviazione Write Line = scrivi riga); essa serve a stampare i dati di output sullo schermo. La sua sintassi è: WRITELN('Stringa di testo'). Se consideriamo l'esempio sopra vedremo che il testo tra apici (') verrà stampato sullo schermo; nel caso in cui WRITELN venga usato senza parametri, l'elaboratore lascerà una riga vuota nell'elaborazione. Un ulteriore esempio sull'uso di WRITELN: WRITELN(a). In questo caso verrà visualizzato sullo schermo il valore assunto in quel momento dalla variabile a. Dunque, se a vale 3, allora sullo schermo uscirà il numero 3. E' possibile anche combinare stringhe e variabili, mettendo una virgola tra il secondo apice e la variabile: WRITELN( ' Io sono ', A); Infine, alla fine del programma (scusate il gioco di parole), troviamo END seguito da un punto. Esso indica la fine del flusso delle informazioni e il conseguente arresto del programma. Posizionamento del cursore Quando andiamo a creare un programma in Pascal, quello che decidiamo di far vedere sullo schermo viene automaticamente posizionato a sinistra, così Write ('ciao'); ciao Per far sì che il testo sia posizionato al centro o in altri punti dello schermo possiamo ricorrere all' istruzione GOTOXY (colonna,riga);. Quando utilizziamo Turbo Pascal, lo schermo viene diviso in righe e colonne come un foglio a quadretti. In termini numerici abbiamo 25 righe e 80 colonne per un totale di 2000 caselle. Noi possiamo sfruttare queste caselle tramite GOTOXY. Ad esempio: GotoXY (3,5); Write ('ciao'); ciao Il testo non è più a sinistra ma in un punto diverso dello schermo. Nel caso in cui vogliamo posizionare il testo esattamente al centro dello schermo si può calcolare la x: x = (80- lunghezza testo)/2. 5
6 Capitolo 5 : I tipi di dati Come già visto in precedenza, nel settore dichiarativo di un programma bisogna definire il tipo di variabili che intendiamo utilizzare nel corso del programma stesso. Esistono vari tipi di variabili, sono raggruppate in questo breve specchietto. Nome tipo Intervallo consentito commenti INTEGER / numeri interi (positivi e negativi) BYTE 0 /255 numeri interi WORD 0 / numeri interi REAL 2.9x10^-36 / 1.5 x 10^35 numeri reali (positivi e negativi) Questo schema dimostra come ci siano vari tipi di dichiarazione dei dati. Non è detto, però, che i tipi di dati corrispondano soltanto a cifre; potremmo infatti di fronte a un problema che necessita di dati alfanumerici, cioè composti di numeri e lettere. In questo caso dovremmo introdurre due nuovi tipi di variabile: 1) STRING[x] : Dichiarando così un tipo di dato assumeremo che quel dato è formato da un numero intero di x caratteri alfanumerici (compresi gli spazi). Usato senza parametri non definisce la lunghezza della stringa. Inoltre nel caso in cui si dichiari una lunghezza minore del dato inserito, l' elaboratore non considererà i caratteri che eccedono. Ad esempio, se dichiarassimo la variabile a di tipo STRING[5] e al momento di inserire i dati digitassimo la parola "folletto", essa risulterebbe troncata in "folle", poiché i caratteri in eccesso non verrebbero considerati nell' elaborazione. 2) CHAR : E' meno usata di STRING, ma qualche volta può risultare utile. Viene usata per definire variabili da un solo carattere ( eccetto numeri ). 6
7 Capitolo 6 : Le strutture dei dati I) Le strutture iterative: cicli ==================== Il termine iterare deriva dal latino e significa "ripetere". Questa struttura ( che è presente in tutti i linguaggi programmativi, non solo in Pascal) agisce su una operazione che deve essere ripetuta più volte. Vi sono tre modi per ripetere un istruzione o un blocco di istruzioni in Pascal: - for to do - while do - repeat until a) Iterazione enumerativa Ciclo FOR TO DO Come dice la parola stessa esegue un operazione n volte. In Pascal è indicata dal comando: FOR a =: ni TO nf DO ( * Niente punto e virgola * ) istruzione 1; istruzione...; Nel nostro caso ni sostituisce il numero intero dal quale si parte a enumerare e nf sostituisce il numero fino al quale si continua a enumerare. Dopo questa istruzione di iterazione si inseriscono le istruzioni da ripetere racchiudendo il tutto con un END seguito da un punto e virgola (;), poiché il flusso di informazioni non è del tutto terminato. E' possibile anche procedere a ritroso, contando alla rovescia da un numero n fino ad arrivare ad un numero t: FOR a:= n DOWNTO t DO Viene generalmente utilizzato per ripetere un blocco di istruzioni per un numero N di volte, dove N è conosciuto. Esempi: Si vuole fare scrivere una frase 10 volte: uses crt; var I: integer; begin clrscr; for I:= 1 to 10 do writeln ( La matematica mi piace moltissimo ); readln; end. 7
8 Oppure si vuole far scrivere la potenza ennesima di un numero: PROGRAM potenza; USES crt; VAR a,b,c,i:integer; WRITELN('Inserisci un numero'); READLN(A) WRITELN('Inserisci esponente'); READLN(B); FOR I:= 1 TO b DO c:=a*a; WRITELN('Il risultato della potenza è ',c); READLN; END. Esercizi: -scrivi i primi dieci numeri pari -scrivi il quadrato dei primi 10 numeri interi b) Iterazione per vero WHILE DO Esegue le informazioni racchiuse tra WHILE e DO e l' ( il punto e virgola indica che l'end è parziale) finché la condizione presa in esame risulta vera ed esce quando la condizione risulta falsa. WHILE a = 3 DO istruzione 1; istruzione 2; istruzione...; Questo semplice esempio spiega come il blocco di istruzioni presente tra WHILE DO e venga ripetuto finché si rispetti la condizione a = 3. Nel caso in cui il valore di a fosse stato diverso da 3, infatti, il blocco di istruzioni non sarebbe stato mai eseguito. (Il blocco di istruzioni che segue do va sempre racchiuso tra un begin e un end.) Esempio: Scrivere la somma dei primi dieci numeri naturali. uses crt; var I,S: integer; begin clrscr; I:=0; (*inizializzazione del contatore I*) S:=0; (*inizializzazione della variabile somma*) while I < 10 do 8
9 begin I:=I+1; S:=S+I; end; writeln (S); readln; end. (*incremento il contatore*) (*calcolo le somme parziali*) Esercizi: - Calcola la somma di una serie di numeri interi immessi da tastiera. - Sommare i numeri pari compresi tra 10 e 30. c) Iterazione per falso REPEAT UNTIL Si deve ripetere un blocco di istruzioni fino a che la condizione assegnata risulta falsa; quando diventa vera, l istruzione non viene più eseguita. In questo ciclo prima viene eseguita l istruzione, poi si incontra la condizione. REPEAT istruzione 1; istruzione 2; istruzione...; UNTIL proposizione; N.B. Ricorda di inserire proposizioni possibili dopo UNTIL altrimenti l'uscita dal ciclo ripetitivo non si avrà mai! ( in gergo si dice che il computer si "impianta" e bisogna riavviarlo) Esempio: Scrivere i numeri pari fino a 30. uses crt; var I: integer; begin clrscr; I:=0; (*inizializzazione del contatore I*) repeat I:=I+2; writeln (I); until I = 30; (*condizione*) readln; end. Esercizi: - Scrivi la somma dei primi 10 numeri naturali. 9
10 - Scrivi il quadrato di un numero immesso da tastiera per un numero a piacere di volte fino a quando il numero immesso è 0. II) Le strutture selettive ================= A questo punto è lecito domandarci se è possibile operare delle scelte con il TP. La risposta è affermativa. Esistono due tipi di selezione: la selezione binaria e la selezione multipla. a) Selezione binaria E' la più semplice: se consideriamo un numero naturale qualsiasi e ci domandiamo se esso è pari, la risposta potrà avere solo due alternative: Si oppure No. In TP c'è la possibilità di eseguire una scelta binaria tra due condizioni con il seguente comando: IF <proposizione1> THEN <istruzione1> ELSE <istruzione2> che tradotto fa più o meno: SE <proposizione1> ALLORA <istruzione1> ALTRIMENTI <istruzione2> ] Questo è quanto serve per operare ( o far operare al computer ) una scelta. Per chiarire ulteriormente questo importante processo vedrò di presentarvi un esempio. Costruiamo un programma che calcoli l' area di un rettangolo SE E SOLO SE l' area stessa è minore di un numero n ( per esempio 20) e maggiore di un numero m (per esempio 10); PROGRAM area_rettangolo; USES crt; VAR a,b,c: INTEGER; CLRSCR; (*E' l'abbreviazione di CLeaR SCReen= cancella schermo. Pulisce lo schermo.* ) WRITELN('Inserisci base'); READLN(a); WRITELN('Inserisci altezza'); READLN(b); c:=a*b; IF (c<20) AND (c>10) THEN (*AND, insieme a OR, sono gli operatori booleani più usati in TP. Per approfondimenti consultare l' appendice C *) WRITELN('Area maggiore di 20 oppure minore di 10.'); READLN; END ( * L' END prima dell' ELSE senza punto e virgola(;) * ) ELSE WRITELN(' AREA = ',c); READLN; READLN; END. 10
11 E' un listato semplice e l' unica osservazione da fare è che se dopo IF...THEN c'è solo un istruzione può essere scritta terminando il tutto con il solito punto e virgola(;). Tuttavia, se ce ne sono più di una è necessario aprire un altro e cominciare un sottoprogramma il quale, però, va terminato con l' che, se seguito da ELSE non accetta il punto e virgola(;). b) Selezione multipla Se domandiamo ad una persona quali sono i piatti che preferisce essa sceglierà fra un' ampia gamma di pietanze fino a scegliere quella che soddisfi i suoi gusti. Infatti, al contrario di prima, la selezione multipla ci fornisce illimitate possibilità di risposta. Il comando che in TP ci permette di operare un selezione multipla è il seguente: CASE n of ( * Se n è stata dichiarata INTEGER * ) valore 1: istruzione1; istruzione2; istruzione... ( * Se n è stata dichiarata CHAR * ) valore x: istruzione1; istruzione2; istruzione...; ELSE istruzione1; istruzione2; istruzione...; Nonostante la sua sintassi spaventosamente ricca, questa struttura è di facilissima comprensione. Innanzitutto dobbiamo decidere se dichiarare la variabile n come tipo INTEGER oppure CHAR. Se n è CHAR dovremo usare UNA lettera seguita dai due punti (:) e dal rispettivo sottoprogramma delimitato da e. Se invece n è INTEGER dovremo usare un numero naturale al posto di n e mettere dopo i due punti (:) il solito sottoprogramma delimitato da e. 11
12 Proviamo ora con un' esempio: un programma che generi un numero a caso tra 1 e 10 e lo comunichi all' operatore solo se esso è uguale a 7, 9 o 3. PROGRAM numeri_casuali; USES crt; VAR a,b,c:integer; CLRSCR; RANDOMIZE; (*Inizializza, ossia azzera il generatore di numeri casuali*) c:=random(10); (*Questo comando permette all'elaboratore di generare un numero a caso compreso tra 0 e il numero indicato in parentesi. Il massimo consentito è 255*) CASE c OF 7: WRITELN(' Il numero è ',c); 9: WRITELN(' Il numero è ',c); 3: WRITELN(' Il numero è ',c); ELSE WRITELN(' Il numero uscito è diverso da 3 7 e 9 '); Anche se con questo ultimo esempio abbiamo terminato il capitolo riguardante le strutture dei dati al lettore potrebbe sembrare che quelle poche strutture analizzate debbano essere affiancate da molte altre per costruire un programma relativamente complesso, e invece secondo il teorema di Bohm- Jacopini : "Le tre strutture matematiche che servono per creare un qualsiasi programma sono: iterative, selettive e sequenziali." Le strutture sequenziali sono le più lineari, poiché il flusso di dati scorre senza ripetizioni né selezioni che abbiamo utilizzato tranquillamente nel primo programma (quello del triplo di un numero) senza saperlo. 12
13 Capitolo 7: Le procedure Spesso, soprattutto in programmi complessi e piuttosto elaborati, ci troviamo dinanzi al problema di ripetere uno stesso procedimento più volte all'interno dello stesso programma. La soluzione a questo problema è data dal fatto che possiamo memorizzare una procedura e ripeterla a piacimento durante la stesura del programma. Questa utilissima funzione ha la seguente sintassi: PROCEDURE nome procedura; blocco istruzioni E' importante dire che i precedenti comandi devono essere digitati tra il settore dichiarativo e il corpo del programma (per intenderci, prima del iniziale). Per richiamare una procedura durante il programma bisogna digitare il nome della procedura seguito da un punto e virgola (;). Esempio: Modificare il programma precedente inserendo una procedura. PROGRAM numeri_casuali; USES crt; VAR a,b,c:integer; PROCEDURE output; ( * Qualsiasi nome va bene * ) WRITELN(' Il numero estratto è ',c); READLN; CLRSCR; RANDOMIZE; c:= RANDOM(10); (* Questo comando permette all'elaboratore di generare un numero a caso compreso tra 0 e il numero indicato in parentesi. Il massimo consentito è 255 *) CASE c OF 7: output; 9: output; 3: output; ELSE WRITELN(' Il numero uscito è diverso da 3 7 e 9 ' ); In questo caso una procedura è addirittura una perdita di tempo poiché le istruzioni da riscrivere sono poche ma in casi più complessi fanno risparmiare tempo e fatica. 13
14 A P P E N D I C E A GLI ERRORI DEL TP ================= Spesso (fin troppo spesso) nella digitazione del programma è probabile che siano presenti errori: mancato punto e virgola (;) alla fine di un istruzione, valore alfanumerico dato ad una variabile numerica, ecc. Per correggerli, il TP, al momento della compilazione, mostra in alto dei messaggi di errore che, malauguratamente per chi non lo conosce, sono in inglese! Qui di seguito c'è una brevissima guida su come correggere gli errori più comuni: N.B. Nel caso in cui l' errore non sia presente nella tabella, con un buon vocabolario di inglese si può tentare di capire l' origine dell' errore e quindi correggerlo. 1) Out of memory: il compilatore non ha abbastanza memoria per eseguire o compilare il programma. Provare a cambiare destinazione del codice eseguibile. (Vedi Capitolo1) 2) Unknown identifier: identificatore sconosciuto. Non abbiamo dichiarato una variabile. 3) Duplicate identifier: identificatore duplicato. Due variabili identiche.cambiarne una. 4) Syntax error: è sbagliata la sintassi di un istruzione. 5) Type mismatch: si è dichiarata una variabile diversamente da come si è considerata. Ad esempio si è caricato il valore 1 in una variabile di tipo CHAR; 6) String constant exceeds lines: si è dimenticato di mettere la stringa di testo fra apici. 7) Unexpected end of file: il numero dei non coincide col numero degli END. Verificarli. 14
15 A P P E N D I C E B Di seguito troverete dei comandi che potrebbero tornare utili in qualche programmino. 1) TEXTCOLOR(n)= Colora il testo che segue di un colore definito da n che è un numero da 0 a 15. I numeri maggiori di quindici producono un effetto lampeggiante. Ecco gli abbinamenti numeri-colori. 2) TEXTBACKGROUND(n)= Colora lo sfondo d un colore definito da n. Sintassi simile a TEXTCOLOR. 3) ABS(x) = Calcola il valore assoluto del numero x; 4) SQRT(x) = Calcola la radice quadrata di x; 5) DELAY(n) = Crea un ciclo di attesa lungo n ( millisecondi) A P P E N D I C E C Gli operatori booleani e i segni di operazione: ================================ Come già visto in precedenza spesso in TP ci serviamo di operatori quali AND oppure OR (letteralmente 'e' ed 'o'). Essi, introdotti dal matematico inglese George Boole, servono a congiungere due proposizioni. Prendiamo l' esempio fatto nello spiegare l'iterazione per falso: l' operatore AND infatti serve a dettare più di una condizione e farla avverare solo se entrambi sono soddisfatte. Se inserissimo il numero 7 ad esempio, l' elaboratore ci ripeterà la "domanda", poiché il numero inserito, non soddisfa le due condizioni: " il numero deve essere minore di 30 e maggiore di 10 ". I segni di operazione in TP, sono i seguenti: ' + ' = ADDIZIONE ' - ' = SOTTRAZIONE ' * ' = MOLTIPLICAZIONE ' / ' = DIVISIONE DIV = QUOZIENTE INTERO DELLA DIVISIONE MOD = RESTO DELLA DIVISIONE (DIV e MOD possono essere usati soltanto se i numeri da dividere sono di tipo INTEGER ) Inoltre per indicare il rapporto fra due cifre ci serviamo dei seguenti simboli matematici: ' < ' MINORE ' > ' MAGGIORE ' = ' UGUALE ' => ' MAGGIORE O UGUALE ' <= ' MINORE O UGUALE ' <> ' DIVERSO DA... 15
16 A P P E N D I C E D (TABELLE) Variabili Numeriche Tipo Variabile Shortint Integer Longint Byte Word Real Single Double Extended Comp Intervallo E E E E38 5 E E E E E E18 Spazio in memoria 8 bit 16 bit 32 bit 8 bit 16 bit 6 bytes 4 bytes 8 bytes 10 bytes 8 bytes Variabili AlfaNumeriche Tipo Char String Boolean Descrizione Da usare quando si vuole dare come valore alla variabile un solo carattere ASCII Da usare quando si vuole dare come valore alla variabile una parola di max 255 caratteri Da usare nel caso di una condizione che può essere vera o falsa Funzioni Ecco una lista di alcune funzioni già implementate nel Turbo Pascal: Abs Addr ArcTan Chr Concat Copy Cos CSeg DSeg Restituisce il valore assoluto dell'argomento Restituisce l'indirizzo dell'oggetto specificato Restituisce l'arcotangente dell'argomento Restituisce il carattere del numero ordinale specificato Concatena una sequenza di stringhe Restituisce una sottostringa della stringa Restituisce il coseno dell'argomento (x è un angolo in radianti) Restituisce il valore corrente del registro CS Restituisce il valore corrente del registro DS 16
17 Eof Eoln Exp FilePos FileSize Frac Hi Int loresult Length Ln Lo MaxAvail MemAvail Odd Ofs Ord ParamCount ParamStr Pi Pos Pred Ptr Random Round SeekEof SeekEoln Seg Sin SizeOf SPtr Sqr Sqrt SSeg Succ Swap Trunc UpCase Restituisce lo stato di fine file Restituisce lo stato di fine linea di un file di testo Restituisce l'esponenziale dell'argomento Restituisce la posizione corrente nel file Restituisce la dimensione corrente di un file Restituisce la parte frazionale dell'argomento Restituisce il byte superiore dell'argomento Restituisce la parte intera dell'argomento Restituisce lo stato dell'ultima operazione di I/O effettuata Restituisce la lunghezza dinamica di una stringa Restituisce il logaritmo naturale dell'argomento Restituisce il byte inferiore dell'argomento Restituisce la dimensione del blocco contiguo più grande libero nell'heap Restituisce la quantità di tutta la memoria libera nell'heap Controlla se l'argomento è un numero dispari Restituisce l'offset dell'oggetto specificato Restituisce il numero ordinale di un valore di tipo ordinale il numero dei parametri passati al programma nella linea di comando Restituisce uno specifico parametro della linea di comando Restituisce il valore di Pigreco Ricerca una sottostringa nella stringa Restituisce il predecessore dell'argomento Converte il segmento base e l'offset dell'indirizzo in un valore di tipo puntatore Restituisce un numero casuale Arrotonda un valore di tipo real a uno di tipo integer Restituisce lo stato di fine file di un file Restituisce lo stato di fine linea di un file Restituisce il segmento dell'oggetto specificato Restituisce il seno dell'argomento Restituisce il numero di byte occupati dall'argomento Restituisce il valore corrente del registro SR Restituisce il quadrato dell'argomento Restituisce la radice quadrata dell'argomento Restituisce il valore corrente del registro SS Restituisce il successore dell'argomento Scambia il byte superiore e inferiore dell'argomento Tronca un valore di tipo real a uno di tipo integer Converte in maiuscolo un carattere 17
18 Procedure Append Assign BlockRead BlockWrlte ChDir Close Dec Delete Dispose Erase Exit FillChar Flush FreeMem GetDir GetMem Halt Inc Insert MkDir Move New Randomize Read Readln Rename Reset Rewrite RmDir RunError ScrollTo Seek SetTextBuf Apre un file esistente per l'aggiunta Assegna il nome di un file esterno a una variabile file Legge uno o più record in una variabile Scrive uno o più record da una variabile Cambia la directory corrente Chiude un file aperto Decrementa una variabile Cancella una sottostringa da una stringa. Elimina una variabile dinamica Cancella un file esterno Esce immediatamente dal blocco corrente Riempie uno specificato numero (contatore) di byte contigui con il valore specificato (può essere di tipo Byte o Char) Svuota il buffer di un file di lesto aperto in scrittura Elimina una variabile dinamica di una data dimensione Restituisce la directory corrente del drive specificato Crea una variabile dinamica della dimensione specificata e inserisce l'indirizzo del blocco in una variabile puntatore Ferma l'esecuzione del programma e ritorna al sistema operativo Incrementa una variabile Inserisce una sottostringa in una stringa Crea una sottodirectory Copia i byte dalla sorgente alla destinazione Crea una nuova variabile dinamica e imposta una variabile puntatore con l'indirizzo Inizializza il generatore interno di numeri casuali con un valore casuale (ricavato dall'orologio di sistema) Legge un componente del file in una variabile per i file tipizzati; per i file di testo legge uno o più valori in una o più variabili Esegue la procedura Read, poi passa alla linea seguente del file Cambia il nome di un file esterno Apre un file esistente Crea e apre un nuovo file Elimina una sottodirectory vuota Ferma l'esecuzione del programma Scorre la finestra dello schermo per mostrare una locazione Sposta la posizione corrente di un file in quella specificata Assegna un buffer di I/O a un file di testo 18
19 Str Truncate Val Write Writeln Converte un valore numerico in una stringa Tronca il file alla posizione corrente Converte un valore stringa nella sua rappresentazione numerica Scrive una variabile in un componente del file per i file tipizzati; per i file di testo scrive uno o più valori al file Esegue la procedura Write, poi inserisce il segnalatore di fine della linea nel file 19
20 CODICE ASCII 20
APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL
APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
Convertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
Elementi di Informatica
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi
SISTEMI DI NUMERAZIONE DECIMALE E BINARIO
SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono
Matematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...
Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...
Arduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
I file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
Laboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata
Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani
Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.
La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato
Introduzione agli algoritmi e alla programmazione in VisualBasic.Net
Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera
WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole
Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
Dimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
RISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
Corso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000
Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
LINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
FORMULE: Operatori matematici
Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere
CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS
CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu
COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.
SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo
Esempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
GESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database
Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione
Appunti di Sistemi Elettronici
Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare
Fasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
Metodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
Test Excel conoscenze di Base
Test Excel conoscenze di Base 1)Che tipo di barra ha un foglio di calcolo, che un elaboratore testi non ha? a. La barra dei menu b. La barra della formula c. La barra del titolo d. La barra della formattazione
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico
Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare
SISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
Richiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica
I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica
Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
Algebra Booleana ed Espressioni Booleane
Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale
Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali
a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:
MODULO 4: FOGLIO ELETTRONICO (EXCEL)
MODULO 4: FOGLIO ELETTRONICO (EXCEL) 1. Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei Personal computer. Essi
Dispense di Informatica per l ITG Valadier
La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di
Utilizzo delle formule in Excel
Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula
Il foglio elettronico: Excel
Il foglio elettronico: Excel Laboratorio di Informatica Corso di Laurea triennale in Biologia Dott. Fabio Aiolli (aiolli@math.unipd.it) Dott.ssa Elisa Caniato (ecaniato@gmail.com) Anno accademico 2007-2008
Alessandro Pellegrini
Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione
Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari
Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.
Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
Linguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
Registratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
Esercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
Uso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
risulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012
Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di
Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.
Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
LE FUNZIONI A DUE VARIABILI
Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre
Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
Cenni su algoritmi, diagrammi di flusso, strutture di controllo
Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni
Gli algoritmi: definizioni e proprietà
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)
Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un
Come ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia
Variabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
Introduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione
Strutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
Guida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
Editor vi. Editor vi
Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta
Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento.
Guida all uso del sito E Commerce Axial Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Innanzitutto,
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
Interesse, sconto, ratei e risconti
TXT HTM PDF pdf P1 P2 P3 P4 293 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 293 129.1.1 Esercizio per il calcolo dell
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive
Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche
Informazione analogica e digitale
L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica
Alcune regole di base per scrivere un programma in linguaggio C
Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza
PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1
PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ
Gestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++
ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è
GUIDA BASE DI PASCAL
1 GUIDA BASE DI PASCAL Un algoritmo, nel suo significato più ampio, è sequenza logica di istruzioni elementari (univocamente interpretabili) che, eseguite in un ordine stabilito, permettono la soluzione
Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
Appunti sulla Macchina di Turing. Macchina di Turing
Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso
Access. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
ALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio
AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio
INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.
Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,
LABORATORIO DI MATEMATICA RENDITE, AMMORTAMENTI, LEASING CON EXCEL
LABORATORIO DI MATEMATICA RENDITE, AMMORTAMENTI, LEASING CON EXCEL ESERCITAZIONE GUIDATA: LE RENDITE 1. Il montante di una rendita immediata posticipata Utilizzando Excel, calcoliamo il montante di una