Follow me on Twitter RSS FEED

Esercizio Semplice puntatore

Posted in By Joker 0 commenti

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int a=7; //Dichiarazione variabile intera con inizializzazione
int *p = 0; //Dichiarazione puntatore ad intero
p = new int; //Allocazione di memoria per l'intero
p=&a;

cout<<*p<<"n"; //Stampa il valore contenuto nella variabile puntata
cout<<p<<"n"; //Stampa il contenuto del puntatore, cioè l'indirizzo della variabile puntata
cout<<&p<<"n"; //Stampa l'indirizzo del puntatore

cout<<a<<"n"; //Stampa il contenuto del variabile a
cout<<&a<<"n"; //Stampa l'indirizzo della variabile a

delete p; // rilascia l'area di memoria

system("PAUSE");
return EXIT_SUCCESS;
}

Funzioni di sovrapposizione

Posted in By Joker 0 commenti

A differenza dal C, il C++ consente l'esistenza di più funzioni con lo stesso nome, che sono chiamate: "funzioni sovrapposte" dette anche “funzioni di overload”. Il compilatore distingue una funzione dall'altra in base alla lista degli argomenti: due funzioni con overload devono differire per il numero e/o per il tipo dei loro argomenti.

Es. funz( ); funz(int a);

verranno chiamate con lo stesso nome funz, ma sono in realtà due funzioni diverse, in quanto non ha nessun argomento mentre la seconda ha un argomento int.

Non sono ammesse funzioni con overload che differiscano solo per il tipo del valore di ritorno ; né sono ammesse funzioni che differiscano solo per argomenti di default.

Es. void funz(int); e int funz(int);

non sono accettate, in quanto generano ambiguità: infatti, in una chiamata tipo funz(n), il programma non saprebbe se trasferirsi alla prima oppure alla seconda funzione (non dimentichiamo che il valore di ritorno può non essere utilizzato).

Es. funz(int); e funz(int, double=0.0);

non sono accettate, in quanto generano ambiguità: infatti, in una chiamata tipo funz(n), il programma non saprebbe se trasferirsi alla prima funzione (che ha un solo argomento), oppure alla seconda (che ha due argomenti, ma il secondo può essere omesso per default).
La tecnica dell'overload é molto usata in C++, perché permette di programmare in modo semplice ed efficiente: funzioni che eseguono operazioni concettualmente simili possono essere chiamate con lo stesso nome, anche se lavorano su dati diversi.

La programmazione ad oggetti

Posted in By Joker 2 commenti

La programmazione orientata agli oggetti (OOP, Object Oriented Programming) è uno stile fondamentale di programmazione, che prevede di raggruppare in un'unica entità, detta classe, sia le strutture dati che le procedure che operano su di esse, creando per l'appunto un oggetto.
Come nel mondo reale la realizzazione di un oggetto avviene in più fasi, lo stesso è nella programmazione ad oggetti.

Fase di costruzione di un oggetto:



Progetto
Nel mondo della programmazione ad oggetti (OOP) il progetto altro non è che la classe, cioè un’entità logica, non occupa spazio in memoria, che definisce variabili, funzioni e altri oggetti che possono essere pubblici, privati o protetti.

Costruttori
La vita di un oggetto classe ha inizio nel momento in cui viene creato, ossia viene allocato spazio nella memoria per contenere i dati dell’oggetto.

A questo punto sorge spontaneo la domanda:
“Ma da chi viene creato?”
“Dal costruttore.”


Il costruttore è una funzione il cui nome è il nome della classe: il costruttore viene chiamato automaticamente quando viene creato un oggetto appartenente alla stessa classe.

Sintassi:
nome_classe ( );

Oggetto

“L’oggetto è un’istanza della classe”.

L’oggetto è un’entità fisica, che occupa spazio in memoria, realizzata dalla classe (progetto) che combina elementi dati, funzioni e altri oggetti.
Questi elementi, detti anche modificatori, possono essere pubblici, privati e protetti.
Gli elementi pubblici costituiscono l’interfaccia cioè l’insieme delle variabili e funzioni a nostra disposizione per interagire con l’oggetto.
Gli elementi privati costituiscono tutta quella parte di codice a cui noi non abbiamo accesso perché il loro stato garantisce il corretto funzionamento dell’oggetto, “una sorta di protezione per impedire all’utente di combinare danni”.

