Anteprima
Vedrai una selezione di 5 pagine su 18
Informatica parte orale Pag. 1 Informatica parte orale Pag. 2
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Informatica parte orale Pag. 6
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Informatica parte orale Pag. 11
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Informatica parte orale Pag. 16
1 su 18
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Informatica

Algoritmi

Una sequenza di azioni che, con dati in ingresso, risolvono un problema.

I compiti da un esecutore:

  • Insieme di azioni (istruzioni)
  • Di operazioni
  • Corrispondenza univoca fra azioni e operazioni
  • Semantica al linguaggio

Il linguaggio ha una sintassi formale

Programma = algoritmo

Scritto nel linguaggio del calcolatore: linguaggio di programmazione

Il calcolatore è un esecutore del nuovo linguaggio => linguaggio di programmazione

Un algoritmo scritto per un microprocessore è un programma.

Descrivere algoritmi

Si termina quando ogni azione può essere eseguita dall'esecutore.

Cosa serve:

  1. CPU - legge ed esegue il programma (esecutore)
  2. Tastiera/Monitor → I/O (per interazione)
  3. Memoria principale RAM: contiene il programma e i dati su cui agisce.

Come sono collegati fra loro:

Architettura

Come connettere questi componenti per farli dialogare

  1. Tutti con tutti
  • +: elevata comunicazione
  • -: non scala con il numero delle componenti (troppi collegamenti)

2a) VAN NEWMANN (schema di base dei calcolatori)

  • Codice e dati sono nella memoria principale RAM
  • Unico bus che connette tutti i dispositivi
  • + Facilmente estendibile (appongo o tolgo facilmente dispositivi)
  • + Facilmente standardizzabile
  • - Saturazione del bus quando dispositivi ↑ (limite del bus = quando è impegnato in una comunicazione tra 2 dispositivi, nessun altro può comunicare)
  • Soluz. = architettura multibus : posso trasferire dati da un hard disk all’altro senza occupare il bus principale

3a) HARVARD

  • La CPU usa un bus di I/O + bus che va alla RAM codice + bus “ “ “ RAM dati
  • + : ↑ prestazioni (posso fare 3 trasferimenti contemporaneamente)
  • Sistema multicoore (più CPU)

UNITÀ di CONTROLLO

  • prendi
  • decodifica
  • esegui

(l'unità di controllo prende un'istruzione dalla memoria)

per esaminare l'istruz. e vede che operaz. deve eseguire la AU:

ex. operator. somma rappresentat. come 00

operator. sottra. rappres. come 01

Gli input della AU sono i registri,

l'uscita (il risultato prodotto) va nei registri.

ad eseguire l'operazione tra i registri da AU produce risultati nei registri.

Dalla fase di decode: preleva il comando, lo invia alla AU (capisce quali registri sono coinvolti) ed esegue l'operaz.

ad eseguire indica al programmatore che vi sono stati stati

ex. se il processo lo ha richiede lo

Mi restituisce uno stato che va nel PSW.

BIT

da qui sappiamo al processo se l'operaz. ha generato un riporto.

Dimensione dei registri: architettura a tot. bit

ex. somma: l'uscita la varia se la ora bit si piega

nº di bit

Cifra digitale (il piú piccolo contenuto di inform. che può essere trasportato da un filo digitale).

EX. RAPPRESENTAZIONE DEI NUMERI

1) NUMERI NATURALI (X>0)

  • L. interv. di rapp.: [0;2m-1]
  • ESTENSIONE della RAPP.: Appingo zeri (tanti quanti sono gli spazi da riempire)

2) NUMERI INTERI CON SEGNO (C2) → *

  • L. interv. di rapp.: [-2m-1; 2m-1-1]
  • ESTENSIONE della RAPP.:
    • COME la NOTAZ. POSIZIONALE se X>0
    • AGGIUNGO uni in testa se X<0

3) RAPPRES. NUMERI

  • (X)10 → (X)10
    • NOTAZ. POSIZIONALE

A3 X3 + A2 X2 + A1 X1 + A0 X0

  • (α)10 → (X)X
    • ALGORITMO delle divisioni successive

α |X R0Y = |X Y1Y1 R2Y2 R3X -0 → STOP

  • (X)
    • M X>0

(* (X)c2/m =

  • (X)mp/lm M X>0
  • |X|mp/lm + 1 M X<0

Metodi per Stringhe:

  • int: length();
  • boolean: equals(String);
  • int: indexOf(char c);
  • String: substring(int inizio, int fine);

Conversione da int a String:

String s = String.valueOf(int a);

Conversione da String a int:

int a = Integer.parseInt(String s);

double a = Double.valueOf(String s);

boolean a = Boolean.valueOf(String s);

  • 1 variabile è visibile quando è viva.
  • 2 variabili con lo stesso nome.
  • Una variabile "muore" con la riga di dichiarazione.
  • La variabile "muore" con { che chiude il metodo in cui è stata definita.
  • Un metodo "non vede" le variabili locali di altri metodi.
Dettagli
Publisher
A.A. 2016-2017
18 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher D95-Marta di informazioni apprese con la frequenza delle lezioni 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 Pisa o del prof Foglia Pierfrancesco.