Fondamenti di Programmazione
|
|
|
- Sebastiano Quarta
- 9 anni fa
- Просмотров:
Транскрипт
1 Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica Parma (Italy) [email protected]
2 Indice 1 Introduzione alla programmazione Dal problema all algoritmo Descrizione di algoritmi I diagrammi di flusso (concetti di base) Istruzioni Esecuzione di un diagramma di flusso Strutture di controllo I linguaggi di programmazione Linguaggi a basso livello e ad alto livello Linguaggi di programmazione esistenti Modalità d esecuzione: compilazione e interpretazione Il linguaggio C Dal C al C Un esempio di programma C Convenzioni di programmazione Ambiente di sviluppo programmi Domande per il Capitolo Elementi di base di un programma Identificatori Variabili Tipi di dato primitivi Il tipo int Il tipo float Il tipo char Il tipo bool Modificatori di tipo Statement di assegnamento Espressioni ed operatori Valutazione di una espressione Tipo di un espressione Espressioni booleane Espressioni condizionali
3 2.6 Ancora sullo statement di assegnamento Altri operatori di assegnamento Costanti con nome Input/output di base Lettura da stream tramite >> Scrittura su stream tramite << Lettura e scrittura di caratteri Domande per il Capitolo Costrutti per il controllo di sequenza Statement composto Statement if Caso base Caso if-else Statement if-else annidati Statement while Statement do-while Statement for Ciclo limitato: caso base Altri utilizzi dello statement for Statement switch Statement break Statement goto e programmazione strutturata Programmazione strutturata Controllo dei dati in input Regole di scope Domande per il Capitolo Strutture dati Tipi strutturati Strutture dati astratte e concrete Array Dichiarazione di array in C Operazione di selezione Operazioni su array Dimensione array Array bidimensionali Array semi-dinamici Matrici Realizzazione tramite array bidimensionali in C Operazioni su matrici Stringhe Realizzazione tramite array Operazioni su stringhe
4 4.6 struct Dichiarazione di struct in C Operazioni su struct Esempi Tabelle Domande per il Capitolo Astrazione procedurale e funzioni Astrazioni Definizione di funzioni Il costrutto di funzione Programma completo con dichiarazione di funzione Esecuzione di una funzione Chiamata di funzione Statement return Un esempio completo Funzioni senza risultato esplicito (procedure) Struttura di un programma e regole di scope Struttura di un programma C Dichiarazioni locali e globali Passaggio parametri Modalità di passaggio parametri Passaggio parametri di tipo array Esempi di funzioni con array Sviluppo di un programma completo: un esempio Metodologie di sviluppo programmi Ordinamento di un vettore Valutazione della complessità computazionale(in PREP.) Funzioni ricorsive Domande per il Capitolo Input/output su file Stream e file Gestione di stream e file in C Input/output a caratteri Lettura di caratteri Scrittura di caratteri Un esempio completo: copia di un file Input/output tipato Domande per il Capitolo Bibliografia 212 3
5 Bibliografia [1] A. V. Aho, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, [2] A. Bertossi. Algoritmi e strutture dati. UTET libreria, [3] M. Cadoli, M. Lenzerini, P. Naggar, and A. Schaerf. Fondamenti della progettazione dei programmi (Principi, tecniche e loro applicazioni in C++). CittàStudiEdizioni, [4] T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduzione agli algoritmi. Jackson, [5] E. W. Dijkstra. Notes on structured programming. Hoare, [6] M. Gabbrielli and S. Martini. Linguaggi di programmazione: Principi e Paradigmi. McGraw-Hill, [7] J. E. Hopcroft, R. Motwani, and J. D. Ullman. Automi, linguaggi e calcolabilità. Addison-Wesley Italia, [8] C. Laneve. La Descrizione Operazionale dei Linguaggi di Programmazione. Franco Angeli, [9] T. W. Pratt and M. V. Zelkowitz. Programming languages: Design and Implementation. Prentice-Hall, [10] H. Rogers. Teoria delle funzioni ricorsive e della calcolabilità effettiva. Tecniche Nuove, [11] A. S. Tannenbaum. Structured Computer Organization. Prentice-Hall, [12] G. Winskel. La semantica formale dei linguaggi di programmazione. UTET libreria, [13] B. W.Kernighan and D.M.Ritchie. The C Programming Language. Aprentice Hall,
6 Elenco delle figure 1.1 Dal problema all algoritmo Diagramma di flusso dell algoritmo di moltiplicazione per somme Esecuzione di 2 3 con l algoritmo di moltiplicazione per somme Esecuzione di 3 0 (caso (i)) e 0 3 (caso (ii)) con l algoritmo di moltiplicazione per somme Algoritmo ottimizzato di moltiplicazione per somme Diagramma di flusso per il calcolo della media di tre numeri interi Schema di un ambiente di programmazione Rappresentazione grafica dell allocazione in memoria di un array monodimensionale Stream di input e di output standard Puntatore al dato corrente Un file di nome dati.txt Apertura in input del file dati Apertura in output del file risultati Lettura da file tramite get Scrittura su file tramite put File risultati.txt modificato Copia di un file
7 Elenco delle tabelle 2.1 Operatori logici Tavole di verità degli operatori logici NOT, AND, OR Precedenza degli operatori in C++ (parziale)
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
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:
Prefazione. Capitolo 1 Sistemi di elaborazione 1
Prefazione XI Capitolo 1 Sistemi di elaborazione 1 1.1 Algoritmo 1 1.2 Esecuzione 3 1.3 Memoria 4 1.4 Calcolo meccanico 5 1.5 Capacità di calcolo 7 1.6 Computer 8 Domande di verifica 11 Esercizi 11 Capitolo
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati A.A. 15/16 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro Contatti Studio: stanza 513, V piano DIB Telefono: 080 544 2297 email: [email protected]
Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C
Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...
Programmazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.
Liceo Scientifico Vinci PROGRAMMA FINALE A.S. 2016/2017 Materia: INFORMATICA Classe 1Q Prof. Dardanelli Francesco PROGRAMMA SVOLTO NELL ANNO SCOLASTICO IL COMPUTER. Hardware e software. Il computer. Il
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...
Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3
Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
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
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
Lezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65
Indice Introduzione 15 1.1 - Un po di storia 15 1.2 - Le vecchie schede 18 1.3 - La filosofia open 23 L hardware 24 2.1 - La scheda Arduino UNO 24 2.1.1 - Avvertenze sull uso della scheda 27 2.2 - Il microcontrollore
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI
Corso di Fondamenti di Informatica e Laboratorio
Corso di Fondamenti di Informatica e Laboratorio Corsi di Laurea Ingegneria Informatica (O-Z) Corsi di Laurea Ingegneria delle Telecomunicazioni - (A-Z) (ordinamento 03) A.A. 2009-2010 Prof. Giuseppe Mangioni
IL TEOREMA DI BOEHM-JACOPINI
IL TEOREMA DI BOEHM-JACOPINI Un qualunque algoritmo può essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o iterazione Le tre strutture sono complete. Un qualunque linguaggio
Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA
Dipartimento di Ingegneria Elettrica, Elettronica e Informatica Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA Docente titolare dell insegnamento: Proff.
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
Introduzione alla programmazione in C++
Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione
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
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
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...
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
FONDAMENTI DI INFORMATICA - canale 1
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-1 anno FONDAMENTI DI INFORMATICA - canale 1 ING-INF/05-9 CFU - Insegnamento
Laboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
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
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
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
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
Funzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio 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
Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Introduzione. Giacomo PISCITELLI
Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori Introduzione Giacomo PISCITELLI Scheduling Orario delle lezioni Lunedi ore 15.50-17.30 aula 10 Giovedi
