Programmazione modulare

Размер: px
Начинать показ со страницы:

Download "Programmazione modulare"

Транскрипт

1 Programmiamo in..

2 Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere

3 Definizione di funzione Gruppo di istruzioni Un insieme di istruzioni che risolvono un sottoproblema Rigo iniziale della funzione { Istruzioni Della funzione In C una funzione ha: un rigo di presentazione le istruzioni racchiuse tra una coppia di parentesi graffe }

4 Come inizia una funzione Il rigo di presentazione iniziale nome ( )? nome? Cosa restituisce? Di cosa ha bisogno?

5 Funzioni che non scambiano informazioni void nome ( void ) nome void void Cosa restituisce? niente Di cosa ha bisogno? di niente

6 Funzioni che restituiscono un numero intero int nome ( void ) nome void int Cosa restituisce? Un numero intero Di cosa ha bisogno? di niente

7 Il main la funzione principale La esecuzione del programma comincia dal main Un main educato restituisce 0 al sistema operativo (OK) Non ha bisogno di ricevere informazioni dal sistema operativo void int main (void) main int OK

8 Il main Le istruzioni di una funzione sono racchiuse tra parentesi graffe e terminano con il punto e virgola int main (void) { }.. ;.. ; return 0 ; Ultima istruzione return torna a chi ti ha chiamato restituisce il controllo al sistema operativo passandogli il numero zero che significa tutto OK

9 Il programma DEV C++ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // Le nostre istruzioni vanno messe qui sotto } system("pause"); return EXIT_SUCCESS;

10 Il sistema operativo non ci passa informazioni #include <cstdlib> #include <iostream> using namespace std; int main(void) { // Le nostre istruzioni vanno messe qui sotto system("pause"); return EXIT_SUCCESS; }

11 Le costanti predefinite EXIT_SUCCESS Espressione scritta in lettere maiuscole Ogni volta che incontra EXIT_SUCCESS il traduttore lo sostituisce con il valore 0 return 0; return EXIT_SUCCESS; Sono la stessa istruzione Uso la costante EXIT_SUCCESS al posto di 0

12 Applicazione console Il programma viene eseguito in una finestra DOS stdlib Quando il programma restituisce il controllo al sistema operativo (return), la finestra viene chiusa Per impedirlo prima di terminare richiediamo una pausa Il sistema operativo attenderà la pressione di un tasto system ( Pause );

13 Il main Ecco le due ultime istruzioni del main int main (void) { }.. ;.. ; system( Pause ) return 0 ; La funzione system è chiamata con la informazione Pause system Pause void

14 I caratteri e le stringhe in C I caratteri vanno racchiusi tra apici a g 3 Le parole (insieme di caratteri) vanno racchiuse tra doppi apici Pause Ciao Buongiorno Gli insiemi di caratteri si chiamano stringhe

15 Dove sta la funzione system? Nelle Librerie del C++ Un enorme insieme di funzioni divise per categorie che si possono inserire nel nostro programma

16 Le librerie del C La funzione system è a disposizione del programmatore nella libreria del C cstdlib ( c standard library) Si richiede al sistema operativo di intervenire (ma per fare cosa?) L informazione (stringa) passata tra parentesi alla funzione system ( Pause ); glielo spiega

17 Inserimento di una libreria Per adoperare una funzione di libreria bisogna includere la libreria nel nostro programma La libreria stdlib sta su disco nel file cstdlib.h Il rigo #include <cstdlib.h> fa parte delle dichiarazioni iniziali del nostro programma

18 Le librerie sempre necessarie Le librerie da includere sempre sono 2 cstdlib iostream #include <cstdlib.h> #include <iostream.h> Sono i righi iniziali dei programmi C++

19 L area del rettangolo #include <cstdlib> #include <iostream> using namespace std; float B ; float H ; float A ; int main ( void) { } cin >> B ; cin >> H ; A = B*H ; cout << A ; system ( Pause ); return 0; Includendo la libreria iostream.h il traduttore quando incontra cin e cout saprà dove prendere le istruzioni che corrispondono a queste due parole chiave

