Tullio Nicolussi. Il COBOL. J u r a s s i c B o o k s

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tullio Nicolussi. Il COBOL. J u r a s s i c B o o k s"

Transcript

1 Tullio Nicolussi Il COBOL J u r a s s i c B o o k s

2 Title: Il COBOL Author: Tullio Nicolussi Acquisitions Editor: Bes Delsec Technical Editor: Tullio Nicolussi Production Editor:Bes Delsec Production Manager: Tullio Nicolussi Book Designer: Anna Cover Designer: Anna Copyright 2008 by Jurassic News Published in Italy First edition 2009 ISBN: na This publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, only in integral form. Distribution on-line from Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. For general information on our other products and services or to obtain technical support, please contact our Customer Care Department at Library of Congress Cataloging-in-Publication Data Nicolussi, Tullio. Il COBOL / Tullio Nicolussi. - 1st ed. ISBN na 1. Computer programming 2. Computer language 3. Computer manual. TRADEMARKS: Jurassic News, is not associated with any product or vendor mentioned in this book

3 Sommario Introduzione...4 Overview...6 Il primo programma...10 Il Bubble Sort in COBOL...12 Le Variabili Strutturate...19 La Gestione dei File...26 La Gestione del Video...32 Conclusione

4 COBOL Introduzione Rileggendo la prima stesura di questo articolo ho visto (con orrore) che avevo scritto le solite cose che si dicono quando si spolvera un vecchio software e in particolare un linguaggio di programmazione che non gode più dei favori degli sviluppatori, cioè qualcosa come: - che questo è un peccato, che in realtà il linguaggio non ha nulla da invidiare ai più moderni idiomi, che ancora viene usato con profitto,... e via di questo passo fra un rammarico e un sospiro. Il bello è che per il COBOL tutto questo corrisponde alla verità! Ma perché allora quando se ne sussurra il nome gli studenti sghignazzano, i guro della programmazione si fanno due volte il segno della croce (che vuol dire che invocano il dio C++) e i colleghi più giovani scuotono il capo e mentre si allontanano si coglie chiara la frase...pronto per la pensione...? Ehi, un po di rispetto, che diamine! Per essere onesti non si deve negare che qualche acciacco ahinoi il linguaggio per eccellenza della programmazione gestionale non riesce a nasconderlo. Qualche iniezione di Gerovital in forma di query SQL è valsa a migliorarne taluni aspetti nascondendo le artriti reumatoidi dei file indexed. Parimenti le stampelle della programmazione per eventi sono valse a traghettare l idioma nelle acque assai agitate della programmazione Windows. Per finire la clonazione sotto forma di linguaggi embedded nei sistemi ERP (vedi ad esempio SAP), hanno arginato il fuggi fuggi generale dei cervelli programmatoidi che rischiava di lasciare milioni di righe di codice prive di qualsiasi possibilità di manutenzione. Eppure ancora oggi dove l idea di classe regna indiscussa, il COBOL rimane una buona scelta in molte circostanze. Questa considerazione è valida per la quasi totalità dei linguaggi di programmazione che sono stati inventati nella storia dell informatica (parecchie centinaia se contiamo anche i dialetti). Dipende tutto dalle circostanze in cui si opera, dai sistemi di cui si dispone e dalle prestazioni dei tool di sviluppo dei quali possiamo avvalerci. La fortuna di un linguaggio è determinata da una serie di circostanze contingenti che dipendono molto anche dalle mode, oltre che naturalmente dallo scopo con il quale esso viene progettato. L Assembly ad esempio nasce con i microprocessori e rimane l indiscusso re della programmazione a basso livello. Non è stato inventato niente di meglio perché è perfetto 4

5 così com è. I problemi di concorrenza si pongono quando più linguaggi si sovrappongono per funzionalità specifiche dell ambiente in cui operano. Ad esempio VBSCRIPT piuttosto che PHP, Python piuttosto che Ruby, etc, nella programmazione Web. Il COBOL ha rappresentato per un paio di decenni la soluzione indiscussa nell ambito della programmazione gestionale e rimane tutt ora uno strumento molto usato in questo ambito. Fino a pochi anni fa si calcolava esistessero molte più righe di COBOL al mondo di quante ne potesse vantare il C. Non sono a conoscenza del rapporto esistente in questo momento ma credo che sebbene il C possa vantare la palma del vincitore in questa gara, il COBOL non sia molto distante dal podio. 5

6 COBOL - Overview L insegnamento del linguaggio COBOL è stato per anni appannaggio della scuola secondaria a indirizzo tecnico. Qualunque istituto pretendesse di sfornare programmatori doveva tenerne conto ed approntare per esso specifici corsi. Le banche e la finanza in genere hanno assorbito moltissima forza lavoro dedicata al settore dell elaborazione dei dati e se andavi a lavorare lì non avevi speranza: era COBOL a pranzo e cena! Appena possibile le scuole si sono liberare da questo fardello, perché? A mio giudizio le cause sono diverse ma fra le principali non mancano le seguenti: - una pretesa di modernità, visto che ad un certo punto, come detto prima, se parlavi di COBOL venivi deriso; - la mancanza di insegnanti preparati unita ad una certa difficoltà, peraltro obiettiva, di insegnare la programmazione usando questo linguaggio; - la diffusione del Personal Computer e la conseguente diffusione di linguaggi più semplici, anche e meno potenti, come ad esempio il Basic. Delle tre a mio giudizio l ultima è quella chiave: se trovi il Basic nella macchina finirai per usare solo quello! Che dire della difficoltà di apprendimento della quale il linguaggio è stato accusato? Il problema nasce tutto dalla sua prolissità. Infatti il COBOL nasce con intenti molto ambiziosi come la cross-compilation ad esempio; è possibile sviluppare su un sistema e trasferire su un altra macchina, purché supportata. Il contesto dove viene messo a punto è quello dei sistemi mainframe e mini dipartimentali e soprattutto per i primi la cross-compilation è essenziale. La pesantezza della sintassi viene, diciamo così, aggravata dalla ricchezza delle estensioni. Una istruzione può essere usata in forma semplice ma può essere estremamente strutturata per svolgere molteplici compiti, essenzialmente di tipo ripetitivo. Facciamo un esempio per capire meglio questo punto. Prendiamo l istruzione di addizione che si può scrivere con l seguente sintassi: ADD A TO B. che tradotto sarebbe somma il contenuto della variabile A con il contenuto della variabile B e metti il risultato in B. Qualcosa come: B = B + A Per incrementare un contatore di una unità si userebbe: ADD 1 TO INDICE Fino a qui nulla di particolarmente sconvolgente, la sintassi è leggermente diversa rispetto ai linguaggi correnti che per la maggior parte 6

7 utilizzano una notazione tipo formula, che fra l altro è possibile utilizzare anche in COBOL scrivendo l istruzione precedente come: COMPUTE IND = IND + 1. E se dobbiamo sommare una serie di numeri? ADD N1 N2 N3 TO RIS. ADD 123,67 TO R1 ROUNDED R2 R3. Ancora, è anche possibile che non si voglia sporcare il valore dell operando ottenendo un comportamento più classico che prevede lo store del risultato in una variabile a parte. Per fare ciò si usa una variante dell istruzione ADD: Che, come avrete certo capito significa: ADD IMPORTO IVA GIVING IMPORTO-IVATO. RIS = RIS + N1 + N2 + N3 Ma le possibilità non si esauriscono qui. Consideriamo lo statement seguente: ADD A1 A2 A3 TO B1 B2 B3 B4. Questa sintassi è meno intuibile e significa: somma i valori A1, A2 e A3 poi aggiungi questo risultato alle variabile B1, B2, B3 e B4. Ovviamente è sempre possibile espandere l istruzione in più statement ottendeno ad esempio: ADD A1 A2 A3 TO R. ADD R TO B1. ADD R TO B2. ADD R TO B3. ADD R TO B4. Qualcuno degli operandi che accoglieranno il risultato possono essere arrotondati aggiungendo la specifica opzione ROUNDED dopo i nome, come in: Si capisce che la sintassi del linguaggio è molto articolata e questo mette sicuramente in difficoltà chi cerchi di utilizzarlo leggendo un manuale. L istruzione MOVE è l esempio più eclatante, se vogliamo, ad onta della sua semplicità (serve per caricare i valori nelle variabili), infatti essa è ricchissima di varianti, al punto che le pagine dei manuali ad essa dedicata scoraggiano il malcapitato che volesse imparare il linguaggio da autodidatta basandosi solo sulla documentazione tecnica. L istruzione MOVE carica i valori nelle variabili, come in: MOVE 1 TO INDICE. MOVE N1 TO R2. Niente di più semplice, apparentemente. Però qualsiasi manuale COBOL che ne riporta la descrizione e sintassi completa occuperà pagine e pagine! Un altro aspetto del linguaggio può essere chiamato in causa per 7

