La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica generale Scienza della Comunicazione Paolo Amico Problemi e Programmi.

Presentazioni simili


Presentazione sul tema: "Informatica generale Scienza della Comunicazione Paolo Amico Problemi e Programmi."— Transcript della presentazione:

1 Informatica generale Scienza della Comunicazione Paolo Amico Problemi e Programmi

2 CARATTERISTICHE FONDAMENTALI DI UN ESECUTORE Unazione fondamentale presente in un processo eseguito da un calcolatore è lassegnamento. V 9 V E E Espressione, cioè una formula che specifica sempre un valore. Ogni espressione è composta da operandi e operatori Gli operandi possono essere costanti, espressioni o variabili Gli operatori possono essere di tre tipi: aritmetici, di relazione e logici

3 CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE Operatori aritmetici +addizione -sottrazione *moltiplicazione divDivisione tra numeri interi /Divisione tra numeri reali modCalcolo del resto della divisione tra interi ^Elevamento a potenza

4 CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE Operatori di relazione Maggiore >=Maggiore o uguale di <>Diverso

5 CARATTERISTICHE FONDAMENTALI DI UN ESECUTORE Operatori logici AndPer il prodotto logico (congiunzione) OrPer la somma logica (disgiunzione) NotPer la negazione XorPer lOR esclusivo

6 Diagrammi di flusso Per la descrizione degli algoritmi si utilizzano particolari rappresentazioni grafiche denominate diagrammi di flusso, schemi a blocchi o flowchart Questa descrizione costituisce un efficace strumento per la descrizione degli algoritmi, più valido di una esposizione di tipo discorsivo (troppo generica e ambigua) Qualsiasi algoritmo può essere decomposto in poche funzioni elementari Trasferimento dati Blocco operativo Blocco decisionale Inizio o fine Simbolo di connessione

7 LA PSEUDOCODIFICA La pseudocodifica è la descrizione di un algoritmo ottenuta utilizzando termini e parole del linguaggio comune, ma applicando una serie di regole che permettono di organizzare un tipo di testo formalmente rigoroso e strettamente orientato alla stesura degli algoritmi. La pseudocodifica utilizza delle regole per strutturare il testo: Le parole chiave che aprono e chiudono il testo di un algoritmo sono INIZIO e FINE. Altre parole chiave sono A, ALLORA, ALTRIMENTI, CASO, DA, DI, ESEGUI, FINCHE, MENTRE, PASSO, PER, RIPETI, SE. Ogni istruzione è indicata con una frase del linguaggio corrente e può contenere unespressione di tipo aritmetico o logico Le istruzioni leggi(lista di variabili) e scrivi(variabili e costanti) vengono utilizzate per descrivere le operazione di immissione ed emissione dei dati La richiesta allutente per acquisire i dati necessari allelaborazione può essere indicata con chiedi(lista dei dati che servono) Le variabili, le costanti vengono indicate da parole in minuscolo dette identificatori

8 ESEMPIO h b A= b h Dati input Base e altezza del rettangolo Dati output Area del rettangolo Algoritmo rettangolo INIZIO Chiedi(base, altezza) Leggi(base, altezza) Area base * altezza Scrivi area FINE

9 ESEMPIO h b A= b h Dati input Base e altezza del rettangolo Dati output Area del rettangolo Inizio Fine Chiedi base, altezza Leggi base altezza Scrivi area Area base * altezza

10 La programmazione strutturata è una tecnica di programmazione che ha lo scopo di semplificare la struttura di un algoritmo disciplinando l'organizzazione di uno schema a blocchi In particolare prevede l'uso di un numero limitato di strutture di controllo fondamentali Struttura di controllo: flowchart parziale da assumere come modello di computazione, con un ingresso ed una uscita La programmazione strutturata vincola quindi l'utilizzo delle strutture di controllo, ma offre i seguenti vantaggi: rende possibile una progettazione di tipo Top-Down permette la definizione di algoritmi più leggibili, essendo più facile individuare i moduli corrispondenti alle varie parti di cui si compone l'algoritmo test, correzione e manutenzione del programma sono perciò più semplici Programmazione Strutturata

11 Programmazione strutturata Si assumono come strutture di controllo fondamentali: A B Falso p Vero AB p A Sequenza Selezione binaria While do (ripeti mentre)

