La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Fondamenti di informatica 1 parte 2 D.U.1 fondamenti di informatica parte 2 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

Presentazioni simili


Presentazione sul tema: "Fondamenti di informatica 1 parte 2 D.U.1 fondamenti di informatica parte 2 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,"— Transcript della presentazione:

1 fondamenti di informatica 1 parte 2 D.U.1 fondamenti di informatica parte 2 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica, a.a di anna maria carminelli gregori

2 fondamenti di informatica 1 parte 2 D.U.2 Evoluzione dei S.O.( ) zDa Sistemi a lotti (Batch) a interattivi; zmono-utente mono-programmato; DOS z multi_programmato; Windows 3.x z molti utenti contemporanei; z multi_programmato o Windows-NT, z multi_tasking e MacOs… z di rete; Unix …VM …. zNota !!! Altro tipo di Sistemi operativi: S.O.real_time: tempo di reazione determinato da un evento esterno (per es. l attivazione di un telescopio).

3 fondamenti di informatica 1 parte 2 D.U.3 S.O. mono & multiprogrammato: zI Sistemi Operativi sono mono o multi task cioe tali da da poter eseguire un solo (mono) o piu programmi in apparente contemporaneita. zI S.O. multi task sono suddivisi in multiutenti e monoutente. zI S.O. multi task e monoutente danno allutente la possibilita di effettuare piu funzioni; zNei S.O. multi task e multiutenti il meccanismo puo essere applicato a +utenti in apparente contemporaneita.

4 fondamenti di informatica 1 parte 2 D.U.4 Significato di S.O. multiutente & multiprogrammato: z(multiprogrammato o multiprocesso o multitasking) => zmultiutente: piu utenti possono lavorare sul medesimo computer eseguendo in apparente contemporaneita piu programmi: apparente perche in realta esiste un articolazione temporale (=>time sharing) tra i programmi; zmultiprogrammato: ogni programma puo eseguire piu funzioni in contemporaneita apparente.

5 fondamenti di informatica 1 parte 2 D.U.5 Subito 2 esempi zCon il Personal si usa il DOS e/o +spesso Windows in modalita singolo utente; znel Laboratorio di Informatica e usato Windows_NT (NT=NeTwork) ossia un S.O. che controlla una rete locale di E.E. zCome gia indicato, l utente usa uno degli elaboratori connessi ad un E.E. chiamato SERVER che gestisce la rete locale e condivide tra tutti il suo disco fisso, suddiviso in piu partizioni chiamate E:, S:, H: (vedere denominazioni in DOS, +oltre).

6 fondamenti di informatica 1 parte 2 D.U.6 Laboratorio ed uso della rete zI programmi che lo studente (=utente ) vuole usare non sono residenti sulla macchina locale, o CLIENT, ma sul disco rigido condiviso dal Server con tutti gli E.E. del Laboratorio. zLa connessione al Server avviene tramite accesso con username e password chiesti all avvio di ogni E.E. locale: la loro mancanza inibisce l accesso ai programmi. z… ma una volta connessi il modo di lavorare e simile a quello su un E.E. non condiviso e allo studente sembra di essere l unico utilizzatore.

7 fondamenti di informatica 1 parte 2 D.U.7 username e password zsaranno comunicati ad ogni studente del D.U. zPER ORA I LORO VALORI PROVVISORI sono: username: fond; password: ztutto in minuscolo perche Windows e sensitivo ossia conosce la differenza tra minusolo e maiuscolo ! zDa oggi, 07/10/99 sono in distribuzione le password per le matricole presso il lab. nettuno ex aula G viola zI nuovi username & password personali abilitano ad usare anche in scrittura H: partizione del disco del Server per gli studenti: qui si possono creare i direttori objexe, source ….

8 fondamenti di informatica 1 parte 2 D.U.8 username & password personali zabilitano ogni studente ad accedere al disco del Server (partizioni E: S: in lettura, partizione H: in lettura/scrittura); zlo stud. puo usare tutti i programmi registrati in E: S: (per es. tc per compilare programmi in C++ cfr. modalita duso del C++ piu avanti); zNON puo invece registrare nulla su E: S: (SICUREZZA !) ma solo su H: partizione del disco fisso del Server per gli studenti, dove puo registrare i suoi programmi in alternativa al floppy personale o a C:\temp.

9 fondamenti di informatica 1 parte 2 D.U.9 S.O. multi - utente e multi_tasking zFunzioni: eseguire i comandi utenti; z gestire Input/output e file; z segnalare errori; z assegnare la CPU ad ogni progr.- z -utente per un tempuscolo con z apparente contemporaneita di z esecuzione (compito Scheduler); z fornire i servizi richiesti dalla rete; z assicurare sicurezza e privatezza z informazioni del singolo utente z e del sistema...

10 fondamenti di informatica 1 parte 2 D.U.10 S.O. mono - utente e mono_tasking (DOS) zFunzione: esecuzione dei comandi utenti; z gestione Input/output e file; z segnalazione errori. zE caricato all accensione dal BOOTSTRAP nella parte alta (zona convenzionale) della RAM ove resta fino alla fine sessione (permanentemente sta nella ROM e/o su disco). zE TUTTORA fondamentale: Windows vi si appoggia ! => segue una sua sintesi.

11 Fasi di caricamento del DOS zAll accensione: RAM e vergine, ROM contiene: z_ il caricatore (BOOTSTRAP), z_ i programmi diagnostici per la verifica dell Hardware e dei perferici di I/O (BIOS= Basic Input output System). zTutto viene subito caricato nella RAM. Da qui il BOOTSTRAP puo caricare dal disco nella zona convenzionale della RAM quei programmi del DOS che li risiederanno per tutta la sessione di lavoro. zNOTA: un programma per essere eseguito deve stare in RAM !

