Italian community of Lazarus and Free Pascal

Progetti del forum => Progetti degli utenti => Topic aperto da: SB - Maggio 26, 2019, 10:23:53 am

Titolo: Simulatore macchina di Turing
Inserito da: SB - Maggio 26, 2019, 10:23:53 am
Motivazione
Uno degli argomenti teorici di un corso di Informatica riguarda la macchina di Turing.
Quando si tratta di mettere in pratica i concetti appresi, i docenti ricorrono a dei simulatori reperibili in Internet. Questi simulatori non mi sembrano molto user-friendly quindi ho provato a realizzarne uno che faciliti il più possibile sia l'inserimento dei programmi che la simulazione dell'esecuzione.

Progetto
Ho realizzato un programma che facilita l'inserimento di un programma e dei simboli del nastro mediante l'utilizzo di combobox.
All'inserimento di un valore mai usato prima le liste associate alle caselle vengono aggiornate in modo tale da risparmiare all'utente ulteriori digitazioni potendo limitarsi a selezionare il valore desiderato.
Il programma viene salvato in formato testuale leggibile e facilmente manipolabile dall'utente che non voglia servirsi dell'interfaccia grafica
L'esecuzione della simulazione è controllabile passo-passo oppure si può avanzare a velocità regolabile.

Codice: [Seleziona]
(MUOVEDX,0,MUOVEDX,0,>)
(MUOVEDX,1,MUOVEDX,1,>)
(MUOVEDX,_,INCREMENTA,_,<)
(INCREMENTA,0,STOP,1,-)
(INCREMENTA,1,INCREMENTA,0,<)
(INCREMENTA,_,STOP,1,-)

Piattaforma
Windows e Linux
Titolo: Re:Simulatore macchina di Turing
Inserito da: doc - Gennaio 04, 2022, 10:31:40 am
Carino questo tuo progetto.
Ma potresti almeno allegare l'eseguibile così da permetterci di "usarlo" anche noi vedendo come funziona? Grazie.
Ciao.
Titolo: Re:Simulatore macchina di Turing
Inserito da: DragoRosso - Gennaio 04, 2022, 02:23:50 pm
Turing, questo sconosciuto (per me almeno). Sono uno di quei fortunati, perdonatemi l'ardire, che non ha dovuto studiare la macchina di Turing.
Adesso sento molti universitari "piangere" per dare l'esame su Turing .... e che usano i simulatori più strani come accennava @SB.

Complimenti.

Ciao.
Titolo: Re:Simulatore macchina di Turing
Inserito da: Stilgar - Gennaio 05, 2022, 10:48:59 am
Complimenti per l'idea :)




Stilgar
Titolo: Re:Simulatore macchina di Turing
Inserito da: SB - Gennaio 06, 2022, 09:11:36 am
Vi ringrazio per l'interessamento.
Purtroppo volendo far usare questo programma ai miei studenti ho cercato di impacchettarlo per bene (splash, licenza, pagina web dedicata) anche per far vedere agli studenti alcune caratteristiche che dovrebbero avere i programmi. Ovviamente a solo scopo didattico.
Il problema di postarlo qui è che si risale facilmente alla mia identità.
Da un lato non vorrei che questo fosse scambiato per volontà di pubblicità personale, dall'altro mi sembra poco opportuno essere l'unico che si identifica in un forum dove tutti i partecipanti sono anonimi.
Alla fine si tratta di un semplicissimo programma realizzato a tempo perso, per scopi didattici e senza nessuna pretesa.
Forse con qualche ricerca ci si arriva via web.

Lo scopo della sezione "progetti degli utenti" doveva essere di far vedere cosa si può fare con Lazarus/Freepascal, anche senza necessariamente condividere i programmi, dimostrandone la versatilità e così invogliare altri ad adottare questo ambiente.
Finora l'iniziativa non sembra aver avuto molto successo
Però se avete tempo/voglia non sarebbe male fornire una sommaria descrizione di qualche progettino realizzato con questo ambiente.

Titolo: Re:Simulatore macchina di Turing
Inserito da: doc - Gennaio 06, 2022, 01:35:29 pm
Ciao @SB,
la mia non voleva essere una richiesta pura et semplice, ma semmai la speranza di vedere cosa avevi creato (altrimenti ti avrei chiesto i sorgenti  ;D).
Io, nel mio piccolo, creo sopratutto programmi da console (bruttissimi....lo so, ma a me servono così) e li ho sempre resi pubblici, anche io, sul web.
Faccio questo non per "vantarmi" di quello che creo.....che reputo preistorico visto essere "a console" o "shell di comando", ma, ripeto, a me servono così......ma per condividere con tutto il mondo scientifico (mi occupo specialmente di analisi numeriche e simulazioni - FEM, etc.) degli applicativi che possono, magiri e lo spero, essere utili/comodi anche ad altri, come me, nel gestire/manipolare grandi flussi di dati numerici.

