AN FI 98-99 Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.

Slides:



Advertisements
Presentazioni simili
C C++ &.
Advertisements

Puntatori Linguaggio C.
Introduzione al linguaggio C++
Uso avanzato di C.
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
PHP.
Linguaggi di programmazione
Type Checking (1° parte)
Algoritmi e Programmazione
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
Metodologie di Programmazione = decomposizione basata su astrazioni
Fondamenti di Informatica
Anno accademico Le classi di memorizzazione.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Semantica Denotazionale
Semantiche dei linguaggi di programmazione
Semantica Denotazionale
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Informatica Applicata Lezione 6
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
Type int_stack = struct { int top; int P[100]; } int_stack creapila() { int_stack s = new int_stack; s.top = 0; return s; } int_stack push(int_stack s,
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Dichiarazioni e tipi predefiniti nel linguaggio C
CAPITOLO 7.
Il Linguaggio C.
Espressioni condizionali
Java concetti A.Natali Marzo Java Dai concetti ai costrutti.
A.Natali DL Maggio1999 Oggetti Concetti fondamentali.
Le funzioni a tempo di esecuzione
AN FI Array Array in Java. AN FI Array Dichiarazione di array in Java [ ]; //oppure u [] ; int a[]; int[] a; u La dimensione non è specificata.
AN Fondam98 Puntatori Azioni e procedure Assegnamenti, indirizzi e puntatori.
LINGUAGGI DI PROGRAMMAZIONE
AN FI Concetti. Linguaggi di alto livello u Hanno capacita' espressive superiori a quelle del linguaggio macchina u Suggeriscono concetti e modi.
AN FI Un denominatoe comune Linguaggi di programmazione Un denominatore comune.
AN FI Array Collezioni di dati uniformi in tipo Array.
AN FI Un denominatoe comune Lo stile funzionale Concetti fondamentali.
AN FI Array Collezioni di dati uniformi in tipo Array.
FUNZIONI... Una funzione permette di dare un nome a una espressione rendendola parametrica float f(){ return * sin(0.75); } float f1(int x) { return.
DAGLI ARCHIVI AI DATABASE
CODIFICA Da flow-chart a C++.
Introduzione alla programmazione Object Oriented
Lo sviluppo del software e i linguaggi di programmazione
Unità Didattica 3 Linguaggio C
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Astrazione procedurale ed eccezioni
Il linguaggio C Puntatori e dintorni.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Fondamenti di Informatica II Ingegneria Informatica (A-I) Prof. M.T. PAZIENZA a.a – 3° ciclo.
1 Il linguaggio C Puntatori e dintorni. 2 Puntatori : idea di base In C è possibile conoscere e denotare l’indirizzo della cella di memoria in cui è memorizzata.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Lo stato  I domini della semantica restano invariati: Ide, Val (Int  { ,  }) Loc (locazioni di memoria), FunctDecl. ma definiamo 2 funzioni: Loc :
1 Semantica Operazionale di un frammento di Java: le regole di transizione estensione (con piccole varianti) di quella in Barbuti, Mancarella, Turini,
Elementi di semantica denotazionale ed operazionale
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
Esercizi.
1 Tipi di dato modificabili §a livello semantico, riconduciamo la modificabilità alla nozione di variabile l lo stato “modificabile” corrispondente sarà.
Le basi di dati.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o quello del mondo circostante. –Le strutture di controllo ( if,-then-else, while-do, for, repeat-unitl, switch, etc.) permettono di aggregare comandi semplici in macrocomandi

AN FI Un denominatoe comune Procedure u costrutti che permettono di attribuire un nome ad un macrocomando e renderlo parametrico if( x == 3 ) writeln( 2+x*sin(0.75) ); else writeln( "errore" ); void f1( int x ){ if( x == 3 ) writeln( 2+x*sin(0.75) ); else writeln( "errore" ); }

AN FI Un denominatoe comune Variabili nei linguaggi imperativi u Rappresentano astrazioni delle celle di memoria di un elaboratore piuttosto che sinonimi di dati u Sono associate a due diverse informazioni: –l' indirizzo di una cella di memoria (o della prima cella di un blocco di celle) –il contenuto

AN FI Un denominatoe comune Variabili nei linguaggi imperativi 3.22 la corrispondenza tra la variabile x e il valore 3.22 puo' venire rappresentata come segue: x

AN FI Un denominatoe comune Riferimenti u Molti linguaggi imperativi permettono di trattare gli indirizzi di memoria come valori e di introdurre variabili che possono assumere come valore un indirizzo 3.22 x px

AN FI Un denominatoe comune Il valore null un simbolo ( nil, oppure null ) che denota un indirizzo cui non corrisponde alcuna cella fisica dell'elaboratore. null px

AN FI Un denominatoe comune Dereferenziamento u L'operazione che permette, data una variabile che ha come valore un riferimento, di accedere al contenuto delle celle di memoria referenziate

AN FI Un denominatoe comune Puntatori u le variabili (i cui valori sono riferimenti) che il linguaggio permette possano comparire in espressioni aritmetiche. –px+1 denota l'indirizzo +k essendo k il numero di celle di memoria occupate dal valore puntato da pxpx

AN FI Un denominatoe comune Strutture di dati u I tipi di dato scalari predefiniti di un linguaggio non sono sufficienti per soddisfare le esigenze pratiche di progettazione e sviluppo di sistemi software. –Per quanto un linguaggio possa offrire un ampio repertorio di dati, vi e sempre la necessita' di introdurre e gestire nuove astrazioni di dato, in relazione alle diverse applicazioni

AN FI Un denominatoe comune Strutture di dati u Occorrono meccanismi per organizzare i dati in strutture articolate e complesse, che possano costituire un appropriato modello del mondo reale e colmare il gap semantico tra le categorie di informazione di uno specifico dominio applicativo e le categorie di dati che l'elaboratore e' in grado di "comprendere" direttamente

AN FI Un denominatoe comune Strutture di dati espressioni di tipo e costruttori di strutture di dati moduli oggetti

AN FI Un denominatoe comune Espressioni di tipo u Una espressione di tipo ( type expression ) descrive la struttura concreta di una nuova categoria di dati attraverso l'uso di costrutti di aggregazione detti costruttori di tipo – array struct

AN FI Un denominatoe comune Rappresentazione e astrazione u Attraverso i costruttori di tipo il progettista puo' definire strutture di dati che costituiscono la rappresentazione concreta delle astrazioni che ha nella sua mente

AN FI Un denominatoe comune Rappresentazione e astrazione u Altri costrutti linguistici meglio catturano la semantica delle astrazioni di dato, separando in modo radicale l'aspetto della rappresentazione concreta dall'aspetto legato all'accesso ai dati

AN FI Un denominatoe comune Incapsulamento u L'incapsulamento ( information hinding ) costituisce un concetto complementare all'astrazione. –Mentre l'astrazione si focalizza sul funzionamento osservabile di un oggetto e su cosa fa un oggetto, l'incapsulamento si focalizza sull'implementazione e permette di modificare un sistema software con uno sforzo limitato.

AN FI Un denominatoe comune Incapsulamento u Qualunque sia l'implementazione scelta per una nuova categoria di dati, essa e' inessenziale agli occhi dei clienti, una volta che assicuri il rispetto del contratto tra il cliente e un oggetto di quella categoria stabilito dall'interfaccia.

AN FI Un denominatoe comune Moduli u Il modulo permette di raggruppare dati, funzioni e procedure in una singola unita' sintattica e che permette incapsulamento. u L'uso di un modulo rende possibile costruire una barriera di astrazione intorno alla rappresentazione concreta di una struttura di dati

AN FI Un denominatoe comune Moduli u Se ben definito, un modulo ha la possibilita' di: –garantire l'uso consistente e corretto di una nuova astrazione di dato, cioe' il soddisfacimento di invarianti di dato –ottenere indipendenza dalla rappresentazione

AN FI Un denominatoe comune Invarianti di dato u Un invariante di dato e' una relazione logica tra le parti che compongono il dato che e' sempre vera agli occhi di un osservatore esterno.

AN FI Un denominatoe comune Indipendenza dalla rappresentazione u L' indipendenza dalla rappresentazione : e' la proprieta' per cui la rappresentazione concreta di un dato puo' essere modificata senza che vi siano ripercussioni sul resto del programma