12 fondamenti di informatica 1 parte 2 D.U.12 Parte fondamentale del DOS zTra i programmi fondamentali ci sono: zCOMMAND.COM la shell del DOS ; zIO.SYS, MSDOS.SYS System_file & Kernel nel senso gia indicato. zLa parte del DOS non residente resta generalmente su file del disco C: Da li i file con i programmi (che eseguono i relativi comandi-utente) vengono caricati in C.M. (RAM) quando sono attivati.

13 fondamenti di informatica 1 parte 2 D.U.13 Dos: caratteristiche zIl DOS tradizionale non puo gestire memoria oltre l indirizzo =640 K: zper farlo ha bisogno di programmi speciali ossia driver per gestire la memoria espansa e la memoria estesa (oltre 1M). zA caricamento avvenuto il S.O. e pronto per eseguire i comandi digitati da tastiera e/o forniti in altro modo (per es. con file batch: cfr. +oltre). Lo segnala col prompt di sistema.

14 fondamenti di informatica 1 parte 2 D.U.14 prompt & comandi del DOS zOgni S.O. ha un suo proprio prompt che appare quando il S.O. e pronto a rispondere ai comandi dell utente che sono anch essi propri del S.O. Come esempi il prompt e: zper il DOS il nome del disco ove si trova la parte non residente del DOS seguito da > ossia per esempio C:> zper Windows il menu grafico che usa un modello a finestra = metafora della scrivania.

15 fondamenti di informatica 1 parte 2 D.U.15 Il DOS non e sensitivo zIl DOS e un S.O. a comandi che si possono scrivere in maiuscolo o minuscolo. zI comandi propri del DOS si trovano nei manuali e nell help in linea: il loro formato e molto semplice …. zes. copy mio.c tuo.c -> effetto: il contenuto del file mio.c e copiato nel file tuo.c … ricoprendo ogni eventuale contenuto precedente !!! ATTENZIONE !

16 fondamenti di informatica 1 parte 2 D.U.16 Altri comandi interessanti zPer vedere una mappa della memoria RAM dopo il caricamento del DOS si puo utilizzare il comando MEM da solo o con le opzioni che si desiderano (vedi Help MEM) zPer vedere una mappa del disco C: si puo dare il comando DIR C: zPer visualizzare un file di tipo testo che si chiama TEST.TXT c e TYPE TEST.TXT ecc. zNota: in ogni comando sono usabili i caratteri jolly (* e ?) per indicare caratteri sconosciuti. Cfr. help.

17 fondamenti di informatica 1 parte 2 D.U.17 e Windows ? zViene caricato col DOS e si presenta con i suoi menu e le sue cartelle che appaiono su una finestra del display a simulare le pile di pratiche allineate sul piano della scrivania. Come le pile di pratiche sono da aprire, cosi le cartelle si interrogano ponendosi con la freccia del mouse su ciascuna di esse e facendo clik col mouse. Il mouse si usa su qualunque altra immagine presente: per es. su E.E. e sui dischi di E.E. zIn questo modello a finestra, dove il Desk-Top rappresenta la scrivania, i file (=pratiche) sono rappresentati da icone, i direttori da cartelle.

18 fondamenti di informatica 1 parte 2 D.U.18 e Windows95_NT ? zCome detto, e un S.O. per le reti di computer. zIl modello della rete usata nel Lab. e del tipo Client-Server con un E.E. (=Server) adibito a fornire i Servizi richiesti dagli altri E.E.(=Client). zIl modello Client-Server (con piu Server e tanti Client) e molto diffuso ed e usato nella rete Internet e nelle sue sottoreti. zInternet e nota per la diffusione di W.W.W. = World Wide Web => la ragnatela tessuta sulla rete per la gestione di informazioni che stanno nei vari E.E. della rete e per comunicare usano il protocollo (=insieme di regole) TCP/IP.

19 fondamenti di informatica 1 parte 2 D.U.19 Informazione e Ipertesti zCon E.E. si puo fruire di informazioni non solo in modo sequenziale, ma navigando tra diverse aree di un disco, in particolare di un disco Ottico (Compact Disk o C.D.) se si dispone del suo lettore. Come? Per es. usando gli ipertesti. zDefinizione di ipertesto: documento non lineare in cui l informazione non e solo sequenziale, ma sparpagliata. I concetti sono collegati tra loro con collegamenti (=link logici) che permettono di saltare tra le pagine seguendo il percorso logico piu interessante. zRICORDARE l uso dei dizionari !

20 fondamenti di informatica 1 parte 2 D.U.20 e l ipermedia ? zDall ipertesto si passa all ipermedia quando i collegamenti non riguardano soltanto informazioni testuali ma immagini, grafica in movimento, musica,... dati multimediali che possono trovarsi anche su C.D. zQuando l informazione non risiede su un C.D. ma e diffusa in rete ossia richiede di navigare o passare da un E.E. ad un altro, si parla di multimedialita in rete. L accesso a informazioni in rete richiede software particolare per tener conto dei link logici oltre a quelli fisici.

21 fondamenti di informatica 1 parte 2 D.U.21 W.W.W. ( = Web) : un cenno zE software installato su appositi Server (Server Web) che facilita sia la comunicazione tra gli E.E. di Internet sia la gestione di documenti ipermediali (informazioni testuali e immagini, suoni, collegati tra loro) pubblicati in Internet. zI documenti sono scritti spesso in HTML =Hyper Text Markup Language, che permette una descrizione del loro formato (oggi e usato anche JAVA, linguaggio O.O. come C++). La descrizione e interpretata e presentata dai browser (opportuni programmi posti nei vari Client come per es. Netscape) detti Client_Web.