Distruttore
Il distruttore è l’opposto del costruttore cioè quando termina il tempo di vita di un oggetto questo viene eliminato dal distruttore, per liberare la memoria occupata dai campi dati dell’oggetto.
Il distruttore è anch’essa una funzione che ha lo stesso nome della classe ma è preceduto dal simbolo ‘~’ (tilde).

Sintassi:
~ nome_classe ( );


Come si dichiara un oggetto in C++:

class tipo {
public:
tipo var1;
tipo var2;
tipo var3;
funzione membro 1;
funzione membro 2;

protected:
tipo var4;
tipo var5;
tipo var6;
funzione membro 3;
funzione membro 4;

private:
tipo var7;
tipo var8;
tipo var9;
funzione membro 5;
funzione membro 6;
} oggetto;

Esempio pratico:

class Rettangolo {
public:
//attributi
float base , altezza;
//metodi
float Area ( ) {
return base*altezza;
}; // Fine Area
} Figura1; // Fine classe

In questo esempio la classe Rettangolo si compone di due attributi di tipo reale e di un metodo che restituisce un numero reale ottenuto moltiplicando i due attributi.

figura1.base = 12 ;
figura1.altezza = 8 ;
cout << “L’area del rettangolo è “ <<figura1.Area ( ) << endl ;

Con questo esempio potete notare che è l’oggetto ad essere utilizzato tramite l’annotazione puntata e non il progetto. Quindi il progetto è un modello,un idea, un prototipo che ci serve per la dichiarazione degli attributi e dei metodi. Mentre l’oggetto, che è fisico, reale, ha un corpo, è colui che andremo ad utilizzare per svolgere determinate azioni.

Java

Posted in By Joker 1 commenti

Java è un linguaggio di programmazione orientato agli oggetti realizzato dalla Sun Microsystems, indipendente dalla piattaforma, modellato a partire dai linguaggi C e C++ di cui mantiene molte caratteristiche.


L’indipendenza dalla piattaforma è ottenuta grazie all'uso di uno strato software chiamato Java Virtual Machine (JVM) che traduce le istruzioni dei codici binari indipendenti dalla piattaforma, generati dal compilatore Java, in istruzioni eseguibili dalla macchina locale.

Java ha quindi unito i vantaggi di un linguaggio compilato a quelli di uno interpretato. Il sorgente Java viene infatti compilato in un codice intermedio tra il linguaggio macchina e il codice sorgente: il bytecode. Il file scritto in Bytecode sarà effettivamente il programma Java e ogni istruzione scritta in Bytecode viene interpretata dalla JVM a runtime.

Ad oggi esistono svariate implementazioni di JVM per le più diffuse piattaforme (Windows, Linux, Unix, Mac, OS/2, ecc.); inoltre una Java Virtual Machine è implementata anche nei vari Browser (come Firefox e Explorer) per poter eseguire particolari programmi Java presenti in rete, le cosiddette applet.

La natura di linguaggio a oggetti di Java consente di sviluppare applicazioni utilizzando oggetti concettuali piuttosto che procedure e funzioni.

Spiegazione tratta da:WikiBooks

Aritmetica e codifica ASCII

Posted in By Joker 0 commenti

Il codice binario
Il codice binario è su un sistema di numerazione composto da due soli numeri 0 e 1 (gli stati del bit).
Il computer basa il proprio funzionamento sul codice binario per un motivo molto semplice: gli elaboratori sono costituiti da un insieme di circuiti elettronici che conoscono solo due possibili stati: acceso (c'è corrente) o spento (non c'è corrente).
Mediante combinazioni di vari bit è possibile rappresentare, in una maniera comprensibile anche per il computer, l'insieme di lettere, numeri e simboli normalmente utilizzati.
Per soddisfare tutte le esigenze di rappresentazione si è scelto di utilizzare 8 bit per l'identificazione di un carattere in modo da disporre di 2^8 = 256 configurazioni.
Per esempio la lettera A può essere rappresentata come 00000001, la lettera B come 00000010, la lettera C come 00000100, e così via, fino a codificare tutti i possibili caratteri.
Un gruppo di 8 bit, cioè la rappresentazione binaria di un carattere, prende il nome di byte.

Il codice ASCII
Per fare in modo che computer diversi tra loro attribuiscano ad ogni combinazione lo stesso significato, è stato generalmente adottato il codice ASCII (American Standard Information Interchange).

Come si è visto ogni carattere occupa uno spazio di memoria pari ad un byte, cioè 8 bit.
L'unità di misura è quindi il byte (B), mentre i suoi multipli sono:

