giovedì 31 ottobre 2013

Prova di menu in dos

Ecco una prima prova di menu in dos, copiate o riscrivere il seguente codice nel DEV C++ :

#include <stdio.h>
#include <stdlib.h>
using namespace std;
void menu(); // prototipo di tipo VOID in modo che non restituisca nulla
int main()
{
 menu(); // chiamata della nostra funzione per la creazione di un menu!
 system ("PAUSE");
 return 0;
}
  void menu() // definizione qui creiamo il nostro menu
   {
    printf ("\t\t\tMENU\n");
    printf ("\t\t--------------------\n");
    printf ("\t\t-1 Prima Scelta\n " );
    printf ("\t\t-2 Seconda Scelta\n\n");
    printf ("\t\tfai la tua scelta...\n\n\n\n");
    }
                   Creare le proprie funzioni

Durante la scrittura dei nostri programma possiamo creare delle funzioni in questo modo...

#include <stdio.h>
#include <stdlib.h>
using namespace std;
int f(); // prototipo
int main()
{
f(); // chiamata
system ("PAUSE");
return 0;
}
int f() // definizione ( prottipo + chiamata)
{
printf ("ciao a tutti \n");
}

in questo modo richiamando la nostra funzione f() potremmo eseguire quando scritto nella definizione ( in questo caso viene eseguito il printf CIAO A TUTTI!) senza stare ogni volta a scrivere linee di codice, creando cosi le nostre librerie.

Alle funzioni posso essere assegnati nomi che richiamino l'utilizzo esempio se si crea una funzione di calcolo che esegue le operazioni, si potrebbe assegnare il nome di calcolo() (ricordarsi sempre le parentesi tonde...da quello si capisce che si tratta di una funzione). In un programma possiamo creare diverse funzioni, ogniuna con uno scopo diverso, ricordiamoci che le variabili dichiarate in una funzione sono specifiche di quella funzione e basta! e non possono , quindi, essere richiamate da altre funzioni, pena l'errore segnalato da parte del debugger in fase di compilazione del nostro codice.
Per il momento abbiamo visto due iscruzione, printf e lo scanf  che servono, rispettivamente, a visualizzare un messaggio e letteralmente a "scansionare" il valore e immagazzinarlo in una variabile, in modo che possa essere riusato dal programma.
Vediamo ora un esercizio che serve a "comprendere" come ragionano i compilatori, un modo molto umano di ragionare...più semplicemente da sinistra a destra, cosi come facciamo noi.

quindi scrivere ++a o b++ significa la stessa cosa? tutte e due incrementano la nostra variabile ( a oppure b) ma in che modo? Usiamo questo semplice programma per capire come avviene l'incremento..



#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main ()

{
int a=5; // dichiarazione di due variabili con un dato valore
int b=7;

printf(" %d\n" ,++a); // prima incremento a di uno poi stampo a
printf(" %d\n" ,b++); // prima stampo b poi incremento di 1
printf(" %d\n" ,b); // stampo b

system ("PAUSE");// il system "blocca" la finestra di dos per non farla chiudere
return 0;
}
Iniziamo quindi a vedere il nostro secondo programma con Dev C++!

Dopo aver lanciato il nostro compilatore, andiamo a scrivere questo codice..

#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main ()

{
    int operando1;
    int operando2;
    int somma;
    int sottrazione;
    int prodotto;
    int divisione;
    int modulo;
   
    printf (" inserisci il primo numero: \n");
    scanf ("%d" ,&operando1);
    printf (" Il size di operando1 e' %d\n" ,sizeof(operando1));
    printf (" inserisci il secondo numero: \n");
    scanf ("%d" ,&operando2);
    printf (" Il size di operando2 e' %d\n\n" ,sizeof(operando2));
   
    somma=operando1+operando2;
    prodotto=operando1*operando2;
    sottrazione=operando1-operando2;
    divisione=operando1/operando2;
    modulo=operando1 % operando2;
   
    printf ("operando1+operando2=risultato somma ---> %d+%d=%d" ,operando1,operando2,somma);
    printf ("\n operando1*operando2=risultato prodotto ---> %d*%d=%d" ,operando1,operando2,prodotto);
    printf ("\n operando1-operando2=risultato sottrazione ---> %d-%d=%d" ,operando1,operando2,sottrazione);
    printf ("\n operando1/operando2=risultato divisione ---> %d/%d =%d \n " ,operando1,operando2,divisione);
    printf ("\n operando1/operando2 = risultato modulo ---> %d/%d = %d \n" ,operando1 ,operando2 ,modulo);

system("PAUSE");
return 0;
}

In questo programma vediamo la dichiarazione di alcune variabili (int somma, int sottrazione, int prodotto etc egtc) , le variabili sono dei contenitori a cui possiamo assegnare dei valori (in questo caso int sta per numero intero).

