#*************************************************************************************************************#
# ISTRUZIONI PER AUTOINDENTAZIONE DEI FILE CON ESTENSIONE .rio e .RIO CONTENENTI LA PSEUDOCODIFICA ILLUSTRATA # 
# A LEZIONE PER I CUI DETTAGLI SI RIMANDA AL FILE PDF REPERIBILE AL SEGUENTE URL:                             #
# https://www.riochierego.it/mobile/docs/terza/teo/3-Pseudocodifica_e_Flow_Chart_di_un_algoritmo.pdf          #
#                                                                                                             #
# AUTORE: PROF. RIO CHIEREGO                  VERSIONE: 1.0                      DATA: 25/11/2025             #
#                                                                                                             #
#*************************************************************************************************************#

INSTALLAZIONE SCRIPT "pseudocodifica_auto.py", "startup.py" e "pseudocodifica_NEW_Gemini.py" PER NOTEPAD++

Questo pacchetto contiene:
- pseudocodifica_auto.py (script Python per auto indentazione pseudocodifica)

- startup.py (script Python per pseudocodifica organizzata in blocchi)
- pseudocodifica_NEW_Gemini.py (script Python per pseudocodifica organizzata in blocchi)

- README.txt (istruzioni di installazione)

REQUISITI:
- Notepad++ (versione recente)
- Plugin PythonScript installato

INSTALLAZIONE:
1. Apri Notepad++.
2. Vai su Plugins > Gestione plugin…
3. Cerca "PythonScript" e installalo.
4. Riavvia Notepad++.

5. Copia i file "pseudocodifica_auto.py", "startup.py" e  "pseudocodifica_NEW_Gemini.py" nella cartella degli script di PythonScript:
   %AppData%\Roaming\Notepad++\plugins\Config\PythonScript\scripts
	
	Nel caso in cui tale directory NON ESISTESSE la si deve creare.
	Ad esempio nei PC del laboratorio si arriva fino alla directory
	%AppData%\Roaming\Notepad++\plugins\Config
	A questo punto creiamo il sottopath \PythonScript\scripts

6. Riavvia Notepad++.

UTILIZZO:
1. Apri un file di pseudocodice con estensione .rio o .RIO
2. Vai su Plugins > Python Script > Scripts.
3. Selezionare direttamente "pseudocodifica_auto.py" oppure "pseudocodifica_NEW_Gemini.py"
4. Lo script formatterà automaticamente il testo aperto secondo le regole della pseudocodifica

OPZIONALE:
- Vai su Plugins > Python Script > Configuration e aggiungi con Add il fle "pseudocodifica_auto.py" al Menù Items.
  In questo modo lo script comparirà direttamente nel sottomenù Scripts dei Plugin di Python Script e potrai lanciarlo con un click.
  Se vuoi che parta all'avvio in automatico imposta "Initialisation" a ATSTARTUP (default LAZY)
- (OPZIONALE) Puoi assegnare una scorciatoia da tastiera per poter avviare lo script ogni voltab che vuoi tramite
  Configurazione > Tasti di scelta rapida… > Comandi plugin (TAB)
  Cercare il nome dello script "pseudocodifica_auto" e cliccare su Modifica per inserire la propria combinazione
  di tasti per eseguire lo script automaticamente
 (sequenza CONSIGLIATA   CTRL + SHIFT + I )
 
- Vai su Plugins > Python Script > Configuration e aggiungi con Add il fle "pseudocodifica_NEW_Gemini.py" al Menù Items.
  In questo modo lo script comparirà direttamente nel sottomenù Scripts dei Plugin di Python Script e potrai lanciarlo con un click.
  Se vuoi che parta all'avvio in automatico imposta "Initialisation" a ATSTARTUP (default LAZY)
- (OPZIONALE) Puoi assegnare una scorciatoia da tastiera per poter avviare lo script ogni voltab che vuoi tramite
  Configurazione > Tasti di scelta rapida… > Comandi plugin (TAB)
  Cercare il nome dello script "pseudocodifica_NEW_Gemini" e cliccare su Modifica per inserire la propria combinazione
  di tasti per eseguire lo script automaticamente
 (sequenza CONSIGLIATA   CTRL + SHIFT + C ) 

NOTE IMPORTANTI:

- Tutti gli script sono stati testati con i seguenti blocchi di pseudoistruzioni
  riconosciute dal linguaggio UDL implementato in Notepad++ chiamato PSEUDOCODIFICA
  
  TUTTE LE PAROLE CHIAVE IN MAIUSCOLO VANNO OBBLIGATORIAMENTE SCRITTE IN MAIUSCOLO (CASE SENSITIVE)

	SE (condizione)
		ALLORA
			blocco_istruzioni
	FINE SE

	SE (condizione)
		ALLORA
			blocco_istruzioni
		ALTRIMENTI
			blocco_istruzioni
	FINE SE

	NEL CASO CHE (espressione) SIA
		1 : blocco_istruzioni           //esempio con etichette a valori numerici
		2 : blocco_istruzioni
		3 : blocco_istruzioni
	ALTRIMENTI : 
		blocco_istruzioni
	FINE CASO

	NEL CASO CHE (espressione) SIA
		'a' : blocco_istruzioni         //esempio con etichette a valori caratteri
		'b' : blocco_istruzioni
		'c' : blocco_istruzioni
	ALTRIMENTI : 
		blocco_istruzioni
	FINE CASO
			
	MENTRE (condizione) ESEGUI
		blocco_istruzioni
	FINE MENTRE

	RIPETI
		blocco_istruzioni               // N.B. La stringa "FINCHE" oppure "FINCHE'" viene sistituita dalla stringa "FINCHÉ"
	FINCHÉ (condizione)                // N.B. carattere É  =  ALT + 0201

	PER i <-- 1 A 10 ESEGUI            //esempio con indice numerico intero chiamato i
		blocco_istruzioni               // N.B. la sequenza <--  viene sostituita automaticamente dal carattere  ←  (ALT + 27)
	FINE PER                           // N.B. la sequenza <-  viene sostituita automaticamente dal carattere  ←  (ALT + 27)

	PER i <-- 10 INDIETRO A ESEGUI     //esempio con indice numerico intero chiamato i
		blocco_istruzioni               
	FINE PER
	
	L'operatore --> applicabile al tipo PUNTATORE A RECORD viene sostituito automaticamente da →   (ALT + 26)

- Per poter essere attivo ha bisogno di una struttura MINIMA di base fatta in questo modo
  altrimenti viene mostrato un messaggio di errore

   ALGORITMO proprio_nome
  
   PROCEDURA main()
  
   INIZIO
  
   FINE

- Funziona anche con annidamenti complessi.
