programmazione:
in questa categoria ci sono articoli ed applicazioni di informatica. Vengono trattati tutti i linguaggi di programmazione, come ad esempio il Python ed il linguaggio C, ma anche Assembler/Assembly.
La parte critica sta certamente nell'ipotesi che si possa trovare un puntatore al descrittore di tipo *self direttamente al di sotto del puntatore arbitrario self. Per il momento ci limiteremo a vigilare che non vi siano puntatori nulli.
Chi realizza in pratica il cosiddetto messaging? Il costruttore chiamato da new() per allocare una nuova area di memoria non è praticamente inizializzato:
delete() deve essere in grado di localizzare il distruttore senza sapere che tipo di oggetto le è stato passato. Di conseguenza, rivisitando le dichiarazioni fatte nella sezione 2.1 dobbiamo fare in modo che il puntatore usato per localizzare il distruttore …
Supponiamo di implementare un semplice tipo di dato stringa che provvederemo in seguito ad includere in un set. Per una nuova stringa allocheremo un buffer dinamico che ne contenga il testo. Quando la stringa verrà cancellata, dovremo liberare il buffer.
Se un oggetto può appartenere a più set allo stesso tempo, dobbiamo necessariamente disporre di una diversa rappresentazione per i set. Se continuassimo a rappresentare gli oggetti come un numero intero univoco e se impostassimo un tetto al numero di …
Senza modificare l'interfaccia visibile in Set.h possiamo cambiare l'implementazione. Questa volta useremo la memoria dinamica e rappresenteremo set ed oggetti come strutture:
main.c verrà compilato correttamente, ma prima di eseguire un programma, dobbiamo implementare i tipi di dati astratti e il gestore della memoria. Se un oggetto non memorizza alcuna informazione e se ogni oggetto appartiene a più di un set, possiamo …
Se vogliamo raccogliere tutto ciò che interessa in un set, avremo bisogno di un tipo di dato astratto Object descritto nel file header Object.h
Con i file header, ossia con le definizioni dei tipi di dato astratti, possiamo scrivere un'applicazione main.c
Abbiamo tralasciato di discutere un aspetto fondamentale: come si ottiene un set. Set è un puntatore, non un tipo definito da typedef; di conseguenza non possiamo definire variabili locali o globali di tipo Set.
Come si implementa un tipo di dato astratto? Come esempio consideriamo un set di elementi con le operazioni di add, find, e drop*. Si applicano tutte ad un set ed ad un elemento del set e restituiscono, rispettivamente, l'elemento aggiunto, …
OpenLR è un progetto software open source lanciato nel settembre 2009 dall'azienda olandese TomTom International B.V., leader a livello mondiale nella fornitura di soluzioni per la navigazione e mappe digitali. Qual'è l'obiettivo di questo progetto? Anzitutto, LR è l'acronimo di …
Chiameremo un tipo di dato "astratto" se non faremo conoscere la sua rappresentazione all'utilizzatore. In teoria, ciò richiede che vengano specificate le proprietà del tipo di dato attraverso assiomi matematici che coinvolgono le possibili operazioni.
I tipi di dati sono una parte integrante di qualsiasi linguaggio di programmazione. Il C ANSI ha, ad esempio, i tipi di dati int, double e char. I programmatori sono raramente soddisfatti di ciò che è disponibile e un linguaggio …
La porta seriale è un' interfaccia di comunicazione seriale attraverso la quale le informazioni in ingresso ed in uscita vengono trasferite un bit per volta. Una ricerca veloce su Google rivela che ci sono molte applicazioni gratuite per i PC …
È più che evidente la tendenza in atto che sta facendo migrare gli sviluppatori di sistemi embedded dal linguaggio assembly a quello C. Decidere di utilizzare il linguaggio C per le applicazioni basate su piattaforme di computing embedded, anche molto …
Quanto segue vuole descrivere, a chi ancora non lo conosce, i vantaggi della virtualizzazione, ognuno di noi potra’ poi trovare spunto per applicazioni piu’ vicine a quanto sta eseguendo.
Alcuni progettisti che hanno usato l'AVR hanno detto che la EEPROM dell'AVR può essere casualmente cancellata. E poverini impazziscono perché non hanno alcun idea della possibile causa. È possibile che la EEPROM dell'AVR non sia stabile? È vero che a …
Avere del codice sorgente preimpostato è un dono del Cielo, specialmente quando si utilizza un nuovo micro. Ma l'autobaud a volte..
Come fare una composizione algoritmica utilizzando un'estensione del metodo di Guido d'Arezzo. Il primo passo è di costruire una scala musicale. Guido d'Arezzo conosciuto anche come Guido Monaco è stato un teorico musicale ed è considerato l'ideatore della moderna notazione …