informatica e cad (c.i.) - ica prof. pierluigi...

21
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

Upload: vodang

Post on 25-Feb-2019

222 views

Category:

Documents


0 download

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)

Riferimenti

•  http://it.wikipedia.org/wiki/Informatica •  http://informatica.di.univaq.it/infoataq.php?

pid=179&lid=it

Corso di Informatica e CAD (c.i.) – ICA LC - prof. Plebani