La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Problemi, algoritmi e programmazione

Presentazioni simili


Presentazione sul tema: "Problemi, algoritmi e programmazione"— 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. Problema Algoritmo Dati Programma 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. I linguaggi possono essere Naturali Artificiali 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 di programmazione Problemi, algoritmi e programmazione > Comunicare con il calcolatore

10 Ci sono infatti 2 soli simboli:
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: 0 e 1 Problemi, algoritmi e programmazione > Comunicare con il calcolatore

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 linguaggi simbolici ad alto livello
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? La soluzione è nell'uso di un programma che faccia da interprete e trasformi il linguaggio di alto livello nel linguaggio della macchina Il compilatore Problemi, algoritmi e programmazione > Comunicare con il calcolatore

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

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

17 Basic Fortran Cobol C,C++ Pascal Java
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 ALGORITMO Cioè i passi da compiere per ottenere i risultati attesi. Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

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 : Dati in input Lo scenario finale: Dati 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 : Ogni algoritmo deve iniziare con il simbolo: Questi due simboli devono presentarsi una sola volta all’interno del flow-chart e deve concludersi con il simbolo: 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
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. L'algoritmo risolutivo del problema dato Problemi, algoritmi e programmazione > Gli algoritmi e la loro rappresentazione

29 I dati

30 I dati 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 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. Dati alfanumerici 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: Costanti Variabili 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"

Presentazioni simili


Annunci Google