ESERCITAZIONE: SISTEMI LINEARI

Sviluppare un programma che preso in input un file che contiene un sistema lineare troverà, se esistono, le sue soluzioni e le stamperà su un altro file.

SINTASSI DEL FILE DI INPUT

L'input del programma sarà un file chiamato sistema.txt che contiene un sistema lineare secondo la sintassi data di seguito.
È possibile inserire spazi bianchi (carattere blank) in ogni punto del file di input, eccetto che all'interno di un nonterminale e di un numero reale.
Il programma può assumere che il contenuto di tale file sia corretto, e quindi evitare di trattare gli errori di sintassi.

Tale numero naturale deve essere maggiore di 1 e minore di 20.

Tale numero naturale deve essere maggiore di 1 e minore di 20.
fine linea

Il numero di equazioni deve coincidere con quello dichiarato all'inizio.

Il numero di elementi di ogni equazione deve coincidere con il numero di variabili dichiarato all'inizio incrementato di uno.

SINTASSI DEL FILE DI OUTPUT

Le soluzioni del sistema ricevuto in input dovranno essere scritte nel file soluzioni.txt secondo la sintassi indicata qui sotto:


Questa parte deve contenere tanti valori di variabili quante sono le variabili del sistema,
e gli indici devono essere usati a partire da uno e crescere di uno ogni volta.

Questa parte deve contenere tante "descrizioni di variabili" quante sono le equazioni del sistema.

Le variabili devono essere tante quante le variabili del sistema meno il numero di equazioni del sistema stesso, e gli indici usati per descrivere tali variabili devono partire da uno e crescere di uno ogni volta.

Non è possibile omettere di scrivere il segno per i numeri reali che sono parte dei monomi.
Il procedimento seguito nel produrre la soluzione, cioè i vari passi, deve essere mostrato nel file svolgimento.txt.
Tale file dovrebbe essere accettabile come soluzione di un esercizio dell'esame scritto del corso di Geometria 1.
Questa parte è opzionale, ma comunque è estremamente utile per aiutarvi a sviluppare il programma correttamente.
La sintassi di questa parte è a vostra scelta,
occorre comunque precisarla utilizzando i grafi sintattici.

Per esempio un sistema come quello che segue

può essere dato in input al programma con un file sistema.txt il cui contenuto è

numero equazioni 2
numero variabili 2
3 2 5.5
7 0 7
FINE
mentre le sue soluzioni saranno presentate dal programma in un file di nome soluzioni.txt il cui contenuto è
X[1]= 1
X[2]= 1.25

TESTS

I seguenti file contengono possibili input per il programma con le corrispondenti soluzioni corrette.
Utilizzateli per controllare il vostro programma.
ESEMPI

ALGORITMI PER LA SOLUZIONE

Suggerimenti

MODULO DI I/O PREDEFINITO

Il modulo per l'input e l'output di base è predefinito:
INTERFACCIA
BASICIO.h
BODY
BASICIO.c
È obbligatorio utilizzare tali moduli per le operazioni elementari di input ed output, e chiaramente non possono essere modificati.

VALUTAZIONE

È possibile risolvere solo una parte di questo problema, precisamente limitarsi a considerare i casi in cui il numero delle equazioni è uguale a quello delle variabili.
Nel caso che il sistema ammetta infinite soluzioni, è sufficiente stampare sul file di output la stringa Infinite soluzioni.
In questo caso la valutazione massima ottenibile sarà 27.

MODALITÀ DI CONSEGNA

Occorre consegnare
  1. Dischetto contenente il programma completo, il tutto contenuto in un folder chiamato PROGRAMMAngruppo.
  2. Una copia dei file descritti al punto 1 stampati su carta
  3. Documentazione del programma realizzata come un documento ipertestuale scritto utilizzando HTML, il tutto contenuto in un folder chiamato DOCUMENTAZIONEngruppo.

DATA DI CONSEGNA

La data di consegna ultima è il 20 Settembre 1999.
Ultima modifica: 22 Luglio 1999