il Kilobyte (KB = 2^10 = 1024 byte)
il Megabyte (MB = 2^20 = 1024*1024 byte)
il Gigabyte (GB = 2^30 = 1024*1024*1024 byte)
il Terabyte (TB = 2^40 = 1024*1024*1024*1024 byte)

Il codice Esadecimale
Vengono spesso citati, nell’informatica, i numeri esadecimali.
Per comodità i programmatori usano rappresentare sia i numeri decimali (con 10 cifre) che i numeri binari (con due cifre) con numeri esadecimali.
Questi hanno sedici cifre: le dieci cifre da 0 a 9 e quindi le sei lettere da A a F.
Lo 0 esadecimale equivale al valore decimale 0, mentre la F esadecimale equivale al valore decimale 15.
L’avere inventato una rappresentazione dei numeri usando 16 cifre, rende i numeri più compatti.
Così il numero decimale 100, rappresentato dal binario 1100100, in esadecimale è 64.

RAM (Random Access Memory)

Posted in By Joker 0 commenti

La RAM è una memoria ad accesso casuale, cioè le informazioni del sistema vengono lette o scritte senza dover rispettare un determinato ordine sequenziale, ma è anche una memoria di tipo volatile, cioè viene spento il computer, la ram perde tutto il suo contenuto.
La RAM viene utilizzata direttamente dalla CPU per caricare le istruzioni da eseguire e i dati da elaborare quando non vi sono presenti nella cache interna del processore.
Ci sono due principali tipologie di RAM, la SRAM, la DRAM e la SDRAM.

SRAM (Static Random Access Memory)
Nelle SRAM, ovvero RAM statica, ogni cella è costituita da un latch realizzato da due porte logiche.
Consentono di mantenere le informazioni per un tempo infinito, sono molto veloci, consumano poco e quindi dissipano poco calore. La necessità di usare molti componenti, però, le rende molto costose e difficili da impacchettare.
Sono solitamente usate per le memorie cache, dove sono necessarie elevate velocità in abbinamento a ridotti consumi.

               (Definizione tratta da Wikipedia)

DRAM (Dynamic Random Access Memory)
La DRAM, ovvero RAM dinamica, è costituita, a livello concettuale, da un transistor che separa un condensatore, il quale mantiene l'informazione, dai fili di dati. A livello pratico non viene usato un vero condensatore ma si sfruttano le proprietà elettrico/capacitive dei semiconduttori. È così possibile usare un solo componente per ogni cella di memoria, con costi molto ridotti e la possibilità di aumentare notevolmente la densità di memoria.
A causa del non perfetto isolamento il condensatore si scarica, quindi dopo un breve lasso di tempo il suo contenuto diventa inaffidabile. Si rende necessario perciò ricaricarlo, l'operazione è detta di "refreshing", provvedendo ad eseguire un'operazione di lettura fittizia e riscrittura entro il tempo massimo in cui il contenuto può essere considerato ancora valido. Queste operazioni sono eseguite da un circuito interno alle memorie stesse. Oltre a comportare un certo dispendio di energia rendono più lenta la memoria in quanto, mentre si sta eseguendo il rinfresco, non è possibile accedervi.

               (Definizione tratta da Wikipedia)

DRAM (Dynamic Random Access Memory)
Le DRAM sono asincrone, ovvero l'accesso in scrittura ed in lettura è comandato direttamente dai segnali in ingresso al contrario delle memorie sincrone in cui il passaggio da uno stato all'altro è sincronizzato ad un segnale di clock.
Sono generalmente usate per la memoria principale del sistema perché consentono di ottenere un grande capienza e sono economiche.

               (Definizione tratta da Wikipedia)

SDRAM (Synchronous Dynamic Static Random Access Memory)
La SDRAM, ovvero DRAM sincrone, si differenzia dalla DRAM normale per il fatto che l'accesso è sincrono, ovvero governato dal clock.
È un tipo di RAM utilizzata per la memoria principale dei personal di tipo Pentium e successivi. Un segnale di clock temporizza e sincronizza le operazioni di scambio di dati, con il processore, raggiungendo una velocità maggiore.

               (Definizione tratta da Wikipedia)

Memoria centrale

Posted in By Joker 1 commenti

