PROBLEMI ALGORITMI E PROGRAMMAZIONE

Похожие документы
Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Come ragiona il computer. Problemi e algoritmi

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

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

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

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

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

Sviluppo di programmi

Il calcolatore. Architettura di un calcolatore (Hardware)

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

Algoritmi e soluzione di problemi

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Algoritmi. Pagina 1 di 5

Cosa è l Informatica?

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

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

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Modulo 1 Concetti di base della Tecnologia dell Informazione

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

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

Rappresentazione con i diagrammi di flusso (Flow - chart)

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

Caratteristiche di un linguaggio ad alto livello

LA METAFORA DELL UFFICIO

Teoria dell Informazione

Algoritmi e Programmi

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

Corso di Informatica di Base

Informatica. Come si risolve un problema?

DESCRIZIONI RIGOROSE c7

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Concetti Introduttivi. Il Computer

Dispensa di Informatica II.1

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Linguaggi di Programmazione

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Il concetto di calcolatore e di algoritmo

Fondamenti VBA. Che cos è VBA

LINGUAGGI DI ALTO LIVELLO

LABORATORIO DI INFORMATICA

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

LA METAFORA DELL UFFICIO

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

CONCETTI FONDAMENTALI

Formalismi per la descrizione di algoritmi

CURRICOLO DI MATEMATICA CLASSE PRIMA

Rappresentazione generale del problema e fasi di progettazione

Introduzione alla Programmazione. Giselda De Vita

Scuola Statale Italiana di Madrid Anno scolastico PROGRAMMAZIONE CURRICOLARE DI MATEMATICA Classe quarta B Insegnante: Adriano Adamo

SCUOLA PRIMARIA MATEMATICA (Classe 1ª)

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

IL CURRICOLO VERTICALE DI MATEMATICA

COMPETENZE SPECIFICHE ABILITA

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

La codifica. dell informazione

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

La codifica. dell informazione

PROGRAMMAZIONE DI MATEMATICA 2016/2017

Linguaggi di programmazione

Dall algoritmo al programma

algebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi

Programmazione modulare

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

La codifica digitale

ISTITUTO COMPRENSIVO BASSA ANAUNIA DENNO PIANO DI STUDIO DI MATEMATICA CLASSE SECONDA. Competenza 1

Rappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto

SCUOLA PRIMARIA - MORI

Introduzione alla programmazione. Walter Didimo

SCUOLA PRIMARIA - MORI

Fondamenti di programmazione!! Parte 2!

Programmazione C Massimo Callisto De Donato

I.4 Rappresentazione dell informazione

Algoritmi e diagrammi di flusso

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Strutture di Controllo

Classe seconda NUMERI. (Nucleo tematico) CONTENUTI (Conoscenze) ABILITÀ (Competenze specifiche) VALUTAZIONE DELLE COMPETENZE.

SCUOLA PRIMARIA - MORI

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

VARIABILI E COSTANTI

Rappresentazione dell Informazione

NUMERI SCUOLA SECONDARIA I GRADO

Informatica Generale Andrea Corradini I linguaggi di programmazione

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Algoritmi e Linguaggi

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

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

Struttura del calcolatore

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Programmazione di INFORMATICA e Laboratorio

Транскрипт:

PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D

PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL FINE DI RAGGIUNGERE IL RISULTATO FINALE PREFISSATO TALE PROCEDIMENTO PRENDE IL NOME DI ALGORITMO. L ALGORITMO VIENE SCRITTO IN FORMA DI PROGRAMMA.

PROBLEMA PROCEDIMENTO (ALGORITMO) PROGRAMMA RISULTATI

COMUNICARE LINGUAGGI NATURALI LINGUAGGI ARTIFICIALI LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE AD ALTO LIVELLO (PIU VICINI AL MODO DI RAGIONARE DELL UOMO) A BASSO LIVELLO (PIU VICINI AL MODO DI RAGIONARE DELLA MACCHINA) LINGUAGGIO MACCHINA (E IL LINGUAGGIO COMPRESO DAL COMPUTER)

COMPILATORI SONO PROGRAMMI CHE PERMETTONO DI TRADURRE UN PROGRAMMA SCRITTO IN LINGUAGGIO AD ALTO LIVELLO, IN UN PROGRAMMA IN LINGUAGGIO MACCHINA PROGRAMMA IN LINGUAGGIO AD ALTO LIVELLO COMPILATORE PROGRAMMA IN LINGUAGGIO MACCHINA

LE FASI DI REALIZZAZIONE DI UN PROGRAMMA CAPIRE IL PROBLEMA ED INDIVIDUARE LA SOLUZIONE (ALGORITMO) PROGETTARE E CODIFICARE IL PROGRAMMA CREARE IL PROGRAMMA IN LINGUAGGIO MACCHINA (ESEGUIBILE) ESEGUIRE E PROVARE IL PROGRAMMA SUL PC DOCUMENTARE IL PROGRAMMA

ASSEMBLY BASIC COBOL FORTRAN PASCAL C ++, C# JAVA PRINCIPALI LINGUAGGI DI PROGRAMMAZIONE

TROVARE L ALGORITMO PRIMA DI TUTTO OCCORRE CAPIRE BENE : COSA VIENE CHIESTO NEL PROBLEMA QUALI SONO I DATI DI INPUT QUALI SONO I RISULTATI ATTESI (DATI DI OUTPUT)

QUINDI IN DEFINITIVA. UN ALGORITMO E UNA SEQUENZA DI PASSI ELEMENTARI CHE DEVONO ESSERE ESEGUITI SECONDO UN ORDINE PREFISSATO PER RAGGIUNGERE IL RISULTATO VOLUTO

ALGORITMO PER IL CALCOLO DELL AREA DI UN QUADRATO RICEVI IN INPUT LA LUNGHEZZA DEL LATO CALCOLA AREA USANDO LA FORMULA LATO*LATO COMUNICA IL RISULTATO IN USCITA (AREA)

CARATTERISTICHE DI UN ALGORITMO FINITO DEVE ESSERE COMPOSTO DA UN NUMERO FINITO DI PASSI, ESEGUITI IN UN NUMERO FINITO DI VOLTE DETERMINISTICO FORNENDO SEMPRE GLI STESSI DATI IN INPUT, L ALGORITMO DEVE FORNIRE SEMPRE LO STESSO RISULTATO NON AMBIGUO I PASSI DA ESEGUIRE DEVONO POTER ESSERE INTERPRETATI IN MODO UNIVOCO DAL COMPUTER GENERALE DEVE POTER ESSERE APPLICABILE A QUALUNQUE VALORE DEI DATI DI INPUT APPARTENENTI AD UN CERTO INSIEME

RAPPRESENTAZIONE DEGLI ALGORITMI IL FLOW CHART O DIAGRAMMA DI FLUSSO CONSISTE NELLA RAPPRESENTAZIONE DELLE VARIE OPERAZIONI DELL ALGORITMO MEDIANTE UNA SERIE DI SIMBOLI

INIZIO DELL ALGORITMO INIZIO

FINE DELL ALGORITMO FINE

GENERICA OPERAZIONE DI CALCOLO <<OPERAZIONE>>

LETTURA DI UN DATO IN INGRESSO I

SCRITTURA DI UN DATO IN USCITA O

DIAGRAMMA DI FLUSSO PER IL CALCOLO DELL AREA DI UN QUADRATO INIZIO LATO I AREA = LATO * LATO AREA O FINE

PSEUDOCODIFICA PROGRAMMA area_del_quadrato INIZIO LEGGI (lato) area lato * lato SCRIVI (area) FINE.

