Parte 2 - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Parte 2

Description:

Title: ELEMENTI DI BASE DI INFORMATICA I modulo Author: demo Last modified by: Elisa Mori Created Date: 10/24/2001 7:22:30 AM Document presentation format – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 33
Provided by: Demo
Category:
Tags: assembler | parte

less

Transcript and Presenter's Notes

Title: Parte 2


1
Parte 2
  • Laboratorio di Informatica
  • Dott.ssa Elisa Tiezzi
  • Dott.ssa Elisa Mori


2
Definizione intuitiva di algoritmo
  • Elenco finito di istruzioni che specificano una
    serie di operazioni, eseguendo le quali e
    possibile risolvere ogni istanza di un problema
    di un dato tipo

3
Proprietà degli algoritmi
  • FINITI
  • NON AMBIGUI
  • GENERALI

4
Soluzione di ax2bxc0
1. inizio dellalgoritmo 2. acquisire
dallesterno i valori dei coefficienti a, b e
c 3. calcolare il valore ??b2-4ac 4. se ???,
allora non esistono radici reali eseguire 8 5.
se ???, allora x1x2-b/2a eseguire 7 6. se
???, allora x1(-b??)/2a e x2(-b-??)/2a 7.
comunicare allesterno i valori di x1 ed x2 8.
fine dellalgoritmo.
5
Descrizione degli algoritmi
Diagramma a blocchi (flow chart)
rappresentazione grafica di un algoritmo che
indica il flusso delle trasformazioni descritte
dallalgoritmo che devono essere eseguite a
partire dai dati iniziali per ottenere i
risultati finali.
6
Blocchi elementari
7
Esempio su ax2bxc0
8
Il gioco dei quindici
Quindici oggetti, ad esempio fiammiferi, sono
su una tavola. Il primo giocatore ne raccoglie 1,
2 o 3. Il secondo giocatore ne raccoglie a sua
volta 1, 2 o 3. Quindi è ancora il primo
giocatore a raccogliere 1, 2 o 3 fiammiferi. I
giocatori alternano le loro mosse finchè sul
tavolo non esistono più fiammiferi. Il giocatore
che è costretto a raccogliere lultimo fiammifero
è il perdente. Descrivere una strategia vincente
per il primo giocatore
9
Problema delle dodici monete
Tra 12 monete di identico aspetto potrebbe
nascondersene una falsa e pertanto di peso
diverso. Disponendo di una bilancia a 2 piatti
per confrontare gruppi di monete, si vuole
individuare la moneta falsa e stabilire se essa
pesi più o meno delle altre, mediante non più di
3 pesate.
10
Soluzione del gioco dei quindici
Siano A il primo giocatore e B il secondo 1.
Prima mossa A raccoglie 2 fiammiferi 2. Mosse
successive se B raccoglie k fiammiferi (klt3),
allora A raccoglie 4-k fiammiferi
11
Soluzione del gioco delle monete
12
Breve storia dei calcolatori
  • Primi strumenti di calcolo meccanici
  • Abaco
  • 1600
  • Pascal (somma e sottrazione)
  • Leibniz (moltiplicazione e divisione)
  • 1800
  • Babbage (quadrato e stampa)
  • Babbage (macchina analitica)
  • Ada Augusta Lovelace (prima programmatrice)
  • Schede perforate utilizzate nel 1890 (inizio di
    IBM)

13
  • 1944
  • Mark I (primo calcolatore elettromeccanico)
  • 1946
  • ENIAC
  • 1949
  • EDSAC (macchina di tipo Von Neumann)
  • Anni successivi
  • Stessa architettura ma tecnologia più avanzata
  • 1960
  • Internet (fine anni sessanta per esigenze
    militari, si chiamava Arpanet)
  • 1989
  • www (word wide web enorme enciclopedia)

14
Hardware Pezzi fisici tangibili che supportano
lelaborazione (chip di silicio, fili elettrici,
tastiera, dischi, stampanti.) Software I
componenti hardware sono inutili se non ricevono
precise istruzioni. Un programma è una serie di
istruzioni che lhardware esegue in sequenza.
15
Componenti hardware principali
  • Dispositivi di input
  • Ad es. mouse, tastiera
  • Dispositivi di output
  • Ad es. monitor, stampante
  • Insieme in uno stesso contenitore
  • Processore (CPU)
  • Central Processing Unit
  • Interpreta e esegue le istruzioni
  • Memoria
  • Organizzazione hardware standard

