Programmazione in C. Requisiti didattici

Documenti analoghi
Corso di Fondamenti di Informatica e Laboratorio

Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso

ISTITUTO ISTRUZIONE SUPERIORE

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA - canale 1

Programmazione C Massimo Callisto De Donato

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica (lettere A-I) A

Programma preventivo di INFORMATICA

PROGRAMMAZIONE CLASSE 3 A ITEC Anno Scolastico

APPUNTI PER IL CORSO DI ALFABETIZZAZIONE INFORMATICA

Fondamenti di Informatica. Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012

Indice. Prefazione. 3 Oggetti e Java 53

Strutture dati e loro organizzazione. Gabriella Trucco

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

FONDAMENTI DI INFORMATICA

Linee di programmazione

Fondamenti di Informatica

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Fondamenti di Programmazione

IIS Via Silvestri ITIS Volta Programma svolto di Tecnologie Informatiche A.S. 2016/17 Classe 1 B

Introduzione al Calcolo Scientifico

Architettura degli elaboratori

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Fondamenti di Informatica

Fondamenti di Informatica

Dal problema al programma: introduzione al problemsolving. Capitolo 1: Introduzione G. Cabodi, P. Camurati, P. Pasini, D. Patti, D.

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Fondamenti di Informatica

Elena Baralis 2007 Politecnico di Torino 1

ITI M. FARADAY. Programmazione a. s

Elementi di Informatica

Transcript:

Programmazione in C Requisiti didattici Nessun requisito specifico Tutti gli argomenti vengono trattati in maniera completa e incrementale Nozioni elementari di Matematica di base Fisica di base Capacità personali di Analisi Sintesi Ragionamento logico 2 2006 Politecnico di Torino 1

Caratteristiche dei contenuti Corso di tipo Metodologico Progettuale Elevato contenuto ingegneristico 3 Organizzazione e obiettivi Parte A B C Argomenti Teoria e introduzione alla programmazione Programmazione e linguaggio C Linguaggio C e problem solving 4 2006 Politecnico di Torino 2

