Progetto:Informatica
Benvenuto nella pagina del Progetto informatica nata per coordinare le iniziative volte ad ampliare, tradurre o creare le voci relative all'informatica sulla Wikipedia italiana.
Vedi anche -> Lista delle voci di informatica
Utenti interessati
Se sei interessato o sei un esperto di informatica, aggiungi il tuo nome alla lista ed eventualmente il settore o la voce a cui desideri dare un contributo.
|
Strumenti
- Lista di tutti le voci di informatica
- Modifiche recenti alle voci di informatica
- Lista delle voci da rivedere
- Lista delle voci da completare
- Lista delle immagini
- Lista dei template
Pseudocodice
Quello che segue e' la descrizione dello pseudocodice da utilizzare nelle voci riguardanti gli algoritmi. Corrisponde a quello usato da Cormen nel libro Introduction to algorithms ed ha una sintassi a metà tra il C e il Pascal:
Eventuali variazioni possono essere discusse al BarCode
Quello che segue e' la descrizione dello pseudocodice da utilizzare nelle voci riguardanti gli algoritmi. Corrisponde a quello usato da Cormen nel libro Introduction to algorithms ed ha una sintassi a metà tra il C e il Pascal:
- La strutturazione del codice (ad esempio il corpo delle procedure, delle condizioni if-then-else, dei cicli for, etc...) avviene mediante la sola indentazione. Non vengono utilizzati né i tipici begin-end dei linguaggi Pascal-like né le parentesi graffe dei linguaggi C-like
- I costrutti per i cicli for, while, repeat sono uguali a quelli del Pascal
- Il simbolo // (doppia barra obliqua) denota i commenti fino alla fine della riga corrente. In realtà nel Cormen viene usato un simbolo triangolare che non si trova nelle tastiere e quindi non è comodo da utilizzare
- Per la sua natura mista tra linguaggio di programmazione e linguaggio umano, lo pseudocodice consente di specificare a parole una o più istruzioni che risultano di difficile comprensione, di importanza marginale, oppure che non sono contemplate dalle specifiche dello pseudocodice. La notazione da usare è un * (asterisco) all'inizio di ogni riga descritta verbalmente. Notare che questa notazione va usata con parsimonia e solo nei casi in cui non è possibile scrivere una istruzione con il modello dello pseudocodice. Ad esempio è possibile avere la seguente riga
* Crea un array C di dimensione n
- in quanto non è possibile specificare una dichiarazione di un array a dimensione fissa secondo il modello di pseudocodice. Invece nel prossimo esempio
* Copia i primi ⌊n/2⌋ elementi dell'array A nell'array B e i restanti nell'array C
- l'utilizzo di questa istruzione (perfettamente codificabile in pseudocodice) è consentito solamente se si tratta di un'operazione di importanza secondaria nella procedura a cui appartiene.
- L'operatore = indica sempre un'operazione di confronto, mai di assegnamento
- L'assegnamento è denotato dall'operatore ←, che si può inserire con la combinazione di tasti "ALT + 27"
- Esistono gli assegnamenti multipli ed hanno la forma seguente i ← j ← e. La scrittura assegna ad entrambe le variabili i e j il valore dell'espressione e. E' equivalente all'assegnamento j ← e seguito dall'assegnamento i ← j
- Le variabili non vengono dichiarate, ma direttamente utilizzate
- Le variabili hanno sempre visibilità locale rispetto alla procedura che le utilizza. Qualora fosse necessario l'utilizzo di variabili globali, esse devono essere esplicitamente segnalate
- Gli elementi di un array vengono riferiti specificando il nome dell'array seguito dall'indice dentro a parentesi quadre. Ad esempio scrivere A[i] significa accedere all'elemento i-esimo dell'array di nome A. La notazione ".." viene usata per indicate un intervallo di valori all'interno dell'array. Quindi, ad esempio, A[1..j] indica la porzione dell'array A costituita da tutti gli elementi da 1 a j estremi compresi.
- I tipi di dati strutturati sono sempre organizzati come oggetti e contengono attributi (o campi). Un particolare campo viene riferito usando il nome del campo seguito dal nome dell'oggetto tra parentesi quadre. Ad esempio per recuperare il valore della lunghezza di un array A(anch'esso un dato strutturato) si scriverà length[A]. Una variabile che rappresenta un oggetto o un array viene trattata come un puntatore all'oggetto o array. Per ogni campo f di un oggetto x, impostare y ← x causa che f[x] = f[y]. Inoltre se si esegue l'assegnamento f[x] ← 3, allora non solo sarà vero che f[x] = 3 ma anche f[y] = 3. In pratica x e y puntano entrambe allo stesso oggetto dopo l'assegnamento y ← x
- Un puntatore ad un oggetto nullo viene indicato con NIL
- La firma di una procedura è semplicemente nome_procedura(arg0, arg1, ... ). Una procedura può restituire uno o più valori
- I parametri vengono passati a una procedura per valore (by value), ovvero una copia dei valori passati dalla procedura chiamante
- Nella valutazione di un'espressione booleana x and y si valuta prima x. Se essa restituisce FALSE allora l'intera espressione non può restituire TRUE, perciò la parte restante non viene calcolata. Similmente nell'espressione x or y se y restituisce TRUE, l'espressione non potrà restituire FALSE e quindi la parte restante non verrà calcolata
Voci richieste
Aggiungi a questa lista la tua richiesta:
Elenco delle voci di informatica che hanno bisogno di aiuto:
Proposte di miglioramento
Proposte, commenti e suggerimenti possono essere lasciati nel BarCode.
Nomenclatura tipologie di computer
Proposta di nomenclatura delle classi di computer per it.wiki.
Per informazioni su come modificare la tabella, la sintassi e' spiegata in Aiuto:Tabelle
Voce enwiki | Voce attuale su itwiki | Da modificare in |
---|---|---|
Analog computer | Computer analogico | |
Calculator | Calcolatore | |
Desktop computer | Computer desktop | Computer fisso |
Desktop replacement computer | Computer di sostituzione del fisso | |
Digital computer | Computer | |
Embedded computer | Sistema embedded | redirect da Embedded computer |
Home computer | Home computer | Computer di casa |
Laptop | Portatile | Portatile |
Mainframe | Mainframe | Mainframe |
Minicomputer | Minicomputer | Mini Computer |
Microcomputer | Microcomputer | Micro Computer |
Personal computer | Personal computer | Computer personale |
Portable computer | Computer portatile | |
Personal digital assistant (PDA) | Palmare | |
Programmable logic controller (PLC) | Programmable logic controller | |
Server | Server | |
Supercomputer | Supercomputer | |
Tablet PC | Tablet PC | |
Video game console | Console (videogiochi) | |
Workstation | Workstation |
Risorse utili sul web
AICA, IFIP, ACM, IEEE, W3C, AIP, API Java, Software libero, Industrie, Laboratori, ......
Bibliografia
- Ralston Antony; Reilly, Edwin D. (editors) (1993) Encyclopedia of Computer Science Chapman & Hall
- Tucker, Allen B. Jr. (editor in chief) (1997) The Computer Science and Engineering Handbook CRC Press - ACM
Voci correlate
- Wikipedia:Progetto (cos'è un progetto di Wikipedia)
- Progetto:Apple
- Progetto:Java
- Progetto:Software libero
- Portale:Informatica
- Portale:Sicurezza informatica
- ^ Wikidata Q623505
- ^ Wikidata Q14083178
- ^ Wikidata Q2655785
- ^ Wikidata Q77163
- ^ Wikidata Q1211721
- ^ a b Core i7 List su Wikipedia in inglese
- ^ Wikidata Q7125138
- ^ en:Free ad-supported streaming television
- ^ Navigatore web
- ^ Wikidata Q137351
- ^ Wikidata Q3109508
- ^ Wikidata Q257467
- ^ Sistemi database ad alta disponibilità (High Availability Large DataBase)
- ^ Modello di accesso ai dati in modalità gerarchica diretta
- ^ Tipologie di bande magnetiche
- ^ Modello di accesso ai dati attraverso indici dominanti
- ^ Modello di accesso ai dati sequenziali indicizzati
- ^ Modello di accesso ai dati sequenziali non indicizzati
- ^ Wikidata Q662235
- ^ Elemento Wikidata Q1812200 con 10 link
- ^ Wikidata Q15303669
- ^ Redirect a Licenza (informatica)#Licenze per il software software proprietario / closed source. È sufficiente?
- ^ Parzialmente tradotta in Progetto:Informatica/Voci richieste/Problemi NP-Completi
- ^ Wikidata Q913999
- ^ Wikidata Q2361252
- ^ Wikidata Q627039
- ^ Strumento MAC OSX
- ^ Software più antico ancora in funzione (collegamento)
- ^ Wikidata Q646928
- ^ Software per la misura della qualità della connessione ad Internet del progetto Misura Internet (collegamento)
- ^ Wikidata Q7099251
- ^ Wikidata Q4444360
- ^ Wikidata Q26734737
- ^ Wikidata Q7001161
- ^ Wikidata Q16861226
- ^ Wikidata Q9357648
- ^ Wikidata Q7168256
- ^ Da non confondere con en:WebPlatform che si riferisce al sito webplatform.org
- ^ Wikidata Q7191173
- ^ Wikidata Q17081452
- ^ Wikidata Q139008
- ^ Wikidata Q1327874
- ^ Wikidata Q1195672
- ^ https://www.repubblica.it/esteri/2024/01/08/news/dipendenti_delle_poste_condannati_ingiustamente_per_un_software-421832612/
- ^ A forma di penna o mangia-foglio
- ^ Programma di masterizzazione di CD audio
- ^ Protocollo di trasmissione di segnali in propagazione libera
- ^ Wikidata Q7489775
- ^ Modello di accesso ai dati per mezzo di indici semplici sequenziali
- ^ Wikidata Q16947261
- ^ Wikidata Q7546903
- ^ Wikidata Q7554330
- ^ Wikidata Q7564654
- ^ Motore grafico
- ^ Wikidata Q555906
- ^ Wikidata Q2033144
- ^ Wikidata Q2063748
- ^ Wikidata Q3556244
- ^ Wikidata Q3142575
- ^ Wikidata Q3325097
- ^ Wikidata Q8044534
- ^ Wikidata Q979532
- ^ Wikidata Q1205607
- ^ HDMI senza capacità audio
- ^ Wikidata Q97516394