Visualizzazione post con etichetta Informatica. Mostra tutti i post
Visualizzazione post con etichetta Informatica. Mostra tutti i post

lunedì 21 ottobre 2013

Programma in C



tabella ASCII







ASCII è l'acronimo di American Standard Code for Information Interchange.

È un sistema di codifica dei caratteri a 7 bit, comunemente utilizzato nei calcolatori, proposto dall'ingegnere dell'IBM Bob Bemer nel 1961, e successivamente accettato come standard dall'ISO. Per non confonderlo con le estensioni a 8 bit proposte successivamente, questo codice viene talvolta riferito come US-ASCII.


venerdì 18 ottobre 2013

IDE



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 delcodice sorgente di un programma.





Caratteristiche

Normalmente è uno strumento software che consiste di più componenti, da cui appunto il nome integrato:

• un editor di codice sorgente;

• un compilatore e/o un interprete;

• un tool di building automatico;

• (solitamente) un debugger.





A volte è integrato anche con un sistema di controllo di versione e con uno o più tool per semplificare la costruzione di una GUI.

Alcuni IDE, rivolti allo sviluppo di software orientato agli oggetti, comprendono anche un navigatore di classi, un analizzatore di oggetti e un diagramma della gerarchia delle classi.

Sebbene siano in uso alcuni IDE multi-linguaggio, come Eclipse, NetBeans e Visual Studio, generalmente gli IDE sono rivolti ad uno specifico linguaggio di programmazione, come Visual Basic o Delphi.

Traduttori



I traduttori sono programmi responsabili della traduzione fra due diversi linguaggi di programmazione. Essi generano normalmente programmi scritti in linguaggio macchina a partire da un linguaggio ad alto livello e si distinguono in:



• Compilatori;

• Interpreti.





I Compilatori traducono i programmi in moduli software scritto in codice macchina, specifico per una determinata architetturahardware, che deve essere linkato e, una volta caricato in memoria da un loader, può essere fruito direttamente da un processore. Non è però scontato che il linguaggio destinazione sia il linguaggio macchina della macchina host, in quanto esistono anche i cross-compilatori, il cui scopo è generare codice esecutivo per altre macchine, le cui risorse (processore, memoria, dischi) potrebbero essere troppo limitate per far girare l'ambiente di sviluppo nel quale viene scritto il programma. Quindi i programmi vengono eseguiti in un emulatore (in sostanza una macchina virtuale) e poi l'eseguibile creato viene portato sulla macchina destinazione.



Gli Interpreti traducono di volta in volta l'istruzione in esecuzione in linguaggio macchina quindi devono essere sempre attivi durante l'esecuzione del programma principale. Anzi per essere più precisi si può affermare che l'unico programma in esecuzione è l'interprete, mentre il programma "principale" costituisce i dati.

giovedì 3 ottobre 2013

GUI



GUI



Graphic user interface, Interfaccia grafico costituito da icone, finestre e tasti selezionabili attraverso il mouse. MS-Windows nelle sue varie versioni è oggi il GUI più diffuso.



GUI e CLI


L'interfaccia grafica consente all'utente di interagire con il computer manipolando graficamente degli oggetti, al contrario di quanto avviene sulla cosiddetta riga di comando di una CLI (command line interface), in cui l'esecuzione del programma viene guidata da istruzioni impartite tramite la tastiera.

Se con la GUI è possibile fornire al software una grafica accattivante e una rinnovata semplicità d'uso, anche la CLI ha i suoi vantaggi. Infatti, si tende ad utilizzare maggiormente quest'ultima dove la semplicità d'uso deve lasciare il passo ad esigenze di maggiore controllo sull'esecuzione del programma, sia quanto alle istruzioni inserite: si pensi ad es. all'uso che se ne è fatto nel tempo, e si fa tuttora, in ambito Unix; sia quanto alle informazioni restituite dal programma: ad es. strumenti di sviluppo e di analisi del codice; uso durante il debugging di un'applicazione; manipolazione di dati tramite la redirezione e il piping.


