Linguaggi di programmazione

Documenti analoghi
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Linguaggi di Programmazione

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Rappresentazione con i diagrammi di flusso (Flow - chart)

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Il linguaggio di programmazione Python

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Prof. Pagani Corrado ALGORITMI

DESCRIZIONI RIGOROSE c7

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

Il calcolatore. Architettura di un calcolatore (Hardware)

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Teoria dell Informazione

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Unità Didattica 2 I Linguaggi di Programmazione

Introduzione alla programmazione. Walter Didimo

Algoritmi e soluzione di problemi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Programmazione strutturata

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

28/02/2014 Copyright V. Moriggia

Corso di Informatica di Base

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Algoritmi. Pagina 1 di 5

Informatica Generale Andrea Corradini I linguaggi di programmazione

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Concetti Introduttivi. Il Computer

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Programmazione C Massimo Callisto De Donato

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Excel & VBA. Excel e Visual Basic for Application

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

Linguaggi di alto livello, compilatori e interpreti

LA METAFORA DELL UFFICIO

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Capitolo 3 L elaborazione e la strutturazione dell informazione

Caratteristiche di un linguaggio ad alto livello

COMPILAZIONE. Tarsformazione di linguaggi

Algoritmi e Linguaggi

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

CONCETTI FONDAMENTALI

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Corso Programmazione

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

LINGUAGGI DI ALTO LIVELLO

Fondamenti di programmazione!! Parte 2!

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

FONDAMENTI DI INFORMATICA

Linguaggi di Programmazione

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Introduzione alla Programmazione. Giselda De Vita

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

Come ragiona il computer. Problemi e algoritmi

Introduzione al Linguaggio C

Dall algoritmo al programma

Fondamenti VBA. Che cos è VBA

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

VISUAL BASIC FOR APPLICATION

Programmazione di INFORMATICA e Laboratorio

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Linguaggio C - sezione dichiarativa: costanti e variabili

LA METAFORA DELL UFFICIO

Primi passi col linguaggio C

Indice. Prefazione. 3 Oggetti e Java 53

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Algoritmi e Diagrammi di flusso

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Sviluppo di programmi

Transcript:

Linguaggi di programmazione

Problema Algoritmo Programma

Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente

Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo Flusso di esecuzione Memoria Automi Calcolo automatico Macchine di Turing Proprietà degli algoritmi

Problema (Teorema di Pitagora) Stato iniziale Ciò che è rilevabile prima di iniziare (i due cateti) Stati intermedi (i quadrati dei due cateti) Stato finale (l ipotenusa)

Problema Fasi analisi progettazione verifica della soluzione specifica attraverso istruzioni le azioni da svolgere per passare dallo stato iniziale agli stati intermedi ed ai risultati finali

Risolutore ed esecutore_1 Risolutore: ricerca e definisce le istruzioni che, inteprerate da un esecutore, partendo dai dati iniziali conducono ai dati finali Esecutore: interperta le istruzioni ed eseguendole definisce le azioni da compiere per giungere al risultato finale

Risolutore ed esecutore_2 Risolutore Istruzioni Linguaggio Dati iniziali Esecutore azioni dati intermedi Dati finali

Algoritmo Insieme delle regole che consentono la risoluzione di un determinato problema Procedura effettiva composta da istruzioni che, a partire da dati conosciuti, ottengano i risultati desiderati Sequenza di istruzioni Tipi di istruzioni: operative di controllo decisionale o di selezione

Flusso di esecuzione istruzione1 passo1 istruzione2 passo2 Flusso istruzione1 istruzione2..

Memoria dati iniziali dati intermedi dati finali Memoria istruzioni

Automa Esegue in modo automatico una sequenza di azioni predefinite ingressi automa uscite stati interni dell automa ingressi 4 2 uscite 1 3

Calcolo automatico Macchina di Turing - MdT Meccanismo di controllo Testina di lettura/scritura nastro

Proprietà degli algoritmi Algoritmo - il numero di istruzioni è finito - le istruzioni devono poter essere eseguibili dall esecutore - ogni istruzione deve poter essere eseguita in un tempo finito Dati iniziali - il numero non è limitato a priori Esecutore - le istruzioni che è in grado di eseguire sono in nunero finito - ha memoria - il calcolo avviene in passi discreti - la memoria non è limitata a priori - il numero di passi di esecuzione non è limitato a priori - il calcolo non può essere probabilistico - sono ammesse esecuzioni con un numero di passi finito Dati finali

Linguaggi algoritmici Caratteristiche del linguaggio algoritmico Variabili. Tipo di dato Diagramma a blocchi. Tipi di blocchi Programazione strutturata Pseudolinguaggio

Caratteristiche del linguaggio algoritmico non ambigui capacità di esplicitare il flusso di esecuzione delle istruzioni Categorie delle istruzioni: - operative - input/output - decisionali

Variabili Variabile == una zona di memoria atta a contenere un dato Identificatore == nome della zona di memoria Memoria dei dati == insieme delle variabili Assegnamento == associare a una variabile un valore Tipo di dato: definisce l insieme dei valori che la variabile può assumere e l insieme delle operazioni ammesse sui dati

Tipi di blocco Diagramma a blocchi inizio fine input / output operativi decisionali

