APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL



Похожие документы
GUIDA BASE DI PASCAL

Richiesta pagina PHP (es: index.php)

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Alcune regole di base per scrivere un programma in linguaggio C

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Laboratorio di Informatica

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Gli algoritmi: definizioni e proprietà

Elementi di Informatica

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

3. La sintassi di Java

DAL DIAGRAMMA AL CODICE

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

STRUTTURE (O COSTRUTTI) DI CONTROLLO

Algebra Booleana ed Espressioni Booleane

Appunti di Sistemi Elettronici

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Introduzione alla programmazione in C

SCHEDA DI RECUPERO SUI NUMERI RELATIVI

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

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Matematica in laboratorio

Arduino: Programmazione

4 3 4 = 4 x x x 10 0 aaa

Funzioni in C. Violetta Lonati

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Esempi di algoritmi. Lezione III

Creare diagrammi di Gantt con Visio 2003

Lezione 8. La macchina universale

Esercizi di programmazione in C

Convertitori numerici in Excel

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

La programmazione. Sviluppo del software

Introduzione al MATLAB c Parte 2

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

La selezione binaria

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

DISPENSE DI PROGRAMMAZIONE. Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte III)

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

SISTEMI DI NUMERAZIONE E CODICI

Verifica della correttezza formale del numero di partita IVA

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Calcolare il massimo di una lista

ALGEBRA DELLE PROPOSIZIONI

GESTIONE INFORMATICA DEI DATI AZIENDALI

Descrizione di un algoritmo

Le variabili. Olga Scotti

EXCEL FUNZIONI PRINCIPALI

Operazioni di input e output in Fortran 90

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Introduzione al Foglio Elettronico

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

Come ragiona il computer. Problemi e algoritmi

Uso di base delle funzioni in Microsoft Excel

LINGUAGGI DI PROGRAMMAZIONE

LABORATORIO DI PROGRAMMAZIONE EDIZIONE 1, TURNO B

FORMULE: Operatori matematici

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Scheda operativa Versione rif c00. Libro Inventari

Informazione analogica e digitale

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Nozione di algoritmo. Gabriella Trucco

Guida all uso di Java Diagrammi ER

Algoritmi e diagrammi di flusso

Dispense di Informatica per l ITG Valadier

NOZIONI BASE SHELL E SCRIPT LINUX

10 - Programmare con gli Array

Concetto di Funzione e Procedura METODI in Java

Matlab: Strutture di Controllo. Informatica B

Informatica Generale 02 - Rappresentazione numeri razionali

Le stringhe. Le stringhe

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Rappresentazione dell informazione Codifica Binaria

Esercizi su. Funzioni

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Algoritmi e strutture dati. Codici di Huffman

Interesse, sconto, ratei e risconti

Gestione della memoria centrale

Fasi di creazione di un programma

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Транскрипт:

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 strutturati iniziarono a emergere intorno all'inizio degli anni settanta e sono costituiti da un insieme di strutture di controllo completo che possono essere in forma di sequenza, in forma alternativa e in forma di iterazione. Questa è la struttura generale di un programma in linguaggio Pascal: INTESTAZIONE La prima riga introduce il programma con la parola chiave program, a cui segue il titolo del programma. Non possono essere utilizzati caratteri speciali né spazi, solo dopo program si deve mettere uno spazio. Ad esempio: program mio_programma;

SEZIONE DICHIARAZIONI In questa sezione devono essere dichiarate le costanti e le iabili usate nel programma. Ad esempio per dichiarare una costante: const A=5; Il Pascal mette a disposizione molti tipi di iabili: Tipi interi: utilizzati per memorizzare valori numerici interi, con o senza segno e compresi entro l'intervallo numerico da -32768 a 32767. Ad esempio: A,B,C: integer; Tipi reali: numeri reali da -2.9E-39 a 1.7E38 (viene usata la notazione esponenziale). Ad esempio: A,B,C: real; Tipo carattere (char): iabile carattere, contiene un solo carattere. Ad esempio: A:char; Tipo stringa (string): iabile che contiene più caratteri Si può indicare la lunghezza massima della stringa inserendo [n] durante la dichiarazione, se non viene specificata, la lunghezza, sarà di 256 caratteri. Ad esempio: PAROLA:string; Tipo booleano (boolean): iabile binaria (vero/falso). Ad esempio: A: boolean; FUNZIONI PREDEFINITE All'interno di un programma in Pascal è possibile inserire delle funzioni predefinite che servono ad eseguire rapidamente delle operazioni. Le più importanti sono: 1) a DIV b fornisce il quoziente intero della divisione tra a e b; 2) a MOD b fornisce il resto intero della divisione tra a e b;

