Come ragiona il computer. Problemi e algoritmi

Похожие документы
Cosa è l Informatica?

Algoritmi e Programmi

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

UD 3.2b: Programmazione in Pascal (1)

PROBLEMI ALGORITMI E PROGRAMMAZIONE

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

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

Algoritmi e soluzione di problemi

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

Algoritmi. Pagina 1 di 5

Modulo 1 Concetti di base della Tecnologia dell Informazione

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

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

Rappresentazione con i diagrammi di flusso (Flow - chart)

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Strutture di Controllo

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

DISPENSE DI PROGRAMMAZIONE

Sistemi Web per il turismo - lezione 3 -

Come ragiona il computer. Problemi e algoritmi

LESSICO E SINTASSI DEL PASCAL

Informatica. Come si risolve un problema?

IL CURRICOLO VERTICALE DI MATEMATICA

Diagrammi a blocchi 1

Diagrammi a blocchi 1

Algoritmi e diagrammi di flusso

DESCRIZIONI RIGOROSE c7

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Teoria dell Informazione

Rappresentazione generale del problema e fasi di progettazione

Dispensa di Informatica II.1

IL PRIMO PROGRAMMA IN C

Curricolo Verticale Scuola Secondaria di I Grado I. C. S. Via Libertà San Donato Milanese (MI) CLASSE PRIMA

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

DECLINAZIONE COMPETENZE SCUOLA SECONDARIA DI PRIMO GRADO: MATEMATICA COMPETENZE CONOSCENZE ABILITA

- Spiega il procedimento seguito, anche in forma scritta, mantenendo il controllo sia sul processo risolutivo, sia sui risultati.

Problema: calcolare il massimo tra K numeri

CONCETTI FONDAMENTALI

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Concetti Introduttivi. Il Computer

OBIETTIVI DI APPRENDIMENTO DI MATEMATICA-SCUOLA SECONDARIA DI PRIMO GRADO

Corso di Informatica di Base

VARIABILI E COSTANTI

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

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.)

Sviluppo di programmi

Fortran in pillole : prima parte

METODO DEI SEGMENTINI (Prof. Daniele Baldissin)

La codifica digitale

Corso di Informatica Modulo T1 1 - Il concetto di problema

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

SCUOLA PRIMARIA MATEMATICA (Classe 1ª)

INTRODUZIONE ALL INFORMATICA

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

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.

COMPETENZE SPECIFICHE ABILITA

Fondamenti di programmazione!! Parte 2!

Formalismi per la descrizione di algoritmi

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1

PROGRAMMAZIONE ANNUALE DI MATEMATICA - SCUOLA PRIMARIA IST. COMP. DON MILANI CERNUSCO S/N -

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

PROGRAMMAZIONE DI MATEMATICA 2016/2017

Caratteristiche di un linguaggio ad alto livello

Classi: Prime IA; IB; IC; ID; IE; IF Disciplina: MATEMATICA Ore settimanali previste: 4

Elaborazione dell informazione

LABORATORIO DI INFORMATICA

CURRICOLO DI MATEMATICA CLASSE PRIMA

DISCIPLINA: MATEMATICA. COMPETENZA n 1 TITOLO: IL NUMERO SCUOLA INFANZIA SCUOLA PRIMARIA CONOSCERE E OPERARE CON I NUMERI NATURALI E NON

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

MATEMATICA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA SECONDARIA DI PRIMO GRADO

ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL

UDA MATEMATICA. Progettazione per unità di apprendimento. Percorso di istruzione di primo livello primo periodo didattica PROF:...

= < < < < < Matematica 1

Programmazione di INFORMATICA e Laboratorio

MATEMATICA: competenza 1 - PRIMO BIENNIO. classi I e II scuola primaria COMPETENZE ABILITA CONOSCENZE

Prof. Pagani Corrado ALGORITMI

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Il concetto di calcolatore e di algoritmo

Programmazione strutturata

Circolo Didattico di Borgo San Giacomo (Brescia) - CURRICOLO DI CIRCOLO

I PROBLEMI E LA LORO SOLUZIONE. Conoscenze

MATEMATICA SCUOLA SECONDARIA CLASSE TERZA

Транскрипт:

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 Per risolvere il problema individuiamo una sequenza di istruzioni elementari che, partendo dai dati noti, arrivi a dare la soluzione 2/30

Dati in ingresso Elaborazione Dati in uscita 3/30

I problemi tipici dell informatica

Ricerca di informazione Trovare il numero di telefono di una persona, individuare il numero più piccolo di una sequenza, stabile se una parola precede alfabeticamente un altra 5/30

Problemi di elaborazione di informazioni Calcolare il costo totale di un certo numero di prodotti, trovare perimetro e area di una figura geometria, 6/30

Problemi di decisione Decidere se per andare a scuola è più conveniente il motorino, l autobus, andare a piedi, farsi accompagnare da un genitore 7/30

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 8/30

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 9/30

Risolvere un problema Verifica dei risultati Problema Interpretazione Esecuzione Modello algoritmo 10/30

Algoritmo Un algoritmo è una sequenza finita di operazioni elementari che porta alla soluzione del problema. 11/30

Diagramma di flusso o diagrammi a blocchi È uno metodi più comuni usati per la rappresentazione di algoritmi. Si presenta come un insieme di figure geometriche collegate da frecce. 12/30

Inizio Inizio Tutti i diagrammi a blocchi cominciano con un ellisse che contiene la parola inizio 13/30

Dati in ingresso Dati in ingresso I dati in ingresso sono i dati noti del problema, quelli che devono essere elaborati per arrivare alla soluzione 14/30

