Strutture di controllo in C. Strutture di controllo in C -- Flow Chart --

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Strutture di controllo in C. Strutture di controllo in C -- Flow Chart --"

Transcript

1 -- Flow Chart -- Corso di Informatica A Vito Perrone 1 Indice Rappresentazione degli algoritmi tramite flow chart Istruzione La parte dichiarativa L I/O Primi esempi che girano 2

2 Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani sintetico e intuitivo codificato in linguaggi informali o semi-formali (linguaggio naturale, diagrammi di flusso, ) Algoritmo formulato per essere eseguito automaticamente preciso ed eseguibile codificato in linguaggi comprensibili dagli esecutori automatici (linguaggio macchina o linguaggio di programmazione di alto livello) 3 Algoritmo = dati + istruzioni Dati Iniziali Algoritmo Dati Finali (soluzione) Composto da Dati Istruzioni che operano sui dati 4

3 Tipi di dati Dati e istruzioni Numeri naturali o interi o reali (1, -2, 0.34) Caratteri alfanumerici (A, B,..) Dati logici o booleani (Vero, Falso) Array o vettore di n elementi (1,2,3) Istruzioni Operazioni di Input/Output (es. leggi, scrivi) Operazioni Aritmetico-logiche (es. max = A + B) Strutture di controllo (es. SE, RIPETI ) 5 Criteri di classificazione dei dati Visibilità da parte dell utente visibile (di ingresso o uscita) trasparente (dati temporanei di supporto) Variabilità nel tempo costanti variabili (acquisizione dall esterno o assegnazione) Struttura elementari (interi, alfanumerici, booleani, ) strutturati (array, matrici, ) 6

4 Operazioni elementari Operazioni aritmetiche e assegnamenti di valori a singole variabili Es. C (A + B) Condizioni sul valore di singole variabili se (A > B) allora altrimenti Lettura e scrittura di variabili Leggi A oppure Stampa B 7 Rappresentazione degli Algoritmi 1. Linguaggio naturale 2. Diagramma a blocchi 3. Pseudo codice 4. Linguaggio di programmazione 8

5 Rappresentare gli algoritmi Inizio Linguaggio naturale - Sollevare il ricevitore - Attendere il segnale di linea libera - Comporre il numero - Flow Chart Sì Lettura a e b c a b c> 0? No Passo P0 Passo P1 Passo P2 Scrittura max è a Scrittura max è b Pseudo codice Input A,B Tot 0 While A!=0 Do Output Tot Tot Tot + B A A 1 Linguaggio programmazione #include <stdo.h> Int main (void) Fine puts( ciao mondo! ); return Exit_success; 9 Diagrammi di flusso Inizio Fine Operazioni di ingresso/uscita Sì predicato No Elaborazione Selezione a due vie Sottoprogramma 10

6 Diagrammi di flusso I blocchi sono collegati fra loro da archi orientati. L arco identifica la sequenza delle operazioni La freccia identifica il flusso della esecuzione SI NO 11 Esempio Inizio Esempio: dati in ingresso due numeri A e B, si calcoli e stampi il maggiore. Sì Lettura a e b c a b c> 0? No Passo P0 Passo P1 Passo P2 Scrittura max è a Scrittura max è b Fine 12

7 Le strutture di controllo 13 Selezione semplice Sì blocco istruzioni test No 14

8 Selezione a due vie Sì test No blocco 1 blocco 2 15 Ciclo a condizione iniziale Sì blocco istruzioni test No 16

9 Ciclo a condizione finale blocco istruzioni Sì test No 17 Alcuni esempi di algoritmo 18

10 Esempio: il prodotto di due interi positivi Leggi W Leggi Y Somma W a se stesso Y volte Scrivi risultato 19 Prodotto di due interi positivi 1 Leggi W 2 Leggi Y 3 SP = 0 4 NS = Y 5 SP = SP + W 6 NS = NS NS = 0? Se NO: torna a 5 8 Z = SP 9 Scrivi Z Procedimento sequenziale Non ambiguo Formulazione generale Prevede tutti i casi (che succede se Y < 0?) 20

11 Strumenti per la descrizione degli algoritmi Semi-formali (specifiche iniziali, ancora intelligibili solo all essere umano) Formali (programmi da eseguire): linguaggi di programmazione 21 Linguaggi semi-formali pseudo-codice: IF A>0 THEN A=A+1 ELSE A=0 diagrammi di flusso (flow chart, schemi a blocchi): START PROCESS I/O END SI DECISION NO 22

12 Esempio Start Leggi N Calcolare e poi stampare la somma dei primi N numeri naturali SI S 0 I 1 S S+I I I+1 I > N? NO Scrivi S END 23 Esercizio L'esecutore deve leggere un intero N e restituire il fattoriale di questo numero, cioè il valore ottenuto da N x (N-1) x (N- 2) x x 1. Scrivere l algoritmo immaginando che i dati di ingresso siano sempre corretti (cioè sempre maggiori di zero). Modificare l algoritmo in modo da considerare anche la possibilità che siano inseriti valori inferiori a 1. 24

13 Diverse alternative (e.g. 7!) 1 * 2 = 2 2 * 3 = 6 6 * 4 = * 5 = * 6 = * 7 = 5040 Start 7 * 6 = * 5 = * 4 = * 3 = * 2 = 5040 Start Leggi N Leggi N P 1 I 1 P N NO Scrivi P End I < N SI I I + 1 P P * I NO Scrivi P End N > 2 SI N N - 1 P P * N 25 Tracciato dell esecuzione NO Scrivi P End Start Leggi N P 1 I 1 I < N SI I I + 1 P P * I Ipotizziamo di calcolare 4! T pos N I P note t 1?????? t 2 4???? t I < N t t I < N t t I < N t t I = N t t Attenzione: il valore iniziale non è 0!! Può non esserci oppure esserci ma non essere noto. 26

14 Le alternative sono diverse? Start Start Leggi N Leggi N P 1 I 1 P N NO I < N SI NO N > 2 SI Scrivi P I I + 1 P P * I Scrivi P N N - 1 P P * N End End Cosa succede se il dato in ingresso non rispetta le specifiche (N > 0)? Per esempio, che risultato restituisce l esecutore per N = 0? e per N = -4? N = 0 P = 1 N = -4 P = 1 N = 0 P = 0 N = -4 P = Come gestire le eccezioni Start Start Leggi N Leggi N NO P 1 I 1 I < N SI NO Scrivi Errore! N > 0 SI P 1 I 1 Scrivi P End I I + 1 P P * I NO Scrivi P I < N SI I I + 1 P P * I Algoritmo per il caso normale. Come lo modifico per gestire anche i casi che non erano stati previsti? End 28

15 -- Sintassi in C -- Corso di Informatica A Vito Perrone 29 Il ciclo while Contatore = 0; scanf (" %c", &Dato); Testo[Contatore] = Dato; while (Dato!= '%' && Contatore < LunghezzaMassima) Contatore = Contatore + 1; scanf (" %c", &Dato); Testo[Contatore] = Dato; if (Contatore == LunghezzaMassima && Dato!= '%') printf ("La sequenza è troppo lunga"); 30

16 Il ciclo do-while Contatore = 0; do scanf (" %c", &Dato); Testo[Contatore] = Dato; Contatore = Contatore + 1; while (Dato!= '%' && Contatore < LunghezzaMassima); if (Contatore == LunghezzaMassima && Dato!= '%') printf ("La sequenza è troppo lunga"); 31 Istruzioni cicliche: il ciclo for Invece di: VariabileDiConteggio = ValoreIniziale; while (VariabileDiConteggio <= ValoreFinale) [Sequenza di istruzioni da ripetere]; VariabileDiConteggio = VariabileDiConteggio + 1; Si può usare: for ( VariabileDiConteggio = ValoreIniziale; VariabileDiConteggio <= ValoreFinale; VariabileDiConteggio = Variabile di Conteggio + 1) [Sequenza di istruzioni da ripetere]; 32