22 fondamenti di informatica 1 parte 2 D.U.22 Con HTML e possibile: zdescrivere un documento e collegarlo ad altri documenti locali o remoti. Il collegamento e realizzato con frasi del linguaggio HTML che specificano il nome del documento e la sua locazione indicata come URL (Uniform Resource Locator). Nella URL sono indicati: il protocollo (insieme di regole) usato per accedere a documenti Web, (hyper text transfer protocol) che utilizza i servizi di trasmissione standard tipici di Internet forniti da TCP/IP; la locazione, indicata con: /nome del Server_Web/directory/nome_file

23 fondamenti di informatica 1 parte 2 D.U.23 E questa specifica della URL ze usata anche nei vari collegamenti ai Siti Internet lavorando col Client_Web disponibile, per es. Netscape. zSu/con Netscape si possono fare esperimenti, prove collegandosi a URL note. Per es. zhttp://www.univ.trieste.it/ servizi / z ricerca z didattica z borse z…ecc.

24 fondamenti di informatica 1 parte 2 D.U.24 File zConcettualmente: file = archivio di dati che varia nel tempo. E possibile aggregare i dati (=informazioni) in registrazioni = Record. zAccesso informazioni: sequenziale / diretto zes. libro = successione di pagine zaccesso sequenziale alle info: pagina dopo pagina z diretto: occorre l indice inform. - pagina zSupporti: dischi (possibili accesso sequen.-diretto) znastri ( bobine) (possibile solo accesso sequenz.)

25 fondamenti di informatica 1 parte 2 D.U.25 File & programmi zI file possono contenere anche programmi: in questo caso il contenuto e una particolare successione di informazioni.Queste concettualmente sono comandi per E.E. e quindi devono essere lette ed interpretate una dopo l altra, sequenzialmente. zIn generale pero parlando di file si intende un archivio di informazioni come per es.: dati anagrafici di persone o indirizzi o classifiche finanziarie...

26 fondamenti di informatica 1 parte 2 D.U.26 Dimensioni File intesi in senso generale z…. e la C.M. ? Concettualmente: file(= archivio) non STA in C.M. ma in Memoria di Massa. In C.M. viene LETTO o CREATO e/o modificato un record per volta e quindi REGISTRATO su Memoria di Massa col nome scelto. zDischi e nastri= Memoria di massa o periferica zEs. Dimensione file: se K=1024= 2 10, M= = 2 20, 1 pag. libro 3 Kbyte_____________________ 1 giornale senza foto 50 Kbyte ____________________ 1 quotidiano 2 Mbyte ____________________ 1 immagine 1 Mbyte ……...

27 fondamenti di informatica 1 parte 2 D.U.27 Disco (Hard, Floppy, C.D.) e Direttori zConcettualmente: disco = deposito di informazioni. Il S.O. con il File System fornisce all utente una visione logica dei dischi (indipendente dalla struttura hardware) basata sui concetti di File e Cataloghi di nomi di file = Direttori o Cartelle. zI file su ogni disco sono presentati all utente coi loro nomi raggruppati in Direttori/Cartelle organizzati in modo gerarchico con una struttura ad albero. zLa struttura gerarchica appare nel direttorio di ogni disco: ogni direttorio contiene l elenco dei file e dei suoi (sotto)direttori (cfr. tra 2 diapositive).

28 fondamenti di informatica 1 parte 2 D.U.28 Denominazioni in DOS zNomi di disco: A: o B: (unita floppy); D: (Compact); C: (hard) anche divisibile in partizioni ( E: S: H:...), Nomi di file: 2 stringhe prima e seconda separate da un carattere PUNTO. z1 n. o caratteri prima 8 z1 n. o caratteri seconda 3 = estensione che caratterizza il tipo del file: es. prova.c -> prg. in C; libro.txt -> testo; prova.exe-> prg. eseguibile... zNomi di Direttori: 1 stringa di 8 caratteri al piu. zPer creare un nuovo direttorio ce il comando MD zsi distrugge un direttorio VUOTO col RD zsi passa da un dirett. ad un altro col CD zcon M=Make, R=Remove, C=Change. Segue esem.

29 fondamenti di informatica 1 parte 2 D.U.29 Struttura logica ad albero e md = make directory (in DOS) z ROOT (\) \ e il diret. radice z ____|____ in \ si possono dare i comandi z | | md anna md lola z anna lola in anna si puo scrivere: z __|______ | md prg md tesi md mio z| | | pr.c ottenendo l albero a zprg tesi mio sinistra dove in lola si ha z pr.c = file con un progr. in C, che si puo visualizzare con type C:\lola\pr.c

30 fondamenti di informatica 1 parte 2 D.U.30 Percorsi in DOS ztype C:\lola\pr.c e un esempio di come si puo visualizzare un file posto nel disco C: Segue un alternativa possibile nell ipotesi che il file mio.txt stia nel disco C:\uno\due\ mio.txt zCon DOS e opportuno controllare in quale disco e direttorio ci si trovi e da li spostarsi al direttorio due dove c e mio.txt. Come ? Prima digitare dir poi se si e nel direttorio D:\pippo digitare C: per passare al disco C: poi con dir verificare di essere in C:\ e da qui porsi in due con cd\uno\due Un dir indichera mio.txt