Con questo codice potremmo fare un piccolo esempio di calcolatrice, ancora primitivo, che esegue tutte e quattro le operazioni dopo aver inserito due diversi operandi.

mercoledì 23 ottobre 2013

Nel post precedente abbiamo iniziato a parlare di IDE, vediamo ora nel dettaglio l'ambiente di sviluppo che andremo a studiare, e quindi usare, quest'anno, ovvero Dev-C++.



Ecco la schermata inziale che apparirà una volta scaricato ( è ovviamente freeware), installato e lanciato con doppio click.


Con questa "semplice" finestra si potranno andare a scrivere codici e quindi creare tante applicazioni, tramite delle istruzioni che il compilatore andrà poi a tradurre.

Vediamo ora un semplice e famosissimo primo programma: Ciao Mondo!

Video Tutorial : Ciao Mondo

Ecco qua il codice per la creazione del nostro primo programma con dev C++

#include <stdio.h>
 
int main() 
{
    printf("Ciao Mondo\n");
}
 
Dopo aver creato un nuovo progetto con Dev-C++ andiamo a copiare ed incollare
(o meglio riscrivere) il codice nella nuova pagoine di testo creata. Ora con un click
sull'icona con i quattro quadratini colorati e il nostro IDE provvederà a mostrarci una
finestra di avvenuta compilazione (sfruttando il lavoro del debugger e del compilatore)
dicendoci se il nostro lavoro è andato a buon fine o meno. Non dovrebbero esserci errori
quindi andiamo ad eseguire il nostro primo programma con l'ìcona immediatamente alla sinistra
dell'icona per la compilazione.
 
Ide ed ambienti di sviluppo

Che cosa è un IDE e a cosa "serve"?

Un ambiente di sviluppo integrato (in lingua inglese integrated development environment ovvero IDE ,anche integrated design environment o integrated debugging environment, rispettivamente ambiente integrato di progettazione e ambiente integrato di debugging), in informatica è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma.

Wikipedia ne da questa definizione, ma vediamo più in dettaglio.

L'IDE altro non è che un insieme di programmi "nascosti" da una GUI , o meglio interfaccia grafica(finestre, menu a tendina, icone).  Per la precisione sotto la "nostra" interfaccia grafica girano:

