La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Problemi, algoritmi e programmazione. Obiettivi Comunicare con il computer Questa lezione introduce la programmazione, che è una attività complessa e.

Presentazioni simili


Presentazione sul tema: "Problemi, algoritmi e programmazione. Obiettivi Comunicare con il computer Questa lezione introduce la programmazione, che è una attività complessa e."— Transcript della presentazione:

1 Problemi, algoritmi e programmazione

2 Obiettivi

3 Comunicare con il computer Questa lezione introduce la programmazione, che è una attività complessa e articolata, impossibile senza alcune nozioni di base, che qui introdurremo : programmare significa scrivere istruzioni; programmare significa comunicare con il computer; che cosa è un algoritmo; come si trattano i dati. Problemi, algoritmi e programmazione > Obiettivi

4 Dal problema al programma

5 Programmare Programmare significa descrivere un procedimento capace di far svolgere a una macchina/esecutore una serie ordinata di operazioni in modo da raggiungere il risultato finale desiderato. Programma Algoritmo Problema Dati Esecutore Risultati Problemi, algoritmi e programmazione > Programmare

6 Il programma Il computer è un esecutore Esegue in sequenza comandi che elaborano dati, cioè il programma. Il programma è il mezzo con cui l’uomo descrive ciò che la macchina deve fare e come deve farlo. Problemi, algoritmi e programmazione > Programmare

7 Comunicare con il calcolatore

8 Comunicare con il computer Per poter meglio comprendere le fasi che portano alla realizzazione di un programma, cerchiamo di capire come è possibile comunicare con il calcolatore e, quindi, come dobbiamo fornirgli le istruzioni affinché sia in grado di eseguire il compito che vogliamo affidargli. Problemi, algoritmi e programmazione > Comunicare con il calcolatore

9 Comunicare con il computer Per comunicare occorre un linguaggio. Sono usati nella comunicazione tra uomini Hanno un vocabolario molto vasto e una sintassi poco rigida Sono usati nella comunicazione fra macchine e sono definiti da un vocabolario ristrettissimo e una sintassi rigidissima. I linguaggi possono essere NaturaliArtificiali Problemi, algoritmi e programmazione > Comunicare con il calcolatore I linguaggi di programmazione

10 Il linguaggio del computer Tutti i linguaggi si basano su un alfabeto. Ogni alfabeto è basato su un insieme di simboli. Il linguaggio dei computer ha un alfabeto molto semplice! Ci sono infatti 2 soli simboli: Problemi, algoritmi e programmazione > Comunicare con il calcolatore 0 e 1

11 Il linguaggio del computer Per dare istruzioni ad un computer bisogna usare un linguaggio composto solo da 0 e 1. Il computer è progettato per eseguire funzioni elementari E' possibile eseguire ognuna di queste funzioni elementari con un comando rappresentato da un codice formato solo dai simboli 0 e 1 Istruzione macchina Problemi, algoritmi e programmazione > Comunicare con il calcolatore

12 Il linguaggio del computer L'insieme delle istruzioni che un computer è in grado di eseguire è detto Linguaggio macchina I calcolatori sono in grado di eseguire solo programmi scritti in linguaggio macchina. Problemi, algoritmi e programmazione > Comunicare con il calcolatore

13 Il linguaggio del computer L'uomo non è in grado di dare comandi al computer (cioè di scrivere programmi ) usando il linguaggio macchina! Occorre avere un linguaggio che l'uomo possa comprendere, cioè formato da simboli (alfabeto) e parole comprensibili linguaggi simbolici ad alto livello Problemi, algoritmi e programmazione > Comunicare con il calcolatore

14 Il linguaggio del computer Il problema è : Come tradurre un programma scritto con un linguaggio di alto livello in un programma in linguaggio macchina, quindi effettivamente eseguibile dal computer? Il compilatore La soluzione è nell'uso di un programma che faccia da interprete e trasformi il linguaggio di alto livello nel linguaggio della macchina Problemi, algoritmi e programmazione > Comunicare con il calcolatore

15 Il linguaggio del computer CompilatoreProgramma eseguibile in linguaggio macchinaProgramma nel linguaggio di alto livello Problemi, algoritmi e programmazione > Comunicare con il calcolatore

16 Il linguaggio del computer Linguaggi orientati alla macchina I linguaggi che un programmatore può usare sono di 2 tipi: Linguaggi orientati all'uomo L inguaggi assembler Linguaggi di alto livello Problemi, algoritmi e programmazione > Comunicare con il calcolatore