31 fondamenti di informatica 1 parte 2 D.U.31 La struttura gerarchica del disco zappare anche nella rappresentazione grafica di Windows che usa finestre collegabili tra loro anche gerarchicamente. zIn ogni finestra i direttori appaiono come cartelle di un certo colore ed i file come icone di forme e colori diversi secondo la loro funzione. Per es. i testi scritti col Word processor sono rappresentati con icone contenenti una W; i programmi in C++ con il simbolo di Windows; e cosi via.

32 fondamenti di informatica 1 parte 2 D.U.32 Con Windows znella situazione precedente del disco C: basta porsi con la freccia del mouse e fare clik su Risorse Computer: compare una finestra con immagini del floppy A: del disco C: del video … Si pone la freccia del mouse sul disco C: Con un clik si apre il disco e appare una finestra con la cartella uno dell esempio. Basta porsi con la freccia del mouse e fare clik sulla cartella uno: appare un altra finestra con la cartella due. Facendo clik su questa si apre un altra finestra con l icona del file mio.txt

33 fondamenti di informatica 1 parte 2 D.U.33 … e poi ? Oltre al comando type ? zPer visualizzare e/o cambiare il file mio.txt zsia che ci si trovi in DOS che in Windows basta attivare un programma che ne permetta la visualizzazione e modifica per es. un editor. zIn DOS basta digitare edit e seguire le sue indicazioni; zin Windows basta fare clik col mouse sul file o sull icona di un editor e alla sua apertura seguire le sue indicazioni.

34 fondamenti di informatica 1 parte 2 D.U.34 Uso di dischi floppy (dischetti) in ambiente DOS zInizialmente il floppy e vergine. In DOS col comando FORMAT A: si ottiene di formattare il dischetto inserito nell unita A: (drive) zLa formattazione e un operazione che fa PERDERE ogni eventuale informazione preesistente. Per un floppy si distingue in: zformattazione FISICA che divide il dischetto in tracce e settori di 512 bytes ciascuno; zformattazione LOGICA che crea un area del dischetto riservata al DOS.