12 Istruzioni per il controllo di flusso Forniscono al programmatore il meccanismo per decidere se e come eseguire blocchi di istruzioni condizionatamente a meccanismo decisionali definiti allinterno della applicazione Istruzioni per il controllo di flusso IstruzioneDescrizione if Esegue o no un blocco di codice a seconda del valore restituito da una espressione booleana if-else Esegue permette di selezionare tra due blocchi di codice quello da eseguire a seconda del valore restituito da una espressione booleana while Esegue ripetutamente un blocco di codice controllando il valore di una espressione booleana do-while Esegue ripetutamente un blocco di codice controllando il valore di una espressione booleana

13 Sequenza Flowchart della struttura sequenza –Due azioni eseguite in ordine somma linverso del cubo di i ad s Incrementa il contatore

14 Ciclo while p A Vero Esegue una istruzione mentre una condizione è verificata

15 Ciclo do-while Esegue una istruzione finché una condizione diventa falsa A p Falso Vero

16 La selezione binaria if È usata per scegliere fra due alternative –Pseudocodice Se il voto è maggiore di 18 allora lesame è superato Falso voto>=18 Vero stampa Esempio di flowchart della struttura if if è una struttura con un solo punto di uscita

17 La selezione binaria if/else Strutture di selezione –if Esegui una singola operazione se la condizione è vera –if/else Esegui operazioni diverse quando la condizione è vera o quando è falsa Pseudocodice Se il voto è maggiore o uguale di 18 Stampa Esame superato altrimenti Stampa Esame non superato

18 La selezione binaria if/else verofalso Stampa Esame non superatoStampa Esame superato voto >= 18

19 stampa 30 volte la parola TRE START END C := 1 C := C + 1 stampa TRE C = 30 VF Ciclo controllato da un contatore

20 Media dei voti: –Descrizione del problema: Una classe di 10 studenti affronta un quiz. I risultati sono interi fra 0 e 100. Calcolare la media complessiva. È una iterazione controllata da un contatore –Il ciclo viene ripetuto finché un contatore non raggiunge un determinato valore –Il numero di iterazioni è noto: si usa un contatore

21 Descrizione a parole: 1.azzera somma parziale - accumulatore 2.azzera il contatore dei numeri già introdotti 3.leggi un dato 4.somma il dato allaccumulatore 5.incrementa il contatore 6.se il numero di dati letti (contatore) è minore di 10 torna a 3, altrimenti continua 7.stampa la media Falso Inizio I = 0 S = 0 I<10 Lettura dato D i S: = S + D i I = I + 1 Stampa media Fine Vero I contatore S accumulatore

22 somma due numeri avendo a disposizione solo loperazione di incremento unitario (macchina a strati) START END dati A B RIS := A; CON := 1 stampa RISCON := CON + 1 CON = B VF RIS := RIS + 1 A e B > 0

23 moltiplica due numeri avendo a disposizione solo loperazione di somma (macchina a strati) START END dati A B RIS := 0; CON := 1 stampa RISCON := CON + 1 CON = B VF RIS := RIS + A A e B > 0

24 Ciclo controllato da una sentinella Problema: costruire un algoritmo che, assegnati N dati numerici A1, A2, A3, …, AN Con N non noto a priori, sia capace di: 1)Contare i dati, ossia determinare N 2)Calcolare la somma S dei Dati Occorre un contatote Ct che, inizialmente azzerato, viene incrementato di una unità ogni volta che uno dei dati viene introdotto in memoria Occorre una sentinella (flag) adibita a segnalare il momento in cui si realizza Levento: la lettura dei dati è terminata

25 A tale scopo si usa una variabile che chiameremo spia e che manterremo Spenta (spia=0) per tutta la durata della lettura dei dati eche accenderemo (spia=1) subito dopo limmissione dellultimo dato Algoritmo INIZIO Spia:=0 Ct:=0 S:=0 Ripeti Introduzione del dato in A Introduzione di 0 o 1 in spia a seconda che la lettura dei dati non sia, o sia terminata Incrementa il contatore Incrementa la somma Finché (spia=1) Visualizza contatore Visualizza somma FINE

26 Inizio Spia: = 0 Ct: = 0 S:=0 Spia=1 Lettura dato A, spia Fine Ct: = Ct+1 S:=S+A N=Ct Somma=S falso vero

27 MCD(m,n) m,n >0 1. Leggi m e n; 2. considera il minore tra i due numeri (min) 3. verifica se min è divisore sia di m che di n. In caso positivo min è il MCD cercato altrimenti 3.1 sottrai 1 a min e torna al punto 3 Leggi n Leggi m Stampa min r1 m mod min si (r1=0 and r2=0) min min-1 si r2 n mod min m>n min n min m


Scaricare ppt "Informatica generale Scienza della Comunicazione Paolo Amico Problemi e Programmi."

Presentazioni simili


Annunci Google