




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Dispensa con nozioni appunti lezioni, teoria e screenshot delle schermate degli esercizi svolti in classe. Sono presenti all'interno della dispensa risoluzione quesiti ed esercizi dei temi d'esame e spiegazioni passaggio per passaggio degli stessi.
Tipologia: Appunti
1 / 118
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































Nella prima parte della lezione abbiamo visto un’operazione semplice di somma su Excel attraverso la relativa funzione e come si effettua lo scambio tra due numeri contenuti in due celle diverse. HP di avere un numero di bicchieri A1,B1,C1… → sono contenitori che possono avere due utilizzi principalmente: 1) mettere qualcosa all’interno o 2) utilizzare il contenuto. Se ad es. abbiamo due bicchieri, uno con Coca Cola e l’altro con Aranciata e vogliamo scambiare il contenuto, dovremo ricorrere all’utilizzo di VBA (Visual Basic for Applications) attraverso ALT + F11. All’interno di questa nuova finestra dovremo inserire la funzione di copia del contenuto di quelle celle nelle altre, e successivamente andare a controllare la veridicità della ricetta attraverso il tasto ESEGUI (F5) >.
quello che c’è nella cella A1 e vado a modificare la cella C1→ DUPLICAZIONE, fa una copia ma non svuota.
alternative. Ad esempio “se i funghi sono secchi li metto nell’acqua, altrimenti li tolgo”→ viene eseguita una della due operazioni.
Algoritmo sono le istruzioni da eseguire in sequenza (ricetta), se li consideriamo insieme alle intestazioni otteniamo il programma. Ogni volta per aprire un nuovo oggetto dovrò seguire la procedura, nella finestra a destra RESOURCE FILES-TASTO DX-“ADD NEW ITEM”.
funzione, il significato di x e y qual è? Sono i dati, rappresenta quello che devo dare a chi mi esegue la funzione affinché possa trovare il risultato della funzione. X + Y dopo l’uguale prende il nome di corpo della funzione, descrizione di quello che deve essere fatto per trovare risultato giusto. X e Y rappresentano due valori della funzione, ma che tipo di valori devo dare? Sono numeri reali e quindi bisogna indicare se y e x sono numeri reali f(x,y) = x + y. Questa è una funzione che prende numeri reali e calcola un numero reale. f(x,y) = <x + y, x*y> → è una coppia f: RxR → RxR prende due numeri reali e restituisce due numeri reali. R x R è il dominio, metto l’asterisco al posto del “per”.
Quando realizzo funzione al calcolatore, bisogna tenere conto di un’altra cosa. Calcolatore composto da Microprocessore (CPU), Memoria centrale (RAM), Periferiche (Video, Mouse, stampante) che hanno due funzioni, periferiche di input (tastiera, mouse) e di output (stampante) o doppia funzione di input e output (chiavetta USB).
utilizzati per ottenere risultato. Una funzione che non ha parametri è una funzione costante, f(x) = 3 è ammissibile, non da sempre lo stesso risultato, ma i dati vengono dati al calcolatore non attraverso parametri ma con periferiche. g() = 6. Se prendo dati di periferiche non è più una funzione costante, perché non da sempre lo stesso risultato ovviamente se arriva un dato dalla tastiera ad esempio anche nel caso in cui la funzione non ha parametri. Ho il problema trovo l’algoritmo (soluzione) nel corpo della funzione <x + y, x*y> nella funzione MAIN e a quel punto scrivo il programma. Il calcolatore ignora il numero di spazi, guarda le istruzioni al netto della formattazione. Tutto quello che segue gli slash sono commenti al programma. int main() { } → PER FARE PARENTESI GRAFFE ctrl + alt + shift + [
funzione main non fa niente. E’ una funzione costante? Dipende da quello che c’è nel corpo, se inserisco dati dalla tastiera. INT nella funzione main devo metterlo, è il tipo del risultato della funzione, il tipo di risultato della funzione f(x,y) è un numero reale. Sotto con “int” dico che la soluzione è un numero intero. La funzione potrebbe avere dei dati che inseriti con la tastiera può ricevere. Il fatto che c’è scritto “int” non significa avere un numero intero come risultato perché posso inserire valore da un dispositivo. { … } questo è il corpo della funzione.
(che è appunto un contenitore). Nel nostro problema mi servono 3 contenitori, A1 , B1 , C1. La regola nella scelta dei nomi che utilizziamo noi è semplificata.
Significa il numero del dispositivo di input lo metterà in a1 e l’altro in b1. Il primo dato digitato nella tastiera verrà messo in a1 e l’altro in b1, ogni volta che c’è istruzione di cin viene preso un dato che viene consumato. Metto pallino rosso su cin per fare vedere cosa succede quando calcolatore esegue istruzioni. ➢ Per eseguire mando esecuzione con la freccia verde. Se andiamo nel menu DEBUG , se programma è in esecuzione c’è funzione di STEP OVER (F10) che vuol dire esegui istruzione puntata dalla freccia gialla. Questa istruzione significa prendi un dato digitato dalla tastiera e mettilo in output. Appare una schermata nera in cui inserisco i valori digitati dalla tastiera riferiti alle variabili. ▪ Esce schermata in cui inserisco numero 67 poi premi tasto verde continua e poi inserisco il 23 nel secondo.
Anzitutto devo mettere: #include
cin >> b1; cin >> a1; se inverto cambia il problema, conta l’ordine.
indico il tipo di variabile (int), poi un elenco delle variabili con virgola che sto definendo.
sintassi del programma e sotto compaiono gli errori, ad es dimentico virgola dopo a1 mi da questi errori. c1 = a1;
parte a SX ci va variabile che deve essere modificata, a DX ci va un’espressione, tutto terminato con un punto e virgola.
WARNING E’ DIVERSO DA ERRORE: Ci viene indicata la riga in cui ha riscontrato il problema e il messaggio.
attenzione che l’algoritmo non è giusto, il primo messaggio dice ad es. “è una variabile locale non utilizzata”. Non sono errori, ossia non sa cosa fare, ma gli sembra strana
Alla fine ci dice che il programma non ha trovato errori. Se invece dimentico ; dopo w → Errore di sintassi.
Dobbiamo vedere se le istruzioni che abbiamo dato modificano correttamente i valori delle variabili. Per vedere contenuto dobbiamo interrompere contenuto (pallino rosso) prima che termini il programma ossia quando vengono distrutti. Se mando in esecuzione col pallino rosso, si vede la freccia gialla che ci indica che il programma è stato eseguito fino a quel punto, l’istruzione indicata dalla freccia non è ancora stata eseguita. A quel punto posso vedere valore delle variabili o riprendere esecuzione. L’avvio dell’esecuzione apre la finestra nera, in cui inseriamo i dati da tastiera (finestra di input e output). Compaiono i due pannelli sotto, se per errore chiudo i pannelli devo andare nel menu Window e fare reset window layout.
ci sono tutte le variabili che abbiamo dichiarato nel programma. Interrompo l’esecuzione perché non ho altre istruzioni oppure se ho altre istruzioni con il pallino rosso mando avanti. A noi interessa capire se istruzioni sono state scritte correttamente. Dichiarazione di assegnamento – Prima istruzione N.B. E’ l’unica istruzione che consente di modificare i contenitori. Istruzione assegnamento può essere scritta in diversi modi.
diciamo che vogliamo modificare la variabile x inserendo il valore nel contenitore dell’espressione a DX (l’espressione deve corrispondere alla variabile ossia deve essere contenuto soltanto un numero intero),
x = 6; z = 9 + 3; y = sqrt →radice quadrata (4.5) + 3; u = x * 2; si possono utilizzare anche espressioni con variabili
l’istruzione x = 6, il calcolatore con l’assegnamento calcola valore dell’espressione, se è dello stesso tipo della variabile viene copiato nel contenitore. Se premo F10 STEP OVER il valore sotto viene 6. Le immagini sono riferite al calcolo di ogni variabile.
ESPRESSIONI NUMERICHE
ESPRESSIONI RELAZIONALI LOGICHE
== significa uguale mentre! = è il diverso.
Non è vero che 15 è diverso da 8 → è falsa.
Vera se sono entrambi veri. 15 diverso da 8 e 34 maggiore di 12 , quindi se mando in esecuzione il calcolatore mi da vero. Se invece→→→→→→→→
Le istruzioni sono seguite in sequenza, se non ho finito di eseguire la prima non posso eseguire la seconda.
Sia nel primo che nel 2 blocco le istruzioni possono essere molteplici, non solo una per forza.
Di tutte le istruzioni ci interessa sapere il loro funzionamento, come calcolatore utilizza dati cioè variabili quando esegue istruzioni. L’unica istruzione che modifica le variabili è l’assegnamento, la selezione non modifica le variabili, a meno che nelle alternative ci sia un assegnamento. Nell’espressione verranno utilizzate se ci sono, le variabili. Prima controlliamo se ci sono errori, Build solution (errori di sintassi). Lo mandiamo in esecuzione e calcolatore ha dichiarato la variabile e si aspetta che metta un dato dalla tastiera. Qua dobbiamo inserire un valore intero (8), “ho comprato i funghi secchi” ad esempio. Premo invio, e poi va a valutare l’espressione, quanto vale espressione? 8 > 4 è vero e quindi calcolatore va ad eseguire solo la prima alternativa. Premo F10 (STEP OVER), si sposta sulla prima alternativa. Cout <<…
Doppi apici sono detti visualizzatori della sequenza (è espressione costante). “Endl;” significa vai a capo nella riga della finestra, poi compare finestra nera “il numero è mag di 4!!” Se premo ancora F10 cursore salta la seconda alternativa, poi va ad eseguire l’ultima istruzione cout << “ il programma…” scritta dopo istruzione di selezione. Premo F10 e nel video compare il messaggio.
**_1. ISTRUZIONE DI VARIABILE int x
// a x^2 + b x + c = 0. I dati che calcolatore deve elaborare sono a, b, c. Dobbiamo ottenere risultato di equazione di 2 grado. Anzitutto prima devo capire se ha soluzione poi nel caso ci sia devo trovare le due radici. Al calcolatore devono essere dati 3 valori e lui ci deve rispondere, noi la vogliamo (la risposta) scritta nelle variabili. La risposta del calcolatore, avrà bisogno di 3 righe, in una deve scrivere se c’è o non c’è soluzione, se c’è la soluzione ne servono altre due per scrivere risultato. Dovrà prendere valori dei coefficienti e scrivere in base ai valori scrivere nelle variabili il risultato delle equazioni. Il calcolatore diciamo nel procedimento di costruire le variabili solo quando servono, è inutile che le costruiamo subito ma prima bisogna vedere se ci sono soluzioni. VARIABILI sono x1; x2 (dove vanno le radici); h (dove scriveremo c’è la soluzione o non c’è). Pensiamo a quante variabili servono, non è necessario averne 3 per numero di dati, dipende da come risolviamo il problema.
Per fare il quadrato non c’è operatore ma c’è funzione che lo fa, ma utilizzo b*b più semplicemente. La parte sotto si modifica così: Delta maggiore di 0 diventa delta > 0; assegnamento sotto x1 = 0, possiamo utilizzare solo parentesi tonde.
➢ Eseguo il cin Inserisco valori a,b,c (4,2,-2) e avrò in questo caso sicuro delle soluzioni, premo invio.
Se scrivo: In matematica dire se sono compresi è sintesi del dire che x > 3 e x < 8. Se voglio chiedere se è compreso devo scrivere così, non ci sono scorciatoie.
variabile conterrà il più grande tra questi numeri interi. Se il primo numero è maggiore del secondo (b), possiamo dire che il secondo non è il più grande quindi confronto primo con il terzo so qual è il più grande. E se succede questo il risultato è a, se non succede questo il risultato è c. Se il primo non è maggiore del secondo dovremmo confrontare il secondo con il terzo. Se il secondo è maggiore del terzo, il risultato è uguale al secondo altrimenti il risultato è = al terzo. Una soltanto verrà eseguita tra le alternative di assegnamento. In alternativa potevamo fare così; chiedere nella ricetta di fare confronto: Se è vero il risultato è a, se è falso quello basta confrontare secondo con il terzo.
Prima il 2 poi ci da il 5, cancelliamo il 2 e scriviamo il 5 e via. Nel foglio di carta ci stiamo appuntando il più grande. Se ho il più grande dei numeri già dati, confrontiamo il più grande con il nuovo numero. Bastano due righe, il primo numero che ci viene dato lo mettiamo nella prima riga, nella seconda riga scrivo il numero nuovo e se è più grande lo metto nella prima riga. cin >> a ; risultato = a; cin >> a; Confrontiamo il primo con il secondo numero, lo copiamo nella riga risultato nel caso il secondo siamo più grande del primo. Quindi scriviamo: If (risultato < a) Risultato = a; (nella riga risultato c’è sempre il più grande tra i due).