Offerta Didattica

 

INFORMATICA

PROGRAMMAZIONE

Classe di corso: L-31 - Scienze e tecnologie informatiche
AA: 2019/2020
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
INF/01CaratterizzanteLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
96037236036
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 le conoscenze di base del linguaggio ANSI C (strutture dati, controllo di flusso e funzioni di libreria). L'obiettivo principale è far acquisire le basi della programmazione strutturata quale strumento di specifica di un algoritmo, usando come riferimento il linguaggio C.

Learning Goals

The course provides basic notions related to ANSI C language (data structures, flow control and library functions). The main goal is to provide to the students the basics of structured programming as a tool for specifying an algorithm, using C language as reference.

Metodi didattici

Lezioni frontali ed esercitazioni al calcolatore.

Teaching Methods

Lectures and computer exercises.

Prerequisiti

Conoscenze logico-matematiche di base.

Prerequisites

Basic logical-mathematical notions.

Verifiche dell'apprendimento

Esame scritto e orale.

Assessment

Written and oral exams.

Programma del Corso

Architettura di un calcolatore. Il modello di von Neumann. Rappresentazione dell’informazione. Il sistema di numerazione binario. Rappresentazione di interi. Rappresentazione dei caratteri. Numeri interi. Sistemi ottale ed esadecimale. Interi negativi in binario. Numeri con parte frazionaria. Il concetto di algoritmo. I diagrammi di flusso. I linguaggi di programmazione. La sintassi e la semantica di un linguaggio di programmazione. Compilatori ed interpreti. Il Linguaggio C: presentazione. Primi programmi in C. Compilazione di un programma C. Struttura di un programma C. Dati, operatori ed espressioni. I tipi di dati fondamentali. Costanti e variabili. Conversione di tipo e coercizione (cast). Input e output da terminale. Input e output formattato. Strutture di controllo. Struttura sequenziale. Struttura condizionale. Array, puntatori e stringhe. Aritmetica dei puntatori. Allocazione dinamica della memoria. Altri tipi di dati: strutture, unioni, campi di bit. I tipi enumerativi. Funzioni. Visibilità delle funzioni. Parametri delle funzioni. Modalità di passaggio dei parametri. Funzioni ricorsive. Puntatori a funzione. I file. Libreria standard. Preprocessore del C. Make. Analisi dell’esecuzione di un programma. Librerie. Algoritmi di ordinamento: selection sort, insertion sort, bubble sort, quick sort, merge sort. Abstract Data Type: liste, pile, code, alberi.

Course Syllabus

Computer architecture. Von Neumann model. Information representation. Characters. Integers. Octal and hexadecimal systems. Negative integers in binary. Algorithms. Flow charts. Coding algorithms and programs. Compilers and interpreters. The C Language. Presentation. First programs in C. Compiling a C program. C program structure. Data, operators and expressions. The basic data types. Variables. Local variables. Constants. Operators. Input and output terminal Formatted input and output. Expressions. Type conversion and casting. Control Structures. Sequential structure. Conditional structure. Arrays, pointers and strings. Pointer arithmetic. Dynamic memory allocation. Other types of data. Structures. Unions. Bit fields. Enumerated types. Functions. Visibility of functions. Function parameters. Mode of parameter passing. Recursive functions. Files. File access. C Preprocessor. C standard library. Make. Program analysis. Libraries. Sorting algorithms: selection sort, insertion sort, bubble sort, quick sort, merge sort. Abstract Data Type: lists, stacks, queues, trees.

Testi di riferimento: A. Kelley & I. Pohl: C didattica e programmazione B.W. Kernighan & D.M. Ritchie: Il linguaggio C - Principi di programmazione e manuale di riferimento, Prentice Hall

Elenco delle unità didattiche costituenti l'insegnamento

Docente: MASSIMO VILLARI

Orario di Ricevimento - MASSIMO VILLARI

GiornoOra inizioOra fineLuogo
Martedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Giovedì 16:00 18:00Dipartimento di Ingegneria Blocco B VII Piano. Previa prenotazione per email settimana precedente.
Note:
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti