22
ECDL - Modulo 1 ECDL - Modulo 1 Fondamenti Angela Gay Isit Grosseto http://www.isitgrosseto.com/ 25 gennaio 2010

1.03 Linguaggi

Embed Size (px)

DESCRIPTION

Presentazione su modulo 1 ecdl: Linguaggi

Citation preview

Page 1: 1.03 Linguaggi

ECDL - Modulo 1

ECDL - Modulo 1Fondamenti

Angela Gay

Isit Grosseto

http://www.isitgrosseto.com/

25 gennaio 2010

Page 2: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Logica degli enunciati, o Algebra booleana

enunciato

una proposizione che può essere soltanto vera o falsa.

Page 3: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Logica degli enunciati, o Algebra booleana

enunciato

una proposizione che può essere soltanto vera o falsa.

enunciato composto

enunciato formato da due sottoenunciati legati fra loro da unconnettivo logico.

Page 4: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Logica degli enunciati, o Algebra booleana

enunciato

una proposizione che può essere soltanto vera o falsa.

enunciato composto

enunciato formato da due sottoenunciati legati fra loro da unconnettivo logico.

I connettivi logici fondamentali sono:

AND

Page 5: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Logica degli enunciati, o Algebra booleana

enunciato

una proposizione che può essere soltanto vera o falsa.

enunciato composto

enunciato formato da due sottoenunciati legati fra loro da unconnettivo logico.

I connettivi logici fondamentali sono:

AND

OR

Page 6: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Logica degli enunciati, o Algebra booleana

enunciato

una proposizione che può essere soltanto vera o falsa.

enunciato composto

enunciato formato da due sottoenunciati legati fra loro da unconnettivo logico.

I connettivi logici fondamentali sono:

AND

OR

NOT

Page 7: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Congiunzione (AND)

p AND q

è vera solo quando sono veri entrambi gli enunciati p e q.

Page 8: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Congiunzione (AND)

p AND q

è vera solo quando sono veri entrambi gli enunciati p e q.

p q p AND q

F F FF V FV F FV V V

Page 9: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Disgiunzione (OR)

p OR q

è vero quando è vero almeno uno degli enunciati p e q.

Page 10: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Disgiunzione (OR)

p OR q

è vero quando è vero almeno uno degli enunciati p e q.

p q p OR q

F F FF V VV F VV V V

Page 11: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Negazione (NOT)

NOT p

è vero quando è falso l’enunciato p; falso in caso contrario.

Page 12: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Cenni di logica

Negazione (NOT)

NOT p

è vero quando è falso l’enunciato p; falso in caso contrario.

p NOT p

F VV F

Page 13: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Linguaggio naturale e linguaggio artificiale

Linguaggi

NaturaliArtificiali(formali)

ad altolivello

a bassolivello

Page 14: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Linguaggi ad alto livello. Esempio di programma in C++

#include <iostream>using namespace std;

int main(){

int b,h;float area;cout << "Inserisci base e altezza " ;cin >> b >> h;area=b*h/2;cout <<"l’area è " << area << endl;

}

Page 15: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Linguaggi a basso livello - Frammento di listato in

Assembler

main:.LFB957:

.....call _ZNSirsERimovl -4(%rbp), %eaximull -8(%rbp), %eaxmovl %eax, %edxshrl $31, %edxleal (%rdx,%rax), %eaxsarl %eaxcvtsi2ss %eax, %xmm0..........

Page 16: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Linguaggi a basso livello - Frammento di codice in

linguaggio macchina

Page 17: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Pseudo-linguaggio

Lo pseudo-linguaggio

è un formalismo che permette di rappresentare gli algoritmimediante un linguaggio ’a metà strada’ tra il linguaggio naturale eun linguaggio di programmazione ad alto livello.

Page 18: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Pseudo-linguaggio

È composto da:

parole chiave

INIZIO(<nome algoritmo>), FINE(<nome algoritmo>) perdelimitare l’algoritmo

ACQUISISCI e COMUNICA per le operazioni di ingresso ed uscita

←, per effettuare calcoli e assegnare valori alle variabili

SE... ALLORA... ALTRIMENTI... FINESE per la strutturadi selezione

MENTRE... FINEMENTRE e RIPETI .... FINCHÈ per lastruttura iterativa (ciclo)

Page 19: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Pseudo-linguaggio

È composto da:

parole chiave

INIZIO(<nome algoritmo>), FINE(<nome algoritmo>) perdelimitare l’algoritmo

ACQUISISCI e COMUNICA per le operazioni di ingresso ed uscita

←, per effettuare calcoli e assegnare valori alle variabili

SE... ALLORA... ALTRIMENTI... FINESE per la strutturadi selezione

MENTRE... FINEMENTRE e RIPETI .... FINCHÈ per lastruttura iterativa (ciclo)

Nelle prossime pagine tradurremo gli algoritmi già visti nel nostropseudo-codice.

Page 20: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Pseudo-linguaggio

Primo algoritmo

INIZIO (Area Triangolo)ACQUISISCI b, ha <- (b * h) /2COMUNICA a

FINE (Area Triangolo)

Page 21: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Pseudo-linguaggio

Secondo algoritmo

INIZIO(Divisibile)ACQUISISCI a,br <- resto(a,b);SE r = 0

ALLORACOMUNICA "a è divisibile per b"

ALTRIMENTICOMUNICA "a non è divisibile per b"

FINESEFINE(Divisibile)

Page 22: 1.03 Linguaggi

ECDL - Modulo 1

Linguaggi

Linguaggi naturali e formali, linguaggi di programmazione

Pseudo-linguaggio

Terzo algoritmo (Euclide)

INIZIO(Massimo Comun Divisore)ACQUISISCI a,br <- resto(a,b);MENTRE r <> 0

a <- bb <- rr <- resto (a,b)

FINEMENTRECOMUNICA "il risultato è " b

FINE(Massimo Comun Divisore)