CHE COSA SONO I DATI? Per dato si intende un qualunque fatto o elemento fornito da qualcuno, oppure raccolto tramite osservazioni o misurazioni. Un dato è, per esempio, il numero 5, oppure il nome «Andrea". Nell'algoritmo per il calcolo dell area di un quadrato, i dati dell'algoritmo sono il lato e l area. Esistono diversi modi per classificare i dati, in funzione per esempio del tipo (cioè di come vengono rappresentati nell'elaboratore) o in base all'uso che se ne deve fare. A ogni dato è sempre associato un nome che lo identifica in modo univoco, come AREA, LATO, COGNOME, ed è sempre buona norma assegnare ai dati nomi significativi che permettano di comprenderne immediatamente il significato.

Rappresentazione dei dati I dati, in base agli oggetti che rappresentano, possono essere classificati come segue: Numerici: sono i dati che contengono numeri, sui quali è possibile effettuare Ie operazioni aritmetiche (somma, sottrazione, divisione e così via). I numeri si suddividono in : interi: dati numerici che non prevedono cifre decimali; reali: dati numerici che prevedono cifre decimali. Per esempio, il numero di allievi di una classe è rappresentato da un dato numerico intero, la temperatura media registrata a ottobre e un dato numerico decimale. Alfanumerici (detti anche stringhe): sono i dati che contengono caratteri alfabetici (A, B, C,,,. Z), caratteri speciali ($, %,!, 7, &".) e cifre (1, 2, 3".) sulle quali non è possibile effettuare Ie operazioni aritmetiche. Per esempio il nome di un abbonato, l indirizzo, il codice fiscale sono dati di tipo alfanumerico. Anche il numero di un autobus, o il numero di telefono, seppur formati da cifre, sono in genere da considerare di tipo alfanumerico, in quanto qualsiasi operazione aritmetica su di essi sarebbe priva di significato.

Dati di input, di output, di lavoro Un altro modo di considerare i dati è quello di classificarli in base al modo in cui sono utilizzati prevalentemente nell'algoritmo: Dati di input: sono i dati forniti dall'esterno dell'elaboratore, necessari all'elaborazione e che devono essere noti al momento dell'esecuzione (per esempio la base e I'altezza di un triangolo). Dati di output: sono i risultati calcolati dall'elaboratore e comunicati all'esterno (per esempio l'area di un triangolo). Dati di lavoro o Interni: sono dati temporanei utilizzati per gestire risultati intermedi. Si tratta di dati di lavoro che non vengono forniti in output. Dati di input/output: sono dati forniti per l'elaborazione e che vengono successivamente forniti anche in output. Possono essere restituiti in output così come sono stati introdotti (per esempio il nome di una persona mantenuto inalterato), oppure possono essere modificati durante l'elaborazione (per esempio un prezzo da pagare che viene scontato dal programma).

VARIABILI Si può pensare ad una variabile come ad un CONTENITORE identificato da un nome a cui si possono introdurre dei valori. Per esempio RAGGIO è una variabile che contiene la misura del raggio di un cerchio.

COSTANTI Le costanti sono particolari dati il cui valore non cambia mai durante l esecuzione dell algoritmo. Per esempio, se si deve calcolare l area di un cerchio di cui si conosce il raggio, i dati su cui opera l algoritmo sono: RAGGIO, AREA, PIGRECO utilizzando la seguente formula: AREA = RAGGIO*RAGGIO*PIGRECO AREA e RAGGIO sono variabili. PIGRECO è invece una costante.

Definizioni dei dati per gli algoritmi La prima cosa da fare per creare un algoritmo è: individuare quali sono le variabili di input, quelle di output e quelle usate per i valori intermedi. Definire il TIPO per ognuna della variabili Verificare se esistono delle costanti ed indicarle

Per comodità, si può usare la seguente tabella: Variabili: NOME TIPO UTILIZZO DESCRIZIONE A INTERO OUTPUT VARIABILE DA INCREMENTARE Costanti: NOME VALORE DESCRIZIONE PIGRECO 3,14 COSTANTE DA USARE PER LE CIRCONFERENZE