Thread obsoleto Strutture di controllo

-MetalSnake-

Utente Attivo
Autore del topic
17 Febbraio 2010
375
22
Miglior risposta
0
Come in tutti i linguaggi ad alto livello, anche il "nostro" Python ha le amate strutture di controllo. Per chi non lo sapesse esse servono a verificare se una data condizione è vera (true), oppure falsa (false), e ad eseguire dell'eventuale codice.
Vediamo la sintassi:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Noterete che quando premente invio dopo aver inserito i due punti ":", Python indenta automaticamente il codice.
N.B: Il codice deve restare indendato obbligatoriamente per poter funzionare.

Passiamo ad un esempio più pratico.
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Analizziamo il codice riga per riga:
- Nelle prime due righe dichiaro due variabili e ne richiedo l'input del valore.
- La prima condizione è che se (if) A è minore di B allora dovrà eseguire l'operazione di assegnamento c = a * b;
- Se invece (elif) A è uguale a B, l'operazione di assegnamento sarà C = A + B
- Infine, se nessuna delle condizioni precedenti è vera l'operazione di assegnamento sarà C = A - B
- Stampo C

La struttura elif è molto utile perché permette al programmatore di risparmiare una grande quantità di tempo e di scrivere del codice inutile, come potrebbe essere questo:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

N.B: Ci tengo a ricordare che nelle strutture di controllo e nei cicli, l'operatore = (uguale) si scriverà ==, a differenza dell'operatore di assegnamento.

Operatori booleani.
Molto importanti sono i cosidetti operatori booleani, che permettono di inserire più condizioni all'interno della struttura.

Ecco i più importanti:
and: tutte le condizioni della struttura devono risultare true.
or: almeno una delle condizione della struttura deve risultare true.
xor avendo due condizioni, una deve essere true e l'altra obbligatoriamente false.

Brevi esempi:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Infine vi lascio una lista con gli operatori più utilizzati e vi invito a leggere la documentazione ufficiale per approfondire l'argomento.

+, -, *, /: addizione; sottrazione; moltiplicazione; divisione.
%: restituisce il resto di una divisione.
<, <=, >, >=, ==, !=: minore a; minore o uguale a; maggiore a; maggiore o uguale a; uguale a; diverso da;

Fone: mia.
 
Riferimento: Strutture di controllo

Le istruzioni di verifica sono magnifiche, perchè in un certo senso fanno diventare la macchina come un "pensatore", nel senso che portano il computer al ragionamento, anzichè ad eseguire solo delle istruzioni.

Good work.
 
Riferimento: Strutture di controllo

Le istruzioni di verifica sono magnifiche, perchè in un certo senso fanno diventare la macchina come un "pensatore", nel senso che portano il computer al ragionamento, anzichè ad eseguire solo delle istruzioni.

Good work.

Anche se non sono proprio del tuo stesso parere sono d'accordo sul fatto che siano magnifiche.
 
Riferimento: Strutture di controllo

Anche se non sono proprio del tuo stesso parere sono d'accordo sul fatto che siano magnifiche.

Non è che lo dico io, lo dicono i fatti. Quando il computer si trova davanti ad una istruzione di controllo, fa un "ragionamento" e poi da il "risultato finale"
 
Riferimento: Strutture di controllo

Non è che lo dico io, lo dicono i fatti. Quando il computer si trova davanti ad una istruzione di controllo, fa un "ragionamento" e poi da il "risultato finale"

Non fa nessun "ragionamento", va a controllare dei dati e restituisce 0 o 1.
 
Riferimento: Strutture di controllo

Non fa nessun "ragionamento", va a controllare dei dati e restituisce 0 o 1.

Eh, ma come li controlla i dati ? Fa una sorta di ragionamento macchinoso, che ovviamente non può essere paragonato a quello dell'uomo, ma se 1 è maggiore di 0, il computer lo capisce lo capisce.
 
Riferimento: Strutture di controllo

Eh, ma come li controlla i dati ? Fa una sorta di ragionamento macchinoso, che ovviamente non può essere paragonato a quello dell'uomo, ma se 1 è maggiore di 0, il computer lo capisce lo capisce.

Come controlla ogni altro tipo di dato, nessun ragionamento macchinoso, la macchina è stupida.
 
Riferimento: Strutture di controllo

Io sono d'accordo con System32 il computer fa un ragionamento e poi da i risultati
 
Riferimento: Strutture di controllo

Ah, insegni a ragionare ad uno che capisce un linguaggio a basso livello con un linguaggio ad alto livello? Uhm...

Quando tu programmi stai insegnado al computer delle nuove istruzioni, e tra queste vi sono quelle per il "ragionamento", che sono le strutture di controllo.
 
Riferimento: Strutture di controllo

Più che altro se vogliamo ragionare a basso basso livello allora possiamo dire 1 corrente aperta.. 0 corrente chiusa
 
Riferimento: Strutture di controllo

Quando tu programmi stai insegnado al computer delle nuove istruzioni, e tra queste vi sono quelle per il "ragionamento", che sono le strutture di controllo.

Si può mica insegnare ad un bambino a leggere se ancora non ha imparato l'alfabeto?
 
Riferimento: Strutture di controllo

Si può mica insegnare ad un bambino a leggere se ancora non ha imparato l'alfabeto?

Oh ma quando scrivo non vuoi capire...Se ti dico che quando fai un programma è come se stessi insegnando qualcosa al computer tu perchè fai esempi che non c'entrano nulla ?
 
Riferimento: Strutture di controllo

Oh ma quando scrivo non vuoi capire...Se ti dico che quando fai un programma è come se stessi insegnando qualcosa al computer tu perchè fai esempi che non c'entrano nulla ?

No, invero è la stessa cosa. È solo che non puoi insegnare "qualcosa" ad uno che non parla la tua stessa lingua ed è per di più stupido. Con le strutture di controllo tu non insegni al computer come eseguire il confronto, gli dici solo che deve farlo.
 
Riferimento: Strutture di controllo

Con le strutture di controllo tu non insegni al computer come eseguire il confronto, gli dici solo che deve farlo.

Infatti, gli insegni a ragionare, ma questo ragionamento è già "pre-stabilito". Se 1 è maggiore di 0 ( il computer "sa" che il numero 1 è maggiore di 0 ) esegui questa istruzione, altrimenti ( sapendo che il numero 1 è maggiore di 0 non esiste un altrimenti ) ...E' come se stesse ragionando.
 
Riferimento: Strutture di controllo

Il computer non "sa" se 1 è maggior di zero. Semplicemente fa la sottrazione 1 - 0 e controlla se il risultato è positivo o negativo. Il controllo avviene eseguito prelevato il bit più significativo dal registro risultato della ALU. Se il bit è 1, significa che il risultato è negativo, se è 0 ed esiste un bit diverso da 0 allora è positivo. Sono soltanto segnali elettrici modulati in tensione.
 
Riferimento: Strutture di controllo

Il computer non "sa" se 1 è maggior di zero. Semplicemente fa la sottrazione 1 - 0 e controlla se il risultato è positivo o negativo. Il controllo avviene eseguito prelevato il bit più significativo dal registro risultato della ALU. Se il bit è 1, significa che il risultato è negativo, se è 0 ed esiste un bit diverso da 0 allora è positivo. Sono soltanto segnali elettrici modulati in tensione.

Finalmente qualcuno che ce la capisce...