6 GIUGNO 2016 CAS TESINA PER ESAME DI STATO 2016 NICOLÒ LUTTERI ITT MARCONI S. ILARIO, VIA MONTI CAS Sommario INTRODUZIONE .............................................................. 2 CAS (SISTEMA DI ALGEBRA COMPUTAZIONALE) ....................... 3 TECNOLOGIE E LIBRERIE UTILIZZATE .................................... 4 C# ........................................................................... 4 RIBBON ..................................................................... 4 ASP.NET .................................................................... 6 WPF ......................................................................... 6 THREE.JS................................................................... 7 BOOTSTRAP ................................................................ 8 APPROFONDIMENTO DELLE DIFFERENTI PARTI ......................... 9 LIBRERIA ................................................................... 9 SITO IN WEB ............................................................. 10 APPLICAZIONE DESKTOP ............................................... 11 CONCLUSIONI.............................................................. 12 1 CAS INTRODUZIONE Il progetto che ho deciso di portare alla prova orale dell' esame di stato è un programma che riguarda le seguenti materie: - Matematica (CAS) - Tecnologie Informatiche (ASP.NET) - Informatica (C#) L'applicativo si basa sulla creazione di un CAS, ed è composto dalle seguenti parti (che verranno spiegate in specifico nelle pagine successive): - La libreria - Il sito web in ASP.NET - L'applicazione windows Form 2 CAS CAS (SISTEMA DI ALGEBRA COMPUTAZIONALE) Il CAS (o sistema di algebra computazionale) è un insieme di software che permette di manipolare polinomi e funzioni razionali, derivate, integrali ... Le manipolazioni sono le seguenti: 3 semplificazione, inclusa la semplificazione automatica e la semplificazione con presunzioni; sostituzione di valori simbolici o numerici per le espressioni; cambiamenti di forma delle espressioni mediante: sviluppo di prodotti e di potenze, riscrittura sotto forma di frazioni parziali, riscrittura di funzioni trigonometriche come esponenziali, etc ; differenziazione rispetto a una o più variabili; ottimizzazione globale simbolica sotto vincoli o senza vincoli; fattorizzazione parziale e completa; etc CAS TECNOLOGIE E LIBRERIE UTILIZZATE C# Il C# è un linguaggio di programmazione orientato ad oggetti sviluppato da Microsoft. La sintassi di C# prende spunto da C++ (anch'esso orientato ad oggetti), di Java e di Visual Basic per gli strumenti di programmazione visuale e per la sua semplicità. Si basa su .NET Framework. RIBBON Ribbon è una libreria open source creata da Jose Menendez Poo. Quest'ultimo ha deciso di interrompere il supporto, ma lo sviluppo è continuato grazie ad alcuni fans di questo progetto. Comprende i seguenti User control: - Bottoni - Gruppi 4 LISTA COMPLETA CAS - Pannelli - Tab Che si adattano al tipo di visualizzazione scelta nelle proprietà dell'oggetto Ribbon: - Office 2007 - Office 2010 - Office 2013 La grafica è inspirata dalla suite Office che utilizza questo stile per il Form che Microsoft a deciso di chiamare Fluent User Interface STILE OFFICE 2013 5 STILE OFFICE 2010 CAS ASP.NET ASP.NET è un insieme di tecnologie per il web creata da Microsoft Corporation. Permettono di realizzare applicazione e servizi riguardanti il web. Con ASP.NET si possono usare qualsiasi linguaggio di alto livello supportato dal Framework .NET (come ad esempio C#). WPF Windows Presentation Foundation (o WPF), è una libreria di classi del Framework .NET sviluppata da Microsoft. E nato per sostituire il vecchio modello di sviluppo Windows (Windows Form), ormai considerato deprecato. Schema di WPF 6 CAS THREE.JS Three.JS è una libreria che permette di mostrare oggetti tridimensionali in un web browser (tramite un canvas HTML 5.0), utilizzando Javascript, senza utilizzare nessun tipo di software proprietario. Basata su WebGL. Scena creata con THREE.JS Comprende i seguenti oggetti: - Le scena, composta dai modelli. - La telecamera, il punto di vista. - Luci, illuminano la scena. - Modelli, sono gli oggetti che compongono una scena, come un cubo, una sfera. 7 CAS BOOTSTRAP Bootstrap è una raccolta di modelli basati su HTML e CSS, sviluppato da Twitter. Alcuni esempi: - Bottoni - Label - Progressbar - Pannelli 8 CAS APPROFONDIMENTO DELLE DIFFERENTI PARTI TIPI GESTITI LIBRERIA E il "cuore" di questo progetto, contiene differenti classi come: La classe Grapich che consente di disegnare funzioni 2D e 3D La classe Equation che permette di risolvere equazioni La classe Area che contiene tutti i differenti tipi, come Polinomi, Monomi, Equazioni, etc. La classe Area consente di: - Moltiplicare due Aree - Eseguire conversione da stringa - Semplificare - Sommare due Aree L'intera libreria è scritta in C#. Viene utilizzata dall'applicazione web e dall'applicazione desktop. 9 DIAGRAMMA DELLA CLASSE PRINCIPALE CAS SITO IN WEB Il sito web basato su ASP.NET. Questo sito si compone di un interfaccia basica, utilizzando gli elementi di Bootstrap. Permette di inserire un equazione e di disegnare il relativo grafico sia 2D che 3D grazie alla libreria THREE.JS. INTERFACCIA MINIMALE PER L'INSERIMENTO DELL'EQUAZIONE GRAFICO REALIZZATO CON THREE JS 10 CAS APPLICAZIONE DESKTOP L'applicazione desktop (Windows Form) che comprende più funzioni rispetto all'applicazione web. Le funzioni fornite sono: - Disegno del grafico 2D e 3D, grazie alle funzionalità integrate di WPF - La semplifica - La risoluzione di equazioni - Etc GRAFICO TRAMITE WPF BARRA RIBBON DEL FORM 11 CAS CONCLUSIONI Con questo progetto ho potuto scoprire nuove tecnologie non studiate a scuola, come WPF, Bootstrap e Ribbon, e approfondire quelle già incontrate a scuola come ASP.NET. Inoltre mi sono accorto della difficoltà di sviluppo di un applicazione CAS completa. Infatti la versione che ho sviluppato non comprende tutte le funzionalità che dovrebbe avere un vero CAS, sicuramente una difficoltà derivata dal fatto che sono l'unico programmatore di questo progetto. 12