Yacine_3tm Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 slt a tous, aya qlq un pour me donner une idée sur ces exos, je serai reconnaissant : Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité HAVOC Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 (modifié) Bon n'ayant plus aucun souvenir du langage pascal, je te propose la solution sous forme algorithmique (y'a qu'à traduire en pascal... le principe étant donné). Exo 2 : Ceci est un cas typique qu'on peut facilement résoudre avec de la récursivité : programme Exo2 fonction calculSomme(n:entier):réel { // C'est à dire que la fonction prend en paramère un entier et elle rend à la fin un réél. si n==1 alors retourne 1 sinon 1/fact(n) + calculSomme(n-2) fsi fin Note : Si tu as peur de la récursivité (ou si tout simplement ce principe n'a pas encore été vu en cours), tu peux utiliser une boucle while avec un i initialisé à 1 et qui va jusqu'à i=n avec un pas de 2 (c'est à dire que tu i fera : 1, 3, 5, 7...etc). Modifié le 14 juin 2009 par HAVOC Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité HAVOC Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 Pour l'exo3, c'est un cas typique d'exo accès mathématique/recherche... tout ce que je déteste mdr. Bref... ici tout est une histoire de sélection d'un bon type ou plutôt de la bonne forme pour stocker ses données. Je pense qu'en pascal les tableau à deux dimensions existent, c'est ce que tu dois utiliser. Pour la lecture et l'écrire de la matrice il te suffit d'utiliser des boucles, en plus c'est une matrice carrée (N*N). Exemple (en C l'exemple cette fois lol) : int i, j, n; // Déclaration de deux entier i, j et n int matrice[][]; // Déclaration d'un tableau d'entier à deux dimensions printf("Veuillez entrez la taille de la matrice : "); scanf("%d", &n); // Rien d'inquiétant ici, je récupère juste l'entier entré au clavier par l'utilisateur for (i = 0, i for (j = 0, j printf("Veuillez entrer l'élément %d, %d de la matrice", i, j); // Pour obtenir un affichage du style : Veuillez entrer l'élément 0,0 de la matrice scanf("%d", &matrice[j]); // On met l'entier tapé dans une des case de la matrice } } Voilà... on a créé notre matrice. Pour les questions B et C c'est aussi un parcours comme celui que j'ai donné avec un petit if pour vérifier si c pair ou impair. Pour la suite... j'ai pas trop le temps là mais j'essaierai d'y répondre plus tard. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 14 juin 2009 Auteur Share Posté(e) le 14 juin 2009 Salut Havoc, Merci beaucoup pour ton aide, mais je crois que ça c'est du C++ :D" Chui encore dans le pascal lol, je cherche un programme de langage pascal Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mouradski Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 (modifié) program EXO2; var N : integer, I : integer, P : integer, S : real; function Fact ( n : integer) : integer; begin if n=0 then Fact := 1 else begin Fact := Fact(n-1) * n ; end; end; begin S := 1; P := 1; for I :=1 to N do begin S := S + 1 / Fact( P ) ; P := P + 2 ; end; write ( S ) ; end. pour le reste tu fais un petit effort Modifié le 14 juin 2009 par mouradski Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 14 juin 2009 Auteur Share Posté(e) le 14 juin 2009 Ah ! Mourad je te demande un tout petit dérnier service :D", comment déterminer les élément paires de la matrice et de faire d'eux les éléments d'un vecteur ? Si tu te souviens bien sûr, parce que le pascal c'est seulement pour les premières années Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mouradski Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 (modifié) Ah ! Mourad je te demande un tout petit dérnier service :D", comment déterminer les élément paires de la matrice et de faire d'eux les éléments d'un vecteur ? Si tu te souviens bien sûr, parce que le pascal c'est seulement pour les premières années Merci. fonction Pair qui retourne Vrai si l'entier passé en paramètre est pair et faux sinon function Pair ( n : integer ) : bool; begin if (n mode 2) = 0 then Pair := true; else Pair := false; end; Pour les vecteurs qui ne sont que des tableaux dynamiques consultes ce lien et digères bien la notion de pointeur. C'est pas parce que le Pascal n'est qu'en première année bark qu'il faut le négliger, c'est un langage purement pédagogique c-à-d qu'il t'apprendra la philosophie de la programmation, je te conseille de bien l'étudier sinon tu auras un peu de mal à digérer plus tard le C/C++ et cie. Modifié le 14 juin 2009 par mouradski Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité HAVOC Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 Salut Havoc, Merci beaucoup pour ton aide, mais je crois que ça c'est du C++ :D" Chui encore dans le pascal lol, je cherche un programme de langage pascal Merci. Kifkif, C ou Java ou Python...c'est la syntaxe qui diffère, l'idée de résolution reste à quelques détails près la même! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 14 juin 2009 Auteur Share Posté(e) le 14 juin 2009 (modifié) Ah! Merci beaucoup Mourad, je te promis que si j'aie une très bonne note en Algo demain, 3endek pizza men 3endi. Allez @+ Un petit ennui de ma part si tu le permet, comment distinguer ces paires d'une matrice. Merci. Modifié le 14 juin 2009 par Yacine_3tm Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 14 juin 2009 Auteur Share Posté(e) le 14 juin 2009 Kifkif, C ou Java ou Python...c'est la syntaxe qui diffère, l'idée de résolution reste à quelques détails près la même! :D:D" je ne suis que débutant dans les langages, faire la différence entre les syntaxe et comme la grande différence entre toi et moi en programmation :)" Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mouradski Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 Ah! Merci beaucoup Mourad, je te promis que si j'aie une très bonne note en Algo demain, 3endek pizza me 3endi. Allez @+ Un petit ennui de ma part si tu le permets, comment distinguer ces paires d'une matrice. Merci. lol ben tu exécutes la fonction Pair sur chacune des case de la matrice comme suit for i :=1 to N do for j :=1 to N do begin if Pair ( Matrice [i,j]) then // ajouter la valeur au vecteur approprié end; je te conseille de jeter un coup d'œil sur le lien que je t'ai donné en haut pour voir comment manipuler les Matrices/Vecteurs, pour faire simple je te conseille de travailler qu'avec des vecteurs statiques sur dimensionnés s'il le faut mais de préférence utilise des structures dynamiques avec les pointeurs et là WOULAHI EL 3ADIM que Google saura faire copain copain avec toi mieux que moi Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 14 juin 2009 Auteur Share Posté(e) le 14 juin 2009 (modifié) Ah bon, donc si j'ai bien compris, je déclare avant la fonction qui définie les paires puis j'utilise directement paire comme connu. Très très bien, merci beaucoup pour le lien et ton aide, ça m'a vraiment aidé vu qu'on a pas vu les fonctions ni en cours ni en TD . Merci à Havoc aussi pour ton aide Allez @++ mes amis ---------------------------------------------------------------------------------------------------------------------------- Vive ForumDz ! Modifié le 14 juin 2009 par Yacine_3tm Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mouradski Posté(e) le 14 juin 2009 Share Posté(e) le 14 juin 2009 Allez @++ mes amiEs tu vois des meufs par tout toi Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 14 juin 2009 Auteur Share Posté(e) le 14 juin 2009 tu vois des meufs par tout toi lol c'est parce que je les évite que je en voie partout :D" 7ayer kifah ndir :D:D" Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 15 juin 2009 Auteur Share Posté(e) le 15 juin 2009 (modifié) Je viens de passer aujourd'hui l'EMD d'Algo, malheureusement y avait pas de fonction, on nous a donné le déroulement d'un Algorithme avec la boucle Tant que pour seulement 4.5 pts ( : Algorithme calcul Variables a,r: réel i,b,c: entier Début lire(a,b) c Si a≠0 alors r i Tant que i r i Fintantque Si b finsi Ecrire® Sinon écrire ('Erreur: a est nul') Finsi Fin Trouvez moi l'expression générale qu'il calcule et je vais savoir est ce que j'aurai 4.5/4.5 sur cette exo Ok je sais c'est dégoutant de résoudre un tel problème en middle de juin avec une chaleur pareille...ouai je sais :D" Modifié le 17 juin 2009 par Yacine_3tm Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité HAVOC Posté(e) le 15 juin 2009 Share Posté(e) le 15 juin 2009 Cet algorithme visiblement calcul l'expression générale : a^b (lire a puissance b) avec a étant un réel et b un entier. Note : par contre je ne vois pas pourquoi l'algo énoncé affiche une erreur si a est nulle... le résultat donne zéro dans ce cas et puis c'est tout. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 15 juin 2009 Auteur Share Posté(e) le 15 juin 2009 Cet algorithme visiblement calcul l'expression générale : a^b (lire a puissance b) avec a étant un réel et b un entier. Note : par contre je ne vois pas pourquoi l'algo énoncé affiche une erreur si a est nulle... le résultat donne zéro dans ce cas et puis c'est tout. Pour A^b je lance un grand youyou, j'ai donc eu 100% de l'exo. Et pour le ('erreur bla blab bla') tu sais, ils cherchent toujours à inventer des diversions sans intérêt. Merci Havoc Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité HAVOC Posté(e) le 15 juin 2009 Share Posté(e) le 15 juin 2009 Si tu peux poster le reste du sujet je suis curieux de le voir ^^ C'est un sujet de quel fac? quelle formation ? Merci ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mouradski Posté(e) le 15 juin 2009 Share Posté(e) le 15 juin 2009 Si tu peux poster le reste du sujet je suis curieux de le voir ^^ C'est un sujet de quel fac? quelle formation ? Merci ! J'allais poser les mêmes questions Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 15 juin 2009 Auteur Share Posté(e) le 15 juin 2009 Ah ! très bonne question, je rame dans le tronc commun St (Science technique), mais je donne une très grande importance à la programmation surtout l'Algorithme vu que je vais faire automatisme comme spécialité nchalah. je vais essayer de poster le reste du sujet. Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 15 juin 2009 Auteur Share Posté(e) le 15 juin 2009 Bon, un autre de 6pts : Soit une matrice A d'ordre (n,m) de valeurs réelles donné. Ecrivez un programme Borland Pascal permettant de compter le nombre d'occurrences dans cette matrice d'une valeur V donnée et de récupérer leurs position dans un tableau POS. Le nombre d'occurrences est le nombre de fois que V apparît dans la matrice A. Exemple : Soit A=, le nombre d'occurrences de 7 est 3. POS: [1 3 2 1 3 2]. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
anubis_1001 Posté(e) le 16 juin 2009 Share Posté(e) le 16 juin 2009 Bon, un autre de 6pts : Soit une matrice A d'ordre (n,m) de valeurs réelles donné. Ecrivez un programme Borland Pascal ... mdr :D puisque je passe par la .. : const n = 3; type TMat = array [0 .. n - 1, 0 .. n - 1] of Integer; TTab = array [0 .. (n * n - 1)] of record i, j: Byte; end; function nombreocc(k: Integer; m: TMat; var v: TTab): Integer; var i, j, s: Integer; begin s := 0; for i := 0 to n - 1 do for j := 0 to n - 1 do if k = m[i, j] then begin v[s].i := i; v[s].j := j; Inc(s); { équivalent à s := s + 1;} end; nombreocc := s; end; voila essaye de comprendre ce petit code (rien de bien compliqué normalement..), et écrit le programme principal.. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 17 juin 2009 Auteur Share Posté(e) le 17 juin 2009 Bon, pour les erreurs ? Pour tu crois que c'est des erreurs ? : De l'ordre n:ex: 3, m:ex:2, et borland pascal n'existe pas ? A propos du code: v.i := i; v.j := j; je ne comprend pas bien, bon... je comprend le principe mais le syntaxe, non. Et y à pas d'affichage des résultat, qu'est qu'on doit afficher ? Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
mouradski Posté(e) le 17 juin 2009 Share Posté(e) le 17 juin 2009 Bon, pour les erreurs ? Pour tu crois que c'est des erreurs ? : De l'ordre n:ex: 3, m:ex:2, et borland pascal n'existe pas ? A propos du code: v.i := i; v.j := j; je ne comprend pas bien, bon... je comprend le principe mais le syntaxe, non. Et y à pas d'affichage des résultat, qu'est qu'on doit afficher ? Merci. Borland est un Editeur de Compilateur/IDE Pascal est un langage de programmation. Pour la syntaxe, un Record comme son nom l'indique est un Enregistrement, une sorte de structure qui contient des éléments de différents types, dans le cas de ton code chaque enregistrement contient deux variables de type Byte, on accède aux éléments composant le Record avec un point, ex : MonRecord.VarableX, on peut lire et affecter une valeur à cette variable, on peut aussi créer des tableaux de type record et accéder au variables des éléments ce ce tableaux avec MonTableau[index].VariableX. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yacine_3tm Posté(e) le 17 juin 2009 Auteur Share Posté(e) le 17 juin 2009 Borland est un Editeur de Compilateur/IDE Pascal est un langage de programmation. Pour la syntaxe, un Record comme son nom l'indique est un Enregistrement, une sorte de structure qui contient des éléments de différents types, dans le cas de ton code chaque enregistrement contient deux variables de type Byte, on accède aux éléments composant le Record avec un point, ex : MonRecord.VarableX, on peut lire et affecter une valeur à cette variable, on peut aussi créer des tableaux de type record et accéder au variables des éléments ce ce tableaux avec MonTableau[index].VariableX. Désolé pour te dire mais peut-tu trouver une autre solution simple avec seulement les types : Real et Integer. j'ai trouvé la solution pour l'occurrence mais pour la position des cette dernière sous forme d'un Tableau, quelque chose m'échappe. Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.