Non posso che fare i migliori auguri ad tutti i tuoi studenti...hanno un insegnante di tutto rispetto (e mi raccomando, cerca di fargli capire che il Pascal non è inferiore al C).

Ciao.
Titolo: Re:Simulatore macchina di Turing
Inserito da: DragoRosso - Gennaio 06, 2022, 02:27:43 pm
@SB
Hai ragione quando dici che questa sezione non ha molto successo, ma d'altronde penso sia abbastanza fisiologico. Molti della community sono "hobbisti" (scusate il termine, non vuole essere dispregiativo), nel senso che non sono utenti che svolgono come attività principale la programmazione.

Chi invece la svolge come attività principale ha già postato alcune info, anche nell'indice lo si può vedere. Altri (come me) non usano Lazarus ancora come strumento di produzione principale in quanto ambiente conosciuto da poco.

Diciamo che qualsiasi idea potrebbe essere postata qui, anche piccole utility che si creano per l'uso quotidiamo. In realtà, stiamo costruendo il blog, che dovrebbe essere un contenitore organizzato, e li pensiamo di raccogliere tante info.

Adesso molti progetti sono sparsi come risposta tra i vari post nel forum, ricercarli comunque è improbabile.

Per quello che riguarda "l'anonimato", è vero che gli utenti usano dei "nick name", ma non mi preoccuperei di una eventuale esposizione, sopratutto se ricercata a mo di investigazione e interpolazioni sul web.

Comunque giustamente ognuno pensa alla sua privacy e la gestisce come meglio crede.

Un saluto e un buon anno.
Alla prossima, ciao.
Titolo: Re:Simulatore macchina di Turing
Inserito da: SB - Gennaio 06, 2022, 03:45:59 pm
creo sopratutto programmi da console (bruttissimi....lo so, ma a me servono così) e li ho sempre resi pubblici, anche io, sul web.
Se non ti crea problemi pubblicare i tuoi programmi, penso sarebbe una gran cosa almeno pubblicizzarli anche in questo forum
Non c'è nulla di male nei programmi console. Dipende tutto dal campo di applicazione. Io ci faccio tranquillamente eseguibili CGI per applicazioni web.

condividere con tutto il mondo scientifico (mi occupo specialmente di analisi numeriche e simulazioni - FEM, etc.) degli applicativi che possono, magari e lo spero, essere utili/comodi anche ad altri, come me, nel gestire/manipolare grandi flussi di dati numerici.
Nel periodo attuale in cui se non si fa qualcosa in Python non si è "cool", far vedere che si riesce a fare anche analisi numeriche in Pascal mi sembrerebbe una gran bella cosa.
A scuola mi diverto a far vedere quanto è veloce Python  ;D a fare un po' di calcoli senza ricorrere alle librerie

fargli capire che il Pascal non è inferiore al C
ah, per questo basta che faccio vedere la rapidità con cui produco una applicazione con interfaccia grafica  ;)
Comunque a scuola è difficile riuscire a insegnare Pascal per la reputazione di linguaggio vecchio.
Quando posso ci provo, e gli studenti imparano in fretta, ma è una battaglia persa.


Titolo: Re:Simulatore macchina di Turing
Inserito da: SB - Gennaio 06, 2022, 03:52:06 pm
anche piccole utility che si creano per l'uso quotidiamo
Si, penso che potrebbe andare bene anche così
L'ostacolo maggiore ad avvicinarsi al Pascal è, secondo me, la sua fama di linguaggio vecchio

non mi preoccuperei di una eventuale esposizione
Probabilmente mi faccio troppi problemi, abbiate pazienza, ma così mi sento più libero di intervenire.
Se pubblico una idiozia o una riflessione non politically correct, almeno resta tutto limitato al forum (spero  ::)).

Titolo: Re:Simulatore macchina di Turing
Inserito da: nomorelogic - Gennaio 06, 2022, 06:39:58 pm
riguardo le applicazioni che si possono fare, io sono uno di quelli che usa lazarus da qualche anno in azienda per lavoro
non posso pubblicare i sorgenti per i motivi che già immaginate

vi posso però dire che in questa era del cloud, dove i servizi costano a seconda del consumo e i server virtuali anche costano a seconda di quanto gira il processore... a me lazarus/fpc pare la scelta ideale

i binari (anche io ne faccio moltissimi tipo console) sono velocissimi sia da scrivere che in esecuzione e svolgono il loro lavoro, quando va male, in 1/3 del tempo dei linguaggi interpretati
a chi dice che è un linguaggio vecchio bisognerebbe chiedere cosa non è al passo con i tempi :)

riguardo l'identità, se non si intende dichiararla è una cosa che va sicuramente rispettata (e ci mancherebbe pure :) )
non sarebbe però male sfornare qualche buon progetto e renderlo pubblico
cercherò di impegnarmi anche io in tal senso

buon 2022 a tutti noi  ;)