informatica prime classi
DESCRIPTION
primi passi in informaticaTRANSCRIPT
Utilizziamo la tecnologia
Ada Sasso
Analisi e risoluzione di un problema Interpretare l’enunciato di un problema; Individuare le informazioni necessarie
per risolverlo; Descrivere il procedimento risolutivo; Eseguire nell’ordine le operazioni; Verificare i risultati
Ada Sasso
Concetto di algoritmo Gli algoritmi sono metodi per la soluzione di
problemi. Risolvere un problema significa ottenere in
uscita i risultati desiderati a partire da un certo insieme di dati presi in ingresso.
Affinché un metodo per la soluzione di un problema costituisca un algoritmo deve essere totalmente esplicito, vanno, cioè, specificati in maniera precisa e particolareggiata tutti i passi del procedimento da eseguire
Ada Sasso
Per definire un algoritmo è necessario: condurre un'attenta analisi del problema individuare i dati in ingressi ottenere i dati in uscita definire completamente e dettagliatamente
la sequenza dei passi che portano alla soluzione
Ada Sasso
deve essere finito, cioè deve essere costituito da un numero finito di proposizioni che contengono istruzioni e dati;
deve essere sequenziale, cioè il processo deve avvenire mediante il verificarsi di eventi concatenati uno dopo l'altro, nell'ordine fissato;
deve essere deterministico, cioè le frasi devono avere senso compiuto e non lasciare adito a interpretazioni diverse;
deve essere eseguibile, nel senso che devono esistere i mezzi necessari alla sua esecuzione;
Un algoritmo è un procedimento di calcolo costituito da un insieme di istruzioni, che fanno uso di un insieme finito di operazioni elementari note, e deve godere delle seguenti proprietà:
Ada Sasso
Rappresentazione degli algoritmi
Rappresentazione grafica Rappresentazione testuale Notazione Lineare Strutturata / PseudoCodice
Algoritmi: operazioni base Le operazioni primarie sono:
Trasferimento di informazioni (istruzioni di I/O) lettura dati, scrittura risultati, visualizzazione dati intermedi
Esecuzione di calcoli (valutazione espressioni) Istruzioni di assegnamento Strutture di controllo (che modificano il flusso sequenziale di
esecuzione delle operazioni)
Ada Sasso
Rappresentazione degli algoritmi E’ necessario far riferimento a dei
formalismi che:non introducano ambiguità; siano universalmente riconosciuti ed
interpretati allo stesso modo da un generico esecutore;
permettano di rappresentare in modo efficace un algoritmo;
costituiscano un utile strumento per poi poter passare alla fase di codifica;
Ada Sasso
I diagrammi a flussoUn diagramma a flusso (o flow chart) è un linguaggio formale di tipo grafico utilizzato per rappresentare algoritmi , attraverso la descrizione delle differenti operazioni sotto forma di uno schema in cui le diverse fasi del processo vengono rappresentate da simboli grafici detti blocchi. I blocchi sono collegati tra loro tramite frecce che indicano la cronologia.
A che cosa servonoUna schematizzazione del processo sotto esame può essere utile per rappresentare i passaggi chiave da analizzare e individuare le modalità di gestione delle diverse fasi di un processo.
Come si costruisconoSono individuati cinque tipi di blocchi elementari, collegati tra loro attraverso frecce:
un blocco iniziale, rappresentato da un ovale contenente la parola "INIZIO" un blocco finale, rappresentato da un ovale contenente la parola "FINE" i blocchi di azione, rappresentati da un rettangolo indicante una data operazione i blocchi di lettura/scrittura, rappresentati da un parallelogramma i blocchi di controllo, rappresentati da un rombo con un ingresso e due uscite
.
Ada Sasso
Simboli convenzionali
Inizio e fine elaborazione Dati in ingresso
Stampa o visualizzazione
condizione
connettori
Ada Sasso
Somma dei primi N numeri naturali in rappresentazione testuale:
1. Leggi N;
2. Azzera i;
3. Azzera s;
4. Assegna ad S il valore di S+i;
5. Assegna ad i il valore di i+1;
6. Se i è < o = ad N
7. Scrivi il risultato
8. Esci dal programma
9. Se i è > di N ritorna alla istruzione n.4Ada Sasso
Somma dei primi N numeri naturali in pseudo - codifica int s, i,N; printf(“Inserire il numero”); i=0; // azzero i somma=0; // azzero s scanf(“%d”,&num); while(i<=N){ s=s+i; i++; scanf(“%d”,&s); }
Ada Sasso
algoritmo Euclideo Prendi i valori a e b Se a < b allora scambiali Metti in resto il resto tra la divisione a e b Ripeti finché resto<>0 Metti in a il contenuto di b Metti in b il contenuto di resto Metti in RESTO il resto tra a e b Fine Ripeti Mostra il MCD che è pari a b
Ada Sasso
Algoritmo Divisioni successive(24 , 14) 24 : 14 = 1 resto 10 14 : 10 = 1 resto 4 10 : 4 = 2 resto 2 4 : 2 = 2 resto 0 quindi MCD(24; 14) = 2
Ada Sasso