1 / 12

Lab 4: 15 Aprile 2013

Lab 4: 15 Aprile 2013. Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 14 Aprile 2013. Argomenti. Argomenti di questo laboratorio: Funzioni Passaggio parametri per valore/indirizzo Strutture dati Obiettivo:

sally
Download Presentation

Lab 4: 15 Aprile 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lab 4: 15 Aprile 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it Ver. aggiornata al 14 Aprile 2013

  2. Argomenti • Argomenti di questo laboratorio: • Funzioni • Passaggio parametri per valore/indirizzo • Strutture dati • Obiettivo: • Risolvere almeno 3 esercizi

  3. Esercizi • Cifrario a scorrimento • Calcoli su triangolo • Libreria: • Creazione catalogo libri • Ricerca libro • Ordinamento oggetti • Acquisto libro

  4. Esercizio 1 - Cifrario a scorrimento • I cifrari a scorrimento sono metodi di cifratura che agiscono su un testo in cui ogni lettera del testo in chiaro viene sostituita, nel testo cifrato, con la lettera che si trova un certo numero di posizioni dopo nell’alfabeto. • La sostituzione avviene lettera per lettera scorrendo il testo dall’inizio alla fine. • Un famoso cifrario a scorrimento è il cifrario di Cesare, usato da Cesare per cifrare le comunicazioni militari, che utilizzava uno spostamento di 3 caratteri. • Testo in chiaro: abcdefghiklmnopqrstux • Testocifrato: DEFGHIKLMNOPQRSTVXABC • Un altrocifrariofamoso è il ROT13 cheutilizzaunospostamentodi 13 caratteri.

  5. Esercizio 1 - Cifrario a scorrimento • Si scriva un programmache, ricevuta in ingressounastringaditesto, prima la cifriusando ROT13 e poi decifri la stringacosìottenuta per riavere la stringainiziale. • V1: Passaggio per copia • Si risolval’eserciziodefinendo le funzionicrypt e decryptche, ricevuto in ingresso un caratterepassato per copia lo cifrino o decifrinosecondo lo schema ROT13. • V2: Passaggio per indirizzo • Si risolval’eserciziodefinendo le funzionicrypt e decryptche, ricevuto in ingresso un caratterepassato per copia lo cifrino o decifrinosecondo lo schema ROT13. • Cosasuccede se usate la funzionecryptanche per decifrareiltesto? Perchè?

  6. Esercizio 2 - Calcolisutriangolo • Si scriva un programmachechiedaall’utentediinserire 3 punti del piano cheidentificanoiverticidi un triangolo e calcoliperimetroed area del triangolostesso. • Es.: A(0, 1) - B(1, 4) – C(2, 2) • Perimetro: 7.634414 • Area: 2.5 • Si definiscanoedutilizzinotutte le strutturedatichesiritengono opportune, in particolaresidefinisca: • Punto • Retta (definitada un puntoedilsuocoefficienteangolare) • Triangolo (definitodaisuoitrevertici e gliattributiperimetroed area) • V1: Si usiunafunzionecalcolaTriangolochericeva in ingressounastrutturaditipotriangolopassata per copiae la aggiorni con perimetroed area. • V2: Si usiunafunzionecalcolaTriangolochericeva in ingressounastrutturaditipotriangolopassata per indirizzoe la aggiorni con perimetroed area. • Si risolvailproblemausando diverse funzioni come ad esempio: • lunghezzaSegmento • calcolaPerimetro • calcolaArea • coeffAngolareRetta • puntoIntersezioneRette

  7. Libreria • Si definiscano le struttureedi tipi didatonecessari a modellizzare un catalogodilibri per unalibreria. • In particolaresidefiniscailtipodidatolibroidentificatoda: • Codicenumerico • Titolo • Costo • Numerodicopiedisponibili • Sfruttandoi tipi didato qui definitisiaffrontinoiproblemisuccessivi

  8. Esercizio 3 - Libreria: Creazionecatalogo • Si scriva un programmachepermettadicreareilcatalogodellalibreria. • Il programmachiedeall’utentequantilibrisivoglionoinserire e poi procede con la richiestadeidatisulsingololibro • Vincolo: • Si risolval’eserciziousandounafunzioneaggiungiAlCatalogochericevuto in ingresso un libro lo aggiunganella prima posizionedisponibile del catalogo.

  9. Esercizio 4 - Libreria: Ricercalibro • Si scriva un programmachepermetta la ricercadi un libronelcatalogodeilibridisponibili. • Il programmachiedeall’utentediinserire un titolo, oppure un codice per effettuare la ricerca del libro. • Se illibrodesideratovienetrovatonelcatalogosistampino a video le sue proprietà (codice, titolo, costo, copiedisponibili). • Vincolo: • Si utilizzino due funzionicercaTitoloe cercaCodice per risolverel’esercizio. Le funzionidevonoritornare un oggettoditipolibro.

  10. Esercizio 5 - Libreria: OrdinamentoOggetti • Si scriva un programmachepermettadiordinareilcatalogosecondounaproprietàsceltadall’utente (codice, titolo, costooppurecopiedisponibili). • Si ordiniilcatalogo e se ne effettui la stampa. • Vincolo: • Si utilizzinoquattrofunzionidifferenti per ordinareilcatalogosecondo le diverse proprietà. • Suggerimento: • Si usiunafunzionescambia per scambiare le posizionidi due librinelcatalogo.

  11. Esercizio 6 - Libreria: Acquistolibro • Si scriva un programmachepermettadieffettuarel’acquistodi un libro. • Il programmachiedeall’utenteillibrochedesideracomprare (titolooppurecodice) edilnumerodicopie desiderate. • Se è possibileeffettuare la venditasipresentiall’utenteiltotaledapagare, altrimentisicomunichiilmotivo del mancatoacquisto: • Libro non presentenell’archivio • Copie desiderate non disponibili • Vincolo: • Si utilizzi la funzioneacquistachericevuto in ingresso un libroedilnumerodicopie desiderate ritorniilrisultatodell’acquisto.

  12. BUON LAVORO!

More Related