Inizio… Linguaggi Linguaggi di programmazione Linguaggi Formali Algoritmo sui linguaggi formali Cos’è il linguaggio formale? Se sei curioso……… Scegli il tasto d’avanzamento Ecco la definizione che tanto desideravi Un linguaggio formale è un linguaggio creato dall’uomo, si differenzia dagli altri linguaggi naturali per il fatto che è di tipo deterministico. Presenta delle proprie caratteristiche, è composto da: Un Alfabeto Un Lessico Una Sintassi Inoltre presenta anche alcune di linguaggio Linguaggi Formali Bla bla Come abbiamo visto, per comunicare con la macchina abbiamo bisogno di particolari linguaggi, detti “linguaggi di programmazione”. Un linguaggio di programmazione è un linguaggio formale, ovvero un linguaggio creato dall’uomo. Caratteristiche Dei Linguaggi Formali Un linguaggio formale formato da: (L={A,G}) è Alfabeto (A) Una Grammatica (G) Un L’Alfabeto (A) L’alfabeto è un insieme di simboli che servono per formare le PAROLE del linguaggio. Le Parole Le parole di un linguaggio, che sono le stringhe formate dai simboli appartenenti all’Alfabeto del linguaggio in questione, vengono create seguendo determinate regole, ovvero seguendo la GRAMMATICA del linguaggio. La Grammatica (G) La Grammatica di un linguaggio serve per stabilire quali parole appartengono al linguaggio in questione. Caratteristiche Della Grammatica Regole Lessicali Regole Sintattiche Regole Semantiche Regole Lessicali Sono le regole che consentono la formazione delle parole. Regole Sintattiche Sono quelle regole che definiscono in che rapporto possono essere messe le parole per formare una frase. Regole Semantiche Sono quelle regole che assegnano un significato alle parole o alle frasi. Il linguaggio è il codice utilizzato per scrivere i programmi per l’elaboratore, oppure più in generale è l’insieme delle parole chiave utilizzate per comunicare istruzioni e comandi all’elaboratore. SIGNIFICATO DI ELABORATORe L’elaboratore è un automa programmabile: È un automa in quanto e un sistema dinamico, discreto e invariante. È programmabile perché per ogni problema che si vuole risolvere esiste un programma in grado di eseguirlo. COME OPERA UN ELABORATORE COME OPERA L’elaboratore elettronico rappresenta tutte le informazioni sotto forma di codici binari. È poi compito del software interpretare correttamente le diverse sequenze di bit. La CODIFICA DEI PROGRAMMI Tutti i programmi dai più semplici ai più sofisticati sono scritti in linguaggio macchina e codificati in forma binaria. Il compito di scrivere questi programmi è affidati a delle opportune persone dette PROGRAMMATORI. IL PROGRAMMATORE È QUELLA PERSONA IN GRADO DI SCRIVERE PROGRAMMI UTILIZZANDO GLI APPOSITI LINGUAGGI DI PROGRAMMAZIONE. Per progettare i programmi sono stati introdotti degli opportuni linguaggi macchina: i cosiddetti LINGUAGGI DI PROGRAMMAZIONE, per consentire la scrittura delle istruzioni in una forma più vicina a quella dell’uomo.Si distinguono: LINGUAGI A BASSO LIVELLO LINGUAGGI AD ALTO LIVELLO Vengono definiti a basso livello quei linguaggi in cui a ciascuna istruzione corrisponde una sola istruzione macchina o magari soltanto alcune.Tra questi linguaggi ricoprono un ruolo di maggiore importanza quelli di tipo ASSEMBLER dove i codici binari delle istruzioni macchina sono rappresentati da codici MNEMONICI I LIGUAGGI A ALTO LIVELLO Utilizzano espressioni sintattiche proprie dei linguaggi naturali, solitamente sono espressi in inglese. Soprattutto quelli più moderni facilitano l’operato del programmatore vengono utilizzati per tradurre un algoritmo ben dettagliato e organizzato. LINGUAGGI FORMALI ALGORITMO SUI LINGUAGGI Linguaggi L={a,b,w} Regole del linguaggio: Le parole cominciano per ‘a’ Le parole terminano per ‘w’ Le parole non possono contenere più di 2 lettere uguali(anche non consecutive) iiInizio Azzeramento contatori Input D Procedura caricamento Procedura lettera 1 a a Procedura Lettera 2 Stampa Fine Azzeramento Contatori I:=0 H:=0 Y:=0 K:=0 T:=‘S’ Fine Azzeramento INIZIO I=I+1 N[I] I=D FINE Controllo lettera 1 I=0 I=I+1 V[I]=‘W’ H=H+1 Z X X Z V[I]=‘A’ Y=Y+1 V[I]=‘B’ K=K+1 V[I]=‘A’ e V[I]=‘W’ e V[I]=‘B’ Z Y Z K I=D FINE LETTERA 1 Lettera 2 D[i]<>’a’ MESS Ca>2 MESS Cb>2 MESS A Cb>2 MESS A D[n]<>’w’ MES T=N MES 1 MES Fine lettera 2 Procedura STAMPA I:=0 I:=I+1 V[I] I=D Fine STAMPA Questo lavoro è stato svolto da: 1. 2. 3. FALCONE VINCENZO MAURO VALERIO DELLA ROCCA DOMENICO