35 fondamenti di informatica 1 parte 2 D.U.35 L area riservata ze suddivisa in 3 parti a partire da traccia e settore 0: zBOOT -> contiene il bootstrap (avviamento di DOS); zFAT -> File Allocation Table (Tabella di z disposizione dei file sui settori e z tracce del dischetto. E il raccordo z tra contenitore e contenuto ossia z settori e file: quali settori sono z pertinenti ad un dato file ? zDIRETTORIO-> catalogo dei file e direttori

36 fondamenti di informatica 1 parte 2 D.U.36 Situazione attuale dei floppy zLa forma oggi piu diffusa e quella di 3 e 1/2 pollici (diametro); zla densita di registrazione e generalmente alta (H.D.= High Density indicata da un forellino in alto a sinistra) e le registrazioni possono essere realizzate sulle due facce (D.S. = Double Side); zun altro forellino in alto a destra indica invece che il dischetto e protetto da operazioni di registrazioni indesiderate: se il foro e chiuso da una tacca movibile il floppy e registrabile.

37 fondamenti di informatica 1 parte 2 D.U.37 e il disco rigido = hard disk = disco fisso …? zLa formattazione FISICA e realizzata dal costruttore, mentre il comando FORMAT puo effettuarne la formattazione LOGICA con conseguente PERDITA di ogni eventuale informazione preesistente. MAI FARLO SENZA PENSARCI ALMENO 3 VOLTE !!! zIl tempo richiesto per accedere ad un informazione del Disco Rigido e 30ms (millisecondi); per il floppy volte di piu.

38 fondamenti di informatica 1 parte 2 D.U.38 e i dischi ottici ? i C.D.? zSono depositi di informazioni piu lenti, ma con capacita molto elevata ( 5Gbyte ed oltre); zesistono di vario tipo e necessitano di un lettore apposito (con raggio laser a bassa energia); zi piu comuni vengono registrati =masterizzati una sola volta usando uno strumento dotato di raggio laser ad alta energia: diventano cosi memorie di massa aggiuntive, ma di tipo ROM; zI file su ogni C.D. sono presentati all utente organizzati ad albero come accade per gli altri dischi.

39 fondamenti di informatica 1 parte 2 D.U.39 Creazione di file di tipo testo zUtilizzo di Editor = programma appartenente al Software di base per comporre testi (EDITING = operazioni di scrittura, visualizzazione, cancellazione, modifica …) zeditor attuali: a finestra; ogni ambiente di sviluppo programmi (+oltre) e/o il S.O. ha un suo editor che permette di comporre testi (vedi Editor-DOS). RICORDARE: piu potente dell editor e il Word-processor = applicativo (gia visto) che permette tutte le operazioni tipografiche.

40 fondamenti di informatica 1 parte 2 D.U.40 File (e programmi) batch zCon l editor si possono per esempio scrivere i file con estensione bat abbreviazione di batch=> successione di COMANDI per DOS => programma …. zI COMANDI sono eseguiti uno dopo l altro a partire dal primo. Tra i comandi DOS tre sono specifici di questi file batch: REM per porre commenti, PAUSE per sospendere il programma fino alla pressione di un tasto, ECHO per visualizzare messaggi.

41 fondamenti di informatica 1 parte 2 D.U.41 AUTOEXEC.BAT ze un tipico esempio di programma batch; ze il file che DOS dopo il suo caricamento in C.M. (zona convenzionale di RAM) va a cercare sul disco attivo (per es. il C:). Appena trovato, AUTOEXEC.BAT e eseguito immediatamente, un comando dopo l altro e produce tutte le inizializzazioni e personalizzazioni che i suoi comandi prevedono. Quindi il DOS si pone in attesa di comandi da tastiera. Esaminare il proprio AUTOEXEC.BAT... come ? Con editor

42 fondamenti di informatica 1 parte 2 D.U.42 Parametri per programmi batch (es. cp.bat) zUsando l editor (edit) c e la possibilita di scrivere programmi batch di tipo parametrico con simboli sostituibili. zEs. sia da copiare il file uno.c in uno.cpp; il file sette.c in sette.cpp; etc. Si puo scrivere un progr. batch di copia cosi fatto: copy %1 %2 e porlo nel file cp.bat Poi per eseguirlo occorre attivare il programma batch di copia una volta dando: cp uno.c uno.cpp (uno.c sostituisce %1, uno.cpp sostituisce %2); un altra volta dando: cp sette.c sette.cpp (sette.c sostituisce %1 etc.

43 fondamenti di informatica 1 parte 2 D.U.43 Costruzione di un programma in C, o in Fortran, o in Pascal zCon leditor si puo creare sul momento qualunque sequenza di caratteri, anche un file batch …. quindi anche un programma vero e proprio in un linguaggio di programmazione come il C ?? zRisposta negativa: prima occorre avere il suo PROGETTO CONCETTUALE, poi il suo PROGETTO LOGICO e solo dopo si puo scrivere il PROGRAMMA ORIGINE o source program.

44 fondamenti di informatica 1 parte 2 D.U.44 Fasi di costruzione di ogni prodotto software zPROGETTO CONCETTUALE: qui si devono definire gli obiettivi, con quale algoritmo si vogliono raggiungere, le motivazioni. Ossia COSA, COME, PERCHE. zPROGETTO LOGICO: la sua bozza con l algoritmo risolutivo. zPROGRAMMA ORIGINE (source program) scritto nel linguaggio artificiale scelto per es. in C.

45 fondamenti di informatica 1 parte 2 D.U.45 Quale linguaggio artificiale ? zDi linguaggi artificiali ce ne sono migliaia: la scelta va a quello che appare piu vicino ai problemi da risolvere. zPer problemi scientifico-tecnici e adatto il FORTRAN (da FORmulas TRANslator); zper privilegiare l aspetto didattico si usa il Pascal (dal nome del filosofo Blaise Pascal); zgeneral purpose e il linguaggio C (il S.O. Unix e stato scritto in C); zil C++ e una versione del C orientata agli oggetti paradigma di programmazione in voga attualmente. Il C++ nasce nel 1980.

46 fondamenti di informatica 1 parte 2 D.U.46 Programma: tipiche funzioni svolte zLettura dati (input); zElaborazione dei dati (sequenziale, ciclica, condizionale) e costruzione dei risultati; zVisualizzazione risultati (output). z… e senza la visualizzazione ?!? ASSurdita: i risultati resterebbero ignoti ! zLe tipiche funzioni svolte possono essere realizzate in parti (moduli) a se stanti.

47 fondamenti di informatica 1 parte 2 D.U.47 Ma i dati ? zLa funzione che li legge deve poterli memorizzare: per questo il programma deve prenotare posizioni di C.M. zLo fa usando costrutti ed entita del linguaggio dette variabili semplici o composte come vettori e matrici, (come in matematica), piu in generale strutture di dati, per identificare, contenere e trasferire le informazioni lette. Le stesse entita potranno servire per la loro elaborazione e quindi la loro visualizzazione.

48 fondamenti di informatica 1 parte 2 D.U.48 Processo di traduzione zUna volta scritto il source program nel linguaggio artificiale scelto (per es. il C) occorre: registrarlo in un file (per es. uno.c), e attivare il traduttore che fa la traduzione da C a linguaggio della macchina (di cui alcuni esempi sono in parte 5). I traduttori si distinguono in: zINTERPRETI, COMPILATORI, ASSEMBLATORI, ztutti programmi di utilita del Software di base.

49 fondamenti di informatica 1 parte 2 D.U.49 Tipi di Traduttori zInterprete: tipico e quello della shell di ogni S.O. che interpreta e manda in esecuzione i comandi al S.O. digitati dall utente: non produce alcuna traduzione permanente in linguaggio della macchina. zEs. in DOS: Dir A: z Type miofile.txt zDir e Type: interpretati e subito eseguiti

50 fondamenti di informatica 1 parte 2 D.U.50 Software di base: zEditor, Interpreti, compilatori, assemblatori, linker... zCompilatore: interpreta e traduce nel linguaggio macchina le frasi di un linguaggio artificiale ad alto livello che compongono un programma: produce un file binario che e l equivalente del programma origine (source), ma nel linguaggio di E.E. zAssemblatore: analogo al Compilatore, ma il linguaggio artificiale e elementare, con struttura simile al linguaggio della macchina. zLa funzione del linker appare qui di seguito.

51 fondamenti di informatica 1 parte 2 D.U.51 Fasi del processo traduzione- esecuzione zDopo la stesura con lEditor del SourceProgram, z1) si attiva il compilatore (fase di compilazione) che traduce il Source Program nel Programma Oggetto e lo pone in un file con estensione.obj che e in linguaggio della macchina ma non ancora eseguibile (per es. non ha le librerie di lettura_dati/scrittura tipiche del linguaggio); z2) Il Linker completa il processo di traduzione effettuando il collegamento tra i moduli o componenti (fase di linkaggio): effettua,per es., il collegamento con le librerie tipiche del linguaggio e produce un programma eseguibile (con estensione.exe). z3) Dopo questo si passa alla fase di esecuzione.

