Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

Pascal.


Yacine_3tm

Messages recommandés

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é par HAVOC
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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é par mouradski
Lien vers le commentaire
Partager sur d’autres sites

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é par mouradski
Lien vers le commentaire
Partager sur d’autres sites

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!

Lien vers le commentaire
Partager sur d’autres sites

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: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 :)"

Lien vers le commentaire
Partager sur d’autres sites

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.:o

 

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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é par Yacine_3tm
Lien vers le commentaire
Partager sur d’autres sites

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 :mad::(:o :

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é par Yacine_3tm
Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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=32628002.jpg, le nombre d'occurrences de 7 est 3. POS: [1 3 2 1 3 2].

Lien vers le commentaire
Partager sur d’autres sites

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 :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..

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • Messages

    • Je ne vais pas le donné maintenant je vais attendre que l'événement ce poursuivre un peut d'abord ta quoi comme modem? Oui le fix marche bien avec la fibre mais pas de signale los pas d'internet 
    • @popmpopm tu as fais comment pour accéder au mode superadmin? j'ai pas bien compris le truc avec le numéro fixe.. de base c'était telecomadmin/admintelecom pour le huawei mais maintenant ca marche plus..
    • Enfin le superadmin ... Enfin tous les option  Je pense que le nom d'utilisateur et mot de passe de la connexion est le numéro de téléphone du fix avancé par 3 lettres et la même chose pour mp c'est ce que j'ai trouvé.. Je bidouille mais sans internet il mon installé le modem sans signal los mais le fix marche bizarre le technicien ma dit d'attendre 1 heure mais après 5 heure y'a rien j'ai appelé le 12 il mon dit que si elle ne serait pas activé par votre agence alors demain en va l'activé mais moi j'ai un doute lui même a appelé le 12 il ont dit que le signale ne pas stable alors m'a dit que peut être il ya du la poussière il a sifflet un peut dans le trou de la boîte 🤣🤣 moi ma conclusion c'est du bricolage tous ca je vais le contacté dimanche avant que ligne soit rétabli sinon je vais resté avec une connection de batata ellah yej3al el khir  
    • @youcef17fr c'est où ? Donc de nouveaux conteneurs arrivent de Chine contenant les équipements fibre optique (PBO , ONT , ...ect) après la crise maritime en mer Rouge.
×
×
  • Créer...