17 Il ciclo for (2) /* Programma InvertiSequenza */ #include <stdio.h> #define LunghezzaSequenza 100 void main () int Contatore; int Memorizzazione[LunghezzaSequenza]; for (Contatore = 0; Contatore < LunghezzaSequenza; Contatore++) scanf ("%d", &Memorizzazione[Contatore]); for (Contatore = LunghezzaSequenza 1; Contatore >= 0; Contatore ) printf ("%d", Memorizzazione[Contatore]); 33 Il ciclo for (3) /* Programma ContaCaratteri */ #include <stdio.h> #define DimVettoreFrequenze 123 void main () char Dato, Cursore; int FrequenzaCaratteri[DimVettoreFrequenze]; /* Inizializzazione dell'array di conteggio FrequenzaCaratteri. Vengono prese in considerazione solo le lettere dell'alfabeto, poiché il programma viene applicato a un testo costituito da parole */ for (Cursore = 'A'; Cursore <= 'Z'; Cursore++) FrequenzaCaratteri[Cursore] = 0; for (Cursore = 'a'; Cursore <= 'z'; Cursore++) FrequenzaCaratteri[Cursore] = 0; scanf (" %c", &Dato); /* Inizia la lettura del testo */ 34

18 Il ciclo for (4) /* Inizia la lettura del testo */ while (Dato!= '#') /* Se il dato letto è uno spazio esso deve essere semplicemente ignorato */ if (!(Dato == ' ')) /* Si verifica che il dato letto sia una lettera dell'alfabeto e non altro carattere non ammesso */ if (Dato < 'A' Dato > 'z' (Dato > 'Z' && Dato < 'a')) printf ("Il testo contiene dei caratteri non ammessi"); else FrequenzaCaratteri[Dato] = FrequenzaCaratteri[Dato] + 1; scanf (" %c", &Dato); 35 Il ciclo for (5) /* Stampa dei totali delle lettere maiuscole */ for (Cursore = 'A'; Cursore <= 'Z'; Cursore++) printf ("Il numero di volte in cui il carattere %c compare nel testo è: %d\n", Cursore, FrequenzaCaratteri[Cursore]); /* Stampa dei totali delle lettere minuscole */ for (Cursore = 'a'; Cursore <= 'z'; Cursore++) printf ("Il numero di volte in cui il carattere %c compare nel testo è: %d\n", Cursore, FrequenzaCaratteri[Cursore]); 36

19 Istruzioni di selezione: il costrutto switch (1) switch (CarattereLetto) case 'A': case 'G': case 'H': printf ("Il carattere letto è A o G o H\n"); break; case 'F' : printf ("Il carattere letto è F\n"); break; 37 Il costrutto switch (2) switch (CarattereLetto) case 'A': case 'G': case 'H': printf ("Il carattere letto è A o G o H\n"); break; case 'F': printf ("Il carattere letto è F\n"); break; default: printf ("il carattere letto è sbagliato\n"); break; 38

20 Il costrutto switch (3) switch (Dipendente.Qualifica) casecapoprogetto: Dipendente.Retribuzione = (Dipendente.Retribuzione * 11) / 10; break; casevenditore: Dipendente.Retribuzione = (Dipendente.Retribuzione * 12) / 10; break; casesegretario: Dipendente.Retribuzione = break; (Dipendente.Retribuzione * 12) / 10; 39 Il costrutto switch (4) nome */ /* Programma Melodia dal tuo char C; int resto; printf ("Inserisci il primo carattere del tuo nome\n"); scanf (" %c", &C); while (C!= '#') resto = C % 7; switch (resto) case 0: printf ("Il carattere %c corrisponde alla nota 'do'\n", C); break; case 1: printf ("Il carattere %c corrisponde alla nota 're'\n", C); break; case 6: printf ("Il carattere %c corrisponde alla nota 'si'\n", C); break; printf ("Inserisci il prossimo carattere del tuo nome # termina il programma"); scanf (" %c", &C); 40

21 Le istruzioni break e continue (1) /* Ciclo infinito */ while (true) scanf ("%d%d", &x, &y); if (x == 0) /* Esce dal ciclo di lettura se x è uguale a 0 */ break; printf ("%f\n", x/y); /* break provoca l'esecuzione dell'istruzione che segue questo commento */ 41 Le istruzioni break e continue (2) /* Codice che elabora tutti i caratteri eccetto le lettere minuscole e maiuscole */ for (i = 0; i < NumDati; i++) scanf (" %c", &Dato); if ((Dato >= 'A' && Dato <= 'Z') (Dato >= 'a' && Dato <= 'z')) continue; /* Istruzioni che elaborano gli altri caratteri */... /* continue trasferisce qui il controllo perché possa iniziare la prossima iterazione del ciclo. È importante notare che i++ viene eseguita anche in questo caso */ 42