Memoria
Processore (CPU)
Dispositivi di input
Dispositivi di output
16
Due Tipi di Memoria
  • Principale
  • area di lavoro
  • mantiene temporaneamente programmi e dati (mentre
    il programma è in esecuzione)
  • Ausiliaria
  • permanente
  • salva programmi e risultati
  • Esempi floppy hard disk, CD, nastri

17
Organizzazione della Memoria Principale
  • Bit una cifra binaria
  • valori 0 o 1
  • Byte 8 bit
  • La memoria principale è una lista di locazioni
    numerate ciascuna di un byte
  • Il numero di byte utilizzato per memorizzare un
    dato varia con il tipo di dato

18
Organizzazione della Memoria Ausiliaria
19
Programma
  • Insieme di istruzioni che il calcolatore deve
    eseguire

Calcolatore
20
Tipi di Programmi
  • Sistema Operativo
  • Programma supervisore
  • DOS, Windows, MacOS, UNIX, Linux
  • Applicazioni esistenti
  • word-processor/editor
  • web browser
  • compilatori o assembler
  • Applicazioni create dallutente

21
Informazione
Esistono due formati per memorizzare
linformazione ANALOGICO
DIGITALE Linformazione analogica è continua
La
tecnologia digitale spezza e cresce
proporzionalmente alla
linformazione in tanti
pezzi sorgente di informazione
che
rappresenta come numeri Es termometro di
mercurio, segnali
Es compact disc elettrici
22
I computer moderni sono digitali Ogni tipo di
informazione è spezzato in blocchi. Ogni blocco è
rappresentato da un numero e linformazione è
memorizzata sotto forma di sequenza di numeri.
Il computer digitale memorizza linformazione
sotto forma di numeri binari (base 2). La singola
cifra binaria si chiama bit (binary digit). La
base del sistema indica quante cifre si hanno a
disposizione e il valore posizionale di ogni
cifra in un numero.
23
Sistemi posizionali
Il sistema di numerazione decimale è basato
sullalfabeto decimale 0,1,2,3,4,5,6,7,8,9 ed
ogni numero è rappresentato come sequenza di
simboli di tale alfabeto. Ad ogni simbolo è
associato un peso a seconda della
posizione. Es 28632 x 103 8 x 102 6 x 101
3 x 100
24
In generale i sistemi numerici posizionali in
base b?2 rappresentano ogni numero con m cifre in
base b Ncm-1.c0 Dove i ci denotano elementi
di un insieme di b simboli che corrispondono ai
primi b numeri naturali 0..b-1. Vale
N?cibi Es110021 x 231 x 220 x 210 x 20
25
Come comunicare
  • Linguaggio macchina
  • sequenze di 0 ed 1
  • rigoroso
  • essenziale
  • Linguaggio assembler
  • simbolico
  • semplice traduzione aggiuntiva
  • Linguaggio naturale
  • linguaggio preferito dallessere umano
  • ambiguo, ridondante, non preciso
  • Linguaggio di programmazione ad alto livello

26
Storia Moderna
  • PASCAL (1970)
  • Programming in Logic (1971)
  • C (1974)
  • ADA(1980)

27
Storia Contemporanea
  • C (1985)
  • Java (1994)

28
Tipi di programmazione
  • Funzionale
  • Logica
  • Procedurale
  • Orientata agli oggetti

29
Traduttori
30
Compilatori ed interpreti
  • Compilatore
  • programma che traduce un programma in linguaggio
    ad alto livello in un programma in linguaggio più
    semplice che il calcolatore può eseguire (più o
    meno) direttamente.
  • Interprete
  • programma che traduce ed esegue una dopo laltra
    le istruzioni che compongono il programma sorgente

31
Lapproccio di Java
  • Sia compilato che interpretato
  • Codice intermedio Byte Code
  • codice a basso livello portabile
  • simile al codice assembler ma indipendente
    dallhardware
  • invisibile ai programmatori Java
  • Linterprete traduce dal byte code in un
    programma nel linguaggio macchina della macchina
    specifica

32
Lambiente Java
Programma Java
Write a Comment
User Comments (0)
About PowerShow.com