Nulla vieta di realizzare un software dotato di GUI, che sia in realtà un wrapper per uno o più programmi dotati della sola CLI; un esempio è il noto programma GParted. In realtà, questo è avvenuto al livello del sistema operativo, nei primi tempi in cui si sono diffuse le interfacce grafiche di sistema (sia per Windows, sia per Linux), e avviene tutt'oggi su Linux, nel quale la shell grafica è uno strato posto "al di sopra" della shell testuale, non lo sostituisce, ed è nettamente separato da essa.



English translation


GUI



Graphic user interface, graphical interface consists of icons, windows and buttons selected with the mouse. MS-Windows in its various versions is now the most popular GUI.



GUI and CLI


The graphical interface allows the user to interact with the computer graphically manipulating the objects, on the contrary of what happens on the so-called command line of a CLI (Command Line Interface), in which the execution of the program is guided by instructions given via the keyboard.

If the GUI is possible to supply the software with appealing graphics and a renewed simplicity of use, the CLI also has its advantages. In fact, you tend to make more use of the latter where the ease of use must give way to the need for greater control over the execution of the program, both as to the instructions included: think eg. the use that is made in time, and still does, in Unix, either because the information returned by the program: eg. development tools and code analysis, use when debugging an application, manipulation of data through the redirection, and piping.


Nothing prevents build an application with GUI, which is actually a wrapper for one or more programs providing only CLI, an example is the well-known program GParted. In fact, this happened at the operating system level, in the early days in which you have spread the graphical interfaces of the system (for both Windows and for Linux), and is still on Linux, in which the graphical shell is a layer placed "above" the shell text, not replace it, and it is clearly separated from it.

Costrutti

Cos'è un costrutto?

in c (ma anche in altri linguaggi ad alto livello) un costrutto non è altro che una struttura di controllo in un linguaggio di programmazione strutturata sono quei dispositivi sintattici che permettono di combinare tra loro istruzioni elementari creando cosi istruzioni complesse o blocchi di istruzioni, controllando il flusso della loro esecuzione, i piu famosi in c sono i costrutti selettivi come if - else e lo switch, e i costrutti iterativi come il while e il for.

nel caso dello switch la sintassi è

switch (nomeVariabile)

{

case 1:

.......istruzioni......

break;

case 2:

.....istruzioni.......

break;

}

N.B: se non viene scritta l'istruzione break nel primo caso quando il primo caso viene eseguito eseguira tutte le istruzioni fino a quando non trovera l'sitruzione break ad esempio quella del secondo caso.





in c (but also in other high-level languages​​) a construct is nothing more than a control structure in a structured programming language syntax are those devices that allow you to combine their elementary instructions thus creating complex instructions or blocks of instructions, controlling the flow of their execution, the most famous in c constructs are selective as if - else statement and the switch, and looping constructs such as while and for.

in the case of the switch the syntax is

{

case 1:

......instruction......

break;

case 2:

....instruction......

break;

}

NB: If the break statement is not written in the first case when the first case is executed will execute all the instructions until you will find the sitruzione break such as that of the latter.

BIOS



Cos'è il BIOS?




È il programma che il microprocessore usa per inizializzare il computer dopo che avete premuto il bottone di accensione. E' anche responsabile per la comunicazione tra il sistema operativo e le periferiche di input e output(come hard disk, scheda video, scheda audio, tastiera, mouse etc.etc.). Il BIOS e' parte integrale del PC e viene salvato su una EPROM. Quando avviate il vostro computer, il processore avvia il BIOS, questi controlla che quanto e' collegato al processore sia funzionante e quindi carica il sistema operativo in memoria.

Sebbene il BIOS sia l'intermediario tra il microprocessore e le periferiche di input e output, in alcuni casi puo' fare in modo che il flusso di dati venga deviato direttamente nella memoria.






English translation

What is the BIOS?




