-128 in complemento a 2 su 8 bit , in complemento a 2 su 8 bit non possibile in binario puro su 8 bit non possibile
|
|
- Leopoldo Rizzo
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Udine Architettura dei calcolatori / Fondamenti di Informatica II (prof. Montessoro) 22 gennaio 2018 Prova scritta per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici e precedenti DURATA DELLA PROVA: 2 ORE Matricola Nome Cognome ISTRUZIONI (da leggere attentamente) 1) Lo studente è tenuto a scrivere, correggere, compilare ed eseguire su computer (a casa o in laboratorio) gli esercizi di programmazione prima della prova orale. Alla prova orale lo studente deve portare una memory pen USB contenente i sorgenti dei programmi corretti e le stampe dei relativi file. 2) Non è consentito l uso di libri, appunti, calcolatrici, telefoni cellulari. 3) Rispondere sinteticamente negli spazi di fianco o seguenti le domande, oppure sul retro del foglio. 1. (3 punti) Eseguire le seguenti conversioni (scrivendo il risultato sia in binario che in esadecimale), indicando eventualmente se non sono possibili in complemento a 2 su 8 bit , in complemento a 2 su 8 bit non possibile -128 in binario puro su 8 bit non possibile -255 in binario puro su 8 bit non possibile -1 in complemento a 2 su 64 bit , FFFFFFFFFFFFFFFF 2. (2 punti) Indicare le associazioni ritenute corrette codici polinomiali [ ] compressione [ ] controllo errori [ ] correzione errori singolo bit di parità [ ] compressione [ ] controllo errori [ ] correzione errori RLE [ ] compressione [ ] controllo errori [ ] correzione errori LZW [ ] compressione [ ] controllo errori [ ] correzione errori codici polinomiali [ ] compressione [X] controllo errori [ ] correzione errori singolo bit di parità [ ] compressione [X] controllo errori [ ] correzione errori RLE [X] compressione [ ] controllo errori [ ] correzione errori LZW [X] compressione [ ] controllo errori [ ] correzione errori
2 Si consideri la libreria in linguaggio C per manipolare file bitmap vista a lezione, così definita: typedef unsigned char byte; typedef unsigned short int word; typedef unsigned long int dword; #define BMPFILETYPE 0x4D42 typedef struct tagcolortriple byte blue; byte green; byte red; COLORTRIPLE; typedef struct tagfileheader word ImageFileType; dword FileSize; word Reserved1; word Reserved2; dword ImageDataOffset; FILEHEADER; typedef struct tagbmpheader dword HeaderSize; dword ImageWidth; dword ImageHeight; word NumberOfImagePlanes; word BitsPerPixel; dword CompressionMethod; dword SizeOfBitmap; dword HorizonalResolution; dword VerticalResolution; dword NumberOfColorsUsed; dword NumberOfSignificantColors; BMPHEADER; typedef struct tagbitmap dword width; dword height; COLORTRIPLE *pixel; FILEHEADER fileheader; BMPHEADER bmpheader; BITMAP; #define PIXEL(image, row, column) \ image.pixel [(row( * image.width + (column)] BITMAP ReadBitmap (FILE *fp); void WriteBitmap (BITMAP bitmap, FILE *fp); BITMAP CreateEmptyBitmap (dword height, dword width); void ReleaseBitmapData (BITMAP *bitmap); 3. (12 punti) Nei montaggi video, l effetto di transizione tra due immagini detto tendina orizzontale ( wipe, in inglese) consiste in una linea verticale che si sposta dall'estremità sinistra a quella destra dello schermo rivelando la nuova immagine. Si scriva un programma che generi i fotogrammi intermedi di una tale transizione. Il programma deve ricevere sulla riga di comando, nell ordine, i seguenti parametri: nome del file contenente la prima immagine nome del file contenente la seconda immagine (di dimensioni identiche alla prima) numero N di fotogrammi da generare Il programma deve generare N+1 file bitmap di uscita, di nome wipe_0.bmp, wipe_1.bmp, wipe_2.bmp,... wipe_n.bmp (dove N sarà il numero inserito sulla riga di comando), contenenti ciascuno una delle immagini intermedie. Poiché la transizione risulta divisa in N intervalli, ad ogni passo la porzione visibile della prima immagine diminuirà di 1/N e quella visibile della seconda aumenterà di 1/N. Il primo file generato (crossfade_0.bmp) conterrà la transizione con pesi 100%:0%, e sarà quindi uguale alla prima immagine, mentre l ultimo file generato conterrà la transizione con pesi 0%:100%, e sarà quindi uguale alla seconda immagine. La figura riporta un esempio di transizione con N = 3. wipe_0.bmp wipe_1.bmp wipe_2.bmp wipe_3.bmp Suggerimenti: si usi la funzione sprintf per generare i nomi dei file di uscita; si scriva una generica funzione che componga due immagini in parti proporzionali ad un valore passato come argomento.
3 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "bmp.h" #define OUT_FILE_BASE_NAME "wipe_" #define OUT_FILE_EXT ".bmp" void wipe_mix (BITMAP img1, BITMAP img2, BITMAP imgout, double p); int main (int argc, char *argv[]) FILE *fp1, *fp2, *fpout; char filename[64]; int n, i; BITMAP img1, img2, imgout; if (argc!= 4) printf ("ARGOMENTI: <file in1> <file in2> <N>\n"); if ((fp1 = fopen (argv[1], "rb")) == NULL) printf ("Error opening input file 1\n"); if ((fp2 = fopen (argv[2], "rb")) == NULL) printf ("Error opening input file 2\n"); n = atoi (argv[3]); img1 = ReadBitmap (fp1); fclose (fp1); img2 = ReadBitmap (fp2); fclose (fp2); if (img1.height!= img2.height img1.width!= img2.width) printf ("Images have different sizes\n"); imgout = CreateEmptyBitmap (img1.height, img1.width); for (i = 0; i <= n; i++) sprintf (filename, "%s%d%s", OUT_FILE_BASE_NAME, i, OUT_FILE_EXT); if ((fpout = fopen (filename, "wb")) == NULL) printf ("Error opening output file %s\n", filename); wipe_mix (img1, img2, imgout, i / (double) n); WriteBitmap (imgout, fpout); fclose (fpout); ReleaseBitmapData (&img1); ReleaseBitmapData (&img2); ReleaseBitmapData (&imgout); return EXIT_SUCCESS;
4 void wipe_mix (BITMAP img1, BITMAP img2, BITMAP imgout, double p) int r, c, threshold; threshold = p * imgout.width; for (r = 0; r < imgout.height; r++) for (c = 0; c < imgout.width; c++) if (c < threshold) PIXEL (imgout, r, c) = PIXEL (img1, r, c); else PIXEL (imgout, r, c) = PIXEL (img2, r, c); return; Un elaboratore (il modello didattico SimCPU visto a lezione) dispone di CPU (a 16 bit) con 16 registri di uso generale (R0, R1,..., R15) più il Program Counter, l Instruction Register, lo Stack Pointer e 4 flag Z (zero), N (negative), C (carry) e V (overflow). Si ricorda che il linguaggio assembler di tale elaboratore dispone delle seguenti istruzioni: assembly inst. name machine code action assembly inst. name machine code action LDWI d X load word dddd0000 DATA(16) d <- X LDWA d A load word dddd0000 ADDR(16) d <- mem[a] LDWR d a load word ddddaaaa d <- mem[a] LDBI d X load byte dddd0000 DATA(8) d <- X LDBA d A load byte dddd0000 ADDR(16) d <- mem[a] LDBR d a load byte ddddaaaa d <- mem[a] STWA s A store word ssss0000 ADDR(16) mem[a] <- s STWR s a store word ssssaaaa mem[a] <- s STBA s A store byte ssss0000 ADDR(16) mem[a] <- s STBR s a store byte ssssaaaa mem[a] <- s MV s d move ssssdddd d <- s PUSH s push ssss0000 push (s) POP d pop dddd0000 d <- pop () SPRD d read SP ssss0000 d <- SP SPWR s write SP ssss0000 SP <- s ADD s d add ssssdddd d <- d + s SUB s d subtract ssssdddd d <- d - s NOT r bitwise NOT rrrr0000 r <- ~r AND s d bitwise AND ssssdddd d <- d & s OR s d bitwise OR ssssdddd d <- d s XOR s d bitwise XOR ssssdddd d <- d ^ s INC r increment rrrr0000 r <- r + 1 DEC r decrement rrrr0000 r <- r + 1 LSH r left shift rrrr0000 r <- r << 1 RSH r right shift rrrr0000 r <- r >> 1 INW d A input word dddd0000 IN_ADDR(16) d <- read[a] INB d A input byte dddd0000 IN_ADDR(16) d <- read[a] OUTW s A out word ssss0000 OUT_ADDR(16) out[a] <- s OUTB s A out byte ssss0000 OUT_ADDR(16) out[a] <- s TSTI A test input IN_ADDR(16) if completed then Z <- 1 else Z <- 0 TSTO A test output OUT_ADDR(16) if completed then Z <- 1 else Z <- 0 BR A branch ADDR(16) PC <- A JMP F jump FFFFFFFF PC <- PC + F JMPZ F jump if zero FFFFFFFF if (z == 1) PC <- PC + F JMPNZ F jump if not zero FFFFFFFF if (z == 0) PC <- PC + F JMPN F jump if negative FFFFFFFF if (N == 1) PC <- PC + F JMPNN F jump if not neg FFFFFFFF if (N == 0) PC <- PC + F JMPC F jump if carry FFFFFFFF if (C == 1) PC <- PC + F JMPV F jump if overflow FFFFFFFF if (V == 1) PC <- PC + F CALL A subroutine call ADDR(16) push (PC); PC <- A RET return from sub PC <- pop() HLT halt halt LEGENDA: - lettere minuscole = registri; lettere maiuscole = dati numerici - r = registro letto e modificato - s = registro soltanto letto - d = registro modificato - a = registro il cui contenuto è usato come indirizzo - FFFFFFFF = offset (in complemento a 2) 4. (4 punti) Facendo uso delle indicazioni presenti nei commenti, si completi il seguente programma in linguaggio assembly, che scambia il contenuto delle variabili X e Y X: word 0AAAA Y: word 0BBBB START: ; R1 <- valore della variabile X ; R2 <- valore della variabile Y ; variabile X <- valore di R2 ; variabile Y <- valore di R1 HLT X: word 0AAAA Y: word 0BBBB START: LDWA R1 X ; R1 <- valore della variabile X LDWA R2 Y ; R2 <- valore della variabile Y STWA R2 X ; variabile X <- valore di R2 STWA R1 Y ; variabile Y <- valore di R1 HLT
5 5. (4 punti) Si traduca in linguaggio macchina il programma dell esercizio precedente, assumendo che sia allocato in memoria a partire dall indirizzo AA X: word 0AAAA AA BB Y: word 0BBBB BB 10 START: LDWA R1 X ; R1 <- valore della variabile X LDWA R2 Y ; R2 <- valore della variabile Y STWA R2 X ; variabile X <- valore di R STWA R1 Y ; variabile Y <- valore di R HLT CF 6. (2 punti) Quali di queste informazioni sono contentue nella page table? [ ] pagina accessibile solo in lettura [ ] pagina presente/non presente in memoria centrale/nel page file [ ] indirizzo della pagina in memoria centrale o nel page file [ ] indirizzo della segment table [ ] indirizzo del primo segmento della pagina [ ] indirizzo della linea in memoria centrale [ ] indirizzo della linea in memoria cache [ X] pagina accessibile solo in lettura [ X] pagina presente/non presente in memoria centrale/nel page file [ X] indirizzo della pagina in memoria centrale o nel page file [ ] indirizzo della segment table [ ] indirizzo del primo segmento della pagina [ ] indirizzo della linea in memoria centrale [ ] indirizzo della linea in memoria cache 7. (3 punti) Si descriva brevemente il funzionamento di un sistema operativo time-sharing (per la soluzione si vedano il libro di testo, gli appunti e i lucidi delle lezioni)
Matricola Nome Cognome
Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica e Ingegneria Gestionale Architettura dei calcolatori (ex Fondamenti di Informatica II) 6 giugno 27 - Prova scritta Matricola Nome
-128 in modulo e segno su 8 bit non possibile in complemento a 2 su 8 bit , in binario puro su 8 bit non possibile
Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori / Fondamenti di Informatica II 22 febbraio 2012 - Prova scritta Matricola Nome Cognome ISTRUZIONI
x Matricola Nome Cognome
Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori (ex Fondamenti di Informatica II) 22 gennaio 2009 - Prova scritta Matricola Nome Cognome ISTRUZIONI
Matricola Nome Cognome
Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori / Fondamenti di Informatica II 9 febbraio 2012 - Prova scritta Matricola Nome Cognome ISTRUZIONI (da
Linguaggio macchina e linguaggio assembly
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell
Esercizio 1 (14 punti)
Prova scritta del 22 gennaio 2018 di Fondamenti di Programmazione e Strutture Dati e Algoritmi Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati a partire dall anno 2017-18 DURATA DELLA
Linguaggio macchina e linguaggio assembler
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright
Dal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente
Dal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright
Programma sorgente, compilatore, file oggetto, file eseguibile. Traduzione effettuata dal compilatore. Dichiarazione di variabili (esempi)
FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Facoltà di Ingegneria Università degli Studi di Udine Dal linguaggio macchina al linguaggio C 2000 Pier Luca Montessoro (si veda la nota di copyright alla
Esercizio 1 (14 punti)
Prova scritta del 22 gennaio 2018 di Fondamenti di Programmazione / Fondamenti di Informatica I Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici 2016-17 e precedenti
Architettura e funzionamento del calcolatore
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore
Relativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.
Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
Esercizio 1 (14 punti)
Prova scritta del 22 gennaio 2018 di Fondamenti di Informatica I (prof. Montessoro) + Fondamenti di Informatica II (prof. Di Gaspero) Per studenti di Ing. Gestionale immatricolati negli anni accademici
Informatica B Allievi Meccanici con cognome da Cl a L Recupero della I prova intermedia 26/02/01 Prof. Elisabetta Di Nitto. Cognome Nome Matricola
Informatica B Allievi Meccanici con cognome da Cl a L Recupero della I prova intermedia 26/02/01 Prof. Elisabetta Di Nitto Cognome Nome Matricola Punteggio Dom1 Dom2 Dom3 Es1 Es2 Es3 Es4 totale NOTE: 1)
Manualino minimale MIPS
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica
Il linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
Architettura e funzionamento del calcolatore
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 2000 Pier Luca Montessoro (si veda la nota di copyright
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da
Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina
Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un
1
Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix
Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright
Fondamenti di Informatica - Compito A
Fondamenti di Informatica - Compito A Prof. Marco Gavanelli 22 gennaio 2014 Le immagini con sfumature di grigio possono essere salvate in formato PGM. Nel formato PGM, le immagini sono rappresentate come
Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME 13 novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve
Dati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
Sistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
Lezione 1. Ing. Colazzo Sebastiano
Lezione 1 Ing. Colazzo Sebastiano Linguaggi macchina: lingua naturale di un particolare computer, esso consiste di sequenze di numeri (1 o 0) e dipende dalla macchina 0000111101 1111110001 0011001111 Linguaggi
Introduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
Il linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri
Politecnico di Milano - Dipartimento di Elettronica, informazione e Bioingegneria Prof. Mauro Negri Fondamenti di Informatica II prova 13 febbraio 2015 Matricola/codice persona Cognome Nome Durata prova:
Esercizio 1 (17 punti)
Esercizio 1 (17 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 1 o luglio 2014 Un file di testo è utilizzato
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME. 13 novembre 2006 RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prima prova in itinere COGNOME E NOME novembre 2006 RIGA COLONNA MATRICOLA Il presente plico pinzato, composto di sei fogli, deve essere
Corso INFORMATICA ED ELEMENTI DI INFORMATICA MEDICA
Corso 085853 INFORMATICA ED ELEMENTI DI INFORMATICA MEDICA Prof.: Sara Marceglia, Gianluca Palermo Luca Mazzola, Maristella Matera A.A. 2010/2011 Parte di Informatica ISTRUZIONI: 1. Il tempo massimo a
Linguaggi di Programmazione
Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente
File. Molto astratta: file ha un nome (ex. Pippo.c), ed altre caratteristiche (dimensione, tipo, etc). Operazioni: copiare, cancellare, eseguire..
File I file sono una illusione creata dal Sistema Operativo(SO) Il SO usa opportune strutture dati per implementare tale astrazione (ad esempio: File Control Block, FCB) Sono usati per memorizzare in modo
Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a. 2006-2007 Docente: H. Muccini Lecture 12: - Numeri con segno -Somma e sottrazione
Il presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 19 Febbraio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi e
Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri. Fondamenti di Informatica I prova in itinere
Politecnico di Milano - Dipartimento di Elettronica e informazione Prof. Mauro Negri Fondamenti di Informatica I prova in itinere 18 novembre 2011 Matricola Cognome Nome Istruzioni Durata prova: 2 ore
Corso di Laurea in Informatica Architetture degli Elaboratori
Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 20 dicembre 2005 Esercizio 1 (punti 2) Considerare una codifica su 8 bit in complemento a due e rappresentare i seguenti
Linguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
1 (4) 2 (4) 3 (12) 4 (6) 5 (6)
CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B, C Anno Accademico 2016-2017 Proff. Danilo ARDAGNA Prima Prova in Itinere 4.5.2017 Cognome Nome Matricola Firma Durata: 2h Valutazioni
Prof. Massimiliano Giacomin 22 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli
INFORMATICA E PROGRAMMAZIONE Prof. Massimiliano Giacomin 22 dicembre 2016 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli 1. Si consideri il seguente codice per
Introduzione al linguaggio C
Linguaggio C Introduzione al linguaggio C Sistemi di sviluppo integrati Noti anche come IDE: Integrated Development Environment Un pacchetto software che permette di scrivere, preprocessare, compilare,
Primi esempi di programmi. Il tipo int Le variabili Altri tipi interi Operatori di assegnazione
Primi esempi di programmi Il tipo int Le variabili Altri tipi interi Operatori di assegnazione Il tipo int Un int permette di trattare numeri interi 4 byte (32 bit) con la tecnica del complemento a 2 (ma
Introduzione. Architettura
Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione
Istruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
Fetch Decode Execute Program Counter controllare esegue prossima
Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo
Un esempio di compilatore realizzato con flex e bison
POLITECNICO DI MILANO Dipartimento di Elettronica e Informazione Corso di Linguaggi Formali e Compilatori - Esercitazioni Un esempio di compilatore realizzato con flex e bison Progetto di Vincenzo Martena
Il linguaggio C. Breve panoramica su stdio.h
Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene
Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 8 novembre Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 8 novembre 2018 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina. Preparare
Introduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17
Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,
Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo
Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Istruzioni del processore Abbiamo visto in precedenza alcuni esempi di istruzioni
Istruzioni di controllo del flusso
Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal
giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
Corso di Laurea in Informatica Architetture degli Elaboratori
Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 7 luglio 2005 Esercizio 1 (punti 2) Considerare la rappresentazione dei numeri relativi su 10 bit in complemento a
Il presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 19 Febbraio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi e
Codifica dell informazione
Codifica dell informazione Informatica B Come memorizzo l informazione nel calcolatore? 1 bit di informazione 1 bit di informazione La memoria del calcolatore L informazione nel calcolatore q Il calcolatore
Introduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
Architettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
Fondamenti di Informatica L-A
Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1
Struttura dei programmi e Variabili
Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita
Lecture 2: Prime Istruzioni
[http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni
Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali
Fondamenti di Informatica 1 - Compito A
Fondamenti di Informatica 1 - Compito A Prof. Marco Gavanelli 9 Gennaio 2007 Esercizio (16 punti) Un programma in linguaggio C deve rilevare se un punto del piano, le cui coordinate sono lette da tastiera,
PROGRAMMA = ALGORITMO
Corso di Laurea Scienze Prof. San. Tec., Area Tecnico-Assistenziale SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Anno Accademico 2005-2006 Prof. Fausto Passariello Corso Integrato Metodologia della Ricerca
Sistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 17 febbraio 2014 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
Fondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 25 Marzo 2005 Esercizio 1 (2 punti) Convertire in formato binario, ed esadecimale il numero 372. Mostrare il procedimento usato per ottenere il risultato.
Gestione dei File. Credits Prof. Campi
Gestione dei File Credits Prof. Campi 1 Perché i file? Sono strutture dati persistenti Sono solitamente memorizzati sui dischi Si usano dall'interno dei programmi Realizzano la persistenza dei dati cioè
Assembly (3): le procedure
Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:
Lezione 22: Input/Output e Files
Lezione 22: Input/Output e Files Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università di Salerno Struttura della lezione Esami: date e modalità Funzioni di libreria standard
Esercitazione n. 7. Gestione dei file (seconda parte)
Esercitazione n. 7 Gestione dei file (seconda parte) dott. Carlo Todeschini tode@cremona.polimi.it Politecnico di Milano A.A. 2010/2011 Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non
FONDAMENTI DI INFORMATICA
Politecnico di Milano COGNOME E NOME Facoltà di Ingegneria Industriale FONDAMENTI DI INFORMATICA Seconda prova in itinere 13 Febbraio 2017 Primo Appello (Laureandi) 13 Febbraio 2017 RIGA COLONNA MATRICOLA
Not found MATRICOLA S C/1 AAA-BARC BARD-BOUH BOUI-CART CARU-CONS CARU-CONS CONT-DEMAR
NOME COGNOME MATRICOLA S C/1 AAA-BARC BARD-BOUH BOUI-CART CARU-CONS CARU-CONS CONT-DEMAR DEMAS-FERRD FERRE-GIAQ GIAR-LAEZ LAFA-MANC MAND-MIQZ MIRA-PAHZ PAIA-PODD PODE-ROSSE ROSSF-SIQZ SIRA-TUCB TUCC-ZZZ
Introduzione al linguaggio macchina. Istruzione l/m
Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione
Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento
Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità
File e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,
Dichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
Lezione XII.III Gestione dei file Un progetto completo
Programmazione e Laboratorio di Programmazione Lezione XII.III Gestione dei file Un progetto completo 1 mycp Sviluppare in linguaggio C : un programma che copi un file in un altro Cosa farà il nostro programma
NB: sono richieste almeno 4 risposte esatte per la correzione delle domande aperte
7 Lug 17 MATRICOLA COGNOME NOME PUNTEGGI PER LE VARIE DOMANDE: Domande aperte: A: 6, B: 9, C: 9 Scelta multipla: 1.5 punti per ogni risposta esatta DURANTE IL COMPITO E AMMESSO SOLO L USO DI STRUMENTI
Gestione dei file. File di testo e binari
Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile
Architettura degli Elaboratori - 1. Pagina web del corso. Obiettivi del Corso. Contenuto del Corso. Corso di Laurea in Informatica
Architettura degli Elaboratori - 1 Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Obiettivi del Corso Descrizione dell architettura
Linguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
Assembly (3): le procedure
Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 13 1/23 Chiamata
Operazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
Il linguaggio macchina
Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari
Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.
Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura