Corso di Informatica - Dipartimento di Matematica e ... · Dipartimento di Matematica e Informatica...
Transcript of Corso di Informatica - Dipartimento di Matematica e ... · Dipartimento di Matematica e Informatica...
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Corso di InformaticaCdL in Matematica e CdL in Matematica per le Applicazioni
Prof. G. Nicosia
Dipartimento di Matematica e InformaticaFacoltà di Scienze MM.FF.NN. Università degli Studi di Catania
A. A. 2006/2007
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Sommario1 Che cosa è l’Informatica
Informatica: prima definizioneAlgoritmo naive del MCDAlgoritmo di Euclide per il MCDImplementazione in C dell’Algoritmo di EuclideInformatica: altre definizioni
2 Obiettivi formativiAlgoritmoProgrammaProgrammazione e Programmazione in Linguaggio C
3 Programma del Corso4 Testi di riferimento5 Riferimenti bibliografici
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Informatica: prima definizione
Disciplina scientifica detta anche scienza dei calcolatori oscienza dell’informazione, ancora ai suoi primi passi.Mentre le altre scienze studiano come interagiscono particolaritipi di oggetti, l’informatica studia il comportamento generaledelle interazioni, cioè come la società di parti riescono afare ciò che quelle parti non sono in grado di fareseparatamente.Benchè partiti dallo studio dei calcolatori seriali, l’informatica siè sviluppata al punto di poter studiare quelle reti interconnessedi processi che devono svolgersi all’interno della società dellamente.
Marvin Minsky, La società della Mente, Adelphi 1994.Copyright 1985, 1986 by Marvin Minsky.
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Algoritmo naive del MCD
1 Algoritmo-MCD(I1, I2)2 M← max (I1, I2)3 N← min (I1, I2)4 (Q,R)← M div N5 if (R is not 0) then6 M← N7 N← R8 goto 49 else MCD← N
10 return MCD
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Algoritmo naive del MCD 2
1 Algoritmo-MCD(I1, I2)2 if I1 > I2 then3 M← I14 N← I25 else6 M← I27 N← I18 (Q,R)← M div N9 if (R is not 0) then
10 M← N11 N← R12 goto 813 else return N
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Algoritmo di Euclide per il MCD
Il metodo di Euclide si basa sul fatto che se I1 > I2 allora ilMCD tra I1 e I2 coincide con il MCD tra I2 e I1 − I2.
1 Algoritmo-di-Euclide-MCD(I1, I2)2 while (I1 > 0)3 if (I1 < I2)4 t← I15 I1 ← I26 I2 ← t7 I1 ← I1 − I28 return I2
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Programma per l’Algoritmo di Euclide per il MCD
#include <stdio.h>int mcd(int i1, int i2){
int t;while (i1 > 0){
if (i1 < i2) { t = i1; i1=i2; i2=t; }i1 = i1 - i2;
}return i2;
}main(){
int x, y;printf("Inserisci i1: "); scanf("%d", &x);printf("Inserisci i2: "); scanf("%d", &y);if (x>0 && y>0) printf("MCD(%d,%d)=%d \n", x, y, mcd(x,y));
}
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Informatica: altre definizioni
Algoritmo una sequenza finita ordinata di passi non ambiguied eseguibili che definiscono un’attività dilunghezza finita.
Programma la rappresentazione di un algoritmo compatibilecon la macchina.
Software i programmi, e gli algoritmi che rappresentano (es.sistemi operativi).
Hardware dispositivi fisici.
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Obiettivi formativi
Il primo obiettivo del corso è insegnare un linguaggio diprogrammazione general-purpose. Al termine del corso glistudenti devono essere in grado di tradurre un algoritmo in unprogramma funzionante.
Il secondo obiettivo del corso è quello di presentare, medianteesempi, algoritmi e strutture dati fondamentali.
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
programma del corso
Definizione di Algoritmo;Organizzazione di un calcolatore;Linguaggi di Programmazione;Principi Fondamentali di Programmazione;Tipi, Operatori ed Espressioni;Strutture di controllo;Funzioni e Struttura dei Programmi;Puntatori e Vettori;Ricorsione;Strutture;I/O e Accesso ai file;Gestione della Memoria;Strutture dati complesse: Liste, Code, Stack, Alberi,Grafi.
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
testi di riferimento
testo di riferimento principale:[Kernighan & Ritchie, 2004]
altri testi di riferimento:
[Cormen, Leiserson, Rivest &Stein, 2005]
altre note integrative rese disponibili dal docente
Prof. G. Nicosia. Informatica – Introduzione al corso
Che cosa è l’InformaticaObiettivi formativi
Programma del CorsoTesti di riferimento
Riferimenti bibliografici
Brian W. Kernighan, Dennis M. RitchieLinguaggio CPearson Education Italia, 2004
T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. SteinIntroduzione agli algoritmi e strutture datiMcGraw–Hill 2005.
Prof. G. Nicosia. Informatica – Introduzione al corso