20 Difetti #include <cstdlib> #include <iostream> using namespace std; float B ; float H ; float A ; int main ( void) { } cin >> B ; cin >> H ; A = B*H ; cout << A ; system ( Pause ); return 0; Il dialogo con l utente è poco chiaro Bisogna Inserire messaggi all inizio prima della richiesta dei dati prima della comparsa di un risultato

21 I messaggi sul video Sintassi: cout << Messaggio ; Il messaggio va racchiuso tra doppi apici

22 I Messaggi per area del rettangolo Iniziale cout << Programma per il calcolo dell area del rettangolo ; Prima di ogni richiesta dati cout << Inserire il valore della base in metri ; cin >> B; Prima della visualizzazione di un risultato cout << L area misura metri quadrati ; cout << A;

23 Attenzione agli spazi bianchi Se le scritte risultano appiccicate Inseriamo uno spazio bianco al termine del messaggio precedente cout << L area vale (metri quadrati) ; cout << A;

24 Come si va a capo Fine linea Nuova linea cout << endl; cout << \n ; cout << L area vale ; cout << A; cout << metri quadrati ; cout << endl;

25 I messaggi tutti su un rigo cout << L area = << A << metri quadrati << endl; Significa scrivi Il messaggio L area = E poi scrivi il contenuto della variabile A E poi scrivi metri quadrati E poi scrivi endl (vai a capo)

26 L area del rettangolo #include <cstdlib> #include <iostream> using namespace std; float B ; float H ; float A ; int main ( void) { cout << Area del rettangolo ; cout << Valore base in metri ; cin >> B ; cout << Valore altezza in metri ; cin >> H ; A = B*H ; cout << L area = << A << mqi << endl; system ( Pause ); return 0; }

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Подробнее

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Подробнее

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Подробнее

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Подробнее

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012 Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Pagina 1 di 8 Dev-C++ - Installazione Con sistema operativo Windows, potete

Подробнее

Le funzioni, e le istruzioni di input/output

Le funzioni, e le istruzioni di input/output Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali

Подробнее

Introduzione alla programmazione. Alice Pavarani

Introduzione alla programmazione. Alice Pavarani Introduzione alla programmazione Alice Pavarani Il linguaggio C Creato da Dennis Ritchie nel 1972 presso i Bell Laboratories Linguaggio di programmazione procedurale, strutturato Linguaggio ad alto livello

Подробнее

Nota: Si consideri il valore di pi greco.

Nota: Si consideri il valore di pi greco. ESERCIZIO 1 (Costrutti condizionali + Casting delle variabili) Realizzare un programma che, dato in ingresso un angolo specificato in gradi come un numero intero, fornisca la relativa conversione in radianti.

Подробнее

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma #include main() { printf("ciao Mondo!"); } Il file deve essere salvato con estensione.c Il primo programma in C++ #include using

Подробнее

Introduzione al C++ Corso di C++ INFN LNS 13 Dicembre Corrado Santoro

Introduzione al C++ Corso di C++ INFN LNS 13 Dicembre Corrado Santoro Introduzione al C++ Corso di C++ INFN LNS 13 Dicembre 2010 Corrado Santoro Concetto di Oggetto Proposto del 1966 nell'ambito dell'ai per rappresentare l' universo del discorso (ambiente di riferimento

Подробнее

Classe Squadra. #include <iostream> using namespace std;

Classe Squadra. #include <iostream> using namespace std; Classe Squadra Si vuole scrivere un programma che gestisce la classifica di un campionato tra squadre di calcio, ognuna identificata dal proprio nome. Il programma deve essere in grado di assegnare un

Подробнее

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Подробнее

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/dev/index.html Oppure dal sito: http://web.tiscali.it/no-redirect-tiscali/adinfo/devcpp4970- gcc295.exe Informatica 1 1 Requisiti

