* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 16, 2024, 07:44:42 am

Inserisci il nome utente, la password e la durata della sessione.

71 Visitatori, 0 Utenti

Autore Topic: Simulatore macchina di Turing  (Letto 3733 volte)

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Simulatore macchina di Turing
« il: 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
« Ultima modifica: Maggio 26, 2019, 10:27:35 am da SB »

doc

  • Jr. Member
  • **
  • Post: 96
  • Karma: +2/-0
  • "L'Ingegnere sa quello che fa e fa quello che sa".
    • Spagnotto Ing. Mirko
Re:Simulatore macchina di Turing
« Risposta #1 il: 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.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:Simulatore macchina di Turing
« Risposta #2 il: 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.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Simulatore macchina di Turing
« Risposta #3 il: Gennaio 05, 2022, 10:48:59 am »
Complimenti per l'idea :)




Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:Simulatore macchina di Turing
« Risposta #4 il: 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.


doc

  • Jr. Member
  • **
  • Post: 96
  • Karma: +2/-0
  • "L'Ingegnere sa quello che fa e fa quello che sa".
    • Spagnotto Ing. Mirko
Re:Simulatore macchina di Turing
« Risposta #5 il: 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.

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:Simulatore macchina di Turing
« Risposta #6 il: 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.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:Simulatore macchina di Turing
« Risposta #7 il: 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.



SB

  • Scrittore
  • Sr. Member
  • *****
  • Post: 283
  • Karma: +1/-0
Re:Simulatore macchina di Turing
« Risposta #8 il: 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  ::)).


nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Simulatore macchina di Turing
« Risposta #9 il: 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  ;)



Imagination is more important than knowledge (A.Einstein)

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18769
  • Topic in totale: 2232
  • Online Today: 80
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 71
Total: 71

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.