Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Documenti analoghi
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Algebra Booleana ed Espressioni Booleane

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

Descrizione di un algoritmo

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

DAL DIAGRAMMA AL CODICE

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Lezione 8. La macchina universale

Appunti di Sistemi Elettronici

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmi di Ricerca. Esempi di programmi Java

Introduzione al MATLAB c Parte 2

GESTIONE INFORMATICA DEI DATI AZIENDALI

Gli algoritmi: definizioni e proprietà

10 - Programmare con gli Array

Arduino: Programmazione

GUIDA BASE DI PASCAL

ALGEBRA DELLE PROPOSIZIONI

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Richiesta pagina PHP (es: index.php)

Funzioni in C. Violetta Lonati

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Matlab: Strutture di Controllo. Informatica B

Corso di Laurea in INFORMATICA

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Algebra di Boole ed Elementi di Logica

Strutture di controllo del flusso di esecuzione

Introduzione ai Metodi Formali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

3. La sintassi di Java

ASP 3.0 Il Sito Dinamico

Il software e la programmazione

La selezione binaria

Definizione di nuovi tipi in C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

DISPENSE DI PROGRAMMAZIONE. Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte III)

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

Elementi di Informatica

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

STRUTTURE (O COSTRUTTI) DI CONTROLLO

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Esercitazione Informatica I AA Nicola Paoletti

Tipologie di macchine di Turing

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

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

4 3 4 = 4 x x x 10 0 aaa

Elementi di semantica operazionale

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

La programmazione. Sviluppo del software

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Ricerca binaria. Operazione dominante: confronto

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Come ragiona il computer. Problemi e algoritmi

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >


INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Esempi di algoritmi. Lezione III

Algoritmi e Strutture Dati

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Algoritmi, dati e programmi

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Verifica della correttezza formale del numero di partita IVA

Informatica. Rappresentazione dei numeri Numerazione binaria

Testi di Esercizi e Quesiti 1

Note su quicksort per ASD (DRAFT)

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Semantica Assiomatica

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

Introduzione ai tipi di dato astratti: applicazione alle liste

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

Derive 5. di Stefania Mannara. Studio di funzione con Derive 5 di Stefania Mannara (SICSI VI CICLO) 1 28/05/2009

Nozione di algoritmo. Gabriella Trucco

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

Laboratorio di Informatica

Il problema del produttore e del consumatore. Cooperazione tra processi

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Operatori logici e porte logiche

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Sottoprogrammi: astrazione procedurale

IMMATRICOLAZIONI. IMMATRICOLATI PURI Tutti gli studenti immatricolati per la prima volta al Sistema Universitario Nazionale.

Laurea Specialistica in Informatica

Transcript:

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Concetti importanti da (ri)vedere Programmazione imperativa Strutture di controllo Struttura condizionale Struttura iterativa con contatore (enumerativa) Operatori booleani Algebra di Boole

Programmazione imperativa Perché la programmazione? Per poter comunicare con il computer e automatizzare la risoluzione di problemi. Cos è la programmazione imperativa? È un tipo di programmazione in cui la soluzione del problema è descritta come una sequenza di azioni che producono aggiornamenti/modifiche nel valore delle variabili, in modo da fornire i risultati richiesti.

Strutture di controllo Per descrivere qualsiasi algoritmo è sufficiente usare una combinazione di tre strutture di controllo: Struttura sequenziale: la istruzioni vengono indicate ed eseguite una dopo l altra, in sequenza. Struttura di selezione (condizionale): le istruzioni vengono separate in due gruppi che vengono eseguiti in alternativa, in base al verificarsi di una condizione. Struttura iterativa (ciclica o di ripetizione): un gruppo di istruzioni viene ripetuto più volte, in base al verificarsi di una condizione.

Struttura condizionale Permette di eseguire due diverse sequenze di istruzioni in alternativa, in base al verificarsi di una determinata condizione. se condizione V condizione F istruzioni1 altrimenti istruzioni2 istruzioni1 istruzioni2 fine

Struttura condizionale C e Pascal C/C++ if (condizione) { istruzioni1; } else { istruzioni2; } Pascal if condizione then begin istruzioni1; end else begin istruzioni2; end;

Struttura iterativa Permette di ripetere una sequenza di istruzioni fintanto che una condizione risulta vera; quando questa diventa falsa, il ciclo di ripetizioni termina. mentre condizione istruzioni fine mentre condizione V istruzioni F

Struttura iterativa con controllo in testa Per prima cosa si controlla la condizione. Se questa è vera si procede all esecuzione del blocco di istruzioni, si torna all inizio del ciclo e si effettua un nuovo controllo. C/C++ while (condizione) { istruzioni; } Pascal while condizione do begin istruzioni; end; Entrambe escono sul falso (cioè il ciclo viene ripetuto finché la condizione rimane vera)

Struttura iterativa enumerativa Quando si conosce il numero di ripetizioni da effettuare si utilizza solitamente un ciclo enumerativo: per contatore da valoreiniziale, a valorefinale, con incremento istruzioni fine per Il contatore parte dal valore iniziale e viene confrontato con quello finale; se il confronto dà esito positivo, si eseguono le istruzioni; si incrementa poi il contatore del valore stabilito e si esegue un nuovo confronto con il valore finale. Il ciclo termina quando il contatore raggiunge il valore finale.

Struttura iterativa C C/C++ for(inizializzazione;condizione;incremento) { istruzioni; } Esempio (ciclo con contatore da 0 a n -n escluso- e incremento unitario): for(i=0;i<n;i=i+1){ } Esempio (ciclo con contatore da 0 a n -n compreso- e incremento 3): for(i=0;i<=n;i=i+3){ } Esempio (ciclo con contatore da n a 0-0 compreso- e decremento 2): for(i=n;i>=0;i=i-2){ }

Struttura iterativa Pascal Pascal for indice := valoreiniziale to valorefinale do begin istruzioni; end N.B. In Pascal il passo può essere solo unitario Esempio (ciclo con contatore da 0 a n -n escluso-) : for i:=0 to n-1 do begin end Esempio (ciclo con contatore da n a 0-0 compreso-) : for i:=n downto 0 do begin end

Struttura iterativa e array (vettori e matrici) La struttura iterativa enumerativa (con contatore) è particolarmente utile quando occorre accedere in ordine a tutti gli elementi di un vettore o di una matrice, poiché questi sono contraddistinti da indici che vanno da un valore minimo (1 o 0) ad un valore massimo (dimensione o dimensione-1) prefissati.

Operatori logici (booleani) C/C++ Pascal Quando possibile, evitano la valutazione del secondo operando && And Or and or

Algebra di Boole Consideriamo l insieme U={0,1}, dove 0 e 1 non sono necessariamente cifre numeriche, ma stati (on off, true false ). La somma logica vale 1 se almeno uno degli operandi vale 1. Il prodotto logico vale 1 se entrambi gli operandi valgono 1.

Tavole di verità Sono tabelle in cui le variabili d ingresso vengono organizzate in modo da: prevedere tutte le possibili combinazioni rappresentare per ciascuna il risultato dell operazione logica.

Tabella di verità della somma logica (OR) a b a+b 0 0 0 0 1 1 1 0 1 1 1 1

Tabella di verità del prodotto logico (AND) a b a b 0 0 0 0 1 0 1 0 0 1 1 1