Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Videolezioni
Lezione 3 - Flow Chart (5/3/2021)
Diagrammi di flusso - Rappresentazioni grafiche che individuano i passi di risoluzione di un problema.
Sono costituiti da vari blocchi: Esempio:
Blocchi di azione:
- START → Blocco di inizio
- STOP → Blocco di fine
Ci sono simboli che rappresentano delle azioni ed una serie di frecce che indicano quali sono i passi successivi da compiere.
Blocchi di azione:
- Azioni generiche
- Azioni di I/O Introduciamo e visualizziamo dati [I/O - Input/Output]
Blocco di decisione:
Condizione (Vero/Falso)
Blocco di connessione:
Δ < 0
d = √Δ
−b/2α
i = d/2α
Visualizza la parte reale e immaginaria
√Δ = d
x₁ = −b + d/2α
x₂ = −b − d/2α
Visualizzo x₁, x₂
STOP
Questo algoritmo è SBAGLIATO perché, se ad esempio α = 0, il tutto non funzionerebbe!
Va bene solo se α, b ≠ 0
Start
Legge α, b, c
α ≠ 0
b ≠ 0
c ≠ 0
x₁ = −c/b
Identità
Impossibile
Stop x₁
STOP
Algoritmo precedente
OK
LEZIONE 4 - ESERCIZI: FLOW CHART, ARCHITETTURA 1 (11/03/200...)
ESERCIZIO 1
- Si legge un numero naturale dalla tastiera e si verifichi se è divisibile per 3 sia per 17.
NB: un numero è divisibile per un altro se il resto è zero.
START
Leggo un numero N
R = resto di N/3
R = 0?
- Vero: R = resto di N/17
- R = 0?
- Vero: Divisibile sia per 3 che per 17
- Falso: Non divisibile per 17
- Falso: Non è divisibile per 3
STOP
Memoria Interna (RAM)
È costituita da piú chip e si trova dell'interno dell’elaboratore.
È spesso volatile, ovvero quando il procesore si spegne le informazioni vengono perse.
È veloce / la CPU usa i programmi e i dati della memoria interna.
Memoria Esterna
È piú lenta ma può contenere un numero molto maggiore di dati. Non è volatile.
Memoria RAM
SRAM (RAM statica)
Veloce
DRAM (RAM dinamica)
- Meno veloce
- sono le piú usate nell’elaboratore
LEZIONE 10 - LOGICA BOOLEANA (parte 1) 25/3/2014
Logica "binaria". Ha un'opposi può essere solo V o F.
Le enunciazioni sono V o F , queste si possono compiere (congiunzioni).
[ e , o, non ]
TAVOLA DELLA VERITA'
A B A and B F (0) F (0) F (0) F (0) V (1) F (0) V (1) F (0) F (0) V (1) V (1) V (1)Una colonna per ciascuna variabile, tante righe quante sono le possibili combinazioni delle variabili
num. variabili = 2
Vero ↔ 1
Falso ↔ 0
A B A or B F F F F V V V F V V V V⊕
f (A, B, C) = (A or B) and C
La congiunzione si accorda se C è abbasopsio e lo è anche uno tra A e B
Lessico
13 - I fenomeni chimici, fisici e il calore
I fenomeni chimici
- Reazioni - Cambiano; perdite caratteristiche; nuove sostanze
- Esempi: bozze, aerobe, ferro
I fenomeni fisici
- Esempi: colorazione 0° C dell'acqua
Switch.
Es.: l'acqua porta dalla parte liquida a gaseosa bolle via pioggerelle e scale di (solidi)
LEZIONE 16 - VETTORI
08/04/2014
ESERCIZIO: Creare un programma che, dato un numero N da tastiera, ci dica se è primo
int main ( )
- int N, i, flag;
- printf("Inserisci un numero");
- scanf("%d", &N);
- flag = 0; bandierina abbassata
- for (i = 2; i < N ; i++)
- { N % i ; resto della divsione tra N e i
- if (r == 0)
- flag = 1 ;
- }
- if (flag == 1)
- printf ("No numero primo");
- else
- printf ("Si numero primo");
- return 0;
Il programma così funziona ma si possono fare due miglioramenti:
Ad esempio non è necessario che dividiamo N da i = 2 ad N stesso:
N = 10
10 10 10 10 10 10 10 10
2 3 4 5 6 7 8 9
Possiamo dividere N da i a N/2 poiché superato
quel limite si returnerà non sarà divisibile per quel
numero
- int N, i, flag;
- for
- (i=2; i < N/2 ; i++)
- {{(N % i ==0)
- return 0;
LEZIONE 18 - ESERCIZI SUI VETTORI (parte 1) (9/4/2014)
ESERCIZIO 1
Abbiamo un sensore collegato al celebratore che misura quanta acqua è piovuta. Vogliamo fare un programma che:
- Legga da tastiera i valori di piovosità.
- Calcoli la piovosità media della settimana.
- Calcoli quando la piovosità giornaliera è superiore ad un dato valore soglia.
- Calcoli la differenza massima di piovosità nella settimana.
LEZIONE 13 - FUNZIONI (16/04/2014)
I sottoprogrammi C, vengono chiamati FUNZIONI
Questo approccio è detto top-down ed ha lo scopo di semplificare un problema.
Si suddivide il programma in blocchi di istruzioni che abbiano un segno fisso e possano essere utilizzati più volte.
- Parametri
- Funzione
- Risultato
Le funzioni ricevono in mazzo dei parametri e tramite una serie di istruzioni dará un risultato.
Per creare una funzione (o modulo):
- Assegnarle un nome
- Inserla in RETURN
- Trovare un modo per far passare le informazioni dal modulo al programma principale
NB:
I moduli possono stare nel programma (servendosi del codice) oppure fuori dal programma in librerie. Dentro si scriviamo noi, fuori di hanno scritti altri (es: stdio.h).
int main () int pippo (int x); a = pippo (x); estern m;
return 0;
S1 = somma (Va, 6);
S2 = somma (Vb, 5);
if (S1 > S2)
printf ("Va ha la somma maggiore");
else
printf ("Vb ha la somma maggiore");
return 0;
int somma (int Vc[], int dim)
{
int s, i;
s = 0;
for (i=0; i<dim; i++)
s = s + V[i];
return s;
}
GESTIONE CARATTERI
In C i testi vengono trattati mediante due strutture dati:
- i caratteri
- le stringhe (sequenze ordinate di caratteri)
1. CARATTERI
Ricordiamo che il codice ASCII permette di rappresentare un carattere attraverso un valore numerico.
In C i caratteri si rappresentano con un byte e il valore del byte è il valore del codice ASCII associato a quel carattere.
Dichiarazione:
char c='a';