giovedì 14 novembre 2013

Calcolatrice con due parametri

#include <stdio.h>
#include <stdlib.h>
using namespace std

int somma(int a, int b);
int x;
int y;
int ris;
int main()
{
 printf("Inserisci il primo valore: ");
 scanf("%d",& x);
 printf("Inserisci il secondo valore: ");
 scanf("%d",& y);
 ris=somma(x,y);
 printf("somma= %d",ris);
system ("PAUSE")
}
int somma(int a, int b)
{
 int tot;
 tot=a+b;
 return tot;
}

Prova di Menu

#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
 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\t fai una scelta...\n\n\n\n");
    }

Funzioni e procudure <--> Sottoprogrammi

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

Funzioni: quando restituisce un risultato (hanno in comune e vengono riconosciute dalle parentesi tonde);
Procedure: quando NON restituiscono un risultato.

Operatori e incrementi

c= a+b
c= a-b
c= a*b
c= a/b
c= a%b
  INFISSI

Operatori PREFISSI:
++a <--> a= a+1
--a <--> a= a-1
Operatori POSTFISSI:
a++ <--> a= a+1
a-- <--> a= a-1

a+=b <--> a= a+b
a-=b <--> a= a-b
a*=b <--> a= a*b
a/=b <--> a= a/b

Ecco un piccolo programma per capire come avviene l'incremento:

#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main ()
{
int a= 5; //dichiarazione del tipo di variabile. Int = variabile di tipo intero
int b= 7;

printf ("%d", ++a); //incremento a di 1 e poi stampo a
printf ("%d", b++); //prima stampo b poi incremento b di 1
printf ("%d/n", b); //stampo b
System("PAUSE") //il System blocca la schermata dos per far si che non venga chiusa
return 0;
}

Calcolatrice in DevC++

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 che esegue tutte e quattro le operazioni dopo aver inserito due diversi operandi.

mercoledì 23 ottobre 2013

Devc++


Ecco la schermata iniziale del nostro del nostro ambiente di sviluppo che andremo a studiare quest'anno.




Con questa finestra si potranno andare a scrivere codici tramite delle istruzioni che il compilatore andrà poi a tradurre.

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


Qui di seguito riporterò il codice del nostro primo programma con DevC++:

#include <stdio.h>
 
int main() 
{
    printf("Ciao Mondo\n");
}

Il codice Ascii

Il codice ASCII: tabella che raccoglie simoboli: grafici, numerici, di punteggiatura, alfabetici e speciali.
Il primo codice Ascii era formato da 128 simboli (da 0 a 127), poi si è estesa ed è diventata di 256 simboli (da 128 a 255).

IDE e Ambienti di sviluppo

Cos'è un IDE e a cosa serve?
L'IDE è un ambiente di sviluppo integrato,  in informatica è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma.
    Definizione data da Wikipedia.

L'IDE è un insieme di programmi "nascosti" da una GUI, interfaccia grafica (icone, finestre, menù a tendina .. ). Più precisamente però nella nostra interfaccia girano: 

  • Editor: è un programma di video scrittura che produce documenti in formato ascii. Produce file SORGENTE;
  • Compilatore: traduttore che traduce le varie istruzioni che abbiamo scritto. Produce file OGGETTO;
  • Linker: collegatore dei pezzi che sono stati tradotti. Produce file ESEGUIBILE;
  • Loader: caricatore. Carica i programmi sul disco fisso e li porta sulla RAM;
  • Debug: è un programma che cerca l'errore all'interno della programmazione. 
Esempi di IDE possono essere :
DevC++
Eclipse
Blockcode

I linguaggi di programmazione

I linguaggi di programmazione mi permettono di comunicare con la CPU. Questi linguaggi si basano su tre passaggi fondamentali:
- Sequenza
- Selezione
- Iterazione = ripetizione.

Inoltre per poter "parlare" con la CPU ho bisogno di traduttori. Esistono 3 tipi di traduttori:
- 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è eseguire le istruzioni nel linguaggio usato, traducendole di volta in volta in istruzioni in linguaggio macchina.

- Complitore --> scrive la traduzione e prepara un programma in formato .EXE
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.

- Assemblatore --> traduttore legato ad uno specifico microprocessore.
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, 80386, Motorola 68000, ecc.).

mercoledì 2 ottobre 2013

Cos'è il DOS?

Microsoft MS-DOS, abbreviato in MS-DOS, è un sistema operativo commerciale della Microsoft Corporation dedicato ai personal computer con microprocessore x86. Il nome deriva dalle iniziali di Microsoft, cioè MS, mentre DOS significa Disk Operating System. Come tutti i sistemi operativi per home e personal computer del periodo, l'MS-DOS era un sistema operativo monoutent e monotask, cioè capaci di far girare un solo programma alla volta. Il mercato sviluppò, sfruttando una peculiarità del meccanismo di esecuzione dei programmi di DOS, i TSR: programmi con cui era possibile effettuare una forma semplificata di multitasking. 
I principali limiti del DOS sono stati la limitazione a 640KB di RAM, la mancanza di supporto per la rientranza e l'architettura esclusivamente a 16 bit. L'interfaccia standard di MS-DOS era in'interfaccia a riga di comando(chiamata command). In seguito divennero disponibili altre interfacce utente, basate su menù testuali(Norton Commander) o grafiche(come il GEM e le prime versioni di Microsoft Windows fino alla 3.11).

Ecco un esempio di DOS:

Il sistema operativo

Il sistema operativo si divide in: di base e applicativo. Il sistema operativo di base mi serve per gestire un computer; mentre il sistema operativo applicativo mi serve per usare i programmi.
BIOS = Programma che mi permette di avviare il computer quando non c'è il software. Il bios è un softoware.

  • OFFICE
  • SISTEMA OPERATIVO
  • BIOS 
  • HARDWARE 

Hardware (HW) senza software (SW) non funziona.

Interfaccia grafica = sono le icone, il poter cliccare su un elemento, poterlo trasferire da un documento all'altro ecc .
GUI (Graphic User Interface) = Interfaccia utente che riceve comandi non tramite la digitazione ma utilizzando forme grafiche come puntatore, icone, finestre ecc .

HTTP

In telecomunicazioni e informatica HyperText Transfer Protocol (HTTP) è il risultato dell'applicazione di un protocollo di crittografia asimmetrica al protocollo di trasferimento di ipertesti HTTP. Viene utilizzato per garantire trasferimenti riservati di dati nel web, in modo da impedire intercettazioni dei contenuti che potrebbero essere effettuati tramite la tecnica di attacco del "man in the middle"

Fonti: Wikipedia - Cos'è l'http


Esiste anche il protocollo per il trasferimento dei dati: FTP

L'indirizzo IP

