Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Documenti analoghi
Introduzione alla programmazione. Walter Didimo

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

Primi passi col linguaggio C

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

La programmazione in linguaggio C

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

Programmazione. Andrea Passerini Informatica. Programmazione

Corso di Linguaggi di Programmazione + Laboratorio

Linguaggi di programmazione

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

LINGUAGGI DI ALTO LIVELLO

Programmazione C Massimo Callisto De Donato

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

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

Linea di comando. Compilazione. Aprire una shell di DOS tramite:

Linguaggio C: introduzione

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

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

Linguaggi di Programmazione

Linguaggi di Programmazione

Linguaggio C Struttura dei programmi

CONCETTI FONDAMENTALI

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Introduzione al funzionamento di un calcolatore elettronico

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

Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica

Unità Didattica 2 I Linguaggi di Programmazione

Fondamenti di Programmazione

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

Funzioni, Stack e Visibilità delle Variabili in C

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

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

Concetti di base dell ICT

Introduzione ai Calcolatori Elettronici

Informatica Generale Andrea Corradini I linguaggi di programmazione

Linguaggi di programmazione

INFORMATICA. L informatica comprende:

Il software: dall algoritmo al linguaggio macchina

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

FONDAMENTI DI INFORMATICA

Rappresentazione con i diagrammi di flusso (Flow - chart)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

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

Lezione 1. Problemi Algoritmi Programmi

Laboratorio di Calcolo Linguaggi di programmazione

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

Fortran in pillole : prima parte

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

Teoria dell Informazione

Linguaggi di Programmazione

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

Linguaggi di programmazione

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010

Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Il linguaggio di programmazione Python

LABORATORIO DI INFORMATICA

Algoritmi e soluzione di problemi

Corso di Architettura (Prof. Scarano) 09/04/2002

PROBLEMI ALGORITMI E PROGRAMMAZIONE

FONDAMENTI DI INFORMATICA

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

Informatica, Algoritmi, Linguaggi

Corso Programmazione

Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Lezione 16. Il Software di base

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

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

Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Il calcolatore. Architettura di un calcolatore (Hardware)

Problemi, algoritmi, calcolatore

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

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

Linguaggio C - sezione dichiarativa: costanti e variabili

Gestione dei file. Stefano Ferrari. Università degli Studi di Milano Programmazione. anno accademico

10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1

Prof. Rossella Cancelliere

Informatica! Appunti dal laboratorio 1!

Elementi di informatica

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

CPU, RAM, ROM e BUS Corso di Abilità Informatiche Laurea in Fisica

Introduzione a Visual Studio 2005

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O

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

Fondamenti di programmazione e Laboratorio di introduzione alla programmazione (modulo 1)

AMBIENTI DI PROGRAMMAZIONE

IL PRIMO PROGRAMMA IN C

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C. Appunti per il corso di Laboratorio di Algoritmi e Strutture Dati. Stefano Aguzzoli

Informatica! Appunti dal laboratorio 1!

Fondamenti di programmazione!! Parte 2!

Tempo di vita e scope delle variabili

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

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

Macchine Astratte. Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari. Linguaggi di Programmazione feb, 2016

Transcript:

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10

Dai flow-chart ai linguaggi... Abbiamo imparato ad usare uno strumento formale i flowchart per rappresentare un algoritmo Tuttavia un flowchart non è direttamente eseguibile da un calcolatore Occorre pertanto tradurre il flowchart in un linguaggio che sia comprensibile da una CPU La traduzione deve essere possibile, cioé il nuovo linguaggio deve possedere i costrutti: Start/Stop Input, Output Calcolo Confronto Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 2

Ma cos'è un linguaggio di programmazione? E' un insieme di Simboli Parole-chiave (keyword) Ogni keyword/simbolo ha un significato ben preciso (semantica) Le keyword/simboli possono combinarsi fra loro secondo una sintassi ben precisa Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 3

Tanti linguaggi... Esistono centinaia di linguaggi di programmazione un certo algoritmo (flowchart) può essere tradotto in uno qualunque di questi linguaggi Tuttavia, il programma per essere eseguibile, deve essere scritto in un linguaggio comprensibile dalla CPU Questo vuol dire che ogni CPU conosce centinaia di linguaggi di programmazione? Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 4

NO! un solo linguaggio. Ogni CPU conosce solamente un linguaggio di programmazione: Imposto/progettato dal produttore della CPU Strettamente specifico per quel tipo o famiglia di CPU Composto da istruzioni estremamente primitive in grado di operare su dati di dimensione massima prefissata eseguire letture e scritture di locazioni di memoria eseguire letture e scritture dalle periferiche di I/O Il linguaggio della CPU è denominato linguaggio/codice macchina o assembly Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 5

Tanti linguaggi, un solo linguaggio Tanti linguaggi linguaggio macchina: come funziona questo meccanismo?? Per ogni linguaggio X esiste un software che permette di tradurre in linguaggio macchina qualunque programma scritto in X Questi software di traduzione appartengono a due differenti categorie: Compilatori Interpreti Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 6

Compilatori File di testo sorgente, contenente il programma scritto nel linguaggio X File binario eseguibile dalla CPU Compilatore da X a linguaggio macchina CPU Il file sorgente viene tradotto, istruzione per istruzione, in linguaggio macchina Il risultato è un file eseguibile, composto solo da istruzioni in linguaggio macchina, che può essere direttamente eseguito dalla CPU Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 7

Interpreti File di testo sorgente, contenente il programma scritto nel linguaggio X Interprete per linguaggio X CPU Ogni comando del file sorgente viene tradotto on-thefly in linguaggio macchina ed eseguito immediatamente Ogni volta che occorre eseguire di nuovo quel programma, occorre rifare sempre la traduzione Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 8

Il Linguaggio C: struttura di un programma Un programma C è un insieme di FUNZIONI che implementano l'algoritmo da realizzare Ogni funzione è composta da un insieme di comandi primitivi del linguaggio e da invocazioni (utilizzi) di altre funzioni esistenti nel programma stesso Dichiarazione di una funzione NOME_FUNZIONE(ELENCO PARAMETRI) { CORPO DELLA FUNZIONE } Uso (invocazione di una funzione) NOME_FUNZIONE(ELENCO PARAMETRI); Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 9

Verso il linguaggio C, il primo programma START hello.c #include <stdio.h> Hello world main() { printf( Hello, world\n ); getchar(); } END Proviamolo con il Dev-C++ Corrado Santoro, Informatica, Lezione 4 -Introduzione al linguaggio C 10