Elementi di Informatica

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO DI PROGRAMMAZIONE C
Advertisements

Sottoprogrammi: funzioni e procedure
Dati, istruzione e pseudocodice
Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Linguaggio C++ Selezione.
Selezione A. Ferrari.
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Informatica Generale Susanna Pelagatti
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Iterazione enumerativa (for)
Informatica Problema Algoritmo Programma
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Informatica 1. Perché linformatica? Perché insegnare informatica agli studenti di ingegneria meccanica? Per rispondere, cominciamo a capire che cosa è
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Linguaggi di Programmazione 1 docente: Maurizio Tucci Lezione 0.1 Concetti di Base.
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
Problemi e algoritmi. I problemi È un quesito che attende una risposta detta soluzione Ma come trovare la soluzione? Spesso si ricorre a tentativi fino.
Elementi di Informatica
Da Problema a Programmazione
Biologia Computazionale - Algoritmi
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Elementi di Informatica di base
Algoritmi e Programmazione strutturata
PROGRAMMAZIONE: linguaggi
Linguaggi per COMUNICARE
Linguaggi algoritmici
Dal problema all’ algoritmo
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
Rappresentazione degli algoritmi
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Sommario lez 1 Concetti principali, domande ed esercizi Concetti principali –algoritmo, programma –struttura di controllo: condizionale (if …), iterativa.
Algoritmi.
Vincenza Ferrara Novembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
Realizzazione software
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
TIPI SEMPLICI (ATOMICI) DIREMO CHE UNA INFORMAZIONE E’ DI TIPO SEMPLICE SE NON E’ COMPOSTA DA INFORMAZIONI PIU’ SEMPLICI TIPI STRUTTURATI DIREMO CHE UNA.
ALGORITMI Dal problema al programma Definizione di algoritmo
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Università degli Studi di Perugia 20/09/2015Informatica applicata all’educazione a.a Informatica applicata all’educazione a.a Corso.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
Strutture di controllo
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Dal PROBLEMA all’ALGORITMO
Transcript della presentazione:

Elementi di Informatica Claudia Raibulet raibulet@disco.unimib.it

Che cos’e’ informatica? Possibili definizione: Lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione [ACM – Association for Computing Machinery].

Concetto di informazione Definizioni: DEF1: Informare – dare forma a qualcosa -> eliminare l’incertezza, l’ignoranza DEF2: Aquisizione di contenuto trasferito da un soggetto ad un altro DEF3: un insieme di dati e la loro interpretazione (il dato => elemento di informazione) Esempi di dati: numeri, stringhe, immagini, grafici, suoni, ecc. Elaborazione di informazione: trasformare informazione in nuova informazione, eseguire azioni per risolvere un problema sulla base di informazioni acquisite

Come definire la soluzione di un problema? Dato un problema identificare gli elementi in ingresso (ciò che si ha a disposizione), gli elementi in uscita (ciò che si vuole produrre risolvendo il problema) e le azioni che permettono di risolverlo (procedura di soluzione del problema) Concetto di algoritmo esprimere la procedura di soluzione del problema in un linguaggio comprensibile all’esecutore Concetto di programma, se l’esecutore e’ il calcolatore

La soluzione “eseguibile” di un problema che viene comunicato a un definisce Descrizione di una soluzione del problema Essere umano Essere umano o elaboratore

Concetto di algoritmo Sequenza di azioni (prescrizioni) per effettuare un compito La descrizione di una serie di operazioni la cui esecuzione permette di risolvere un problema La definizione di un algoritmo e’ basata sulla disponibilita’ di INPUT e implica la loro TRSFORMAZIONE per la produzione di un OUTPUT Esempi: Ricetta per realizzazione di un piatto Istruzioni di montaggio di un elettrodomestico Prelievo bancomat

Esempio di algoritmo: una ricetta INGREDIENTI Software Hardware RICETTA UTENSILI algoritmo TORTA

Concetto di algoritmo Gli algoritmi sono espressi mediante un linguaggio e sono realizzati da un esecutore (uomo o macchina) Nell’elaboratore gli algoritmi per la soluzioni di particolari problemi sono espressi mediante un linguaggio di programmazione Linguaggio di programmazione = linguaggio formale che l’elaboratore e’ in grado di comprendere Un programma e’ la descrizione di un algoritmo ed e’ costituito da una sequenza di istruzioni che il calcolatore e’ in grado di comprendere ed eseguire

