Offerta Didattica
INFORMATICA
PROGRAMMAZIONE I
Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2015/2016
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
ING-INF/05 | Caratterizzante | Libera | Libera | No |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
6 | 4 | 2 | 0 | 56 | 32 | 24 | 0 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
Il corso fornisce le conoscenze di base e specifiche del linguaggio ANSI C (strutture dati, controllo di flusso, funzioni di libreria). L'obiettivo principale è far acquisire le competenze necessarie per la corretta trattazione informatica di problemi concreti e la loro risoluzione mediante un programma in C.Learning Goals
The course provides basic and specific notions related to ANSI C language (data structures, flow control, library functiuons). The main goal is to provide to the students the skills necessary to correctly process concrete problems and their solution by means of a C program.Metodi didattici
Lezioni frontali ed esercitazioni al calcolatore.Teaching Methods
Lectures and exercitations in the computer lab.Prerequisiti
Conoscenze logico-matematiche di base.Prerequisites
Basic logico-mathematical notions.Verifiche dell'apprendimento
Esame scritto ed orale.Assessment
Written and oral exams.Programma del Corso
Calcolatori e informazione Architettura del calcolatore. Rappresentazione dell’informazione. Il modello di Von Neumann. Algoritmi, aritmetica e logica Proprietà dell’algoritmo. Caratteri. Numeri interi. Sistemi ottale ed esadecimale. Addizione e moltiplicazione in binario. Interi negativi in binario. Numeri con parte frazionaria: lo standard IEEE. Algebra Booleana. Proprietà delle operazioni logiche. Operazioni logiche “fondamentali”. Logica e aritmetica. Codifica degli algoritmi e programmi. Diagrammi a blocchi.Strutture costitutive degli algoritmi. Struttura sequenziale, condizionale e ciclica. Compilatori ed interpreti. Il Linguaggio C Presentazione. Insieme dei caratteri utilizzabili in C. Primi programmi in C. Compilazione di un programma C. Struttura di un programma C. Dati, operatori ed espressioni I tipi di dati fondamentali. Nuovi tipi di dato. Modificatori dei tipi base. Identificatori. Variabili. Variabili locali. Parametri formali. Variabili globali. Modificatori del tipo diaccesso: const, volatile. Specificatori della classe di memorizzazione: extern, register, static. Inizializzazione delle variabili. Costanti. Operatori. Assegnazione. Operatori aritmetici. Operatori di confronto. Operatori logici. Operatori di basso livello. Operatori di incremento, decremento e scorciatoie. L’operatore ?. L’operatore sizeof. L’operatore virgola. Gli operatori su puntatori & e *. Parentesi. Altri operatori. Ordine di precedenza degli operatori. Espressioni. Conversione di tipo e coercizione (cast). Strutture di controllo Struttura sequenziale. Struttura condizionale. Il costrutto if. Il costrutto if-else. Il costrutto if-els emultiplo. Il costrutto switch. Struttura iterativa. Il costrutto for. Il costrutto while. Il costrutto do-while. Salti. La funzione exit(). Array, puntatori e stringhe Array ad una dimensione. Puntatori. Aritmetica dei puntatori. Allocazione dinamica della memoria. Stringhe. Array a più dimensioni. Array di stringhe. Array di puntatori. Puntatori a puntatori. Allocazione dinamica di una matrice. Altri tipi di dati Strutture. Unioni. Campi di bit. I tipi enumerativi. Funzioni Forma generale di una funzione. Esempi di funzione. Visibilità delle funzioni. Organizzazione della memoria durante l’esecuzione di un programma. Parametri delle funzioni. Modalità di passaggio dei parametri. Funzioni ricorsive. Fattoriale. Numeri di Fibonacci. Funzione main() ricorsiva. Funzioni ed array. Funzioni e strutture. Puntatori a funzioni. Funzioni con un numero variabile di parametri. Argomenti della funzione main(). Uso dei valori restituiti da main(). Input e output da terminale Input e output formattato. La funzione printf(). La funzione scanf(). Input e output di caratteri.Input e output di stringhe. Input di stringhe con getchar(). Input di numeri con getchar(). Input e output da file. Flussi e file. Flussi predefiniti. File. Accesso ai file. Input e output formattato. Input e output di caratteri e stringhe. Altre funzioni per i file. Le funzioni fread() e fwrite(). Preprocessore del C Introduzione. La direttiva #include. La direttiva #define. La direttiva #undef. Compilazione condizionale. La direttiva #error. Macro predefinite. La direttiva #line. Gli operatori # e ##. Libreria standard del C Input e output: stdio.h. Operazioni sui file. Output formattato. Input formattato. Funzioni di input e output di caratteri. Funzioni dirette di input e output. Funzioni per muoversi all’interno di un file. Stili di comportamento. Programma per il calcolo del codice fiscale. Make. Analisi dell’esecuzione di un programma. Librerie.Course Syllabus
Computers and Information Computer architecture. Information representation. Von Neumann model. Algorithms, arithmetic, logic The properties. Characters. Integers. Octal and hexadecimal systems. Addition and multiplication in binary. Negative integers in binary. Numbers with fractional part: the IEEE standard. Boolean Algebra. Properties of logical operations. Fundamental logical operations. Logic and arithmetic. Coding algorithms and programs. Flow charts. Struttures of algorithms: sequential, conditional and cyclic structures. Compilers and interpreters. The C Language Presentation. Set of usable characters in C. First programs in C. Compiling a C program C program structure. Data, operators and expressions The basic data types. New data types. Modifiers of the basic types. Identifiers. Variables. Local variables. formal parameters. global variables. Access modifiers: const, volatile. The storage class specifiers: extern, register, static. Initialization of variables. Constants. Operators. Assignment. Arithmetic operators. comparison operators. logical operators. Low-level operators. Operators of increase, decrease, and shortcuts. The operator ?. The sizeof operator. The comma operator. The operators on pointers & and *. Parenthesss. Other operators. Order of precedence of operators. Expressions. type conversion and casting. Control Structures sequential structure. Conditional structure. The if construct. The if-else construct. The multiple if-else construct. The switch construct. iterative structure. The for construct. The while construct. The do-while construct. Jumps. The exit() function. Arrays, pointers and strings One-dimensional arrays. Pointers. Pointer arithmetic. Dynamic memory allocation. Strings. Multi-dimensional arrays. Array of strings. Array of pointers. Pointers to pointers. Dynamic allocation of a matrix. Other types of data Structures. Unions. Bit fields. Enumerated types. Functions General form of a function. Examples of functions. Visibility of functions. Memory organization during the execution of a program. Function parameters. Mode of parameter passing. Recursive functions. Factorial. Fibonacci numbers. main() recursive function. Functions and arrays. Functions and structures. Pointers to functions. Functions with a variable number of parameters. Arguments of the main() function. Use of the values ââreturned by main(). Input and output terminal Formatted input and output. The printf() function. The scanf() function. Input and output of caratteri. Input and strings output. Input strings with getchar(). Input of numbers with getchar(). Input and output files. Streams and files. Predefined streams. Files. File access. Formatted input and output.Input and output of characters and strings. Other functions for files: fread() and fwrite(). C Preprocessor Introduction. The #include directive. The #define directive. The #undef directive. conditional compilation. The #Error directive. Predefined macros. The #line directive. Operators # and ##. C standard library Input and output: stdio.h. File operations. Formatted output. Formatted input. Functions to move within a file. Programming styles. Program for the calculation of the tax code. Make. Program analysis. Libraries.Testi di riferimento: F.Oliveri. Algoritmi e Programmazione in C. Aracne Editrice s.r.l., pp. XX + 730, 2009.
B. W. Kernighan, D. M. Ritchie. Il Linguaggio C – Corso di programmazione. Pearson/Prentice Hall, 2004.
P. J. Plauger. The standard C library. Prentice Hall, 1991.
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
PROGRAMMAZIONE I
Docente: FRANCESCO OLIVERI
Orario di Ricevimento - FRANCESCO OLIVERI
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 09:00 | 11:00 | Ufficio al I piano dell'Incubare d'impresa |
Giovedì | 09:00 | 11:00 | Ufficio al I piano dell'Incubare d'impresa |
Note: