Anteprima
Vedrai una selezione di 14 pagine su 62
Tecniche di Programmazione Pag. 1 Tecniche di Programmazione Pag. 2
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 6
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 11
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 16
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 21
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 26
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 31
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 36
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 41
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 46
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 51
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 56
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 61
1 su 62
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Complementi di programmazione

Introduzione

  • Programma = sequenza di istruzioni scritte nel linguaggio interpretabile dal calcolatore che portano ad un particolare risultato.
  • Algoritmo = sequenza di istruzioni che eseguiti ordinatamente a partire dai dati di input del problema consentono di ricavare dei dati di output utili al fine di risolvere un problema.
  • Linguaggio macchina = unico linguaggio che la macchina è in grado di interpretare (esercita a basso livello, livello 0 - di alto livello).

Visito che si può dare un programma usando il linguaggio macchina, richiede la conoscenza ampia sia del calcolatore ad esso applicato. Per ovviare a questo problema, sono stati sviluppati dei linguaggi di programmazione (a metà tra basso e alto livello).

Eseguire un programma

Un programma in esecuzione prende il nome di processo. La sua struttura in memoria (RAM) si suddivide in:

  • codice e costantiNelle istruzioni in linguaggio macchina che costituiscono il programma da eseguire.
  • dati staticiDati allocati per tutta la durata del programma (variabili: statiche e globali).
  • heap memoria destinata all'allocazione dei dati allocati dinamicamente (variabili dinamiche), linguaggi moderni a gestione automatica della memoria usano il ciclo di vita del programma.

Chiamata di una funzione

All'inizio dell'istruzione, in genere, la chiamata viene allocata allo stack. Viene allocato lo spazio necessario per le variabili automatiche della funzione.

Traduzione e programmazione

Per eseguire un programma scritto in un linguaggio di alto livello è necessario tradurlo in linguaggio macchina. La traduzione può essere automatica o tramite un traduttore (compilatore e interprete). Due pezzi in grado di tradurre un programma. Distinguiamo:

Compilatore

Legge tutta la istruzione del programma sorgente e ne verifica la correttezza.

  • COMPILAZIONE
  • sorgente → Compilatore → linguaggio macchina → Calcolatore → risultato

Interprete

Itera il processo di lettura sorgente → traduzione in linguaggio macchina → esecuzione. Istruzione per ogni riga viene esaminata a volta. Per poter eseguire un programma deve necessariamente interpretare (poi eseguirà).

  • INTERPRETAZIONE
  • sorgente → Interprete → linguaggio macchina → Calcolatore → risultato

Il processo è diviso in fasi:

  1. Edizione

    Scriva codice: Il programma deve avere una e una sola funzione main(). Se non siamo all'inizio del programma non possiamo dichiarare.

  2. Precompilazione

    Rimuovere i commenti vengono ignorati durante la compilazione ma alla fine. Si può escludere il precompilatore e il compilatore se il nome della include non viene dichiarata.

  3. Compilazione

    Tradurre il codice sorgente in macchine (generalmente assembly). A questo punto tutte le funzioni che sono state definite (generate) ogni pezzo in esecuzione è falso. Non sono necessariamente definite (anche se contiene le affermazioni).

  4. Linker

    Collegamento: collega le mani con altre funzioni definite in altri file (eseguite).

  5. Loader

    Caricamento: carica il programma nella DRAM. Per il rilascio dinamico dei dati vengono copiate.

• Programmazione concorrente

  • riferimenti con partizione sono creati in intervalli di tempo -> CPU -> Swap/Riprendere: contemporaneamente esecuzioni seguenti o consecutivi -> requisiti ardimento.

Può essere vista come uno dei temi di programmazione mondiale (la compartizione è modernizzazione con supporto confronto), con la modernizzazione parallela esto participate o non significati parallelamente avvio nello stesso destino esecuzioni multilaterali parallelamente avvio nello stesso intervallo di tempo per migliorare drasticamente esecuzione tempo.

Thread

  • esecuzione multiplayer
    • più piccola sequenza di istruzioni gestibile dalla allocazione di processi
  • contemporanea in un processo
    • possono n Thread esegui; contemporaneamente, i processi intra livello multo processante e più Thread di un tempo ciascuno nei conti riservati

i programmi moderni sono prevalentemente tutti multithread

E.g. void foo()

  • printf("Hello from Thread")
    • ->
Dettagli
Publisher
A.A. 2019-2020
62 pagine
2 download
SSD Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher GiulioRusso di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici 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 Cassino e del Lazio Meridionale o del prof Bria Alessandro.