Una memoria può essere considerata come una sequenza finita di celle in cui ogni cella contiene una sequenza finita di bit. Normalmente i bit sono gestiti a gruppi di otto, detti byte. Pertanto lo spazio fisico della memoria può essere immaginato come una sequenza di locazioni, ognuna contenente un byte. Ogni locazione è individuata da un preciso indirizzo normalmente indicato da un numero intero positivo.
La memoria centrale è una memoria veloce direttamente utilizzabile dalla CPU per eseguire le operazioni. I costi di produzione della memoria centrale sono superiori rispetto a quelli della memoria secondaria ed infine i dispositivi impiegati per la memoria centrale non permettono di conservare i dati memorizzati a computer spento.
La memoria centrale si divide in memoria ad accesso casuale detta RAM (Random Access Memory) e memoria di sola lettura detta ROM (Read Only Memory).

CPU (Central Processing Unit)

Posted in By Joker 0 commenti

È il microprocessore di un computer, cioè l’unità di elaborazione centrale (il cosiddetto cervello del computer) è l’unità che controlla e sovrintende a tutte le funzioni della macchina.
La CPU è composta da un’unità che svolge operazioni aritmetiche (addizione, sottrazione, moltiplicazione e divisione) e operazioni logiche (AND, OR e XOR) chiamata ALU (Arithmetic/Logic Unit), da un’unità di controllo e temporizzazione chiamata CTU (Control/Timing Unit) e dai registri, piccole celle di memoria che contengono i dati da utilizzare nelle operazioni matematico/logiche o di controllo.

Aritmetica dei calcolatori e architettura

Posted in By Joker 0 commenti

Architettura di un computer
Il computer è un sistema, cioè un oggetto costituito da componenti che interagiscono, cooperando, al fine di ottenere un certo comportamento.

Studiare l’architettura di un sistema vuol dire:
1. individuare ciascun componente del sistema;
2. comprendere lo scopo di ciascun componente;
3. comprendere come i vari componenti interagiscono tra loro.
Il tutto ricordando però che ognuno di questi componenti è a sua volta un sistema e che quindi la decomposizione di un sistema in componenti può essere gerarchica.

Ecco un esempio:


Macchina di Von Neumann
Von Neumann è stato il progettista (dal 1945 al 1950) del primo calcolatore in cui i programmi potevano essere memorizzati anziché codificati mediante cavi e interruttori.

La macchina di Von Neumann si basa su cinque componenti fondamentali:
1. L’unità centrale di elaborazione detta CPU(Centrla Processing Unit);
2. Memoria centrale composta, a sua volta, dalla RAM e dalla ROM;
3. Cache;
4. Interfacce di ingresso(INPUT) e uscita(OUTPUT);
5. Bus.

Concetto di informatica

Posted in By Joker 0 commenti

Cosa è l’Informatica?
L’Informatica è la scienza della rappresentazione,
dell’organizzazione e del trattamento (automatico) dell’ informazione.

Elaborare un’informazione comporta la conoscenza del concetto stesso di informazione, conoscere i metodi e gli strumenti per la sua rappresentazione e la sua trasformazione ed infine la struttura e il funzionamento dello strumento (il computer) per l’elaborazione dell’informazione.

La soluzione automatica dei problemi comporta la conoscenza descrittiva del problema, la conoscenza di una soluzione corretta ed efficiente detto l’algoritmo ed infine le regole per automatizzare il processo risolutivo cioè il programma.

Il computer è lo strumento principale per l’elaborazione automatica dell’informazione.
Esso è composto da due diverse tipologie di componenti:
Hardware, parte fisica di un computer formata da componenti elettrici ed elettromeccanici;
Software, parte non fisica, virtuale di un computer, fatta di
programmi per l’uso dell’hardware e per la soluzione di problemi.

Definizione di Algoritmo

Posted in By Joker 0 commenti

L’algoritmo è un procedimento risolutivo di un problema composto da un insieme di regole che permettono di ottenere i risultati del problema partendo dai dati a disposizione.
Un insieme di regole è da considerarsi algoritmo quando: è un insieme ben ordinato di operazioni non ambigue e calcolabili che producono un risultato e termina in una quantità finita di tempo.

I fogli di stile (CSS)

Posted in By Joker 0 commenti

Definizione:
I Cascading Style Sheets detti CSS (Fogli di stile) compongono un linguaggio per la definizione del layout, cioè si occupano di tutta la parte estetica di un documento HTML, ad esempio il font, i colori, i margini, le immagini di sfondo,ecc...
Usare i fogli di stile (CSS) comporta quindi il controllo del layout di molti documenti contemporaneamente attraverso un unico foglio di stile e un controllo più preciso del layout.

