Problemi, algoritmi e programmazione

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Informatica Generale Marzia Buscemi
Sistema operativo MS-DOS
Il Software.
Software di base: Linguaggi di Programmazione
Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Costruzione di un semplice programma che opererà su uno smartphone
Evoluzione dei linguaggi di programmazione
Dal problema al programma
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
I linguaggi di programmazione
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
Fondamenti di Informatica
Il computer ragiona? Problemi e algoritmi.
Informatica Problema Algoritmo Programma
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione alla programmazione ll
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Unità Didattica 2 I Linguaggi di Programmazione
Primi Elementi di Programmazione in C++
Strutture di controllo in C -- Flow Chart --
Gli algoritmi.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
Elementi di Informatica
Elementi di Informatica
Da Problema a Programmazione
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
PROGRAMMAZIONE: linguaggi
Le basi della programmazione
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 15 ISTRUZIONI
ECDL Patente europea del computer
Linguaggi per COMUNICARE
Programma di Informatica Classi Prime
COME RAGIONA UN COMPUTER
Dal problema all’ algoritmo
Rappresentazione degli algoritmi
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
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
Algoritmi.
Realizzazione software
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Progettazione degli algoritmi
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.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Unità di apprendimento 6 Dal problema al programma.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Problemi, algoritmi e programmazione

Obiettivi

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

Dal problema al programma

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

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

Comunicare con il calcolatore

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

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

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

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

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

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

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

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

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

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

Gli algoritmi e la loro rappresentazione

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

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

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

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

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

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

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

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

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

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

I dati

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

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

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

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

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 - 3.14 - non cambierà mai durante l'esecuzione del programma Problemi, algoritmi e programmazione > I dati