Estratto del documento

Software applicativo :

cosa è e come si fa per arrivare ad un software. Problema di natura LOGICO (dato un problema va

ricavata la soluzione) e LINGUISTICA (è necessario comunicare la soluzione trovata alla macchina

tramite un apposito linguaggio).

Dati imput alla macchina, la quale elabora le informazioni e poi mi dà l’output.

Abbiamo un insieme di dati e vogliamo ottenere un risultato.

La prima cosa da fare è eliminare ogni possibile tipo di ambiguità, perché la macchina non saprebbe come

trattare. Necessario dunque: rispettare alcune regole, dei vincoli ed in fine considerare dati espliciti ed

impliciti. I dati impliciti: es. dico 1sett e so che sono 7 giorni.

I software applicano costantemente algoritmi. Fanno un’analisi ad alto livello e formulano un modello di

una soluzione, ben strutturato. Questo modello di soluzione verrà descritta, passo passo, in modo

formalizzato e comunicato alla macchina. Comunicato nel linguaggio che la macchina riesce a capire: in

binario. Oggi ci sono linguaggi diversi es. il VBA dove ci sono stringhe di testo che tramite dei software

che prendono nome di traduttori che hanno lo scopo di tradurre l’algoritmo in un linguaggio ad alto

livello nell’unico che la macchina comprende.

Se il problema è complicato lo dividiamo in pezzi più semplici e concatenati.

Algoritmo: è un procedimento formale che risolve un determinato problema attraverso un numero finito

di passi. Un problema risolvibile tramite un algoritmo si dice computabile.

“una sequenza finita di passi elementari e non ambigui atta alla risoluzione di una classe di problemi in

tempo finito”

Finita: per raggiungere la soluzione. Deve avere un inizio e una fine.

- Non ambigui: altrimenti la macchina non saprebbe come procedere

- Atta alla risoluzione di una classe di problemi: non faccio un algoritmo per ogni piccola

- sfaccettatura, ma scrivo una sequenza di passi per risolvere una classe di problemi e non solo

quella casistica (es. moltiplicazione)

Tempo finito: Significa non incorrere in situazioni di loop, evitarlo. Che differenza c’è tra

- sequenza finita e tempo finito? Anche se la sequenza è finita i passi elementari potrebbero essere

infiniti da fare.

Altre caratteristiche importanti per l’algoritmo: slide (completezza da non fare).

Correttezza: l’algoritmo fa quello che deve fare, per il raggiungimento del risultato. È corretto se

- raggiunge la soluzione che voglio. BAG: software che ha un bag significa che non è corretto

perché non raggiunge gli scopi per cui è stato progettato.

L’efficienza (o complessità si dirama in due: Efficienza in Spazio e Efficienza in Tempo. Si dice

- che un algoritmo è ottimo se utilizza il minor tempo possibile per produrre un risultato.

Ottimo da pdv in complessità in Spazio: se occupa il minimo spazio di memoria necessario per

portare avanti l’elaborazione.

Ottimo da pdv in complessità in Tempo: utilizzo il minimo tempo necessario per arrivare alla

soluzione.

 Es. prendiamo una lista di numero ordinati o una lista di parole ordinate per ordine alfabetico. Volendo

andare a ricercare se è presente il numero 48.

Come si può procedere, quante operazioni devo andare a fare? Es. il 48 è al quinto posto esamino fino al

quinto.

Quando dobbiamo cercare una parola nel vocabolario, sfogliamo tutte le pagine? No, andiamo per

sottogruppi.

Ricerca dicotomica, e quindi algoritmo dicotomico: non di tipo sequenziale. L’idea è di spezzare sempre

in due. Per cercare il 48 ci metto più tempo in modo sequenziale. Più efficiente da un pdv di complessità

in tempo: la ricerca dicotomica.

Ci sono alcuni algoritmi in cui si riesce a dimostrare qual è il numero minimo di passi. E quindi

l’efficienza in tempo. Ci sono degli algoritmi in cui questo non si sa. Non tutto è noto.

 Se il nostro insieme di numeri, invece di essere ordinato non lo fosse?

7 2 10 20 14 3

Come faccio a vedere c’è oppure, non c’è? Necessaria una ricerca sequenziale, ma costa tanto e hanno

trovato dei metodi e degli algoritmi articolati e complessi per diminuire i tempi di ricerca.

E se volessimo ordinare questo insieme? Se voglio ordinare dal più grande al più piccolo, va trovato il

più grande, lo confronto con gli altri, a catena e vince il più grande. Riparto poi coi numeri rimasti.

Supponiamo che ogni numero occupi un certo spazio, es. caselline nel foglio.

Ci sono dei problemi che per loro natura hanno complessità molto elevata e non c’è verso di abbatterla.

 Es. Voglio sommare i primi numeri che vanno da 1 a 10?

Si parte dal primo, verrebbe da fare 1+2+3+4+5+6+7+8+9+10. OPPURE [Nx(N+1)/2]

Qual è l’algoritmo ottimo? Quello che impone meno passaggi, prendo la formula e ci metto dentro n.

Algoritmo: dati + istruzioni = passi di elaborazione informazione e quindi dei dati .

Dati: oggetti che devono subire le operazioni.

Operazioni: istruzioni che devono essere eseguite.

I DATI si suddividono in:

- Variabilità nel tempo: se per esempio la nostra età è un informazione è costante nel tempo o

varia? Varia. E’ costante se rimane inalterato nel tempo. Le variabili si riferiscono ad un oggetto

senza valore fisso nel tempo

Struttura: Dati elementari (sono ad esempio i numeri o i caratteri. E’ necessario aggregare questi

- dati elementari per raggiungere dati semanticamente più specifici e complessi) o dati strutturati ().

Tipo: In base alla casistica e all’elaborazione cambia il tipo di dato. Ci viene data la possibilità di

- definirne di propri a seconda della casistica.

Visibilità:

- Costanti: inalterate nel tempo, sono sempre loro. Non cambiano.

-

Il modo per andare ad assegnare qualcosa alla variabile

( ) Sinonimo dell’uguale. Prendi la parte a destra della freccia valutata, calcola, una volta che ho

ottenuto il risultato di questa parte destra la assegno alla variabile, la vado a mettere nel contenitore.

Es. se A=2 e B=3 .. C=? 5

Slide tnp?

Variabili strutturate permettono di riferirsi a più valori, a più oggetti tra loro correlate. (cerca)

Es. le matrici, sono delle tabelle.

Es. record, si fa punto per punto. Specificando il nome del record, un punto ed il campo. Es

(Studente.luogodinascita).

Nome del vettore individuare l’elemento, recuperare il campo ed andare a scrivere l’informazione.

Avere dei vettori in cui

Anteprima
Vedrai una selezione di 4 pagine su 14
Spiegazione 3° modulo informatica Pergola Pag. 1 Spiegazione 3° modulo informatica Pergola Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Spiegazione 3° modulo informatica Pergola Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Spiegazione 3° modulo informatica Pergola Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher VenoricaL di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Firenze o del prof Pergola Elisa.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community