Algoritmi e programmazione

Documenti analoghi
Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Diagrammi a blocchi 1

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

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

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

CAPITOLO 3 - ALGORITMI E CODIFICA

Dispensa di Informatica II.1

Diagrammi a blocchi 1

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Sistemi di Elaborazione delle Informazioni

Linguaggi di programmazione

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

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

Computer. Capitolo 2. 05/04/2012 continuazione 1

Unità di apprendimento 6. Dal problema al programma

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Introduzione ai Calcolatori Elettronici

MODULO 07. La soluzione dei problemi mediante gli algoritmi

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

L uomo come esecutore di algoritmi

Cos è la programmazione?

ALGORITMI: PROPRIETÀ FONDAMENTALI

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Concetti di base dell ICT

Fondamenti di Informatica

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

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

Introduzione alla programmazione

Algoritmi e soluzione di problemi

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Prof. Pagani Corrado ALGORITMI

Corso di Informatica di Base

Caratteristiche di un calcolatore elettronico

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

Elementi di programmazione

Un algoritmo è costituito da una serie di passaggi che portano alla risoluzione di un problema.

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Elementi di programmazione

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Cosa è l Informatica?

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Elementi di Informatica e Programmazione

Salvatore Cuomo Prolusione

ISTITUTO ISTRUZIONE SUPERIORE

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Sistemi Web per il turismo - lezione 3 -

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI

Rappresentazione con i diagrammi di flusso (Flow - chart)

Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma

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

Fondamenti di Algoritmi

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Cognome:, Nome: Matricola:

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

ALGORITMI E SOLUZIONI DI PROBLEMI

Elementi di programmazione

Come ragiona il computer. Problemi e algoritmi

Lezione 5. La macchina universale

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Algoritmi e Linguaggi

Economia Aziendale Sistemi di Elaborazione delle Informazioni Università degli Studi di Enna Kore Mario Collotta

I Linguaggi di Programmazione

Algoritmi e Programmi

Formalismi per la descrizione di algoritmi

generalità concetti di base

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Linguaggi di Programmazione

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

Utilizzo di un elaboratore

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

Introduzione all informatica

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

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

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

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome

CONCETTI FONDAMENTALI

Introduzione. Informatica B. Daniele Loiacono

Blocchi di base. Schemi: Sequenza Selezione Iterazione. Flow chart strutturati Sequenza Selezione Iterazione. Teorema di Bohm e Jacopini

Introduzione alla programmazione strutturata

Il linguaggio di programmazione Python

Sviluppo di programmi

Programmazione di INFORMATICA e Laboratorio

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Algoritmo. Calcolabilità

La teoria degli algoritmi. (Dalla definizione del problema alla scrittura dell algoritmo)

DISPENSE DI PROGRAMMAZIONE

Algoritmi e diagrammi di flusso Classi seconde

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

DESCRIZIONI RIGOROSE c7

Transcript:

lgoritmi e programmazione 1. Software e problemi PROBLEM / SNZ RUORE LGORMO RUVO UZONE ELBORORE / CLCOLORE ESECUORE PROB RS LG ELB ESEC S CLC Problema Situazione di difficoltà ben identificabile alla quale si desidera trovare una soluzione. (esempio: la determinazione del percorso più breve tra due località generiche). stanza di un problema E una situazione particolare di un problema (esempio: devo andare da Reggio Emilia a Baiso e mi interessa determinare il percorso più breve tra queste due specifiche località). Risolutore Colui che definisce il procedimento in grado di individuare una soluzione per un problema o per una classe di problemi aventi caratteristiche comuni. Ciò che ottiene è un algoritmo risolutivo. lgoritmo risolutivo Procedimento che consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme finito di passi semplici (azioni, o meglio istruzioni); in informatica si intende un metodo per la soluzione di un problema adatto a essere implementato sotto forma di programma. Soluzione E l oggetto che ricerchiamo quando vogliamo risolvere un istanza di un problema (esempio: il percorso + breve tra Reggio Emilia e Baiso) Esecutore Colui che esegue l algoritmo risolutivo per giungere alla soluzione dello specifico problema (istanza).

