Introduzione alla programmazione. Walter Didimo

Похожие документы
Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

LINGUAGGI DI ALTO LIVELLO

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

Linguaggi di Programmazione

Introduzione alla Programmazione. Giselda De Vita

Il linguaggio di programmazione Python

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

Programmazione C Massimo Callisto De Donato

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

Linguaggi di alto livello, compilatori e interpreti

Unità Didattica 2 I Linguaggi di Programmazione

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

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

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Il calcolatore. Architettura di un calcolatore (Hardware)

Linguaggi di programmazione

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

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

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

Informatica Generale Andrea Corradini I linguaggi di programmazione

Prof. Rossella Cancelliere

Algoritmi e Linguaggi

Linguaggi di Programmazione

FONDAMENTI DI INFORMATICA

COMPILAZIONE. Tarsformazione di linguaggi

Introduzione al Linguaggio C ed all IDE DEV-C++

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Introduzione a Visual Studio Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

CONCETTI FONDAMENTALI

Fondamenti di programmazione!! Parte 2!

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Funzioni, Stack e Visibilità delle Variabili in C

Linguaggi, compilatori e interpreti

Corso sul linguaggio Java

Linguaggi di programmazione e astrazione

Programmazione strutturata

Primi passi col linguaggio C

Fondamenti di Informatica T. Il Software

Sorgenti di errore. Laboratorio di Informatica 1

Prof.Claudio Maccherani 1995

Introduzione al funzionamento di un calcolatore elettronico

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

Fondamenti VBA. Che cos è VBA

INTRODUZIONE Informatica - Modulo di Programmazione Ingegneria gestionale, a.a Patrizia Scandurra

Linguaggi di programmazione

Lezione 16. Il Software di base

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Cosa è l Informatica?

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

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Indice. Prefazione. 3 Oggetti e Java 53

Le direttive del Preprocessore

Concetti Introduttivi. Il Computer

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

IL PRIMO PROGRAMMA IN C

Concetti introduttivi

Dall algoritmo al programma

Capitolo 3 L elaborazione e la strutturazione dell informazione

Транскрипт:

Introduzione alla programmazione Walter Didimo

Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata e non ambigua L esecuzione esecuzione di un programma da parte di un calcolatore è lo svolgimento delle azioni in esso descritte

Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da parte di un calcolatore, chiamato linguaggio di programmazione Un linguaggio di programmazione: stabilisce un insieme di regole grammaticali che deve essere rispettato nella scrittura di un programma sintassi stabilisce il significato del programma, ovvero la sequenza di azioni che deve essere eseguita dal calcolatore durante l esecuzione del programma semantica

Tipi di linguaggi di programmazione Linguaggio macchina sequenze di cifre binarie unico linguaggio comprensibile direttamente da un calcolatore calcolatori diversi hanno linguaggi macchina diversi difficile da comprendere per un essere umano Linguaggio assemblativo mnemonico per un linguaggio macchina di basso livello c è una corrispondenza uno a uno tra le istruzioni di un linguaggio assemblativo e le istruzioni del corrispondente linguaggio macchina Linguaggi di programmazione di alto livello Linguaggi di programmazione di alto livello COBOL, FORTRAN, LISP, C, C++, Java,... di alto livello a ogni istruzione corrispondono molte istruzioni del linguaggio macchina facile da leggere e da comprendere

Esecuzione di programmi Un calcolatore non è in grado di eseguire direttamente programmi scritti in linguaggi di alto livello un calcolatore è in grado di eseguire direttamente solo programmi specificati nel proprio linguaggio macchina noi vogliamo scrivere programmi in un linguaggio di programmazione di alto livello il programma dovrà essere tradotto in linguaggio macchina prima della sua esecuzione

Traduttori Un traduttore è un software che traduce un programma scritto in un linguaggio di alto livello in un equivalente programma in linguaggio macchina. Esistono due tipi di traduttori: compilatori: traducono per intero il programma di alto livello in un programma equivalente in linguaggio macchina. Il programma così tradotto potrà essere eseguito direttamente dal calcolatore, senza che intervengano altri passi di traduzione interpreti: traducono ciascuna istruzione del programma di alto livello in una sequenza di istruzioni del linguaggio macchina, che viene subito eseguita; si crea alternanza tra traduzione ed esecuzione (l esecuzione procede più lentamente)

Forme di un programma codice sorgente editing /* un semplice programma in C */ void main (){ printf( Ciao Mondo! ); } linguaggio di alto livello compilazione codice eseguibile... a0 00 ff 3a 62 b5 7c 99... linguaggio macchina esecuzione Ciao Mondo!

Dipendenze hardware/software La compilazione e l esecuzione sono dipendenti dall ambiente hardware e software (piattaforma) Un compilatore sa tradurre da uno specifico linguaggio di programmazione ad esempio, Pascal, Fortran, C, C++ verso uno specifico linguaggio macchina relativo a un processore specifico ad esempio, Intel x86 relativo a uno specifico sistema operativo ad esempio, Linux, Unix, Microsoft Windows 95/98/NT/2000/XP Esiste un compilatore diverso per ciascun linguaggio di programmazione e ciascuna piattaforma l eseguibile prodotto da un tale compilatore può essere eseguito solo nello stesso ambiente hardware-software

Paradigmi di programmazione Esistono diversi approcci alla programmazione, chiamati paradigmi di programmazione un paradigma di programmazione caratterizza la struttura di un programma ed il modo in cui vengono comandate le azioni al calcolatore Fino a qualche anno fa i linguaggi di programmazione più diffusi si ispiravano a paradigmi imperativi i programmi apparivano come una sequenza di istruzioni (imperative) che venivano eseguite in modo sequenziale int somma = 0; printf ( questo è un esempio che calcola la somma dei primi 10 naturali ); for (int i=1; i <= 10; i++) somma = somma + i; printf ( risultato = %d, somma);

Paradigma ad oggetti Il paradigma di programmazione ad oggetti nasce dall esigenza di creare software complessi e di grandi dimensioni il programma si compone di oggetti che modellano la realtà di interesse ogni oggetto sa fare delle cose gli oggetti interagiscono, scambiandosi messaggi il programmatore definisce: gli oggetti che formano il programma cosa ogni oggetto sa fare come e quando gli oggetti interagiscono

Paradigma ad oggetti e Java In questo corso studieremo i concetti di base della programmazione ad oggetti utilizzeremo il linguaggio di programmazione Java Java è flessibile, largamente diffuso, e dotato di una vasta gamma di oggetti predefiniti capaci di svolgere servizi utili