Cosa è l Informatica?

Похожие документы
Algoritmi e Programmi

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

L ELABORATORE ELETTRONICO

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

INTRODUZIONE ALL INFORMATICA

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

L ELABORATORE ELETTRONICO!

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

INTRODUZIONE ALL INFORMATICA

ALGORITMI: PROPRIETÀ FONDAMENTALI

Concetti Introduttivi. Il Computer

Come ragiona il computer. Problemi e algoritmi

Informatica. Come si risolve un problema?

FONDAMENTI DI INFORMATICA

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Come ragiona il computer. Problemi e algoritmi

Risoluzione di un problema

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Lezione 1. Problemi Algoritmi Programmi

MODULO 07. La soluzione dei problemi mediante gli algoritmi

Introduzione alla programmazione

Introduzione agli Algoritmi

FONDAMENTI DI INFORMATICA

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Programmazione. Informatica. Risoluzione dei Problemi

1 Esercizi in pseudocodice

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Introduzione all Informatica Scienze Naturali / Restauro - Unical 1 Dispensa 1

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Unità di apprendimento 6. Dal problema al programma

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Problemi, algoritmi, calcolatore

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Il Software programmabili programma algoritmo

Транскрипт:

Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione

Elaboratore elettronico (o computer o calcolatore ) E uno strumento per la rappresentazione, la memorizzazione e l elaborazione delle informazioni. E programmabile: può essere predisposto per eseguire un particolare insieme di azioni, allo scopo di risolvere un problema.

Utilizzo di un elaboratore Come utente: Uso software applicativo esistente per creare documenti e interfacce grafiche, effettuare calcoli, navigare in rete Come sviluppatore: Creo nuovi programmi sullo strato del software esistente Nuovi programmi applicativi Nuovi programmi di sistema (cioè che fanno funzionare il calcolatore)

Come ragiona il computer Problemi e algoritmi

Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia Obiettivo

I problemi tipici dell informatica

Ricerca di informazione Trovare il numero di telefono di una persona Individuare il numero più piccolo di una sequenza Stabilire se una parola precede alfabeticamente un altra

Problemi di elaborazione di informazioni Calcolare il costo totale di un certo numero di prodotti Trovare perimetro e area di una figura geometria

Problemi di ottimizzazione Trovare tra tutte le soluzioni possibili del problema quella che rende minimo un certo fattore, per esempio scegliere il mezzo di trasporto più economico per andare a Parigi oppure quello con il quale si impiega meno tempo

Risolvere un problema Come si costruisce la soluzione a un problema? Qual è il giusto punto di partenza per pensare la soluzione a un problema? Quali metodologie e tecniche usare?

Risolvere un problema Interpretare l enunciato Individuare i dati noti e quelli da trovare Costruire un modello Descrivere il procedimento risolutivo Eseguire le operazioni stabilite nel processo risolutivo Verificare se i risultati ottenuti corrispondono alla soluzione del problema reale Problema Verifica dei risultati Interpretazione Esecuzione Modello Procedimento risolutivo

Descrizione procedimento risolutivo Individuazione di una sequenza di passi che, partendo dai dati noti, arrivi a dare la soluzione. Definizione Algoritmo

Algoritmo Un algoritmo è una sequenza finita di operazioni elementari che porta alla risoluzione in un tempo finito una classe di problemi. In generale un algoritmo può essere visto come una funzione da un dominio d ingresso ad uno d uscita Dati(INPUT) X Algoritmo Risultati(OUTPUT) f(x)

Algoritmi: proprietà fondamentali Eseguibilità: ogni azione deve essere eseguibile da parte dell esecutore dell algoritmo in un tempo finito Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito.

Algoritmi equivalenti Due algoritmi si dicono equivalenti quando: hanno lo stesso dominio di ingresso; hanno lo stesso dominio di uscita; in corrispondenza degli stessi valori nel dominio di ingresso producono gli stessi valori nel dominio di uscita.

Algoritmi equivalenti Due algoritmi equivalenti: forniscono lo stesso risultato ma possono avere diversa efficienza e possono essere profondamente diversi! Esempio: moltiplicare tra loro due numeri Algoritmo 1 Algoritmo 2 Somme successive: somma e shift : 12x12 = 12+12+ +12=144 12x 12= 24 12= 144

Esecuzione

Algoritmi e programmi Algoritmo Sequenza finita di passi che risolve in tempo finito un problema. Codifica Fase di scrittura di un algoritmo attraverso un insieme ordinato di frasi ( istruzioni ), scritte in un qualche linguaggio di programmazione, che specificano le azioni da compiere. Programma Testo scritto in accordo con la sintassi e la semantica di un linguaggio di programmazione. PROBLEMA ALGORITMO PROGRAMMA

Linguaggi di Programmazione Linguaggi per esprimere in maniera rigorosa un algoritmo Linguaggio macchina (seq. Istruzioni) Linguaggi ad alto livello (vicini al ling. naturale) Esempi: Pascal C e C++ Java Basic

Riassumendo Ogni elaboratore è una macchina in grado di eseguire azioni elementari su dati L'esecuzione delle azioni elementari è richiesta all'elaboratore tramite comandi chiamati istruzioni Le istruzioni sono espresse attraverso frasi di un opportuno linguaggio di programmazione Un programma è la formulazione testuale di un algoritmo in un linguaggio di programmazione Un algoritmo è il processo risolutivo di un problema

Esistono problemi che un elaboratore non può risolvere? Sì. Ci sono problemi non calcolabili da nessun modello di calcolo reale o astratto Esempio: data una funzione f : N N, stabilire se f(x) è costante per ogni valore di x

Esistono problemi che un elaboratore non può risolvere? Esempio. Dato un insieme di immagini di paesaggi, determinare quello più rilassante. Più in generale, quando il problema presenta infinite soluzioni, o non è stato trovato per esso un metodo risolutivo o è dimostrato che non esiste un metodo risolutivo