22 L istruzione goto scanf ("%d"%d", &x, &y); if (y == 0) goto error; printf ("%f\n", x/y);... error: printf ("y non può essere uguale a 0\n"); Alcuni esercizi -- Corso di Informatica A Vito Perrone 44

23 Un metodo per scrivere programmi (Top-Down) 1/4 Esempio: Si leggano sequenze di gruppi di naturali; ciascun gruppo è separato dal successivo dal numero 0 L ultimo gruppo è terminato da -1 Si stampino in uscita sequenze di naturali che rappresentano le somme dei valori dei singoli gruppi 45 Un metodo per scrivere programmi (Top-Down) 2/4 Prima iterazione cerca gruppo; while (esiste un gruppo) calcola sommatoria; stampa sommatoria; passa a prossimo gruppo; Seconda iterazione int i; scanf( %d, &i); while (i!= -1) /*Esiste un gruppo*/ calcola sommatoria; stampa sommatoria; passa a prox. gruppo; 46

24 Un metodo per scrivere programmi (Top-Down) 3/4 Terza iterazione int i; int sum; scanf( %d, &i); while (i!= -1) /*Esiste un gruppo*/ sum=0; accumula sommatoria gruppo attuale printf ( %d \n, sum); passa al prossimo gruppo; Quarta iterazione int i; int sum; scanf( %d, &i); while (i!= -1) sum=0; while (i!=0 && i!= -1) /*Gruppo non finito: i!=0 && i!= -1*/ sum = sum+i; /*accumula sommatoria gruppo attuale*/ scanf ( %d, &i); printf ( %d \n, sum); if (i!= -1) scanf ( %d, &i); /* se i!=-1 passa al prossimo gruppo */ 47 Un metodo per scrivere programmi (Top-Down) 4/4 Generalizziamo il metodo: Il programma viene derivato per passi successivi di raffinamenti Viene scritto ad ogni passo in un misto di C e linguaggio naturale (pseudo-codice) Alla fine del processo di raffinamenti risulta scritto in C ed è eseguibile I passi scritti in linguaggio naturale e raffinati al passo successivo possono diventare commenti 48

25 While e conversione di tipo #include <stdio.h> main() /*legge un carattere e ne stampa il valore ASCII se è lettera minuscola; se no termina*/ char c; int i; printf( scrivi un carattere minuscolo (maiuscolo per terminare)\n ); scanf ( %c, &c); while (c>= a && c<= z ) i=c; printf( valore ASCII per %c risulta %d, c, i); printf( scrivi un carattere minuscolo (maiuscolo per terminare)\n ); scanf ( %c, &c); 49 Esercizio L'esecutore deve leggere un numero N indicato da un utente esterno e deve poi calcolare ed infine stampare la somma di tutti i numeri compresi tra 0 e N. Si presti attenzione al fatto che il numero indicato dall'utente può essere positivo, negativo e, al limite, anche uguale a zero. Per esempio, se il numero indicato dall'utente esterno fosse 5, il risultato generato dall'esecutore dovrebbe essere 15 (che corrisponde a ); se fosse invece -7, il risultato dovrebbe essere -28 (che corrisponde a (-1)+(-2)+(-3)+(-4)+(-5)+(-6)+(-7)). 50

26 Esercizio L'esecutore deve leggere una sequenza di numeri naturali (i.e. interi positivi strettamente maggiori di zero) e calcolarne (per poi stamparlo) il minimo. La sequenza si interrompe non appena viene introdotto un numero negativo oppure uguale a zero. Per esempio, data la sequenza 5, 1, 2, 3, 4, - 5, il risultato dovrebbe essere: Il valore minimo è Esercizio L'esecutore deve leggere una sequenza di numeri naturali (i.e. interi positivi strettamente maggiori di zero) e calcolarne (per poi stamparli) il massimo, il minimo e la media di questa sequenza. La sequenza si interrompe non appena viene introdotto un numero negativo oppure uguale a zero. Per esempio, data la sequenza 5, 1, 2, 3, 4, - 5, il risultato dovrebbe essere: Il massimo è 5, il minimo è 1, la media è 3 52

27 Esercizio L'esecutore deve leggere un numero N indicato da un utente esterno, questo numero indica la lunghezza della sequenza di numeri che vengono poi inseriti dallo stesso utente (per esempio, se un utente vuole inserire 20 numeri, prima indica il numero 20, poi specifica i 20 numeri che compongono la sua sequenza, in questo modo egli introdurrà 21 numeri). Di questi numeri, l'esecutore deve calcolare e poi stampare il massimo, il minimo e la media. Per esempio, data la sequenza 5, 1, 2, 3, 4, -5, il risultato dovrebbe essere: "massimo = 4, minimo = -5, media = 1" 53 Esercizio L'esecutore deve leggere un intero che rappresenta l'anno, e stampare la scritta true se l anno in esame è bisestile la scritta false se l anno non è bisestile. Si ricordi che un anno è bisestile se: è divisibile per 4 ma non per 100 oppure se è divisibile per 400. Per esempio 1900 e 2100 non sono anni bisestili, mentre 1996 e 2000 lo sono. 54

28 Esercizio L'esecutore deve leggere tre numeri interi che rappresentano una data in termini di giorno, mese e anno, e deve stampare il numero di giorni trascorsi dall'inizio dell'anno. Scrivere l algoritmo immaginando che i dati di ingresso siano sempre corretti. 55

7. Strutture di controllo

7. Strutture di controllo Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 7. Ing. Michele Ruta 1 di 17 Indice Istruzioni di selezione Mappate dal costrutto switch Istruzioni cicliche (di iterazione)

Dettagli

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione

Dettagli

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

La formalizzazione dell informazione: Dati e Diagrammi di Flusso La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi

Dettagli

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010 Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione

Dettagli

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili

Dettagli

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I cicli. Iterazioni Calcolo della media Istruzioni break e continue I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

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

Introduzione 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

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

Capitolo 3 L elaborazione e la strutturazione dell informazione

Capitolo 3 L elaborazione e la strutturazione dell informazione Capitolo 3 L elaborazione e la strutturazione dell informazione Problemi e algoritmi Definire il problema Eliminare le ambiguità nella formulazione del problema Individuare il risultato che si vuole ottenere,

Dettagli

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while) Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione

Dettagli

Parte Seconda: Fondamenti di informatica

Parte Seconda: Fondamenti di informatica Parte Seconda: Trattamento dell informazione Fondamenti di informatica Gestione dell informazione Calcolatore IN Elaborazione archiviazione comunicazione OUT acquisizione dati dati elaborati e soluzioni

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Istruzioni di controllo

Istruzioni di controllo Istruzioni di controllo Le istruzioni in C Assegnazione Sequenza I/O Test Cicli Controllo = che cosa è la prossima cosa da fare La prossima cosa da fare è quella che segue La prossima cosa da fare dipende

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Strutture di controllo 1 Indice 1 Strutture di controllo...3 1.1 Multiplo...3 1.2 Massimo Comun Divisore...3 1.3 Valutazione triangolo...4 1.4 Calcolatrice...5

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (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

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti 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

Dettagli

ITI M. FARADAY. Programmazione a. s

ITI M. FARADAY. Programmazione a. s ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:

Dettagli

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

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol. Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai

Dettagli

Esercizi. Filtraggio

Esercizi. 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)

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE

Dettagli

ISTRUZIONI ISTRUZIONI SEMPLICI

ISTRUZIONI ISTRUZIONI SEMPLICI ISTRUZIONI istruzioni azioni modifica permanente dello stato interno strutture di controllo ::= ::= ::=

Dettagli

Caratteristiche di un calcolatore elettronico

Caratteristiche di un calcolatore elettronico Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