8 giustificarne la difficoltà di apprendimento, ed è la sintassi rigida detta in gergo informatico a campi. Significa che ogni elemento del linguaggio deve stare in certe zone definite della riga. Retaggio derivato dall uso delle schede perforate come la lunghezza di 72 caratteri massima e la necessità di distinguere fisicamente gli elementi di un programma. Per creare un programmatore COBOL professionista una azienda deve essere disposta ad investire almeno tre anni di formazione/ affiancamento e questo oggigiorno viene considerato un costo, piuttosto che un investimento. C è da dire un ultima cosa sull uso del linguaggio, che è la seguente: pochi, se non addirittura pochissimi, programmatori utilizzano la ricchezza sintattica del linguaggio. Nel tempo si è creato in tutte le aziende una sorta di lessico famigliare, per dirla alla Gizburg, che prevede l utilizzo di costrutti il più elementare possibile, anche per una ragione di manutenzione del software stesso. Le nuove generazioni di programmatori e i tempi di consegna sempre più stringenti non lasciano speranze di procedere altrimenti. Forse esiste un assioma che implica la longevità di un linguaggio di programmazione direttamente correlata con la ricchezza sintattica. Succede che all inizio esce una versione spartana e minimale, poi a furia di aggiungere features si finisce per snatuare l idea originale e si rende la curva di apprendimento sempre più ripida e lunga. Autorevoli esempi li troviamo nel Perl, nel PHP e nel Basic. Dovuta alla ricchezza della sintassi deriva la difficoltà nel costruire un compilatore, aumentata dal fatto che il linguaggio possiede obbligatoriamente embedded capacità di gestione per i file indicizzati (che come vedremo nel prosieguo di questa serie è la vera forza del COBOL). I compilatori professionali sono costosi e inizialmente indisponibili sulle piattaforme micro, con la lodevole eccezione dei sistemi che supportano il CP/M. La diffusione del personal computer in ambito professionistico ha cambiato molto le cose. In fondo una rete di PC vale quanto un mainframe (non sempre, ma è un discorso che ci porterebbe lontano). Per quanto accennato sopra il COBOL si è fatta una cattiva fama e gli ambienti, diciamo così, progressisti non hanno esitato a vituperarne l utilizzo. Se questo è stato un bene o il contrario non sta a me decidere. Da un lato si è persa una professionalitè elevata, dall altro i nuovi idiomi, più facili all approccio, hanno permesso a molte persone l avvicinarsi alla programmazione. Ci sono dei pro e dei contro, come in tutte le cose. Dopo questa lunga ma doverosa panoramica sulla filosofia del linguaggio COBOL veniamo a parlare di cose pratiche. Prima di tutto 8

9 bisogna procurarsi un compilatore se si vuole seguire con profitto il corso che proponiamo. - Bravo! E dove ne trovo uno?. Tranquilli, è più semplice di quanto si creda. Rivolgendosi all Open Source è possibile recuperare un buon compilatore che gira con GCC (che erroneamente viene considerato un compilatore di codice C, in realtà è uno dei cross compiler più flessibili che ci sono in giro). Se decidete di seguire questa strada il prodotto si chiama OpenCobol e si possono scaricare i sorgenti da questo link: Scelte alternative possono essere le versioni datate che qualche utente a volte svende (anche se teoricamente non sarebbe legalmente ineccepibile) su ebay. La Microsoft ha commercializzato per un certo tempo un compilatore per Windows chiamato Microsoft COBOL. Altra ditta specializzata è la MicroFocus che costruisce compilatori per tutte le piattaforme ed ha anche una versione educational molto bella chiamata Personal COBOL che viene venduta in libreria (non in Italia). Si veda la prova software in questo fascicolo. Un compilatore molto diffuso all epoca delle reti Novell era un certo MBP COBOL, prodotto da una ditta tedesca (la MBP, appunto), il cui acronimo non chiedetemi per cosa sta :-). Una fonte alternativa ma molto valida è fornita dal retro computing (se no che ci staremmo a fare?). E possibile che se il vostro retro computer preferito supporta il CP/M, troviate in giro le immagini di un compilatore. magari non sarà una scheggia, ma che importa? Ad esempio per Apple IIe sotto CP/M la Microsoft (sì, sempre lei) ha commercializzato un compilatore chiamato COBOL-80, elemento di una serie di prodotti il cui esponente più famoso è il BASIC-80. Su SurgeForce.org si possono reperire vari progetti che hanno a che fare con l argomento. Uno di questi propone un compilatore minimale per Windows, chiamato Tiny Cobol. Lo abbiamo scaricato e provato trovandolo per la verità non troppo esaltante... Ancora, all indirizzo: si trova un prodotto commerciale chiamato NETCobol, adatto all ambiente.net che sfrutta la IDE di Visual Studio. Ne esiste anche una versione Student, se volete provarci... Insomma non ci sono scuse del tipo non trovo un compilatore in giro :-) 9

10 10 Il primo programma A seconda dell ambiente operativo che avete scelto dovete cominciare a scrivere il sorgente dei programmi. Alcuni tools prevedono un input guidato, ad esempio con i tab impostati per muoversi fra le varie zone nelle quali è divisa la riga. Vi ricordo che i primi sei catarreri della riga sono riservati alle label. Il settimo carattere contiene un eventuale controllo di riga: il simbolo - per la continuazione dalla riga precedente, * per una riga di commento (da qui il verbo asteriscare che usano i veri programmatori), / per ordinare il salto pagina alla stampante sulla quale andiamo a ottenere il listing del sorgente. Dall ottavo carattere inizia la ZONA A e al 12 carattere la ZONA B. Il primo programma è visibile nel riquadro Listato 1 che ora andiamo ad eseminare in dettaglio AAAABBBBBBBBBBBBBBBBBBBB... IDENTIFICATION DIVISION. PROGRAM-ID HELLOWORLD. ENVIRONMENTAL DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. DECIMAL POINT IS COMMA. DATA DIVISION. PROCEDURE DIVISION. MAIN SECTION. INIZIO. DISPLAY HELLO WORLD. Abbiamo scritto il classico programma hello World e come si vede l idea della prolissità colpisce abbastanza. Rispetto ad un Basic che con una semplice istruzione: 10 PRINT HELLO WORLD avrebbe fornito lo stesso risultato, in COBOL sono state necessarie molte più righe. L utilità dell organizzazione del sorgente con molte parti dichiarative sarà molto più chiara nel prosieguo del corso che abbiamo per ora solo introdotto. C è da dire comunque, a consolazione di chi si è spaventato da subito, che i programmatori si limitano fare un copia incolla da un template. Oserei dire che moltissimi di essi nemmeno sarebbero capaci di scrivere da zero l intera parte dichiarativa: semplicemente non la possono ricordare, dopo anni che non se ne preoccupano! Esaminando il primo sorgente evidenziamo gli aspetti essenziali del linguaggio. Prima di tutto il token di chiusura di uno statement è il punto e ogni riga, come si diceva, deve concludersi entro 72 caratteri, punto compreso. La regola dei compilatori è ignorare tutto ciò che eccede il 72-simo carattere. Il sorgente è diviso in DIVISION che ne indi-

