* * * *

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.
Maggio 31, 2024, 04:58:04 pm

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

27 Visitatori, 0 Utenti

Post recenti

Pagine: 1 [2] 3 4 ... 10
11
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da DragoRosso il Maggio 24, 2024, 09:26:41 am »
Voglio riportarvi un esempio pratico e banale:

un encoder, contaimpulsi che "conta" in positivo o negativo a seconda se ruota in senso orario o antiorario.
Non è che se questo fà -1000 impulsi e ogni giro viene effettuato con 750 impulsi fà -2 giri   :-X :-X :-X :

Pascal: (-1000 div 750) = -1 con resto xxx ==> deduco che ha fatto un (UNO) giro in senso antiorario ad esempio.
Python: (-1000 // 750) = -2 con resto xxx ==> deduco che ha fatto due (DUE) giri in senso antiorario..... (è barrato perchè non voglio che venga preso come esempio applicabile !!!)

In Pascal senza analizzare il resto ho già i miei dati, con Python deve farmi mille elucubrazioni sul quoziente e sul resto .... Questo è un esempio pratico e banale. Poi uno potrebbe aggiustarlo come vuole con mille elucubrazioni, algoritmi e fantasie varie: ma quello indicate è il modo più veloce, naturale e efficacie che non lascia nulla alla fantasia interpretativa.
12
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da nomorelogic il Maggio 24, 2024, 09:24:38 am »
ho chiesto ad un mio collega matematico e mi ha liquidato dicendo che in matematica il modulo per come lo intendiamo noi informatici... non esiste

nel senso che non c'è un'operazione chiamata modulo ma ci sono dei procedimenti che possono calcolarlo, se abbiamo bisogno di quel calcolo

una risposta sicuramente discutibile ma che tutto sommato rende l'idea
il tutto sta nel tipo di calcolo che si necessita

probabilmente gli informatici hanno avuto quella necessità e lo hanno implementato così
nella versione python si è voluto essere aderenti ad una certa dimostrazione matematica

come si dice: non si finisce mai di imparare :)

Edit:
è comunque mia opinione che quelli del python avrebbero dovuto lasciare il calcolo del modulo
come già era in altri linguaggi e magari introdurne un secondo tipo
infatti quello che ci rimane in mano è 1 concetto con 2 metodi di calcolo...
13
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da DragoRosso il Maggio 24, 2024, 09:04:55 am »
Se cercate "Divisione Euclidea" su Wikipedia c'è la spiegazione. Pascal fa la divisione con troncamento phyton quella con parte intera.
Ciao

Si, ma non torna comunque con i calcoli di Python, dove i valori di resto sono anche negativi (nel calcolo Euclideo il resto può essere solo positivo). Quindi Python non applica quel tipo di calcolo. Applica semplicemente un calcolo float dove l'arrotondamento e una scelta progettuale.

Parto dal presupposto che è ovvio e chiaro:
Citazione
"La divisione euclidea o divisione con resto è intuitivamente quell'operazione che si fa quando si suddivide un numero a di oggetti in gruppi di b oggetti ciascuno e quindi si conta quanti gruppi sono stati formati e quanti oggetti sono rimasti".

Quindi non ci possono essere più oggetti formati come risultato (quoziente) rispetto ai gruppo suddivisi: (-6 div 5) fa -1 cioè gli informatici ritengo che i gruppi siano presi in valore assoluto e il segno si applica poi. Inoltre il minore e maggiore è sempre rilevante verso le 0 per capire cosa si stà facendo. Dire che (-6 div 5) fà -2 perchè -2 è il numero di gruppi"minore" che si può ottenere (-1 è comunque maggiore di -2 e quindi la divisione da come risultato -2 ovviamente) mi pare ...  :-X (meglio che non mi esprima).

Cioè in poche parole per gli informatici (magari non tutti), che sono uomini di azione e vedono il concreto al di là delle teorie filosofiche, il risultati vanno presi in assoluto e poi si applicano i segni (questo detto in parole misere).

