|
De forma excepcional, en aquest
mòdul heu de lliurar tant el codi font com l'arxiu executable. A partir del
mòdul 2, només haureu de lliurar els codis fonts dels exercicis realitzats.
La forma adequada per a fer el
lliurament és crear un arxiu comprimit amb tots els arxius de cada mòdul. En
aquest cas, el nombre d'arxius que s'ha de lliurar és de dotze, sis amb
extensió .cc i sis amb extensió .o. El nom de l'arxiu
comprimit serà identificatiu+número de mòdul, per exemple, si el meu
identificatiu de correu és jpere10, l'arxiu que enviaria tindria el
nom: jpere10.zip o jpere10.tar
Problemes
complementaris
Aquests exercicis serveixen per completar
aquest mòdul però suposen una ampliació voluntària. No és necessari
lliurar aquests exercicis. No obstant això, és convenient fer-los i
lliurar-los.
7. L'Equació de segon grau
En aquest exercici es demana
una primera versió d'un programa que millorarem en un altre mòdul. Es tracta
de resoldre una equació de segon grau del tipus:
ax2 + bx + c =
0.
De moment no
farem cap comprovació que les solucions siguin reals, per tant, s'ha de tenir en
compte que aquesta versió del programa fallarà si els coeficients fan que
l'equació no tingui solucions reals.
El programa ha de demanar els
tres coeficients a, b i c. Aquests
coeficients seran del tipus double.
S'han de declarar de la següent forma:
void
main(){
double
a,b,c; //coeficients
double
disc; //discriminant de
l'equació
double
x1,x2; //solucions de
l'equació
...
|
Per llegir les dades es pot fer
servir una funció scanf() per cada coeficient:
printf("\nintroduïu
el coeficient a:");
scanf("%lf",&a);
printf("\nintroduïu
el coeficient b :");
scanf("%lf",&b);
printf("\nintroduïu
el coeficient b :");
scanf("%lf",&c) ;
|
o bé una única funció scanf()
que llegeixi tots tres coeficients alhora:
printf("\nintroduïu
els coeficients a, b i c \n");
scanf("%lf %lf
%lf", &a,&b,&c);
|
Per tal de llegir i escriure
variables del tipus double el codi de tipus que es fa servir és %lf.
La fórmula per resoldre
equacions de segon grau és, com tothom recordarà:

El símbol ± indica que
l'equació pot tenir dues solucions, una amb el més (+) i una altra amb el
menys (-).
Per tal de fer l'arrel quadrada
es fa servir la funció sqrt(). Per utilitzar aquesta funció és
necessari incloure al principi del codi l'arxiu de capçalera math.h:
#include <math.h>
És més fàcil entendre el
programa si feu servir variables per als càlculs parcials, per exemple:
disc=b*b-4*a*c;
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
|
Anomeneu al programa m1e7.cc i feu-lo
dintre de la carpeta Mòdul_1.
Heu d'enviar els arxius: m1e7.cc
amb el codi font i l'arxiu m1e7.o que és l'executable.
|