Sintassi:
selettore { proprietà : valore }

Nota:
Il selettore è il riferimento al tag html a cui viene applicata la proprietà;

Ecco un esempio:
body {background-color: #808080;}

Come applicare i CSS ad un documento HTML:

Ci sono tre modi con cui puoi applicare i CSS ad un documento HTML.

  1. Metodo In-Line

  2. Metodo Interno

  3. Metodo Esterno

Hosting

Posted in By Joker 0 commenti

Definizione:
Hosting è un servizio, che colloca su uno spazio web (fornito da un server web), le pagine di un sito web rendendolo cosí accessibile dalla rete Internet.
Questo spazio web o server web è connesso ad internet in modo da poter accedere alle pagine del sito attraverso il browser, con identificazione dei contenuti tramite dominio ed indirizzo IP.

In internet troverete due tipologie di hosting:

  1. hosting gratuito;

  2. hosting a pagamento.



Il servizio di Hosting Gratuito ti permette di avere spazio e sito web a costo zero.
Il servizio offre:

  1. un sottodominio di terzo livello come ad esempio: nomedeltuosito.netsons.org o nomedeltuosito.altervista.org;

  2. Uno spazio web tra i 150MB e 500MB;

  3. Un account email;

  4. Un account FTP (File Transfer Protoco) cioè un protocollo per la trasmissione di dati tra host basato su TCP;

  5. Un Database MySQL

  6. Supporto PHP

  7. Backup Settimanale cioè salvataggio su server di backup dei tuoi dati


Questo servizio, come ho detto prima, è a costo zero ma all'interno del vostro sito verranno introdotti dei banner pubblicitari per coprire le spese di gestione come server, connettività, corrente, ecc...

Il servizio di Hosting a pagamento invece richiede un pagamento annuale offrendo, in base alla somma pagata:

  1. Un dominio di primo livello, ad esempio nomedeltuosito.it;

  2. Uno spazio web che può variare tra 1GB e 100GB(in base alla somma pagata);

  3. Più account email;

  4. Più account FTP (File Transfer Protoco) cioè un protocollo per la trasmissione di dati tra host basato su TCP;

  5. Più Database MySQL o illimitati Database MySQL;

  6. Supporto PHP, Perl e Ruby che sono linguaggi di programmazione web;

  7. Filtri antivirus e antispam;

  8. Vari ulteriori servizi come ad esempio i servizi di gestione delle immagini come Hotlink che blocca il furto delle tue immagini da altri siti;

  9. Backup Settimanale cioè salvataggio su server di backup dei tuoi dati.



Ecco un elenco di Hosting gratuiti:

  1. Netsons.org

  2. Hellospace.net("a mio parere il migliore")

  3. Altervista.org

  4. Ilbello.com

  5. Virtuale.org

  6. WTCsites.com



Ecco un elenco di Hosting a pagamento:

  1. Aruba.it

  2. Netsons.org

  3. NetWeb.it

  4. Serverplan.com

  5. Tophost.it

  6. WebHosting.it

  7. Joomla.it

  8. DominioWeb.org

  9. Ormag.net

I server Web

Posted in By Joker 0 commenti

Cosa sono i server web?
Il server web è un processo, in esecuzione su un computer, che fornisce su richiesta del browser una pagina web(spesso scritta in HTML).
Le informazioni inviate dal server web viaggiano in rete trasportate dal protocollo HTTP. L'insieme di server web dà vita al World Wide Web, uno dei servizi più utilizzati di Internet.

Ecco un elenco dei server web più diffusi:

  1. Apache HTTP Server

  2. Internet Information Services(IIS)

  3. HTTP File Server



Nota:Questa spiegazione è tratta, in parte, da Wikipedia.
Per avare una spiegazione più dettagliata consiglio di visitare questo link Server Web - Wikipedia

Guida HTML

Posted in By Joker 0 commenti

Ho pensato di suddividere la mia guida in categorie per ...

Teoria di base;

  1. Layout di una pagina HTML;

  2. Lo sfondo;

  3. Il testo;

  4. I fogli di stile(CSS);




Questo è il link a HTML.net

Metodo Esterno

Posted in By Joker 0 commenti

Metodo Esterno:
Il metodo Esterno consiste nel linkare il documento html con un foglio di stile definito in un file separato dal documento.
Si tratta di semplici documenti di testo editabili anche con il Blocco Note o TextEdit ai quali si assegna l'estensione .css.

Ecco un esempio:
<html>
<head>
<title>Inserire i fogli di stile in un documento</title>
<link rel="stylesheet" type="text/css" href="stile.css">
</head>
<body>
</body>
</html>

Questa tecnica ti permette di guadagnare un sacco di lavoro. Se per esempio vuoi cambiare il colore di sfondo di centinaia di pagine web, un foglio di stile ti può salvare dal farlo manualmente per tutti i 100 documenti HTML. Usando i CSS il cambiamento può essere fatto in pochi secondi solo cambiando un codice nel foglio di stile.

Metodo Interno

Posted in By Joker 0 commenti

Metodo Interno:
Il metodo Interno consiste nel inserire i fogli di stile direttamente nel documento (X)HTML tramite l'elemento <STYLE>. Anche in questo caso la dichiarazione va posta all'interno della sezione <HEAD>.

Ecco un esempio:
<html>
 <head>
 <title>Inserire i fogli di stile in un documento</title>
 <style type="text/css">
 body {
 background: #FFFFCC;
 }
 </style>
 </head>
 <body>
 </body>
</html>

Metodo In-Line

Posted in By Joker 0 commenti

Metodo In-line:
Ilmetodo In-line consiste nel utilizzare l'attributo style per applicare i CSS al documento l'HTML.
Esso fa parte della collezione di attributi (X)HTML definita Common: si tratta di quegli attributi applicabili a tutti gli elementi. La dichiarazione avviene a livello dei singoli tag contenuti nella pagina e per questo si parla di fogli di stile in linea.

Sintassi:

<elemento style="regole_di_stile">

Se, ad esempio, si vuole formattare un titolo H1 in modo che abbia il testo di colore bianco e lo sfondo nero, scriveremo:

<h1 style="color: white; background: black;">...</h1>

Le cose da osservare nel codice sono due. Come valore di style si possono dichiarare più regole di stile. Esse vanno separate dal punto e virgola. I due punti si usano invece per introdurre il valore della proprietà da impostare.

Il tag div

Posted in By Joker 0 commenti

Definizione:
Il tag <div> significa "division" ed il suo utilizzo è quello di dividere la pagina in sezioni logiche. Ad esempio se il nostro sito dovrà avere una intestazione, un corpo centrale e una piè di pagina la struttura sarà la seguente:

codice:
<body>
<div id="Intestazione"></div>
<div id="Corpo centrale"></div>
<div id="Piè di pagina"></div>
</body>

Uso:
L'elemento div è molto spesso utilizzato con i CSS per il layout di una pagina web.

Come impostare la grandezza del div:
Come abbiamo detto prima il div è un contenitore che occupa una sezione della pagina.
La grandezza di quella sezione possiamo impostarla noi.
Ecco un esempio:
<div width="100%" height="100%" border="1">
Ciao a tutti
</div>

L'attributo id:
Il div può essere dichiarato con un nome attraverso il parametro id="".
Il nome che associamo a tale parametro può servire innanzitutto a noi, per distinguere i vari div, e al browser per far riconoscere i tag ai css o agli script.

codice:
<body>
<div id="Intestazione"></div>
<div id="Corpo centrale"></div>
<div id="Piè di pagina"></div>
</body>

All'interno di questo codice sono presenti tre tag <div>.
L'attributo id, in questo caso, è fondamentale per poter distinguere la porzione di codice che riguarda l'intestazione con quella del corpo centrale o di piè di pagina.

Spero che la mia spiegazione sia chiara e che possa esservi d'aiuto.

Il login in C

Posted in By Joker 2 commenti

Scrivere un programma che richieda una registrazione per accedere all'applicazione. La registtrazione avverrà richiedendo all'utente l'inserimento di:
• username
• password
Se l'utente rifiuta di registrarsi, l'applicazione risponderà con il messaggio:
• spiacenti ma l'utilizzo dell'applicazione necessita di registrazione
A questo punto l'utente ha a disposizione due possibilità:
1. registrarsi
2. terminare l'esecuzione del programma
Se l'utente sceglie di registrarsi il programma salverà i propri dati in un file
Se l'utente è già registrato il programma controllerà l'account inserito prelevandone i dati dal file.

Ecco il sorgente:

#include <stdlib.h>
#include <stdio.h>

FILE * myfopen(char *name, char *mode);
int myfclose(FILE *f);
char nickname[20],password[20],nome[20],cognome[20];
char nicknamef[20],passwordf[20],nomef[20],cognomef[20], nick[20],pass[20];

int loggato,esistente;
FILE * f;
int acceso();
int registrazione();

FILE* myfopen(char *nome, char *modo)
{
FILE * f;
f=fopen(nome,modo);
if(f==NULL)
{
printf("Impossibile aprire %s\n",nome);
exit(1);
}
return f;
}

int myfclose(FILE *f)
{
int ris;
if(f==NULL)
{
printf("Errore interno\n");
exit(1);
}
ris=fclose(f);
if(ris!=0)
{
printf("Impossibile chiudere!\n");
exit(1);
}
return ris;
}

int main()
{
int scelta=0;

system("color 81");

printf("1. Accedi\n");
printf("2. Registrati\n");
printf("3. Esci\n");
scanf("%d", &scelta);

switch(scelta)
{
case 1:
accesso();
break;
case 2:
registrazione();
break;
case 3:
exit(1);
break;
}
return 0;
getch();
}

int accesso()
{
do{

printf("Utente:");
scanf("%s", nick);

printf("Password:");
scanf("%s", pass);

f = myfopen("registrazioni.txt", "r");
do{
fscanf(f, "%s %s %s %s\n", nicknamef, passwordf, nomef, cognomef);
if(strcmp(nick, nicknamef) == 0 && strcmp(pass, passwordf) == 0)
loggato = 1;
}while(!feof(f));

}while(loggato != 1);
printf("Benvenuto %s\n", nick);
system("pause");
}

int registrazione()
{

printf("Nickname:\n");
scanf("%s", nickname);
printf("Password:\n");
scanf("%s", password);
fflush(stdin);
printf("Nome:\n");
scanf("%s", nome);
fflush(stdin);
printf("Cognome:\n");
scanf("%s",cognome);
fflush(stdin);

f = myfopen("registrazioni.txt", "a");
f = myfopen("registrazioni.txt", "r");

do{
fscanf(f, "%s %s %s %s\n", nicknamef, passwordf, nomef, cognomef);
if(strcmp(nickname, nicknamef) == 0)
esistente = 1;
}while(!feof(f));

if(esistente == 1)
{
printf("Utente gia' registrato\n");
int main();
}
else
{
f = myfopen("registrazioni.txt", "a+");
fprintf(f, "%s %s %s %s\n", nickname, password, nome, cognome);
printf("Registrato con successo\n");
}
accesso();
system("pause");
}

Triangolo alfabetico

Posted in By Joker 0 commenti

Realizzare un programma in C che crei un file di testo contenente tutte le lettere dell'alfabeto, con una disposizione "a triangolo".

#include <stdio.h>
#include <stdlib.h>

FILE * myfopen(char *nome, char *modo);
int myfclose(FILE *f);

FILE* myfopen(char *nome, char *modo)
{
FILE * f;
f=fopen(nome,modo);
if(f==NULL)
{
printf("Impossibile aprire %s\n",nome);
exit(1);
}
return f;
}

int myfclose(FILE *f)
{
int ris;
if(f==NULL)
{
printf("Errore interno\n");
exit(1);
}
ris=fclose(f);
if(ris!=0)
{
printf("Impossibile chiudere!\n");
exit(1);
}
return ris;
}

int main()
{
FILE * f;
int i,j;
char ch;

f=myfopen("alpha.txt","w");
for(i=0;i<26;i++)
{
ch = i+'a';
for(j=0;j<=i;j++)
fputc(ch,f);
fputc('\n',f);
}
myfclose(f);
printf("Scrittura completata...\nControllare il file txt.\n");
getch();
return 0;
}

Ecco il risultato:

La visualizzazione a spirale

Posted in By Joker 0 commenti

Data una matrice 5x5 creare un programma che visualizza, a spirale, il contenuto della matrice.

#include <stdio.h>
#include <stdlib.h>

main()
{
int righe=5;
int colonne=5;
int a[righe][colonne];
int i=0;
int j=0;

printf("\nLa matrice e' %ix%i\n",righe,colonne);
printf("\n******Inserire cifre nella matrice******\n");
for(i=0;i<4);>0);
printf("\n");
do{
printf("%i,",a[righe][colonne]);
righe--;
}while(righe>1);
printf("\n");
do{
printf("%i,",a[righe][colonne]);
colonne++;
}while(colonne<3);>1);
printf("\n");
do{
printf("%i,",a[righe][colonne]);
righe--;
}while(righe>2);
printf("\n");
do{
printf("%i,",a[righe][colonne]);
colonne++;
}while(colonne<3);
printf("\n******Fine******\n");