52 fondamenti di informatica 1 parte 2 D.U.52 Ambiente amichevole zI compilatori attuali (sia del linguaggio C, C++, che del Fortran) forniscono un ambiente User Friendly dotato di Editor, compilatore, loader ossia un caricatore, linker, interfaccia amichevole: cio rende automatiche le 3 fasi : vedere esempi in C e in C++. zSi e tentati di scrivere direttamente il Source Program … zma e una strategia perdente !

53 fondamenti di informatica 1 parte 2 D.U.53 Strategia corretta zIl RISCHIO e di essere tanto coinvolti dalle regole linguistiche (sintattiche e grammaticali) da dimenticare gli obiettivi desiderati. zPRIMA di usare il linguaggio si deve prepararne il PROGETTO. z…. COME ??

54 fondamenti di informatica 1 parte 2 D.U.54 Il progetto ed il suo linguaggio: possibilita zIl progetto deve contenere cio che si vuole ottenere (gli obiettivi) e come fare ad ottenerlo. Per esprimerlo le alternative sono: za) si puo usare un linguaggio simile a quello parlato (PSEUDO-CODICE), ma piu sintetico; zb) si puo usare un linguaggio grafico producendo uno schema a blocchi (diagramma di flusso, flow-chart) delle operazioni che devono essere eseguite. zSegue esempio.

55 55 Esempio progettino per visualizzare l ASCII code za) Si vuole ottenere il valore numerico Num (ASCII code) di un carattere CAR della tastiera diverso da 0; se 0 Stop. zb) Legenda: I=Inizio; S=Stop; T=True; F=False. CAR=0? S I CAR F T Num=(int)CAR Num

56 fondamenti di informatica 1 parte 2 D.U.56 I diagrammi di flusso zusano simboli semplici: il rettangolo e z tipico dell elaborazione; il rombo di z decisioni; il parallelogramma, z di letture; loutput e il seguente: z altri simboli sono: cerchi, frecce...

57 fondamenti di informatica 1 parte 2 D.U.57 Dal Progetto al Programma zCome scrivere questo programma in C oC++ ? (Il Source Program ottenuto e leggipri.cpp in program1, ma prima di esaminarlo ecco qualche idea.) zOgni prg. in C ed in C++ e composto da funzioni scritte consecutivamente ; o gni funzione C e C++ ha la forma seguente dove i simboli racchiudono frasi esplicative e non appartengono al C o al C++. z z{z{ z }z }

58 fondamenti di informatica 1 parte 2 D.U.58 Il main zTra le funzioni C e C++ esiste la funzione principe: il main che rappresenta il programma principale punto di innesco di ogni programma C e C++. zCome ogni funzione matematica ha un nome ed argomenti racchiusi tra parentesi tonde (es. log(x)) cosi ogni funzione C, C++ ha un nome: se gli argomenti mancano le parentesi restano: es. main() zIl corpo del main deve contenere l attivazione di tutte quelle funzioni che portano a raggiungere gli obiettivi posti nel progetto: i risultati desiderati. zIl corpo di ogni funzione contiene il proprio ambiente...

59 fondamenti di informatica 1 parte 2 D.U.59 Corpo delle Funzioni zPiu in dettaglio: il corpo di ogni funzione C ha frasi dichiarative ed esecutive, queste ultime col significato di istruzioni, comandi. Se dichiarazioni e comandi mancano il corpo e vuoto. zIl minimo programma C e: zmain() z{ z}

60 fondamenti di informatica 1 parte 2 D.U.60 In C++ zil minimo programma e: zmain() z{ z return (0); z} zIl corpo e composto dalla sola frase return che restituisce il controllo al S.O. con lo zero tra parentesi come segnale di fine corretta.

61 fondamenti di informatica 1 parte 2 D.U.61 Commenti (vedere commenti.c) zPer documentare un programma sono necessari commenti che o sono racchiusi tra /* */ o preceduti da // (solo col compilatore C++) zEs. main() z /*questo C_program scritto da …in data...*/ z /* su un IBM_compatibile con MS-DOS */ z /* non fa niente !*/ z { z }

62 fondamenti di informatica 1 parte 2 D.U.62 Corpo zLe frasi costituenti il corpo di ogni funzione possono essere raggruppate per costituire istruzioni composte. Ogni istruzione composta e racchiusa in parentesi graffe e costituisce un BLOCCO: vederne un esempio in leggipri.c (file contenente il source ottenuto dal progettino) e poi altri sempre in E:/carmin/duinf2000/program1. Altri prg. elementari da vedere subito, con le indicazioni date di seguito, sono: commenti.c, comment1.c hellow.c, hello.c …

63 fondamenti di informatica 1 parte 2 D.U.63 C e C++ zCome gia detto in questo corso sara usato il C++ che e compatibile con il C in basso (ossia per gli aspetti elementari). I concetti fondamentali della Programmazione ad Oggetti che caratterizzano il C++ (ed altri linguaggi come il linguaggio JAVA) possono essere introdotti successivamente. Il motivo di cio sta nel fatto che l Oggetto puo essere considerato come una generalizzaione di strutture e sottoprogrammi (cfr. parte 3,4,5).

64 fondamenti di informatica 1 parte 2 D.U.64 tc: compilatore del C++ zCon username & password personali, dalla shell del DOS, porsi in H: e attivare S:\tc\bin\tc zSi apre la finestra del compilatore tc di C++. zPiu precisamente la finestra apre un ambiente di sviluppo, nel senso che oltre al compilatore del linguaggio ci sono altri strumenti come per esempio l editor. Per utilizzarli occorre usare il menu in alto che mostra alcune parole, tra cui Option, File, Edit, Compile e Run.