Notazione e simbologia Tipo di informazione Simbolo Idee e suggerimenti Errori Frequenti Sorgenti C nomefile.c Attenzione 5 Collegamenti con altri corsi Il corso può essere considerato propedeutico per molti argomenti/corsi del settore informatico Programmazione avanzata Linguaggio C Altri linguaggi (C++, Java, C#, etc.) Strutture dati e algoritmi complessi Sistemi operativi Basi di dati Sistemi di calcolo (microprocessori, etc.) Etc. 6 2006 Politecnico di Torino 3

Riferimenti bibliografici (1/2) Parte A Argomenti Teoria e introduzione alla programmazione Testi didattici P. Tosoratti Introduzione all informatica Ambrosiana, 1998, ISBN 88-408-0929-5 G. Cabodi, S. Quer, M. Sonza Reorda Introduzione alla programmazione in linguaggio C Hoepli, 1995, ISBN 88-203-2211-0 7 Riferimenti bibliografici (1/2) Parte A Argomenti Teoria e introduzione alla programmazione Risorse on-line Wikipedia The free encyclopedia http://en.wikipedia.org/wiki/main_page 8 2006 Politecnico di Torino 4

Riferimenti bibliografici (1/2) Parte A Argomenti Teoria e introduzione alla programmazione Risorse on-line Ricerche con parole chiave Binary number, complement, George Boole, Boolean algebra, hardware, software, computer architecture, flow chart, computer program, etc. 9 Riferimenti bibliografici (1/2) Parte A Argomenti Teoria e introduzione alla programmazione Risorse on-line Forniscono riferimenti alle voci principali http://en.wikipedia.org/wiki/binary_number http://en.wikipedia.org/wiki/complement http://en.wikipedia.org/wiki/floating_point http://en.wikipedia.org/wiki/boolean_algebra http://en.wikipedia.org/wiki/computer_architecture http://en.wikipedia.org/wiki/binary_number http://en.wikipedia.org/wiki/flow_chart Etc. 10 2006 Politecnico di Torino 5

Riferimenti bibliografici (2/2) Parte B C Argomenti Programmazione e linguaggio C Linguaggio C e problem solving Manuale di riferimento del linguaggio B. W. Kerninghan, D. M. Ritchie Il linguaggio C Pearson-Prentice Hall, 2004, ISBN 88-7192-200-X 11 Riferimenti bibliografici (2/2) Parte B C Argomenti Programmazione e linguaggio C Linguaggio C e problem solving Testo didattico G. Cabodi, S. Quer, M. Sonza Reorda Introduzione alla programmazione in linguaggio C Hoepli, 1995, ISBN 88-203-2211-0 12 2006 Politecnico di Torino 6

Riferimenti bibliografici (2/2) Parte B C Argomenti Programmazione e linguaggio C Linguaggio C e problem solving Testi didattici aggiuntivi A. Kelley, I. Pohl C Didattica e Programmazione Addison-Wesley, 2004, ISBN 88-7192-219-0 Deitel & Deitel C Corso completo di programmazione Apogeo, 2000, ISBN 88-7303-669-4 13 2006 Politecnico di Torino 7

Docente Docente Stefano Quer Politecnico di Torino Dipartimento di Automatica e Informatica Tel : +39 011 564 7076 Fax : +39 011 564 7099 E-mail : stefano.quer@polito.it URL : http://staff.polito.it/stefano.quer/ 15 1 2 3 4 5 6 Sistemi numerici: numeri senza segno Sistemi numerici: numeri con segno Sistemi numerici: numeri in virgola mobile Algebra di Boole Architettura dell elaboratore Introduzione alla programmazione 16 2006 Politecnico di Torino 8

Descrizione delle unità (1/4) 1 2 3 Sistemi numerici: numeri senza segno Sistemi numerici: numeri con segno Sistemi numerici: numeri in virgola mobile 17 Descrizione delle unità (1/4) 1 2 3 Sistemi numerici: numeri senza segno Sistemi numerici: numeri con segno Sistemi numerici: numeri in virgola mobile b=10 b=2 b=8 b=16 0 1 2 3 4 5 6 7 8 0 1 10 11 100 101 110 111 1000 0 1 2 3 4 5 6 7 10 0 1 2 3 4 5 6 7 8 Sistemi numerici a base fissa Conversioni Operazioni elementari 18 2006 Politecnico di Torino 9

Descrizione delle unità (2/4) 4 Algebra di Boole 19 Descrizione delle unità (2/4) 4 Algebra di Boole Aspetti logici 20 2006 Politecnico di Torino 10

Descrizione delle unità (2/4) 4 Algebra di Boole Aspetti logici i 2 i 1 i 0 f 1 (i 2, i 1, i 0 ) = i 2 i 1 i 0 + i 2 i 1 i 0 f 2 (i 2, i 1, i 0 ) = i 2 i 1 i 0 + i 2 i 1 i 0 f 3 (i 2, i 1, i 0 ) = i 2 i 1 i 0 + i 2 i 1 i 0 x 1 f 1 x n f y 1 f y 2 f f 2 f n y m f 3 21 Descrizione delle unità (3/4) 5 Architettura dell elaboratore 22 2006 Politecnico di Torino 11

Descrizione delle unità (3/4) 5 Architettura dell elaboratore Aspetti architetturali 23 Descrizione delle unità (3/4) 5 Architettura dell elaboratore Aspetti architetturali Memoria #include <stdio.h> ingresso operativa controllo uscita int read () { int d1, d2, r; r = d1 + d2; return (r); } 3E 20 3F 03 C6 10 20 11 76 CPU (Central Process Unit) 24 2006 Politecnico di Torino 12

Descrizione delle unità (4/4) 6 Introduzione alla programmazione 25 Descrizione delle unità (4/4) 6 Introduzione alla programmazione Inizio Scrivo: Introduci n: Leggo: n fat 1 n > 1? vera fat fat n falsa n n 1 Scrivo: fat Fine 26 2006 Politecnico di Torino 13

Descrizione delle unità (4/4) 6 Introduzione alla programmazione Inizio Scrivo: Introduci n: Leggo: n fat 1 n > 1? vera fat fat n falsa n n 1 Scrivo: fat Fine 27 Materiale di supporto Esercizi risolti Esercizi proposti Test a risposta multipla di autovalutazione 28 2006 Politecnico di Torino 14

Docente Docente Fulvio Corno Politecnico di Torino Dipartimento di Automatica e Informatica Tel : +39 011 564 7053 Fax : +39 011 564 7099 E-mail : fulvio.corno@polito.it URL : http://elite.polito.it/corno/ 30 2006 Politecnico di Torino 15

7 8 9 10 11 12 13 14 Primo programma in C Scelte ed alternative Cicli ed iterazioni Vettori Caratteri e stringhe Matrici Vettori di stringhe Funzioni I/O avanzato e File 31 Descrizione delle unità (1/3) 7 8 9 Primo programma in C Scelte ed alternative Cicli ed iterazioni Ambiente di sviluppo Istruzioni e costrutti fondamentali del linguaggio C 32 2006 Politecnico di Torino 16

Descrizione delle unità (2/3) 10 11 12 Vettori Caratteri e stringhe Matrici Vettori di stringhe Tipi di dato strutturati Dati testuali Strutture dati multidimensionali 33 Descrizione delle unità (3/3) 13 14 Funzioni I/O avanzato e File Programmi di dimensioni maggiori Accesso a file Interazione con il sistema operativo 34 2006 Politecnico di Torino 17

Materiale di supporto Sorgenti di tutti gli esempi presentati nei lucidi Esercizi risolti Esercizi proposti Schede sintetiche degli argomenti principali 35 2006 Politecnico di Torino 18

Docente Docente Gianpiero Cabodi Politecnico di Torino Dipartimento di Automatica e Informatica Tel : +39 011 564 7082 Fax : +39 011 564 7099 E-mail : gianpiero.cabodi@polito.it URL : http://fmgroup.polito.it/cabodi/ 37 15 16 17 18 Aggregati di dati eterogenei: il tipo struct I puntatori e l allocazione dinamica di memoria Problem solving elementare su dati scalari Problem solving elementare su dati vettoriali 38 2006 Politecnico di Torino 19

Descrizione delle unità (1/2) 15 16 Aggregati di dati eterogenei: il tipo struct I puntatori e l allocazione dinamica di memoria Struct: dati aggregati con componenti di tipo diverso cognome: Rossi nome: Mario matricola: 123456 media: 27.25 Puntatore: dato e riferimento a dato, strumento per accedere a memoria allocata in esecuzione 39 Descrizione delle unità (2/2) 17 18 Problem solving elementare su dati scalari Problem solving elementare su dati vettoriali Problema Soluzione 40 2006 Politecnico di Torino 20

Descrizione delle unità (2/2) 17 18 Struttura dati Problem solving elementare su dati scalari Problem solving elementare su dati vettoriali Problema Soluzione 41 Descrizione delle unità (2/2) 17 18 Struttura dati Problem solving elementare su dati scalari Problem solving elementare su dati vettoriali Problema Algoritmo while ( ) { x = f( ); } Soluzione 42 2006 Politecnico di Torino 21

Descrizione delle unità (2/2) 17 18 Problem solving elementare su dati scalari Problem solving elementare su dati vettoriali puzzle.c Problema Soluzione 43 Materiale di supporto Sorgenti di tutti gli esempi presentati nei lucidi Esercizi risolti Esercizi proposti Schede sintetiche degli argomenti principali 44 2006 Politecnico di Torino 22