Is the program that the microprocessor uses to initialize the computer after you press the power button. It 'also responsible for the communication between the operating system and devices of input and output (such as hard disk, video card, sound card, keyboard, mouse, etc.etc.). The BIOS is integral part of the PC and is stored on an EPROM. When you start your computer, the processor starts the BIOS, and how these checks that 'connected to the processor is working, and then loads the operating system into memory.


Although the BIOS is the intermediary between the microprocessor and the peripheral input and output, in some cases this may 'make sure that the data stream is diverted directly into memory.




Algoritmo



Cos’è un Algoritmo?

Un algoritmo è un procedimento che risolve un determinato problema attraverso un numero finito di passi.

Un algoritmo è un insieme di istruzioni che soddisfa le seguenti proprietà:

1. E' finito: si conclude dopo un numero finito di passi, cioè l'esecuzione termina in un tempo finito.

2. E' definito e preciso: ogni istruzione è definita in maniera non ambigua, univocamente

interpretabile dall'esecutore; ad ogni passo deve essere definita una e una sola operazione

successiva.

3. Se ci sono dati in ingresso, la tipologia di questi è precisata (es. numeri interi, numeri reali, stringhe,

..).

4. Fornisce almeno un risultato: un algoritmo che non fornisce risultati è inutile.

5. E' eseguibile: tutte le istruzioni possono essere eseguite in un tempo finito, cioè l'esecutore è in

grado, con le risorse a sua disposizione, di eseguire ogni istruzione indicata.

6. Risolve una classe di problemi: garantisce risultati corretti per tutti i problemi appartenenti alla stessa

classe. Tuttavia ciò' non vieta di scrivere un algoritmo specifico per una particolare istanza di

problema.







Definizione di problema

Un problema è un quesito nel cui enunciato si forniscono i dati necessari per giungere, mediante calcoli o

elaborazioni, alla soluzione richiesta nell'enunciato stesso.





Che cosa significa risolvere un problema

Dal punto di vista informatico, risolvere un problema significa ricercare ed esprimere un elenco di istruzioni

(algoritmo) che, interpretate da un esecutore, conducano da determinate informazioni iniziali (dati) a

informazioni finali (risultati).



Definizione di programma

Il programma è un algoritmo espresso con un linguaggio di programmazione. Un linguaggio di programmazione si basa su tre costrutti fondamentali:

Sequenza

Selezione

Iterazione









English translation

What is an algorithm?
An algorithm is a procedure that solves a given problem by a finite number of steps.
An algorithm is a set of instructions that satisfies the following properties:
1. E 'finished: ends after a finite number of steps, that is, the execution terminates in a finite time.
2. E 'defined and precise: each instruction is defined unambiguously, univocally
interpretable by the executor, at each step must be defined and a single operation
next.
3. If there are input data, the typology of these is specified (eg, integers, real numbers, strings,
..).
4. Provides at least one result: an algorithm that does not provide results is useless.
5. And 'executable: All instructions can be executed in a finite time, that is, the executor is
able, with the resources at his disposal, to execute each instruction indicated.
6. Addresses a class of problems: it guarantees correct results for all problems belonging to the same
class. However, this' does not prohibit write an algorithm specific to a particular instance of
problem.


Definition of problem
A problem is a question in whose stated will provide the data needed to reach, by calculation or
processing, the required solution in the statement itself.


What does it mean to solve a problem
From the software point of view, to solve a problem is to search and make a list of instructions
(algorithm) that, interpreted by a performer, lead by certain initial information (data) to
final information (results).

Definition of program
The program is an algorithm expressed in a programming language. A programming language is based on three basic constructs:
sequence
selection

iteration







domenica 29 settembre 2013

HTTP. Protocolli

Ogni scheda di rete ha un indirizzo IP(protocol) e un pc può avere più di una scheda di rete.

I protocolli sono delle regole che vengono stabilite.

Il HTTP è un esempio di protocollo (protocollo di comunicazione) e gestisce il viaggio delle informazioni.
L'HTTP funziona su un meccanismo richiesta/risposta, il cliente (browser) esegue una richiesta e il serve (sito web) esegue una risposta. Se la richiesta viene soddisfatta il protocollo chiude la connessione quindi è ideale per il Word Wild Webe.

Sono protocolli anche IP, TCP, RETE (c'è un software), SMTP, POP3 e FTP.

FTP è un protocollo per la trasmissione dei dati basato su TCP.
Gli obbiettivi principali sono:

  • promuovere la condivisione di dati
  • incoraggiare l'uso indiretto dei computer remoti
  • trasferire i dati in maniera affidabile ed efficiente 
  • Risolvere in maniera trasparente incompatibilità tra differenti sistemi di stoccaggio file tra host.



Per la creazione di un sito ho bisogno di:

  • IP (indirizzo) serve alla rete
  • Dominio (nome) serve agli umani
  • Ho bisogno di uno spazio. O metto il mio sito sul mio pc ma è difficile da gestire o mi rivolgo a un provider, cioè un fornitore di servizi, e per spostare le pagine da me create usufruisco di un programma e dietro a tutto ciò c'è il protocollo FTP 

classificazione in base alla topologia. Rete a Bus. Rete ad Anello. Rete a Stella

RETE A BUS 
è la più usata perchè si possono connettere innumerevoli dispositivi e se, in caso, uno va in errore non influenza gli altri.
Tutti i nodi sono collegati tra di loro per mezzo di un bus, cioè un canale che possiede due estremità e innumerevoli accessi. Le due estremità sono chiuse da terminali.
é molto usata nelle reti dati e inizialmente anche nelle reti internet fino al cablaggio dei doppini.











RETE AD ANELLO

La rete ad anello è molto usata per la sua tolleranza sugli errori dato che l'informazione trasmessa può viaggiare in continuazione in entrambi i sensi fino ad arrivare a destinazione.
















RETE A STELLA

Nella rete a stella tutti i nodi sono collegati a un dispositivo centrale. Questo dispositivo centrale si chiama HUB e ha il compito di diffondere e selezionale le informazioni da mandare ai nodi. In caso delle reti dati può essere un Router, uno Swich, mentre nelle reti di telefonia può essere un nodo di distribuzione o aggregazione di traffico.
Ogni nodo per comunicare con un' altro nodo deve passare per il dispositivo centrale. Il numero di canali è uguale al numero dei nodi meno 1.
Il vantaggio di questa rete è l'alta affidabilità ma lo svantaggio è che se il dispositivo centrale smette di funzionare si interrompe tutta la rete.
















Tutti i dispositivi sono riconosciuti da degli indirizzi/address/IP.

IPV4 è composto da 4 numeri e 3 punti (1.2.3.4)
IPV6 è composto da 6 numeri e 5 punti (1.2.3.4.5.6)

Negli IPV4 i possibili valori vanno da 0 a 255. Un ottetto è grande 8 biti quindi un indirizzo IP è lungo 4 byte.

Esempio: 198.168.55.4 IPV4. (198).(168).(55).(4) i numeri tra parentesi vengono chiamati ottetti.

Router e Hub

ROUTER

 è un dispositivo elettronico che, in una rete informatica a commutazione di pacchetto, si occupa di instradare i dati, suddivisi in pacchetti, fra reti diverse.
Il Router consente di accedere in una rete esterna e di far collegare tutti i dispositivi tra loro. Consente, inoltre, di far comunicare 3 dispositivi. Ha una connessione WI-FI e da la possibilità di collegarsi a una rete internet. Il suo scopo è collegare e gestire le reti. La sua topologia di riferimento è la rete a bus.





HUB

rappresenta un concentratore, ovvero un dispositivo di rete che funge da nodo di smistamento dati di una rete di comunicazione dati organizzata prevalentemente con una topologia a stella.
Nel caso diffuso delle reti Ethernet, un hub è un dispositivo che inoltra i dati in arrivo da una qualsiasi delle sue porte su tutte le altre, cioè in maniera diffusiva. Per questa ragione può essere definito anche un "ripetitore multiporta"

Tipi di comunicazione o di trasmissione

I tipi di comunicazione o trasmissione sono 3:

  • Simplex
  • Half Duplex
  • Full Duplex
SIMPLEX è un tipo di rete uni-direzionale dove posso solo trasmettere e non ricevere.
HALF DUPLEX è un tipo di rete bidirezionale e posso sia trasmettere che ricevere
FULL DUPLEX è un tipo di rete con unico cavo dove posso trasmettere più flussi.





giovedì 26 settembre 2013

Cloud Computing

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.


USO
Il sistema del cloud computing prevede tre fattori distinti:
Fornitore di servizi (cloud provider)– Offre servizi (server virtuali, storage, applicazioni complete) generalmente secondo un modello "pay-per-use";
Cliente amministratore – Sceglie e configura i servizi offerti dal fornitore, generalmente offrendo un valore aggiunto come ad esempio applicazioni software;
Cliente finale – Utilizza i servizi opportunamente configurati dal cliente amministratore.
In determinati casi d'uso il cliente amministratore e il cliente finale possono coincidere. Ad esempio un cliente può utilizzare un servizio di storage per effettuare il backup dei propri dati, in questo caso il cliente finale provvede a configurare e utilizzare il servizio.
I principali processi su cui i diversi fornitori cominciano a proporre soluzioni in modalità cloud sono Customer relationship management (CRM), Human Capital Management (HCM), Enterprise resource planning (ERP).

FONTE: http://it.wikipedia.org/wiki/Cloud_computing

LAN, WAN, MAN, INTERNET

LAN

In informatica e telecomunicazioni una Local Area Network (LAN) (in italiano rete in area locale, o rete locale) è una rete informatica di collegamento tra più computer, estendibile anche a dispositivi periferici condivisi, che copre un'area limitata.
Si tratta storicamente delle prime tipologie di reti informatiche realizzate al mondo per semplicità di realizzazione e costi sostenibili anche da piccoli privati.

Le caratteristiche di una rete locale
La vicinanza geografica tra i nodi che compongono la rete garantisce alle LAN prestazioni di gran lunga superiori a quelle di reti più estese e solitamente connesse attraverso linee telefoniche. Qualsiasi dispositivo di rete (server, computer, laptop, stampante, televisore, hard disk, NAS) può diventare nodo di una rete LAN e le sue risorse possono essere condivise con tutti gli altri nodi. Se, ad esempio, nella nostra LAN è presente una stampante di rete, tutti gli utenti della nostra stessa rete locale potranno utilizzarla per stampare, così come tutti gli utenti della LAN potranno salvare dati su uno stesso hard disk di rete (o NAS) connesso alla LAN.




Il mezzo di trasmissione fisico per una LAN cablata include i cavi, principalmente a doppino incrociato o in fibra ottica. Un cavo a doppino incrociato è costituito da otto cavi che formano quattro coppie di cavi in rame incrociati e viene utilizzato con spine e prese RJ-45. La lunghezza massima del cavo di un doppino incrociato è 100 m (328 piedi), mentre nel caso del cavo in fibra ottica, la lunghezza massima varia da 10 km a 70 km, in base al tipo di fibra ottica. A seconda dei tipi di cavi a doppino incrociato o in fibra ottica utilizzati, la velocità di trasmissione dei dati può variare da 100 Mbit/s a 10.000 Mbit/s.

Allargando il contesto della definizione ai servizi che forniscono una rete locale, è possibile distinguere due modi di funzionamento :
in un ambiente peer-to-peer » (sigla P2P), nel quale la comunicazione si stabilisce da computer a computer senza un computer centrale e dove ogni computer ha un ruolo simile
in un ambiente « client/server », nel quale un computer centrale fornisce dei servizi in rete agli utenti.




WAN

Wide Area Network. è una rete di comunicazione geografica, è una tipologia di rete di computer che si contraddistingue per un estensione territoriale pari a più regioni geografiche.

Si tratta più precisamente di una rete di trasporto che può connettere fra loro più reti locali e/o metropolitane collegate tra loro da backbone (un backbon è un collegamento ad alta velocità di trasmissione e capacità tra due server o router).

La funzionalità delle WAN è generalmente la connessione tra host (è un terminale collegato a una rete o meglio a internet). Questa struttura forma una communication subnet o semplicemente subnet (è una parte della suddivisione di una singola rete IP), che in genere appartiene ad una compagnia telefonica o a un ISP ( Internet Service Provider).







MAN

Metropolitan Area Network, è una rete di telecomunicazione con  estensione limitata a perimetro metropolitano. Si tratta di una rete di trasporto storicamente nata per i servizi della tv via cavo.
Prima la cosa è avvenuta a livello locale, successivamente si sono create grosse aziende che hanno richiesto di cablare intere città, soprattutto negli Stati Uniti. Quando il fenomeno Internet è esploso, queste società hanno ben pensato di diffondere la comunicazione via Internet anche attraverso il cavo TV utilizzando la struttura preesistente.

Tipicamente questa struttura, attualmente, utilizza la fibra ottica come mezzo trasmissivo di collegamento e topologie di rete ad anello detti appunto anelli metropolitani con funzionalità di backbone metropolitano da e verso le sottoreti e le utenze interne all'area metropolitana stessa.


INTERNET

Internet è una rete mondiale di reti di computer ad accesso pubblico ed è il principale mezzo di comunicazione di massa che offre all'utente una vasta serie di servizi. 
Si tratta di un'interconessione globale tra reti di estensione e natura diversa resa possibile grazie ai protocolli di rete TCP/IP




Storia di Internet

L'origine di Internet risale agli anni sessanta, su iniziativa degli Stati Uniti, che misero a punto durante la guerra fredda un nuovo sistema di difesa e di controspionaggio.
La prima pubblicazione scientifica in cui si teorizza una rete di computer mondiale ad accesso pubblico è On-line man computer communication dell'agosto 1962, pubblicazione scientifica degli statunitensi Joseph C.R. Licklider e Welden E. Clark. Nella pubblicazione Licklider e Clark, ricercatori del Massachusetts Institute of Technology, danno anche un nome alla rete da loro teorizzata: "Intergalactic Computer Network".
Prima che tutto ciò cominci a diventare una realtà pubblica occorrerà attendere il 1991 quando il governo degli Stati Uniti d'America emana la High performance computing act, la legge con cui per la prima volta viene prevista la possibilità di ampliare, per opera dell'iniziativa privata e con finalità di sfruttamento commerciale, una rete Internet fino a quel momento rete di computer mondiale di proprietà statale e destinata al mondo scientifico. Questo sfruttamento commerciale viene subito messo in atto anche dagli altri Paesi.

FONTI: http://it.wikipedia.org/wiki/Internet

giovedì 19 settembre 2013

Sito e Memoria

Un Sito ha una struttura ad albero:                  


   

Root (Admin) serve per la gestione degli utenti, si trova soprattutto in Linux.
Anche il Disco C è un Root.

Google oltre a essere un Sito e Motore di ricerca è anche un' Azienda che fornisce ulteriori Siti come: Gmail, Drive, Blogspot ecc...
questi Siti forniscono Servizi nell'era del web 2.0.
Con il vecchio Web 1.0 non si avevano Servizi e non c'era interattività.
I siti di Google costituiscono un CLOUD (nuvola in inglese).
Il CLOUD è un area online.


Memorie di Massa

La prima cosa da fare con una memoria di massa è FORMATTARE
Formattare significa organizzare cioè stabile delle regole di organizzazione.
Perchè alcune chiavette possono essere usate con qualunque sistema operativo?
Perchè alla chiavetta viene stabilita una regola di organizzazione adattabile a tutti i sistemi.