getch();
return 0;
}

Ecco cosa comparirà a scermo:

Lezione 1:l'HTML

Posted in By Joker 0 commenti

L’HTML (Hyper Text Markup Language) è un linguaggio di contrassegno o di marcatura che permette di indicare al browser come disporre gli elementi all’interno di una pagina web attraverso dei marcatori detti tag.

Quindi l’HTML non è un linguaggio di programmazione data la mancanza dei costrutti fondamentali quali le variabili (contenitori, identificati da un nome univoco, di un qualsiasi valore, sia esso un numero o una stringa), i controlli condizionali (per porre delle condizioni che, se verificate, eseguono una determinata operazione altrimenti ne esegue un’ altra) e i controlli iterativi ( che permettono di eseguire ciclicamente delle istruzioni fino al verificarsi di alcune condizioni).


Struttura di un tag

Come detto sopra l’HTML è composto da una serie di marcatori (i TAG), a cui viene affidata la visualizzazione e che hanno differenti nomi a seconda della loro funzione. I tag vanno inseriti tra parentesi uncinate (), la chiusura del tag viene indicata con uno slash (). Il contenuto va inserito tra l'apertura e la chiusura del tag medesimo, secondo questa forma:


<TAG>

Contenuto
</TAG>


Come si può vedere già nell'esempio, è una buona norma utilizzare dei caratteri di tabulazione per far rientrare il testo ogni volta che ci troviamo in presenza di un annidamento e man mano che entriamo più in profondità nel documento.

