cours/exercice sous-programmes (algorithme+pascal)

Voir le sujet précédent Voir le sujet suivant Aller en bas

cours/exercice sous-programmes (algorithme+pascal)

Message par leonidas le Ven 12 Oct - 13:43

salut,

je veux bien avoir des cours et des exercices sur les procédures et les fonctions (algo + pascal)

merci
Helmi - Gammarth
Pour savoir écrire, il faut avoir lu, et pour savoir lire, il faut savoir vivre [Guy Debord]

leonidas
Nouveau membre
Nouveau membre

Sexe:MasculinScorpionCheval
Messages : 2
Inscrit le : 12 Oct 2007
Age : 18
Localisation : Gammarth

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par nabiL le Sam 13 Oct - 7:02

C'est une occasion pour démarrer un topic où on peut trouver une longue liste de documents, tout format inclus, concernant les sous-programmes, procédures et fonctions.

Il est intéressant aussi que les codes sources des exemples illustratifs soient nombreux et différents: PASCAL, JAVA, C/C++.
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1972
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par nabiL le Sam 13 Oct - 8:07

Un premier cours de base de Programmation Pascal, très léger.
Tu y trouves les principaux concepts de programmation.


Poster une évaluation de ce document après l'avoir examiné.


Dernière édition par le Dim 14 Oct - 21:15, édité 1 fois
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1972
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par nabiL le Sam 13 Oct - 8:19

Un des cours les plus complets de programmation en PASCAL (et C aussi)... Il traite tous les détails de la programmation, allant des types simples (entiers, réel ...) aux concepts avancés tels que: les Enregistrements et les pointeurs.



Poster une évaluation de ce document après l'avoir examiné.


Dernière édition par le Dim 14 Oct - 21:16, édité 1 fois
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1972
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par methodiX le Dim 14 Oct - 11:18

Les procédures et fonctions sont des sortes de sous-programmes écrits avant le programme principal mais appelés depuis ce programme principal, d'une autre procédure ou même d'une autre fonction. Le nom d'une procédure ou d'une fonction est un identifiant qui ne de doit pas excéder 127 caractères et ne pas contenir d'accent. Ce nom doit, en outre, être différent de celui d'une instruction en Pascal.

Procedure
Syntaxe :


Code:
program nom de programme ;

procedure nom de procédure;  {Déclaration de la procédure}
begin
...
instructions
...
end;

begin;  {Début du programme principal}
...
nom de procédure; {appel de la procédure}
...
end.

Exemple :
Code:
program test;

procedure AfficheDate;
begin
writeln(DateTimeToStr(Now));
end;

begin;
write(‘ Début : ’);AfficheDate;
writeln(‘ Suite des instuctions ’);
write(‘ Fin  : ’);AfficheDate;
end.

On peut déclarer des variables locales à une procédure ou une fonction. La portée de ces variables sera locale à la procédure ou à la fonction.

Exemple
Code:
program Dessine_Carre_Chiffres;

procedure Ligne;  {dessine une ligne de 5 chiffres}
var i : integer;  {la variable i est locale à la procédure Ligne}
begin
for i:=1 to 5 do write(i);
end;

var i : integer;
begin
for i:=1 to 5 do {dessine 5 lignes de 5 chiffres}
  begin
    Ligne; writeln;
  end;
end.


Fonction
Une fonction est une procédure "qui ramène un résultat" d'un type simple qu'on précise dans la déclaration de la fonction.
Pour "ramener" le résultat, il suffit d'ajouter une ligne où on affecte le résultat au nom de la fonction

Syntaxe :

Program nom_de_programme ;

fonction nom_de_fonction( noms de variables : types ) : type;
Begin
...
commandes
nom_de_fonction := résultat
...
End ;
Code:

BEGIN
variable := nom_de_fonction ( noms d'autres variables ou leurs valeurs ) ;
END.

Exemple :

Code:
fonction Maintenant : string;
 begin
  Maintenant := DateTimeToString(Nom);
 end;

begin
writeln(Maintenant);
end.


Passage de paramètres à une procédure ou une fonction
On peut passer des paramètres à une procédure ou un fonction sous forme d'une liste de paramètres formels entre parenthèses.
A l'intérieur du corps de la procédure, les paramètres sont des variables locales. Il ne faut pas redéclarer le nom des paramètres dans la section des déclarations locales

Exemple :

Code:
function Min (a,b:real) : real;
begin
if a < b then Min := a else Min := b;
end;


Code:
var x1,x2,x3,x4 : real ;
begin
x1 :=5; x2:=3.14; x3:=1;x4:=0;
writeln(Min(Min(x1,x2),Min(x3,x4));
end.


C ’est la valeur du paramètre qui est passé à la procédure. Si la valeur est modifiée à l ’intérieur de la procédure, la modification n ’est pas répercutée à la sortie de la procédure.

Exemple :

Code:
function Puissance (x : real;n:integer) : real;
var p:real;
begin
 p:=1;
 while n>0 do begin
  p:= p * x;
  n:= n - 1;
 end;
 Puissance := p;
end;

Code:
var n : integer;
begin
n:=3;
writeln(‘ Pi au cube =‘ ,Puissance(3.14159,n));
writeln(n);  {la valeur de n n'a pas été modifiée}
end.


Passage de paramètre par référence

Si on souhiate que les modifications apportées dans la procédure soient reportées dans le code appelant, il faut mettre le mot clé var dans le passage de paramètre. C'est alors la référence à la variable (et non pas la valeur de cette variable) qui est passé en paramètre. NB : on ne peut pas passer des constantes dans un passage par référence.

Exemple :

Code:
procedure echange(var a,b:real)
 var temp:real;
  begin
  temp:=a; a:=b; b:=temp;
  end;

var x,y:real;
begin
 x:=5;y:=15;echange(x,y);
 writeln(‘ x: ’,x, ’ y: ’,y)
end.


Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX
Admin
Admin

Sexe:Masculin
Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par nabiL le Dim 14 Oct - 13:15

Je te recommande ce site très pédagogique sur les sous-programmes en PASCAL.




Dernière édition par le Dim 14 Oct - 21:56, édité 1 fois
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1972
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par informix le Dim 14 Oct - 19:54

De ma part, je propose le lien suivant:



je le trouve intéressant.

scratch scratch scratch scratch


Dernière édition par le Dim 14 Oct - 20:01, édité 1 fois

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par informix le Dim 14 Oct - 19:59

Un autre cours complet du site web de (saied ben hlima).





Attention, les liens hypertextes sont sur les flèches en vers !!!
Il aurait du les mettre plus clairs... mais bonhh Rolling Eyes

cyclops cyclops cyclops cyclops cyclops

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: cours/exercice sous-programmes (algorithme+pascal)

Message par informix le Dim 14 Oct - 20:05

La référence en matière de cours/tutorial de programmation reste toujours, pour moi, le site www.developpez.com.

Cliquer ici:


informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum