Una Pillola per chi fosse interessato allo sviuppo di applicazioni Android:
Guida Android
Questo link vi porterà ad un altro Blog (che ho appena scoperto curiosando in rete) che vi porterà passo-passo alla creazione di app per Android. Nell'esempio dellguida si parla di Android 2.3 ma non necessariamente si discosta da ciò che si può fare con sdk più avanzati!!! Stay Tuned!
Visualizzazione post con etichetta Informatica. Mostra tutti i post
Visualizzazione post con etichetta Informatica. Mostra tutti i post
martedì 24 settembre 2013
mercoledì 19 dicembre 2012
Espressioni regolari (RegExp)
Espressioni regolari
La sintassi delle
espressioni regolari è considerata superata dallo standard POSIX,
ma è comunque molto usata per la sua larga diffusione. La maggior parte dei programmi
che utilizzano le regexp, utilizzano queste regole dando anche il supporto
per le nuove regole che sono più estese.
Questi sono i
"metacaratteri" che ci permetteranno di
effettuare le espressioni di ricerca:
.
|
Trova un
singolo carattere (se è nella modalità linea singola altrimenti se è
in multiriga prende tutti i caratteri diversi da \n, ovvero un ritorno
a capo).
|
[ ]
|
Trova un
singolo carattere contenuto nelle parentesi. Ad esempio, [abc] trova o una
"a", "b", o "c". [a-z] è un intervallo e trova
ogni lettera minuscola dell'alfabeto. Possono esserci casi misti: [abcq-z]
trova a, b, c, q, r, s, t, u, v, w, x, y, z, esattamente come [a-cq-z].
Il
carattere '-' è letterale solo se è primo o ultimo carattere nelle parentesi:
[abc-] o [-abc]. Per trovare un carattere '[' o ']', il modo più semplice è
metterli primi all'interno delle parentesi: [][ab] trova ']', '[', 'a' o 'b'.
|
[^ ]
|
Trova ogni
singolo carattere non incluso nelle parentesi. Ad esempio, [^abc] trova ogni
carattere diverso da "a", "b", o "c". [^a-z]
trova ogni singolo carattere che non sia una lettera minuscola. Come sopra,
questi due metodi possono essere usati insieme.
|
^
|
Corrisponde
all'inizio della stringa (o di ogni riga della stringa, quando usato in
modalità multilinea)
|
$
|
Corrisponde
alla fine della stringa o alla posizione immediatamente precedente un
carattere di nuova linea (o alla fine di ogni riga della stringa, quando
usato in modalità multilinea)
|
( )
|
Definisce
una "sottoespressione marcata". Il risultato di ciò che è incluso
nell'espressione, può essere richiamato in seguito. Vedi sotto, \n.
|
\n
|
Dove n
è una cifra da 1 a 9; trova ciò che la nesima sottoespressione ha
trovato. Tale costrutto, detto backreference, estende le potenzialità
delle regexp oltre i linguaggi regolari e non è stato adottato nella sintassi
estesa delle regexp.
|
*
|
|
{x,y}
|
Trova
l'ultimo "blocco" almeno x volte e non più di y
volte. Ad esempio, "a{3,5}" trova "aaa", "aaaa"
o "aaaaa".
|
Vecchie
versioni di grep non supportano il separatore alternativo "|".
Esempi:
".atto" trova ogni stringa
di cinque caratteri come gatto, matto o patto
"[gm]atto" trova gatto
e matto
"[^p]atto" trova tutte le
combinazioni dell'espressione ".atto" tranne patto
"^[gm]atto" trova gatto
e matto ma solo all'inizio di una riga
"[gm]atto$" trova gatto
e matto ma solo alla fine di una riga
Dal momento
che molte serie di caratteri variano a seconda della configurazione locale (in
alcuni casi le lettere sono organizzate in abc..xyzABC...XYZ, in altri
aAbB..yYzZ), lo standard POSIX ha definito alcune classi o categorie di
caratteri come mostrato nella seguente tabella:
classe POSIX
|
sintassi normale
|
significato
|
[:upper:]
|
[A-Z]
|
lettere maiuscole
|
[:lower:]
|
[a-z]
|
lettere minuscole
|
[:alpha:]
|
[A-Za-z]
|
lettera sia maiuscole che minuscole
|
[:alnum:]
|
[A-Za-z0-9]
|
numeri e lettere maiuscole e minuscole
|
[:digit:]
|
[0-9]
|
numeri
|
[:xdigit:]
|
[0-9A-Fa-f]
|
numeri in formato esadecimale
|
[:punct:]
|
[.,!?:...]
|
segni di interpunzione
|
[:blank:]
|
[ \t]
|
spazio o TAB
|
[:space:]
|
[ \t\n\r\f\v]
|
caratteri vuoti
|
[:cntrl:]
|
caratteri control
|
|
[:graph:]
|
[^ \t\n\r\f\v]
|
caratteri non vuoti
|
[:print:]
|
[^\t\n\r\f\v]
|
caratteri non vuoti e spazi
|
Le parentesi quadrate fanno parte della sintassi per indicare la classe di caratteri. Ad esempio [[:upper:][:digit:]ab] trova corrispondenza in una qualsiasi lettera maiuscola, in una qualsiasi cifra, nella lettera 'a' minuscola e nella lettera 'b' minuscola.
Esempi di quantificatori
- * Cerca l'occorrenza (zero o più volte) del carattere o insieme di caratteri cui segue:
abc* identifica ab seguito da zero o più c
come in ab, abc, abcc, abccc
- + Cerca l'occorrenza (una o più volte) del carattere o insieme di caratteri cui segue:
ab[ce]+ identifica ab seguito da
una o più c oppure una o più e
come in abc, abec, abccc, abcceeecccccce
- ? Cerca l'occorrenza (zero o una volta) del carattere o insieme di caratteri cui segue:
abc? identifica ab seguito o meno da una c
come in abc e ab
- {m, n} Cerca l'occorrenza (da m a n volte; m lasciato vuoto è zero, n lasciato vuoto infinito) del carattere, insieme di caratteri o sotto-regex cui segue:
(ab){1,2} identifica le sequenze di uno o due ab
come in ab e abab
mercoledì 12 dicembre 2012
Codice catastale di un comune Italiano
Qui potete visualizzare uno script in php per la ricerca del codice del comune, e il risultato che vi apparirà sarà il nome del comune, il suo codice, e la sigla della provincia:
Per l'elenco dei comuni ho creato un normale file di testo che incorporo con il codice:
<?php
$pattern="/".$_POST[comune]."/i";
//apre il file:
$comuni=fopen("../inc/codici_catastali_comuni.txt","r");
$i=0;
if($_POST[comune]!=""){
while (!feof($comuni)) {
//ottiene riga per riga il file e lo asegna a buffer:
$buffer = fgets($comuni, 4096);
//se incontra i parametri di ricerca, inserisci un
// nuovo valore al contenuto dell'array "stringa":
if(preg_match($pattern,$buffer)){
$stringa[$i]=$buffer;
$i++;
}
}
#chiude il file:
fclose ($comuni);
}
?>
Questa versione del programma è solo dimostrativa, in quanto questo codice non è perfetto, infatti, se mettiamo il nome di un comune che è simile ad un altro (es. Como e Zibido San Giacomo) il sistema prenderà l'ultimo in elenco corrispondente alla ricerca. Va quindi perfezionato, ma per lo scopo dimostrativo che ha per il momento è sufficiente per capire come ciclare il contenuto di un file riga per riga senza caricarlo tutto in memoria, a prescindere dalla sua dimensione. questa funzione, denominata fgets(), sarà utile quando su web, dove le risorse sono sempre "risicate", dovremo controllare file di grandi dimensioni.
Update: 17/12/2012
Effettuata la modifica del programmino, per avere un elenco ordinato in base alle occorrenze trovate. Inserire questo codice nel programma diventa così un lavoro piuttosto semplice dando la possibilità di inserire i dati corretti suggerendoli direttamente all'utente.
Questo è il codice per il risultato ciclato secondo il suo ordine alfabetico
(n.b.: è ordinato alfabeticamente il file, e quindi anche il suo risultato. Il file viene ciclato riga per riga, restituendo per ultimo l'ultima riga del file, a prescindere se esiste un ordine o meno. er ordinare comunque un array in php ci sono delle funzioni per le quali rimando al manuale. v. Man. Php Ita - Array Sort)
<?php
$y=1;
for($x=0;$x<count($stringa);$x++){
$array=explode(" ",$stringa[$x],2);
$codiceComune=$array[0];
$nomeComune=substr($array[1],0,-6);
$siglaProvincia=substr($stringa[$x], -4, 2); // Es MI
print "<br>Risultato $y di $i:<br>Codice Comune: $codiceComune<br>Comune: $nomeComune<br>Provincia: $siglaProvincia<br>";
$y++;
}
?>
Per l'elenco dei comuni ho creato un normale file di testo che incorporo con il codice:
<?php
$pattern="/".$_POST[comune]."/i";
//apre il file:
$comuni=fopen("../inc/codici_catastali_comuni.txt","r");
$i=0;
if($_POST[comune]!=""){
while (!feof($comuni)) {
//ottiene riga per riga il file e lo asegna a buffer:
$buffer = fgets($comuni, 4096);
//se incontra i parametri di ricerca, inserisci un
// nuovo valore al contenuto dell'array "stringa":
if(preg_match($pattern,$buffer)){
$stringa[$i]=$buffer;
$i++;
}
}
#chiude il file:
fclose ($comuni);
}
?>
UN PICCOLO APPUNTO:
Update: 17/12/2012
Effettuata la modifica del programmino, per avere un elenco ordinato in base alle occorrenze trovate. Inserire questo codice nel programma diventa così un lavoro piuttosto semplice dando la possibilità di inserire i dati corretti suggerendoli direttamente all'utente.
Questo è il codice per il risultato ciclato secondo il suo ordine alfabetico
(n.b.: è ordinato alfabeticamente il file, e quindi anche il suo risultato. Il file viene ciclato riga per riga, restituendo per ultimo l'ultima riga del file, a prescindere se esiste un ordine o meno. er ordinare comunque un array in php ci sono delle funzioni per le quali rimando al manuale. v. Man. Php Ita - Array Sort)
<?php
$y=1;
for($x=0;$x<count($stringa);$x++){
$array=explode(" ",$stringa[$x],2);
$codiceComune=$array[0];
$nomeComune=substr($array[1],0,-6);
$siglaProvincia=substr($stringa[$x], -4, 2); // Es MI
print "<br>Risultato $y di $i:<br>Codice Comune: $codiceComune<br>Comune: $nomeComune<br>Provincia: $siglaProvincia<br>";
$y++;
}
?>
Sviluppo di un programma passo-passo - Parte 1
CALCOLO DEL CODICE FISCALE E BASI DELLA PROGRAMMAZIONE
Ciao a tutti! Dopo la pausa decisionale per scegliere il progetto da fare, siamo giunti ad una nuova idea, che esiste certamente, in tutte le salse: il calcolo del codice fiscale. Cliccando su questo link, troverete una pagina molto ben spiegata nel quale troverete le regole per creare l'algoritmo che genera il famoso codice che ci rende tutti univoci al dipartimento dell'agenzia delle entrate!
Resta però da definire in quale linguaggio scrivere l'applicazione che calcolerà il codice fiscale, e il perchè. Vogliamo rendere un servizio al'utente, o vogliamo fare un supercontrollo all'invio di un form? Oppure ancora, vogliamo fare un controllo incrociato dei dati di un db, e segnalare quali incongruenze ci sono e inviare statistiche sulla clientela controllata, o magari, un semplice esercizio scolastico?
Le possibilità sono diverse, e in base allo scopo si dovrebbe scegliere cosa fare. In un libro sul C++ acquistato nel lontano 1999, edito da Apogeo "C++ Tutto & Oltre" di Jesse Liberty, c'è una fondamentale quanto semplice mappa concettuale sul ciclo di progettazione-realizzazione di un programma:
- Concettualizzazione
- Analisi
- Progettazione
- Implementazione
- Test
- Produzione
CONCETTUALIZZAZIONE
L'intuizione è quella fase in cui si determina lo scopo del nostro programma (nel libro si riferisce alla programmazione a oggetti, ma io sono convinto che questi passi possono essere seguiti per qualsiasi tipo di programmazione, anche futura), un momento brevissimo che getterà le fondamenta su ciò che verrà fatto. Potrà certamente essere aggiornata mano a mano che sviluppa il nostro software, in base a determinate esigenze e nuove idee. In un team di sviluppo potrebbe esserci anche una persona designata allo scopo di proteggere e aggiornare l'idea e controllare che tutto ciò che ne segue venga fatto seguendo l'intuizione originale. Può essere una frase, un paragrafo, o un'idea che descrive brevemente ma in modo dettagliato cosa dovrà fare il nostro progetto e perchè. Il rispondere ad una delle domande che scrivevo poco sopra ad esempio potrebbe essere un buon inizio per questa fase d'intuizione.Bene, ma allora cosa vogliamo fare con questo algoritmo che già esiste? Semplice. L'idea di sviluppo di questo algoritmo sarà "creare un programma che sarà disponibile alla consultazione online, registrerà un log di utilizzo, memorizzerà i dati ricercati in un db, invierà il risultato via mail o sarà pronto per essere stampato". La ricerca consisterà nel calcolo del codice fornendo i dati della persona, tenendo presente che comunque ci sono alcune variazioni che solo il ministero può decidere e che non sono conosciute a noi comuni mortali! L'esempio più calzante, è che in caso di forte omonimia prevista dal decreto legge, si faccia ciò che viene descritto nell'articolo 6 del D.M. n° 345 del 23/12/1976, che non possiamo fare dall'esterno, ma solo emularlo, in quanto non possiamo avere a disposizione l'intero archivio del C.F. registrato in Italia.
CONCLUSIONE
Bene, ci siamo!Con questo primo passo abbiamo dato il via al nostro programma. Non abbiamo ancora scritto una riga di codice e alcune ricerche dovranno esser fatte, ma questa sarà la parte di Analisi che non è altro che il secondo passo relativo alla programmazione. Effettivamente, quando si parla di scrivere un programma, la scrittura del codice che poi eseguirà il programma è solo uno dei 6 passi descritti sopra. Questa è l'informatica, ovvero la gestione automatica delle informazioni che senza un preciso scopo, un'analisi e molti test anche prima di scrivere il codice di un programma, non avrebbe molto senso chiamarla così.
martedì 20 novembre 2012
C# - Installare Visual Studio Express 2012
Una descrizione di questo linguaggio di programmazione su piattaforma .NET di Microsoft direttamente da Wikipedia:
"La sintassi del C# prende spunto sia da quella di Delphi (hanno il medesimo autore, ovvero Anders Hejlsberg), di C++, di Java e di Visual Basic per gli strumenti di programmazione visuale e per la sua semplicità. Il risultato è un linguaggio con meno simbolismo rispetto a C++, meno elementi decorativi rispetto a Java, ma comunque orientato agli oggetti in modo nativo."
Per scaricare quindi l'ambiente di sviluppo adatto, la prima cosa è senz'altro trovare il sito Microsoft, da dove scaricarlo. Andare quindi a questo indirizzo e scegliere tra:
Windows 7:
e cliccare su "Installa subito" se si sta utilizzando già il pc sul quale verrà installato Visual Studio o su "Scarica ora", per scaricare la Iso di 690Mb circa che andrà masterizzata su CD per poterla eseguire su un pc con Windows Installato.
Windows 8:
C'è una versione anche per Windows 8. Rimando ad un altro post questa guida perchè ancora non ho a disposizione il nuovo sistema operativo MS.Anche in questa comunque sono presenti i due link:
"Installa subito" e "Scarica ora".
Una volta installato Visual Studio chiederà una registrazione, altrimenti la versione scaricata durerà solo 30 giorni. La procedura però è semplice basta inserire i vostri dati aziendali per poter avere il codice Product Key che permetterà l'utilizzo del programma.
Ad una prima occhiata, Visual Studio si presenta graficamente appagante, semplice e comodo da utilizzare, un pò come tutte le applicazioni a Interfaccia Grafica (graphic interface) solite dei programmi Microsoft. L'ambiente è molto user friendly, ma non mancano certamente gli strumenti per poter metter mano al codice e sviluppare in modo testuale.
Presto le prime applicazioni create in C# utilizzando Visual Studio Express 2012.
Stay Tuned!
domenica 18 novembre 2012
C - Contatori, Cicli, Strutture di controllo
Un semplice esercizio richiede di contare per cinque volte se un numero inserito è:
- Pari
- Dispari
- Negativo
- Positivo
- Neutro
ecco lo svolgimento che ho fatto per questo esercizio:
# include <stdio.h>
# include <stdlib.h>
using namespace std;
main(){
// dichiarazione
int a=0;
int volte=5;
int pari=0;
int dispari=0;
int neutro=0;
int positivi=0;
int negativi=0;
// svolgimento
//intestazione
printf("\nQuesto semplice programma serve a stabilire e contare se un numero e' pari, dispari, positivo, negativo o neutro.\n");
// ciclo di richieste
while (volte>0){
printf("\nScrivi un numero intero: ");
scanf("%d", &a);
if(a==0){
neutro++;
printf("\nIl numero '%d' e' neutro. \n", a);
printf("\nI numeri neutri sono: %d", neutro);
}else{
if(a>0){
positivi++;
printf("\n\nIl numero '%d' e' positivo.", a);
printf("\nI numeri positivi sono: %d", positivi);
}
else if(a<0){
negativi++;
printf("\n\nIl numero '%d' e' negativo. \n", a);
printf("I numeri negativi sono: %d", negativi);
}
if(a%2 == 0){
pari++;
printf("\nIl numero '%d' e' pari.", a);
printf("\nI numeri pari sono: %d\n", pari);
}
else{
dispari++;
printf("\nIl numero '%d' e' dispari.", a);
printf("\nI numeri dispari sono: %d\n", dispari);
}
}
--volte;
printf("\nRimangono %d scelte.\n\n", volte);
}//chiusura while
// riepilogo dei dati:
printf("\nRiepilogo:\n\n");
printf("Numeri pari: %d\n",pari);
printf("Numeri dispari: %d\n",dispari);
printf("Numeri positivi: %d\n",positivi);
printf("Numeri negativi: %d\n",negativi);
printf("Numeri neutri: %d\n",neutro);
printf("\nIl programma e' terminato. ");
system("PAUSE");
}
- Pari
- Dispari
- Negativo
- Positivo
- Neutro
ecco lo svolgimento che ho fatto per questo esercizio:
# include <stdio.h>
# include <stdlib.h>
using namespace std;
main(){
// dichiarazione
int a=0;
int volte=5;
int pari=0;
int dispari=0;
int neutro=0;
int positivi=0;
int negativi=0;
// svolgimento
//intestazione
printf("\nQuesto semplice programma serve a stabilire e contare se un numero e' pari, dispari, positivo, negativo o neutro.\n");
// ciclo di richieste
while (volte>0){
printf("\nScrivi un numero intero: ");
scanf("%d", &a);
if(a==0){
neutro++;
printf("\nIl numero '%d' e' neutro. \n", a);
printf("\nI numeri neutri sono: %d", neutro);
}else{
if(a>0){
positivi++;
printf("\n\nIl numero '%d' e' positivo.", a);
printf("\nI numeri positivi sono: %d", positivi);
}
else if(a<0){
negativi++;
printf("\n\nIl numero '%d' e' negativo. \n", a);
printf("I numeri negativi sono: %d", negativi);
}
if(a%2 == 0){
pari++;
printf("\nIl numero '%d' e' pari.", a);
printf("\nI numeri pari sono: %d\n", pari);
}
else{
dispari++;
printf("\nIl numero '%d' e' dispari.", a);
printf("\nI numeri dispari sono: %d\n", dispari);
}
}
--volte;
printf("\nRimangono %d scelte.\n\n", volte);
}//chiusura while
// riepilogo dei dati:
printf("\nRiepilogo:\n\n");
printf("Numeri pari: %d\n",pari);
printf("Numeri dispari: %d\n",dispari);
printf("Numeri positivi: %d\n",positivi);
printf("Numeri negativi: %d\n",negativi);
printf("Numeri neutri: %d\n",neutro);
printf("\nIl programma e' terminato. ");
system("PAUSE");
}
sabato 27 ottobre 2012
MIPS && Operatori Logici
Ciao! Oggi comincio col darvi un link che riporta a wikipedia. L'argomento è MIPS ovvero un'unità che misura la velocità di esecuzione delle istruzioni Assembly di un microprocessore.
Apri il link di wikipedia per saperne di più!
Ma non è tutto. Ieri abbiamo parlato di Operatori di confronto... bene ecco una breve descrizione-sintetitca di ciò che è stato detto:
Questi operatori servono quando incontreremo le istruzioni condizionali e quelle iterative, perché se la condizione è verificata restituiscono vero, altrimenti restituiscono falso. Gli operatori di confronto sono operatori a due argomenti ed hanno sempre posizione infissa (cioè tra i due argomenti).
Queste operazioni restituiscono necessariamente 1 quando sono vere e 0 quando sono false, quindi l’espressione
Apri il link di wikipedia per saperne di più!
Ma non è tutto. Ieri abbiamo parlato di Operatori di confronto... bene ecco una breve descrizione-sintetitca di ciò che è stato detto:
Operatori di confronto
Gli operatori di confronto permettono di verificare determinate condizioni, come ad esempio l’uguaglianza, la disuguaglianza, o semplicemente se un elemento è maggiore di un’altro; la seguente tabella mostra nel dettaglio gli operatori di confronto e la loro funzione:| Simbolo | Significato | Utilizzo | |||
|---|---|---|---|---|---|
| == | uguale a | a == b | |||
| != | diverso da | a != b | |||
| < | minore | a < b | |||
| > | maggiore | a > b | |||
| <= | minore o uguale | a <= b | |||
| >= | maggiore o uguale | a >= b |
Questi operatori servono quando incontreremo le istruzioni condizionali e quelle iterative, perché se la condizione è verificata restituiscono vero, altrimenti restituiscono falso. Gli operatori di confronto sono operatori a due argomenti ed hanno sempre posizione infissa (cioè tra i due argomenti).
Operatori logici
Anche gli operatori logici vengono utilizzati con le istruzioni condizionali ed iterative, e permettono di fare l’AND e l’OR tra due operandi; nella tabella mostriamo i simboli usati e il loro utilizzo:| Simbolo | Significato | Utilizzo |
|---|---|---|
&& | AND logico | a && b |
|| | OR logico | a || b |
Queste operazioni restituiscono necessariamente 1 quando sono vere e 0 quando sono false, quindi l’espressione
a || b assume valore uno se e solo se a o b valgono uno, mentre vale zero se entrambi gli operandi valgono zero; analogamente a && b assume valore zero se a o b valgono zero, uno nel caso entrambi valgano uno.
venerdì 26 ottobre 2012
COSTRUTTI FONDAMENTALI DELLA PROGRAMMAZIONE
I
concetti di base della programmazione sono 3:
- Sequenza: successione di passi ordinati
Flow
chart.
- Ellisse: Inizio, Fine.
- Trapezi: contenitori che indicano l'inserimento dei dati (I/O)
- Rettangolo: Istruzioni.
- Rombo (scelta, una condizione)
- A>B (A è maggiore di B?)
- A<B (A è minore di B?)
- A==B (A è uguiale a B?)
- A!=B (A è diverso da B?)
- A>=B (A è maggiore o uguale a B?)
- A<=B (A è minore o uguale a B?)
- in C e suoi derivati, il “SI” si può indicare come “SI”, “TRUE”, “VERO”, “1”
- in C e suoi derivati, il “NO” si può indicare come “NO”, “FALSE”, “FALSO”, “0”
- Selezione
- Iterazione
Mappe Concettuali 3 - I File
I File
I file sono costituiti dal loro nome e dalla loro estensione separati da un punto. Il loro nome non deve mai cominciare da un numero o un carattere speciale, ma solo da un underscore ( _ ) o da una lettera dell'alfabeto. La lunghezza del nome non deve superare i 255 caratteri. Questa appena descritta è la versione Microsoft della gestione dei file. Altri sistmei unix based ad esempio, non utilizzano le estensioni. Ma cosa sono queste estensioni? E' quella sigla che fa capire al sistema operativo con quale applicativo gestire i dati contenuti nel file che vogliamo usare.
Alla domanda: cosa c'è nella memoria di massa? File e Cartelle. Ricordati però che anche le cartelle sono file. Sono speciali file che contengono altri file.
In MSDOS ad esempio, puoi utilizzare il comando Tree per visualizzare l'albero delle directory, e puoi utilizzare il comando Dir per visualizzare il contenuto della directory corrente. Visualizzando la struttura del contenuto, in modo grafico, hai un'idea più seplice per poter organizzare i file in base al loro contenuto o qualche altra tipologia di organizzazione tu desideri.
I file sono costituiti dal loro nome e dalla loro estensione separati da un punto. Il loro nome non deve mai cominciare da un numero o un carattere speciale, ma solo da un underscore ( _ ) o da una lettera dell'alfabeto. La lunghezza del nome non deve superare i 255 caratteri. Questa appena descritta è la versione Microsoft della gestione dei file. Altri sistmei unix based ad esempio, non utilizzano le estensioni. Ma cosa sono queste estensioni? E' quella sigla che fa capire al sistema operativo con quale applicativo gestire i dati contenuti nel file che vogliamo usare.
Alla domanda: cosa c'è nella memoria di massa? File e Cartelle. Ricordati però che anche le cartelle sono file. Sono speciali file che contengono altri file.
In MSDOS ad esempio, puoi utilizzare il comando Tree per visualizzare l'albero delle directory, e puoi utilizzare il comando Dir per visualizzare il contenuto della directory corrente. Visualizzando la struttura del contenuto, in modo grafico, hai un'idea più seplice per poter organizzare i file in base al loro contenuto o qualche altra tipologia di organizzazione tu desideri.
Mappe Concettuali 2 - Il Software
Driver - Firmware
I driver e i Firmware sono spftware speciali che servono al corretto funzionamento di tutte le periferiche di I/O. La differenza tra i due è che i Driver sono un software "Virtuale", il Firmware è ancora più speciale perchè è un software "Fisico", ovvero viene eseguito tramite circuiti elettrici sistemati proprio come in un diagramma di flusso.
Il Sistema Operativo
E' quel programma che ci permette du rendere trasparente l'uso dell'Hardware, nascondere la complessità di tutto ciò che c'è dietro. Gestisce anche il software e fa in modo che i vari programmi possano dialogare in totale trasparenza con le periferiche del pc.
Inoltre ci mette a disposizione le interfacce:
Sono il tramite attravereso il quale "io" comunico con il computer.
I driver e i Firmware sono spftware speciali che servono al corretto funzionamento di tutte le periferiche di I/O. La differenza tra i due è che i Driver sono un software "Virtuale", il Firmware è ancora più speciale perchè è un software "Fisico", ovvero viene eseguito tramite circuiti elettrici sistemati proprio come in un diagramma di flusso.
Il Sistema Operativo
E' quel programma che ci permette du rendere trasparente l'uso dell'Hardware, nascondere la complessità di tutto ciò che c'è dietro. Gestisce anche il software e fa in modo che i vari programmi possano dialogare in totale trasparenza con le periferiche del pc.
Inoltre ci mette a disposizione le interfacce:
- Orientate al Carattere
- Grafiche
Sono il tramite attravereso il quale "io" comunico con il computer.
Diagrammi di Flusso e Mappe Concettuali
Questo post è solo un promemoria per la lezione sulle mappe concettuali che ci ha fatto il 27/09/2012 il Prof. Alemanno. L'immagine qui rappresentata è stata creata utilizzando questo semplice e intuitivo software per i diagrammi di flusso (flow chart). Questo è il link diretto al download (per s.o. Windows): Dia.
Com'è fatto l'Hard Disk?
Ciao a tutti!
Questo post è dedicato alla Memoria di Massa più famosa: L'Hard Disk.
Il disco rigido o HD è costituito da uno o più dischi di materiale
magnetizzabile; i dischi sono riuniti in modo tale da formare una pila
sigillata in un apposito contenitore con lo scopo di proteggere da
agenti esterni i dischi medesimi; hanno normalmente un diametro di 3,5
pollici; caratteristico è il fatto che il supporto di memoria ruota
continuamente, allo scopo di aumentare la velocità di accesso e di
trasferimento dei dati.
Le sue principali caratteristiche sono le seguenti:
Questo post è dedicato alla Memoria di Massa più famosa: L'Hard Disk.
Hard Disk
Le sue principali caratteristiche sono le seguenti:
- tempo di accesso intorno ai 10 ms;
- velocità di lettura 13 MB/s;
- velocità di scrittura 13 MB/s;
- velocità di trasferimento dati 40 MB/s;
- velocità di rotazione 10.000 giri/min;
- memoria cache 512 o 1024 kB;
- capacità da 4 GB a 15 GB ed oltre.
La memoria cache (memoria nascosta), viene usata per depositarvi i dati e
le istruzioni più frequenti velocizzando così le prestazioni del disco.
Caratteristiche utili per la scelta del disco sono inoltre la
rumorosità e il consumo.
Iscriviti a:
Post (Atom)