11 viduano le quattro parti principali. L IDENTIFICATION DIVISION come dice il nome è deputata a contenere delle meta-istruzioni che servono all identificazione del programma. Una di queste informazioni è il nome del programma stesso la cui composizione segue le regole dell ambiente operativo. Non necessariamente il PROGRAM-ID corrisponde al nome del binario compilato sul file system, esso è un nome interno al quale fare riferimento ad esempio se il sorgente fosse in una libreria di funzioni. La ENVIRONMENT DIVISION specifica l ambiente dove il programma viene sviluppato rispetto alla sua destinazione finale. Ricordate che il COBOL è crossplatform? In ambiente Personal Computer queste specifiche hanno ormai poco senso e anzi i compilatori sono stati di fatto alleggeriti della capacità di compilare per diversa piattaforma. Rimane quindi sostanzialmente una divisione figurativa che serve al più per specificare alcune particolarità che si intendono usare, come ad esempio l utilizzo della virgola come separatore dei decimali. La DATA DIVISION non è altro che la parte di sorgente dove si dichiarano le variabili. In COBOL variabili e costanti devono essere dichiarate tutte in questa divisione dove trovano posto anche altre strutture informative come ad esempio i file sequenziali o con chiave, le specifiche di ordinamento, etc... Infine la PROCEDURE DIVISION ospita il codice che viene organizzato in sezioni. Tradizionalmente si nomina la prima sezione MAIN SECTION, anche se il nome MAIN non è obbligatorio (potrebbe essere chiamata INIZIO o qualsiasi altra cosa piaccia). Poi abbiamo inserito anche la parola INIZIO che funge da label. Si usa, ma anche questo non è obbligatorio. Per completare la disamina del primo sorgente diciamo che l istruzione DISPLAY stampa a video una costante letterale (è il nostro caso) o il valore di una variabile. Il programma viene eseguito dalla prima sezione che si incontra fino al termine della stessa o fino alla conclusione del sorgente. Esiste una specifica istruzione STOP PRO- GRAM o semplicemente STOP che conclude l elaborazione. Tradizionalmente i sorgenti vengono scritti in maiuscolo in omaggio ai vecchi terminali dei mainframe anni 60. I compilatori oggigiorno accettano anche il minuscolo che negli ultimi anni è diventata una pratica seguita da moltissimi programmatori, specialmente se appartenenti alle nuove generazioni, abituati ai linguaggi correnti. Il Cobol rimane però unsensitive, come il Basic: non distingue fra maiuscole e minuscole. Pur esistendo qualche approccio alla pratica dell interpretazione, il COBOL nasce come linguaggio 11

12 compilato. La rigida organizzazione dei sorgenti è a supporto della creazione del codice binario. Il COBOL si presenta quindi praticamente sempre con la classica configurazione di sviluppo editorcompilazione-esecuzione. L ambiente di eccellenza per l esecuzione di programmi COBOL è l interfaccia a caratteri, proprio per la forma spartana dell I/O tipica del linguaggio. Come abbiamo detto nell introduzione non mancano comunque implementazioni a finestre realizzate con opportune estensioni del linguaggio stesso che dimostra una certa dose di adattabilità grazie soprattutto alle estensioni ad-hoc che le aziende produttrici vi inseriscono a forza per dare al loro prodotto una parvenza di modernità. Già dalla nascita comunque è stata prevista una sorta di gestione a form del video. Una specifica SECTION, esattamente la SCREEN SEC- TION, è deputata alla descrizione dell interfaccia. Il bubble sort in COBOL Un esempio più articolato è riportato per intero nei box delle pagine seguenti. Si tratta di una implementazione dell algoritmo classico di bubble sort. Penso sia noto a tutti il meccanismo di questo semplice algoritmo di ordinamento: si tratta di spostare degli elementi in un vettore effettuando dei ripetuti scambi con gli elementi adiacenti fino ad ottenere un vettore ordinato. Maggiori approfondimenti si possono trovare sul fascicolo numero 1 di Jurassic News. Commentiamo ora le righe che incontriamo nel sorgente per introdurre le novità rispetto a quanto visto finora. Nella WORKING-STORAGE SECTION abbiamo dichiarato due costanti (in realtà non esiste una dichiarazione speciale per variabili immodificabili, il fatto che siano costanti lo decidiamo noi). 01 MAX COMP-1 VALUE LIMITE COMP-1 VALUE Il tipo COMP-1 è il classico Integer che occupa una o più coppie di byte a seconda dell implementazione del compilatore. Sono variabili numeriche senza una definizione di formato. A cominciare dalla variabile VET- TORE abbiamo il primo esempio di variabile strutturata. VETTORE è il nome della nostra variabile dichiarata a livello 01 che contiene un sotto-livello, individuato dal livello 12

13 05 che ne rappresenta il contenuto strutturato. 01 VETTORE. 10 ELEMENTO COMP-1 OCCURS VETTORE. 05 EL-VETTORE COMP-1 OCCURS EL-VETTORE è vettore di elementi di tipo COMP-1. Quando in una istruzione ci si riferisce alla variabile VETTORE si sta parlando dell intera struttura; quando ci si riferisce a EL-VETTORE si sta parlando di una componente che andrà individuata tramite il classico meccanismo degli indici: MOVE 12 TO EL-VETTORE(34) In questo specifico caso, cioè nella necessità di dichiarare vettori o matrici la strutturazione è obbligatoria. Infatti lo standard prevede che una variabile di livello 01 non possa essere indicizzata. C è un motivo pratico per questo: il livello 01 indica al compilatore anche la classe di storage della variabile, cioè i livelli 01 sono immagazzinati a partire dall indirizzo intero di memoria, cosa che non succede per i sotto-livelli. Se avessimo ad esempio un ambiente a 64 bit, quindi con word di quattro byte e il tipo COMP-1 fosse un intero da due byte, allora ogni dichiarazione di COMP-1 a livello 01 occuperebbe comunque una word, sprecando due byte di memoria. Una dichiarazione 01 VETTORE COMP-1 OCCURS 1000 occuperebbe 4000 byte di memoria, contro i 2000 occupati dalla dichiarazione: Un altro esempio di variabile strutturata è quella che contiene un orario: 01 ORA. 05 ORA-HH COMP ORA-MM COMP ORA-SS COMP ORA-CC COMP-1. In questo caso quattro variabili semplici di tipo COMP-1 sono raggruppate al solo fine di chiarezza, ma verranno elaborate singolarmente. Nella dichiarazione della variabile TOT-SECONDI troviamo un altra forma di dichiarazione di variabile numerica. 01 TOT-SECONDI PIC 9(12)V9(2) VALUE ZERO. PIC 9(12)V9(2) significa 12 cifre intere seguite da due decimali. Passiamo ora alla desamina del codice premettendo che esso è stato strutturato in maniera molto spinta (tipo Pascal per intenderci) cercando di introdurre i concetti di esecuzione dei singoli pezzi come fossero parti staccate (procedure o funzioni). INIZIO. * --- loop iterazioni PERFORM ESEGUI THRU ESEGUI-EXIT MAX TIMES. * --- calcolo della media COMPUTE MEDIA = TOT-SECONDI / MAX. * --- display dei risultati. DISPLAY TOTALE SECONDI IMPIEGATI: TOT-SECONDI. DISPLAY 13

