Articolo in evidenza

Programmazione in C e C++ – La gestione dei files

In questa video lezione sono mostrate le metodologie e gli strumenti per gestire dei files testo in linguaggio C e C++.
La modalità di gestione è ovviamente differente fra il C e il C++. Infatti nel linguaggio C è utilizzato un approccio procedurale utilizzando la libreria <stdio.h> e le istruzioni di lettura “fscanf”,le istruzioni di scrittura “fprintf”, e le istruzioni per l’apertura “fopen” e “close” per l’apertura di un file e la chiusura., mentre in C++ spesso è utilizzato l’approccio ad oggetti infatti la libreria del C++ <fstream> gestisce una gerarchia di classe per ogni tipologia di files sia di testo che binari.
Nella video lezione, sono esposte le metodologie di gestione per i files di testo che rappresentano una prima modalità di utilizzo di files nel linguaggio C e C++.

Articolo in abbonamento con PDF e sorgenti

Articolo in evidenza

Test di autovalutazione algoritmi, C e C++ con risposte

Questo test di autovalutazione molto amplio sono trenta domande ti mette alla prova con vari argomenti.
In particolare la verifica riguarda:

  • Teoria degli algoritmi
  • Scrittura di codice C e C++
  • Strutture cicliche, condizionali in C e C++
  • La gestione dei dati in C e C++
  • La gestione dell’input e output in C e C++

Articolo in evidenza

Piccolo Esercizio in C sulle classi IP

In questo esercizio scritto in C.
Ecco il testo dell’esercizio:

Esercizio sulle classi IP

Inserito un indirizzo IP controllare se valido, a quale classe IP appartiene e visualizzare anche la sua maschera di rete.

Ecco lo svolgimento dell’esercizio con l’uso anche di funzioni.
Il controllo della validità dell’indirizzo IP è fatto in fase di Input con un ciclo do … while che consente di ripetere l’inserimento ogni volta che è inserito un valore non valido.
Ecco il codice C dell’esercizio risolto:

#include <stdio.h>
#include <string.h>
int x[4];
int flag=0;
int controlla_ottetto(int x)
{       int esito=0;
        if ((x<0) || (x>255))
        esito=1;
        return esito;
}
void classifica(int x)
{
        if ((x>0) && (x<=127)){
                printf("\n Indirizzo di classe A\n");
                printf("\n Maschera di rete 255.0.0.0");}
       if ((x>127) && (x<=191)){
                printf("\n Indirizzo di classe B\n");
                printf("\n Maschera di rete 255.255.0.0");}
       if ((x>191) && (x<=223)){
                printf("\n Indirizzo di classe C\n");
                printf("\n Maschera di rete 255.255.255.0");}
       if ((x>223) && (x<=239)){
                printf("\n Indirizzo di classe D\n");
                printf("\n Maschera di rete non definita tutti,");
                printf(" i bit indicano host");}
      if ((x>239) && (x<=255)){
                printf("\n Indirizzo di classe E\n");
                printf("\n Maschera di rete non definita tutti,");
                printf(" i bit indicano host");}
}
int main(int argc, char *args[])
{
        int k;
        for (k=0;k<4;k++)
        {
        do{
                printf("\n Inserisci %d° byte indirizzo ip\n",k+1);
                scanf("%d",&x[k]);
        flag=controlla_ottetto(x[k]);
        if (flag==1){
                printf("\n Byte errato\n");
                printf("\n Reinserire ottetto\n");}}
        while (flag==1);
        }
        classifica(x[0]);
        printf("\n Arrivederci\n");
        return 0;
}

