Offerta Didattica

 

MATEMATICA

FONDAMENTI DI INFORMATICA

Classe di corso: L-35 - Scienze matematiche
AA: 2019/2020
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01BaseLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
62406012480
Legenda
CFU: 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 gli strumenti di programmazione imperativa nel 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 the tools for imperative programming in the 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 nel laboratorio informatico.

Teaching Methods

Lectures and exercises in the computer lab.

Prerequisiti

Conoscenze logico-matematiche di base.

Prerequisites

Elementary logical and mathematical notions.

Verifiche dell'apprendimento

Prova scritta nel laboratorio informatico ed esame orale.

Assessment

Written test in the computer lab and oral exam.

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. Librerie. Algoritmi di ordinamento e ricerca. Algoritmi su liste e alberi. Soluzione numerica di equazioni. Algoritmi di algebra lineare e teoria dei numeri.

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. Libraries. Sorting and searching algorithms. Algorithms for lists and trees. Numerical solution of equations. Algorithms in linear algebra and number theory.

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. Linguaggio C - Corso di programmazione. Pearson/Prentice Hall, 2004. A. Kelley, I. Pohl. C: didattica e programmazione. Pearson Education Italy, 2003. A. Bellini, A. Guidi. Linguaggio C: guida alla programmazione. McGraw-Hill, 2003.

Elenco delle unità didattiche costituenti l'insegnamento

Docente: FRANCESCO OLIVERI
NNomeSSDTipoCFUORETAFFrequenza
1INF/01LEZ212BaseLibera
2INF/01LAB448BaseLibera

Legenda
SEGMENTO: Tutte le unità didattiche sono composte da almeno un segmento
TIPO:LEZ - lezione, ESE - esercitazione, LAB - laboratorio

Orario di Ricevimento - FRANCESCO OLIVERI

GiornoOra inizioOra fineLuogo
Martedì 09:00 11:00Ufficio al I piano dell'Incubare d'impresa
Giovedì 09:00 11:00Ufficio al I piano dell'Incubare d'impresa
Note:
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti