Algoritmi e diagrammi di flusso - Classi prime I. I. S. "Angelo Omodeo"

Pagina creata da Alessia Innocenti
 
CONTINUA A LEGGERE
Algoritmi e diagrammi di flusso - Classi prime I. I. S. "Angelo Omodeo"
Algoritmi e diagrammi di flusso
            Classi prime

                        Pablo Genova
                 gallini.genova@gmail.com

I. I. S. “Angelo Omodeo”                             Mortara

Indirizzo Tecnico-Economico                 A. S. 2019 – 2020
Algoritmi e diagrammi di flusso - Classi prime I. I. S. "Angelo Omodeo"
Cos'è un algoritmo?
Algoritmo:              procedimento che risolve un dato
                        problema in un numero finito di passi
La proprietà di finitezza è molto importante (Хива) Uzbekistanl'algoritmo deve finire!) inoltre
tipicamente un algoritmo è
●
  non ambiguo,
●
  porta ad un risultato univoco,
●
  viene eseguito in un tempo finito
●
  i passi costituenti sono elementari (Хива) Uzbekistannon ulteriormente scomponibili)

                   il passo dell'algoritmo si dice STEP in inglese

Curiosità: la parola algoritmo deriva da
Muhammad ibn Mūsā al-Khwārizmī,
matematico persiano della Corasmia
attualmente Xiva (Хива) UzbekistanХива) Uzbekistan) Uzbekistan
Dal problema all'algoritmo

 Quando costruiamo un algoritmo, creiamo una procedura
 generale, astratta, che ci permette di risolvere un problema

Definiremo delle VARIABILI                          numeri o caratteri che
                                                variano nel corso dell'algoritmo

e delle                   COSTANTI               numeri o caratteri che
                                                  rimangono costanti
                                            NON variano nel corso dell'algoritmo

Esempio di costanti: π (Хива) Uzbekistanpi greco) c (Хива) Uzbekistanvelocità della luce),
ma anche qualunque valore numerico che non cambia più in tutto il
procedimento,
Esempio economico: aliquota IVA fissata ad es. al 23% IVA=23%
Diagrammi di flusso
Per rappresentare un algoritmo usiamo la tecnica dei
diagrammi di flusso.

Se usata correttamente, è già un modo rudimentale di
programmazione, ovvero di elaborazione di un programma,
che è un insieme di istruzioni comprensibile al calcolatore.

Nel diagramma di flusso è già presente la logica della
programmazione, ciò che manca è la codifica, ovvero il
linguaggio concreto che esprime i vari passaggi in forma
comprensibile al calcolatore (Хива) Uzbekistanquesto non lo vedremo)
Curiosità flowchart originali IBM:
      http://www.eah-jena.de/~kleine/history/software/IBM-FlowchartingTechniques-GC20-8152-1.pdf
Blocchi elementari

         INIZIO                                     FINE

                   I                                              O
                                                     ….
         ….

                       connettori
input                                            output

        …...           V
                                                          Elaborazione
                                                             (calcolo)
               F             Selezione binaria
Quanti tipi di blocchi servono?
  I due informatici italiani Corrado Böhm e Giuseppe
  Jacopini hanno dimostrato che

  OGNI ALGORITMO PUO' ESSERE IMPLEMENTATO
     UTILIZZANDO LE SOLE TRE STRUTTURE:

          SEQUENZA, SELEZIONE ED ITERAZIONE
               Teorema di Böhm-Jacopini

SEQUENZA E SELEZIONE le abbiamo già viste
(Хива) Uzbekistanle sequenze sono i blocchi di elaborazione)

L'ITERAZIONE E' UNA STRUTTURA CHE PERMETTE DI RIPETERE un
dato numero di volte una o più operazioni

L'ITERAZIONE è anche nota come CICLO O LOOP
La media e la somma di tre numeri QUALSIASI
        Dati tre numeri, calcolarne la somma e la media, visualizzare il risultato
                                        INIZIO                    COMMENTI

                                                     I    Blocco di Input: inserisco i tre
                                      A, B, C
ATTENZIONE!                                               numeri utilizzando le variabili
                                                                     A, B e C
    IL SIMBOLO
        =                           S = A+ B +C
                                                         Calcolo la somma assegnando
 IN INFORMATICA                                           alla variabile S il valore della
significa ASSEGNO                                                 somma A+B+C
È sbagliato scrivere
!!!! A+B+C = S !!!!                                                Calcolo la media
                                     M=S/3                    si poteva anche scrivere
                                                                   M = (A+B+C)/3
ATTENZIONE!
 BISOGNA ESSERE
    COERENTI                                                   Blocco di Output: visualizzo
                                                     O           S e M (somma e media)
 SE HO CHIAMATO                         S, M                         come richiesto
   S LA SOMMA
    COSI' DEVE
 ESSERE IN TUTTO
   LO SCHEMA                            FINE
Esempio di selezione
  Confrontare le aree di un quadrato e di un cerchio e dire qual è la figura con area maggiore

                                           INIZIO                    Definisco la
  ATTENZIONE!                                                        costante pi_greco
 I COMMENTI SARANNO                                                  come 3.14159
    RICHIESTI NELLA                                                  (approssimazione)
                                       pi_greco =3.14159
       VERIFICA

                                                         I      Inserisco lato del quadrato e
                                           L, R                 raggio del cerchio
  ATTENZIONE!
   DATO CHE LE DUE
AREE SONO GENERICHE                     A_q = L*L               Calcolo area quadrato A_q
E DIVERSE FRA DI LORO
 BISOGNA CHIAMARLE
  CON NOMI DIVERSI
                                 A_c =pi_greco * R * R          Calcolo area cerchio A_c

                      O                                        F                         O
      Il cerchio ha         V            A_c > A_q                        Il quadrato ha
     area maggiore                                                        area maggiore

                                           FINE
Esempio di iterazione Somma da 1 a 10
                             INIZIO
      non
  richiesto
                         S       =    0          Definisco la variabile S e la metto a 0
in verifica lo
faremo bene
    l’anno
                                                 Definisco la variabile I e la metto a 0
  prossimo               I       =       0                  I è un contatore

                                                     Incremento di 1 il contatore
                     I       =       I+1                   metto I+1 in I
                                                    Questo serve a fare il CICLO

                                                  Incremento la somma di I, questo
                     S       =       S+I          serve a fare la somma

                                                  BLOCCO IL CICLO QUANDO
                                                  HO RAGGIUNTO IL
                 V
                                                  NUMERO RICHIESTO (10)
                             I < 10                attenzione è minore stretto
                                                            è < NON ≤
                                     F
                                          CONTINUA IN SLIDE SUCCESSIVA
INIZIA IN SLIDE PRECEDENTE
                                    O
                         S                    VISUALIZZO S

                        FINE

I cicli sono in qualche modo l'essenza della programmazione perché
vi permettono di dire al calcolatore di ripetere tante volte una data
operazione e quindi di fare in poco tempo calcoli complessi o lunghi
per l'umano.
Nella verifica occorre sempre RICORDARE
      LE UNITA' DELL'INFORMATICA (Хива) Uzbekistandal bit al Terabyte)
          CONVERSIONI BINARIO                       DECIMALE
         L'ARCHITETTURA DI VON NEUMANN
  LA STRUTTURA A LIVELLI DI UN SISTEMA OPERATIVO
             COS'E' L'ESTENSIONE DI UN FILE E
         LE PRINCIPALI ESTENSIONI DI USO COMUNE

      ATTENZIONE: questi argomenti
     possono SEMPRE essere richiesti!
   RICORDARE LE ELEMENTARI FORMULE GEOMETRICHE che
    permettono di calcolare aree e perimetri di quadrati, cerchi
rettangoli, noti i lati, i raggi, i diametri, ovvero con ovvie notazioni:
p quadrato = L *4   prettangolo = 2 * (a+b)   p triangolo = a+b+c pcerchio= π d = 2 π r
 A quadrato = L2     A rettangolo = b*h        A triangolo = b*h/2   A cerchio = π r2
Puoi anche leggere