Programmazione strutturata Struttura Fondamentali strutture di controllo del flusso sequenza selezione ripetizione

Pseudolinguaggio Un pseudolinguaggio o linguaggio di progetto consente la rappresentazione o pseudocodifica degli algoritmi utilizzando un numero ristretto di termini a cui sono attribuiti un significato univoco e precise regole di composizione Parole chiave: INIZIO, FINE, A, ALLORA, ALTRIMENTI, CASO, DA, DI, ESEGUI, FINCHE, FINE, INIZIO, MENTRE, PASSO, PER, RIPETI, SE Esempio: INIZIO FINE chiedi (base, altezza) leggi (base, altezza) area base * altezza scrivi (area)

Dall algoritmo al programma

Evoluzione dei linguaggi Linguaggi di programmazione Linguaggio macchina Linguaggi assembler Linguaggi ad alto livello Linguaggi orientati ad oggetti Traduttori, compilatori, interpreti

Linguaggi di programmazione Uomo Linguaggi ad alto livello Linguaggi a basso livello Microlinguaggi Hardware C++, Visual Basic Assembler, linguaggi macchina

Linguaggi macchina Programma (codice oggetto): sequenza di cifre binarie che codificano le istruzioni e i dati Le istruzioni sono strettamente legate all architettura dell elaboratore Codice operativo operando 0000010011011011 0000000001101010 Esempio di programma: 0000000000010101 0000000000011111 0000000000010101 preleva il contenuto della cella di memoria di indirizzo 84 0000000001011110 sommalo al valore 639

Linguaggi assembler Programma (codice mnemonico) Esempio: CARICA 84 preleva il contenuto della cella di memoria di indirizzo 84 SOMMA 639 sommalo al valore 639 Assembler traduttore Linguaggio macchina

Linguaggi ad alto livello Programma: le istruzioni utilizzano simboli matematici e seguono il modo di ragionare dell uomo Linguaggi ad alto livello traduttore Linguaggio macchina I più noti: COBOL COmmon Business Oriented Language per applicazioni di tipo gestionale FORTAN FORmula TRANslator per applicazioni di tipo scientifico PASCAL orientato a scopi didattici C utilizzato da progettatori di programmi per la gestione dell elaboratore

Linguaggi orientati ad oggetti OOP Object Oriented Programmimng Consentono di modellare, in modo più naturale per l uomo, gli elementi della realtà che deve essere rappresentata nella soluzione del problema Un oggetto è un elemento concreto definito dalle sue caratteristiche e dai suoi comportamenti. Esempio: Il cittadino Paolo Rossi che vive a Roma è definito in base alle caratteristiche di: e alle scelte di: I piu famosi: essere nato a Roma nel 1990, di risiedere in Via Nomentana al n. 34 trasferisci in Via Milano al n. 50, sposarsi con Maria Bianchi e avere un figlio C++ estensione del linguaggio C Java

Traduttori, compilatori, interpreti Linguaggio Assembler Codice mnemonico Assemblatore Codice eseguibile Codice oggetto Linguaggio ad alto livello Codice sorgente Compilatore Codice eseguibile Codice oggetto Codice sorgente Fase di compilazione Codice oggetto Fase di esecuzione Codice sorgente Interprete Compilazione + esecuzione

Il Visual Basic Ha origine dal linguaggio BASIC (Beginners Allpurpose Symbolic Instruction Code) ovvero linguaggio adatto ai principianti e a tutti gli scopi. Il termine Visual indica che il programma si sviluppa in un ambiente grafico dove utilizza i classici elementi quali le finestre, i pulsanti, caselle, ecc.

Ambiente di programmazione Le applicazioni software create con VB sono realizzate con un progetto Tipi di progetto: Standard.exe Active.exe ActiveX.DLL ActiveX Controls ActiveX Document Add-in files VB Application Wizard Form Controlli Moduli Finestre del Progetto delle Proprietà di Disposione form Esecuzione immediata del Codice Casella degli strumenti

Oggetti dell interfaccia grafica Form Casella di testo icona Form etichetta bottone Codice (Procedure o Funzioni) modulo Procedura Dichiarazione delle variabili Progetto (.VBP): insieme di form (.FRM) e di moduli (.BAS)

Il codice Insieme di istruzioni del linguaggio Istruzioni organizzate come unità logiche in routine: Sub (Private/Public) Function Finestra del codice lista degli oggetti lista delle Routine Formattazione automatica

Caratteristiche del linguaggio_1 istruzione commento istruzione : istruzione (sulla stessa riga) istruzione_continua (anche su più righe) argomenti (di Sub e Function) separati da, aiuto F1 assegnazione nome_variabile = valore nome variabile: max 40 caratteri (iniziano con una lettera)

Caratteristiche del linguaggio_2 Tipo di dato Dimensione Intervallo Byte Boolean Integer Long Single Double Date String 1 byte 2 byte 2 byte 4 byte 4 byte 8 byte 8 byte lunghezza stringa da 0 a 255 True e False da -32766 a 32767 da -2147483648 a 2147483647 virgola mobile a precisione semplice virgola mobile a precisione doppia Da 1 gennaio 1000 a 31 dicembre 9999 Da 1 a circa 65400 Carattere % &! # $ Tipo di dato Integer Long Single Double String suffissi tipo di variabile