Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

[C++] Scrivere una retta dati a, b, c in C++ ?

01/02/2015, 18:17

Devo scrivere un programma in C++. Esso consiste nello scrivere, dati a, b, c, una retta in forma esplicita e in forma implicita. Mi potete aiutare ?

N.B. Questo è il primo programma che devo scrivere in C++, quindi non so proprio come avviarmi.

Grazie.

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

01/02/2015, 18:46

Cioè devi scrivere su schermo l'equazione? Sinceramente mi sembra poco più di un Hello World. Hai mai programmato in C++?

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

01/02/2015, 20:31

vict85 ha scritto:Cioè devi scrivere su schermo l'equazione? Sinceramente mi sembra poco più di un Hello World. Hai mai programmato in C++?


Come ho scritto questo è il primo programma che dovrei scrivere.
Comunque l'esercizio consiste nel fatto che il programma mi deve chiedere inserisci a, inserisci b, inserisci c e dopo mi deve dare la forma esplicita e la forma implicita della retta.

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

01/02/2015, 21:29

Beh, se ti è stato dato questo esercizio vuol dire che ti è stato spiegato come scrivere un programma. Sul libro ci saranno degli esempi.

Suppongo che ti siano stati spiegati cin e cout.

Codice:
#include <iostream>

using namespace std;

int main()
{
  /* inserisci qui la dichiarazione delle variabili a,b,c come in */
  cout << "Inserisci a, b e c" << endl;
  /* inserisci qui il codice per leggere i tre valori usando cin */

  /* Usa cout per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c  */

  /* dichiara le variabili m e q  */
  /* poni m = a/b e q = c/b */
  /* stampa con cout y = mx + q */
}


Se invece ti sono stati spiegati printf e scanf devi partire da questo

Codice:
#include <cstdio>

using namespace std;

int main()
{
  /* inserisci qui la dichiarazione delle variabili a,b,c come in */
  printf("Inserisci a, b e c\n");
  /* inserisci qui il codice per leggere i tre valori usando scanf */

  /* Usa printf per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c  */

  /* dichiara le variabili m e q  */
  /* poni m = a/b e q = c/b */
  /* stampa con scanf y = mx + q */
}


Alcuni commenti:
Il codice
Codice:
using namespace std;
è opzionale ma successivamente dovresti mettere std:: davanti a cout, cin e endl. Ci sono buoni motivi per farlo, ma il tuo prof immagino lo usi e quindi è meglio tenerlo.

Al posto di
Codice:
#include <cstdio>
alcuni professori insegnano
Codice:
#include <stdio.h>
è corretto ma solo per mantenerlo compatibile con il C. Quindi usare la mia forma è consigliabile.

Il
Codice:
return 0;
è opzionale e non l'ho messo. Tu puoi farlo.

Scrivere
Codice:
void main
non è corretto al contrario di quello che alcuni pensano.

Il codice corretto dovrebbe tenere conto dei casi in cui b = 0. Nella mia versione semplificata non l'ho fatto.

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

02/02/2015, 15:06

vict85 ha scritto:Beh, se ti è stato dato questo esercizio vuol dire che ti è stato spiegato come scrivere un programma. Sul libro ci saranno degli esempi.

Suppongo che ti siano stati spiegati cin e cout.

Codice:
#include <iostream>

using namespace std;

int main()
{
  /* inserisci qui la dichiarazione delle variabili a,b,c come in */
  cout << "Inserisci a, b e c" << endl;
  /* inserisci qui il codice per leggere i tre valori usando cin */

  /* Usa cout per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c  */

  /* dichiara le variabili m e q  */
  /* poni m = a/b e q = c/b */
  /* stampa con cout y = mx + q */
}


Se invece ti sono stati spiegati printf e scanf devi partire da questo

Codice:
#include <cstdio>

using namespace std;