17 I principali linguaggi di alto livello  Basic  Fortran  Cobol  C,C++  Pascal  Java Problemi, algoritmi e programmazione > Comunicare con il calcolatore

18 Gli algoritmi e la loro rappresentazione

19 Le fasi della realizzazione di un programma  Capire il problema e individuare la soluzione (algoritmo)  Progettare e codificare il programma  Creare il programma eseguibile  Eseguire e provare il programma  Documentare il programma Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

20 Capire il problema e individuare la soluzione Per scrivere un programma occorre trovare per prima cosa la sua soluzione descritta da un ALGORITMO Cioè i passi da compiere per ottenere i risultati attesi. Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione ALGORITMO

21 Capire il problema e individuare la soluzione Per individuare correttamente l'algoritmo risolutivo del nostro problema occorre conoscere da dove si parte e dove si vuole arrivare Lo scenario iniziale : Lo scenario finale: Dati in inputDati in output Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

22 L'algoritmo Nella vita quotidiana capita regolarmente di dover svolgere un’azione complessa, formata da più passi elementari che devono essere eseguiti in un ordine prestabilito. Se vuoi giocare con una console dovrai compiere alcune azioni elementari. Qual è la sequenza di azioni che devi compiere? Se descrivi queste azioni nell'ordine corretto avrai descritto l'algoritmo che ti permette di giocare. Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

23 Caratteristiche di un algoritmo  Finito  Deterministico  Non ambiguo  Generale Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

24 Rappresentazione di un algoritmo Per descrivere correttamente un algoritmo esistono 2 strumenti: Diagrammi a blocchi o Flow Chart La pseudocodifica Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

25 Flow Chart (diagrammi di flusso) Nella descrizione tramite diagramma a blocchi o flow-chart, a ogni simbolo corrisponde un preciso tipo di operazione : O gni algoritmo deve iniziare con il simbolo: e deve concludersi con il simbolo: Questi due simboli devono presentarsi una sola volta all’interno del flow-chart Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

26 Flow Chart (diagrammi di flusso) indica un’operazione (indicata all’interno del riquadro). indica l’operazione di lettura (input) indica l’operazione di scrittura (output) Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

27 Flow Chart (diagrammi di flusso) - esempio Problema: Calcola l'area di un quadrato, Prendendo in input la misura del suo lato L'algoritmo risolutivo del problema dato Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

28 Pseudocodifica - esempio L'algoritmo risolutivo del problema dato Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione Si utilizza un linguaggio speciale che descrive le istruzioni con frasi rigorose anziché con simboli grafici. Facciamo un esempio: Calcola l'area di un quadrato, Prendendo in input la misura del suo lato.

29 I dati

30 Dal momento che un algoritmo è un procedimento (sequenza di passi) capace di trasformare i dati iniziali nei risultati finali, occorre definire che cosa è un dato Per dato si intende un qualunque fatto o elemento fornito da qualcuno, oppure raccolto tramite osservazioni o misurazioni Problemi, algoritmi e programmazione > I dati

31 Rappresentazione dei dati I dati, in base agli oggetti che rappresentano, possono essere classificati come segue: Dati numerici Dati alfanumerici dati su cui possono essere effettuate operazioni aritmetiche dati che contengono caratteri alfabetici (A, B, C,... Z), caratteri speciali ($, %, !, ?, &...) e cifre (1, 2, 3...) sulle quali non è possibile effettuare le operazioni aritmetiche. Problemi, algoritmi e programmazione > I dati

32 Contenitori per i dati Dove possono essere contenuti i dati che il vostro programma deve elaborare? I contenitori per i dati possono essere di 2 tipi: VariabiliCostanti Problemi, algoritmi e programmazione > I dati

33 Contenitori per i dati. Le variabili Una variabile è un contenitore identificato da un nome in cui si possono introdurre dei valori, questi valori possono essere modificati durante l'esecuzione di un programma. Una variabile può essere letta o scritta Variabile= contenuto che può variare Problemi, algoritmi e programmazione > I dati

34 Contenitori per i dati: le Costanti Le costanti sono dati particolari il cui valore non cambia durante l’esecuzione dell’algoritmo. Esempio: se devo calcolare l'area di un cerchio: AREA = RAGGIO*RAGGIO*PIGRECO PIGRECO sarà un dato costante, il cui valore non cambierà mai durante l'esecuzione del programma Problemi, algoritmi e programmazione > I dati


Scaricare ppt "Problemi, algoritmi e programmazione. Obiettivi Comunicare con il computer Questa lezione introduce la programmazione, che è una attività complessa e."

Presentazioni simili


Annunci Google