Questo esercizio è articolato in due funzioni e un programma principale il “main”.
L’indirizzo IP è definito come array di interi di 4 elementi, il primo ottetto quello che determina la classe IP è posizionato nell’array nella posizione zero.
Le due funzioni di nome rispettivamente “controlla_ottetto” e “classifica” sono due funzioni con parametri.
La funzione “controlla_ottetto” riceve come parametro un numero intero che per essere un valore byte valido deve essere compreso, fra 0 e 255. La funzione ritorna al chiamante un valore “0” o “1” per indicare l’esito del controllo. Se esito vale zero, il controllo non è andato a buon fine e quindi vuol dire, nella sostanza, che l’ottetto inserito non è valido. Questa funzione attraverso un ciclo “for” è invocata quattro volte per controllare il corretto inserimento dell’indirizzo IP.
Solo dopo che i quattro ottetti sono stati inseriti correttamente allora, è possibile passare alla classificazione della classe IP e la stampa del risultato oltre che della maschera di rete “canonica”. La procedura “classifica” prevede come parametro intero che all’atto della chiamata, sarà sostituito dal primo ottetto IP. Questo perché è solo il primo a determinare la classe di indirizzamento. Nella procedura è eseguito il controllo e viene classificato l’indirizzo IP appartenente ad una classe e stampato, anche la relativa classe di indrizzamento.

Se sei interessato ad un ripasso sull’indirizzamento iP puoi vedere il seguente video.



Articolo in evidenza

Test di autovalutazione Architetture Hardware del Calcolatore

Nel test che segue ti ho inserito delle domande, con i commenti per permetterti di auto valutare le tue conoscenze, competenze e abilità sull’Hardware del Calcolatore. Tali richieste sono in conformità con la certificazione EUCIP del CEPIS IT Administrator e IT Adminstrator Foundamentals. E’ un estratto delle eventuali domande di esame.

Articolo in evidenza

Sviluppare applicazioni con Visual Basic for Application in Microsoft Excel

Appunti su Visual Basic for Application

Il problema


Tutti gli utenti di computer in ambiente Microsoft e non utilizzano per la produttività personale delle applicazioni di “office automation” per scrivere testi, elaborare fogli elettronici, presentazioni e altro. 
Tutti però non usano le funzionalità avanzate del programma che conoscono. Ciò avviene per vari motivi alcuni dei più significativi sono:
1-Personalizzazione spinta dei documenti complessa e spesso non ben documentata: 
2-Prerequisiti richiesti per la conoscenza e la costruzione di vere e proprie applicazioni custom in ambiente office sono la conoscenza del linguaggio di programmazione supportati dalla particolare applicazione; 
3-La manipolazione di poche informazioni di qualsiasi tipo; 
Per l’ambiente Microsoft Office indipendentemente dalla versione utilizzata il linguaggio di programmazione supportato è il “Visual Basic for Application” versione ridotta del linguaggio Visual Basic ben noto per la piattaforma Microsoft. 
Attraverso questo codice è possibile creare macro ovvero veri e propri frammenti di codice VisualBasic che permettono di eseguire dei compiti personalizzati nel documento in cui vengono scritte.
Per imparare a scrivere le macro è necessario conoscere almeno in modo minimale i fondamenti per la programmazione strutturata e un minimo di conoscenza sulla programmazione ad oggetti,

Ambiente di sviluppo Visual Basic for Application

 

L’ambiente di sviluppo di Visual Basic for Application si può attivare nel Menù Strumenti – Macro – Visual Basic Editor dell’applicazione in cui si lavora.


La colo”nna di sinistra visualizza il documento aperto sul quale opera la macro. Nel nostro caso parleremo in modo più approfondito di Microsoft Excel”. Laddove la colonna di sinistra non fosse visibile basterà attivare il menù Visualizza – Gestione Progetti.
E’ utile notare che il riquadro gestione progetti si divide nell’insieme dei documenti aperti nella applicazione e nelle relative proprietà degli stessi.
In particolare un file di “Excel” contiene una cartella di lavoro e tre fogli di lavoro. Ognuno di questi oggetti viene nominato in modo diverso nella gestione progetti di VBA.
Questo concetto è legato anche al fatto che nella strutturazione della cartella di lavoro “ThisWorkbook” contiene i tre fogli.
Come prima prova apriamo il codice relativo a foglio1 cliccando due volte su foglio1 e scriviamo:

Sub cambia_nome()
Foglio1.Name = “Bilancio”
End Sub

