مكتبة تمارين للغة البرمجة الشهيرة C ...أدخل و شارك معنا ‏

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

مكتبة تمارين للغة البرمجة الشهيرة C ...أدخل و شارك معنا ‏

مُساهمة من طرف booh410 في السبت فبراير 09, 2008 6:18 pm

السلام عليكم و رحوة الله و بركاته
تم بحمد الله و توفيقه إنشاء هذا الموضوع الذي سنقوم فيه بوضع تمارين في البرمجة للغة C .

و أنا سأبدأ :

التمرين الأول :

أنشئ برنامجا يطلب من المستخدم إدخال عدد كيفما كان , ثم يقوم بإعطاء القيمة المطلقة لهذا العدد.


لعمل هذا البرنامج نقوم بإستخدام الدالة Fabs و هي دالة تقوم بتحويل أي عدد كيفما كانت إشارته إلى عدد موجب و يتم إستخدامها بهذا الشكل:
كود PHP:
double absolu = 0, nombre=-27;// نقوم بتعريف المتغيرات التي سنستعملها

absolu = fabs(nombre); // القيمة المطلقة هي 27

التمرين الثاني :

أكتب برنامجا يطلب من المستخدم إدخال ثلاثة أرقام و من ثم يقوم هو بإخراج الأصغر من بينها
مثال :
4 , 5 , 10
القيمة الصغرى هي : 4 .


كود PHP:
#include <stdio.h>
#include <stdlib.h>

int main()
{
double a=0, b=0, c=0;
printf("SVP entrer le premier nombre:\n");
scanf("%lf",&a);//نطلب من المستخدم إدخال الرقم الأول
printf("SVP entrer le Deuxieme nombre:\n");
scanf("%lf",&b);//نطلب من المستخدم إدخال الرقم الثاني
printf("SVP entrer le troisieme nombre:\n");
scanf("%lf",&c);//نطلب من المستخدم إدخال الرقم الثالث

if(a<b && a<c)//نقوم بمقارنة الأعداد
{
printf("le MIN est : %lf" , a);//نظهر أصغر عدد
}

if(c<b && c<c)
{
printf("le MIN est : %lf" , c);//نظهر أصغر عدد
}

if(b<a && b<c)
{
printf("le MIN est : %lf" , b);//نظهر أصغر عدد
}
}
التمرين الثالث :

أكتب برنامجا يطلب من المستخدم إدخال كتلته و طوله ثم يعطيه نصائح حول صحته (يتطلب قليلا من البحث حول العلاقة بين الكتلة و الطول و حالة الصحة : سأترككم تبحثون ).

العلاقة التي يجب البحث عنها و هي كالتالي :


حيث البسط يمثل الكتلة بالكيلوغرام و المقام مربع الطرل بالمتر ... و حل البرنامج هو :

كود PHP:
#include <stdio.h>
#include <stdlib.h>

int main()
{
double taille=0 ,poid= 0 , imc=0;//تعريف المتغيرات
printf("entrer votre poid SVP\t(IL FAUT QU'IL SOIT EN KILOGRAMME):");
scanf("%lf", &poid);// نطلب من المستخدم إدخال كتلته
printf("entrer votre taille SVP\t(IL FAUT QU'IL SOIT EN METRE):");
scanf("%lf", &taille);//نطلب من المستخدم إدخال طوله

imc = poid/taille*1/taille;// تطبيق للبحث الذي قمنا به

if (imc < 18.5)//دراسة للحالات من أجل إعطاء نصائح للمستخدم
{
printf("vous ne mangez pas bien , essayer de varier votre nourriture.");
}
else if (imc >= 18.5 && imc < 25)
{
printf("vous etes en tres bonne sante continuez comme ça!!!");
}
else if (imc >= 25 && imc < 30)
{
printf("oh!!! vous avez une surpoids (surcharge pondérale),\n ");
}
else if (imc >= 30 && imc < 35)
{
printf("oh mon dieu vous etes obese il vous faut un regime et su SPORT , \n il faut consulter le medecin");
}
else if ( imc >= 35)
{
printf("OH LA LA , vous etes trop GROS , je vous vois je ne veux pas le dire mais\n il vous faut vraiment un severe rigime...!!!!, \n il faut consulter le medecin ");

}

التمرين الرابع :

أكتب برنامج يطلب من المستخدم إدخال رقم و من ثم يقوم بالعمل التالي :

3...
النهاية بعد 3 أسطر
النهاية بعد 2 أسطر
النهاية بعد 1 أسطر
النهاية


كود PHP:
#include <stdio.h>
#include <stdlib.h>

int main()
{
long j=0 , m =0, i=0;//تعريف للمتغيرات التي سنستعملها في البرنامج
printf("Entrer un nombre:\n");
scanf("%ld", &j);//نطلب من المستخدم إدخال أي رقم


for(i=0 ; i<j ; i++)//حلقة تقوم بإعادة كتابة الجملة حسب المعطيات سيتم شرحها في الأسفل
{
m = j-i;
printf("la fin est apres %ld \n", m);

}

printf("nous somme arrive!!???");//النهابة
}

شرح الحلقة BOUCLE :

إستعملنا في برنامجنا هذا الحلقة FOR لأنها الأسهل لهذا النوع من البرامج و بداخل القوسين وضعنا الشروط و هي : i=0 المتغير i له القيمة 0 , i<j أي إذا كان i أصغر من j , i++ أي في كل مرة يتم إعادة الحلقة تزداد قيمة المتغير i بواحد.

داخل المعقوفتين و ضعنا m=j-i و هي عدد الأسطر المتبقية , لا ننسا أن قيمة j ثابتة , و قيمة i تزداد بواحد كلما أعيدت الحلقة ... و في الأخير قمنا بكتابة الجملة المراد إعادتها j مرة.



التمرين الخامس :

قم بعمل برنامج أو لنسمه لعبة حيث يختار الكمبيوتر رقما ثم يبدأ المستخدم بإدخال الأرقام حتى يجد الرقم المختار من طرف الكمبيوتر بشرط أن يقول له إن كان العدد المدخل من طرف المستخد أكبر أو أصغر من العدد المنتقى من طرف الكمبيوتر .
بعد إنشاءه قم بعمل ما يلي لتطوير هذه اللعبة :
-قم بعمل عدة مستويات للعب : سهل .متوسط .صعب .
-قم بعمل نظام حيث يلعب فيه لاعبان .
-قم بعمل عداد لعدد الفرص التي جدت فيها العدد.


قمت بوضع الحل لكن بدون تعليقات فهو سهل الفهم و ليس فيه أي تعقيدات , فمن لم يفهم شيئا و لو بسيطا فلا يتردد في كتابة رد به مشكلته


الحل:
كود PHP:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
srand(time(NULL));

int nombreEntre = 0, nombreMystere = 0, coups = 0, nombreJ1 = 0;
long continuer = 1, mode = 0, MIN = 1, MAX = 100;

printf("\t\t\t\t\t CONSIGNES\t\t\t\t\t \n\n\n");
printf("ce programme a ete programme en C \nil sagit d'un programme qui(l'ordinateur) choisi\n un nombre au hasard et que toi tu le trouve ça c'est pour le mode un joueur \n pour le mode 2 joueurs un d'entre vous\nchoisi un nombre est l'autre il faut q'il le trouve \n \t alors , je vous laisse jouer c'est parti amusez vou bien...\n\n\n\n");
printf("Quel mode vous interesse?\n1. Mode 1 joueur\n2. Mode 2 joueurs\nChoix: ");
scanf("%ld", &mode);

if (mode == 1)
{
printf("Quel niveau de difficulte?\n1. 1 -> 100\n2. 1 -> 1000\n3. 1 -> 10000\n");
printf("Votre choix: ");
scanf("%ld", &mode);

switch(mode)
{
case 1:
MAX = 100; break;

case 2:
MAX = 1000; break;

case 3:
MAX = 10000; break;

default:
MAX = 2147483647; break;
}


while(continuer)
{
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
coups = 0;
do{
printf("Entrez le nombre mystere: ");
scanf("%d", &nombreEntre);
coups++;

if(nombreEntre > nombreMystere)
printf("C'est moins !\n\n");

else if(nombreEntre < nombreMystere)
printf("C'est plus !\n\n");


else
{
printf("Bravo, le nombre mystere etait bien %d, vous l'avez trouve en %d coups !\n\n", nombreMystere, coups);
printf("Une nouvelle partie?\n0. Non\n1. Oui");
scanf("%ld", &continuer);
}

} while (nombreMystere != nombreEntre);

}

}

else
{
while(continuer)
{

printf("Joueur 1, entrez le nombre mystere");
scanf("%d", &nombreJ1);
system("cls");
do {
printf("Entrez le nombre mystere: ");
scanf("%d", &nombreEntre);

if(nombreEntre > nombreJ1)
printf("C'est moins !\n\n");

else if(nombreEntre < nombreJ1)
printf("C'est plus !\n\n");


else
printf("Bravo, le nombre mystere du joueur 1 etait bien %d\n", nombreJ1);

} while (nombreJ1 != nombreEntre);

printf("Une nouvelle partie?\n0. Non\n1. Oui");
scanf("%ld", &continuer);
}
}



return 0;
}


إنتهى .....

جاري إضافة التمارين و ذلك لمساعدة إخواننا الأعضاء في إتقان هذه اللغة .

*من أراد أن يضيف تمارين أو لديه تمارين فلا يبخل علينا حتى يصبح هذا الموضوع مكتبة متكاملة (فأرجو مراسلتي على الخاص) *
avatar
booh410
مدير
مدير

ذكر
عدد الرسائل : 756
العمر : 27
عايش فين في البلد بتاعتك : www.astarmazika.phpbb3.com
بتشتغل ايه : مهندس كمبيوتر
مزاجك ايه : معلم كبير
تبادل اعلاني :
تاريخ التسجيل : 24/09/2007

بطاقة الشخصية
ننننم:

http://ejramazika.yoo7.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى