Informatica
1. Informatica è la scienza che si occupa dello studio della rappresentazione e manipolazione dell'informazione.
L'elaboratore elabora degli input per dare dei risultati: in output, per far ciò risolve dei problemi:
- Bisogna codificare i dati in modo da renderli comprensibili all'elaboratore.
- Codificare gli ordini (input) in una sequenza tale da raggiungere il risultato desiderato.
- Decodificare i risultati per essere comprensibili dall'utente.
Il linguaggio compreso dal PC è in codice binario (tutti 0 e 1).
Hardware
Tutte le componenti fisiche dell'elaboratore tra questi: ci sono dispositivi di input/output
- di input (mouse, tastiera, ecc.)
- di output (es. monitor)
- di memoria (es. RAM, CPU)
Software
I programmi dell'elaboratore (in primis il sistema operativo)
L'elaboratore compie solo operazioni semplici che commette tra loro alcune altre risultano complesse:
- Top down: dividere problemi complessi in qualcosa di più semplice
Programmare
Scrivere un programma in grado di risolvere un problema
- Problema
- Soluz. Informale
- Soluz. Formale
- Programma
Importante: Problem Solving
Algoritmo: descrizione passo-passo che risolve un problema (pross. di elevare alcune queste caratteristiche):
- Deterministica (non ambigua)
- Visualizzabile (eseguibile)
- Terministica / Terminibile
*Formulazione del problema
Informatica
Informatica è la scienza che si occupa dello studio della rappresentazione e manipolazione dell'informazione
L’elaboratore elabora degli input per dare dei risultati in output
Per far ciò svolge dei problemi:
- Deve codificare i dati in modo da renderli comprensibili all’elaboratore
- Codificare gli ordini (input) in una sequenza tale da raggiungere il risultato desiderato
- Decodificare i risultati per essere comprensibili dall’utente
Il linguaggio compreso dal PC è in codice binario (tutti 0 e 1)
Hardware
Tutte le componenti fisiche dell'elaboratore Fra questi ci sono dispositivi di input/output b/vidd (memoria di massa RAM, CPU)
Software
Programmi dell’elaboratore (in primis il sistema operativo)
L'elaboratore compie solo operazioni semplici se comanda tra loro alcune che risolvano comp.mx
* IO. Wurn. dividere problemi complessi in qualcosa di più semplice
Programmare
Scrivere un programma in grado di risolvere un problema
- PROBLEMA
- SOLUZ. INFORMALE
- SOLUZ. FORMALE
- PROGRAMMA
IMPORTANTE: PROBLEM SOLVING
Algoritmo = descrizione passo passo che risolve un problema l'uni devono avere queste caratteristiche:
- Deterministica (NON AMBIGUA)
- Viacinvisibfle (ESEGUIBILE)
- Terministica/Terminabile
* FORMULAZIONE DEL PROBLEMA
Formulazione della soluzione
- Pseudo-codice
- Flow chart
Perché per risolvere il problema in problemi più piccoli.
Divisione dei linguaggi
- Al alto livello
- Es.: C, C++, Java, Javascript, Python.
- Assembler
- Sono linguaggi molto precisi e complessi e distanti alla fruizione a hardware.
- Linguaggi che microprocessore usati eseg.
Flow chart
- Elementi
- Blocchi di inizio o fine
- Blocchi di azione
- Blocchi di decisione
- Blocco di connessione
Python
Guido Van Rossum anni 90
Scrivere un programma
Attenzione!!
- Errore di battitura
- Maiuscole e minuscole
- Apici importanti
- Commenti
Stampa un valore sulla schermo
print() ⇒ messi '' per originale
Variabili
Associare un'informazione a un programma affinchè ne memorizzi una variabile. Per creare una variabile dobbiamo dichiararla e inizializzarla, quindi diamo un nome e uno stato.
Es.
Tipo: X = 2
Tipi
- Int -> numeri interi
- Float -> numeri con parte frazionaria
- String / frase / parola
- Boolean o variabile T/F
Operazioni
Se voglio usare una variabile per un'operazione devo assicurarmi di averla dichiarata e di averla posta come int o float.
Nomi
- I nomi delle variabili devono iniziare con una lettera o l'underscore
- Non posso usare simboli o spazi
- I nomi sono case sensitive e in python
Costante
Per dichiarare una costante il processo è uguale ad una variabile ma per convenzione si dichiarano utilizzando le lettere maiuscole.
Operatori Aritmetici
- + - * / ** (addizione, sottrazione, moltiplicazione, divisione, potenza)
Utilizzo di operatori (importanti)
- // divisione intera Eo.: 7//4 = 1.75 7//4 = 1
- % resto Eo.: 7//4 = 3
- abs() = Valore assoluto -> abs(-134) = 134
- round(x, n) = x arrotondato ad interi n -> round(x, n) con n = 0
- max(1, x2, x3) Valore max
- min(1, x2, x3) Valore min
Librerie
Ci sono funzioni predefinite e funzioni da importare. Librerie: