PDA

Afficher la version complète : [Réglé] [Réglé] Demande d'exercice et de projet en c++



atlas
19/11/2004, 22h58
lol

J'aurais besoin d'exercices et de projets c++ progressifs dans la difficulté .

Des mini projets permettant de travailler concretement les notions de classe , de tableaux , creer un hello world plus graphique cet fois (avec bouton et fenetre) etc ...

Voici ce que j'aie reussi à faire et ou j'en suis : une fonction renvoyant la valeur absolue d'un nombre (if ... else do ... while(bouclant infinimment) cout cin , définition de fonction ont été utilisés)

C'est pas brillant mais l'essentiel est de progresser à dose homéopathiques .

NB : des exos tres concrets avec correctifs commentés lignes à lignes ce serait de la balle !

molodoi
20/11/2004, 13h04
salut,

file moi ton adresse mail par MP et je t'enverrai les exercices de mon cours.

A la base, c'est pour du Java mais ce n'est pas grave. Les énoncés sont tjrs valables.

Conseil: prépare une boîte d'aspirines http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif

Dr Malone
20/11/2004, 18h38
Tu peux aller sur : http://online-judge.uva.es/problemset/
Tu trouveras plein de problemes à résoudre en C++, C ou Java.
Le petit plus est que tu oeuvres pour la science http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif en effet tu peux ensuite soumettre ta solution au juge en ligne qui te rendra son verdict.
Toutes les solutions sont ensuite analysées pour faire des statistiques sur les manieres de programmer des internautes. Donc stp n'utilise pas le juge pour debugger ton code mais uniquement lorsque tu considères que ton code est parfait.
bons développements http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

molodoi
20/11/2004, 20h12
j'ai jetté un oeil sur les problèmes. Ce ne sont pas des trucs de tapiole (si je puis me permettre).

Vu le niveau d'atlas, je pense qu'il peut attendre un peu avec de se lancer là-dedans http://www.alionet.org/style_emoticons/<#EMO_DIR#>/sad.gif

Dr Malone
20/11/2004, 20h36
Normalement il y en a pour toutes les bourses http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif
Ca va de problemes de gamin au programmes d'experts.

lucienmathieu
20/11/2004, 22h14
je dirai de faire une liste qui peut contenir n'importe quel type de données, par exemple int, char *, long, float comment ferais-tu çà atlas?

ou alors tu peux t'amuser avec des fichiers, fstream, ifstream et ofstream... pour t'amuser un peut, voici la doc CPlusPlus (http://www.cplusplus.com/ref/iostream/index.html)

atlas
20/11/2004, 23h17
Un prog acceptant n'importe quel type de donnée ?Houlà ....Y en a beaucoup des types surtout si on s'amuse à les composer .int , long int , short int ,long , double , float , double float , char ...Je risque d'en oublier .

Heu , la notion de liste fait chez moi echo à la notion de tableau .Je pense que j'aie besoin de codé un tableau .Cependant , la notion de tableau est hermetique pour moi encore . Je veux dire que je vois pas du tout ce que ça va me renvoyé à l'écran (et qui plus est dans une console)
http://www.alionet.org/style_emoticons/<#EMO_DIR#>/unsure.gif

molodoi
20/11/2004, 23h39
fais péter ton adresse email...

tonton molo va t'envoyer de jolis petits exercices http://www.alionet.org/style_emoticons/<#EMO_DIR#>/ohmy.gif

molodoi
20/11/2004, 23h42
Originally posted by lucienmathieu@Samedi 20 Novembre 2004 21:14
je dirai de faire une liste qui peut contenir n'importe quel type de données, par exemple int, char *, long, float comment ferais-tu çà atlas?

ou alors tu peux t'amuser avec des fichiers, fstream, ifstream et ofstream... pour t'amuser un peut, voici la doc CPlusPlus (http://www.cplusplus.com/ref/iostream/index.html)
trop compliqué pour commencer tout ça...

Il faut prendre les choses l'une après l'autre.

Découvrir petit à petit la notion de la classe, constructeur, attributs, accesseurs, ...

http://www.alionet.org/style_emoticons/<#EMO_DIR#>/cool.gif

lucienmathieu
20/11/2004, 23h42
fais confiance à molo, il est prof...

jacqueline
21/11/2004, 03h49
Lol !

J'ai appris le Fotran avec un jésuite.... (pas sûre qu'il soit jésuite, mais il aurait pû ) et avec un autre prof , sorte d'anar poète à ses heures, surtout dans les maths, et le calcul en Fortran...

J'ai aimé le contraste, évident ! Je retournerais bien à l'école : ça va tout de même plus vite pour apprendre.

( il faudrait que je paye, j'ai plus droit à rien sinon à des conférences débiles à l'université du temps libre ... Autrement dit avec des gens qui se font ch.... grave ! et qui viennent tuer le temps en faisant semblant de s'intéresser au sujet, ce qui m'énerve encore plus ! ) .

Vive les profs ( sans plagier Reiser ! )

Jacqueline

atlas
22/11/2004, 22h58
Ok merci à tous et en particulier à Molodoi qui a essayé aujourd'hui de me tuer avec sa suite mathématique plus connue sous le nom de "Suite de droaalatomb" .

Après 5 ans que je n'avais plus fait de mathématiques scolaires , je pense m'en être sorti

Intitulé : écrire un prog calculant la somme des 100 premiers entiers
Réponse : 5050 si je me suis pas trompé

Voici le code


#include <iostream>
using namespace std;

//Calcules la somme des 100 premiers entiers et affiche le résultat à l'écran

int main()
{

int nombre = 0;
int somme = 0;
int hoponarrangelecoup;

do
{

nombre = nombre + 1;// écrase à chaque fois la valeur précedente
somme = somme + nombre;
hoponarrangelecoup = somme - nombre;//Molodoi n'a rien vu !
cout<<hoponarrangelecoup<<"+"<<nombre<<"="<<somme<<endl;

}

while (nombre < 100);// et non pas <= qui termine une occurence trop tard

getchar();


}// ferme main

molodoi
23/11/2004, 10h10
http://www.alionet.org/style_emoticons/<#EMO_DIR#>/blink.gif dis moi, atlas, pourquoi faire si compliqué? (je ne sais pas si ton code est correct http://www.alionet.org/style_emoticons/<#EMO_DIR#>/unsure.gif )

Bon, je peux te mettre sur la piste d'une solution plus "simple" et, surtout, "plus élégante".

L'objectif est de faire la somme des 100 premiers entier...

Soit


int somme

le résultat de cette addition.

Il est évident qu'il faut faire une boucle. Réfléchissons et considérons la ième itération de cette boucle:


Pour tout i, 1<=i<=100

J'ai la propriété suivante:


somme = SUM_i

où SUM_i = 1+2+3+...+i

A partir de là, réécrit ton code (en 3 lg, c'est pesé emballé) http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

PS: ce genre de réflexion avant de coder est basé sur la méthode des "Invariants". Un invariant est une propriété qui est vraie à chaque passage dans la boucle (d'où l'importance de bien calibrer le 'i').

EDIT: je ne dis pas que faire ce genre de démarche est facile. Mais ça s'apprend. Et agir comme cela permet de "bien programmer"

atlas
23/11/2004, 10h38
Un peu mieux ...


#include <iostream>
using namespace std;

int main()
{
int somme = 0;
for (int i=1;i<=100;somme += i++);
cout<<somme<<endl;
}

molodoi
23/11/2004, 10h51
moui, ça m'a l'air mieux http://www.alionet.org/style_emoticons/<#EMO_DIR#>/ohmy.gif

t'as pigé le principe?

atlas
23/11/2004, 12h21
Yes !

Je dirais que les opérateurs += *= ++ -- font office de "mini-boucle" .

molodoi
23/11/2004, 12h24
je parlais de l'aspect "méthodologie"

atlas
23/11/2004, 23h17
Heu ... La méthodologie ? Celle des "invariants" dont tu parles .Trop tôt pour répondre si j'aie compris .Because je suppose que c'est un méthode empirique qui ne s'applique pas qu'a la boucle "for" .

A vrai dire pour programmer , je ne compte que sur l'expérience et j'aie un coté "bricolo" http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

molodoi
24/11/2004, 11h00
les invariants s'appliquent aux boucles for et while http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

philtrain
27/12/2004, 19h05
Originally posted by molodoi@mardi 23 novembre 2004 à 10:51
moui, ça m'a l'air mieux http://www.alionet.org/style_emoticons/<#EMO_DIR#>/ohmy.gif

t'as pigé le principe?
<div align='right'><{POST_SNAPBACK}> (index.php?act=findpost&pid=8646)[/quote]

Salut molodoi,

Il y a meme plus simple si on considere que la somme des n premiers entiers est égale à
( n * ( n + 1 ) ) / 2
--> pas besoin de boucle

a+