-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
|
|
- Alberta Pini
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Udine Corsi di laurea in Ingegneria Elettronica Architettura dei calcolatori / Fondamenti di Informatica II 22 febbraio Prova scritta 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 modulo e segno su 8 bit non possibile -128 in complemento a 2 su 8 bit , in binario puro su 8 bit non possibile -255 in binario puro su 16 bit non possibile 255 in binario puro su 16 bit , 00FF -1 in complemento a 2 su 64 bit , FFFFFFFFFFFFFFFF 2. (2 punti) Indicare le associazioni corrette. [ ] codifica entropica controllo degli errori [ ] codifica entropica controllo e correzione degli errori [ ] RLE compressione senza perdita [ ] CRC codici a prefisso [ ] matrice di quantizzazione compressione con perdita [ ] codifica entropica controllo degli errori [ ] codifica entropica controllo e correzione degli errori [ X] RLE compressione senza perdita [ ] CRC codici a prefisso [ X] matrice di quantizzazione compressione con perdita
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 dissolvenza (anche detto crossfade ) consiste nel passare gradualmente da un immagine ad un altra. Ogni pixel durante la transizione tra le due immagini assume un valore ottenuto dalla media pesata dei valori dei due corrispondenti pixel delle immagini originali. Naturalmente, il peso varia da 100%:0% a 0%:100% passando dalla prima alla seconda 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 crossfade_0.bmp, crossfade_1.bmp, crossfade_2.bmp,... crossfade_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 il peso della prima immagine diminuirà di 1/N e quello 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. crossfade_0.bmp crossfade_1.bmp crossfade_2.bmp crossfade_3.bmp Suggerimenti: si usi la funzione sprintf per generare i nomi dei file di uscita; si scriva una generica funzione che misceli due immagini in parti proporzionali ad un valore passato come argomento. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include "bmp.h" #define OUT_FILE_BASE_NAME "crossfade_" #define OUT_FILE_EXT ".bmp" void mix (BITMAP img1, BITMAP img2, BITMAP imgout, double p); int main (int argc, char *argv[]) FILE *fp1, *fp2, *fpout;
3 char filename[64]; int n, i; BITMAP img1, img2, imgout; if (argc!= 4) printf ("ARGOMENTI: <file in> <file out> <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); mix (img1, img2, imgout, i / (double) n); WriteBitmap (imgout, fpout); fclose (fpout); ReleaseBitmapData (&img1); ReleaseBitmapData (&img2); ReleaseBitmapData (&imgout); return EXIT_SUCCESS; void mix (BITMAP img1, BITMAP img2, BITMAP imgout, double p) int r, c; for (r = 0; r < imgout.height; r++) for (c = 0; c < imgout.width; c++) PIXEL (imgout, r, c).red = PIXEL (img1, r, c).red * (1-p) + PIXEL (img2, r, c).red * p; PIXEL (imgout, r, c).green = PIXEL (img1, r, c).green * (1-p) + PIXEL (img2, r, c).green * p; PIXEL (imgout, r, c).blue = PIXEL (img1, r, c).blue * (1-p) + PIXEL (img2, r, c).blue * p;
4 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 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. (5 punti) La funzione char *strstr(const char *S1, const char *S2) della libreria standard del linguaggio C cerca la stringa S2 in S1 e restituisce l indirizzo dell inizio della prima occorrenza di S2. Se S2 non è presente in S1 restituisce NULL (ovvero un puntatore di valore zero). Si assuma di avere già a disposizione la funzione STRNCMP che confronta due stringhe, i cui indirizzi sono contenuti nei registri R1 e R2, per una lunghezza massima di caratteri pari al valore contenuto nel registro R3. Se le due stringhe sono uguali almeno per i primi R3 caratteri la funzione restituisce zero, e un valore diverso da zero altrimenti. Si assuma infine che sia anche già disponibile la funzione STRLEN, che restituisce in R0 la lunghezza della stringa il cui indirizzo è passato nel registro R1. Nel seguito è riportata una implementazione della funzione STRTR in linguaggio assembler, in cui l indirizzo di S1 è passato nel registri R1 e quello di S2 in R2. La si completi. STRSTR: ; salva nello stack l indirizzo della stringa S1 ; salva nello stack l indirizzo della stringa S2 MV R2 R1 ; prepara la chiamata a STRLEN CALL STRLEN ; calcola la lunghezza della stringa S2 MV R0 R3 ; copia la lunghezza della stringa S2 in R3 ; ripristina l indirizzo della stringa S2 in R2 ; ripristina l indirizzo della stringa S1 in R1 L_STRSTR: CALL STRNCMP ; confronta S1, a partire da R1, con S2 per una ; lunghezza massima pari alla lunghezza di S2 (in R3) MV R0 R10 ; copia il risultato in R10 ; se ha restituito zero, STRNCMP ha trovato S2 in S1 INC R1 ; avanza con il puntatore in S1 ; leggi il carattere puntato da R1 ; se siamo alla fine di S1 salta all uscita JMP L_STRSTR ; ripeti la ricerca della sottostringa partendo da R1 FINE_STR: XOR R0 R0 ; azzera R0 TROVATA: MV R1 R0 ; copia l indirizzo in R0 STRSTR: PUSH R1 ; salva nello stack l indirizzo della stringa S1 PUSH R2 ; salva nello stack l indirizzo della stringa S2 MV R2 R1 ; prepara la chiamata a STRLEN CALL STRLEN ; calcola la lunghezza della stringa S2 MV R0 R3 ; copia la lunghezza della stringa S2 in R3
5 POP R2 ; ripristina l indirizzo della stringa S2 in R2 POP R1 ; ripristina l indirizzo della stringa S1 in R1 L_STRSTR: CALL STRNCMP ; confronta S1, a partire da R1, con S2 per una ; lunghezza massima pari alla lunghezza di S2 (in R3) MV R0 R10 ; copia il risultato in R10 JMPZ TROVATA ; se ha restituito zero, STRNCMP ha trovato S2 in S1 INC R1 ; avanza con il puntatore in S1 LDBR R12 R1 ; leggi il carattere puntato da R1 JMPZ FINE_STR ; se siamo alla fine di S1 salta all uscita JMP L_STRSTR ; ripeti la ricerca della sottostringa partendo da R1 FINE_STR: XOR R0 R0 ; azzera R0 TROVATA: MV R1 R0 ; copia l indirizzo in R0 5. (4 punti) Quanto vale il registro R0 al termine dell esecuzione del programma in linguaggio macchina riportato a fianco? Si scriva la traduzione in linguaggio assembler delle istruzioni. R0 = START: FA C3 HLT CF R0 vale 8. START: LDWI R LDWI R LOOP: INC R0 48 DEC R1 49 FA JMPNZ LOOP C3 HLT CF
6 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. (2 punti) Il seguente diagramma deve rappresentare gli stati in cui si può trovare un processo in un sistema multitasking basato su time sharing e le relative transizioni da uno stato all altro. Lo si completi aggiungendo anche tutti gli archi e le etichette necessarie. (per la soluzione si vedano il libro di testo, gli appunti e i lucidi delle lezioni)
-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
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
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
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
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 Programmazione / Fondamenti di Informatica I Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici 2016-17 e precedenti
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
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
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 Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore
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. 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
Le procedure ricorsive Come eseguire un programma. Architettura degli Elaboratori e delle Reti, Turno I
Le procedure ricorsive Come eseguire un programma Architettura degli Elaboratori e delle Reti, Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email:
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
C: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
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
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
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 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
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
Lezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
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
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
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
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:
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
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
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:
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
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
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
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
Gestione dei file in C
Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente
Assembly V: Procedure annidate e recursive
Architettura degli Elaboratori e delle Reti Lezione 15 Assembly V: Procedure annidate e recursive 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
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
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
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
Assembly IV Le procedure
rchitettura degli Elaboratori e delle Reti Lezione 14 ssembly IV Le procedure Proff.. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:
Operazioni sulle stringhe
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
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:
GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
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è
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
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
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
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...
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
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 - 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:
Il linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio
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,
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,
Introduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
Lezione 11: Liste a Puntatori e Input/Output
Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)
ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A
ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A *** indicano le affermazioni corrette. 1. Con riferimento alle architetture dei calcolatori ed alla valutazione
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
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
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
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 C La libreria standard
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni
Linguaggio C La libreria standard
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C La libreria standard 2001 Pier Luca Montessoro - Davide Pierattoni
Stringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche
Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore
Informatica A (per gestionali) A.A. 2004/2005. Esercizi di programmazione C Stringhe Ricerca binaria
Informatica A (per gestionali) A.A. 2004/2005 Esercizi di programmazione C Stringhe Ricerca binaria Indice 1 Stringhe... 3 1.1 Codice di Cesare...3 1.2 Ricerca binaria...4 1.3 Indirizzi Internet...7 1.4
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
Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
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
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
Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018
Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018 Esercizi sull allocazione dinamica della memoria in C Il codice di questi esercizi é contenuto nella cartella parte1 1. Implementare una lista
La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre
La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre Unica particolarità: viene chiamata dal Sistema Operativo, appena il programma viene avviato Non
Esercizi. Stringhe. Stringhe Ricerca binaria
Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)
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
Confronti e salti condizionati
Confronti e salti condizionati I confronti tra numeri x e y sfruttano l effetto di / x,y sui flag. Occorre ricordare che è unica, ma l effetto sui flag riflette l interpretazione unsigned o signed dei
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
15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio
15 April 2011 05 LABORATORIO 04 PROCEDURE STACK CHIAMATA A PROCEDURE I. Frosio 1 SOMMARIO Procedure Stack Chiamata a procedure 2 PERCHÈ LE PROCEDURE? 15 April 2011 Main Proc3 Proc2 Proc1 Programmazione
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
Scrittura formattata - printf
Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri
a = 6; b = 7; c = a b; [ ] il risultato è indefinito [ ] c = 12 [ ] c = 13 [X] c = 14 a = 8; b = 9; c = a b;
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 18 novembre 2016 - Prova intermedia NOTA: nel seguito le risposte corrette e le note sono
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?
Input / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard
Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come
Gestione dei file in C
Gestione dei file in C Fondamenti di Informatica Che cos è un file e a cosa serve? Memoria di massa vs memoria centrale q La memoria di massa (disco fisso) è un dispositivo di memorizzazione generalmente
1 (6) 2 (7) 3 (7) 4 (7) 5 (6)
CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B anno accademico 010-011 Prof. Danilo ARDAGNA Seconda Prova in Itinere 7.06.011 Durata 1h 30 Valutazioni 1 (6) (7) 3 (7) 4 (7)
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
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
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
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione
Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello dell 11 Settembre Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello dell 11 Settembre 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
Esercizi. Filtraggio
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia Filtraggio L utente inserisce un array di numeri reali non negativi (un numero negativo indica la fine della fase di inserimento)
Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
Addendum: istruzioni linguaggio macchina. Università di Bergamo - corso di Calcolatori Elettronici 1
Addendum: istruzioni linguaggio macchina Università di Bergamo - corso di Calcolatori Elettronici 1 Control Loop C code: L1: g = g + A[i]; i = i + j; if (i!= h) goto L1; MIPS code: L1: add $t1, $s3, $s3