Operazioni Operazioni Le operazioni da svolgere sui dati sono racchiuse in rettangoli 15/30

Scelta Quando si deve fare una scelta tra due possibilità si usa il rombo Vero o falso? 16/30

Dati in uscita Dati in uscita I dati in uscita sono quelli che si vuole conoscere e costituiscono il risultato dell elaborazione 17/30

fine Fine Ogni diagramma di flusso si conclude con un ellisse che contiene la parola fine 18/30

Problema della chiave Trovare in un mazzo di chiavi quella che apre il lucchetto 19/30

Problema della stazione Qual è la strada più breve per la stazione? 20/30

Programmare il computer

Dal problema all algoritmo Per tradurre un problema in un algoritmo risolutivo occorre non solo saper risolvere il problema ma anche saperne descrivere il procedimento risolutivo. Il primo passo è individuare i dati del problema e distinguerli in dati in ingresso e dati in uscita. 22/30

Il problema della somma Mario è stato in cartoleria e ha comprato i libri di matematica, di italiano, di scienze, un quaderno e una penna. Si pone il problema di sapere quanto ha speso in tutto. Si dicono dati in ingresso i dati noti che contribuiscono alla soluzione del problema. Si dicono dati in uscita quelli che si vogliono conoscere. 23/30

Come si risolve Problema generale: acquistati un certo numero di oggetti, noti i singoli prezzi, calcolare il costo totale. Per risolvere questo problema generale occorre scrivere un programma che permetterà al computer di risolvere ogni situazione specifica. Per arrivare a scrivere il programma devi saper descrivere il procedimento risolutivo per mezzo di un algoritmo e tradurre l algoritmo in un linguaggio di programmazione comprensibile al computer 24/30

Costruzione dell algoritmo Uno dei modi più comuni, usati per la rappresentazione di algoritmi è il diagramma a blocchi, o diagramma di flusso, in inglese flow-chart. 25/30

Linguaggio macchina e compilatori Con la parola programma si intende una sequenza finita di istruzioni che il computer deve eseguire, una alla volta e nell ordine prestabilito. Tutti i programmi, di gioco, di scrittura, di calcolo, di grafica per essere comprensibili al computer devono essere codificati in una sequenza di simboli 0 e 1. Un linguaggio di questo tipo è detto linguaggio macchina, l unico che la CPU è in grado di comprendere. All inizio della storia dell informatica, intorno alla metà del secolo scorso, gli specialisti dialogavano con i computer solo per mezzo del linguaggio macchina. Con il passare degli anni sono stati creati dei linguaggi più vicini al modo di comunicare dell uomo. La traduzione di questi linguaggi più evoluti nel linguaggio macchina viene effettuato da programmi detti traduttori o compilatori. 26/30

Struttura di un programma in Pascal Un programma Pascal deve essere strutturato in tre sezioni: intestazione,dichiarazioni, istruzioni. Nell intestazione si dà il nome al programma: si scrive la parola PROGRAM seguita dal nome del programma e dal punto e virgola. Il punto e virgola va inserito alla fine di ogni istruzione del programma, ad eccezione di pochi casi. Nella sezione delle dichiarazioni si definiscono tutti i dati che verranno utilizzati nel programma, suddivisi per costanti, variabili e altre categorie. Il gruppo delle istruzioni comincia con la parola riservata BEGIN e termina con la parola END seguita da un punto 27/30

Istruzioni fondamentali Le istruzioni di output o uscita sono WRITE (scrivi) e WRITELN (scrivi e vai a capo), hanno come effetto quello di far apparire sullo schermo quanto è scritto nelle parentesi se il testo è racchiuso tra apici, oppure il valore della variabile indicata nelle parentesi. Le istruzioni di input o immissione dati sono READ (leggi) e READLN (leggi e vai a capo). L assegnazione delle variabili si ottiene con i segni :=, per cui C5 si scrive in Pascal C:=5. 28/30

Un semplice programma Noto il raggio calcolare l area del cerchio e la lunghezza della circonferenza. PROGRAM cerchio; CONST pigreco = 3.14; VAR R, C, A : real; WRITELN( Questo programma permette di calcolare circonferenza e area di un cerchio di raggio dato ); WRITE ( Inserisci il valore del raggio ); READLN(R); C:=2*pigreco*R; A:=pigreco*R*R; WRITELN( Circonferenza =,C, Area=,A); READLN; END. 29/30

cosa significa WRITELN( Questo programma permette ) farà apparire sul monitor esattamente il testo scritto tra parentesi. Lo scopo è quello di comunicare all operatore che cosa fa il programma in esecuzione sul computer. WRITE ( Inserisci il valore del raggio ) ha lo scopo di comunicare all operatore che deve inserire il valore numerico del raggio. READLN(R) ha lo scopo di far leggere al computer e quindi assegnare alla variabile R il numero che digiteremo da tastiera. C:=2*pigreco*R ha lo scopo di assegnare alla variabile C il valore ottenuto moltiplicando 2 per il valore della costante pigreco per il valore della variabile R (il simbolo per la moltiplicazione è *). A:=pigreco*R*R ha lo scopo di assegnare alla variale A il valore ottenuto moltiplicando il valore di pigreco per il valore di R al quadrato WRITELN( Circonferenza =,C, Area=,A) ha lo scopo di far apparire sullo schermo il testo Circonferenza = seguito dal valore della variabile C, poi il testo Area= seguito dal valore della variabile A. READLN è un istruzione di attesa che permette di vedere i risultati dell elaborazione. Se non ci fosse questa istruzione la visualizzazione sarebbe così rapida che non vedremmo niente. 30/30