In questo caso questa semplice macro cambia il nome al foglio1. Abbiamo richiamato una proprietà dell’oggetto foglio di Excel e abbiamo rinominato mediante programma in “Bilancio”.
Da questa prima macro alcuni spunti:
Sub indica l’inizio di un programma con un nume assegnato dall’utente; End Sub termina il programma. 
All’interno del costrutto Sub .. End Sub inseriamo le istruzioni di programma. 
Complichiamo un po’ la macro e proviamo a chiedere all’utente il nome del foglio il codice da scrivere è:

Sub cambia_nome()
Foglio1.Name = Inputbox(“Inserisci il nuovo nome ”,”Richiesta input”)
End Sub


In questo caso viene chiesto all’utente mediante una finestra di dialogo e digitiamo il nome del foglio che vogliamo dare. 
Abbiamo scritto una prima macro in “VBA”.

Articolo in evidenza

Test n.1 – Reti di Calcolatori Gratis

Questo test dimostrativo di 5 domande casuali ti mette alla prova delle conoscenze e competenze sulle reti di calcolatori. Il test completo che è disponibile per gli abbonati verifica moltissime delle abilità, conoscenze, richieste per sostenere anche gli esami di certificazioni ITAF acronimo di “IT Adminsitrator Foundamentals” certificazione EUCIP riconosciuta a livello europeo che nel modulo reti verifica diversi aspetti sulle reti di calcolatori.
Gli argomenti che sono trattati nel test sono tanti e li riassumiamo in questo elenco:

  • Mezzi di trasmissione e topologie di rete
  • Classificazione delle reti in base all’estensione geografica
  • Modello ISO/OSI e TCP/IP nel dettalgio
  • Livello Data Link nel dettaglio
  • Livello IP nel dettaglio con relativo Indirizzamento IP
  • Protocolli di livello Applicativo
  • Livello di trasporto

Prova il test

Articolo in evidenza

Linguaggio SQL – 1

In questo articolo sono trattati molti argomenti in merito ai Database con particolare riferimento al linguaggio SQL.
Il contenuto dell'articolo è:
Introduzione al linguaggio SQL
Principi base del modello relazionale
Esempi di modello relazionale
Il linguaggio SQL caratteristiche fondamentali (con particolare riferimento a MariaDb e Mysql).
La classificazione delle istruzioni SQL
Istruzioni per la definizione delle tabelle
Istruzioni per l'inserimento dati nelle tabella
Istruzione per l'aggiornamento e/o cancellazione dati nella tabella.
Istruzioni per la modifica della struttura della tabella
Questo articolo è visibile agli utenti sotto scrittori di abbonamento.

Articolo in evidenza

Corso Python 3 – La programmazione ad oggetti

In questo video ti mostro come creare una classe in Python 3 nello specifico:

  • Definizione di classe e rappresentazione in UML
  • Definizione di oggetto e di istanziamento
  • Metodi e attributi della classe
  • Modificatori di accesso
  • Il Costruttore
  • Sintassi Python 3 per la programmazione OOP
  • La notazione “__”, “_” , ” “
  • Caso di studio amplio

Sorgenti Python 3 della Lezione

Articolo in evidenza

Corso Nuova ECDL – Computer Essentials n.1

In questa lezione, sono esposti i fondamenti dell’ICT con particolare riferimento ai seguenti argomenti:

  • Hardware e Software
  • Classificazione dell’Hardware e del Software
  • Definizione di sistema operativo e relative funzionalità di Windows 10 come caso di studio
  • Caratteristiche fondamentali di Windows 10

Il video segue il Syllabus 6.0 della Nuova ECDL – Modulo Computer Essentials dal punto 1.1.1 al punto 1.3.5

Articolo in evidenza

Esercitazione Packet Tracer NAT, PAT

