Calcolatore di Programma con Blocco Note
Crea il tuo programma di calcolo personalizzato direttamente nel Blocco Note di Windows. Inserisci i parametri qui sotto per generare il codice pronto all’uso.
setlocal enabledelayedexpansion
REM Inserisci i valori qui sotto
set /p “val1=Inserisci il primo valore: “
set /p “val2=Inserisci il secondo valore: “
REM Calcolo
set /a risultato=val1+val2
REM Risultato
echo.
echo Il risultato e’: !risultato!
pause
- Copia il codice sopra
- Apri il Blocco Note su Windows
- Incolla il codice
- Salva il file con estensione .bat (es: calcolatore.bat)
- Esegui il file per utilizzare il programma
Guida Completa: Come Creare un Programma di Calcolo con Blocco Note
Creare un programma di calcolo utilizzando il semplice Blocco Note di Windows è un’abilità utile che combina nozioni base di programmazione con la potenza dei file batch. Questa guida ti insegnerà passo dopo passo come sviluppare calcolatrici funzionali per varie operazioni matematiche senza bisogno di software complessi.
1. Fondamenti dei File Batch
I file batch (.bat) sono script eseguiti dal prompt dei comandi di Windows. Quando salvi un file con estensione .bat, Windows lo riconosce come un programma eseguibile. Ecco i concetti chiave:
- @echo off: Disattiva la visualizzazione dei comandi durante l’esecuzione
- setlocal enabledelayedexpansion: Abilita l’espansione ritardata delle variabili
- set /p: Permette all’utente di inserire input
- set /a: Esegue operazioni aritmetiche
- echo: Visualizza testo a schermo
- pause: Mantiene aperta la finestra fino a quando l’utente preme un tasto
@echo off
setlocal enabledelayedexpansion
REM Questo è un commento
set /p nome=Come ti chiami?
echo Ciao, %nome%!
pause
2. Operazioni Matematiche di Base
Il comando set /a supporta tutte le operazioni aritmetiche fondamentali:
| Operazione | Operatore | Esempio | Risultato |
|---|---|---|---|
| Addizione | + | set /a somma=5+3 | 8 |
| Sottrazione | – | set /a diff=10-4 | 6 |
| Moltiplicazione | * | set /a prod=7*6 | 42 |
| Divisione | / | set /a quoz=15/3 | 5 |
| Modulo (resto) | %% | set /a resto=10%%3 | 1 |
3. Creazione di una Calcolatrice Interattiva
Per creare una calcolatrice che chieda input all’utente:
- Apri il Blocco Note
- Incollare il seguente codice:
setlocal enabledelayedexpansion
:menu
cls
echo ===== CALCOLATRICE =====
echo 1. Addizione
echo 2. Sottrazione
echo 3. Moltiplicazione
echo 4. Divisione
echo 5. Esci
echo ========================
set /p scelta=Scegli un’operazione (1-5):
if “%scelta%”==”1” goto addizione
if “%scelta%”==”2” goto sottrazione
if “%scelta%”==”3” goto moltiplicazione
if “%scelta%”==”4” goto divisione
if “%scelta%”==”5” exit
goto menu
:addizione
set /p num1=Primo numero:
set /p num2=Secondo numero:
set /a ris=%num1%+%num2%
echo Risultato: %num1% + %num2% = %ris%
pause
goto menu
:sottrazione
set /p num1=Primo numero:
set /p num2=Secondo numero:
set /a ris=%num1%-%num2%
echo Risultato: %num1% – %num2% = %ris%
pause
goto menu
:moltiplicazione
set /p num1=Primo numero:
set /p num2=Secondo numero:
set /a ris=%num1%*%num2%
echo Risultato: %num1% * %num2% = %ris%
pause
goto menu
:divisione
set /p num1=Primo numero:
set /p num2=Secondo numero:
set /a ris=%num1%/%num2%
set /a resto=%num1%%%%num2%
echo Risultato: %num1% / %num2% = %ris% resto %resto%
pause
goto menu
4. Gestione degli Errori
Un buon programma dovrebbe gestire gli errori dell’utente. Ecco come aggiungere controlli:
set /p num1=Primo numero:
set /p num2=Secondo numero:
REM Controllo divisione per zero
if “%num2%”==”0” (
echo Errore: Divisione per zero non consentita!
pause
goto menu
)
set /a ris=%num1%/%num2%
set /a resto=%num1%%%%num2%
echo Risultato: %num1% / %num2% = %ris% resto %resto%
pause
goto menu
5. Operazioni Avanzate
Con i file batch puoi implementare anche:
- Calcolo di potenze: Usando cicli for
- Radici quadrate: Con approssimazioni
- Calcoli con numeri decimali: Usando variabili ambientali
- Array di numeri: Per calcoli su più valori
set /p base=Base:
set /p esp=Esponente:
set ris=1
for /l %%i in (1,1,%esp%) do (
set /a ris*=base
)
echo %base%^%esp% = %ris%
pause
6. Ottimizzazione e Best Practice
Per scrivere codice batch efficace:
- Usa sempre
setlocal enabledelayedexpansionper variabili complesse - Commenta abbondantemente il codice con
REM - Struttura il codice con etichette (
:etichetta) per migliorare la leggibilità - Usa
gotoper controllare il flusso del programma - Valida sempre gli input dell’utente
- Usa
clsper pulire lo schermo tra le operazioni
7. Limitazioni dei File Batch
È importante conoscere i limiti:
| Limitazione | Dettagli | Soluzione Alternativa |
|---|---|---|
| Precisione decimale | I calcoli sono limitati a numeri interi (32-bit) | Usare VBScript o PowerShell per decimali |
| Dimensione script | Difficile gestire script molto lunghi | Suddividere in più file batch |
| Interfaccia utente | Solo testo, nessuna grafica | Usare HTA (HTML Applications) |
| Velocità | Esecuzione più lenta di linguaggi compilati | Ottimizzare il codice |
8. Risorse per Approfondire
Per imparare di più sulla programmazione batch:
- Documentazione ufficiale Microsoft sui comandi Windows
- Guida Stanford sulla programmazione batch
- NIST – Standard per la programmazione (sezione algoritmi)
9. Esempi Pratici Completi
Calcolatrice di percentuali:
setlocal enabledelayedexpansion
set /p totale=Valore totale:
set /p percent=Percentuale (0-100):
set /a ris=%totale%*%percent%/100
echo %percent%%% di %totale% = %ris%
pause
Calcolatrice di media:
setlocal enabledelayedexpansion
set /p n1=Primo numero:
set /p n2=Secondo numero:
set /p n3=Terzo numero:
set /a somma=%n1%+%n2%+%n3%
set /a media=%somma%/3
set /a resto=%somma%%%3
echo Media: %media% con resto %resto%
pause
10. Debugging e Testing
Per testare i tuoi script batch:
- Esegui il file batch dal prompt dei comandi per vedere eventuali errori
- Usa
echoper visualizzare il valore delle variabili durante l’esecuzione - Commenta sezioni di codice con
REMper isolare i problemi - Usa
pauseper fermare l’esecuzione e leggere i messaggi - Prova con input diversi includendo casi limite (zero, numeri negativi)
Esempio di debugging:
setlocal enabledelayedexpansion
set /p a=Primo numero:
set /p b=Secondo numero:
REM Debug: visualizza i valori inseriti
echo Valori inseriti: a=%a%, b=%b%
pause
set /a ris=%a%+%b%
echo Risultato: %ris%
pause
11. Estendere le Funzionalità
Puoi combinare i file batch con altri strumenti:
- VBScript: Per operazioni più complesse e interfacce grafiche
- PowerShell: Per accesso a funzioni di sistema avanzate
- File esterni: Per salvare e caricare dati
- Chiamate a programmi esterni: Come calc.exe per operazioni complesse
Esempio di integrazione con VBScript:
setlocal
REM Crea uno script VBS temporaneo
set VBSFile=%temp%\MsgBox.vbs
echo msgbox “Ciao dal VBScript!”,0,”Messaggio”>”%VBSFile%”
cscript //nologo “%VBSFile%”
del “%VBSFile%”
pause
12. Sicurezza dei File Batch
Quando distribuisci file batch:
- Non includere mai password o informazioni sensibili nel codice
- Firma digitalmente i file se li distribuisci
- Documenta chiaramente cosa fa lo script
- Avvisa gli utenti che stanno eseguendo uno script
- Usa
@echo offper nascondere i comandi sensibili
13. Alternatives ai File Batch
Se hai bisogno di funzionalità più avanzate, considera:
| Alternativa | Vantaggi | Svantaggi |
|---|---|---|
| PowerShell | Più potente, supporto completo .NET | Sintassi più complessa |
| VBScript | Interfacce grafiche semplici | Lento, obsoleto |
| Python | Linguaggio moderno, molte librerie | Richiede installazione |
| AutoHotkey | Ottimo per automazione | Sintassi specifica |
14. Esempio Completo: Calcolatrice Scientifica
Ecco un esempio avanzato che include multiple operazioni:
setlocal enabledelayedexpansion
:menu
cls
echo ===== CALCOLATRICE SCIENTIFICA =====
echo 1. Addizione
echo 2. Sottrazione
echo 3. Moltiplicazione
echo 4. Divisione
echo 5. Potenza
echo 6. Radice Quadrata (approssimata)
echo 7. Esci
echo ===================================
set /p scelta=Scegli un’operazione (1-7):
if “%scelta%”==”1” goto add
if “%scelta%”==”2” goto sub
if “%scelta%”==”3” goto mul
if “%scelta%”==”4” goto div
if “%scelta%”==”5” goto pow
if “%scelta%”==”6” goto sqrt
if “%scelta%”==”7” exit
goto menu
:add
set /p n1=Primo addendo:
set /p n2=Secondo addendo:
set /a ris=%n1%+%n2%
echo %n1% + %n2% = %ris%
pause
goto menu
:sub
set /p n1=Minuendo:
set /p n2=Sottraendo:
set /a ris=%n1%-%n2%
echo %n1% – %n2% = %ris%
pause
goto menu
:mul
set /p n1=Primo fattore:
set /p n2=Secondo fattore:
set /a ris=%n1%*%n2%
echo %n1% * %n2% = %ris%
pause
goto menu
:div
set /p n1=Dividendo:
set /p n2=Divisore:
if “%n2%”==”0” (
echo Errore: Divisione per zero!
pause
goto menu
)
set /a ris=%n1%/%n2%
set /a resto=%n1%%%%n2%
echo %n1% / %n2% = %ris% resto %resto%
pause
goto menu
:pow
set /p base=Base:
set /p esp=Esponente:
set ris=1
for /l %%i in (1,1,%esp%) do (
set /a ris*=base
)
echo %base%^%esp% = %ris%
pause
goto menu
:sqrt
set /p num=Numero:
REM Metodo babilonese per approssimare la radice
set /a guess=%num%/2
set /a prev=0
:loop
set /a new=(%guess%+%num%/%guess%)/2
if %new% equ %prev% goto end
set prev=%new%
set guess=%new%
goto loop
:end
echo Radice quadrata approssimata di %num% = %new%
pause
goto menu
15. Conclusione
Creare programmi di calcolo con il Blocco Note è un ottimo modo per imparare i fondamenti della programmazione senza bisogno di software complessi. Mentre i file batch hanno delle limitazioni, sono perfetti per:
- Automazione di compiti semplici
- Creazione di utilità di calcolo rapide
- Apprendimento della logica di programmazione
- Prototipazione di idee
Man mano che acquisisci esperienza, potrai passare a linguaggi più avanzati mantenendo le stesse fondamenta logiche apprese con i file batch. La chiave è sperimentare: prova a modificare gli esempi, aggiungi nuove funzionalità e crea i tuoi strumenti personalizzati.
Ricorda che anche gli strumenti più semplici, quando usati con creatività, possono risolvere problemi complessi. Il Blocco Note è solo l’inizio del tuo viaggio nella programmazione!