Anteprima
Vedrai una selezione di 6 pagine su 21
Teoria di Elementi di informatica e programmazione Pag. 1 Teoria di Elementi di informatica e programmazione Pag. 2
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Teoria di Elementi di informatica e programmazione Pag. 6
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Teoria di Elementi di informatica e programmazione Pag. 11
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Teoria di Elementi di informatica e programmazione Pag. 16
Anteprima di 6 pagg. su 21.
Scarica il documento per vederlo tutto.
Teoria di Elementi di informatica e programmazione Pag. 21
1 su 21
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

VARIABILE VA DICHIARATA PRIMA DEL SUO UTILIZZO.

Es: →

1.​ Int z dichiarazione del tipo

2.​ Z = 0 assegnazione del valore Il nome della variabile è una sequenza alfanumerica

non contenente spazi;

_ tipi di dati in C:

Alcuni tipi di dati in C sono:

●​ →

CHAR per rappresentare caratteri (lettere), che vengono rappresentati come “piccoli numeri interi”

(compresi tra 0-255) che corrispondono al codice ASCII;

●​ →

INT per rappresentare numeri interi

●​ ​→

FLOAT per rappresentare numeri con la virgola (4 byte)

●​ →

DOUBLE per rappresentare numeri con la virgola in doppia precisione (8 byte)

In C una variabile nella dichiarazione preceduta dalla parola “const”, si dice costante e fa riferimento a un

valore fisso che il programma non può modificare:

Es: const float pigreco = 3.14 il programma non può modificarlo.

_ le istruzioni: →

Il corpo del programma è composto da una sequenza di istruzioni inizia con: main () o int main ()

Si distinguono 3 tipi di istruzioni:

-​ Di ingresso e uscita scanf (input) e printf (output)

-​ Aritmetico - logiche (o di assegnamento) consentono la manipolazione dei dati e la generazione di

nuovi risultati

-​ Di controllo consentono di modificare il flusso di esecuzione delle istruzioni attraverso di salti

condizionati al verificarsi di una condizione valutata; i salti sono introdotti dalle istruzioni di controllo,

cioè da selezioni o cicli.

_ le operazioni logiche:

Queste operazioni fanno riferimento a variabili o costanti di tipo booleano:

●​ →

NOT corrisponde a “!”

●​ →

OR corrisponde a “| |”

●​ →

AND corrisponde a “&&”

Gli operatori logici restituiscono un numero: 0 per “falso” e >0 per “vero”.

_ alcune funzioni del linguaggio C:

Ci sono vari caratteri di conversione:

-​ %d si considera un numero intero decimale

-​ %c si considera un carattere

-​ %s si considera una stringa

-​ %f notazione in virgola mobile

Le funzioni principali sono:

●​ →

parte dichiarativa globale #include <stdio.h> #include <stdlib.h> e si tratta della direttiva

principale per poter usare le “istruzioni”; si scrive prima del main ().

●​ →

Stampa printf è una funzione di output che stampa in uscita la stringa di controllo, che contiene

caratteri comuni e caratteri di conversione;

●​ →

Acquisizione scanf funzione di input che legge caratteri dalla tastiera e li interpreta secondo il

formato specificato dai caratteri di conversione;

●​ →

Carattere “a capo” /n rappresenta di andare a capo;

●​ →

System è una funzione che esegue comandi del sistema operativo,

es: system (“pause”);

●​ →

If selezione a 1 via

●​ →

If - else selezione a 2 vie

●​ →

if - else if - else selezione a più vie

●​ →

Switch selezione a più vie nella quale lo switch confronta il valore di un'espressione con una lista di

costanti (case 1 - case 2 - case 3 - ecc - default); se viene trovata una corrispondenza, né vengono

eseguite le istruzioni associate, altrimenti vengono eseguite le istruzioni presenti dopo la parola

“default”;

●​ →

While ciclo a condizione iniziale, cioè viene ripetuta l'istruzione finchè la condizione è vera

●​ →

For ciclo a condizione iniziale, l'istruzione viene eseguita per un numero finito di volte

●​ → ….. ….)