Подробнее

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione C++ stream Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione stream o l input/output del C++ è basato sugli stream o gli stream sono

Подробнее

Algoritmo di ordinamento per sostituzione. Esempio : dato l array :

Algoritmo di ordinamento per sostituzione. Esempio : dato l array : Algoritmo di ordinamento per sostituzione Per ottenere un ordinamento crescente con l algoritmo di ordinamento per Sostituzione si confronta l elemento nella prima posizione con gli elementi nelle posizioni

Подробнее

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

Unità 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

Подробнее

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Подробнее

Linguaggio C: introduzione

Linguaggio 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

Подробнее

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo

Подробнее

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Подробнее

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Подробнее

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il

Подробнее

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Подробнее

#include <iostream.h> #include <stdlib.h> int main(){ return 0;

#include <iostream.h> #include <stdlib.h> int main(){ return 0; L'ambiente DevC++ e la struttura di un programma C++ Il C++ è stato sviluppato da Bjarne Stroustrup negli anni '80 (Bell Laboratories) ed è senza dubbio il linguaggio di programmazione ad alto livello

Подробнее

Tipi di dato e istruzioni elementari in C++

Tipi di dato e istruzioni elementari in C++ Tipi di dato e istruzioni elementari in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli

Подробнее

2 Operatori matematici e costrutto if

2 Operatori matematici e costrutto if Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni

Подробнее

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++ Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Подробнее

CL 3 - Es_01.cpp. #include <iostream> using namespace std;

CL 3 - Es_01.cpp. #include <iostream> using namespace std; Problema: Individua gli errori, sintattici, lessicali e logici, presenti nel seguente programma affinché risolva il problema: "Visualizzare il prodotto di due valori interi inseriti da tastiera ". (Riscrivere

Подробнее

Qualsiasi programma in C++ segue lo schema:

Qualsiasi programma in C++ segue lo schema: Qualsiasi programma in C++ segue lo schema: #include // libreria che gestisce flusso di input e output using namespace std; // uso di librerie standard del C++ int main() { // dichiarazioni

Подробнее

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Подробнее

Informatica! Appunti dal laboratorio 1!

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

Подробнее

Corso di Fondamenti di Informatica Sottoprogrammi

Corso di Fondamenti di Informatica Sottoprogrammi Corso di Fondamenti di Informatica Sottoprogrammi Anno Accademico Francesco Tortorella Nuove operazioni? In qualunque linguaggio di programmazione il tipo di dati non specifica solo l insieme dei valori

Подробнее

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Подробнее

Laboratorio di Informatica

Laboratorio di Informatica Strutture di dati Laboratorio di Informatica 5. Strutture / Array di oggetti / Pila&Coda in C++ Una struttura è un insieme finito di variabili (dette campi) non necessariamente dello stesso tipo, ognuna

Подробнее

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 10 Novembre 2011 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice

Подробнее

Algoritmo di ordinamento per scambio (a bolle o bubble sort)

Algoritmo di ordinamento per scambio (a bolle o bubble sort) Algoritmo di ordinamento per scambio (a bolle o bubble sort) Per ottenere un ordinamento crescente con l algoritmo di ordinamento per scambio (bubble sort) si prenno in considerazione i primi due elementi

Подробнее

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

Подробнее

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Ottobre 2013 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice Esercizi

Подробнее

Ricerca binaria (o dicotomica) di un elemento in un vettore

Ricerca binaria (o dicotomica) di un elemento in un vettore Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli

Подробнее

INFORMATICA File di testo in C Roberta Gerboni

INFORMATICA File di testo in C Roberta Gerboni 2018 - Roberta Gerboni File di testo in C++ Il linguaggio C++ mette a disposizione le seguenti classi per operare sui file (è necessario includere nel programma l header ), consentendo tipo di

Подробнее

Lezione 8: Stringhe ed array multidimensionali

Lezione 8: Stringhe ed array multidimensionali Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si

Подробнее

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

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Подробнее

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Подробнее