Concetto di algoritmo Elaboratore INPUT OUTPUT Insieme di dati desiderati Insieme di dati ammissibili Trasformazione dei dati di ingresso seguendo le prescrizioni specificate da un opportuno algoritmo descritto mediante un linguaggio di programmazione Elaboratore (che conosce solo alcune azioni elementari: es. confrontare due numeri, eseguire semplici operazioni aritmetiche Umano (che definisce l’algoritmo) programma

Esempi di problemi algoritmici Problema aritmetico: calcolo su un numero fisso di dati Problema 1. Input: due numeri interi J e K Output: il numero J+K Problema aritmetico: calcolo su un numero variabile di dati Problema 2. Input: un intero positivo K Output: la somma di tutti gli interi da 1 a K Problema 3. Input: una lista L di parole in una lingua fissata Output: la lista L in ordine alfabetico Problema non aritmetico

Esempio di algoritmo: effettuare una telefonata 1) Sollevare il ricevitore 2) Attendere il segnale di linea Ripeti Componi una cifra Finchè numero composto 3) Comporre il numero sottoalgoritmo iterazione 4) Attendere risposta Se la linea è libera allora Se l’interlocutore risponde allora 5) Condurre la conversazione 6) Deporre il ricevitore Altrimenti 5) Deporre il ricevitore Altrimenti (se la linea è occupata) selezione

Algoritmo: struttura di selezione Permette la prescrizione di un azione sulla base del verificarsi di una condizione SE condizione ALLORA istruzione1 ALTRIMENTI istruzione2 Esempio: SE il numero e’ occupato ALLORA ricomponi numero ALTRIMENTI inizia conversazione

Algoritmo: struttura di iterazione Permette la prescrizione di ripetizione di un azione sino al momento in cui si verifica una determinata condizione RIPETI istruzione FINCHE’ condizione Attenzione: il controllo viene fatto dopo l’esecuzione dell’istruzione; uscita per condizione verificata (vera) Esempio: RIPETI componi numero sulla tatiera FINCHE’ utente cercato ha segnale libero

Algoritmo: struttura di iterazione Altre espressioni di struttura di iterazione RIPETI istruzione MENTRE condizione Esempio: RIPETI componi numero sulla tatiera MENTRE utente cercato ha segnale occupato

Algoritmi: ancora esempi … Definiamo degli algoritmi per i seguenti problemi: Trovare il massimo fra 2 numeri interi positivi x e y Trovare il massimo fra 3 numeri interi positivi x, y e z Trovare il massimo fra N numeri interi positivi Assumiamo le seguenti operazioni elementari: Somma (+), sottrazione (-) Stabilire se un numero e’ maggiore o minore di 0 Leggere/scrivere un numero dallo schermo … dove ragionevole: definiamo dei sottoalgoritmi e utilizziamo le struture di controllo

Il massimo (maggiore) fra 2 numeri interi x e y Algoritmo max Leggi i valori di x e y dall’esterno Calcola la differenza d fra x e y (d=x-y) Se d e’ maggiore di 0 Allora stampa “il massimo e’ …” seguito dal valore di x Altrimenti stampa “il massimo e’ …” seguito dal valore di y 4. Termina l’esecuzione

Il massimo (maggiore) fra 2 numeri interi x e y x, y, d sono le ‘variabili’, cioè i contenitori per i dati coinvolti nell’elaborazione. Ogni variabile ha un nome (x, y…) e un valore: il dato contenuto o memorizzato in essa Dobbiamo specificare esplicitamente come e quando l’esecuzione termina!

Il massimo fra 3 numeri interi x, y e z Possiamo sfruttare l’algoritmo max come “sottoalgoritmo” Algoritmo max_3 Leggi i valori di x, y e z dall’esterno Se x e’ maggiore di y (usando l’algoritmo max) Allora trova il massimo fra x e z (con max) e termina Altrimenti trova il massimo fra y e z (con max) e termina

Il massimo fra N numeri interi Possiamo ancora sfruttare l’algoritmo max come sottoalgoritmo Idea: trovare prima il maggiore fra i primi due numeri, poi confrontare il risultato con il terzo, poi con il quarto, ecc … Utilizziamo la struttura di controllo iterativa ripeti …finchè per effettuare le operazioni di max su tutti i numeri in ingresso

Il massimo fra N numeri interi Algoritmo max_N Leggi il valore N dall’esterno Leggi i primi due numeri x e y dall’esterno Trova il massimo m fra i primi due numeri (con max) Ripeti (fintanto che esaminati meno di N numeri) Leggi un nuovo numero x Trova il massimo fra m e x usando l’algoritmo max Assegna il valore del massimo a m Finche’ letti N numeri 5. Stampa “il massimo e’ …” seguito dal valore di m 6. Termina l’esecuzione