int main()
{
  /* inserisci qui la dichiarazione delle variabili a,b,c come in */
  printf("Inserisci a, b e c\n");
  /* inserisci qui il codice per leggere i tre valori usando scanf */

  /* Usa printf per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c  */

  /* dichiara le variabili m e q  */
  /* poni m = a/b e q = c/b */
  /* stampa con scanf y = mx + q */
}


Alcuni commenti:
Il codice
Codice:
using namespace std;
è opzionale ma successivamente dovresti mettere std:: davanti a cout, cin e endl. Ci sono buoni motivi per farlo, ma il tuo prof immagino lo usi e quindi è meglio tenerlo.

Al posto di
Codice:
#include <cstdio>
alcuni professori insegnano
Codice:
#include <stdio.h>
è corretto ma solo per mantenerlo compatibile con il C. Quindi usare la mia forma è consigliabile.

Il
Codice:
return 0;
è opzionale e non l'ho messo. Tu puoi farlo.

Scrivere
Codice:
void main
non è corretto al contrario di quello che alcuni pensano.

Il codice corretto dovrebbe tenere conto dei casi in cui b = 0. Nella mia versione semplificata non l'ho fatto.


Grazie della risposta, ma a me serve il testo del programma che poi devo scrivere nel compilatore. Faccio tutte queste domande perchè in realtà io sono un autodidatta e voglio avvicinarmi alla programmazione.

Grazie ancora a chi mi risponde.

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

02/02/2015, 22:21

Che intendi per testo del programma? Intendi dire il codice? Sinceramente ti suggerirei di studiare su un manuale e fare esercizio. Guardare le soluzioni degli altri è utile ma solo se prima tu ragioni sulla tua soluzione.

Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
Codice:
int main () { }

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

02/02/2015, 22:32

vict85 ha scritto:Che intendi per testo del programma? Intendi dire il codice? Sinceramente ti suggerirei di studiare su un manuale e fare esercizio. Guardare le soluzioni degli altri è utile ma solo se prima tu ragioni sulla tua soluzione.

Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
Codice:
int main () { }


Si, esatto è il codice che mi serve. Però siccome è il primo programma non so come compilarlo. Per questo se me lo compili lo prenderò come esempio per i futuri programmi.

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

03/02/2015, 00:31

Se pure qualcuno ti scrivesse il programma per intero pronto da compilare, con una buona intuizione cmq non ne ricaveresti moltissimo. Al massimo potresti imparare a dichiarare una variabile e assegnare ad essa un valore, mostrare qualcosa a video o acquisire dati dalla tastiera...si è un inizio, ma il problema è che siamo ancora lontani dall'abc della programmazione e nel momento in cui te ne renderai conto cosa farai? chiederai un nuovo programma su qualche forum ? capirai che il tuo metodo è poco efficiente e richiede gente che si metta a disposizione per insegnarti a programmare partendo da zero.

Detto ciò, se un manuale ti sembra eccessivo per i tuoi fini, ti può essere utile sapere che su youtube puoi trovare moltissimi video-tutorial che spiegano in modo semplice come iniziare a programmare.

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

24/06/2015, 12:45

vict85 ha scritto:Che intendi per testo del programma? Intendi dire il codice? Sinceramente ti suggerirei di studiare su un manuale e fare esercizio. Guardare le soluzioni degli altri è utile ma solo se prima tu ragioni sulla tua soluzione.

Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
Codice:
int main () { }



#include <iostream>

using namespace std;

int main()
{
int a,b,c;
cout << "Inserisci a, b e c" << endl;
cin >> a;
cin >> b;
cin >> c;

cout << a <<"x + " << b << "y = " << c<< endl;

float m,q;
m = (float)a/b;
q = (float) c/b;
cout << " y = " << m << "x + " << q << endl;
system("PAUSE");
}

Ho seguito il tuo schema ma non dovrebbe essere m = - a/b e q = - c/b .

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

24/06/2015, 12:50

Si e no. Se è \(ax + by = c\) allora si ha che \(by = -ax + c\) ovvero \(\displaystyle y = -\frac{a}{b}x + \frac{c}{b}\). Una piccola svista.
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.