Ciao a tutti ragazzi, Portapipe, nel suo stato del forum si è fatto una domanda: 'Programmare in alcuni giorni, sfianca più che in altri...' aggiungendo, '...Devo creare un algoritmo per capire il perchè!'. Bene! Pipe, ecco a te l'algoritmo fatto da me che ti svela la risposta al tuo quesito :3! P.S: E' un pò grande e complesso, ma spero si capisca :3 Nello spoiler troverai, inoltre, i codici dell'algoritmo ^^! Anticipazione (Spoiler): Algoritmo Scritto PROG main ASSIGN N1=0 ASSIGN N2=0 OUT "Ciao! Vediamo perchè programmare in alcuni giorni, sfianca più che in altri!" OUT "Usa lo 0 per rispondere affermativamente alle seguenti domande, e l'1 per rispondere negativamente !" OUT "Hai dormito almeno per 8 ore?" IN ORE IF ORE==0 ASSIGN N1=1 OUT "Hai fatto colazione a casa?" IN C IF C==0 ASSIGN N1=2 OUT "Hai lavorato al computer?" IN L IF L==0 ASSIGN N2=1 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=3 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=4 ELSE //if R==0 ASSIGN N2=2 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=2 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=3 ELSE //if R==0 ASSIGN N2=3 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 ELSE //if L==0 ASSIGN N1=3 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=4 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=5 ELSE //if R==0 ASSIGN N2=1 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=1 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=4 ELSE //if R==0 ASSIGN N2=2 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 END IF //L==0 ELSE //if C==0 ASSIGN N2=1 OUT "Sei rimasto fuori casa?" IN FC IF FC==0 ASSIGN N1=2 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=3 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=4 ELSE //if R==0 ASSIGN N2=2 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=2 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=3 ELSE //if R==0 ASSIGN N2=3 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 ELSE //if FC==0 ASSIGN N2=2 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=2 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=3 ELSE //if R==0 ASSIGN N2=3 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=3 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=2 ELSE //if R==0 ASSIGN N2=4 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 END IF //FC==0 END IF //C==0 ELSE //if ORE==0 ASSIGN N2=1 OUT "Hai fatto colazione a casa?" IN C IF C==0 ASSIGN N1=1 OUT "Hai lavorato al computer?" IN L IF L==0 ASSIGN N2=2 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=2 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=3 ELSE //if R==0 ASSIGN N2=3 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=3 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=2 ELSE //if R==0 ASSIGN N2=4 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 ELSE //if L==0 ASSIGN N1=2 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=3 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=4 ELSE //if R==0 ASSIGN N2=2 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=2 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=3 ELSE //if R==0 ASSIGN N2=3 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 END IF //L==0 ELSE //if C==0 ASSIGN N2=2 OUT "Sei rimasto fuori casa?" IN FC IF FC==0 ASSIGN N1=1 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=2 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=3 ELSE //if R==0 ASSIGN N2=3 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=3 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=2 ELSE //if R==0 ASSIGN N2=4 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 ELSE //if FC==0 ASSIGN N2=3 OUT "Hai pranzato fuori casa?" IN PF IF PF==0 ASSIGN N1=1 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=2 ELSE //if R==0 ASSIGN N2=4 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 ELSE //if PF==0 ASSIGN N2=4 OUT "Ti sei riposato nel pomeriggio?" IN R IF R==0 ASSIGN N1=1 ELSE //if R==0 ASSIGN N2=5 END IF //R==0 OUT "Fase di programmazione! Se oggi programmerai, ti sfiancherai oppure no? Scopriamolo! Calcolo..." IF N1>N2 OUT "Se oggi programmerai, non ti sfiancherai !" ELSE //if N1>N2 OUT "Oggi non ti consiglio proprio di programmare! Ti sfiancherai il doppio rispetto ad un altro giorno D:!" END IF //N1>N2 END IF //PF==0 END IF //FC==0 END IF //C==0 END IF //ORE==0 END PROG //main
Programmino interessante... l'algoritmo tuttavia è un calcolo che, inserendo una o più variabili, calcola un risultato che è la risposta al quesito. Prova a pensare a un algoritmo che mettendo, esempio, quanto stanco sei da 1 a 10? Quante ore hai dormito? Quanto hai mangiato da 1 (poco) a 10 (tanto)? Ti crei un algoritmo che ti da un valore da, per dire, 1 a 100, e in base a quello metti delle risposte ogni, ad esempio, multiplo di 10