3) SQR(a) calcola il quadrato di a; 4) SQRT(a) calcola la radice quadrata di a; 5) ABS(a) determina il valore assoluto di a; 6) INT (a) determina la parte intera di a; 7) TRUNC(a) effettua il troncamento di a eliminando le eventuali cifre decimali; 8) ROUND(a) effettua l'arrotondamento di a all'intero più vicino. E' importante sapere che tutte le parole utilizzate da queste funzioni sono riservate e pertanto non possono essere utilizzate come iabili. SEZIONE ISTRUZIONI La parte esecutiva del programma é racchiusa tra le due parole riservate e end e le istruzioni al suo interno terminano tutte con un punto e virgola (solo dopo non si mette mai). Dopo l'ultimo end si mette un punto. E' importante che il numero dei sia sempre uguale al numero degli end. ISTRUZIONI DI LETTURA E DI SCRITTURA L' istruzione di lettura si scrive: readln (nome iabile); L'istruzione di scrittura si scrive: writeln (nome iabile); Nel caso non voglia far scrivere il valore della iabile, ma voglio che venga scritto esattamente ciò che si trova tra le parentesi dovrò scrivere: writeln ('messaggio'); Le strutture del programma vero e proprio possono essere di tre tipi: 1) Sequenza 2) Selezione 3) Iterazione STRUTTURA IN SEQUENZA Le istruzioni vengono eseguite esattamente nello stesso ordine in cui sono scritte. Ad esempio un programma per fare la somma di due numeri interi avrà questo diagramma di flusso:

Il programma sarà: Program somma_di_due_numeri_interi; a,b,c:integer; writeln('inserire un numero intero:'); readln(a); writeln('inserire un altro numero intero:'); readln(b); c:=a+b; writeln('la somma di ',a,' e ',b,' è: ',c); end. STRUTTURE DI SELEZIONE 1) Struttura IF...THEN...ELSE IF (condizione) THEN (istruzione 1) ELSE (istruzione 2);

In questo caso se la condizione é verificata viene eseguita l'istruzione 1 altrimenti viene eseguita l'istruzione 2. Da notare che il punto e virgola deve essere messo solo al termine della struttura. Ad esempio un programma per il calcolare il massimo di tre numeri assegnati avrà questo diagramma di flusso: Il programma sarà: program massimo; A,B,C,MAX : real; writeln ('immetti tre numeri in ordine qualsiasi'); readln (A,B,C); if A>B then if A>C then MAX:=A else MAX:=C end else if B>C then MAX:=B else MAX:=C end; writeln ('Il massimo dei tre numeri é: ',MAX) end.

2) Struttura CASE... OF CASE (selettore) OF selezione 1 selezione 2 selezione 3 -------------- L'istruzione CASE é composta da un selettore e da una lista di istruzioni individuate da un'etichetta CASE dello stesso tipo del selettore. Viene eseguita l'istruzione la cui etichetta é uguale al valore del selettore. Ad esempio un programma che dati due numeri farà eseguire una delle quattro operazioni a scelta con essi avrà il seguente diagramma di flusso Il corrispondente programma sarà: PROGRAM OPERAZIONI; VAR X, Y, RIS: REAL; OP: CHAR; BEGIN WRITE('X =?'); READLN(X); WRITE('Y =?'); READLN(Y); WRITE('OPERAZIONE =?'); READLN(OP); WRITELN; CASE OP OF 'A': BEGIN WRITELN('ADDIZIONE: '); RIS:=X+Y;

