Programmazione. 1 Introduzione. Tutto per la gloria di Dio.
|
|
- Luca Adamo
- 7 anni fa
- Visualizzazioni
Transcript
1 Programmazione Tutto per la gloria di Dio. 1 Introduzione Un programma è un piano di azione che deve essere eseguito da un esecutore, di solito uno strumento automatico, la maggior parte delle volte un computer. Un programma consiste in un insieme finito di comandi, o istruzioni, ognuno dei quali fà eseguire all esecutore una particolare operazione elementare sui dati, che sono memorizzati nella memoria dell esecutore e i cui nomi sono i parametri dei comandi. Si ottiene l automatismo dell esecutore dal fatto che ogni comando corrente, eccetto il comando stop, punta unicamente ad un comando del programma che deve essere eseguito dopo quello corrente. Una caratteristica particolare dell esecutore è la presenza di comandi ramificati (transizioni condizionali) nei quali la scelta di una tra più azioni indicate viene fatta sulla base di proprietà da verificare dei dati menzionati nel comando. Da ciò ne consegue che quando si usa un programma, la successione dei comandi può variare, dopo aver definito in maniera unica i dati. Perciò un programma, sebbene sia un oggetto finito, permette all utente di lavorare su una varietà di dati potenzialmente infinita. I programmi sono importanti non solo come prescrizioni per computers, ma anche come sorgenti di conoscenza operazionale degli uomini. 1
2 2 2 Uno sguardo all interno Abbiamo detto che un programma è una successione finita di istruzioni che agiscono su dati in memoria. Per arginare la complessità di un programma, è utile isolare sottosuccessioni di istruzioni, dette procedure, che si ripetono e che eseguono specifiche azioni, e raggruppare tali procedure in differenti moduli, detti unità. Il tutto in un ottica di dividere sistematicamente il problema in parti strutturate, per agevolarne la comprensione, la produzione, la gestione, la costante rielaborazione, il riutilizzo, la semplificazione, la lettura. Per una buona gestione della memorizzazione e dell elaborazione dei dati, questi ultimi vengono divisi in tipi. Elementi di uno stesso tipo occupano indicativamente identici spazi di memoria, e su di essi agiscono identiche operazioni. Tra i vari tipi di dati, si possono riconoscere, oltre a quelli semplici (numeri interi, numeri reali, caratteri, stringhe di testo, vero o falso, ecc.), gli array, ovvero tipi composti da un numero fissato di dati semplici di uno stesso tipo (coppie di numeri reali, matrici 3x3 di numeri interi, ecc.) e i record, cioè tipi strutturati mediante un numero fissato di dati di vario tipo (una coppia di un numero intero e una stringa). All interno di uno stesso tipo possiamo isolare quei dati che rimangono invariati, le costanti, e quei dati che possono cambiare, le variabili.
3 3 3 Linguaggi di programmazione Lo scopo di base di un linguaggio di programmazione è quello di programmare, cioè formulare programmi che possono essere eseguiti su un computer. Come nei linguaggi naturali, un linguaggio di programmazione è costruito su un alfabeto di simboli di base (con i quali viene scritto il programma) nella forma di un sistema gerarchico di elementi grammaticali, tra i quali vengono date delle relazioni (in maniera simile alle parole, frasi e affermazioni, le cui connessioni sono date dalle regole sintattiche). Esistono numerosi linguaggi di programmazione, tra cui è doveroso ricordare il C, Java, il Fortran e il Prolog. Affronteremo qui il linguaggio Pascal. La ragione di tale scelta è eminentemente didattica.
4 4 4 Tipi semplici nel Pascal Il Pascal permette l utilizzo di un certo numero di tipi di dati di base. Qui di seguito accenneremo ai tipi principali di dati che incontreremo nella pratica, insieme alle operazioni e alle relazioni su di essi che il Pascal fornisce. 4.1 Tipo boolean I dati di tipo boolean sono i valori Vero e Falso. Il Pascal fornisce come operazioni sui booleani i connettivi logici,,, e le relazioni =,, <, >,,. Esempio. Si ha che Vero=Falso Falso Vero = Falso (Falso < Vero) = Vero 4.2 Tipo char I dati di tipo char sono i caratteri ASCII. Ricordando che ogni carattere ASCII ha associato un corrispondente numero naturale (il suo codice), il Pascal fornisce due funzioni, Chr e Ord, la prima delle quali associa ad un numero naturale il suo carattere corrispondente, mentre la seconda associa ad ogni carattere il suo codice. Esempio. Chr(63)=? Chr(97)=a Ord(0)=48 Ord(+)=43
5 5 4.3 Tipo integer I dati di tipo integer sono gli interi tra e Il Pascal fornisce come operazioni sugli interi +,,, la divisione intera div e la funzione resto mod. Il Pascal fornisce sugli interi le relazioni =,, <, >,,. Esempio. Valgono le seguenti 7 div 3 = 2 8 div 8 = 1 6 div 9 = 0 7 mod 3 = 1 8 mod 8 = 0 6 mod 9 = Tipo real I dati di tipo real corrispondono ad alcuni numeri reali. Il Pascal fornisce come operazioni sui reali, tra le altre, +,,, /, il valore assoluto abs, la parte intera int, l arrotondamento round, il quadrato sqr, la radice quadrata sqrt, il troncamento trunc. Il Pascal fornisce sui reali le relazioni =,, <, >,,. 4.5 Tipo string I dati di tipo string sono stringhe, cioè sequenze, di al massimo 255 caratteri ASCII. Il Pascal fornisce come operazioni sulle stringhe, tra le altre, il +, che permette di concatenare due stringhe, troncando ovviamente il risultato se affiancate eccedono i 255 caratteri, e la funzione length che rende il numero di caratteri di una stringa. Il Pascal fornisce sulle stringhe le relazioni =,, <, >,,. Esempio. pelli + cani = pellicani
6 6 5 Alfabeto del Pascal Nel Pascal, l alfabeto dei simboli di base consiste nelle dieci cifre decimali 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, nelle lettere dell alfabeto inglese (il Pascal non fà differenza tra maiuscole e minuscole) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, i simboli di parentesi i simboli di punteggiatura (, ), [, ], {, }, ; :. alcuni simboli di operazioni e relazioni logiche e aritmetiche altri simboli, come ad esempio +, -, *, /, =, <, > ˆ,
7 7 6 Unità lessicali in Pascal In ogni linguaggio di programmazione, gli elementi al livello più basso, formati da catene di simboli di base, sono chiamati lessemi o unità lessicali. Ogni lessema appartiene ad una determinata classe. Nel Pascal, le principali classi sono gli interi, i reali, le stringhe, gli operatori, gli identificatori e le parole riservate. 6.1 Lessemi di tipo boolean Le unità lessicali di tipo boolean corrispondono ai valori Vero e Falso. Gli unici lessemi di questo tipo sono true e false. 6.2 Lessemi di tipo char Questi lessemi corrispondono ai caratteri ASCII. In Pascal, sono caratteri ASCII racchiusi da apostrofi, il singolo carattere apostrofo è scritto come due apostrofi tra apostrofi. Esempio. I seguenti sono lessemi di tipo char in Pascal c 2? 6.3 Lessemi di tipo integer Le unità lessicali di tipo integer corrispondono ai numeri interi. Sono catene di cifre decimali, precedute o meno da uno tra i simboli + e. Viene richiesto che, come numeri, siano compresi tra e Esempio. I seguenti sono interi in Pascal mentre i seguenti non sono interi in Pascal
8 8 6.4 Lessemi di tipo real I lessemi di tipo real corrispondono ai numeri reali. Sono in virgola mobile, moltiplicati per una potenza intera di 10. Sono del tipo I.DeL oppure I.DEL dove I è un numero intero, D è un numero naturale ed L è un numero intero. e, od E, equivale a 10ˆ. D può non essere presente, nel qual caso la virgola si può omettere. La parte el, o EL, si può omettere. Viene richiesto che, come numeri positivi, siano compresi in valore assoluto tra e Esempio. I seguenti sono reali in Pascal 0 1e3-2.3E e-7 mentre i seguenti non sono reali in Pascal e3 2e Lessemi di tipo string In Pascal, le stringhe, rappresentanti testi, sono catene di al massimo 255 caratteri racchiuse da apostrofi, una stringa con niente tra gli apostrofi è la stringa nulla, due apostrofi di seguito in una stringa denotano un singolo carattere, l apostrofo. Esempio. I seguenti sono lessemi di tipo string in Pascal ciao w2+ l Algebra Il male è di chi lo fà
9 9 6.6 Operatori In Pascal, gli operatori corrispondono a funzioni su dati. Avremo Operatori booleani Assumono valori booleani e il risultato è di tipo booleano: not ( ) and ( ) or ( ) Operatori interi Assumono valori intero e il risultato è di tipo intero: + - * ( ) div mod sqr ( 2 ) Operatori reali Assumono valori reali e il risultato è di tipo intero o reale: + - * / abs arctan cos exp frac int ln pi sin sqr sqrt Operatori su stringhe Assumono valori stringhe e il risultato è una stringa o di tipo intero: + length pos
10 Operatori relazionali Assumono valori di ogni tipo semplice e il risultato è di tipo booleano: = <> ( ) < > <= ( ) >= ( ) 6.7 Identificatori In ogni linguaggio di programmazione, gli identificatori denotano i vari oggetti (cioè i loro nomi) del programma che sono definiti nel programma stesso. Principalmente, tali oggetti sono campi nei records, costanti, funzioni, procedure, programmi, tipi, unità, variabili. In Pascal, gli identificatori sono catene di caratteri di qualsiasi lunghezza, ma solo i primi 63 caratteri sono significativi, il primo carattere deve essere una lettera, i successivi caratteri possono essere lettere, cifre decimali, o il simbolo. Esempio. I seguenti sono identificatori in Pascal x a1 yy punto medio delta I seguenti non sono identificatori in Pascal 2x x y po lealtà a@b 6.8 Parole riservate In ogni linguaggio di programmazione, alcuni identificatori sono definiti dal linguaggio stesso. Tali identificatori prendono il nome di parole riservate. Nel Pascal, le principali parole riservate sono:
11 11 and array begin case const div do downto else end for function if mod not of or procedure program repeat then to until uses var while
12 12 7 Strutture di base in Pascal I livelli successivi di elementi di un linguaggio di programmazione. Sono essenzialmente di tre tipi: espressioni, dichiarazioni, istruzioni. 7.1 Espressioni Le espressioni sono sorgenti di valori, ottenute a partire da operatori e operandi. Gli operandi sono principalmente costanti, variabili e chiamate di funzioni, eventualmente usando le parentesi tonde. Esempio. Espressioni intere: n+1 (2*y) mod 3 lenght(x)-int(3.2) Espressioni booleane: i < 3 ord( x ) <= ord( y ) sqr(b) = 4*a*c 7.2 Dichiarazioni Le dichiarazioni sono sorgenti di informazione assegnate all occorrenza che definisce il lessema. Essenzialmente, decrivono la tipologia di valori calcolati dall esecuzione del programma, la loro rappresentazione e il modo in cui vengono immagazzinati nella memoria del computer. Per valori composti come gli array (vettori, matrici) e valori strutturati (record) viene specificato anche il modo di accedere ai suoi componenti elementari.
13 Dichiarazioni di costanti Una dichiarazione di costante definisce un identificatore come una costante di un determinato tipo. La sintassi è: const identificatore = espressione ; identificatore = espressione ;... Esempio. const base = 10 ; e = ; Dichiarazioni di variabili Una dichiarazione di variabile definisce un identificatore come una variabile di un determinato tipo. La sintassi è: var identificatore : tipo ; identificatore, identificatore : tipo ;... Esempio. var n, m : integer ; x, y, z : real ; nome : string ;
14 Istruzioni Le istruzioni, o affermazioni, sono unità di operazioni finite nel programma; le istruzioni di base sono principalmente gli assegnamenti, le chiamate di procedure, le istruzioni begin...end, le istruzioni condizionali, le istruzioni iterative e le istruzioni ricorsive Assegnamenti Un assegnamento attribuisce il valore di un espressione ad una variabile. La sintassi è: identificatore := espressione ; Esempio. area := b*h ; i := i+1 ; alfa := beta and gamma ; Chiamate di procedure La definizione di una procedura introduce una notazione abbreviata e parametrizzata per la funzione di una certa parte del programma (il corpo della procedura). L esecuzione del corpo della procedura può essere conseguentemente trattata come un operazione elementare causata da una chiamata della procedura. Il Pascal fornisce alcune procedure. Qui mi preme considerare il write e il read (per le altre, è sufficiente accedere all ottimo help del Turbo Pascal). La procedura write scrive sul monitor le espressioni Oi di tipo semplice. La procedura writeln, inoltre, porta il cursore all inizio della riga successiva. Le sintassi: write(o1) ; write(o1,o2) ;...
15 15 La procedura read legge da tastiera uno o più valori e li associa alle variabili Vi. La procedura readln, inoltre, salta alla linea successiva. Le sintassi: read(v1) ; read(v1,v2) ; Istruzioni begin... end È un istruzione composta. In questo modo, tutte le istruzioni comprese tra le parole riservate begin ed end (da intendersi come semplici parentesi), vengono trattate come un unica istruzione. La sintassi è: begin end ; istruzione ; istruzione ;... istruzione Istruzioni condizionali In un istruzione condizionale, la scelta tra una o più istruzioni dipende dal verificarsi o meno di una condizione (espressione booleana). In Pascal, abbiamo le istruzioni if e case: Per la prima, la sintassi è: if espressione then istruzione ; oppure if espressione then istruzione else istruzione ;
16 16 Se la condizione dopo l if è verificata, viene eseguita l istruzione dopo il then, altrimenti, nel secondo caso, viene eseguita l istruzione dopo l else. Esempio. if abs(n) < 10 then writeln(n, ha un unica cifra ) else writeln(n, ha almeno due cifre ); Per la seconda, la sintassi è: case espressione of case : istruzione ;... case : istruzione ; end ; oppure case espressione of case : istruzione ;... case : istruzione ; else istruzione end ; In questa istruzione, il valore dell espressione seleziona l istruzione corrispondente. Esempio. case n mod 2 of 0 : writeln(n, è pari ) ; 1 : writeln(n, è dispari ) ; end ; Istruzioni iterative Un istruzione iterativa ripete un numero fissato di volte (itera) una certa parte del programma (il corpo dell iterazione). In Pascal, abbiamo l istruzione for, la cui sintassi è:
17 17 for var := primo to ultimo do istruzione ; oppure for var := primo downto ultimo do istruzione ; Esempio. for i:=1 to 10 do writeln(i*i) ; Istruzioni ricorsive Un istruzione ricorsiva dispone un esecuzione ripetitiva di una certa parte del programma (il corpo della ricorsione), dove il numero delle ripetizioni è determinato da una data condizione. In Pascal, abbiamo le istruzioni while e repeat: Per la prima, la sintassi è: while espressione do istruzione ; L istruzione dopo il do viene ripetuta fintanto che l espressione rimane vera. Si noti che se l espressione è inizialmente falsa, l istruzione non viene eseguita. Esempio. i:=2 ; while (n mod i) <> 0 do i:=i+1 ; if i = n then writeln(n, è primo ) else writeln(n, è composto ); Per la seconda, la sintassi è: repeat istruzione ; istruzione ;... istruzione until espressione ;
18 18 Le istruzioni comprese tra il repeat e l until vengono eseguite fintanto che l espressione risulta falsa. Quando l espressione diventa vera, si esce dal ciclo. Si noti che tali istruzioni vengono eseguite almeno una volta. Esempio. : repeat readln(s) until (s= m ) or (s= f ) ;
19 19 8 Struttura di un programma Un programma in Turbo Pascal può avere il seguente aspetto program identificatore ; uses... ; const... ; type... ; var... ; procedure... ; function... ; begin istruzione ;... end. Esempio. Ecco il vostro primo programma: program pippo ; begin writeln( Ciao mondo! ) end. La clausola uses nomina le unità (librerie) utilizzate dal programma. la clausola type permette di definire nuovi tipi. Le clausole procedure e function permettono di definire nuove funzioni e procedure. Esempio. Le seguenti producono la stessa funzione potenza: function potenza(x, n : integer): integer; begin if n=0 then potenza:= 1 else potenza:= x potenza(x,n-1) end
20 function potenza(x, n : integer): integer; var i, p: integer; begin p:= 1 ; for i:= 1 to n do p:= p x ; potenza:= p end 20
unità didattica 3 Le strutture condizionali e le strutture iterative
unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliPASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.
PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliJavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
DettagliLESSICO E SINTASSI DEL PASCAL
LESSICO E SINTASSI DEL PASCAL Il linguaggio di programmazione Pascal è potente e semplice nello stesso tempo; ciò ne giustifica la scelta, inoltre i nuovi compilatori del linguaggio pascal permettono di
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliCome 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 Per risolvere il problema
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliIl potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
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
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliLe basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
Dettaglimodulo on line Uno strumento per programmare: cenni al linguaggio Pascal
modulo on line Uno strumento per programmare: cenni al linguaggio Pascal ud1 Introduzione al Pascal ud2 Le prime istruzioni notevoli in Pascal ud3 Le strutture condizionali e le strutture iterative ud4
Dettagliunità didattica 2 Le prime istruzioni notevoli in Pascal
unità didattica 2 Le prime istruzioni notevoli in Pascal 1. L operazione di assegnazione Quando si desidera che una certa variabile contenga un determinato valore costante, o un risultato di operazioni
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliLINGUAGGI 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
DettagliAPPUNTI 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
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliVARIABILI E COSTANTI
VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
DettagliSviluppare un programma in FORTRAN
Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliEspressione composta da: Operatori Operandi (costanti, variabili, )
Cenni linguaggio C: Espressioni Espressione: formula (regola di calcolo) che specifica sempre un valore Esempio: espressione algebrica: z=x* y, (x+3)/5 Espressione composta da: Operatori Operandi (costanti,
DettagliLaboratorio di programmazione Corso A - A.A. 2000/2001 Docente: A. Lanza Il tipo boolean Il tipo real Tipi definiti dall utente: il tipo enumerato
Laboratorio di programmazione Corso A - A.A. 2000/2001 Docente: A. Lanza Il tipo boolean Il tipo real Tipi definiti dall utente: il tipo enumerato Editazione a cura di A. Cappelli, N. Alba, R. De Palo
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliFondamenti di Programmazione. Sistemi di rappresentazione
Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2
DettagliELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL
Liceo Scientifico e Classico S. Trinchese ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL seminario per la classe IV BS Prof Antonio Cazzato Perché programmare? La programmazione ha una notevole valenza didattica
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliFasi di un Compilatore
Dipartimento di Matematica e Informatica Università di Camerino Un implementazione compilativa di un linguaggio di programmazione viene realizzata tramite un programma che prende il nome di compilatore
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliProgettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE
Progettazione di algoritmi: componenti di base e metodologie di sviluppo Variabili e costanti Variabili e costanti PROBLEMA: calcolo dell area A di un triangolo di base b ed altezza h b h A =.4.5 b =.4,
DettagliExcel & VBA. Excel e Visual Basic for Application
Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliConcetti base programmazione. Antonio Gallo
Concetti base programmazione Antonio Gallo info@laboratoriolibero.com Programma Insieme di istruzioni: Strtturato Ad oggetti Strutturato Ha una struttura più lineare Basato sui concetti di sequenza, selezione,
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliDESCRIZIONI RIGOROSE c7
DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei
DettagliFondamenti di Programmazione. Strutture di controllo
Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliLezione 5. La macchina universale
Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliL intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.
ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}
DettagliDal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
DettagliPROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI
PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliAnalogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
DettagliAritmetica in Floating Point
Aritmetica in Floating Point Esempio di non associatività Alcune proprietà delle operazioni in aritmetica esatta possono non valere in aritmetica finita in virgola mobile (floating point). Ad esempio:
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliVariabili strutturate
Esempio Ordinamento crescente di numeri: 25 7 I passo: 25 7 25 7 7 25 7 25 Variabili strutturate in due scambi 25 è stato portato al suo posto Gli array II passo: 7 25 7 25 7 25 in uno scambio 7 è stato
Dettaglilinguaggio di programmazione e programma
I/O bus CPU memoria elementi di Sistemi Informatici il segnale digitale: conversione analogico-numerica esempi di supporti di memorizzazione dell informazione computer: definizione e struttura (modello
DettagliCORSO DI ELEMENTI DI INFORMATICA
CORSO DI ELEMENTI DI INFORMATICA Corso di Laurea Triennale in Ingegneria Gestionale della Logistica e della Produzione Area didattica Ingegneria Elettrica a.a. 2016/2017 Docente: Ing. Domenico Amalfitano
DettagliIntroduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliGrammatiche Parse trees Lezione del 17/10/2012
Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliProgetto 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
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliInformatica Applicata al Suono Tutorial Matlab
Prof. Mario Malcangi malcangi@di.unimi.it MATLAB è un linguaggio di alto livello e un ambiente interattivo per il calcolo numerico, l'analisi e la visualizzazione dei dati e la programmazione. MATLAB consente
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
DettagliFondamenti di Programmazione. Sistemi di rappresentazione
Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi posizionali
DettagliProgrammazione in Python. Moreno Marzolla
Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliProgrammazione C Massimo Callisto De Donato
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
DettagliTipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.
Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi
Dettagli1 Il Paradigma Imperativo
1 Il Paradigma Imperativo 1.1 Imp : un semplice linguaggio imperativo Abbiamo visto in Fun un meccanismo eager per la valutazione dei parametri di una funzione ed un meccanismo lazy. Una situazione analoga
DettagliIntroduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
DettagliLa principale modalità di calcolo è l applicazione di funzioni
1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
Dettagli