-un editor ( programma di video scrittura che genera file in formato ascii)
-un compilatore (che "traduce" le varie istruzione che abbiamo scritto)
-un linker ( che "ricollega" i vari pezzi della traduzione)
-un debugger ( che consente di scovare gli errori nel codice che ne vietano il corretto funzionamento)
-un loader ( che carica il programma nella RAM consentendone l'avviamento)

Esempi di IDE possono essere :


Dev-C++
Eclipse
CodeBlocks


lunedì 14 ottobre 2013

Introduzione ai primi concetti di traduttore e , quindi, di linguaggio di programmazione

COMPILATORE: Un compilatore, in informatica, è un programma che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro linguaggio (codice oggetto). Questo processo di traduzione si chiama compilazione.

INTERPRETE: In informatica e programmazione, un interprete è un programma in grado di eseguire altri programmi a partire direttamente dal relativo codice sorgente. Un interprete ha lo scopo di eseguire un programma in un linguaggio di alto livello, senza la previa compilazione dello stesso (codice oggetto) cioè di eseguire le istruzioni nel linguaggio usato, traducendole di volta in volta in istruzioni in linguaggio macchina.

ASSEMBLER:
Un assembler (assemblatore in italiano) è un software che trasforma le istruzioni mnemoniche dell'assembly in linguaggio macchina. Si tratta dunque di un compilatore per un particolare linguaggio assembly.
Il termine assembler deriva dal fatto che le istruzioni vengono convertite e montate una accanto all'altra come se fossero in fila.
Ci sono molti tipi di linguaggi assembly e di conseguenza diversi assemblatori: esistono gli assembler per programmare i microchip, per creare programmi sul Personal Computer, per telefoni cellulari, ecc. Questo perché un assemblatore produce linguaggi macchina per una specifica famiglia di processori (intel 8086  quello che andremo a vedere in terza, 80386, Motorola 68000, ecc.).

Fonte Wikipedia

lunedì 7 ottobre 2013

BIOS

BIOS è un acronimo che significa Basic Input Output System, ed è un programma che risiede nella ROM ( Read Only Memory ) caricato a priori, che si avvia in automatico all'accensione del computer.
Ad ogni avvio il BIOS esegue un "check" delle periferiche e delle memorie, restituendo delle scritte a video. Una volta compiuto questa operazione trasferisce il Sistema Operativo nella RAM rendendone possibile l'avvio.

(In informatica, il Basic Input-Output System o BIOS è un insieme di routine software, generalmente scritte su memoria ROM, FLASH o altra memoria non volatile, che fornisce una serie di funzioni di base per l'accesso all'hardware del computer e alle periferiche integrate nella scheda madre da parte del sistema operativo e dei programmi. Nei computer IBM-compatibili la ROM del BIOS contiene anche il POST, il primo programma che viene eseguito dopo l'accensione, coinvolto dunque nella fase di avvio (boot) del sistema di elaborazione.)

(Il BIOS è il firmware del computer, dal momento che è una parte integrante dell'hardware, pur essendo composto da istruzioni software. Prima del 1990 il BIOS veniva memorizzato su una o più ROM, non riprogrammabili. Man mano che la complessità è aumentata, di pari passo con la necessità di aggiornamenti, si è diffusa la memorizzazione del firmware BIOS prima su EPROM, poi su EEPROM o flash memory così da permettere un rapido aggiornamento anche da parte dell'utente finale. La presenza di BIOS aggiornabili anche dall'utente, permette di ottenere ad esempio il supporto per CPU più aggiornate o dischi fissi più capienti. Per effettuare tali operazioni è indispensabile consultare il manuale d'uso della scheda madre e/o il sito web del produttore.
Dal momento che eventuali errori nell'aggiornamento del BIOS rendono il computer inservibile, alcune schede madri sono dotate di un doppio BIOS che consente di ripristinarne l'uso dopo una riprogrammazione sbagliata. Sono noti alcuni virus che sono in grado di sovrascrivere il BIOS (ad esempio il famigerato CIH o Cernobyl virus), tuttavia la maggior parte dei sistemi è dotata di un'opzione nel BIOS stesso per disabilitare le funzioni di scrittura e - spesso - di un ponticello che disabilita le tensioni di programmazione necessarie per l'alterazione della EPROM (la EPROM è una ROM riscrivibile più volte).
L'accesso al menu del BIOS avviene premendo un tasto o una combinazione di tasti, che variano da produttore a produttore o da modello a modello, durante la fase di POST. Alcune combinazioni utilizzate sono[2]:
  • tasto del/canc
  • F2
  • esc
  • F11
  • F1
  • ctrl+alt
  • ctrl+esc
La navigazione fra le varie schede e funzionalità dell'interfaccia del BIOS avviene quasi esclusivamente da tastiera.)


Fonte: Wikipedia, BIOS
Sistema Operativo


Il Sistema Operativo ( da adesso S.O ) altro non  che un programma con una GUI che consente di eseguire altri programmi.

Un sistema operativo (abbreviato in SO, in lingua inglese OS, "operating system"), in informatica, è un insieme di componenti software, che garantisce l'operatività di base di un calcolatore, coordinando e gestendo le risorse hardware di processamento (processore) e memorizzazione (memoria primaria), le periferiche, le risorse/attività software (processi) e facendo da interfaccia con l'utente, senza il quale quindi non sarebbe possibile l'utilizzo del computer stesso e dei programmi/software specifici, come applicazioni o librerie software.

Esempi di sistemi operativi sono Windows, Unix, le distribuzioni GNU/Linux, Mac OS.

Fonte: Wikipedia, Sistema Operativo

venerdì 4 ottobre 2013

Significato di GUI:

L'interfaccia grafica utente, note anche come GUI (dall'inglese Graphical User Interface), comunemente abbreviata in interfaccia grafica, è un tipo di interfaccia usente che consente all'utente di interagire con la macchina manipolando oggetti grafici convenzionali quali finestre, cartelle e icone: lasciando tutto il "lavoro" al computer, che ci restituisce una semplice ed intuitifa interfaccia pronta all'uso.


mercoledì 2 ottobre 2013

Cosa significa HTTP? e che cosè?

HTTP è l'acronimo di Hyper Text Transfer Protocol, ovvero un protocollo, o meglio un insieme di "regole" per la corretta visualizzazione e trasmissione dei contenuti web ( pagine internet ) in modo che possiate visualizzare sul vostro browser.

e cablare una rete cosa significa? Significa creare fisicamente (con cavi) la rete che collega diversi computer. Segliere dunque i tipi di cavi da usare ( es: doppino, fibra, coassiale) e anche i tipi di collegamento.
Come si trova l'indirizzo IP di un sito?

Semplice..

Basta cliccare su START ( simbolino di windows)
cliccare su RUN
digitare CDM
apparirà ora una finestra DOS in cui scrivere dei comandi
scrivere PING e il nome del sito, ad esempio www.google.com e premi invio

apparirà una scritta cosi : pinging google.com [ qui appare l'indirizzo IP ] with xxx byte of data

ecco fatto l'indirizzo IP che vi serve sarà quel numero tra le parentesi quadre.