Che cosa si intende per INFORMATICA?

Documenti analoghi
Corso di Fondamenti di Informatica Algoritmi ed esecutori

Che cosa si intende per INFORMATICA?

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori

Corso di Fondamenti di Informatica

Algoritmi e (cenni sul) calcolatore

L ELABORATORE ELETTRONICO

Laboratorio di Informatica. Introduzione

Introduzione all informatica

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

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

Algoritmi. Informatica B. Daniele Loiacono

Algoritmi. Informatica B. Daniele Loiacono

L ELABORATORE ELETTRONICO!

L ELABORATORE ELETTRONICO

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema

Elaboratore Elettronico

Fondamenti di Informatica. Definizione di Algoritmo. Algoritmo Euclideo. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a.

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

Introduzione. Informatica B. Daniele Loiacono

Algoritmi. Andrea Passerini Informatica. Algoritmi

Fasi di creazione di un programma

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

APPUNTI DI INFORMATICA

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

L informatica comprende: INFORMATICA. Varie definizioni: Definizione proposta: ELABORATORE ELETTRONICO ( COMPUTER ) L ELABORATORE

INFORMATICA (Computer Engineering o

Unità E1. Obiettivi. Non solo problemi matematici. Problema. Risoluzione di un problema. I dati

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

A lezione sono stati presentati i seguenti passi per risolvere un problema:

LABORATORIO DI INFORMATICA

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a

Non a caso viene definito linguaggio macchina. di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

ALGORITMI: PROPRIETÀ FONDAMENTALI

Risoluzione di un problema

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!

Sviluppo di programmi

Cosa è l Informatica?

Introduzione al funzionamento di un calcolatore elettronico

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Appunti di informatica. Lezione 5 anno accademico Mario Verdicchio

Introduzione ai Calcolatori Elettronici

Modello di von Neumann

CdL in Medicina Veterinaria - STPA AA

INFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Esercitazione di tutorato del 17 e 19 Ottobre 2018

Algoritmi e Programmi

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

L informazione. Bateson, Ricevere informazioni vuol dire necessariamente ricevere notizie di differenza (Es.: Luce accesa/spenta, 1/0,...

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. !

Informatica A. Allievi Gestionali A.A Nozioni di Base

Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.

Caratteristiche di un calcolatore elettronico

Architettura di un Sistema Informatico

Corso di Informatica

MODULO 07. La soluzione dei problemi mediante gli algoritmi

Sviluppo di programmi

Note sull architettura del calcolatore

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Esercizi su Scratch. Esegui la Somma e il Prodotto dei numeri inseriti in Input fino a che non inserisco la vocale e.

Strumento per la rappresentazione e l elaborazione delle informazioni

Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura dei

Informatica. Fondamenti di Informatica 1. Informatica. Informatica. Introduzione all Informatica. Introduzione all Informatica

Punto di vista Tecnologico: strumenti di elaborazione della informazione. Punto di vista Metodologico:

Elementi di programmazione

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

CONCETTI FONDAMENTALI

Rappresentazione con i diagrammi di flusso (Flow - chart)

Introduzione. Informatica Generale. Lezioni: lunedì h. 11:10-13:00 lab. Zironi martedì h. 11:10-13:00 lab. Zironi mercoledì h. 9:10-11:00 lab.

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Risoluzione dei problemi

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

Laboratorio di Informatica. Introduzione. Laboratorio di Informatica

Introduzione alla programmazione strutturata

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi

Laboratorio di Informatica. Introduzione

Linguaggi, Traduttori e le Basi della Programmazione

Esecuzione dei programmi

ALGORITMI E SOLUZIONI DI PROBLEMI

Introduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco

Introduzione agli Algoritmi 4

2. Cenni di sistemi operativi

Inf matica C.I. Metodologia Scientifica & Linguistica Mario&Pavone& &

Programmazione modulare

Che cos e l Informatica

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

= < < < < < Matematica 1

Elementi di Informatica e Programmazione

Analisi e Programmazione

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Programmazione modulare

3. Programmi e algoritmi

Transcript:

Che cosa si intende per INFORMATICA? Scienza della rappresentazione e dell elaborazione dell informazione L informazione è il concetto principale dell Informatica. L elaborazione dell informazione avviene in maniera sistematica e rigorosa e quindi può essere automatizzata

Che cosa si intende per INFORMATICA? Scienza dell astrazione creare il giusto modello per un problema e individuare le tecniche appropriate per risolverlo in modo automatico L obiettivo è quello di sostituire una situazione del mondo reale complessa e particolareggiata con un modello comprensibile e privo di dettagli inessenziali, all interno del quale si possa risolvere il problema

Che cosa si intende per INFORMATICA? Mettiamo insieme le due definizioni: Obiettivo dell Informatica è creare delle astrazioni di problemi del mondo reale che possano essere rappresentate ed elaborate all interno di un calcolatore al fine di eseguire dei procedimenti risolutivi in modo automatico

Esempio Si debba dividere una lastra di marmo di Carrara, rettangolare e di dimensioni AxB in tanti quadrati uguali avente il lato della maggiore lunghezza possibile e senza generare sfrido. Si supponga che le dimensioni debbano essere numeri interi. Verificare se ciò è possibile, date le dimensioni, e, in caso positivo, fornire la lunghezza del lato del quadrato.

Esempio Quali sono gli aspetti importanti del problema? Quali sono i dati a disposizione? Quali sono i dati richiesti? lato A lato B Procedimento risolutivo Come si può ridefinire in forma astratta il problema? taglio possibile lato quadrato

Ridefiniamo il problema Calcolare il Massimo Comune Divisore (MCD) dei due numeri interi A e B Se il MCD è diverso da 1, il taglio è possibile e la misura del quadrato è data dal MCD. Se il MCD è uguale a 1, il taglio non è possibile

Come eseguire il calcolo in modo automatico? E necessario un procedimento sistematico, costituito da un insieme finito di operazioni, ognuna delle quali sia precisa (non ambigua) ed eseguibile, da applicare ai dati in ingresso perché possa fornire dei dati in uscita. E necessario un algoritmo

Algoritmo di Euclide (ca. 300 a.c.) Considera due numeri X e Y, con X > Y Sostituisci X con Y Sostituisci Y con R Dividi X per Y e ottieni il resto R Diagramma di flusso no R = 0? si Termina. Il MCD è Y

Esempio MCD di 1365 e 3654 MCD di 8351 e 772 X Y R MCD 3654 1365 924 1365 924 441 924 441 42 441 42 21 42 21 0 21 X Y R MCD 8351 772 631 772 631 141 631 141 67 141 67 7 67 7 4 7 4 3 4 3 1 3 1 0 1

Alcune considerazioni L algoritmo è del tutto generale, ma, in qualsiasi caso specifico, il procedimento avrà termine e fornirà una risposta precisa in un numero finito di passi. A ogni passo, è perfettamente chiaro quale operazione si debba compiere e anche la decisione circa il momento in cui il procedimento si debba ritenere concluso è perfettamente definita. La descrizione dell intero procedimento è presentata in termini finiti, anche se può essere applicata a numeri naturali di dimensioni illimitate. Il procedimento descritto assume che sia noto come eseguire particolari operazioni quali il calcolo del resto della divisione intera tra due numeri naturali. E se così non fosse? Sarebbe necessario un opportuno algoritmo

Calcolo del resto della divisione intera tra due numeri naturali M ed N Sostituisci M con M-N no Considera due numeri M e N M < N? si Termina. Il resto è M M N resto 67 20 47 20 27 20 7 20 7 M N resto 8351 772 7579 772 6807 772 6035 772 5263 772 4491 772 3719 772 2947 772 2175 772 1403 772 631 772 631 Come si modifica l algoritmo per ottenere anche il quoziente?

Mettiamo tutto insieme Acquisisci il valore di A e di B Considera due numeri X e Y, con X > Y Considera due numeri M e N Calcola il MCD di A e di B e scrivilo in C Sostituisci X con Y Sostituisci Y con R no Dividi X per Y e ottieni il resto R R = 0? Sostituisci M con M-N no M < N? si si C = 1? no si Termina. Il MCD è Y Termina. Il resto è M Termina. Comunica che il taglio non è possibile Termina. Comunica che il taglio è possibile e che il lato del quadrato ha lunghezza C Sono possibili (o necessarie) ulteriori esplosioni?

Chi esegue le operazioni? Una volta definito, l algoritmo deve essere sottoposto ad un esecutore. L esecutore deve essere in grado di: intepretare correttamente la sequenza di comandi eseguire ognuno dei comandi forniti memorizzare informazioni su opportuni supporti che permettano di accedere alle informazioni memorizzate e modificarle Nota: l esecutore non è necessariamente consapevole di quello che sta facendo.

Un esecutore umano controllo esecuzione Scambio dati con l esterno lista di istruzioni dati in ingresso risultati temporanei risultati finali 1 2 3 1 4 5 6 7 8 9 0. C + - x /

Un esecutore non umano Unità di controllo Unità logicoaritmetica istruzioni dati Unità di memoria Unità di ingresso/ uscita Differenze tra i due tipi di esecutori: rappresentazione delle istruzioni rappresentazioni dei dati

Modello di von Neumann Bus di sistema CPU Memoria Centrale Memoria di Massa Interfaccia Periferica 1 Interfaccia Periferica 2 Modello di implementazione