APPUNTI SUL LINGUAGGIO C

Slides:



Advertisements
Presentazioni simili
Sottoprogrammi: funzioni e procedure
Advertisements

Nel C non esiste un dato primario di tipo stringa; queste sono rappresentate con un array monodimensionale di caratteri (tipo char). Così per definire.
Ricorsione Procedure e funzioni ricorsive. Definizioni Un oggetto si dice ricorsivo se è definito totalmente o parzialmente in termini di sé stesso La.
Linguaggio C++ Operatori – numeri pseudocasuali - costanti.
Procedure e funzioni ricorsive
Generazione di numeri casuali in Dev C++
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Corso di Informatica (Programmazione)
Esercizi su pile Scrivere una funzione che restituisca una nuova pila che contiene i valori di una pila in ingresso in ordine inverso. La pila originale.
Lezione 17 maggio 2007 Parametri da linea di comando FILE Strutture (introduzione)
void binario(int n); …………………
Massimo Comun Divisore
Programmazione di Calcolatori
Esercizi La distanza di hamming tra due interi x e y si definisce come il numero di posizioni nella rappresentazione binaria di x e y aventi bit differenti.
Alberi binari Definizione della struttura dati: struct tree { };
Algoritmo che viene utilizzato per elencare gli elementi di un insieme secondo una sequenza stabilita da una relazione d'ordine, in modo che ogni elemento.
Molecola di DNA = lunga catena di nucleotidi
Array (ordinamento) CORDA – Informatica A. Ferrari.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Prog21 Alberi binari (radicati e ordinati) Il figlio destro della radice La radice Il figlio sinistro della radice Il padre del nodo 5.
1 ELEMENTI DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
La chimica della vita Ogni organismo vivente è una macchina sofisticata, risultato di un complesso insieme di reazioni chimiche. La costruzione e il funzionamento.
La Fabbrica delle Proteine
Tutorato Elementi di Informatica 2013
10. Programmazione Ricorsiva Ing. Simona Colucci
Divide et Impera Quicksort Mergesort Charles Antony Richard Hoare
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
Il DNA è un polimero di nucleotidi
ALLA SCOPERTA DEL DNA.
DNA RICOMBINANTE.
Recap su: array e puntatori
realizzato dal prof.Conti Riccardo
DNA: The life molecule La ricerca del materiale genetico (da Eissman a Hershey e Chase) La struttura del DNA (da Chargaff a Watson e Crick) Le funzioni.
Legame covalente omeopolare
La Fabbrica delle Proteine
Tipo String String è una classe predefinita
Programmazione e Laboratorio di Programmazione
APPUNTI SUL LINGUAGGIO C
Gestione di un banco di magliette
Gestione di un ristorante
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
APPUNTI SUL LINGUAGGIO C
APPUNTI SUL LINGUAGGIO C
comprensione e modifica di codice
Process synchronization
APPUNTI SUL LINGUAGGIO C Implementazioni di Liste Concatenate
APPUNTI SUL LINGUAGGIO C Esercizi sugli array e strutture
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Le stringhe in C++ Laboratorio 26 Aprile Dott. Serena Villata
APPUNTI SUL LINGUAGGIO C
Legame covalente omeopolare
comprensione e modifica di codice
APPUNTI SUL LINGUAGGIO C Allocazione dinamica della memoria
LINGUAGGIO C Alberi e livelli
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
APPUNTI SUL LINGUAGGIO C Alberi Binari – primi esercizi
Esercizio Dato un albero binario, definiamo altezza minimale di un nodo v la minima distanza di v da una delle foglie del suo sottoalbero, definiamo invece.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Verifica bilanciamento nel numero dei nodi: definizioni.
Acidi nucleici.
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

APPUNTI SUL LINGUAGGIO C Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi su Liste

Esercizio L’informazione genetica codificata nel DNA è codificata nella sequenza di basi: A = adenina, G = guanina, C = citosina, T = timinia Per convenzione sequenze di DNA sono rappresentate come liste di caratteri ‘A’,‘G’, ‘C’, ‘T’ Si vogliono analizzare sequenze di questo tipo, contenenti solo i caratteri ‘A’, ‘G’, ‘C’, ‘T’.

Generazione di numeri casuali In c la libreria <stdlib.h> esiste la funzione int rand() che restituisce un numero intero casuale compreso tra 0 e la costante RAND_MAX (di solito di valore 32767)

Costruire le seguenti funzioni Funzione void DNAGen(plist* L, int DIM) che generi una sequenza casuale di DNA con DIM caratteri. p.s. si ricordi che i caratteri ammessi sono A, G, C e T

Costruire le seguenti funzioni Funzione int TestDNA(plist L) che data una sequenza di caratteri (lista) verifica se questa sia una sequenza di DNA p.s. si ricordi che i caratteri ammessi sono A, G, C e T

Costruire le seguenti funzioni Funzione void deleteDNA(plist* L, char c) elimina tutte le occorrenze di c, e stampa la sequenza risultante E.g. se sequenza {‘G’, ‘A’, ‘A’, ‘T’} e bisogna cancellare ‘A’ allora stampa GT.

Costruire le seguenti funzioni Funzione int confrontaDNA(plist L1, plist L2, int t) che verifica se due sequenze di DNA (anche di lunghezza differente) siano t-allineati E.g. L1: ‘G’, ‘A’, ‘A’, ‘T’. L2: ‘G’, ‘C’, ‘A’, ‘T’, ‘C’. Se t >=2 allora sono t-allineati, altrimenti no p.s. esiste la funzione int abs(int a) che restituisce il valore assoluto di a

Costruire le seguenti funzioni Funzione void commonDNA(plist L1, plist L2, plist* L3) che calcola in L3 la sequenza costituita dai caratteri (in ordine) in comune tra le due sequenze di DNA (anche di lunghezza differente) E.g. L1: ‘G’, ‘A’, ‘A’, ‘T’. L2: ‘G’, ‘C’, ‘A’, ‘T’, ‘C’. L3: ‘G’, ‘A’, ‘T’

Costruire le seguenti funzioni Funzione void invertDNA(plist L, char C1, char C2) che inverte nella sequenza di DNA data tutti i caratteri C1 con i caratteri C2 E.g. L: ‘G’, ‘A’, ‘A’, ‘T’. e C1 = A e C2 = T L: ‘G’, ‘T’, ‘T’, ‘A’.

Costruire le seguenti funzioni Funzione int MatchDNA(plist L1, plist L2) che verifica se due sequenze di DNA matchano. allineate due sequenze: Devono avere la stessa lunghezza Se due caratteri allineati sono diversi allora: G su A (e viceversa), T su C (e viceversa) E.g. L: ‘G’, ‘A’, ‘C’, ‘T’, ‘T’ L: ‘A’, ‘G’, ‘T’, ‘C’, ‘T’

Costruire le seguenti funzioni Funzione int WindowDNA(plist L1, plist L2) che verifica se due sequenze di DNA sono a “specchio”, quindi una è l’altra letta da destra a sinistra. E.g. L: ‘G’, ‘A’, ‘C’, ‘T’, ‘T’ L: ‘T’, ‘T’, ‘C’, ‘A’, ‘G’

Costruire le seguenti funzioni Funzione int PalindromeDNA(plist L) che verifica se una sequenza di DNA è Palindroma E.g. L: ‘G’, ‘A’, ‘A’, ‘G’

APPUNTI SUL LINGUAGGIO C Corso di Algoritmi e strutture Dati APPUNTI SUL LINGUAGGIO C Esercizi su Liste FINE