Modularizzazione del software
|
|
- Rosalinda Abate
- 7 anni fa
- Visualizzazioni
Transcript
1 Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 1 / 24
2 Cosa vedremo in questa lezione 1 Modularizzazione 2 Subroutine e moduli 3 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 2 / 24
3 Modularizzazione Modularizzazione del software La modularizzazione è un esigenza generale dell Ingegneria: Utile a chi usa moduli realizzati da altri Utile a chi progetta moduli per farli usare da altri Un modulo è una scatola nera. Per utilizzarlo: Basta conoscere cosa fa Non serve conoscere come lo fa Data hiding In questo corso IMPARIAMO A PROGETTARE semplici moduli software, chiamati sottoprogrammi Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 3 / 24
4 Sottoprogrammi Modularizzazione È ragionevole scrivere un sottoprogramma in almeno due casi: uno stesso compito deve essere ripetuto più volte, in contesti diversi Esempio: visualizzazione di uno screen saver uno stesso compito è parametrico Esempio: calcolo della deviazione standard per un insieme di valori Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 4 / 24
5 Modularizzazione Vantaggi della modularizzazione Semplificazione della verifica della correttezza semantica e nella correzione di errori In generale, è più facile isolare un errore in un programma modularizzato È possibile testare i diversi moduli indipendentemente l uno dall altro Riusabilità del software: Se un modulo è ben progettato, può essere riusato (da parte di noi stessi o di altri) in altri programmi È possibile costruire librerie di moduli riusabili Leggibilità del codice Possibilità di realizzazione di prototipi Semplificazione dell attività di manutenzione Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 5 / 24
6 Modularizzazione Sottoprogrammi e moduli in Fortran 90 In Fortran 90 esistono due tipi di unità di programma: SUBROUTINE FUNCTION Le unità di programma Fortran 90 sono solitamente contenute apposite librerie denominate moduli (MODULE) Contiene una o più unità di programma (SUBROUTINE e/o FUNCTION). Può essere scritto in un file.f90 a sé stante. (tipicamente quando abbiamo intenzione di RIUSARLO). Se è in un file a sé stante: deve essere compilato deve essere collegato con il programma principale Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 6 / 24
7 Modularizzazione Esempio di compilazione e collegamento File sorgenti: MIOMOD.F90 (contiene il MODULE M) PRINC.F90 (contiene il PROGRAM P) Compilazione del file contenente il modulo: C:\MIEIPROG>elf90 MIOMOD.F90 Risultato: file M.LIB e M.MOD A questo punto, non serve più il file MIOMOD.F90 Compilazione del file contenente il programma principale e collegamento: C:\MIEIPROG>elf90 PRINC.F90 Risultato: file PRINC.EXE e altri Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 7 / 24
8 Modularizzazione Situazione tipica in un progetto SW In un progetto software (industriale o accademico), anche di piccole dimensioni, la situazione tipica prevede: Un file sorgente (.F90 ) contenente il PROGRAM (programma principale); vari file sorgente, ognuno contenente un MODULE; ogni MODULE può contenere varie SUBROUTINE e/o FUNCTION; vari file di libreria (.MOD,.LIB,.OBJ ), prodotti durante altri progetti della stessa impresa e/o acquistati da ditte specializzate. Applicazione in grande del meccanismo di scomposizione e raffinamento dei problemi Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 8 / 24
9 Subroutine e moduli Subroutine in Fortran 90 Caratteristiche di una subroutine Unità di programma indipendente Può essere utilizzata all interno di altri programmi Fortran 90 Ammette sia parametri di input che di output Sintassi dichiarazione subroutine: SUBROUTINE nome subroutine ( lista argomenti FITTIZI ) sezione dichiarativa sezione esecutiva RETURN END SUBROUTINE identificatore Per invocare una subroutine è necessario utilizzare l istruzione CALL CALL nome subroutine(lista argomenti) L istruzione RETURN a fine procedura è opzionale; tuttavia alcuni compilatori la richiedono obbligatoriamente Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 9 / 24
10 Subroutine e moduli Moduli Caratteristiche di un modulo Unità di programma che consente di includere subroutine e funzioni al suo interno Consente di attribuire una interfaccia esplicita ai sottoprogrammi Sintassi dichiarazione modulo: MODULE nome modulo CONTAINS dichiarazioni di unità di programma END MODULE nome modulo Per invocare i sottoprogrammi contenuti nel modulo, è necessario importare il modulo attraverso l istruzione USE PROGRAM nome programma USE nome modulo IMPLICIT NONE Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 10 / 24
11 Soluzione di un problema mediante modularizzazione Problema Progettare un programma per la stampa di figure geometriche (programma didattico, ad es. per la scuola materna), in cui l utente può scegliere, mediante un menu: La figura da stampare (quadrato o triangolo) La dimensione della figura Il carattere con cui riempire la figura Di quanto spostare la figura verso destra Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 11 / 24
12 Struttura del programma 1. Programma principale (PROGRAM): si occupa dell interfaccia utente (menu) attiva i sottoprogrammi 2. Modulo (MODULE) si occupa delle stampe vere e proprie contiene i vari sottoprogrammi (SUBROUTINE) Nota: è ragionevole strutturare il programma in due parti perché: è possibile riusare il modulo delle stampe in altri programmi è più semplice migliorare l interfaccia utente (ad es., con finestre) è più semplice trovare gli errori (debugging) tutte le stampe sono in un solo modulo (coesione);... Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 12 / 24
13 Le diverse versioni del programma Vedremo quattro versioni distinte, di complessità crescente. Le versioni sono caratterizzate da un astrazione CRESCENTE del concetto di figura. Ci sarà un livello CRESCENTE di PARAMETRIZZAZIONE delle subroutine di stampa delle figure: Versione 1: NON parametrico, stampa messaggi, non figure; Versione 2: NON parametrico, stampa figure; Versione 3: parametrico rispetto alla sola DIMENSIONE; Versione 4: parametrico anche rispetto allo SPOSTAMENTO e al CARATTERE di riempimento. Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 13 / 24
14 Algoritmo per le versioni 1/2 CICLO stampa un messaggio all utente; leggi un carattere; SE il carattere letto è T oppure t : stampa un triangolo; Q oppure q : stampa un quadrato; F oppure f : stampa un messaggio di saluto; NEGLI ALTRI CASI : stampa un messaggio di avvertimento SE il carattere letto è F oppure f ALLORA esci dal ciclo FINE CICLO Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 14 / 24
15 Stampa delle figure: versione 1 8 MODULE modulo stampe 1 9! Questo modulo c o n t i e n e l a d e f i n i z i o n e d i p r o c e d u r e p e r l a stampa 10! d i f i g u r e e m e s s a g g i 11 CONTAINS 12! DEFINIZIONE d e l l a SUBROUTINE stampa triangolo ( ) 13 SUBROUTINE s t a m p a t r i a n g o l o ( ) 14 WRITE (, ) QUESTO E UN TRIANGOLO 15 RETURN 16 END SUBROUTINE s t a m p a t r i a n g o l o 17 18! DEFINIZIONE d e l l a SUBROUTINE stampa quadrato ( ) 19 SUBROUTINE stampa quadrato ( ) 20 WRITE (, ) QUESTO E UN QUADRATO 21 RETURN 22 END SUBROUTINE s t a m p a q u a d r a t o 23 24! DEFINIZIONE d e l l a SUBROUTINE stampa saluto ( ) 25 SUBROUTINE stampa saluto ( ) 26 WRITE (, ) CIAO : ) 27 RETURN 28 END SUBROUTINE s t a m p a s a l u t o 29 30! DEFINIZIONE d e l l a SUBROUTINE stampa errore ( ) 31 SUBROUTINE s t a m p a e r r o r e ( ) 32 WRITE (, ) COSA? 33 RETURN 34 END SUBROUTINE s t a m p a e r r o r e 35 END MODULE modulo stampe 1 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 15 / 24
16 Stampa delle figure: versione 1 37 PROGRAM s t a m p a f i g u r e 1 38! VERSIONE 1 : 39! E p o s s i b i l e s c e g l i e r e s o l a m e n t e l a forma. 40! Non vengono stampate l e forme, ma solamente un messaggio. 41! SEZIONE DICHIARATIVA 42 USE modulo stampe 1! dichiariamo di v o l e r e usare i l modulo 43 IMPLICIT NONE 44 CHARACTER(1) : : ch! s e r v e p e r i l d i a l o g o con l u t e n t e 45! SEZIONE ESECUTIVA 46 DO 47 WRITE (, ) 48 WRITE (, ) IMMETTI UN CARATTERE A SCELTA FRA I SEGUENTI 49 WRITE (, ) T : stampa un t r i a n g o l o 50 WRITE (, ) Q: stampa un quadrato 51 WRITE (, ) F : per terminare i l programma 52 WRITE (, ) 53 READ (, ) ch 54 SELECT CASE ( ch ) 55 CASE ( T, t ) 56 CALL s t a m p a t r i a n g o l o ( )! CHIAMATA d e l l a SUBROUTINE stampa triangolo ( ) 57 CASE ( Q, q ) 58 CALL stampa quadrato ( )! CHIAMATA d e l l a SUBROUTINE stampa quadrato ( ) 59 CASE ( F, f ) 60 CALL stampa saluto ( )! CHIAMATA d e l l a SUBROUTINE stampa saluto ( ) 61 CASE DEFAULT 62 CALL s t a m p a e r r o r e ( )! CHIAMATA d e l l a SUBROUTINE stampa errore ( ) 63 END SELECT 64 IF ( ch == f.or. ch == F ) EXIT 65 END DO 66 STOP 67 END PROGRAM s t a m p a f i g u r e 1 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 16 / 24
17 Commenti su FIGURE1.F90 Sintassi CHIAMATA (o INVOCAZIONE o ATTIVAZIONE) subroutine USE modulo stampe 1... CALL stampa triangolo() Negli esempi dei file FIGURE1.F90 e FIGURE2.F90, la lista dei parametri di input e di output è vuota. L unità di programma che effettua la chiamata (nell esempio, il PROGRAM stampa figure 1) svolge il ruolo di unità chiamante. L unità di programma oggetto della chiamata (nell esempio, le SUBROUTINE stampa triangolo, SUBROUTINE stampa quadrato,... ) svolge il ruolo di unità chiamata. Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 17 / 24
18 Stampa delle figure: versione 2 8 MODULE modulo stampe 2 9! Questo modulo c o n t i e n e l a d e f i n i z i o n e d i p r o c e d u r e p e r l a stampa 10! d i f i g u r e e m e s s a g g i 11 CONTAINS 12 SUBROUTINE s t a m p a t r i a n g o l o ( ) 13! SEZIONE DICHIARATIVA 14 IMPLICIT NONE 15 INTEGER, PARAMETER : : l u n g h e z z a = 9! lunghezza del l a t o COSTANTE LOCALE 16 INTEGER : : i! i n d i c e d e l c i c l o VARIABILE LOCALE 17 CHARACTER( lunghezza ) : : l i n e a! l i n e a da stampare VARIABILE LOCALE 18 19! SEZIONE ESECUTIVA 20 DO i = 1, lunghezza 21 l i n e a ( i : i ) = 22 END DO DO i = 1, lunghezza 25 l i n e a ( i : i ) = 26 WRITE (, ) l i n e a! l a r i g a e p r o n t a e s i puo stampare 27 END DO RETURN 30 END SUBROUTINE s t a m p a t r i a n g o l o Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 18 / 24
19 Stampa delle figure: versione SUBROUTINE stampa quadrato ( ) 33! SEZIONE DICHIARATIVA 34 IMPLICIT NONE 35 INTEGER, PARAMETER : : l u n g h e z z a = 9! lunghezza del l a t o COSTANTE LOCALE 36 INTEGER : : i! i n d i c e d e l c i c l o VARIABILE LOCALE 37 CHARACTER( lunghezza ) : : l i n e a! l i n e a da stampare VARIABILE LOCALE 38 39! SEZIONE ESECUTIVA 40 DO i = 1, lunghezza 41 l i n e a ( i : i ) = 42 END DO 43 DO i = 1, lunghezza 44 WRITE (, ) l i n e a 45 END DO RETURN 48 END SUBROUTINE s t a m p a q u a d r a t o SUBROUTINE stampa saluto ( ) 51 WRITE (, ) CIAO : ) 52 RETURN 53 END SUBROUTINE s t a m p a s a l u t o SUBROUTINE s t a m p a e r r o r e ( ) 56 WRITE (, ) COSA? 57 RETURN 58 END SUBROUTINE s t a m p a e r r o r e END MODULE modulo stampe 2 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 19 / 24
20 Stampa delle figure: versione 2 62 PROGRAM s t a m p a f i g u r e 2 63! VERSIONE 2 : 64! E p o s s i b i l e s c e g l i e r e s o l a m e n t e l a forma. 65! SEZIONE DICHIARATIVA 66 USE modulo stampe 2 67 IMPLICIT NONE 68 CHARACTER(1) : : ch! s e r v e p e r i l d i a l o g o con l u t e n t e 69! SEZIONE ESECUTIVA 70 DO 71 WRITE (, ) 72 WRITE (, ) IMMETTI UN CARATTERE A SCELTA FRA I SEGUENTI 73 WRITE (, ) T : stampa un t r i a n g o l o 74 WRITE (, ) Q: stampa un quadrato 75 WRITE (, ) F : per terminare i l programma 76 WRITE (, ) 77 READ (, ) ch 78 SELECT CASE ( ch ) 79 CASE ( T, t ) 80 CALL s t a m p a t r i a n g o l o ( ) 81 CASE ( Q, q ) 82 CALL stampa quadrato ( ) 83 CASE ( F, f ) 84 CALL stampa saluto ( ) 85 CASE DEFAULT 86 CALL s t a m p a e r r o r e ( ) 87 END SELECT 88 IF ( ch == f.or. ch == F ) EXIT 89 END DO 90 STOP 91 END PROGRAM s t a m p a f i g u r e 2 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 20 / 24
21 Commenti su FIGURE2.F90 Ogni unità di programma può avere una sezione dichiarativa Valgono le stesse regole della sezione dichiarativa di PROGRAM (ad esempio, è possibile dichiarare sia costanti sia variabili). Le costanti/variabili dichiarate in un unità di programma S si chiamano LOCALI ad S Non sono visibili all esterno di S (concetto di scatola nera ). Analogamente, le costanti/variabili dichiarate nel PROGRAM non sono visibili all esterno del PROGRAM stesso. Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 21 / 24
22 Regole di visibilità in Fortran 90 Regola 1 (già vista) Un identificatore si può definire solamente una volta in un unità di programma (SUBROUTINE, FUNCTION o PROGRAM) Regola 2 Le costanti/variabili dichiarate in un unità di programma (SUBROUTINE, FUNCTION o PROGRAM) S non possono essere usate (non sono visibili ) all esterno di S Di conseguenza: Possiamo dichiarare costanti e/o variabili con lo stesso nome in vari sottoprogrammi (file VISIBIL.F90) Una SUBROUTINE o FUNCTION è veramente una scatola nera. Ad esempio, possiamo usare una SUBROUTINE stampa triangolo scritta da un altro senza preoccuparci di conflitti sui nomi Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 22 / 24
23 Visibilità delle costanti/variabili: esempio 1! F i l e : v i s i b i l. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 1 c a d o l i 3! Scopo : i l l u s t r a z i o n e r e g o l e d i v i s i b i l i t a i n F o r t r a n MODULE mio modulo 6 CONTAINS 7 SUBROUTINE sub1 ( ) 8! SEZIONE DICHIARATIVA 9 IMPLICIT NONE 10 INTEGER : : i = 1, j sub1 = 10 11! SEZIONE ESECUTIVA 12 WRITE (, ) i, j sub1 13! WRITE (, ) j m a i n > ERRORE SINTATTICO : j m a i n non e v i s i b i l e 14 RETURN 15 END SUBROUTINE sub SUBROUTINE sub2 ( ) 18! SEZIONE DICHIARATIVA 19 IMPLICIT NONE 20 INTEGER : : i = 2 21! SEZIONE ESECUTIVA 22 WRITE (, ) i 23 RETURN 24 END SUBROUTINE sub2 25 END MODULE mio modulo Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 23 / 24
24 Visibilità delle costanti/variabili: esempio 27 PROGRAM main 28! SEZIONE DICHIARATIVA 29 USE mio modulo 30 IMPLICIT NONE 31 INTEGER : : i = 3, j main = 30 32! SEZIONE ESECUTIVA 33 WRITE (, ) i, j main! stampa 3, 30 34! WRITE (, ) j s u b 1 > ERRORE SINTATTICO : j s u b 1 non e v i s i b i l e 35 CALL sub1 ( )! stampa 1, CALL sub2 ( )! stampa 2 37 STOP 38 END PROGRAM main Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica 24 / 24
Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliIntroduzione al linguaggio Fortran 90
Introduzione al linguaggio Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliLinguaggio C: le funzioni. Introduzione e sintassi
ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliCenni sul preprocessore e il suo utilizzo
Alessio Bechini - Corso di - Cenni sul preprocessore e il suo utilizzo Il preprocessore: cenni Il preprocessore Storicamente, i compilatori C operavano con passaggi multipli. Il primo passaggio eseguiva
DettagliOperazioni di input e output in Fortran 90
Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica
DettagliUML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliVariabili. Unità 2. 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
DettagliFortran in pillole : prima parte
Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato
DettagliIntroduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C
Introduzione 2 Introduzione al C Linguaggio di programmazione ad alto livello (HLL) Sviluppato negli anni 70 (C standard ANSI) Molto diffuso e adatto ad un ampio spettro di applicazioni: Scientifiche Gestionali
DettagliPROMEMORIA: Come creare, compilare ed eseguire programmi in Fortran 95
Corso di Laurea in Matematica - Laboratorio di Programmazione gr.2 a.a. 2014/15 SECONDA esercitazione in laboratorio --- Creazione e modifica di files ASCII per mezzo del programma gedit. --- Uso del compilatore
DettagliSTRUTTURA DI UN PROGRAMMA
STRUTTURA DI UN PROGRAMMA File prova1.c #include ... int m; int f(int); int g(int x){ Area globale Direttive Dichiarazioni globali e prototipi di funzioni Definizioni di funzioni.../*ambiente
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/05/08 Nota Questi lucidi sono tratti
DettagliLinguaggio C Debugging
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni (vedere nota
DettagliII Esercitazione: S.O. & Fortran 77
II Esercitazione: S.O. & Fortran 77 Francesco Battista Corso di Calcolo Numerico 1 DIMA, Sapienza University of Rome, Italy February 9, 2014 Argomenti trattati 1 Brevi cenni sulle architetture informatiche
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliElementi di informatica
Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",
DettagliIntroduzione a Visual Basic Lezione 2 Cicli e anomalie
a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto
DettagliDefinizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
DettagliCorso di Linguaggi di Programmazione + Laboratorio
Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima
DettagliLinguaggio C Struttura dei programmi
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Struttura dei programmi 2001 Pier Luca Montessoro - Davide
DettagliOperazioni di Input/Output
Operazioni di Input/Output Il FORTRAN90 è dotato di un'ampia varietà di istruzioni di I/O. Tra queste: -READ -WRITE -REWIND - BACKSPACE -OPEN -CLOSE Altrettanto vario è il numero di istruzioni per formattare
DettagliMetodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliProgramma 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
DettagliArgomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili
Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto
DettagliFunzioni. Corso di Fondamenti di Informatica. Laurea in Ingegneria Industriale
Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Industriale Funzioni Per definire un programma complesso è necessario affrontarlo dividendolo in parti separate (dividi ed impera): modularizzazioni.
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliGestione delle eccezioni in Java
Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliLab 01 Introduzione a Codelite
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2011/2012 Lab 01 Introduzione a Codelite Lab01
DettagliArgomenti Corso SAP Online ABAP Completo
Argomenti Corso SAP Online ABAP Completo Lezione 1 Navigazione e visualizzazione tabelle o Database SAP in ambienti Oracle e SQL Server: Navigazione e visualizzazione delle tabelle SE16; Utilizzo del match-code;
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliClassi di memorizzazione
Classi di memorizzazione 1 Classi di memorizzazione Definiscono le regole di visibilità delle variabili e delle funzioni quando il programma è diviso su più file Stabiliscono dove (in quale parte dello
DettagliVISUAL BASIC FOR APPLICATION
VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia
DettagliLaboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013
Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Damiano Macedonio Giochi d Azzardo Note Iniziali Per generare un numero casuale basta includere la libreria stdlib.h e utilizzare
DettagliPercorso Formativo SAP Online ABAP/4 Completo
Introduzione ad ABAP/4 Programma report Programma interattivo Tabelle SAP Smartforms SAP Query Percorso Formativo SAP Online ABAP/4 Completo Navigazione e visualizzazione tabelle Navigazione e visualizzazione
DettagliArgomenti Corso SAP Online ABAP/4 Completo
Argomenti Corso SAP Online ABAP/4 Completo Finalità: acquisire le competenze tecniche per programmare in ABAP/4 attraverso i Module Pool, le Smartform, i Job, l esecuzione del debug di sistema, ecc. Destinatari:
DettagliCorso sul linguaggio C Modulo Tipi di dato
Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliFortran per Ingegneri
Fortran per Ingegneri Lezione 4 A.A. 2014/2015 Marco Redolfi marco.redolfi@unitn.it Simone Zen simone.zen@unitn.it Formati e Formattazione Finora abbiamo letto valori da tastiera e scritto sullo schermo
DettagliAlgoritmi 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 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliTempo di vita e scope delle variabili
Tempo di vita e scope delle variabili Richiami sulla struttura di un programma C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume tutto in un unico file):
DettagliEsercizi Programmazione I
Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliMetodologie di Programmazione. ovvero, Principi e Tecniche per la costruzione di programmi
Metodologie di Programmazione ovvero, Principi e Tecniche per la costruzione di programmi 1 In questo corso Sviluppo in piccolo: Tempi: mesi/uomo v.s. anni/uomo Strumenti: personal v.s. professional Programmazione
DettagliISTITUTO SUPERIORE ENRICO FERMI. PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s.
ISTITUTO SUPERIORE ENRICO FERMI PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s. 2016/2017 ARTICOLAZIONE: INFORMATICA DISCIPLINA: INFORMATICA ORE SETTIMANALI:
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
DettagliEsiste però anche un ambiente globale: quello dove tutte le funzioni sono definite. Qui si possono anche definire variabili, dette variabili globali
AMBIENTE LOCALE E GLOBALE In C, ogni funzione ha il suo ambiente locale che comprende i parametri e le variabili definite localmente alla funzione Esiste però anche un ambiente globale: quello dove tutte
DettagliInformatica! Appunti dal laboratorio 1!
Informatica Appunti dal laboratorio 1 Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti
DettagliDOCUMENTAZIONE A SUPPORTO DELLA PREPARAZIONE PER LA PROVA SCRITTA
SECONDA UNIVERSITA DEGLI STUDI DI NAPOLI CORSI DI LAUREA IN INGEGNERIA AEROSPAZIALE E MECCANICA ELEMENTI DI PROGRAMMAZIONE a.a. 2009/10 Prof Andrea Prevete andrea@prevete.it DOCUMENTAZIONE A SUPPORTO DELLA
DettagliLezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22
Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
DettagliIstruzioni di ripetizione in Java 1
in Java Corso di laurea in Informatica Le istruzioni di ripetizione consentono di eseguire molte volte la stessa Si chiamano anche cicli Come le istruzioni condizionali, i cicli sono controllati da espressioni
DettagliAPPUNTI DEL CORSO DI LABORATORIO DI CALCOLO AVANZATO
APPUNTI DEL CORSO DI LABORATORIO DI CALCOLO AVANZATO Concetti fondamentali di FORTRAN 90 MARCO LIMONGI Istituto Nazionale di Astrofisica Osservatorio Astronomico di Roma 1. CONCETTI FONDAMENTALI DI FORTRAN
DettagliProgrammazione di INFORMATICA e Laboratorio
ISIUO ECNICO SAALE settore ECNOLOGICO ad indirizzo: Elettronica ed Elettrotecnica - Informatica e elecomunicazioni Meccanica, Meccatronica ed Energia "VIORIO EMANUELE III" Via Duca della Verdura, 48-90143
DettagliLaboratorio di Python (con Linux)
8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni
DettagliFasi di un Compilatore
Dipartimento di Matematica e Informatica Università di Camerino Un implementazione compilativa di un linguaggio di programmazione viene realizzata tramite un programma che prende il nome di compilatore
DettagliInformatica Generale 06 - Introduzione ai Sistemi Operativi
Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliEsercitazioni di Informatica 3
Esercitazioni di Informatica 3 Part I: Programming Languages Syntax and semantics Laurea in Ingegneria Informatica Politecnico di Milano Polo di Milano Leonardo Esercizio 1: EBNF Utilizzando il linguaggio
DettagliIl C nel C++: Funzioni
Il C nel C++: Funzioni Funzioni (1) il concetto -> spezzare il programma in parti (procedure) una funzione è un parte di programma dotata di un nome che può essere richiamata in altri punti del programma
DettagliCORSO DI ELEMENTI DI INFORMATICA
CORSO DI ELEMENTI DI INFORMATICA Corso di Laurea Triennale in Ingegneria Gestionale della Logistica e della Produzione Area didattica Ingegneria Elettrica a.a. 2016/2017 Docente: Ing. Domenico Amalfitano
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. 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
DettagliStrutturare il codice: sottoprogrammi
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Motivazioni Alcuni problemi si presentano frequentemente durante lo sviluppo di un programma
DettagliIL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi
IL VHDL Cosa è il VHDL? NON è un linguaggio di programmazione! E' uno standard IEEE per la descrizione dell'hardware VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuit
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
DettagliProgrammazione 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
DettagliCorso di Fondamenti di Informatica prova del 04/07/2008
UNIVERSITÀ DEGLI STUDI DI PERUGIA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA MECCANICA. Corso di Fondamenti di Informatica prova del 04/07/2008 Esercizio 1 (17 punti) Il file di nome inp.dat contiene
Dettagliperror: individuare l errore quando una system call restituisce -1
perror: individuare l errore quando una system call restituisce -1 Quando una system call (o una funzione di libreria) non va a buon fine, restituisce come valore -1 Come si fa a sapere più precisamente
DettagliI vettori in C. Vettori. Definizione di vettori in C. int dato[10] ; int. Numero di elementi. Tipo di dato base. Nome del vettore.
I vettori in C Sintassi della definizione Definizione di costanti Operazioni di accesso Vettori Definizione di vettori in C I vettori in C Definizione di vettori in C Definizione di vettori in C Stesse
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliPASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.
PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
DettagliPOWER POINT 2003. Uso del programma, sue applicazioni e strumenti di lavoro.
Anno accademico 2010-2011 Corso di INFORMATICA Docente del corso: Prof. V. De Feo Argomento di approfondimento: POWER POINT 2003 Uso del programma, sue applicazioni e strumenti di lavoro. Gruppo di lavoro:
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
DettagliMobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica
Corso di laurea in Informatica Mobile Prof. De Prisco Prova scritta del 22/01/2016 NOME: COGNOME: MATRICOLA: Domande Punti 1 /10 2 /10 3 /10 4 /10 5 /10 6 /10 7 /10 8 /10 9 /10 10 /10 TOTALE /100 Quesito
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VIII Tatiana Zolo tatiana.zolo@libero.it 1 PROGRAMMAZIONE A OGGETTI Quando si programma a oggetti si scompone il problema in sottogruppi di parti collegate che tengono
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
DettagliESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione
DettagliStringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
DettagliErrori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
DettagliIL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
DettagliIndividuazione di sottoproblemi
Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che
Dettagli