Esercitazione di Packet Tracer svolgimento:

  • Simulare un collegamento ad Internet da parte di un utente residenziale mediante DSL, Fibra che accede ai servizi Web, FTP, Mail, DNS.
  • Per realizzare questa esercitazione occorre utilizzare Packet Tracer

  1. Effettuare i collegamenti inserendo nel Router0 un’interfaccia in Fibra Ottica o in Rame.
  2. Nel Cloud Internet inserire due modem, due interfacce di rete in Fibra o in Rame
  3. Nel Router Home abilitare il dhcp sull’interfaccia interna;
    ad esempio se l’interfaccia interna è Gigabit 0/0 i comandi per una classe C 192.168.1.0/24
    sono:
    en
    conf t
    int G 0/0
    ip address 192.168.1.254 255.255.255.0
    ip dhcp pool LAN
    network 192.168.1.0 255.255.255.0
    dns-server 202.10.30.3 (sarà configurato più avanti)
    default-router 192.168.1.254
    end
    exit
  4. Sull’interfaccia pubblica del router Home abilitiamo un IP pubblico 191.168.1.254/24
  5. Sul Router Home ip route 0.0.0.0 0.0.0.0 191.168.1.1 (next-hop Router0 dell’ISP)
  6. Sempre sul Router0 abilito il NAT con i seguenti comandi:
    en
    conf t
    int G 0/0 (se è l’interfaccia interna )
    ip nat inside
    ip access-list standard LAN
    permit 192.168.1.0 0.0.0.255
    ip nat inside source list LAN interface G 0/1 overload (crea il nat dinamico dalla LAN ad Internet)
  7. Il Router del Provider ISP avrà due interfacce quella verso il Cloud con IP pubblico statico 191.168.1.1/24 e quella verso la WAN dei server 202.10.30.0/24;
  8. Una volta configurati gli IP sul router Router0 aggiungere una rotta statica ip router 191.168.1.0 255.255.255.0 191.168.1.254 (next-ho la rete residenziale):
  9. Configurazione dei servizi WAN (Server)
    1. Un server con IP 202.10.30.1 Web Server che accetta protocollo http e https e che punta al DNS Server 202.10.30.3; abilitare anche FTP Server
    2. Un server SMTP e POP3 con IP 202.10.30.2 con default gateway 202.10.30.254 e DNS Server 202.10.30.3;
      Per il servizio Mail creare un dominio test.it e impostare due indirizzi email: use1@test.it, user2@test.it e password user1 e user2;
    3. Un server DNS con IP 202.10.30.3/24 e default gateway 202.10.30.254 e DNS il suo IP;
      Abilitare il servizio DNS server con i seguenti Record:
      test.it SOA TTL 86400; Refresh Time 28800, Expire Time 604800, Retry time 7200, Mail box info@test.it; Primary DNS dns.test.it
    4.  
      1. Un Record NS con dns.test.it
      2. Un Record A con nome test.it 202.10.30.2
      3. Un Record A con nome www.test.it 202.10.30.1
      4. Un Record A con nome ftp.test.it 202.10.30.1
      5. Un Record CNAME con nome test.it e alias mail.test.it o pop3.test.it; un Record CNAME con nome test.it e alia mail.test.it o smtp.test.it
Articolo in evidenza

Video Tutorial WxWidgets n.2

In questo secondo tutorial, ti spiego come utilizzare WxWdgets con il C++ per realizzare un programma con interfaccia GUI che permette di gestire anche strutture dati semplici in C++.
Ti spiego come creare una finestra con controlli standard e un menù di gestione.

Scarica il sorgente del progetto

Articolo in evidenza

Tutorial C++ n.4

Argomenti

  • I sotto programmi in C++
  • Chiamata a sotto programma in C++ per valore e per riferimento
  • Buone pratiche per la scrittura di sotto programmi in C++
  • Array e Matrici e uso nei sotto programmi in C++
  • Le Stringhe con la libreria <string> in C++
  • Le enumerazioni e le struct in C++
  • Le tabelle in C++ – Caso di studio

Sorgenti GitHub del Tutorial 4 C++

Articolo in evidenza

Tutorial C++ n.3

Video Tutorial n.3 C++

Argomenti

  • Le stringhe in C++ alcune funzioni notevoli
  • Array in C++, ricerca sequenziale, ricerca sequenziale con flag, ordinamento per selezione
  • Sotto programmi in C++ – le basi

Sorgenti dei programmi di esempio su GitHubSc

Scarica sorgenti

Prova il test per comprendere il tuo livello di preparazione