END; 'S': BEGIN WRITELN('SOTTRAZIONE: '); RIS:=X-Y; END; 'M': BEGIN WRITELN('MOLTIPLICAZIONE: '); RIS:=X*Y; END; 'D': BEGIN WRITELN('DIVISIONE: '); RIS:=X/Y; END END; WRITELN('RISULTATO= ', RIS); END. STRUTTURE ITERATIVE 1) Struttura Iterativa FOR... DO Il costrutto FOR è adatto per situazioni in cui una istruzione o una serie di istruzioni debbano essere ripetute N volte, ove N deve essere noto prima che il ciclo iterativo abbia inizio. Si rende necessario l'uso di una coppia /end per consentire l' esecuzione di più di una istruzione all'interno di un ciclo FOR...DO. La struttura é: FOR <iabile> := <numero iniziale> TO <numero finale> DO <Istruzione/i> Ad esempio, il ciclo iterativo seguente fa apparire il messaggio 'Ciao!' per dieci volte (N è una iabile intera): for N := 1 to 10 do Writeln('Ciao!'); Ad esempio un programma che somma i primi N interi avrà il seguente diagramma di flusso:

Il corrispondente programma sarà: program somma_dei_primi_n_numeri_naturali; N,I,SOM: integer; writeln ('Dammi quanti numeri naturali devo sommare'); readln (N); SOM:=0; for I:=0 to N do SOM:= SOM + I; writeln ('La somma dei primi ',N,' numeri naturali é ',SOM); end. 2) La Struttura Iterativa WHILE... DO

La struttura WHILE...DO è un costrutto iterativo per impieghi generali in cui il test di controllo di uscita dal ciclo viene collocato all'inizio della struttura stessa. La struttura é: WHILE <condizione> DO <istruzione/i)> Finchè la condizione é verificata, l'istruzione viene eseguita. Se la condizione non é verificata sin dalla prima esecuzione, l'istruzione non viene mai eseguita. In modo analogo alla struttura iterativa FOR, si rende necessario l'uso di una coppia /end per consentire l'esecuzione di più di una istruzione all'interno di un ciclo WHILE. Ad esempio un programma che trasforma un numero da base 10 a base 2 avrà il seguente diagramma di flusso:

Il corispondente programma sarà: program cambiamento_in_base_due_di_un_numero_in_base_dieci; n,quoziente,resto:integer; writeln ('Scrivere il numero in base 10'); readln (n); while n>0 do quoziente:=n div 2; resto:=n mod 2; writeln (resto); n:=quoziente; end; writeln ('Il numero deve essere letto dal basso in alto'); end. 3) La Struttura Iterativa REPEAT... UNTIL La struttura REPEAT... UNTIL è un costrutto iterativo per impieghi generali in cui il controllo di uscita dal ciclo viene collocato alla fine della struttura stessa. La struttura é: REPEAT<istruzione/i>...UNTIL <condizione>; Finchè la condizione é verificata il blocco <istruzione(i)> contenuto fra REPEAT ed UNTIL viene eseguito. Si noti che le istruzioni che compongono il ciclo iterativo vengono sempre eseguite almeno una volta. Questo comportamento è del tutto diverso da quello delle strutture iterative WHILE e FOR, nelle quali, con opportuni valori iniziali delle iabili di controllo, è possibile che le istruzioni che compongono il ciclo non vengano eseguite nemmeno una volta. Contrariamente a quanto previsto nelle strutture iterative FOR e WHILE, non è richiesto il blocco Begin/End per consentire l'esecuzione di più di una istruzione nel ciclo. Ad esempio un programma che calcola i primi 10 multipli di un numero X avrà il seguente diagramma di flusso:

Il corrispondente programma sarà: program primi_10_multipli_del_numero_x; X,I,Y: integer; writeln ('Dammi il numero X');

readln (X); I:=1; writeln ('I primi 10 multipli del numero ',X,' sono'); repeat Y:=X*I; I:=I+1; writeln (Y); until I=11; end.