Programmazione strutturata
|
|
|
- Susanna Villani
- 6 anni fa
- Просмотров:
Транскрипт
1 Programmazione strutturata Il teorema di Jacopini Bohn afferma che qualunque algoritmo può essere descritto utilizzando esclusivamente tre strutture fondamentali ( dette anche strutture di controllo): La struttura sequenziale La struttura condizionale (o di selezione) La struttura iterativa Un linguaggio di programmazione che permette di utilizzare queste strutture è detto strutturato /10/2001 Informatica per la Fisica II 1
2 La struttura Sequenziale Descrizione Flow Chart pseudocodifica Rappresenta la sequenza di azioni elementari direttamente eseguibili una di seguito all altra Istr 1 Istr 2 Esegui Istr_1 Esegui Istr_2 Es. Linguaggio C A=12; B=14; C=A+B; 15-19/10/2001 Informatica per la Fisica II 2
3 La struttura Condizionale Descrizione Flow Chart pseudocodifica Rappresenta la scelta, in base alla risposta di un Test, tra due esecuzioni poste in alternativa Istr 2 NO Test SI Istr 1 SE Test ALLORA Istr_1 ALTRIMENTI Istr_2 FINE SE Es. Linguaggio C if(test) Istr_1; else Istr_2; 15-19/10/2001 Informatica per la Fisica II 3
4 La struttura Condizionale Descrizione Flow Chart pseudocodifica Rappresenta la scelta, in base alla risposta di un Test, tra due esecuzioni poste in alternativa NO Test SI SE Test ALLORA Blocco A ALTRIMENTI Blocco B FINE SE B A Es. Linguaggio C if(test){ a=1; b=3; } else{ a=2; b=4; } 15-19/10/2001 Informatica per la Fisica II 4
5 La struttura Condizionale Descrizione Flow Chart pseudocodifica Rappresenta la scelta, in base alla risposta di un Test, tra due esecuzioni poste in alternativa NO Test SI SE Test ALLORA FINE SE Blocco A A Es. Linguaggio C if(test){ } a=1; b=3; 15-19/10/2001 Informatica per la Fisica II 5
6 La struttura Iterativa Descrizione Flow Chart pseudocodifica Rappresenta la ripetizione si una o più azioni fino a quando la risposta al test rimane affermativa; quando la risposta è negativa l iterazione termina Test SI NO QUANDO Test ESEGUI Blocco C FINE QUANDO Es. Linguaggio C C while (test){ a=1; b=2; } 15-19/10/2001 Informatica per la Fisica II 6
7 La struttura Iterativa Descrizione Flow Chart pseudocodifica Rappresenta la ripetizione si una o più azioni fino a quando la risposta al test rimane affermativa; quando la risposta è negativa l iterazione termina NO A Test RIPETI ESEGUI Blocco C FINO A QUANDO Test FINE RIPETI do{ Es. Linguaggio C a=1; SI b=2; }while (test); 15-19/10/2001 Informatica per la Fisica II 7
8 Il Linguaggio C Il C e' stato progettato da Dennis Ritchie su UNIX, e discende dal B, ideato nel 1970 da Ken Thompson, e il B a sua volta discende dal BCPL, sviluppato da Martin Richards. Nel 1983 l'istituto Nazionale Americano per gli Standard (ANSI) ha iniziato una standardizzazione del C, terminata nel 1989 con la definizione dell'ansi C, che differisce di poco dal C di K&R (B. W. Kernighan & D. M. Ritchie - Linguaggio C ). In seguito e' stato aggiornato alla programmazione orientata agli oggetti, dando origine al C /10/2001 Informatica per la Fisica II 8
9 Caratteristiche del Linguaggio C Le principali caratteristiche del C sono: linguaggio strutturato; dimensioni ridotte; utilizzo frequente di chiamate a funzioni; programmazione a basso livello facilmente disponibile; implementazione dei puntatori ( puntatori per memoria, vettori, strutture e funzioni); 15-19/10/2001 Informatica per la Fisica II 9
10 Linguaggio C Identificatori (Identifier) Identificatori:tutti gli elementi di un programma C (variabili, funzioni, istruzioni ecc.) sono indicati attraverso degli identificatori cioè delle sequenze di lettere e cifre, in cui al primo posto vi è una lettera. caratteri (nondigit): _ a b c d e f g h i j k l m o p q r s t u v w x y z A B C D E F G H I J K L M O P Q R S T U V W X Y Z numeri (digit): Es. a, abc, somma, differernza,. Identificatori Riservati e Predefiniti; Es. main, printf, scanf, Parole chiave (ca. 30) 15-19/10/2001 Informatica per la Fisica II 10
11 Linguaggio C Parole Chiave (Keywords) Parole chiave dell ANSI C auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while (ANSI X , American National Standard for Information Systems Programming Language C) 15-19/10/2001 Informatica per la Fisica II 11
12 Linguaggio C Il Primo Programma Il Classico primo programma in C e': /* HelloWorld.c :Esempio di programma in C */ #include <stdio.h> void main() { printf( Hello World\n ); } /* Fine del programma */ I commenti vanno sempre inclusi tra /* (inizio commento) e */ (fine commento). Non si puo' inserire un commento in un altro #include = leggi anche nel file stdio.h che contiene le definizione delle funzioni di input/output. Ogni programma C e C++ deve contenere una e una sola funzione main(). Funzione di scrittura sullo Standard Output 15-19/10/2001 Informatica per la Fisica II 12
13 Linguaggio C La compilazione Una volta che il programma HelloWorld è stato scritto con un Text Editor e salvato in un file HelloWorld.c il programma deve essere compilato. Sono disponibili molti compilatri C/C++. In questo corso useremo: Windows 95/98/NT/2000/XP: Linux: Microsoft Visual C++ gcc (GNU Compiler Collection) gcc è stato realizzato dalla Free Software Foundation /10/2001 Informatica per la Fisica II 13
14 Linguaggio C La compilazione in ambiente Linux Per compilare il programma HelloWord.c usare il comando: []$ gcc HelloWorld.c Se il compilatore trova errori (in genere syntax error: errori di battitura, errori di sintassi delle parole chiave o ";" omessi), questi vengono identificati e visualizzati; in caso contrario, viene creato il file eseguibile: a.out Il compilatore non identifica eventuali errori di logica del programma /10/2001 Informatica per la Fisica II 14
15 Linguaggio C La compilazione in ambiente Linux Per far eseguire il programma e' sufficiente scrivere: []$./a.out Il compilatore gcc accetta molte opzioni: Es. []$gcc ohelloworld HelloWorld.c Crea il file eseguibile HelloWorld al posto di a.out; []$./HelloWorld 15-19/10/2001 Informatica per la Fisica II 15
16 Linguaggio C La compilazione in ambiente Linux La compilazione del programma C avviene attraverso le seguenti fasi: un preprocessore che accetta il codice sorgente come input ed e' resposabile della: o rimozione di commenti o interpretazione delle direttive per il preprocessore denotate da "#". Es. #include <math.h> - standard library maths file. #include <stdio.h> - standard library I/O file (Il file con suffisso.h è solitamente chiamato header file) /10/2001 Informatica per la Fisica II 16
17 Linguaggio C La compilazione in ambiente Linux il compilatore C che traduce il codice sorgente ricevuto dal preprocessore in codice assembly. l' assembler che crea il codice oggetto (in UNIX i file con il suffisso.o sono i file in codice oggetto, che corrispondono ai file.obj in Windows. il link editor che combina le funzioni definite in altri file sorgenti o definite in librerie, con la funzione main() per creare il file eseguibile. Infatti molte delle funzioni (ad esempio, funzioni di I/O, di manipolazione di stringhe o matematiche),ma non sono incluse nel C. Il C utilizza delle librerie standard di funzioni per coprire le utilita' mancanti /10/2001 Informatica per la Fisica II 17
18 Linguaggio C - Struttura di un programma C Un Programma c presenta la seguente struttura generale : 1. Comandi per il preprocessore (direttive) 2. La funzione main () 3. Il blocco della funzione main racchiusa tra {} All interno del blocco principale delle funzione main si possono distinguere due parti: main () { Una parte dichiarativa o Variabili o Costanti Una parte esecutiva o Chiamate a funzioni i/o, elaborazione di espressioni etc.. } 15-19/10/2001 Informatica per la Fisica II 18
19 Il Lingiaggio C Variabili e Costanti Variabili: le variabili sono celle di memoria che possono cambiare il loro valore durante l esecuzione del programma. Costanti: celle di memoria il cui contenuto non varia durante l esecuzione del programma Per dichiarare variabili e costanti occorre anche specificare: - quante celle di memoria vanno usate - come verranno chiamate nel programma - il Tipo di dato che conterranno 15-19/10/2001 Informatica per la Fisica II 19
20 Il Lingiaggio C Variabili e Costanti In C le la sintassi usata per dichiarare una variabile è: tipo nome_var; Es: int indice; Per dichiarare una costante si usa la sintassi: const tipo nome_var = valore; Es : const int indice = 1; 15-19/10/2001 Informatica per la Fisica II 20
21 Linguaggio C Tipi di Dati I principali tipi di dati definiti nel linguaggio C sono: Tipo Byte(bit) Sinonimi Min-Max int 2 (16)* short, short int, signed short int 32,768-32,767 unsigned int 2 (16) unsigned short int char 1 (8) signed char unsigned char 1 (8) 0 to 255 long 4 (32) long int, signed long int 2,147,483,648-2,147,483,647 unsigned long 4 (32) unsigned long int 0-4,294,967,295 float 4 (32) 3.4E +/- 38 double 8 (64) 1.7E +/- 308 long double 10 (80) 1.2E +/ * Dipende dal tipo di macchina 15-19/10/2001 Informatica per la Fisica II 21
22 Linguaggio C Esempio: Somma.c /********************************************* PROGRAM: scambio.c DESCRIPTION: programma per lo scambio dei valori tra due numeri INPUT: a,b variabili di tipo intero OUTPUT: a,b AUTHORS: GT DATE: 15/10/2001 Rev.: **********************************************/ #include <stdio.h> main(){ int a,b; int s=0; } scanf( %d %d,&a,&b); s=a; a=b; b=s; printf( a=%d b=%d\n,a,b); 15-19/10/2001 Informatica per la Fisica II 22
23 Linguaggio C- printf() e scanf() Output con printf(): Funzioni di Input e output standard <stdio.h> Definizione : int printf(formato,argomenti); Esempio printf.c 15-19/10/2001 Informatica per la Fisica II 23
24 Linguaggio C Sequenze di Escape Combinazioni di caratteri composte da backslash \ seguita da uno o più caratteri sono dette Escape Sequences. Sono di solito usate per specificare alcune particolari funzioni di terminali e stampanti. Escape Character ASCII Sequence Value \a Alert/bell 7 \b Backspace 8 \f Formfeed 12 \n Newline 10 \r Carriage return 13 \t Horizontal tab 9 \v Vertical tab 11 \" Double quotation 34 \' Single quotation 39 \\ Backslash /10/2001 Informatica per la Fisica II 24
La sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
Elementi 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
Primi 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
Alfabeto ed elementi lessicali del linguaggio C
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - [email protected] s t a t i c s h o r t l e g s ; i n
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
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
PROGRAMMA = ALGORITMO
Corso di Laurea Scienze Prof. San. Tec., Area Tecnico-Assistenziale SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Anno Accademico 2005-2006 Prof. Fausto Passariello Corso Integrato Metodologia della Ricerca
Unità 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
Informatica (A-K) 7. Linguaggio C - 1
Storia del linguaggio C Informatica (A-K) 7. Linguaggio C - 1 Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Linguaggio C 1972, nato come evoluzione
Corso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
Perché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
Introduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
Sommario 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...
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
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
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
Introduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
Il linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
Introduzione al Linguaggio C ed all IDE DEV-C++
Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!
Il linguaggio C Il linguaggio C. Caratteristiche del C. Caratteristiche del C. Linguaggi di Programmazione I. Ferdinando Cicalese
03-10-2003 Il linguaggio C Linguaggio general-purpose Il linguaggio C Creato nel 1972 nei Bell Labs da Dennis Ritchie su PDP11 Usato per il Sistema Operativo Unix da Ken Thompson Negli anni 80 nasce ANSI
Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
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
linguaggio di programmazione e programma
I/O bus CPU memoria elementi di Sistemi Informatici il segnale digitale: conversione analogico-numerica esempi di supporti di memorizzazione dell informazione computer: definizione e struttura (modello
La programmazione in linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
I/O da tastiera + Alessandra Giordani Lunedì 2 maggio
I/O da tastiera + costrutti while e if Alessandra Giordani [email protected] Lunedì 2 maggio 2011 http://disi.unitn.it/~agiordani/ Ripasso funzione printf() Usata per stampare il contenuto di una
