Algorithmique et programmation 12015-2016Moncef HIDANE Julien OLIVIER{ traduction - Algorithmique et programmation 12015-2016Moncef HIDANE Julien OLIVIER{ Vietnamien comment dire

Algorithmique et programmation 1201

Algorithmique et programmation 1
2015-2016
Moncef HIDANE Julien OLIVIER
{moncef.hidane,julien.olivier2}@insa-cvl.fr
INSA Centre Val de Loire
Séance 3
1 / 37
1 Généralités et premiers exemples
2 Définition, appel et déclaration d’une fonction
3 Fonctions récursives
2 / 37
1 Généralités et premiers exemples
2 Définition, appel et déclaration d’une fonction
3 Fonctions récursives
3 / 37
Généralités
Définition
En C, une fonction est un ensemble d’instructions possédant un nom.
Catégories de fonctions
On distingue 2 catégories de fonctions : celles écrites par le
programmeur et celles fournies par la bibliothèque standard.
printf() et scanf() sont des fonctions de la bibliothèque standard.
Pouvez-vous en citer d’autres ?
Intérêts
Les fonctions ont 2 intérêts :
1 elles permettent de découper un programme en plusieurs parties ;
2 elles sont réutilisables.
4 / 37
Exemple 1
1 /* La fonction suivante a deux parametres et elle retourne une valeur.
2 */
3 double moyenne(double a, double b)
4 {
5 return (a + b) / 2.0;
6 }
7 int main()
8 {
9 double x, y, z;
10
11 printf("Entrer 3 valeurs
");
12 scanf("%lf%lf%lf", &x, &y, &z);
13
14 printf("moyenne de %f et %f : %f", x, y, moyenne(x,y));
15 printf("moyenne de %f et %f : %f", x, z, moyenne(x,z));
16 printf("moyenne de %f et %f : %f", y, z, moyenne(y,z));
17
18 return 0;
19 }
5 / 37
Example 2
1 /* La fonction suivante a 1 parametre et elle ne retourne rien.
2 */
3 void affiche_compteur(int n)
4 {
5 printf("T moins %d
", n);
6 }
7 int main()
8 {
9 int i;
10
11 for (i = 10; i > 0; i--)
12 affiche_compteur(i);
13
14 return 0;
15 }
6 / 37
Example 3
1 /* La fonction suivante n'a pas de parametres et elle ne retourne
2 rien.
3 */
4 void affiche_message(void)
5 {
6 printf("To C or not to C: that is the question.
");
7 }
8 int main()
9 {
10 affiche_message();
11
12 return 0;
13 }
7 / 37
Remarques
Une fonction peut avoir 0 (exemple 3), 1 (exemple 2) ou plusieurs
(exemple 1) paramètre(s).
Une fonction peut retourner une valeur (exemple 1). Toutes les
fonctions ne retournent pas forcément une valeur (exemples 2 et 3).
Pour "faire travailler" une fonction, il faut l’appeler.
Lorsqu’on appelle une fonction qui a des paramètres il faut lui
passer des arguments. Le nombre d’arguments doit être égal au
nombre de paramètres.
L’appel d’une fonction peut être dans une expression (exemple 1).
Exercice
1 Dans les exemples 1, 2 et 3, à quel niveau se fait l’appel ?
2 Dans les exemples 1, 2 et 3, où sont les paramètres ? où sont les
arguments ?
8 / 37
1 Généralités et premiers exemples
2 Définition, appel et déclaration d’une fonction
3 Fonctions récursives
9 / 37
Syntaxe et vocabulaire
Syntaxe
La forme générale pour définir une fonction est
type-retour nom-fonction()
{
declarations
instructions
}
Vocabulaire
1 La ligne type-retour nom-fonction() s’appelle
l’en-tête de la fonction.
2 Le corps d’une fonction est l’ensemble des déclarations et
instructions se trouvant à l’intérieur des accolades.
10 / 37
Remarques sur le type de retour
Le type de retour void sert à indiquer qu’une fonction ne retourne
rien.
En C89, si l’on n’indique pas le type de retour, le compilateur
considère qu’il s’agit de int :
average(double a, double b)
{
...
}
/* En C89, la definition precedente est equivalente a
int average(double a, double b) */
En C99, il est illégal ne pas spécifier le type de retour.
Attention : en C, une fonction n’a pas le droit de retourner un
tableau.
11 / 37
Remarques sur les paramètres
La liste de paramètres vient après le nom de la fonction.
Chaque paramètre est précédé par la spécification de son type :
double moyenne(double a, b)
/* Erreur : il faut ecrire double moyenne(double a, double b) */
Différents paramètres sont séparés par des virgules
double moyenne(double a; double b)
/* Erreur : il faut ecrire double moyenne(double a, double b) */
On écrira void dans liste de paramètres d’une fonction pour
signifier qu’elle n’a pas de paramètres.
12 / 37
Remarques sur le corps
Le corps d’une fonction introduit une nouveau bloc.
Comme dans tout bloc, on peut définir de nouvelles variables.
Comme dans tout bloc, en C89, les déclarations de variables
devront apparaître avant les instructions.
Bien entendu, on peut définir des sous-blocs dans le corps d’une
fonction (alternatives, boucles, . . . ).
Les variables définies dans le corps d’une fonction ne sont visibles
que dans le corps : il s’agit de variables locales.
Notez également qu’une fonction n’a accès qu’à ses paramètres et
ses variables locales.
13 / 37
Remarques sur l’appel
L’appel d’une fonction se fait en écrivant son nom suivi d’une liste
d’arguments :
moyenne(x, y);
affiche_compteur(i);
affiche_message();
Même si la liste des paramètres est vide, il faut écrire les
parenthèses lors de l’appel :
affiche_message;
/* Erreur : la fonction affiche_message n'
0/5000
De: -
Vers: -
Résultats (Vietnamien) 1: [Copie]
Copié!
Thuật toán và lập trình 1năm 2015-2016Moncef HIDANE Julien OLIVIER{moncef.hidane,julien.olivier2}@insa-cvl.frTrung tâm Thung lũng sông Loire INSAKỳ họp thứ 31 / 371 bối cảnh và các ví dụ ban đầu2 định nghĩa, gọi và tuyên bố của một chức năng3 đệ quy chức năng2 / 371 bối cảnh và các ví dụ ban đầu2 định nghĩa, gọi và tuyên bố của một chức năng3 đệ quy chức năng3 / 37Thông tin chungĐịnh nghĩaC, một chức năng là một tập hợp các hướng dẫn với một tên.Danh mục chức năngCó 2 loại chức năng: những người viết bằng cáclập trình viên và những người được cung cấp bởi thư viện chuẩn.printf() và scanf() là các chức năng của thư viện chuẩn.Bạn có thể đặt tên người khác?Lợi íchChức năng có quan tâm đến 2:1 họ cho phép một chương trình chia thành phần;2 họ đang tái sử dụng.4 / 37Ví dụ 11 / * chức năng sau đây có hai tham số, và nó trả về một giá trị.2 * /.3 đôi moyenne (tăng gấp đôi là a, b đôi){4}5 trở về (bản + b) / 2.0;6}7 int main(){8}9 đôi x, y, z;1011 printf ("nhập 3 valeurs
");12 scanf ("% nếu % nếu % nếu", & x, & y & z);1314 printf ("trung bình của %f, f: % %f", x, y, moyenne(x,y));15 printf ("trung bình của %f, f: % %f", x, z, moyenne(x,z));16 printf ("trung bình của %f, f: % %f", y, z, moyenne(y,z));1718 trở về 0;19}5 / 37Ví dụ 21 / * chức năng sau có 1 tham số, và nó có trả lại không có gì.2 * /.3 void affiche_compteur (int n){4}5 printf ("T moins %d
", n);6}7 int main(){8}9 int i;1011 cho (i = 10; i > 0; i--)12 affiche_compteur (i);1314 return 0;15}6 / 37Ví dụ 31 / * chức năng sau có thông số không, và nó trả về2 không có gì.3 * /.4 void affiche_message (vô hiệu){5}6 printf ("C hay không C: đó là câu hỏi.
");7}8 int main(){9}10 affiche_message();1112 return 0;13}7 / 37Nhận xétMột chức năng có thể có 0 (ví dụ: 3) 1 (ví dụ 2) hoặc nhiều hơn(ví dụ: 1) các tham số (s).Một chức năng có thể trở về một giá trị (ví dụ 1). Tất cả cácchức năng không nhất thiết phải trở về một giá trị (ví dụ 2 và 3).Để "làm việc" một chức năng để gọi nó.Khi bạn gọi một chức năng mà có thông số cần anh tavượt qua các đối số. Số lượng các đối số phải bằng cácsố lượng các tham số.Một chức năng gọi có thể trong một biểu thức (xem ví dụ 1).Tập thể dục1. ví dụ 1, 2 và 3, ở mức độ không gọi?2 thuộc ví dụ 1, 2 và 3, các cài đặt ở đâu? nơi cácđối số?8 / 371 bối cảnh và các ví dụ ban đầu2 định nghĩa, gọi và tuyên bố của một chức năng3 đệ quy chức năng9 / 37Cú pháp và từ vựngCú phápCác hình thức tổng hợp để xác định một chức năng làtrở về loại tên - chức năng)){báo cáohướng dẫn}Từ vựng1. loại-tên - chức năng () quay trở lại dòng) gọi làCác tiêu đề của các chức năng.2. cơ quan của một hàm là tập hợp các báo cáo vàhướng dẫn bên trong các niềng răng.10 / 37Phát biểu về các loại trở lạiLoại trở về void được sử dụng để chỉ ra rằng một hàm trả vềkhông có gì.Ở C89, nếu nó không chỉ ra loại trở lại, trình biên dịchxem xét rằng nó là của int:Trung bình (tăng gấp đôi là a, b đôi){...}* Trong C89, định nghĩa trước đó là tương đương với mộtint trung bình (tăng gấp đôi là a, b đôi) * /.C99, nó là bất hợp pháp không phải chỉ rõ loại trở lại.Chú ý: trong C, một chức năng không có quyền để trở về mộtbảng.11 / 37Nhận xét về các thông sốDanh sách các tham số đi kèm theo tên của các chức năng.Mỗi tham số là trước bằng cách xác định loại hình của nó:Đôi moyenne (tăng gấp đôi là a, b)* Lỗi: phải viết đôi moyenne (tăng gấp đôi là a, b đôi) * /.Tham số được phân cách bằng dấu phẩyMoyenne đôi (double một; đôi b).* Lỗi: phải viết đôi moyenne (tăng gấp đôi là a, b đôi) * /.Viết void trong một danh sách tham số chức năngcó nghĩa là nó có thông số không.12 / 37Phát biểu trên cơ thểCơ thể của một chức năng giới thiệu một khối mới.Như trong bất kỳ khối, chúng ta có thể định nghĩa biến mới.Như trong bất kỳ khối, năm C89, khai báo biếnphải xuất hiện trước khi các hướng dẫn.Tất nhiên, chúng tôi có thể xác định các khối tiểu trong cơ thể của mộtchức năng (lựa chọn thay thế, vòng,...).Các biến được xác định trong cơ thể của một chức năng có thể nhìn thấytrong cơ thể: đó là các biến địa phương.Cũng lưu ý rằng một chức năng có quyền truy cập vào các thông số của nó vàCác biến địa phương.13 / 37Phát biểu về các cuộc gọiMột chức năng gọi được thực hiện bằng cách viết tên của nó, theo sau là một danh sáchđối số:Moyenne (x, y);affiche_compteur (i);affiche_message();Thậm chí nếu danh sách tham số là trống rỗng, để viết cácdấu ngoặc đơn khi gọi:affiche_message;* Lỗi: là chức năng affiche_message
En cours de traduction, veuillez patienter...
Résultats (Vietnamien) 2:[Copie]
Copié!
Giải thuật và lập trình 1
2015-2016
Moncef HIDANE Julien OLIVIER
{moncef.hidane, julien.olivier2} @ insa-cvl.fr
INSA Loire Valley
Phần 3
1/37
1 chung và ví dụ đầu tiên
2 Định nghĩa kháng cáo và tuyên bố một chức năng
3 chức năng đệ quy
2/37
1 chung và ví dụ đầu tiên
cứu trợ 2 định nghĩa và khai báo một hàm
3 chức năng đệ quy
3/37
chung
định nghĩa
trong C, một chức năng là một tập hợp các hướng dẫn với một tên.
các loại chức năng
được phân biệt 2 loại chức năng: những người được viết bởi
. lập trình viên và những người cung cấp bởi các tiêu chuẩn thư viện
printf () và scanf () là các hàm của thư viện chuẩn.
bạn có thể đặt tên cho những người khác?
lợi ích
chức năng có hai lợi ích:
1 họ cho phép để cắt một chương trình thành phần;
2 họ được tái sử dụng.
4/37
VÍ DỤ 1
1 / * Các chức năng sau đây có hai tham số và trả về một giá trị.
2 * /
3 vừa kép (double a, double b)
4 {
5 return (a + b) / 2.0;
6}
7 int main ()
8 {
9 kép x, y, z;
10
11 printf ( "Nhập vào ba giá trị n");
12 scanf ( "% lf% lf% lf "& x, & y, z &);
13
14 printf (" trung bình của% f và% f:% f ", x, y, nghĩa là (x, y));
15 printf (" trung bình của% f và% f: % f ", x, z, có nghĩa là (x, z)),
16 printf (" trung bình của% f và% f:% f ", y, z, có nghĩa là (y, z))
17
18 return 0;
19 }
5/37
Ví dụ 2
1 / * Các chức năng sau có một tham số và trả về không có gì.
2 * /
3 khoảng trống affiche_compteur (int n)
4 {
5 printf ( "T trừ% d n", n);
6}
7 int main ()
8 {
9 int i;
10
11 for (i = 10; i> 0; i--)
12 affiche_compteur (i)
13
14 return 0;
15}
6/37
Ví dụ 3
1 / * Các chức năng sau đây không có tham số và trả về
2 không.
* / 3
4 affiche_message void (void)
5 {
6 printf ( "C hay không để C: đó là câu hỏi. n");
7}
8 int main ()
9 {
10 affiche_message ();
11
12 return 0;
13}
7/37
chú
Một chức năng có thể có 0 (ví dụ 3) 1 (ví dụ 2) hoặc hơn
(ví dụ 1) tham số (s).
một hàm có thể trả về một giá trị (ví dụ 1). Tất cả các
chức năng này sẽ không nhất thiết phải trả lại một giá trị (ví dụ 2 và 3).
Để "làm việc" chức năng, bạn cần phải gọi.
Khi bạn gọi một hàm có tham số ông cần
để vượt qua các đối số. Số lượng các đối số phải bằng
số tham số.
Gọi một chức năng có thể trong một biểu thức (ví dụ 1).
Tập thể dục
1 Trong ví dụ 1, 2 và 3, ở mức độ nào là sự hấp dẫn?
2 Trong ví dụ 1, 2 và 3, nơi mà các tham số được? nơi đang có các
đối số?
8/37
1 chung và ví dụ đầu tiên
hấp dẫn 2 Định nghĩa và khai báo một hàm
3 chức năng đệ quy
9/37
cú pháp và từ vựng
Cú pháp
Hình thức tổng quát để xác định một chức năng
kiểu trả về function-name ()
{
Khai
báo cáo
}
Từ vựng
1 dòng kiểu trả về function-name () Được gọi là
tiêu đề của các chức năng.
2 cơ thể của một hàm là tập hợp các báo cáo và
hướng dẫn tìm thấy bên trong các dấu ngoặc.
10/37
Ghi chú về sự trở lại gõ
Kiểu trả về khoảng trống được sử dụng để chỉ ra rằng một chức năng không trả lại
bất cứ điều gì.
ở C89, nếu nó không chỉ ra kiểu trả về, trình biên dịch
thấy int này:
trung bình (double a, double b)
{
. ..
}
/ * trong C89, định nghĩa trước đó là tương đương với
int trung bình (double a, double b) * /
trong C99, nó là bất hợp pháp không xác định kiểu trả về.
Cảnh báo: C, một hàm có không quyền lợi
bảng.
11/37
Nhận xét về các thông số
trong danh sách tham số đi kèm sau tên của hàm.
Mỗi tham số được đi trước bằng cách xác định loại của nó:
hai trung (double a, b)
/ * lỗi: phải viết trung bình hai lần (double a, double b) * /
thông số khác nhau được phân cách bằng dấu phẩy
trung bình hai lần (double a, double-b)
/ * Lỗi: bạn phải viết trung bình hai lần (double a, double b) * /
Chúng tôi viết khoảng trống trong danh sách các thông số chức năng để
biểu rằng cô không có thông số.
12/37
Nhận xét về cơ thể
cơ thể của một chức năng giới thiệu một khối mới.
Như trong tất cả các khối, bạn có thể định nghĩa các biến mới.
như trong bất kỳ khối, trong C89, khai báo biến
phải xuất hiện trước các hướng dẫn.
Tất nhiên, bạn có thể xác định các tiểu khối trong cơ thể của một
chức năng (thay thế, các vòng lặp. . . .)
Các biến được định nghĩa trong cơ thể của một hàm có thể nhìn thấy
trong cơ thể:. Các biến địa phương
cũng lưu ý rằng một chức năng có quyền truy cập vào các thiết lập của nó và
. Các biến cục bộ của mình
13 / 37
ghi chú về các cuộc gọi
gọi một chức năng được thực hiện bằng cách viết tên của nó theo sau là một danh sách
các đối số:
trung bình (x, y);
affiche_compteur (i)
affiche_message ()
Mặc dù danh sách các tham số trống, ghi
dấu ngoặc khi gọi:
affiche_message;
/ * Lỗi: chức năng n affiche_message '
En cours de traduction, veuillez patienter...
Résultats (Vietnamien) 3:[Copie]
Copié!
1 and Scheduling Algorithm2015-2016Hidane Moncef Julian cây ô - Li - ve.[] "insa-cvl.fr moncef.hidane, julien.olivier2Strasbourg - en - sông LoireCuộc họp 31 / 37Một nguyên tắc chung và là ví dụ đầu tiên.2 định nghĩa và chức năng tuyên bố, kêu gọi3 hàm đệ quy2 / 37Một nguyên tắc chung và là ví dụ đầu tiên.2 định nghĩa và chức năng tuyên bố, kêu gọi3 hàm đệ quy3 / 37Nói chung.Định nghĩaTrong ngôn ngữ C, các hàm số là một tập lệnh có một cái tên.Chức năng phân loạiChúng ta phân biệt hai loại chức năng: những người viếtLập trình viên và những thư viện cung cấp tiêu chuẩn.Printf và scanf () () - chức năng của thư viện chuẩn.Anh có thể nói người khác?Lợi ích củaChức năng: có 2 lợi.1 có thể cắt thành nhiều phần trong chương trình;2 họ là có thể tái sử dụng.4 / 37Ví dụ 1.1 / * hàm dưới có hai tham số và phải trả một giá trị.2 * /Trung bình 3 đôi (Double, đôi B)4 [5 Return (A + B) / 2.0;6]Cái tay (7)[89 Double X, Y, Z;10."3 giá trị nhập 11");12 scanf ("%%% L.f., L.F. Refining" với X và Y, và Z);13.14 printf ("F và F của trung bình%%:% F, X, Y, trung bình (X, y));15 printf ("trung bình" và F:%f% f (X, X, Z Z), trung bình);16 printf ("F và F của trung bình%%:% F, Y, Z, trung bình (Y, Z));1718 trở về 0;19]5 / 37Example 21 / * dưới hàm tham số và trở về 1 cô ấy cũng không có.2 * /Bảng hiển thị không hợp lệ (3 _ cái n)4 [5 printf ("T nhỏ hơn% d", n);6]Cái tay (7)[89 cái tôi;10.11 for You (i nhân cho 10; i là 0; tôi...)12 _ truy cập hiển thị (I);13.14 trở về 0;15]6 / 37Example 31 / * dưới hàm không có tham số, nó quay trở lại2.3 * /4 tin nhắn hiển thị không hợp lệ _ (Inactive)5 [6 - "To C hoặc not to C:that is the Great question.");7]Cái tay (8)9 [Hiển thị thông tin _ (10);11.12 trở về 0;13]7 / 37Bình luận.Một hàm có thể có 0 (3 vụ), 1 (ví dụ 2) hay nhiều(ví dụ 1) tham số (s).Một hàm có thể trả lại một giá trị (1 ví dụ).Tất cảGiá trị của hàm trở lại cũng không chắc chắn (2 và 3 ca)."Làm việc" tính năng, anh phải gọi cho hắn.Khi chúng tôi gọi một tham số cho hàm cần hắn.Truyền thông số.Tham số phải bằng sốSố lượng tham số.Gọi một hàm số, có thể trong một biểu thức (1 ví dụ).Thể thao.Ví dụ 1: 1, 2, 3, ở mức độ nào là điện thoại không?Ở 2 - 1, 2, 3, tham số nào?Ở đâu?Tranh cãi không?8 / 37Một nguyên tắc chung và là ví dụ đầu tiên.2 định nghĩa và chức năng tuyên bố, kêu gọi3 hàm đệ quy9 / 37Ngữ pháp và từ vựngNgữ phápĐịnh nghĩa một dạng chung cho các hàmKiểu danh trở lại chức năng (< tham số >)[Tuyên bốHướng dẫn]Từ vựngLoại 1 dây (< tham số của hàm trở lại tên gọi >)Chức năng của đầu.Hai chức năng cơ thể là toàn bộ tuyên bố vàHướng đến giải thưởng.10 / 37Về việc quay lại kiểuLoại không trở lại chức năng hướng dẫn lại không hợp lệKhông có gì.Ở C89Language, nếu chúng ta không quay lại kiểu, trình biên dịchNghĩ là cái này.Trung bình (đôi, đôi B)[...]* / C89Language, đã định nghĩa cuộc kháCái bình (đôi, đôi B) * /Ở C99 là bất hợp pháp, không thể xác định kiểu trở về.Chú ý: trong ngôn ngữ C, các hàm không thể quay lại...Bảng.11 / 37Về các tham số.Danh sách các tham số sau tên của hàm.Đặc điểm kỹ thuật của mỗi tham số thực hiện kiểu:Trung bình đôi (double A, B)* / Lỗi: phải viết đôi (Double, trung bình đôi, B) * /Các thông số khác nhau bằng dấu phẩyBis (song song trung bình; (B)* / Lỗi: phải viết đôi (Double, trung bình đôi, B) * /Chúng ta ở trong danh sách các tham số cho hàm được viết không hợp lệCó nghĩa là cô ấy không có tham số.12 / 37Bình luận trên cơ thểChức năng cơ thể vào một khối mới.Ở bất cứ một mảnh, chúng ta có thể định nghĩa biến mới.Ở bất cứ một miếng, C89Language, khai báo biếnSẽ xuất hiện những chỉ dẫn.Tất nhiên, chúng ta có thể định nghĩa tử đô trong một cơ thể(chọn chức năng, vòng tuần hoàn....).Định nghĩa của hàm của các biến trong cơ thể là vô hình.Trong cơ thể: nó là một biến cục bộ.Chú ý, các hàm không có tham số và truy cập nó.Nó biến cục bộ.13 / 37Bình luận của điện thoại.Gọi một hàm số là viết tên trong danh sách theo dõi.Luận điểm:Giá trị trung bình (X, y);Hiện _ truy cập (I);Hiển thị thông tin _ ();Nếu danh sách tham số là trống rỗng, anh phải viếtDấu ngoặc gọi khi:_ hiển thị thông tin;* / sai lầm: chức năng thông tin hiển thị _ n '
En cours de traduction, veuillez patienter...
 
Autres langues
l'outil d'aide à la traduction: Afrikaans, Albanais, Allemand, Amharique, Anglais, Arabe, Arménien, Azéri, Basque, Bengali, Birman, Biélorusse, Bosniaque, Bulgare, Catalan, Cebuano, Chichewa, Chinois, Chinois traditionnel, Cingalais, Corse, Coréen, Croate, Créole haïtien, Danois, Détecter la langue, Espagnol, Espéranto, Estonien, Finnois, Français, Frison, Galicien, Gallois, Gaélique (Écosse), Grec, Gujarati, Géorgien, Haoussa, Hawaïen, Hindi, Hmong, Hongrois, Hébreu, Igbo, Irlandais, Islandais, Italien, Japonais, Javanais, Kannada, Kazakh, Khmer, Kinyarwanda, Kirghiz, Klingon, Kurde, Laotien, Latin, Letton, Lituanien, Luxembourgeois, Macédonien, Malaisien, Malayalam, Malgache, Maltais, Maori, Marathi, Mongol, Norvégien, Néerlandais, Népalais, Odia (oriya), Ouzbek, Ouïgour, Pachtô, Panjabi, Persan, Philippin, Polonais, Portugais, Roumain, Russe, Samoan, Serbe, Sesotho, Shona, Sindhî, Slovaque, Slovène, Somali, Soundanais, Suédois, Swahili, Tadjik, Tamoul, Tatar, Tchèque, Telugu, Thaï, Turc, Turkmène, Ukrainien, Urdu, Vietnamien, Xhosa, Yiddish, Yorouba, Zoulou, indonésien, Traduction en langue.

Copyright ©2025 I Love Translation. All reserved.

E-mail: