• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
3
0
0

Testo completo

(1)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO

Facoltà di Ingegneria Università degli Studi di Udine

Linguaggio C

Esercizi su C e sistema operativo

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell’autore prof. Pier Luca Montessoro, Università degli Studi di Udine.

Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell’Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione.

Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori.

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L’autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell’informazione).

In ogni caso non può essere dichiarata conformità all’informazione contenuta in queste slide.

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali.

Nota di Copyright

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Complemento a 2

Si scriva un programma che riceva come parametro sulla linea di comandi una stringa di caratteri che rappresenta un numero binario e ne stampi il

complemento a 2

C:\PROGRAMMI> ca2_argv 1111 0001

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 4

Fattoriale

Si scriva un programma che riceva come parametro sulla linea di comandi un numero naturale ne stampi il fattoriale

C:\PROGRAMMI> fatt_argv 4 24

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 5

Concatenazione di file ASCII Si scriva il programma copia.c che riceve sulla linea di comando i nomi di due file ASCII e copia il primo (che deve essere un file ASCII) al fondo del secondo.

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 6

C:\PROGRAMMI> type testo1.txt

Questo e` il contenuto del primo file ASCII per l'esercizio "concatena".

C:\PROGRAMMI> type testo2.txt

E questo e` il contenuto del secondo file.

C:\PROGRAMMI> concatena testo1.txt testo2.txt C:\PROGRAMMI> type testo1.txt

Questo e` il contenuto del primo file ASCII per l'esercizio "concatena".

C:\PROGRAMMI> type testo2.txt

E questo e` il contenuto del secondo file.

Questo e` il contenuto del primo file

ASCII per l'esercizio "concatena".

(2)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 2

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 7

Commenti in un programma C Si scriva in linguaggio C il programma estraicommenti che stampa su video i commenti di un programma C il cui nome del file è passato come parametro sulla linea di comando.

Per ciascun commento si indichi anche il numero di riga in cui il commento stesso inizia.

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 8

Commenti in un programma C Note:

• si consideri soltanto la forma /* ... */

• non si consideri l'eventuale presenza di commenti annidati

• non si consideri l'eventuale presenza di commenti aperti e non chiusi

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 9

Commenti in un programma C Esempio:

C:\PROGRAMMI> type hello.c /*

primo esempio di programma file: hello.c

*/

#include <stdio.h>

main () /* dichiarazione semplificata del main */

{

printf ("hello\n"); /* non dimenticare il \n per andare a capo */

} /* fine del main */

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 10

Commenti in un programma C

C:\PROGRAMMI> estraicommenti hello.c riga 0:

/*

primo esempio di programma file: hello.c

*/

riga 7:

/* dichiarazione semplificata del main */

riga 9:

/* non dimenticare il \n

per andare a capo */

riga 11:

/* fine del main */

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 11

Crittografia di una stringa

Si scriva il programma crypto_s.c che crittografa la stringa passata come secondo parametro della linea di comando utilizzando ciclicamente una chiave di trasposizione alfabetica contenente al massimo 256 interi letta da un file passato come primo parametro.

La stringa contiene caratteri compresi tra il codice ASCII 32 (spazio) e il codice ASCII 127 (estremi inclusi), e questo deve valere anche dopo la crittografia, quindi la chiave contiene valori compresi tra 1 e 95 (pari a 127-32).

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 12

Crittografia di una stringa

C:\PROGRAMMI> type crypto.key 1 2 3

C:\PROGRAMMI> crypto_s crypto.key aaabbbcccc bcdcdedefd

C:\PROGRAMMI> crypto_s crypto.key "testo per provare"

ugvuq#qgu!rupxdsg

C:\PROGRAMMI>

(3)

Fondamenti di Informatica

© 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 3

Fondamenti di Informatica - Esercitazioni

© 2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 13

Crittografia di una stringa

Si scriva il programma decrypto_s.c che decrittografa la stringa crittigrafata ottenuta dal programma crypto_s, utilizzando la medesima chiave.

C:\PROGRAMMI> crypto_s crypto.key "testo per provare"

ugvuq#qgu!rupxdsg

C:\PROGRAMMI> decrypto_s crypto.key "ugvuq#qgu!rupxdsg"

testo per provare

C:\PROGRAMMI>

Riferimenti

Documenti correlati

Farà parte di questo modulo un foglio, detto Customer Satisfaction Item List, dove devono essere elencate le caratteristiche che il prodotto dovrà possedere per assicurare una

 When the end of file is reached, it must print the number of integer numbers it has read and the computed sum.

• Il programma deve leggere da tastiera il nome del file nel formato sopra descritto, leggere tale file copiandone il contenuto nel vettore di struct in memoria e, infine,

[r]

Se si sta usando Windows si può ottenere ogni carattere ASCII tenendo premuto il tasto Alt e digitando il codice decimale corrispondente col tastierino numerico (se il

 Per leggere dati da un file presente sul disco, Per leggere dati da un file presente sul disco, occorre dapprima costruire un oggetto di tipo occorre dapprima costruire un

a) ogni processo figlio pari deve contare quanti caratteri di posizione pari  nel file associato hanno codice ASCII pari (primo conteggio) e quanti hanno codice

I seguenti studenti hanno raggiunto i 2/3 delle ore di frequenza richiesta, pertanto possono iscriversi agli appelli del corso... Elenco studenti che possono sostenere l’esame