Crea sito
Leave a reply

Progetto Programmazione I Lab.


Simulazione dinamica delle cellule
Agenda

1. Simulazione dinamica delle cellule (Game of Life)

Si vuole sviluppare un algoritmo per la simulazione di dinamica di ‘cellule’. Si consideri una scacchiera in cui ogni casella rappresenta una cellula, che può essere viva o morta. Ogni cellula ha, in generale, otto cellule vicine (a meno che la cellula non si trovi sul bordo della scacchiera). L’algoritmo usa un array 2D nxn, con n=45,
per simulare la scacchiera. L’algoritmo esamina n volte la scacchiera. Durante ogni passo aggiorna lo stato di tutte le cellule sulla scacchiera nel seguente modo: se una cellula ha esattamente tre cellule vicine vive allora la cellula deve essere posta nello stato “viva”; se una cellula ha 1,2 o 4 cellule vicine vive allora la cellula permane
nello stato in cui si trova; se una cellula ha 5 o più cellule vicine vive allora la cellula deve essere posta nello stato “morta” (si noti che questa regola consente a una cellula morta di diventare viva). Fare attenzione al fatto che la scacchiera deve essere aggiornata solo alla fine di ogni passo: ciò significa che l’algoritmo deve usare un
array per memorizzare la scacchiera attuale e un array per memorizzare la scacchiera modificata. L’algoritmo visualizza tutto l’array 2D al temine del secondo, terzo, quarto, sesto, ottavo, decimo, 20-simo, 30-simo e 45-simo passo. Ogni cellula viva è visualizzata con un asterisco; ogni cellula morta con uno spazio. Usare le tre seguenti
configurazioni iniziali (per i tre test): solo 7 cellule centrali della riga centrale sono vive; solo 7 cellule centrali della colonna centrale sono vive; solo le 4 cellule in posizione 22,22 22,23 23,22 23,23 sono vive.

2. Agenda

Si vuole simulare la gestione di un’agenda elettronica contenente appuntamenti suddivisi in tre categorie: lavoro, casa, sport. L’agenda è suddivisa in giorni, per 12 mesi complessivi. Ogni giorno è identificato
da 24 ore. Dato un mese, un giorno e un’ora permettere all’utente di:

• Inserire un appuntamento
• Date due date visualizzare l’ammontare delle ore dedicate ad una data
categoria.
• Descrivere le statistiche delle ore dedicate ad ogni categoria.

Implementare l’algoritmo per la simulazione dell’agenda ed effettuare almeno un test per ognuna delle opzioni dell’utente.

Progetto_Completo

Relazione_HTML


Leave a reply

Progetto Algoritmi e Strutture Dati: Vocabolario

A) Costruire un vocabolario V utilizzando un Hash Table con il metodo della concatenazione, che abbia le seguenti funzioni:

  •  Inserimento del termine
  •  Cancellazione
  •  Ricerca del termine.

In caso di fallimento deve restituire una lista delle parole più prossime, utilizzando un approccio basato sulla Longest Common Sequence.

B) Costruire un vocabolario V’, utilizzando un Hash Table con il metodo dell’indirizzamento aperto, che abbia le stesse funzioni, tranne per la cancellazione, dell’esercizio precedente. Stimare sperimentalmente (utilizzando almeno qualche centinaio di ricerche), a parità di fattore di carico α, il tempo medio della ricerca con successo in V e V’. Si discutano i risultati.

Linguaggio Utilizzato: C++

 

INTERO PROGETTO ZIP

Relazione (Versione HTML integrale)

Versione PDF

Relazione (pag 1-18)
Relazione_(pag 19-22)

abstract_Vocabolario.h
abstract_Vocabolario.cpp

Vocabolario(1).h
Vocabolario(1).cpp

VocabolarioII.h
VocabolarioII.cpp

Test.cpp

main.cpp

sorgenti_progetto.zip


Leave a reply

WhatsApp Web – Vulnerable, Stranezze

Da WhatsApp Web se provo a visualizzare il link diretto a una foto noto che il link è formato da:
https://web.whatsapp.com/pp?t=l&u=<prefisso+numerodicellulare>%40c.us&i=1424463821
e fin qui tutto ok,anche perchè se non si è connessi a Whatsapp Web si ha un bel 404, ma poi mi accorgo che nel parametro i= c’è un timestamp risalente all’orario GMT del momento in cui è stata cambiata l’immagine, è questo tool a confermare.
Quando provo poi a cambiare l’immagine di profilo, il link cambia con il nuovo “i” con il nuovo timestamp, e il vecchio link? PUNTA AL NUOVO!

Questa cosa è abbastanza strana, non mi sembra l’approccio più sicuro.. ho provato a googlogare e l‘unico risultato , mi dice che lì a starci è un PIN, non mi sembra così, la cosa del timestamp sembra confermata.
Bah boh…


Leave a reply

Insiemi dinamici e dizionari/Alberi binari di Ricerca [Video-Lezione]

  • Insiemi dinamici e dizionari
  • Implementazione dei dizionari
  • Alberi binari di Ricerca

(altro…)


Leave a reply

Algoritmi Greedy [Video-Lezione]

  • Il paradigma Greedy
  • Esempi di algoritmi greedy
  • Programmazione dinamica e algoritmi greedy

(altro…)


Leave a reply

Grafi, definizioni e proprietà [Video-Lezione]

  • I Grafi
  • Definizioni e Proprietà
  • Rappresentazioni dei Grafi

(altro…)


Leave a reply

Grafi, Algoritmo di visita generico e Implementazione in C [Video-Lezione]

  • L’ADT Grafo
  • Visite di Grafi

(altro…)


Leave a reply

Visite di un grafo (Ampiezza e Profondità) [Video-Lezione]

  • Visita in ampiezza
  • Visita in profondità
  • Etichette temporali
  • Applicazioni

(altro…)


Leave a reply

NP Completezza e Algoritmi Approssimati [Video-Lezione]

  • Riducibilità
  • Problemi NP-Completi
  • Problemi NP-Hard
  • Problemi NP-Completi Classici
  • Algoritmi approssimati ed euristiche

(altro…)


Leave a reply

Tabelle Hash [Video-Lezione]

  • Tabelle ad accesso diretto
  • Tabelle Hash
  • Funzioni di hash
  • Gestire le collisioni

(altro…)