P.S.: comunque essere supportati dalle istruzioni di un processore INTEL ... bhè questa la dice tutta  :D :D :D :D :D :D.
14
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da DragoRosso il Maggio 24, 2024, 08:44:01 am »
https://www.omnicalculator.com/it/matematica/modulo

Provate questo calcolatore di modulo.
Prima con 9 mod 5, poi con -9 mod 5.

Col nr. negativo verranno restituiti 2 risultati.
E una breve spiegazione...

Spiegazione corta (ma anche quella più lunga) efficiente e coerente tutto sommato, ma che comunque non si addice ai risultati di Python e company, dove il resto è anche negativo.
L'unica regola che posso comprendere è che il resto matematicamente sia compreso tra ZERO e il valore del divisore (minore o maggiore di quest'ultimo in base al segno  :o .....).

Comunque diatriba senza fine probabilmente, perchè una buona parte dei programmatori (se non tutti) non accetteranno mai che una divisione intera tipo (-9 / 5) o (-6 / 5) dia -2 come risultato, come i matematici non accetteranno mai l'inverso.

Rimango della mia idea, e se mi accorgessi del cambiamento repentino in favore di quest'ultima soluzione (matematica), bhè farei le mie routine in assembler o userei altri metodi per comunque avere i risultati alla "vecchia" maniera.

Ho verificato ora sui mie sorgenti: divisioni e mod su interi ne uso una sbarcata, e una simulazione banale su quello che succederebbe ad applicare il calcolo come fà Python ... bhè disastro totale ... almeno nel mio mondo dell'industria.

Nel panorama industriale la stragrande maggioranza dei calcoli (a parte il machine learing) coinvolge dati "interi", quindi usare la logica del float e degli arrotondamenti "fantasiosi" ( ;) ) non ha molto senso.

Sempre in un mio progetto ho conteggiato le dichiarazioni di variabile DOUBLE e INTEGER (senza contare i nativeint, i cardinal, le word, gli INTxx e gli UINTxx) quante volte comparivano: 87% integer e 13% double.

Ciao
15
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da quack il Maggio 24, 2024, 08:29:29 am »
Se cercate "Divisione Euclidea" su Wikipedia c'è la spiegazione. Pascal fa la divisione con troncamento phyton quella con parte intera.

Ciao
16
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da nomorelogic il Maggio 24, 2024, 12:17:42 am »
https://www.omnicalculator.com/it/matematica/modulo

Provate questo calcolatore di modulo.
Prima con 9 mod 5, poi con -9 mod 5.

Col nr. negativo verranno restituiti 2 risultati.
E una breve spiegazione...
17
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da DragoRosso il Maggio 23, 2024, 10:57:51 pm »
Bhè, non siamo soli.

Divisione intera con segno processore Intel in assembler (idiv): -9 div 5 = -1 quoziente, -4 resto  :D :D :D

E fino qui tutto bene: o il Pascal è l'unico che esegue calcoli in interi, insieme ad Intel oppure sfugge qualcosa.

P.S.: il foglio di calcolo in LibreOffice esegue il "resto" come Python.
18
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da quack il Maggio 23, 2024, 08:40:07 pm »
si mette male... anche su wolframalpha -9 mod 5 = 1

 :'(   
19
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da nomorelogic il Maggio 23, 2024, 08:10:16 pm »
è ufficiale, ci sono 2 scuole di pensiero...

forse c'è il modulo dei boomer e quello della gen Z  :D
20
Generale / Re:Divisione per interi ... una giungla
« Ultimo post da quack il Maggio 23, 2024, 07:51:40 pm »
Ho usato quella stock di gnome 46.
Pagine: 1 [2] 3 4 ... 10

Recenti

How To

Utenti
  • Utenti in totale: 789
  • Latest: iembod
Stats
  • Post in totale: 18866
  • Topic in totale: 2246
  • Online Today: 68
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 27
Total: 27

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.