informatica e cad (c.i.) - ica prof. pierluigi...
TRANSCRIPT
Introduzione al corso
La presente dispensa e’ da utilizzarsi ai soli fini didattici previa autorizzazione dell’autore. E’ severamente vietata la
riproduzione anche parziale e la vendita.
24/09/2006
Dipartimento di Elettronica ed Informazione Politecnico di Milano
Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani
A.A. 2008/2009
Docenti del corso • Docente: Pierluigi PLEBANI
– Dipartimento di Elettronica e Informazione e-mail: [email protected] Tel.: 02 2399 3473
– Ricevimento: Giovedì dalle 14 alle 16 presso il DEI oppure su appuntamento
• Esercitatore: Giacomo BORACCHI – Dipartimento di Elettronica e Informazione
e-mail: [email protected] Tel.: 02 2399 3491
– Ricevimento: su appuntamento • Resp. Laboratorio: Dario COGLIATI
– e-mail: [email protected]
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Organizzazione
• Il corso equivale a 10 crediti – Lezioni = 32 ore = 4 crediti – Esercitazioni = 18 ore = 1 credito – Laboratorio = 24 ore = 1 credito – CAD = 4 crediti (prof. D’andrea)
• Orario: – Lunedì: 14:15 - 18:15 (A.2.2) – CAD – Mercoledì: 16:15 - 18:15 (A.2.2) – LEZ – Giovedì: 14:15 – 18:15 (A.2.2) –ESE / LAB
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
L’informatica
• È la scienza della rappresentazione e dell’elaborazione dell’informazione
• Non è solo la tecnologia dei calcolatori – il calcolatore è solo uno strumento
• Non è solo applicazione su calcolatori – applicazione = uso del calcolatore in un dominio
• Include – produzione di strumenti informatici – la costruzione di applicazioni
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Il punto di partenza: il problema
• Gli elaboratori sono stati introdotti con lo scopo di risolvere problemi
• In modo autonomo non risolvono alcunché • Deve essere realizzata una applicazione in
grado di risolvere il problema
Dal problema alla soluzione : l’algoritmo
• Un algoritmo è una sequenza ordinata di passi semplici che ha lo scopo di portare a termine un compito più complesso
• La sequenza delle operazioni deve essere: – Chiara – Mai ambigua – Deve avere un ordine ben preciso
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Diagramma di flusso
• È una possibile rappresentazione degli algoritmi • Si compone di una serie di simboli
passo
inizio
condizione
transizione
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Numero di occorrenze di una lettera in una parola
• Acquisire la frase • Acquisire il carattere cercato • Leggere un carattere alla
volta • Confrontarlo con il carattere • Incrementare un contatore
ci sono le tue scarpe ancora qua ma tu non sei passata ho spiegato ai vicini ridendo che
tu non ci sei più
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Gli algoritmi e l’informatica • Un algoritmo può essere svolto da un calcolatore • Il calcolatore va istruito quindi serve un formalismo
adatto: linguaggio di programmazione • In un modo più formale, possiamo quindi definire
l'algoritmo come una sequenza ordinata e finita di istruzioni che, dato uno od una serie di elementi in input, produce uno od una serie di risultati in output – Input sono i dati in ingresso – Output sono i dati in uscita – I passi sono detti istruzioni
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Pseudo-codice
input parola
input carattere
contatore = 0;
for each char in parola
if char = carattere then
Contatore = contatore + 1
output contatore
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Linguaggio C #include <stdio.h>
void main() {
int i, occ; i = 0; char parola[10]; char carattere;
printf(“Inserire la parola da analizzare”);
scanf(“%c”, parola); printf(“Inserire la lettera cercata”); scanf(“%c”, &lettera) while (i<10) {
if (parola[i] == carattere) occ++;
i++; }
println(“Ho trovato %d occorrenze”, occ); }
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
E ora che abbiamo il codice?
• Dobbiamo trovare un elaboratore in grado di eseguirlo
• Problema! L’elaboratore ragiona in modo differente: linguaggio macchina
• Dobbiamo quindi trovare anche un modo per trasformare il C (alto livello) in linguaggio macchina (basso livello)
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Perché linguaggio macchina?
• Un elaboratore è un insieme di circuiti • Si basa su logica binaria • Il linguaggio C è vicino al modo di pensare
umano – È infatti un linguaggio ad alto livello
• Il linguaggio macchina è vicino al modo di lavorare di un elaboratore – È infatti un linguaggio di basso livello
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Il processo
analisi algoritmo Codifica (linguaggio C)
esecuzione Compilazione (linguaggio macchina)
L’informatica è …
• … a scienza che studia i processi per la risoluzione dei problemi
• … la scienza del ragionamento automatico • … la scienza che ha come principale
applicazione il mondo dei computer e del software (linguaggi, algoritmi, architetture, applicazioni, interfacce, web).
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
L’informatica NON è …
• … la tecnica per montare e smontare i computer
• … la conoscenza di particolari pacchetti software
• … la tecnica per installare il software.L'abilità di navigare su Internet
• … la conoscenza di tutti i linguaggi di programmazione
• … solo programmare
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Obiettivi del corso
• Capire come le informazioni si rappresentano all’interno del calcolatore
• Conoscere le funzionalità del calcolatore: architettura HW e SW
• Imparare a codificare degli algoritmi in linguaggio artificiale – Capacità di individuare una soluzione algoritmica – Conoscenza del linguaggio di programmazione
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Programma • Breve rassegna sull’Informatica • Gli algoritmi • Nozioni di base sull’architettura hardware e software di un calcolatore
– Codifica binaria dell'informazione – Struttura e principi di funzionamento di un calcolatore elettronico elementare – Il sistema operativo: organizzazione e principali funzionalità
• La programmazione del calcolatore: – Rappresentazione dello schema risolutivo (algoritmo) di un problema in una
forma adatta all'elaborazione automatica – Rappresentazione e codifica degli algoritmi in un linguaggio formale
(programmi) – Linguaggio C
• Applicazioni dell’Informatica
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Testi • Mandrioli, Ceri, Sbattella, Cremonesi, Cugola.
Informatica, arte e mestiere (3a ed). McGraw-Hill, 2008
• Un libro sul linguaggio a C (a scelta) – H.M. Deitel, P. J. Deitel, C Corso completo di
programmazione, Apogeo, 2000 – A. Bellini, A. Guidi, Linguaggio C - guida alla
programmazione (2a ed.), McGraw-Hill, 2003 • Eseciziario di C:
– C. Bellettini, S. Filippi, L. Sbattella: Linguaggio C. Esercizi e temi d’esame risolti, II edizione, Esculapio,2000.
Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani
Modalità di valutazione
• 32 punti (che corrispondono a 30 e lode) suddivisi nel seguente modo: – Due prove in itinere: massimo 16 punti per
ciascuna prova – Una prova in itinere è ritenuta superata se
ottengono 9 punti, altrimenti deve essere recuperata.
• Tre prove di recupero: – 1 a Febbraio (si recupera solo la parte insufficiente) – 2 a Settembre (si recupera tutto)