Un indirizzo IP (dall'inglese Internet Protocol address) è un'etichetta numerica che identifica univocamente un dispositivo (host) collegato a una rete informatica che utilizza l'Internet Protocol come protocollo di comunicazione. Un indirizzo IP assolve essenzialmente a due funzioni principali: identificare un dispositivo sulla rete e di conseguenza fornirne il percorso per la sua raggiungibilità da un altro terminale odispositivo di rete in una comunicazione dati a pacchetto.
Più esattamente l'indirizzo IP viene assegnato a una interfaccia (ad esempio unascheda di rete) che identifica l'host di rete, che può essere un personal computer, unpalmare, un router, elettrodomestici in generale, ecc. Va considerato, infatti, che un host può contenere più di una interfaccia: ad esempio, un router ha diverse interfacce (minimo due) per ognuna delle quali occorre un indirizzo IP.

Fonte: Wikipedia, indirizzo IP

Quindi ogni scheda di rete è dotata di un indirizzo IP. Ci sono due tipi di indirizzi IP: IP v4 ed IP v6.
L'IP v4 è composto da quattro numeri, compresi tra 0-255, e diviso da tre punti (es 198.165.55.4); mentre l'IP v6 è composto da sei numeri separati da cinque punti.
I numeri dell'indirizzo IP v4 sono chiamati ottetti (8 bite = 1 byte)

Le reti

Per trasferire i dati ho bisogno di computer connessi tra di loro tramite una RETE che può essere:

LAN = ovvero LOCAL AREA NETWORK = esempio: una rete azienda di qualche metro o kilometro che non tocchi suolo pubblico
MAN = ovvero METROPOLITAN AREA NETWORK = esempio: una rete civica che deve passare sotto le strade
WAN = ovvero WIDE AREA NETWORK = una rete a territorio nazionale ( come fastweb ).
INTERNET= interconnessione tra reti geografiche.

Per parlare di reti si ha bisogno di: computer e collegamenti --> cavi o onde radio.

Tipi di comunicazione e di trasmissione:

  • Simplex: ovvero monodirezionale (ad esempio radiodiffusione e telediffusione);
  • Half-duplex: ovvero bidirezionale, ma solo un utente alla volta (ad esempio walkie-talkie);
  • Full-duplex: ovvero bidirezionale, ma in contemporanea tra due utenti (ad esempio il cellulare).
Ci sono diversi dispositivi a nostra disposizione per poter creare una rete. Ecco i principali:
HUB= simula l'effetto di una rete a bus, lo "scatolotto" altro non fa che creare un ponte ( meglio detto BUS) per collegare diversi dispositivi. Non si collega alla rete di internet
esempio di hub


ROUTER= collega più reti e collega i dispositivi anche a internet, spesso possiede anche un collegamento wi-fi, viene considerata sempre una rete a bus.


Esiste anche una tipologia di rete chiamata "a stella" in cui un Computer "centrale" gestisce e collega i vari dispositivi connessi, e solo esso sa dove sono collocati gli altri computer ed è lui a decidere e gestire l'invio dei dati tra i vari dispositivi.




Bit, Byte e i suoi multipli

Che cosa è un BIT?
un bit è l'unità di misura (quantità minima) dell'informazione. E' anche una cifra binaria, che può essere 0 oppure 1.

Che cosa è un Byte?
Il Byte è formato da 8 Bit ed è l'elemento base dell'indirizzabilità nelle architetture dei computer e  unità di misura delle capacità di memoria.

Tabella dei Multipli del Byte
Byte (tra parentesi viene indicata la potenza)
-KiloByte (KB) = 2(10) Byte
-MegaByte (MB)=2(20)Byte
-GigaByte (GB)= 2(30)Byte
-TeraByte (TB)= 2(40)Byte
-PetaByte (PB)= 2(50)Byte
-Exabyte (EB)= 2(60)Byte
-ZettaByte (ZB)= 2(70)Byte
-YottaByte (YB)= 2(80) Byte

E 1 Kb (kilobit) a quanto corrisponde? un byte sono otto bit, quindi 8*2(10)=2(3)*2(10)=2(13)bit. Quindi un megabyte è 2(23) bit, quindi quando un volantino del mediaworld dice che un pc ha una velocità di connessione di 1Mb al secondo, vuole dire che può trasferire più di 1 milione di Bit al secondo! Quindi un 1 singolo bit viaggerebbe alla velocità di un milisionesimo di secondo, chi può riuscire ad immaginare un tempo cosi piccolo?

Cos'è Cloud e Web 2.0

CLOUD: In informatica con il termine inglese cloud computing (in italiano nuvola informatica) si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in Rete in un'architettura tipica client-server.


WEB 2.0: Il Web 2.0 è un termine utilizzato per indicare uno stato di evoluzione del World Wide Web, rispetto a una condizione precedente. Si indica come Web 2.0 l'insieme di tutte quelle applicazioni online che permettono un elevato livello di interazione tra il sito web e l'utente come i blog, i forum, le chat, i wiki, le piattaforme di condivisione di media come FlickrYouTubeVideo, i social network come FacebookMyspaceTwitterGoogle+LinkedinFoursquare, ecc. ottenute tipicamente attraverso opportune tecniche di programmazione Web e relative applicazioni web afferenti al paradigma del Web dinamico in contrapposizione al cosiddetto Web statico o Web 1.0.

giovedì 19 settembre 2013

I siti

Google è: una società, perchè fornisce servizi informatici; un motore di ricerca e un sito, perché fornisce un servizio. Un altro sito che fa parte di google è gmail, i quali hanno una struttura ad albero capovolto: c'è un root (admin-amministratore) che può gestire tutti gli altri utenti sotto di lui. Formattare vuol dire organizzare la memoria di massa. È obbligatorio formattare ogni memoria di massa la prima volta che viene inserita in un dispositivo. Dentro ogni memoria di massa c'è il file che può essere di tipo testo, video, audio, fotografico, ecc .. Ogni sistema operativo ha un suo criterio di formattazione. Interattività: guardare qualcosa in diretta. 
Il termine cloud comprende tutti i servizi online.

Video tutorial blogger

Questo video tutorial ci insegna come utilizzare un blog.