14.3 C
Roma
mercoledì, Maggio 12, 2021
Home Corsi C Equazioni di secondo grado in C (Esercizio Funzioni)

Equazioni di secondo grado in C (Esercizio Funzioni)

Esercitarsi all’utilizzo delle funzioni e delle procedure è essenziale per poter scrivere del codice corretto ed efficace. Proprio per questo motivo oggi vi proporremo un esercizio con il quale sarà possibile risolvere equazioni di secondo grado del tipo “ax2+bx+c=0”.

Le equazioni di secondo grado necessitano di tre variabili float per identificare i tre differenti coefficienti dell’equazione e due di tipo double per i possibili risultati dell’equazione.

Per prima cosa nel programma d’esempio, richiediamo all’utente quali siano i tre coefficienti. Successivamente effettuiamo la seguente analisi

  1. Se il coefficiente a, b, c sono uguali a zero allora l’equazione è indeterminata, ovvero non è possibile calcolare i suoi risultati;
  2. Se il coefficiente a e b sono uguali a zero e il coefficiente C è differente da 0 allora l’equazione è impossibile da risolvere;
  3. Se il coefficiente solo il coefficiente a è uguale a zero allora l’equazione è di primo grado, di conseguenza si risolve con la formula Risultato = Coefficiente C/ Coefficiente B;
  4. Se il coefficiente a è differente da zero allora calcola il Delta con la formula b^2 – 4ac, se il risultato è maggiore di zero allora esegue il calcolo per due ottenere due soluzioni reali, se il delta è uguale a zero allora calcola l’unica soluzione possibile, altrimenti se il delta è inferiore a zero non è possibile trovare soluzioni reali.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


float a,b,c;
double x1,x2;

void inizializzazione()
{
	printf("Risoluzione equazioni di secondo grado del tipo ax2+bx+c=0\n");
	printf("Inserisci coefficiente a:\t");
	scanf("%f",&a);
	printf("Inserisci coefficiente b:\t");
	scanf("%f",&b);
	printf("Inserisci coefficiente c:\t");
	scanf("%f",&c);	
}
	
float calcolaDelta()
{
	float delta = (b*b)-(4*a*c);
	return delta;
}

void deltaMaggioreZero()
{
	    x1=(-b-sqrt(calcolaDelta()))/(2*a);
	    x2=(-b+sqrt(calcolaDelta()))/(2*a);
	    printf("\nDue soluzioni reali distinte x1= %5.3lf e x2= %5.3lf \n",x1,x2);
}

void deltaUgualeZero()
{
	    x1=(-b)/(2*a); 
	    printf("\nDue soluzioni reali coincidenti x1 e x2 uguali a %5.3lf \n",x1);
}


int main() 
{	
	inizializzazione();
	if (a==0) 
	{
		if(b==0 && c==0)
	    	printf("L'equazione inserita è indeterminata");
		else if(b==0)
	    	printf("\nL'equazione è impossibile da risolvere");
		else 
		{
	   		printf("L'equazione e' di primo grado\n");
	   		x1 =-c/b;
	   		printf("\n x= %lf", x1);
		}
  	}
  else 
  {
	printf("Il Delta e' %5.3lf ", calcolaDelta());
	if(calcolaDelta() > 0)
		deltaMaggioreZero();
	else if(calcolaDelta() == 0)
		deltaUgualeZero();
	else printf("\nNon esistono soluzioni reali\n");
  }
	system("pause");
}

SCARICA CODICE SORGENTE

LINK UTILI

Pagina Instagram: https://www.instagram.com/developer_sumo/
Corso C: https://www.developersumo.com/c/
Altri algoritmi in C: https://www.developersumo.com/category/corsi/c/algoritmi/
I nostri Corsi: https://www.developersumo.com/corsi/
Le nostre App su Play Store: https://play.google.com/store/apps/developer?id=Developer+Sumo

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Cos’è e come fare un Vlog

Se siete abituati ad usare la tecnologia è abbastanza probabile che siate giovani e che passiate molto tempo sui social e se...

Come usare e creare le classi in HTML

L'attributo class è utilizzato per assegnare ad un oggetto HTML una classe. Una delle caratteristiche principali delle classi HTML è che possono...

Lista compleanni personaggi Death Note

Death Note scritto da Tsugumi Ōba e illustrato da Takeshi Obata. È stato serializzato in Giappone dal 1º dicembre 2003 al 15...

Linguaggio di Programmazione di League of Legends

Se sei un appassionato di sviluppo informatico sicuramente ti sarai chiesto quale sia il linguaggi di programmazione di League of Legends. League...

Recent Comments