Appunti VERIFICATO

bioinformatica

Università degli Studi di Napoli - Federico II biotecnologie per la salute Curriculum medico clinico 2019
5 visualizzazioni
7 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — bioinformatica

Di cosa parla

  • Cos'è un programma: Un software eseguito da un elaboratore per risolvere problemi, costituito da una lista di istruzioni. Richiede traduzione dal linguaggio assembly o di alto livello in linguaggio macchina. Componenti hardware come la CPU e il suo Instruction Set sono fondamentali per l'esecuzione.
  • Cos'è un linguaggio di programmazione: Un linguaggio formale che specifica istruzioni per produrre dati in output, controllando il comportamento di una macchina. È definito da lessico, sintassi e semantica, includendo variabili, espressioni, istruzioni e strutture di controllo del flusso.
  • Interprete vs. Compilatore: Un interprete esegue il codice sorgente traducendo le istruzioni in tempo reale. Un compilatore traduce il codice sorgente in linguaggio macchina una sola volta, producendo un eseguibile (es. file .exe). Entrambi sono concetti di implementazione.
  • Classificazione dei linguaggi: I linguaggi si dividono in "high-level" e "low-level". I linguaggi di basso livello (es. assembler) sono più vicini all'hardware e spesso più veloci, mentre quelli di alto livello (es. PHP, Java, C++) sono più astratti e complessi da tradurre.
  • Cos'è un algoritmo: Un procedimento per risolvere un problema attraverso un numero finito di passi elementari, chiari e non ambigui, in un tempo ragionevole. È un concetto cardine della programmazione, rappresentando la logica di elaborazione prima della sua codifica in un linguaggio specifico.
  • Programmazione Dinamica: Un approccio che ottimizza la risoluzione di problemi complessi suddividendoli in sottoproblemi sovrapposti e riutilizzando i risultati intermedi. È illustrata dalla successione di Fibonacci, mostrando la maggiore efficienza di un approccio "bottom-up" (O(n)) rispetto a uno ricorsivo "top-down" (O(2^n)).
  • Applicazioni e vantaggi: L'approccio iterativo della programmazione dinamica rivela sottoproblemi identici, ordina le operazioni per il riutilizzo, e costruisce una tabella di risultati intermedi. Questo è cruciale per problemi di ottimizzazione in bioinformatica, come l'algoritmo di Needleman-Wunsch, che calcola tutti i percorsi possibili per l'allineamento di sequenze una sola volta, conservando i risultati intermedi per trovare il "percorso migliore" in modo efficiente.

Altri appunti di BIOTECNOLOGIE MOLECOLARI E BIOINFORMATICHE

Condividi questi appunti

WhatsApp Telegram