CAPITOLO 3 - ALGORITMI E CODIFICA

CAPITOLO 3 - ALGORITMI E CODIFICA FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 6 7 novembre 2007 Correzione di un programma Un programma può contenere errori sintattici e/o errori logici. Gli errori sintattici vengono

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Esercitazione 3. Espressioni booleane I comandi if-else e while

Esercitazione 3. Espressioni booleane I comandi if-else e while Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Ingegneria Meccanica Esercitazione 3, 23 ottobre 2007 versione 3 novembre 2007 Limiti per tipi int #include rende visibili le costanti simboliche SHRT_MIN, SHRT_MAX,

Dettagli

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi. Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi ugo.rinaldi@gmail.com 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Strutture di Controllo Iterative: Istruzioni While e Do

Strutture di Controllo Iterative: Istruzioni While e Do Linguaggio C Strutture di Controllo Iterative: Istruzioni While e Do 1 Istruzioni iterative! Anche dette cicli! Prevedono l esecuzione ripetitiva di altre istruzioni (corpo del ciclo)! Ad ogni iterazione

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Informatica 2 modulo C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Struttura di un. Struttura dei programmi C

Struttura di un. Struttura dei programmi C Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI 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

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di

Dettagli

Esercitazione 2. Espressioni booleane Il comando if-else

Esercitazione 2. Espressioni booleane Il comando if-else Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in

Dettagli

Capitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii)

Capitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii) Capitolo 3 Elaborazione e Strutturazione dell Informazione (Introduzione ai Sistemi Informatici Sciuto et alii) Il calcolatore come strumento per gestire informazione acquisire dati IN elaborare archiviare

Dettagli

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& & Programmazione+1+ + Mario&Pavone& & Dipar/mento+di+Matema/ca+ed+Informa/ca+ Università+degli+Studi+di+Catania+ mpavone@dmi.unict.it+ hap://www.dmi.unict.it/mpavone/+ Definizioni Algoritmo: una sequenza

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare

Dettagli

C espressioni condizionali

C espressioni condizionali C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera

Dettagli

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.

ISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse. ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

Dettagli

IL COSTRUTTO ITERAZIONE

IL COSTRUTTO ITERAZIONE IL COSTRUTTO ITERAZIONE Il costrutto iterazione Consente di ripetere una operazione elementare o un blocco di operazioni. Tipologie di iterazione Iterazione definita Iterazione condizionata Tipologie di

Dettagli

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ; ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di

Dettagli

Dichiarazione di variabili

Dichiarazione di variabili Dichiarazione di variabili ESEMPIO: somma di due numeri

Dettagli

Esercitazione 4. Comandi iterativi for, while, do-while

Esercitazione 4. Comandi iterativi for, while, do-while Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti

Dettagli

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1

Fondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1 Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma

Dettagli

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Lezione 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

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 11 Marzo 2014 Informazione: dato + significato Che giorno è oggi? 14 Marzo o anche

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Fondamenti di Informatica Effettuare una scelta in un programma Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c",

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative

Dettagli

Primo programma in C

Primo programma in C Primo programma in C Struttura minima di un file C Applicazioni C in modo console Struttura del programma Commenti Direttive #include Definizione di variabili Corpo del main 2 Struttura minima di un file

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Come scrivere bene codice? (1 di 1)

Come scrivere bene codice? (1 di 1) DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

ISTRUZIONI ISTRUZIONI

ISTRUZIONI ISTRUZIONI ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 2: Elementi lessicali, casting e while Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Soluzione agli esercizi

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

Dettagli

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

Introduzione al C. Lez. 1 Elementi. Rossano Venturini Introduzione al C Lez. 1 Elementi Rossano Venturini rossano@di.unipi.it Pagine del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start http://algoritmica.spox.spoj.pl/alglab2013 Lezioni

Dettagli

INFORMATICA. INFORmazione automatica

INFORMATICA. INFORmazione automatica INFORMATICA E' la scienza che si propone di raccogliere, organizzare, elaborare e conservare le informazioni gestendole in modo automatico. Il termine deriva dalla fusione delle parole: INFORmazione automatica

Dettagli

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

Programma 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, 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

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

Dettagli