Anteprima
Vedrai una selezione di 11 pagine su 50
Appunti Fondamenti di informatica (Prima parte) Pag. 1 Appunti Fondamenti di informatica (Prima parte) Pag. 2
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 6
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 11
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 16
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 21
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 26
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 31
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 36
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 41
Anteprima di 11 pagg. su 50.
Scarica il documento per vederlo tutto.
Appunti Fondamenti di informatica (Prima parte) Pag. 46
1 su 50
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

FONDAMENTI DI INFORMATICA

2/03

PROBLEMA DELLA RAPPRESENTAZIONE

  • TRADUZIONE di un programma C in una sequenza numerica eseguibile da un processore
  • DEFINIZIONE del linguaggio attraverso regole generali

TIPI, VARIABILI, COSTANTI

  • In un linguaggio di programmazione i dati sono rappresentati secondo dei TIPI
    • Ogni valore ha un tipo
    • Un tipo é definito da 2 aspetti
      • 15 insiemi dei valori che rappresenta
      • Insieme delle operazioni eseguibili su esso

    Tipi nel linguaggio C

    • char: caratteri (256 caratteri del codice ASCII)
    • int: interi (N) con 1 dimenzione secondo di byte variabile a seconda dei architettura del calcolatore

    es interi con segno su 4 byte (32 bit)

    [-232]...[-232-1]

    CIFRA BINARIA (0/1)

    • float: razionali in formato floating point (virgola mobile)
    • double: razionali in formato floating point con precision disi doppia rispetto a float (doppio real)
    • void: tipo nullo - usato quando la sintassi esige di specificare dei dati ma in realtà non se hà bisogno di farlo

    es (int calcola Max (int A riferimento alla prima variabile dell’array A[9] -> riferimento all’ultima variabile dell’area

    SI CONTA DALLO 0

    A A[ ] ARRAY ACDS 4 byte

    - A è anche indirizzo di partenza dell’array - A[0] si trova a partire dall’ ind. A + 0 - A[1] si trova a partire dall’ ind. A + 1 = 4 - A[2] dall’ ind. A + 2 = 4

    COSTANTE

    è un valore di un qualche tipo che non cambia durante la computazione

    • rappresentata in modo ? a seconda del tipo -> int n = 2/8 -> I dati: 125 I dati -> double: 125 ?

    #define TRUE 1 direttiva che definisce una costante pari ad 1 #define FALSE 0

    2. ESPRESSIONI E OPERATORI

    ESPRESSIONE

    combinazione di variabili e costanti attraverso operatori

    • caratterizzata da: valore restituito effetti prodotti sulle variabili

    side effect assegna tale valore alla variabile a.

    è una ASSEGNAZIONE (operazione + ;)

    OPERATORI

    sono classificati per tipo di operazione

    1. operatori ARITMETICI

    • es. a / 2 rest se ≠ 0 se il valore è pers, uguale R dispari.

    2. operatori RELAZIONALI

    int a, b;

    es. ==

    è un’espressione che restituire il valore di a NON uguale a b. restituire un valore di 1 (v. Trasform.

    (5 > 4) restituisce 2

    Scrivere un programma C che calcola il fattoriale di un intero

    (Su un file che ha estensione .c)

    `tipo del valore restituito dalla funzione`

    int main () { ......}

    Per com coinvol programma deve avere una funzione main

    e la funzione che prende il controllo quando il programma va in esecuzione.

    Prima o prendere il controllo e l'ultima a restituirlo

    return 0;

    istruzione che restituire alla funzione chiamante quella che invoca mai il controllo e un valore (in questo caso 0)

    void myFunction () {}if (...)return;

    restituire il controllo alla funzione chiamante se la condizione dell'if è maggiori

    int main () {myFunction ();...}

    invoca la funzione myFunction ()

    una funzione termina o per esecuzione terminata o per istruz e da return

    int myFunction 2() {return 100}

    c deve essere! espressione che restituisce un valore di tipo int

    int calcolaMax {int max;return max;}

    int main () {int m;m=calcolaMax ();}

    assegna alla variabile m il valore restituito della funzione calcola max (è un espressione)

    int main () { int N,int count;int fact;N=10;Fact=1;For (count=2; count) CODICE ASSEMBLY --assemblaggio--> CODICE MACCHINA

    ++ COLLEGAMENTO (Linker)

    → può convenire compilare separatamente diverse sezioni di codice (perché realizzate da più parti o perché devono essere modificate separatamente o usate in più progetti)

    - queste sezioni di codice sono collegate fra loro da istruzioni di trasferimento del controllo (jump) di indirizzi di destinazione restano indilerminato fino a quando le sezioni di codice sono collegate dal linker per ottenere un file PE non programmabile eseguibile

    - Ogni processore ha un suo linguaggio macchina quindi anche un suo linguaggio assembly programmato compilato per un processore non può essere seguito da un altro processore (eccezione: compatibilità all’indietro)

    Il linguaggio assembly può essere compilato da linguaggi → linguaggio assembly

    12/05

Dettagli
Publisher
A.A. 2022-2023
50 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher martiniger di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 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 Firenze o del prof Carnevali Laura.