Do - while ciclo a condizione finale (es: fai finché

Gli operatori specifici sono elementi della programmazione che consentono di lavorare con i valori e sono:

-​ x + y operatore binario (restituisce la somma)

-​ x ++ operatore unario (incrementa il valore di x d 1)

-​ x - - decrementa il valore di x di 1

-​ % operatore resto che esiste solo per INT ma non per FLOAT

-​ / divisione, è differente tra INT e FLOAT (es: x/y=1 e x/y=1,5377

-​ = operatore di assegnamento (x=3)

_ variabili strutturate: i vettori (ARRAY)

Ogni vettore ha un nome e un tipo e può contenere un numero stabilito di n elementi, identificati da un indice

che varia da 1 a n; l'indice va tra 2 parentesi quadre.

Es: g[12] g = nome , [12] = indice

In C il primo elemento di un Array è quello con indice 0!!

Una stringa di vettori è un vettore di caratteri che termina con il carattere speciale “\0”.

Es: char indirizzo = “Via Branze 38”;

verrà memorizzato:

_ variabili strutturate: matrici

Le matrici sono Array multidimensionali, cioè i cui elementi sono identificati da più indici

contemporaneamente; ogni indice identifica una dimensione della matrice.

Es: se volessimo tenere traccia della disponibilità mensile di 50 prodotti, usiamo una matrice d[i,j] dove

identifica i prodotti e j identifica il mese a cui si riferisce.

7. Dagli algoritmi ai programmi (pt.2)

_ variabili strutturate: struct

Nei vettori e nelle matrici gli elementi devono essere tutti dello

stesso tipo, se però volessimo memorizzare diversi dati per ogni

elemento (es: per ogni studente: matricola, nome, cognome,ecc)

è possibile definire delle strutture; una variabile avente una

certa struttura definita comprende più componenti i campi.

_ alcune particolarità sulle stringhe:

●​ Non possiamo assegnare una stringa a una variabile dichiarata come vettore di char, anche nel caso

char sia un campo di struttura(es: NON POSSIAMO SCRIVERE “char indirizzo [30]; indirizzo = via

Branze..");

●​ Per assegnare valori costanti alle stringhe o fare assegnamenti fra stringhe dobbiamo includere alla

libreria standard string.h e usare la funzione: strcpy (destinazione, sorgente);

destinazione è la variabile stringa di destinazione

sorgente è la variabile stringa sorgente

Es: strcpy (stud.nome, “Mario”); strcpy (stud.cognome, “Rossi”);

●​ Il carattere di conversione delle stringhe è %s, perciò posso acquisire e stampare le stringhe

es: scanf (“%s”, stud.nome)

printf (“lo studente è %s %s”, stud.nome, stud.cognome)

_ i sottoprogrammi:

I sottoprogrammi corrispondono alla soluzione di sottoproblemi (per ogni sottoproblemi si può scrivere un

sottoprogramma); è come se il linguaggio si arricchisse di nuove istruzioni, infatti ogni nuova istruzione è la

chiamata di un sottoprogramma e quindi corrisponde all'esecuzione di un sottoprogramma (printf e scanf

sono sottoprogrammi).

_ i Database (le basi di dati):

Si impiegano nelle situazioni in cui esistono quantità molto grandi di dati da elaborare e archiviare e il metodo

più diffuso per l'organizzazione e l'elaborazione dei dati è il modello relazionale.

Una base di dati relazionale è costituita da un insieme di tabelle (le tabelle non dispongono di un indice per

identificare univocamente i record, cioè i suoi elementi), chiamate relazioni e il software dedicato alla gestione

dei database è: DBMS database management system.

Gli schemi e le basi in un database sono: FROM T1,....,Tn (tabella) WHERE P (vincolo)

Che parte dalle tabelle T1,..., e come risultato della sua esecuzione genera una nuova tabella il cui schema è

definito dai campi C1,...,Cn estratti dalle tabelle di partenza, con il vincolo che la condizione P sia soddisfatta.

SQL fornisce una sintassi per descrivere cosa si vuole ottenere e non come ottenerlo; normalmente i

programmatori sviluppano le query al database e mettono a disposizione interfacce grafiche per l'utente (GUI),

ma in fase di creazione utenti ed esperti del dominio applicativo possono contribuire a definire:

-​ I concetti principali e le tabelle (data dictionary)

-​ Le query più frequenti

Il data dictionary contiene:

●​ Nomi delle tabelle

●​ Campi delle tabelle

●​ Una descrizione per ciascun campo

●​ Il tipo per ciascun campo (es: DD-MM-YYYY per la data)

●​ Ampiezza del campo

●​ Un intervallo per i valori del campo

●​ Se il campo è opzionale o obbligatorio

●​ Le relazioni fra i campi 8. Ambienti di programmazione

_ I linguaggi di programmazione di alto livello:

I linguaggi di alto livello permettono di specificare gli algoritmi in

maniera precisa (grazie ai termini precisi e univoci), ma più

“astratta” rispetto al linguaggio macchina perchè solitamente

ciascuna istruzione in un linguaggio ad alto livello corrisponde a più

istruzioni in linguaggio macchina.

I vantaggi principali:

-​ Consentono lo sviluppo di sistemi complessi

-​ Gli errori sono inferiori

-​ Il codice è più facile da mantenere

-​ Indipendenza della macchina

_ i traduttori:

Sono programmi che provvedono a convertire il codice di programmi in linguaggio di alto livello nella

corrispondente rappresentazione in linguaggio macchina.

Esistono 2 classi di traduttori:

●​ →

Compilatori traducono un programma sorgente in

un programma direttamente eseguibile dal

calcolatore;

●​ →

Interpreti traducono ed eseguono direttamente le

istruzioni del programma e in ingresso richiedono

anche dati inizial

1.​ Il programma P scritto in linguaggio L viene dato in ingresso a un programma P (programma

comp

compilatore) e la sua esecuzione produce P PRIMA FASE

exe →

L'esecuzione da parte di un calcolatore P su dati iniziali produce dei risultati finali SECONDA FASE

exe

2.​ Il programma P scritto in linguaggio L viene dato in ingresso a un programma P (programma

int

interprete) e, con dati in ingresso, produce risultati finali UNICA FASE

_ confronto tra compilatori e interpreti:

→ velocità: i programmi compilati hanno prestazioni migliori e durante la compilazione si possono attuare

processi di ottimizzazione per prodotti commerciali a larga diffusione;

→ messa a punto: gli interpreti permettono di correggere errori non appena scoperti (senza ricompilare il

programma) per la fase di prototipazione.

_ la portabilità:

Si tratta della possibilità di utilizzare un programma su piattaforme hardware/software diverse da quella dove

è stato sviluppato.

Ci sono 3 modalità possibili:

●​ →

Portabilità del file eseguibile richiede calcolatori

con hardware e sistema operativo dello stesso tipo

per i

Dettagli
Publisher
A.A. 2024-2025
21 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher claudiaa_04 di informazioni apprese con la frequenza delle lezioni di Elementi di informatica e programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Brescia o del prof Fogli Daniela.