65 fondamenti di informatica 1 parte 2 D.U.65 Sul menu in alto zper prima cosa porsi col mouse sotto Options, e sul menu che si apre fare clik su Directories. Si apre una finestra con le specifiche di compilazione: col mouse controllare che: zsotto Include ci sia S:\tc\Include zsotto Library ci sia S:\tc\Lib zsotto Output ci sia C:\temp o H: zSe tali sono le specifiche poste, non cambiarle !

66 fondamenti di informatica 1 parte 2 D.U.66 Ancora : zper lavorare meglio si puo creare un direttorio in H: chiamandolo SOURCE ove copiare i propri file dal floppy personale con i programmi origine da compilare. Per farlo occorre dare in H: zmd SOURCE e copiarci i programmi origine da compilare (che pero a lavoro concluso devono essere eliminati per non occupare troppo spazio su H:) zFatto cio nelle specifiche di compilazione si porra sotto Source H:\SOURCE

67 fondamenti di informatica 1 parte 2 D.U.67 L ambiente di sviluppo zSi utilizza ponendo il mouse su: zFile per aprire/chiudere un file contenente un programma origine gia registrato; zEdit per fare le operaz. di editing sul file aperto; zCompile per compilare il prg. origine dal file aperto ed eventualmente linkarlo con le librerie richieste ottenendo il prg. eseguibile; zRun per fare eseguire il prg. eseguibile.

68 fondamenti di informatica 1 parte 2 D.U.68 Leggipri.cpp zAprire il programma da E:/carmin/duinf2000/program1, esaminarlo con leditor, farlo compilare (Compile) e girare (Run): questo comando provvedera prioritariamente (se non e stato gia fatto) al linkaggio del programma oggetto con le librerie usate (per es. di I/O ), producendo il programma eseguibile di nome leggipri.exe. zPer eseguire +volte leggipri.exe si puo usare +volte Run o passare alla Shell del Dos (dalla finestra di File) e digitare leggipri +volte...

69 fondamenti di informatica 1 parte 2 D.U.69 Iterazione zQuesta ripetizione si e resa automatica con un programma che la realizza, di nome ripeleg. Ma quale sara il progetto di ripeleg.c ? zMandando in esecuzione ripeleg.exe si nota la ripetizione (=iterazione): per realizzare questo tipo di procedimento occorre tornare a rifare le operazioni gia fatte la prima volta fino a quando e necessario; zper ripeleg occorre ripetere la lettura di CAR, la sua conversione in Num e la visualizzazione di entrambi fino a quando si introduce lo zero … ossia...

70 fondamenti di informatica 1 parte 2 D.U.70 b) Legenda: I=Inizio; S=Stop; T=True; F=False. z CAR=0? CAR F Num=(int)CAR Num Ripeti=TRUE Ripeti Ripeti = FALSE I T S F T

71 fondamenti di informatica 1 parte 2 D.U.71 Visualizzazioni zAll interno dei prgogrammi leggipri.c e ripeleg.c e usata la frase di scrittura/visualizzazione printf. zE l attivazione della funzione C per la scrittura/visualizzazione resa disponibile includendo l header file che contiene i prototipi delle funzioni di libreria tipiche del linguaggio C per l Input/Output. z…e in C++ ?

72 fondamenti di informatica 1 parte 2 D.U.72 Esempio in C++: Ciao.cpp zIn C++ lo stesso risultato si ottiene: zcon luso delle istruzioni di I/O del C++ ossia per la visualizzazione ( qui di una stringa di caratteri ) zcout << Buonasera ; ze includendo l header file della libreria di I/O tipica di C++: vedere ciao.cpp zNOTA: l uso di ogni libreria e reso possibile con la frase #include seguita dal nome del file con le definizioni che il compilatore deve conoscere perche la libreria sia utilizzabile.

73 fondamenti di informatica 1 parte 2 D.U.73 Precompilatore zLe frasi come #include che iniziano col simbolo # a colonna 1, non appartengono al linguaggio C ne al C++: esse sono direttive per il precompilatore o prepocessore ossia un programma che fa parte dei sistemi C e C++ e viene attivato automaticamente prima della compilazione. z PERCHE ?

74 fondamenti di informatica 1 parte 2 D.U.74 Caratteristica base di C e C++ ze la velocita di compilazione: per questo i 2 compilatori devono essere brevi; per questo il precompilatore li esenta da compiti pesanti come: zdefinizione di costanti: #define tre 3 zinclusione di testo sorgente che si trova nel file chiamato mio.h (h sta per header): #include zaltro

75 fondamenti di informatica 1 parte 2 D.U.75 Velocita zProprio per rendere il compilatore piu veloce il C non ha funzioni prefabbricate al suo interno, ma ha librerie, biblioteche di funzioni gia in binario che stanno in S:\tc\Lib. Si tratta di tanti tipi di funzioni: matematiche, grafiche, di I/O … E compito del programmatore indicare al precompilatore quali librerie intende usare. A ogni tipo di libreria e associato un file header contenente tutte le definizioni che il compilatore deve conoscere per rendere usabile la libreria stessa.

76 fondamenti di informatica 1 parte 2 D.U.76 Uno dei compiti del precompilatore ze quello di inserire i file indicati con #include all interno del source program prima della compilazione: cosi il compilatore riconosce le funzioni usate all interno del source program (per es. printf) perche trova il loro prototipo incluso precedentemente col file header e le collega al loro codice in binario che sta in S:\tc\Lib. (Questo tipo di meccanismo si puo anche usare per concatenare librerie scritte eventualmente dall utente e poste in altri file.)

77 fondamenti di informatica 1 parte 2 D.U.77 #include oppure: z#include nomefile.h ? zLa prima, se nomefile.h sta nel direttorio del sistema C o C++; la seconda, se nomefile.h sta altrove. zL estensione.h indica che si tratta di un file header che puo contenere, per esempio, i prototipi delle funzioni della libreria usata.

