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.
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
INFORMATICA B
Corso di programmazione in linguaggio C.
Oggi quasi tutti gli oggetti elettrici ed elettronici, hanno al loro interno, un calcolatore
sistema di domotica
automazione industriale etc.
- sensori => apparecchi che rilevano le condizioni esterne
- attuatori => apparecchi che eseguono gli ordini del calcolatore
I sensori ed attuatori, sono detti periferiche: Il calcolatore è il "nucleo", tutte le comunicazioni avvengono tra le periferiche.
Il linguaggio del calcolatore attraverso le periferiche
Il calcolatore ci ha cambiato la vita:
- semplificandola, permettendoci di fare calcoli immediati e semplificando gli altri lavori
Prima parte del corso
- cosa è fatta un calcolatore
- come si può programmare
Seconda parte del corso
- Sistema operativo: zona in cui si costruiscono tutti i programmi e dove si trova in contatto con il calcolatore
INFORMATICA
- Scienza che si occupa di elaborare l'informazioni. (elaborare calcoli)
- È nata prima del calcolatore, e è basata sul concetto di algoritmo
Algoritmo => sequenza di istruzioni che ci permette di modificare l'ambiente, quello che ci circonda, e ottenere determinati risultati
- può essere svolto sia da macchine che da calcolatori
Linguaggio macchina => Linguaggio del calcolatore. Lingua per comunicare. È molto difficile e sequenze 0 e 1 che il calcolatore riesce a capire
Programma => Obbiettivo che viene compito dal calcolatore quando è scritto in linguaggio macchina
Dato che il linguaggio macchina è difficile da capire per noi, è possibile tradurlo in linguaggi più vicini a noi es. C, C++, etc., che però il calcolatore non capisce => serve il compilatore
Compilatore => Si occupa di tradurre il linguaggio di alto livello in linguaggio macchina
- Il programma presente nel calcolatore, da eseguare da lui
Hardware => Dispositivo fisico che forma il calcolatore
Software => Insieme di programmi eseguiti dal calcolatore
- Si divide in:
- Software di base => Sistema operativo si comunica con i: programmi, gestisce lavori di base del calcolatore (librerie contenenti algoritmi)
- Software applicativo => Tutti gli altri programmi
Ambienti di programmazione
- editor (per fare programmi)
- compilatori
- linker (che lega le varie parti del programma creando il programma eseguibile da calcolatore
- debugger = controllo dell’esecuzione del programma
MODELLO DELL’HARDWARE DI VON NEUMANN
BUS
- UNITA’ DI ELABORAZIONE
- MEMORIA CENTRALE
- INTERFACCIA PERIFERICHE P1 e P2
• È il modello del calcolatore
• Autostrada del calcolatore per trasferire dati da una parte all’altra tutti gli elementi sono collegati dai bus
• È la sua entità del calcolatore
• Legge in cui si trovano i dati in istruzioni del programma risultato parziale di calcoli
Rappresentazione dell’informazione (codice binario)
Sequenza fila di zeri e uno (binaria 0 e 1) comportata 8 (8 bit) che forma in byte con un byte si ha una lettera, con 3 byte una parola ex di traduzione di numeri
- 0 ⇒ 0 000
- 1 ⇒ 1 001
- 2 ⇒ 10 010
- 3 ⇒ 11 011
- 4 ⇒ 100 100
- 5 ⇒ 101 101
- 6 ⇒ 110 110
- 7 ⇒ 111
- 10 ⇒ 1000
per i caratteri non numeri: la ASCII ha associato ad ogni carattere una lunga sequenza di bit sulla base di una combinazione (lettere in sequenza binaria eseguire in sequenza)
es. e ⇒ 01100001
e.g. ⇒ 01100110 etc
Il calcolatore compie solo contatti di programmazione se la sequenza di bit rappresenta numeri è un contatto non numerico
sistema posizionale= la cifra ha importanza in relazione al posto che occupa
formula di traduzione numeri bin-dec
a020 + a121 + a222 + an2n
vale anche per tutte le basi, posto sostituito al 2 ex. 7 ⇒ 111
1.1 + 1.2 + 1.4 = 7
memoria centrale = è organizzato in celle, ogni cella può contenere 1 numero la numeri contiene 8 bit nr (multiplo di 8)
Fanno parte della memoria centrale
- la RAM = random access memory (è volatile, non solo contatti)
PC 0010 → AR 0010 → DR contenuto 0010 → CIR contenuto 0010
PC 0010 → 0011
decodifica
esecuzione → L'ALU guarda il valore che è in AC cambio 1 in tal nel SR il CU non esegue e decodificano fono nA = 0 Torna all'istruzione 0000, altrimenti va alla seguente nA = 0 su PC 0000, nA ≠ 0 su PC 0011
4a istruzione
fetch → PC 0011 → AR 0011 → DR contenuto 0011 → CIR contenuto 0011
PC 0010
decodifica → Istruzione di stampa (periferica output)
esecuzione → L'CU prevede l'operande dell'istruzione dal CIR e lo mette nell'AR AR 0011 → Load → DR contenuto 0011 (output) Ora→ Trasferire il dato che è nel DR nel DPR della periferica L'CU avvisa la periferica che è arrivato il dato.
5a istruzione
fetch → PC 0100 → AR 0100 → DR contenuto 0100 → CIR contenuto 0100 PC 0101 → nel CIR c'è istruzione di fine, le porte ad un indicatore fisco (intero operativo che riprisale un ciclo di)
COSTRUZIONE DI UN ALGORITMO → DIAGRAMMI DI FLUSSO
per esprimere un algoritmo
- Formati linguistici:
- Linguaggio naturale e linguaggio macchina
- La nascita di algorithmi di programmi e linguaggio (pre-istruzione linguaggio n.d.r)
- Programmi e diagrammazione (ex 2)
- Formati euristica
- divide et impera: divindi un problema grosso in sottoproblemi risolvibili
- raffinamenti successivi: identici una soluzione e per approssimazioni successivi raffinata per farla capparte del calcolatore
ex. moltiplicazione
21 x 4 = 21 + 21 + 21 + 21
- acquisire due dati
- deter. il meno (min) and il maggiore (max)
- effettua la somma max + max * un numero di volte pari a min
- disse risultato to carattere maiusculo
char = carattere
% fa un ciclo con while
#include <stdio.h> #include <ctype.h>
void main ()
{ char carott char intestine carott = "a"
% eseguere valore gravian