1 LVELLO Miopico: non mi preoccupo del futuro. CLC S ESEC RS 2 LVELLO Risolutore ed esecutore separati l risolutore si occupa del problema generale, mentre l esecutore si occupa dell istanza specifica PROB RS LG S S S ESEC

3 LVELLO lgoritmo implementato in modo automatico su un elaboratore PROB RS LG ELB S S S ESEC

2. dati dati sono caratterizzati da : dentificatore (nome) ipo o Numerici o Caratteri o lfanumerici o booleani classificazione in base all uso che se ne fa: o input o di lavoro o output variabili o costanti 3. Le istruzioni L istruzioni sono i passi elementari di un algoritmo e si suddividono in: istruzioni operative istruzioni di controllo struzioni operative: assegnazione input output struzioni controllo: F SWCH Cicli 4. Le espressioni Le espressioni si dividono in: matematiche o + o o * o / o resto relazionali o > o > o = o!= boolenae Ciascuna di queste operazioni bollane può essere studiata tramite una opportuna tabella di verità o ND o OR o NO o XOR

5. struzioni e diagrammi a blocchi Un diagramma a blocchi (detto anche diagramma di flusso o flow chart) è un linguaggio formale di tipo grafico per rappresentare algoritmi (in senso lato). Esso consente di descrivere le differenti operazioni sotto forma di uno schema in cui le diverse fasi del processo e le differenti condizioni che devono essere rispettate vengono rappresentati da simboli grafici detti blocchi elementari. blocchi sono collegati tra loro tramite frecce che indicano la cronologia. diagrammi trovano la loro applicazione in diversi ambiti: in campo industriale schematizzano i processi, in campo economico vengono usati a supporto delle presentazioni per aiutare i destinatari a visualizzare meglio i contenuti, ma storicamente sono sempre stati molto usati in nformatica dove, in tempi recenti, sono stati soppiantati dall'introduzione dello pseudocodice. blocco iniziale blocco finale blocco di lettura/scrittura blocco azione blocco di controllo Una combinazione di blocchi elementari descrive un algoritmo se: viene usato un numero finito di blocchi lo schema inizia con un blocco iniziale e termina con un blocco finale ogni blocco soddisfa delle condizioni di validità Condizioni di validità condizioni sui blocchi: o blocco azione e blocco lettura/scrittura: ogni blocco di questi due tipi ha una sola freccia entrante e una sola freccia uscente o blocco di controllo: ogni blocco di questo genere ha una sola freccia entrante e due frecce uscenti condizioni sulle frecce: o ogni freccia o entra in un blocco o confluisce in un'altra freccia condizioni sui percorsi: o dal blocco iniziale dev'essere possibile raggiungere ogni altro blocco o da ogni blocco dev'essere possibile raggiungere il blocco finale

Esempio Dato l'algoritmo per il calcolo del fattoriale in maniera ricorsiva un possibile diagramma di flusso per rappresentarlo:

6. Realizzazione del software Hardware Linguaggi Livello Natura Note taliano, nglese, Basic, C, Fortran, urbo Pascal C++, Java ssembly Macchina L O B S S O N U R L F O R M L N U V E F F C E N Portabile Non Portabile Codice Sorgente Codice Sorgente Codice Sorgente COMPLORE Files Oggetto Files Oggetto Files Oggetto LNKER.EXE Codice Sorgente Codice Sorgente Codice Sorgente NERPREE + Lento + Memoria RM occupata (perché occorre caricare tutto il programma interprete) - passaggi richiesti + portabile

7. mbiente di sviluppo mbiente di sviluppo nsieme di strumenti, spesso con una opportuna interfaccia grafica, che sono di aiuto al programmatore nella progettazione, realizzazione, compilazione, test e distribuzione del codice. Metodo di programmazione nalisi del problema nalisi dei dati abella delle variabili Variabile ipo Descrizione /O/L X nt Formulazione dell algoritmo Diagrammi a blocchi Pseudocodice mplementazione del codice NO est Fine est? mbiente di sviluppo: Viasul Basic Ms ccess, Pascal DevPascal C/C++ Visual Studio, Java JavaDevKit, Eclipse S Distribuzione