78 fondamenti di informatica 1 parte 2 D.U.78 I file: stdio.h iostream.h zpiu in dettaglio, cosa contengono ? Esaminarli ! Controllare il direttorio: zS:\tc\Include zIn questo direttorio c e stdio.h dove sta il prototipo di printf ze li si trova anche iostream.h dove sta cout

79 fondamenti di informatica 1 parte 2 D.U.79 Flussi (stream) zIl C++ ha un proprio sistema di I/O che usa il concetto (tipico del S.O. Unix) di flusso di informazioni (stream) ossia sequenza continua di byte. Ogni flusso puo essere connesso a una unita di I/O: i flussi di Output saranno collegati al video o alla stampante, di Input alla tastiera. zPer usare il sistema di I/O del C++ occorre includere il file dove sono dichiarate le funzioni e gli operatori usabili per gestire operazioni di I/O e flussi di informazioni.

80 fondamenti di informatica 1 parte 2 D.U.80 cin, cout, cerr. zNel file sono definite le operazioni di I/O e sono aperti i seguenti flussi delle informazioni: zingresso standard connesso alla tastiera: cin zuscita standard connesso al video: cout zuscita di errori conn. al video: cerr

81 fondamenti di informatica 1 parte 2 D.U.81 Operatori (funzioni) > zL operatore << invia le informazioni indicate alla sua destra sul flusso standard di output (cout) posto alla sua sinistra dopo averle convertite dal binario alla forma testuale; volendo inserire anche il carattere di fine riga si puo porre dopo un ulteriore << endl ; (end of line) zL operatore >> estrae le informazioni indicate alla sua destra dal flusso di entrata cin (digitate sulla tastiera) e le converte dalla forma testuale in binario.

82 fondamenti di informatica 1 parte 2 D.U.82 Informazioni, quali ? Come ? zPer usare e trasferire le informazioni (per es. in C.M.) occorre un formalismo. Tutti i linguaggi di programmazione (Pascal, C, C++, Fortran …) usano le variabili come veicolo di transito e di identificazione delle informazioni = dati. zLe variabili hanno un nome ed un tipo cosi come i dati identificati sono di un cero tipo: interi, caratteri...

83 fondamenti di informatica 1 parte 2 D.U.83 Esempi d uso gia intravisti nei programmi... zCosi scrivendo una tipica frase di Input in C++ zcin >> a >> b >> c; zsi indicano con a b c i nomi delle variabili che (in fase di esecuzione) acquisiranno i valori inseriti in ingresso ( digitati nella tastiera dall utente e intervallati tra loro da almeno 1 spazio bianco ). zPer le visualizzazioni si possono usare ancora i nomi delle variabili e/o loro combinazioni (espressioni algebra), e costanti e funzioni e... zcout << la somma a+b = << a+b <

84 fondamenti di informatica 1 parte 2 D.U.84 Esempi e considerazioni zConfrontare i programmi in C ed in C++ in E:/carmin/duinf2000/program1 di nome zcommenti zhello hellw ciao zunostamp duestamp zleggipri zripeleg zSi notera che il cout >

85 85 printf e scanf zAnaloga alla printf e la scanf che si usa in C per leggere valori da assegnare alle variabili; zentrambe richiedono specifiche di controllo del formato in cui si desiderano i valori da visualizzare o da leggere; zle specifiche di controllo piu usate sono: z%d per leggere/visualizzare interi in base 10; z%f valori float in base 10; z%c - %s per legg./visual. Caratteri - Stringhe di car. zInoltre alla scanf le variabili devono essere passate per indirizzo (cfr. parte 3) per es. premettendo al nome della var. da leggere l operatore &

86 fondamenti di informatica 1 parte 2 D.U.86 Assegnazione semplice zLe frasi di I/O servono per assegnare alle variabili i valori immessi per es. da tastiera. zIl costrutto linguistico base usato allo scopo di assegnare a variabili valori, per es. calcolati, e la frase tipica di assegnazione, per esempio: zz = b ; Significato: il valore di b e trasferito alla zona di memoria identificata dalla variabile di nome z; in breve: il valore di b e assegnato a z zNOTA: b puo essere… tutto da una costante ad un espressione complicata…. cfr. avanti !

87 fondamenti di informatica 1 parte 2 D.U.87 Assegnazione multipla zOltre l assegnazione semplice c e in C e C++ quella multipla che (con variabili intere) e del tipo seguente: za = r = b = pippo = lei111 = 3; ze viene cosi interpretata ed eseguita: z(a = (r =(b=(pippo=(lei111=3))))) zossia 3 e assegnato a lei111, quindi a pippo, poi a b, quindi a r e infine ad a: valutazione da destra a sinistra o iniziando dalla parentesi piu internamente annidata.

88 fondamenti di informatica 1 parte 2 D.U.88 Remember ed esercizi zogni frase del corpo di una funzione C o C++ termina con un punto e virgola; znelle espressioni si possono usare parentesi tonde anche annidate, un po come nella assegnazione multipla dell esempio precedente. zCon tutto questo in mente scrivere: zun source_prg. C++ che presenti un menu di cibi; un altro che presenti un menu di comandi DOS con sintetica spiegazione; un altro che legga 3 numeri di 2 cifre dec. ciascuno e ne faccia il prodotto la somma, la diff. e visualizzi tutto ….


Scaricare ppt "Fondamenti di informatica 1 parte 2 D.U.1 fondamenti di informatica parte 2 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,"

Presentazioni simili


Annunci Google