VARIABILE STRUTTURATA
|
|
- Claudio Giovannini
- 5 anni fa
- Visualizzazioni
Transcript
1 DISPENSE DI PROGRAMMAZIONE Modulo 3 Parte 2 Ha collaborato alla editazione Giuseppe Porcelli VARIABILE STRUTTURATA Una variabile di tipo strutturato possiede più di una singola COMPONENTE. Per definire il TIPO di una variabile strutturata bisogna: 1) specificare il tipo di struttura; 2) definire il tipo delle componenti. Definire un prototipo di cui possono essere generati tanti esemplari dichiarando tante variabili di quel tipo quante ne servono. I linguaggi di programmazione forniscono al programmatore generalmente più di un modo per organizzare dati non semplici: ARRAY, RECORD, SET dati strutturati FILE strutture di dati Una variabile strutturata ha un unico nome e può essere manipolata accedendo alle singole componenti. In molti linguaggi è anche possibile assegnare e confrontare intere variabili strutturate mediante operatori globali. 1
2 MECCANISMI DI STRUTTURAZIONE TRASFORMAZIONE FINITA f: tipoindice tipobase ARRAY [tipoindice] OF tipobase Numero dei giorni componenti ciascun mese dell anno ARRAY [1.. 12] OF integer; PRODOTTO CARTESIANO TYPE data = RECORD giorno: ; Mese: (genn,.., dic); Anno: END; POTENZA (tipo SET) SEQUENZA (tipo FILE) 2
3 L array è la struttura dati più conosciuta perché in molti linguaggi, compresi FORTRAN e ALGOL 60, è la sola struttura esplicitamente disponibile. Per ogni linguaggio di programmazione, anche se con regole sintattiche differenti, la dichiarazione di una variabile di tipo array comprende sempre: - l indicazione del nome della variabile strutturata; - l indicazione della cardinalità degli indici; - l indicazione del tipo dell indice; - l indicazione del tipo delle componenti. Il riferimento alle componenti individuali di una variabile strutturata di tipo array si ottiene sempre: - indicando il nome della variabile strutturata; - specificando l indice Esempio: A(3) 10 Alcuni linguaggi di programmazione offrono operatori applicabili globalmente alla struttura. 3
4 RAPPRESENTAZIONE DELLA STRUTTURA ARRAY Una variabile di tipo array è allocata in memoria in parole contigue I 0 A [1] s I 0 + s A [2] s.. A [J]. A [n] s VAR A: tipoarray; l indirizzo di A[1] sarà I 0 l indirizzo di A[2] sarà I 0 + s L indirizzo della j-esima componente I = I 0 + (j 1) * s A partire dall indirizzo associato all identificatore della variabile strutturata, le componenti sono allocate ordinatamente e consecutivamente. I 0 s indirizzo di base numero di parole occupate da ciascuna componente (dipende dal tipo delle componenti) OCCUPAZIONE DI MEMORIA n * s 4
5 ARRAY MULTIDIMENSIONALI ARRAY [t1] OF [t2] Tutti i linguaggi consentono di dichiarare array con più indici. In PASCAL possono essere definiti array i cui elementi sono a loro volta degli array. TYPE riga = ARRAY [ ] OF integer; VAR matrice = ARRAY [ ] OF riga; oppure VAR matrice = ARRAY [ , ] OF integer Esempio: orario settimanale delle lezioni TYPE Settimana = (lu, ma, me, gio, ve, sa); materie = (algoritmi, programmazione, architettura, algebra); orario = ARRAY [settimana] OF ARRAY [ ] OF materie; Lu Ma Me Gio Ve Sa 5
6 LEGAME - Statico (FORTRAN, C, PASCAL) - Semi-dimanico (PL 1) - Dinamico (ALGOL 68) In Pascal non si può cambiare né cardinalità ( = tipo indice) né tipo degli elementi. Si deve definire tutto all atto della compilazione. 6
7 TRATTAMENTO DEGLI ARRAY Lettura di una variabile di tipo array: bisogna leggere una componente alla volta tramite iterazione.(while, REPEAT, FOR) Elaborazione Scrittura Inizializzazione dell indice WHILE condiz. DO BEGIN Istruzioni Aggiornamento dell indice (succ) END Ad ogni iterazione bisogna controllare che l indice non superi il massimo valore consentito dal tipo dell indice. Il numero delle iterazioni è noto e coincide con il numero delle componenti dell array. Molto spesso è necessario trattare tutte le componenti di un array in modo uniforme (ad es. inizializzare tutte le componenti a 0, leggere tutte le componenti, etc.). In tali situazioni ha senso elaborare le componenti di un array in SEQUENZA, partendo dal primo elemento fino all ultimo: ciò si realizza usando strutture di controllo iterative. 7
8 SOMMA DELLE COMPONENTI DI UN VETTORE CONST n = 10; TYPE indice = 1.. n ; tipo_vettore = ARRAY [indice] OF real; VAR s: real; k: integer; v: tipo_vettore; s := 0; k := 0; WHILE k n DO BEGIN k := k + 1; s := s + V[k]; END Oppure s := 0; FOR k := 1 TO n DO s := s + V[k]; 8
9 RECORD Nel caso in cui sia necessario costruire strutture di dati non omogenei si fa ricorso al RECORD. Il prodotto cartesiano di dati di tipo diverso è un record perché registra in n-ple di dati le principali caratteristiche di una entità. Esempio: Un indirizzo è un prodotto cartesiano di tipi diversi: Via Amendola 173 BARI array alfanumerici intero array alfanumerico intero Indipendentemente dal linguaggio di programmazione la definizione di un record, oltre alla indicazione del nome del tipo record, prevede la descrizione de: Il tipo delle componenti; La specifica degli indicatori per accedere alle componenti. I record come gli array sono variabili strutturate a molte componenti. Sono, dunque, aggregazioni di dati, ma possono contenere dati di tipi differenti cui è possibile accedere tramite il nome invece che mediante l indice. 9
10 I componenti di un array sono chiamati elementi, quelli di un record campi. Tanto gli array che i record sono astrazioni delle modalità di memorizzazione dei dati usate a livello di linguaggio macchina. Per accedere al campo di un record bisogna specificare l identificatore di record e quello di campo (selettore). ESEMPIO Rappresentare un numero complesso a + bi, dove a e b sono reali, e i è la radice quadrata di -1. TYPE complesso = RECORD re, im : real END; VAR x : complesso; ESEMPIO TYPE data = RECORD mese : (gen, feb, mar,.., dic); giorno : ; anno: integer; END; famiglia = (padre, madre, figlio); VAR vaccino : ARRAY [famiglia] of data; VACCINO [FIGLIO].MESE := APR; VACCINO [FIGLIO].GIORNO := 20; VACCINO [FIGLIO].ANNO := 1980; 10
11 Esempio di ARRAY di RECORD TYPE nome = ARRAY [1.. 20] OF char; data = RECORD giorno : ; mese : ; anno: ; END; studente = RECORD cognome : nome; datanascita : data; votodiploma: END; classe = ARRAY [1.. 20] OF studente; VAR Class : classe; allievo : studente; class[1].cognome[1] class[1].datanascita[1] class[1].votodiploma[1] 1 MARIANI BIANCHI
12 ISTRUZIONE WITH Consente di fare i riferimenti tramite solo i nomi dei campi Abbrevia il testo del programma Previene la ricomputazione dell indirizzo di memoria della componente Cont := 0; FOR i := 1 TO 20 DO IF ( class[ i ].datanascita.anni = 1982 ) AND ( class[ i ].votodiploma > 56) THEN cont := cont + 1 E EQUIVALENTE A FOR i := 1 TO 20 DO WITH class[ i ] DO IF (datanascita.anno = 1982) AND (votodiploma > 56) THEN cont := cont
13 RAPPRESENTAZIONE DELLE STRUTTURE RECORD S 1 S 2 S 3 Campo 1 Campo 2 Campo 3 i 0 I record sono allocati in memoria in celle ADIACENTI componente per componente così come compaiono nella definizione del tipo RECORD. S j sia la dimensione (in parole) del j-esimo campo. DURANTE LA COMPILAZIONE LE S J SONO NOTE. 13
14 (Per un ARRAY il calcolo deve essere fatto a run-time, a[ i ]) L indirizzo del j-esimo campo di un record è calcolato sommando all indirizzo di origine del record i o la distanza della componente. TYPE r = RECORD campo1: tipo_campo1; campo2: tipo_campo2; campo3: tipo_campo3 END; VAR rec : r; Per campo 2 : i0 + S1 Per campo 3 : i0 + S1 + S2 14
15 La struttura RECORD e quella ARRAY sono ad accesso random. Il RECORD è più generale: i campi non devono essere di identico tipo. L ARRAY consente una maggiore flessibilità d uso: è consentita la selezione delle componenti tramite valori calcolabili (espressioni), invece i selettori dei campi di un record sono identificatori fissi (nomi dei campi), che vengono dichiarati nella definizione del tipo. Indice ARRAY Selettore delle componenti Identificatore RECORD del campo 15
16 GLI INSIEMI (SET) Dato un insieme I = (a, b, c) è possibile costruire su questo i seguenti sotto-insiemi: ( ) vuoto (a) (b) (c) (a, b) (b, c) (a, c) (a, b, c) L insieme di partenza deve essere E possibile definire un tipo come segue: TYPE ins = SET OF (a,b,c) 16
17 ovvero l insieme di tutti i sotto-insiemi costruibili a partire da quello dato (INSIEME POTENZA). Esempio 1 TYPE maiuscole = SET OF A.. Z Esempio 2 TYPE CARTE = (c1, c2,.., ck, q1, q2,.., qk, p1, p2,.., pk, t1, t2,.., tk) TYPE MANO = SET OF CARTE Il PASCAL ha una versione ristretta del costruttore dell INSIEME POTENZA, poiché limita il tipo base ad essere TIPO ORDINALE. 17
18 Le operazioni permesse su tali variabili sono le operazioni sugli insiemi (unione, intersezione, etc.) OPERATORE IN TEST DI APPARTENENZA AD UN SET: si applica ad un elemento e ad un insieme. 10 IN [5.. 25] dà come risultato TRUE 30 IN [5.. 25] dà come risultato FALSE FACILITA LA SCRITTURA DI ESPRESSIONI BOOLEANE ESEMPIO Verificare che il valore della variabile car sia una vocale. 18
19 (car = a ) OR (car = e ) OR (car = i ) OR (car = o ) OR (car = u ) oppure car IN [ a, e, i, o, u ] ALTRI OPERATORI DEFINITI SUI SET * INTERSEZIONE (priorità alta) + UNIONE - DIFFERENZA IN ha priorità più bassa INTERSEZIONE di due insiemi (prodotto insiemistico) è l insieme di tutti gli elementi che sono comuni ad entrambi. [a, c] * [a, b, c] è l insieme [a, c] [a, c] * [a, b] è l insieme [a] [b] * [a, c] è l insieme [ ] 19
20 UNIONE di due insiemi (somma insiemistica) è l insieme degli elementi contenuti nei due insiemi. [a, b] + [a, c] è l insieme [a, b, c] [a] + [b, c] è l insieme [a, b, c] [a] + [a, b] è l insieme [a, b] OSSERVAZIONE Per inserire un elemento in un insieme già esistente si forma l unione dell insieme pre esistente e l insieme unitario contenente l elemento da inserire. DIFFERENZA tra due insiemi A e B è l insieme degli elementi di A che non compaiono anche in B [a, b, c] [a, c] è l insieme [b] [a, b] [c] è l insieme [a, b] [a, b] [a, b, c] è l insieme [ ] 20
21 AL TIPO SET SONO APPLICABILI GLI OPERATORI RELAZIONALI = EGUAGLIANZA usato per verificare se due insiemi contengono gli stessi elementi [a, b] = [a, b] è TRUE [a, b] = [a, c] è FALSE [a, b] = [b, a] è TRUE [ ] = [b] è FALSE < > DISEGUAGLIANZA [a, b] < > [a, b] è FALSE [a, b] < > [b, a] è FALSE [b] < > [a, b] è TRUE 21
22 A < B darà TRUE quando A è un sotto-insieme proprio di B. [1, 3] < [1, 2, 3, 4] dà TRUE [1, 2, 3] < [1, 4] dà FALSE [1] < [1, 4] dà TRUE [1, 3] < [1, 3] dà FALSE A <= B darà TRUE quando A è un sottoinsieme proprio di B o coincide con B. [1, 3] <= [1, 3] dà TRUE A > B darà TRUE se A contiene in modo proprio B A >= B darà TRUE se A contiene o coincide con B 22
23 USO DELL ASSEGNAMENTO INIZIALIZZAZIONE S := [ ] insieme vuoto AGGIORNAMENTO S := S + /*/- [generico elemento] OPERATORE GLOBALE! S1 := S2 23
24 RAPPRESENTAZIONE DI INSIEMI Un INSIEME è rappresentato in memoria tramite un ARRAY di valori logici, la cui i-esima componente specifica la presenza o l assenza del valore i-esimo del tipo base nell insieme. La dimensione dell array coincide con la cardinalità del tipo base. Nella maggioranza delle implementazioni, il limite alla cardinalità degli insiemi potenza è dato dalla lunghezza della parola di memoria: con n bit (=cardinalità del tipo base), 2 alla n possibili configurazioni binarie, ovvero 2 alla n possibili valori di una variabile di tipo SET. 24
25 TYPE S = 0.. 9; è il tipo base Ins = SET OF S; è il tipo SET VAR Ins1 : ins; In corrispondenza di: ins1 := [1, 4, 8, 9] in memoria ci sarà una stringa di 10 bit L insieme vuoto è rappresentato con tutti i bit a zero. Le operazioni sui SET sono implementate tramite operatori logici, shift e maschere. 25
Corso di Programmazione Record e Insiemi. Record. Record. Dott. Pasquale Lops.
Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione e Insiemi Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/14 Registra in una n-pla di dati le principali
DettagliCorso di Programmazione I dati nei linguaggi di programmazione Tipi Strutturati. Dati Strutturati. Variabili Strutturate. Dott.
Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione I dati nei linguaggi di programmazione Tipi Strutturati Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB
DettagliDISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.
DISPENSE DI PROGRAMMAZIONE Modulo 3 Linguaggi di programmazione: dati e controllo (Parte I) LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Università di Camerino Corso di Laurea in Informatica (12 CFU) I periodo didattico Emanuela Merelli email:emanuela.merelli@unicam.it Argomenti della lezione Elementi di un linguaggio
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
DettagliLa sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean
Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.
DettagliTIPI DI DATO TIPI DEFINITI DALL UTENTE
Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti, mediante
DettagliCorso di Informatica
Corso di Informatica Modulo T5 1-Struttura Record 1 Prerequisiti Programmazione elementare Concetto di prodotto cartesiano Dati strutturati 2 1 Introduzione Lo scopo di questa Unità è introdurre il concetto
DettagliPREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI
PREPARAZIONE PER SECONDA PROVA IN ITINERE Esercizio 1 SULLA MODELLAZIONE DEI DATI Si definisca il tipo opportuno di dato per memorizzare una tabella che contenga, per ciascuna delle principali valute (dollaro
DettagliAlgoritmi, Strutture Dati e Programmi. UD 1.d: Dati e Tipi di Dato
Algoritmi, Strutture Dati e Programmi : Dati e Tipi di Dato Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Dati: Variabili e Costanti Un algoritmo (e il programma che ne è rappresentazione)
DettagliFondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliI Dati Strutturati ed il Linguaggio C
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Dati Strutturati Esigenze Vettori
DettagliPASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL: I VETTORI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica I dati strutturati: gli array I vettori (o Array) Fino a ora abbiamo memorizzato le informazioni (valori)
DettagliCognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
DettagliCorso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02)
Corso di laurea in Informatica (Triennale) A.A. 2002/ 03 Corso di Programmazione (C) Docente: S. Ferilli II esonero (16 dicembre 02) Cognome e Nome: Matricola: Esercizio n.1 Specificare intestazione, nidificazione
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
Dettagli5.4 Istruzione di input L istruzione di input ha la forma:
5.2 Istruzione di output L istruzione di output ha la forma: cout
DettagliCorso di Fondamenti di Programmazione canale E-O. Strutture. Strutture. Definizione di strutture (2) Definizione di strutture (1)
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Strutture e Unioni DD Cap. 10, pp. 379-391, 405-406 KP Cap. 9, pp. 361-379 Strutture Strutture Collezioni di variabili correlate (aggregati)
DettagliAlmerico Murli - Le variabili strutturate (array) VARIABILI STRUTTURATE (ARRAY)
VARIABILI STRUTTURATE (ARRAY) 1 successione (di numeri reali): i ℵ a R i vettore (di numeri reali): i I a i R con I ℵ sottoinsieme finito ogni componente del vettore e univocamente determinata dall indice
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
DettagliCorso di Informatica
Corso di Informatica Modulo T2 2 I tipi di dato Prerequisiti Concetto di relazione e funzione Concetto di insieme numerico Operatori aritmetici Operatori relazionali 2 Introduzione Abbiamo visto che un
DettagliEsercizi. Filtraggio
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
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
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
DettagliDichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
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
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliLinguaggi e Ambienti di Programmazione
Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi
DettagliInformatica Generale Andrea Corradini Ancora sui linguaggi di programmazione
Informatica Generale Andrea Corradini 18 - Ancora sui linguaggi di programmazione Sommario Principali componenti di un linguaggio di programmazione Variabili e costanti Strutture dati: array e record Strutture
DettagliPREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii
Sommario PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...
DettagliLinguaggi di Programmazione Corso C. Parte n.10 Gestione della Memoria. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.10 Gestione della Memoria Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Gestione della Memoria I moderni linguaggi
DettagliCognome-Nome:... Matricola...
DIPARTIMENTO di INFORMATICA Corso di Laurea in Informatica Cognome-Nome:..... Matricola... Rispondere sul foglio allegato ad almeno 4 tra i quesiti 1..5 ed al quesito 6. Riportare sul foglio allegato solo
DettagliTipi user-defined. parte dichiarativa globale:
Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano la definizione di
DettagliTIPI DI DATO. e quasi sempre anche collezioni di oggetti, mediante la definizione di tipi strutturati
Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti, mediante la
DettagliI S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E
I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G u g l i e l m o M a r c o n i V e r o n a Dipartimento di Progetto didattico disciplinare per le classi terze della articolazione Anno
Dettagli10/10/2016. Caratteristiche degli array. Il tipo RECORD. Il record. LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica
Caratteristiche degli array Principali caratteristiche degli array: LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli
DettagliGli array, le stringhe e le strutture
INFORMATICA B Ingegneria Elettrica Gli array, le stringhe e le strutture Limiti dei tipi di dato semplici Utilizzare solo i tipi di dato semplici può essere limitante e rendere il programma poco flessibile
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliVariabili e Funzioni. Informatica 1 / 19
Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:
DettagliPASCAL 1. 27/03/2004 Pascal 1 prof. Bruno Franceschini - ITI Bolzano
PASCAL 1 Vediamo gli elementi di base del linguaggio PASCAL, un linguaggio per comunicare al calcolatore una serie di istruzioni, che rappresentano un algoritmo, che sarà in grado di svolgere dopo averle
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 3 Parte V LE SEQUENZE Ha collaborato alla editazione Giandomenico Martellotta 1. Nel caso sia necessario far uso di un INSIEME FINITO di DATI, tra loro in RELAZIONE D
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
DettagliProgrammazione II. Lezione 7. Daniele Sgandurra 9/11/2010.
Programmazione II Lezione 7 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 9/11/2010 1/24 Programmazione II Lezione 7 9/11/2010 Sommario 1 Gestione della Memoria 2/24 Programmazione II Lezione 7 9/11/2010
DettagliElementi di Base. Introduzione a Python.
Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,
DettagliI Tipi di Dato Astratto
I Tipi di Dato Astratto Sommario Cosa sono le Strutture Dati Astratte? Le strutture dati Le operazioni Come scegliere fra varie implementazioni? Quale è la questione? Come organizzare (strutturare) i dati
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
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
DettagliAlberi n-ari: specifiche sintattiche e semantiche. Realizzazioni. Visita di alberi n-ari.
Alberi n-ari: specifiche sintattiche e semantiche. Realizzazioni. Visita di alberi n-ari. Algoritmi e Strutture Dati + Lab A.A. / Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro ALBERO
Dettagliparte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure
Tipi user-defined Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi
Dettagliparte dichiarativa globale: dichiarazioni di costanti dichiarazioni di tipi dichiarazioni di variabili prototipi di funzioni/procedure
Tipi user-defined Il C mette a disposizione un insieme di tipi di dato predefiniti (tipi built-in) e dei meccanismi per definire nuovi tipi (tipi user-defined) Vediamo le regole generali che governano
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)
DettagliLaboratorio di Algoritmi
Laboratorio di Algoritmi Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 8.30-10.30 in aula 3 Mercoledì 10.30-12.30 in Aula 2 Giovedì 8.30-10.30 in
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
DettagliI tipi strutturati e i record in C++
I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati Pseudocodifica m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
DettagliInformatica 3. LEZIONE 2: Sintassi e semantica
Informatica 3 LEZIONE 2: Sintassi e semantica Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4: Routine Convenzioni dei nomi Informatica
DettagliTipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C
Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 19 Ricorsione A. Miola Marzo 2010 http://www.dia.uniroma3.it/~java/fondinf/ Ricorsione 1 Contenuti Funzioni e domini definiti induttivamente
DettagliVariabili e input/ Alessandra Giordani Lunedì 18 marzo
Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile
DettagliInformatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione
Informatica 3 Informatica 3 LEZIONE 2: Sintassi e semantica Lezione 2- Modulo 1 Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4:
DettagliIntroduzione alle stringhe e algoritmi collegati
Introduzione alle stringhe e algoritmi collegati Algoritmicamente August 15, 2009 1 Introduzione 1.1 Introduzione ai caratteri In informatica o più generalmente in una terminologia scientifica, il carattere
DettagliCorso di Informatica
Corso di Informatica Modulo T -Struttura vettore 0/08/0 Prerequisiti Programmazione elementare Passaggio parametri per indirizzo 0/08/0 Introduzione I dati di tipo semplice (Intero, Reale, Carattere, Booleano)
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
DettagliIL TEOREMA DI BOEHM-JACOPINI
IL TEOREMA DI BOEHM-JACOPINI Un qualunque algoritmo può essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o iterazione Le tre strutture sono complete. Un qualunque linguaggio
DettagliCaratteristiche generali del linguaggio Visual Basic
Caratteristiche generali del linguaggio Visual Basic Per ottenere un aiuto contestuale dall help di Visual Basic sulla sintassi di funzioni o, oppure su proprietà, eventi o metodi, basta selezionare la
DettagliStrutture Dati. Nicu Sebe. Informatica Nicu Sebe 1 / 27
Strutture Dati Nicu Sebe Informatica Nicu Sebe 1 / 27 Dati e Tipi di Dati e Spazi Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti
DettagliTipi strutturati in C. Stringhe
Tipi strutturati in C Stringhe Stringhe Una stringa di caratteri in C è un array di caratteri terminato dal carattere \0 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1 caratteri,
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Università di Camerino Corso di Laurea in Informatica (12 CFU) I periodo didattico Emanuela Merelli email:emanuela.merelli@unicam.it Argomenti della lezione Tipi di Dato Astratto
DettagliALGORITMI E STRUTTURE DATI
Esercitazioni del corso di: ALGORITMI E STRUTTURE DATI Tutor: Francesca Piersigilli email: francesca.piersigilli@unicam.it Strutture dati elementari Tecniche di organizzazione dei dati: scelta della struttura
Dettagliliceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA
INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:
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 di
DettagliCorso di Fondamenti di Informatica Università degli Studi di Cassino
Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la
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
DettagliLa Programmazione. Cos è la programmazione? Concetti preliminari
La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione
DettagliStrutture Dati. Luca Abeni
Strutture Dati Luca Abeni Dati e Tipi di Dati Una variabile è caratterizzata dal suo Tipo Specifica i valori che può assumere (Insieme di Definizione) Specifica a quanti byte di memoria la variabile è
DettagliIntroduzione al linguaggio C Dati aggregati
Introduzione al linguaggio C Dati aggregati Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 5 ottobre
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 24/04/08 Nota Questi lucidi sono tratti
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
DettagliMODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio
ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati
DettagliPascal: esempi di programmazione
Pascal: esempi di programmazione Problemi elementari di programmazione.................. 2252 a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Somma tra
DettagliStructured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
Dettagli