Questa procedura si chiama indentazione, e grazie ad essa il codice HTML risulta più leggibile.


Struttura della pagina

Per prima cosa bisogna specificare al browser che tutto quello che andremo a scrivere è in codice html:


<html>

Contenuto…
</html>


Un documento HTML è diviso in due sezioni:

Testa <HEAD> che contiene informazioni che riguardano il modo in cui il documento deve essere letto e interpretato.

Corpo <BODY> che contiene il contenuto vero e proprio del documento.


Titolo pagina

Il title è il titolo della pagina e compare in alto sulla barra del browser.

È bene compilarlo da subito, onde evitare poi di avere pagine senza titolo.


<title>Nome del sito</title>


I commenti

Un'altra strategia importante, per rendere il nostro codice più leggibile è quella di inserire dei "commenti" nei punti più significativi: si tratta di indicazioni significative per il webmaster, ma invisibili al browser. Inserendo i commenti in punti specifici del documento ci permette di mantenere l'orientamento anche in file molto complessi e lunghi.

La sintassi è la seguente:


<!-- questo è un commento -->


Ecco il nostro primo codice HTML:


<html>

<head>
<title>Html.it</title>
</head>
<body>
<!--Scriveremo qui-->
Ciao a tutti…
</body>
</html>


Impostare il colore di sfondo

Se vogliamo impostare un colore di sfondo è necessario impostare il relativo attributo del tag body. Così:

<body bgcolor="blue">

bgcolor sta per "background color", cioè "colore di sfondo". Molti colori sono disponibili utilizzando le corrispondenti parole chiave in inglese.

Tuttavia non è consigliabile inserire la notazione del colore facendo riferimento a questo tipo di sintassi, dal momento che non possiamo sapere esattamente a quale tonalità di colore corrisponda il blu del computer dell’utente. È preferibile in molti casi utilizzare la corrispondente codifica esadecimale del colore, che ci permette – tra le altre cose – di scegliere anche tonalità di colore non standard. Con la notazione esadecimale il nostro esempio diventa:

<body bgcolor="#0000FF">

Parola chiave

Esadecimale

orange

#FFA500

blue

#0000FF

white

#FFFFFF

yellow

#FFFF00

gray

#808080

brown

#A52A2A

black

#000000

red

#FF0000

green

#008000

violet

#EE82EE

Inserire un’immagine di sfondo

Per inserire un’immagine come sfondo è sufficiente utilizzare la seguente sintassi:


<body background="Sfondo.jpg">


NOTA: l’immagine che andremo ad inserire nella pagina web con il codice sopra mostrato deve trovarsi nella stessa cartella della nostra pagina HTML.
Design by: WPYAG
Blogger Template by Anshul | Funny Pictures.