14 IDENTIFICATION DIVISION. 14 PROGRAM-ID. BUBBLE. *********************************** * Titolo : Bubble Sort *********************************** DATE-WRITTEN. DATE-COMPILED. DIC/97. GEN/98. *********************************** ENVIRONMENT DIVISION. *********************************** CONFIGURATION SECTION. * SOURCE-COMPUTER. PENTIUM-PC166. OBJECT-COMPUTER. PENTIUM-PC166. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. /********************************** DATA DIVISION. *********************************** WORKING-STORAGE SECTION. *********************************** * ---- costanti 01 MAX COMP-1 VALUE LIMITE COMP-1 VALUE * --- variabili 01 VETTORE. 05 EL-VETTORE COMP-1 OCCURS I COMP SCAMBI COMP TOT-ITERAZIONI PIC 9(12). 01 J COMP TOT-SCAMBI PIC 9(12). 01 TEMP COMP ORA. 05 ORA-HH COMP ORA-MM COMP ORA-SS COMP ORA-CC COMP ORA-I. 05 ORA-I-HH COMP ORA-I-MM COMP ORA-I-SS COMP ORA-I-CC COMP ORA-F. 05 ORA-F-HH COMP ORA-F-MM COMP ORA-F-SS COMP ORA-F-CC COMP TOT-SECONDI PIC 9(12)V9(2) VALUE ZERO. 01 MEDIA PIC 9(5)V9(2) VALUE ZERO. 01 DIFF-SECONDI PIC 9(12). 01 SECONDI-INIZIALI PIC 9(12). 01 SECONDI-FINALI PIC 9(12). * ---- Variabili per il generatore di numeri casuali 01 MODULO COMP-1 VALUE MOLTIPLICATORE COMP INCREMENTO COMP SEME COMP-1. /**************************************** PROCEDURE DIVISION. **************************************** MAIN SECTION. **************************************** INIZIO. **************************************** * --- loop iterazioni PERFORM ESEGUI THRU ESEGUI-EXIT MAX TIMES. * --- calcolo della media COMPUTE MEDIA = TOT-SECONDI / MAX. * --- display dei risultati. DISPLAY TOTALE SECONDI IMPIEGATI: TOT-SECONDI. DISPLAY MEDIA PER VETTORE : MEDIA USCITA. STOP RUN. ESEGUI. PERFORM CARICA-VETTORE THRU CARICA-VETTORE-EXIT. * --- esecuzione sort CALL GTIME USING ORA-I. display ora iniziale: ORA-I-HH : ORA-I-MM : ORA-I-SS : ORA-I-CC. MOVE 1 TO SCAMBI. PERFORM LOOP-SCAMBIO THRU LOOP-SCAMBIO-EXIT UNTIL SCAMBI IS EQUAL ZERO. CALL GTIME USING ORA-F. display ora finale : ORA-F-HH : ORA-F-MM : ORA-F-SS : ORA-F-CC. MOVE ZERO TO DIFF-SECONDI. PERFORM CALCOLA-SECONDI THRU CALCOLA-SECONDI-EXIT. COMPUTE TOT-SECONDI = TOT-SECONDI + (DIFF-SECONDI / 100). DISPLAY TOTALE SECONDI : TOT-SECONDI. ESEGUI-EXIT. EXIT. LOOP-SCAMBIO. MOVE ZERO TO SCAMBI. PERFORM CONFRONTA THRU CONFRONTA-EXIT

15 LOOP-SCAMBIO-EXIT. EXIT. CONFRONTA. VARYING I FROM 1 BY 1 UNTIL I = LIMITE. IF EL-VETTORE( I + 1 ) IS < EL-VETTORE( I ) MOVE EL-VETTORE( I + 1 ) TO TEMP MOVE EL-VETTORE( I ) TO EL-VETTORE( I + 1 ) MOVE TEMP TO EL-VETTORE( I ) MOVE 1 TO SCAMBI. CONFRONTA-EXIT. EXIT. CARICA-VETTORE. CALL GTIME USING ORA. COMPUTE MOLTIPLICATORE = ORA-SS * ORA-MM. COMPUTE SEME = ORA-CC * ORA-SS. COMPUTE INCREMENTO = ORA-CC * ORA-MM. PERFORM NUMERO-RANDOM THRU NUMERO-RANDOM-EXIT VARYING I FROM 1 BY 1 UNTIL I > LIMITE. CARICA-VETTORE-EXIT. EXIT. NUMERO-RANDOM. MOVE SEME TO EL-VETTORE(I). COMPUTE SEME = (MOLTIPLICATORE * SEME + INCREMENTO). COMPUTE SEME = MODULO - (SEME / MODULO) * SEME. IF SEME < 0 COMPUTE SEME = -SEME. NUMERO-RANDOM-EXIT. EXIT. CALCOLA-SECONDI. * --- calcola il numero di secondi occorsi fra i due orari. COMPUTE SECONDI-INIZIALI = ORA-I-HH * ORA-I-MM * 60 + ORA-I-SS. COMPUTE SECONDI-INIZIALI = SECONDI-INIZIALI * ORA-I-CC. COMPUTE SECONDI-FINALI = ORA-F-HH * ORA-F-MM * 60 + ORA-F-SS. COMPUTE SECONDI-FINALI = SECONDI-FINALI * ORA-F-CC. COMPUTE DIFF-SECONDI = SECONDI-FINALI - SECONDI-INIZIALI. CALCOLA-SECONDI-EXIT. EXIT. 15

16 MEDIA PER VETTORE: MEDIA. USCITA. STOP RUN. C è una iterazione iniziale che richiama la sezione ESEGUI. La sintassi PERFORM ESEGUI THRU ESEGUI- EXIT MAX TIMES. Significa: esegui un numero di iterazioni pari al valore contenuto in MAX (che abbiamo dichiarato nella Working al valore ) delle istruzioni comprese nella sezione INIZIO per finire con quelle nella sezione ESEGUI-EXIT. Fatta questa iterazione c e un calcolo dei secondi medi impiegati, la stampa a video dei risultati e l uscita dal programma. La sezione ESEGUI, che abbiamo visto viene iterata volte, per avere un risultato medio attendibile, prevede i seguenti passaggi: caricamento del vettore con numeri pseudo-casuali, la rilevazione del tempo iniziale, il sort del vettore, la rilevazione del tempo impiegato. L algoritmo di ordinamento vero e proprio è costituito dai seguenti statement: MOVE 1 TO SCAMBI. PERFORM LOOP-SCAMBIO THRU LOOP-SCAMBIO-EXIT UNTIL SCAMBI IS EQUAL ZERO. Se vi è chiaro come procede il bubble sort, semplicemente si continua a fare scambi di elementi fino a che una spazzolatura finale del vettore non da luogo a nessuno scambio. Le istruzioni di iterazione innescate dall istruzione PERFORM vengono eseguite continuamente fino a che non si verifica la condizione descritta nell UNTIL. Si noti la sintassi usata per controllare la condizione di uscita. Si sarebbe potuto anche scrivere: UNTIL SCAMBI = 0 Concedendo un certo vantaggio ai programmatori moderni, ma perché dovremmo? La sintassi usata qui è molto più chiara per chi è avvezzo a leggere i sorgenti COBOL, infatti se ci pensate assomiglia molto di più ad una sintassi letterale. E dimostrato inoltre che molti errori di codifica nei programmi derivano dalla scrittura di condizioni al contorno errate dovute ad una errata interpretazione delle specifiche o all impiego di operatori di confronto simbolici che richiedono un quid di attenzione maggiore a chi codifica. Il caricamento dei dati nel vettore avviene nella form CARICA-VET- TORE chiamata dallo statement: PERFORM CARICA-VETTORE THRU CARICA-VETTORE-EXIT. Essa contiene un loop che interessa uno ad uno gli elementi del vettore e vi inserisce un numero pseudo-casuale. L istruzione che effettua il loop di caricamento è la seguente: PERFORM NUMERO-RANDOM THRU NUMERO-RANDOM-EXIT VARYING I FROM 1 BY 1 UNTIL I > LIMITE. 16

17 Questa sintassi prevede l incremento automatico di un indice rappresentato dalla variabile I che viene incrementato partendo dal valore 1 fino a superare il limite previsto, che è la dimensione del vettore stesso. Implicitamente abbiamo introdotto un ulteriore concetto: le variabili indicizzate hanno indice che inizia da 1. Il cuore dell algoritmo di bubble sort è contenuto nella form CON- FRONTA: CONFRONTA. IF EL-VETTORE( I + 1 ) IS < EL-VETTORE( I ) MOVE EL-VETTORE( I + 1 ) TO TEMP MOVE EL-VETTORE( I ) TO EL-VETTORE( I + 1 ) MOVE TEMP TO EL-VETTORE( I ) MOVE 1 TO SCAMBI. CONFRONTA-EXIT. EXIT. Qui si vede come l indicizzazione delle variabili avviene indicando l elemento con indice fra parentesi, eventualmente calcolando il valore stesso dell indice. Gli operatori di confronto in CO- BOL sono quelli classici: =, <, >, >=, <=, <>. Esiste tuttavia una forma letterale di questi operatori: altri linguaggi. Una particolarità che vale la pena spiegare è l utilizzo dello statement MOVE 1 TO SCAMBI All interno della form di confronto. Un valore diverso da zero della variabile SCAMBI serve per ordinare un ulteriore loop sugli elementi del vettore. Infatti l algoritmo si basa proprio sull iterazione dei confronti elemento per elemento del vettore fino a che un ultima iterazione non effettua alcuno scambio, segno che il vettore è ordinato. Non sarebbe stato meglio incrementare il valore di SCAMBI con una istruzione del tipo: ADD 1 TO SCAMBI In effetti se servisse anche tracciare quanti scambi vengono fatti in ogni iterazione, allora l istruzione di incremento sarebbe stata necessaria. In caso contrario è inutile una istruzione matematica, che consuma certo più tempo, rispetto ad una istruzione di assegnazione. = IS EQUAL > IS GREATHER THAN < IS LESS THAN >= IS GREATHER OR EQUAL, IS NOT LESS <= IS LESS OR EQUAL, IS NOT GREATHER <> IS NOT EQUAL La forma prolissa della sintassi è poco usata attualmente, dato che le nuove generazioni di programmatori sono ormai abituate alle forme matematiche più simili agli 17

18 Listato 1 L uso di variabili strutturate, come matrici e vettori, è incoraggiata in COBOL. C è chi addirittura struttura tutto, perfino i semplici contatori interi. Qualcosa come: 01 CONTATORE. 10 CONT PIC COMP-1. La multidimensionalità si ottiene inserendo una dichiarazione strutturata in un altra. Ecco un esempio: 01 MATRICE. 10 RIGA-MATRICE OCCURS EL-MATRICE PIC 9(5) OCCURS 100. Qui abbiamo dichiarato una matrice di dimensione 100 per 100 i cui elementi sono dei valori numerici di cinque cifre. E c c o un loop che carica gli elementi della matrice c o m e f o s s e una tavola pitagorica (listato 1). /**************************************** PROCEDURE DIVISION. **************************************** MAIN SECTION. **************************************** INIZIO. **************************************** PERFORM SCAN-RIGHE THRU SCAN-RIGHE-EXIT VARYING RIGA FROM 1 BY 1 UNTIL RIGA <= 10. USCITA. STOP RUN. SCAN-RIGA. PERFORM SCAN-COL THRU SCAN-COL-EXIT VARYING COLONNA FROM 1 BY 1 UNTIL COLONNA <= 10. SCAN-RIGHE-EXIT. EXIT. SCAN-COL. COMPUTE EL-MATRICE(RIGA, COLONNA) = RIGA * COLONNA. SCAN-COL-EXIT. EXIT. Variabili strutturate Un alt r o aspetto legato alla strutturazione del dato è la possibilità di ridefinire la memoria indirizzata da una variabile in modo che questa sia usabile con due o più nomi. Ad esempio: 01 CODICE. 02 COD-FIS PIC X(16). 02 PARTITA-IVA REDEFINES COD-FIS. 05 P-IVA PIC 9(12). 05 FILLER X(4). Incontriamo per la prima volta una parola chiave molto usata nella definizione delle variabili strutturate del COBOL: FILLER. Questa viene utilizzata come riempitivo. Nel nostro esempio, dato che la ridefinizione di un area di memoria deve essere coerente, cioè utilizzare tutto lo spazio, riempiamo con un nome simbolico FILLER quella parte di dato che nel caso stessimo trattando una partita IVA non ci interessa. E chiaro che COD-FIS e PARTI- TA-IVA condividono lo stesso spazio di memoria, è lo stesso meccanismo implementato con le union nel linguaggio C. Nel listato numero 2 riportiamo un esempio di definizione di un record anagrafico che contiene un po tutte le cose viste finora nella definizione dei tipi di dato in COBOL. 01 REC-ANAG. è la definizione del livello base, appunto 01, che identifica l inizio di un dato strutturato. 05 TIPO-RECORD PIC XX. è un tipo di secondo livello di formato due caratteri alfanumerici. 18

19 05 MATRICOLA. 10 NUMERO PIC 9(5). 10 CONTROLLO PIC X. MATRICOLA è un dato strutturato formato da due sotto-livelli che nell esempio sono identificato dal numero di livello 10. Ci si potrà riferire a questo dato indicando il singolo sotto-livello o il dato intero MATRICOLA. Ad esempio: MOVE 12345A TO MATRICOLA. MOVE TO NUMERO. MOVE A TO CONTROLLO. I due campi GENERALITA e NO- MINATIVO sono ridefiniti, cioè identificano la stessa locazione di memoria per una lunghezza di 50 caratteri alfanumerici. Mentre GE- NERALITA è stato sotto specificato in due sottocampi NOME e CO- GNOME, il campo NOMINATIVO, che possiamo pensare come un alias del campo GENERALITA, è definito come unico. Seguono tre livelli chiamati rispettivamente NASCITA, ASSUNZIONE e DIMISSIONI. Tutti e tre contengono una data definita con sottocampi che hanno lo stesso nome: ANNO, MESE e GIORNO. 10 DATA-NASCITA. 15 ANNO PIC MESE PIC GIORNO PIC DATA-ASSUNZIONE. 15 ANNO PIC MESE PIC ANNO PIC DATA-DIMISSIONI. 15 ANNO PIC MESE PIC ANNO PIC 99. Come si fa a riferirsi ad un particolare anno, mese o giorno? Purtroppo il COBOL non prevede un meccanismo di dereferenziazione del dato, come succede nei linguaggi di programmazione più moderni. Ad esempio nel C si usa il punto come separatore e indicatore di riferimento per il cosidetto Spazio di validità del dato. In C si scriverebbe qualcosa come: REC-ANAG.ASSUNZIONE.DATA-ASSUN- ZIONE.ANNO = Dato che il COBOL non dispone di questo meccanismo è fortemente consigliato differenziare i nomi dei campi in maniera nativa, cioè chiamandoli diversamente. Quando questo non è possibile si ricorre alla clausula OF come nell esempio seguente: MOVE 1975 TO ANNO OF DATA-NA- SCITA. Sembra complicato ma non lo è a f f a t t o, a n c h e considerando che la sintassi mantiene una o t t i m a leggibilità. Nel record che abbiamo esam i n a t o c o m e Listato 2 01 REC-ANAG. 05 TIPO-RECORD PIC XX. 05 MATRICOLA. 10 NUMERO PIC 9(5). 10 CONTROLLO PIC X. 05 GENERALITA. 10 NOME PIC X(25). 10 COGNOME PIC X(25). 05 NOMINATIVO REDEFINES GENERALITA. 10 FILLER PIC X(50). 05 SESSO PIC X. 05 NASCITA. 10 DATA-NASCITA. 15 ANNO PIC MESE PIC GIORNO PIC LUOGO-DI-NASCITA. 15 CITTA PIC X(25). 15 CAP PIC Z(5). 15 PROVINCIA PIC XX. 15 NAZIONE PIC X(25). 05 ASSUNZIONE. 10 DATA-ASSUNZIONE. 15 ANNO PIC MESE PIC ANNO PIC DIMISSIONI. 10 DATA-DIMISSIONI. 15 ANNO PIC MESE PIC ANNO PIC

20 esempio è presente una dichiarazione di USAGE PIC Z. Il tipo Z è un numerico che mantiene gli zeri non significativi. Serve nei casi in cui, come in questo, il valore numerico sia in realtà un alfabetico di sole cifre. Possiamo assegnare al campo il valore e la stampa ci mostrerebbe anche i due zeri leading, cioè davanti. Per chiudere il discorso sulla rappresentazione dei dati e cioè sull uso della specifica USAGE, che a volte viene omessa facciamo questo altri esempi significativi: USAGE IS PIC 9(5)V99. E in valore numerico con segno con cinque cifre intere e due cifre decimali. USAGE IS PIC AAAXX999. E un campo misto lungo otto caratteri dei quali i primi tre sono alfabetici (solo lettere), seguono due caratteri alfanumerici (lettere e numeri) e infine tre caratteri numerici. Infine USAGE IS PIC A(5)9(3)X(2). E un valore che contiene cinque caratteri alfabetici, seguiti da tre cifre ed infine due ulteriori caratteri alfanumerici. La clausula PICTURES, abbreviata in PIC, serve anche per definire una rappresentazione del dato su video al momento dell output o della stampa. PIC indica che vogliamo una rappresentazione con numeri di separazione per le migliaia. PIC indica che il dato è rappresentato con il segno alla fine (trailing), un uso molto comune nelle liste di cifre dei bilanci e il simbolo sarà un meno se il dato è negativo, uno spazio altrimenti. PIC indica che vogliamo il segno in coda al numero ma questa volta il segno esisterà sia per i valori positivi che per quelli negativi. C è un altra forma possibile per la rappresentazione dei valori positivi e negativi, anche se non molto usata in Italia, ed è quella di indicare due lettere CR che starebbe per credito e DB per debito. PIC 999CR. PIC 999DB. La stampa di CR e DB avviene solo se il dato è negativo e non come si potrebbe pensare DB se negativo e CR se positivo. PIC 999Z. sta ad indicare che vogliamo stampare la cifra zero a fronte di un valore nullo. Nell assegnazione dei valori sono consentite delle abbreviazioni e l uso di due costanti figurative per lo spazio (blank) e per lo zero. VALUE IS ZERO. VALUE IS ZEROES. VALUE IS SPACE. 20

24/07/00-17.05 COBOL LANGUAGE REFERENCE Pag. 1

24/07/00-17.05 COBOL LANGUAGE REFERENCE Pag. 1 24/07/00-17.05 COBOL LANGUAGE REFERENCE Pag. 1 _ REGOLE DI SCRITTURA COBOL : 1 fino a 6 = una volta usati per numerare le righe del programma, adesso usate normalmente per marchiare le modifiche. 7 * =

Dettagli

Gestione ARCHIVI in C O B O L. I.T.C. "V.Emanuele II" - Perugia

Gestione ARCHIVI in C O B O L. I.T.C. V.Emanuele II - Perugia Gestione ARCHIVI in C O B O L I.T.C. "V.Emanuele II" - Perugia Prof.Claudio Maccherani 1996 GENERALITÀ Un archivio è costituito da un insieme di record (record logici). Un record logico è costituito da

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Database e Microsoft Access. Ing. Antonio Guadagno

Database e Microsoft Access. Ing. Antonio Guadagno Database e Microsoft Access Ing. Antonio Guadagno Database e Microsoft Access Un Database non è altro che un insieme di contenitori e di strumenti informatici che ci permette di gestire grossi quantitativi

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Capitolo primo. Introduzione

Capitolo primo. Introduzione Capitolo primo Introduzione Questo corso si propone di insegnare a creare applicazioni database con Access utilizzando il linguaggio VBA-Visual Basic for Application: vale a dire quel caratteristico dialetto

Dettagli

Il DATABASE Access. Concetti Fondamentali

Il DATABASE Access. Concetti Fondamentali Il DATABASE Access Concetti Fondamentali Con la nascita delle comunità di uomini, si è manifestata la necessità di conservare in maniera ordinata informazioni per poi poterne usufruire in futuro. Basta

Dettagli

schema riassuntivo del corso di excel avanzato

schema riassuntivo del corso di excel avanzato corso di excel avanzato Materiale prodotto da Domenico Saggese unicamente come supporto per i suoi corsi. E lecito trattenerne una copia per uso personale; non è autorizzato alcun uso commerciale o in

Dettagli

Introduzione a Visual Studio 2005

Introduzione a Visual Studio 2005 Fondamenti di Informatica e Laboratorio T-AB Ingengeria Elettronica e Telecomunicazioni a.a. 2008/2009 Introduzione a Visual Studio 2005 Outline Solutions e Projects Visual Studio e il linguaggio C Visual

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

www.wlascuola.4000.it

www.wlascuola.4000.it 1 Cenni di programmazione Risolvere un problema significa trovare un procedimento che consenta di produrre i risultati, a partire dai dati iniziali, attraverso un processo di elaborazione. La metodologia

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

Revisione e implementazione di algoritmi di elaborazione delle immagini

Revisione e implementazione di algoritmi di elaborazione delle immagini Stagnaro Francesca Mat. 2543707 Relazione Finale di Tirocinio: Revisione e implementazione di algoritmi di elaborazione delle immagini Svolto presso l azienda Numensoft Snc di M. Peri & Soci III Anno di

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

385 Capitolo 82 Manuale COBOL. 82.1 Caratteristiche del linguaggio... 387

385 Capitolo 82 Manuale COBOL. 82.1 Caratteristiche del linguaggio... 387 385 Capitolo 82 Manuale COBOL 82.1 Caratteristiche del linguaggio.............................................. 387 a2» 2010.08 anteprima --- Copyright Daniele Giacomini -- appunti2 ( ad) gmail com http://informaticalibera.net

Dettagli

corrispondente server Web (l applicazione server) viene inviata una richiesta, alla quale il server normalmente risponde inviando la pagina HTML che

corrispondente server Web (l applicazione server) viene inviata una richiesta, alla quale il server normalmente risponde inviando la pagina HTML che Prefazione In questo volume completiamo l esplorazione del linguaggio Java che abbiamo iniziato in Java Fondamenti di programmazione. I due testi fanno parte di un percorso didattico unitario, come testimoniano

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 7.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Fondamenti di Informatica 7. Linguaggi di programmazione

Fondamenti di Informatica 7. Linguaggi di programmazione I linguaggi di alto livello Fondamenti di Informatica 7. Linguaggi di programmazione Introduzione alla programmazione Caratteristiche dei linguaggi di programmazione I linguaggi di programmazione di alto

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Capitolo 72. Manuale COBOL

Capitolo 72. Manuale COBOL 1467 Manuale COBOL Capitolo 72 «72.1 Caratteristiche del linguaggio...................... 1477 72.1.1 Organizzazione del programma in forma sorgente 1477 72.1.2 Insieme dei caratteri..........................

Dettagli

Cap.1 Framework dotnet e Ambiente di sviluppo

Cap.1 Framework dotnet e Ambiente di sviluppo High thoughts must have a high language. (Aristophanes) Cap.1 Framework dotnet e Ambiente di sviluppo in questo primo capitolo presentiamo l'ambiente di sviluppo che verrà utilizzato in questo corso. Si

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

GUIDA RAPIDA ALL USO DI EXCEL

GUIDA RAPIDA ALL USO DI EXCEL GUIDA RAPIDA ALL USO DI EXCEL I fogli elettronici vengono utilizzati in moltissimi settori, per applicazioni di tipo economico, finanziario, scientifico, ingegneristico e sono chiamati in vari modi : fogli

Dettagli

Lezione 4 Introduzione a Microsoft Excel Parte Prima

Lezione 4 Introduzione a Microsoft Excel Parte Prima Lezione 4 Introduzione a Microsoft Excel Parte Prima Cenni preliminari... 1 Elementi sullo schermo... 2 Creazione di una cartella di lavoro... 3 Utilizzo di celle e intervalli... 3 Gestione della cartella

Dettagli

MICROSOFT EXCEL INTRODUZIONE PRIMI PASSI

MICROSOFT EXCEL INTRODUZIONE PRIMI PASSI MICROSOFT EXCEL INTRODUZIONE Si tratta di un software appartenente alla categoria dei fogli di calcolo: con essi si intendono veri e propri fogli elettronici, ciascuno dei quali è diviso in righe e colonne,

Dettagli

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0)

Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Uso di un browser (con riferimento a Microsoft Internet Explorer 6.0) Nota Bene: Si raccomanda di leggere queste dispense di fronte al computer, provando passo dopo passo le funzionalità descritte. Per

Dettagli

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 11 system Sistemi operativi 12 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 11.1 Di cosa parliamo in questa lezione? L interfaccia : system 1 Il

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi Parte V & Reti Sistema operativo: insieme di programmi che gestiscono l hardware Hardware: CPU Memoria RAM Memoria di massa (Hard Disk) Dispositivi di I/O Il sistema operativo rende disponibile anche il

Dettagli

Introduzione al Python

Introduzione al Python Andrea Passerini passerini@disi.unitn.it Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti

Dettagli

LA RAPPRESENTAZIONE DELLE INFORMAZIONI

LA RAPPRESENTAZIONE DELLE INFORMAZIONI ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY LA RAPPRESENTAZIONE DELLE INFORMAZIONI Prof. G. Ciaschetti DATI E INFORMAZIONI Sappiamo che il computer è una macchina stupida, capace di eseguire

Dettagli

Introduzione. Perché è stato scritto questo libro

Introduzione. Perché è stato scritto questo libro Introduzione Perché è stato scritto questo libro Sul mercato sono presenti molti libri introduttivi a Visual C# 2005, tuttavia l autore ha deciso di scrivere il presente volume perché è convinto che possa

Dettagli

Elementi del calcolatore: CPU

Elementi del calcolatore: CPU Elementi del calcolatore: CPU Elementi del calcolatore: Memoria Elementi del calcolatore: Memoria Elementi del calcolatore: Hard Disk Antefatto Sistema Operativo Come il computer appare Il calcolatore

Dettagli

Introduzione alla programmazione in Java

Introduzione alla programmazione in Java Introduzione alla programmazione in Java 1 Programmare ad oggetti La programmazione come attività di creazione di modelli. I concetti di classe, oggetto e scambio di messaggi. Un primo esempio di programma

Dettagli

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA

POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA POLITECNICO DI BARI Corso di Laurea in Ingegneria MECCANICA Corso di FONDAMENTI DI INFORMATICA ACCESSO ALL AMBIENTE DI PROGRAMMAZIONE Microsoft Visual C++ è sufficiente cliccare sul pulsante di Windows,

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

FACOLTA DI PSICOLOGIA Scienze della Mente TESINA DI INFORMATICA. Fossataro Carlotta Di Rienzo Ariana Basso Alessandra Marchetto Helena

FACOLTA DI PSICOLOGIA Scienze della Mente TESINA DI INFORMATICA. Fossataro Carlotta Di Rienzo Ariana Basso Alessandra Marchetto Helena FACOLTA DI PSICOLOGIA Scienze della Mente TESINA DI INFORMATICA Fossataro Carlotta Di Rienzo Ariana Basso Alessandra Marchetto Helena SPSS INDICE INTRODUZIONE...3 FINESTRE...4 EDITOR DEI DATI...4 OUTPUT...11

Dettagli

schema riassuntivo del corso di excel 2007 avanzato

schema riassuntivo del corso di excel 2007 avanzato corso di avanzato Materiale prodotto da Domenico Saggese unicamente come supporto per i suoi corsi. E lecito trattenerne una copia per uso personale; non è autorizzato alcun uso commerciale o in corsi

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

----------------------------------------------------------------

---------------------------------------------------------------- ---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,

Dettagli

Capitolo 2. Esplorare l interfaccia tra uomo e computer

Capitolo 2. Esplorare l interfaccia tra uomo e computer Capitolo 2 Esplorare l interfaccia tra uomo e computer Imparare la tecnologia Gli esseri umani non hanno abilità tecnologiche innate La nostra precedente esperienza nell uso di dispositivi simili, incluse

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli 4 Un primo programma Java Introduzione alla programmazione in Java class Program1 { System.out.println("Benvenuti al corso"); 1 5 Programmi e mondo reale Programmare ad oggetti Il codice di un programma

Dettagli

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra.

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra. Appunti di Calcolatori Elettronici Modello di macchina multilivello Introduzione... 1 Linguaggi, livelli e macchine virtuali... 3 La struttura a livelli delle macchine odierne... 4 Evoluzione delle macchine

Dettagli

Operazioni di input e output in Fortran 90

Operazioni di input e output in Fortran 90 Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica

Dettagli

Stampa unione in Word 2010 Stampe multiple personalizzate

Stampa unione in Word 2010 Stampe multiple personalizzate Stampa unione in Word 2010 Stampe multiple personalizzate Autore: Alessandra Salvaggio Tratto dal libro: Lavorare con Word 2010 Quando bisogna inviare documenti personalizzato a molte persone una funzione

Dettagli

NOZIONI BASE PER ESERCITAZIONI

NOZIONI BASE PER ESERCITAZIONI NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi

Dettagli

LUdeS Informatica 2 EXCEL. Prima parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Prima parte AA 2013/2014 LUdeS Informatica 2 EXCEL Prima parte AA 2013/2014 COS E EXCEL? Microsoft Excel è uno dei fogli elettronici più potenti e completi operanti nell'ambiente Windows. Un foglio elettronico è un programma che

Dettagli

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

Dettagli

DUE GRUPPI DI COMANDI

DUE GRUPPI DI COMANDI LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano

Dettagli

Basi di dati. Microsoft Access. Cosa è. Pietro Pala (pala@dsi.unifi.it) Come iniziare. Aprire un database. Creare un database. Creare un database

Basi di dati. Microsoft Access. Cosa è. Pietro Pala (pala@dsi.unifi.it) Come iniziare. Aprire un database. Creare un database. Creare un database Cosa è Basi di dati Pietro Pala (pala@dsi.unifi.it) Microsoft Access Access è un DBMS relazionale in grado di supportare: Specifica grafica dello schema della base dati Specifica grafica delle interrogazioni

Dettagli

schema riassuntivo del corso di access

schema riassuntivo del corso di access schema riassuntivo del maggio-settembre 2006 Materiale prodotto da Domenico Saggese unicamente come supporto per i suoi corsi. E lecito trattenerne una copia per uso personale; non è autorizzato alcun

Dettagli

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

INSTALLAZIONE ed USO VUZE per DOWNLOAD FILE TORRENT

INSTALLAZIONE ed USO VUZE per DOWNLOAD FILE TORRENT INSTALLAZIONE ed USO VUZE per DOWNLOAD FILE TORRENT Questa guida vuole essere un breve tutorial su come installare VUZE sul proprio PC in modo da riuscire a scaricare i file torrent che troviamo su Internet.

Dettagli

DBImport Manuale Utente. DBImport Manuale Utente

DBImport Manuale Utente. DBImport Manuale Utente DBImport Manuale Utente Pagina 1 di 28 Pagina 2 di 28 SOMMARIO 1 Introduzione... 4 2 Descrizione del processo di importazione... 5 2.1 Invocazione... 5 3 File XML di importazione... 6 3.1 File principale,

Dettagli

L interfaccia di P.P.07

L interfaccia di P.P.07 1 L interfaccia di P.P.07 Barra Multifunzione Anteprima delle slide Corpo della Slide Qui sotto vediamo la barra multifunzione della scheda Home. Ogni barra è divisa in sezioni: la barra Home ha le sezioni

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

7. Microsoft Access. 1) Introduzione a Microsoft Access

7. Microsoft Access. 1) Introduzione a Microsoft Access 1) Introduzione a Microsoft Access Microsoft Access è un programma della suite Microsoft Office utilizzato per la creazione e gestione di database relazionali. Cosa è un database? Un database, o una base

Dettagli

Configurazione Stampe

Configurazione Stampe Configurazione Stampe Validità: Febbraio 2013 Questa pubblicazione è puramente informativa. SISECO non offre alcuna garanzia, esplicita od implicita, sul contenuto. I marchi e le denominazioni sono di

Dettagli

Foglio elettronico (StarOffice)

Foglio elettronico (StarOffice) Modulo Foglio elettronico (StarOffice) Modulo - Foglio elettronico, richiede che il candidato comprenda il concetto di foglio elettronico e dimostri di sapere usare il programma corrispondente. Deve comprendere

Dettagli

INDICE PROGRAMMA CORSO

INDICE PROGRAMMA CORSO INDICE PROGRAMMA CORSO PRIMA LEZIONE: Componenti di un computer: Hardware, Software e caratteristiche delle periferiche. SECONDA LEZIONE: Elementi principali dello schermo di Windows: Desktop, Icone, Mouse,

Dettagli

Password Safe 1.92b. Introduzione. Dettagli Tecnici. Istruzioni d uso. Egizio Raffaele

Password Safe 1.92b. Introduzione. Dettagli Tecnici. Istruzioni d uso. Egizio Raffaele Password Safe 1.92b Introduzione Dettagli tecnici Istruzioni d uso Egizio Raffaele Introduzione Password Safe 1.92b è stato progettato per mantenere le password in un database criptato protetto da Safe

Dettagli

Il manuale di Google Adwords

Il manuale di Google Adwords Stefano Calicchio Il manuale di Google Adwords La guida definitiva al più immediato ed efficace programma Pay Per Click del mondo www.marketingeditoriale.com 1 Tutti i diritti riservati. Ogni violazione

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

IL LINGUAGGIO C NOSTRO APPROCCIO AL C. Sempre con esempi che illustrano le caratteristiche del linguaggio. SCRIVERE ED ESEGUIRE IL PRIMO PROGRAMMA C

IL LINGUAGGIO C NOSTRO APPROCCIO AL C. Sempre con esempi che illustrano le caratteristiche del linguaggio. SCRIVERE ED ESEGUIRE IL PRIMO PROGRAMMA C IL LINGUAGGIO C Sviluppato agli inizi degli anni '70 nei Bell Laboratories per ricerca, ha caratteristiche che lo rendono ideale per uso scientifico. Si sviluppa e si diffonde parallelamente a Unix. È

Dettagli

Pierpaolo Palka Storia di Fotorad

Pierpaolo Palka Storia di Fotorad A08 388 Pierpaolo Palka Storia di Fotorad Realizzazione di una piattaforma grafica proprietaria Prefazione di Carmine D Ottavio Copyright MMXII ARACNE editrice S.r.l. www.aracneeditrice.it info@aracneeditrice.it

Dettagli

PROGRAMMA DI INFORMATICA CLASSE: 1 C Indirizzo: AMMINISTRAZIONE FINANZA E MARKETING Anno Scolastico 2014-2015

PROGRAMMA DI INFORMATICA CLASSE: 1 C Indirizzo: AMMINISTRAZIONE FINANZA E MARKETING Anno Scolastico 2014-2015 CLASSE: 1 C Indirizzo: AMMINISTRAZIONE FINANZA E MARKETING MODULO HARDWARE 1. Che cos è il PC - Gli elementi del computer- Unità centrale:uc-alu- RAM - La memorizzazione delle informazioni:bit-byte. Sistemi

Dettagli

Guida all uso del foglio elettronico Excel Lezioni ed esercizi

Guida all uso del foglio elettronico Excel Lezioni ed esercizi Lezioni di EXCEL Guida all uso del foglio elettronico Excel Lezioni ed esercizi 1 Il foglio elettronico Excel Excel è un foglio elettronico che consente di effettuare svariate operazioni nel campo matematico,

Dettagli

Access - Lezione 02. Basi di dati. Parte seconda. (Per andare direttamente su un argomento, fare clic con il mouse sul titolo nell indice sottostante)

Access - Lezione 02. Basi di dati. Parte seconda. (Per andare direttamente su un argomento, fare clic con il mouse sul titolo nell indice sottostante) Access - Lezione 02 Basi di dati Parte seconda (Per andare direttamente su un argomento, fare clic con il mouse sul titolo nell indice sottostante) 1.0 Operazioni di base 1.1 Impostare e pianificare un

Dettagli

Rappresentazione binaria dei numeri negativi

Rappresentazione binaria dei numeri negativi Introduzione all Informatica 1 Conversione decimale binario (continuazione) La conversione di un numero decimale (es. 112) in binario si effettua tramite l algoritmo della divisione, dividendo successivamente

Dettagli

disponibili nel pacchetto software.

disponibili nel pacchetto software. Modulo syllabus 4 00 000 00 0 000 000 0 Modulo syllabus 4 DATABASE 00 000 00 0 000 000 0 Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database

Dettagli

L ambiente grafico (GNOME o KDE)

L ambiente grafico (GNOME o KDE) L ambiente grafico (GNOME o KDE) Abbiamo già speso alcune parole in merito alla differenza tra gestori di finestre (o window managers) e gestori di desktop, ma in questa lezione impareremo alcuni concetti

Dettagli

1. Il nome utente: NON può essere modificato 2. Il tuo nome (ne trovate prescritto uno generico): metti il tuo vero nome SENZA il cognome

1. Il nome utente: NON può essere modificato 2. Il tuo nome (ne trovate prescritto uno generico): metti il tuo vero nome SENZA il cognome Guida NetPupils Un social network è un sito che dà la possibilità alle persone di entrare in contatto e condividere informazioni. I social network si basano su quella che viene definita amicizia : concedendo

Dettagli

B C. Panoramica di Access 2010. Elementi dell interfaccia

B C. Panoramica di Access 2010. Elementi dell interfaccia Panoramica di Access 2010 A B C D E Elementi dell interfaccia A Scheda File (visualizzazione Backstage) Consente l accesso alla nuova visualizzazione backstage di Access 2010, che contiene un menu di comandi

Dettagli

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi: Modulo 8 Elettronica Digitale Contenuti: Introduzione Sistemi di numerazione posizionali Sistema binario Porte logiche fondamentali Porte logiche universali Metodo della forma canonica della somma per

Dettagli

Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte.

Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte. Corso html 5. Di Roberto Abutzu. `***********` Ottava parte: I link, seconda parte. `**********` I link, seconda parte. Continuiamo la parte che completerà la trattazione dei link, andando ad operare direttamente

Dettagli

VINCENZO IAVAZZO CREA IL TUO SOFTWARE

VINCENZO IAVAZZO CREA IL TUO SOFTWARE VINCENZO IAVAZZO CREA IL TUO SOFTWARE Imparare a programmare e a realizzare software con i più grandi linguaggi di programmazione 2 Titolo CREA IL TUO SOFTWARE Autore Vincenzo Iavazzo Editore Bruno Editore

Dettagli

Le espressioni regolari.

Le espressioni regolari. Lezione 8 Le espressioni regolari. Le espressioni regolari. Corrispondenze e classi di caratteri. Le regular expressions (espressioni regolari) servono per descrivere dei modelli di stringa. E possibile

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

APPUNTI DI ACCESS2010:

APPUNTI DI ACCESS2010: APPUNTI DI ACCESS2010: 1.LE TABELLE Appunti di Access 2010: 1.Le Tabelle - Ultimo aggiornamento 17/01/2014 1 Definizione di Database Un database è un insieme di informazioni correlate a un oggetto o a

Dettagli

Corso di Archivistica

Corso di Archivistica Corso di Archivistica e gestione documentale Prima Parte - Area Informatica Le tabelle Lezione 6 Creare un data base Introduzione La presente è la prima di una serie di lezioni finalizzate alla creazione

Dettagli

per immagini guida avanzata Usare le formule e le funzioni Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Usare le formule e le funzioni Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Usare le formule e le funzioni Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Costruire formule in Excel Per gli utenti di altri programmi di foglio di calcolo, come ad esempio Lotus 1-2-3,

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database Basi di dati Introduzione Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database OpenOffice.org (www.openoffice.org) è un potente software opensource che ha, quale scopo primario,

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Appunti di Informatica 1. Gianluca Rossi

Appunti di Informatica 1. Gianluca Rossi Appunti di Informatica 1 Gianluca Rossi Versione maggio 2011 Indice 1 Algoritmi, macchine e linguaggi di programmazione 3 1.1 La macchina di Von Neumann........................ 5 1.2 Dal linguaggio macchina

Dettagli

7.6 USO DELLA POSTA ELETTRONICA

7.6 USO DELLA POSTA ELETTRONICA 7.6 USO DELLA POSTA ELETTRONICA La principale utilità di un programma di posta elettronica consiste nel ricevere e inviare messaggi (con o senza allegati) in tempi brevissimi. Esistono vari programmi di

Dettagli

Introduzione a VBA. programmazione appartenente alla famiglia del Visual Basic.

Introduzione a VBA. programmazione appartenente alla famiglia del Visual Basic. Introduzione a VBA La suite da ufficio Microsoft Office è sicuramente uno dei software più diffusi al mondo, molti ne apprezzano le potenzialità, ma tanti ignorano che è possibile estenderne le capacità

Dettagli