septembre 2015 | Hackshow Blog Hackshowblog

ربنا لاتؤاخذنا ان نسينا او اخطئنا ربنا ولا تحمل علينا اصرا كما حملته على الذين من قبلنا ربنا لا تحملنا مالا طاقة لنا به واعف عنا واغفر لنا وارحمنا انت مولانا فانصرنا على القوم الكافرين

dimanche 20 septembre 2015

تمرين تطبيقي : ترتيب الجدول تصاعديا وتنازليا


  
  السلام عليكم  




 ندخل مباشرة في صلب الموضوع شرحنا

في الدرس السابق درس الجدوال العادية


اليوم موعدنا مع تمرين تطبيقي لترسيخ الأفكار


 كود المستخدم في الشرح 


  


#include "stdio.h"
#include "stdlib.h"


main () {

//#define constant_variable value

#define size 5

int tab[size],i,j,tmp=NULL;
//tmp=0;


if(size <= 0) {

printf("\nError !! \n\n");
}

else {

    for(i=0 ; i < size ; i++) {

        printf("\nenter number tab[%d] : ",i);
        fflush(stdin);
        scanf("%d",&tab[i]);


    }

}

for(i=0 ; i < size ; i++) {

        printf("\n tab[%d] :%d \n",i,tab[i]);


    }
     printf("\n\n NEW ORDRE\n");
    for(i=0 ; i < size ; i++) {
for(j=0 ; j < size; j++) {

            if(tab[i]>tab[j]) {

                tmp=tab[i];
                tab[i]=tab[j];
                tab[j]=tmp;
            }

 }
    }

    for(i=0 ; i < size ; i++) {

        printf("\n tab[%d] :%d \n",i,tab[i]);


    }


    printf("\n");
system("pause");

}



: النتيجة 




طيب لو قمتا بعملنا تغير بسيط

:  كود 


  


#include "stdio.h"
#include "stdlib.h"


main () {

//#define constant_variable value

#define size 5

int tab[size],i,j,tmp=NULL;
//tmp=0;


if(size <= 0) {

printf("\nError !! \n\n");
}

else {

    for(i=0 ; i < size ; i++) {

        printf("\nenter number tab[%d] : ",i);
        fflush(stdin);
        scanf("%d",&tab[i]);


    }

}

for(i=0 ; i < size ; i++) {

        printf("\n tab[%d] :%d \n",i,tab[i]);


    }
     printf("\n\n NEW ORDRE\n");
    for(i=0 ; i < size ; i++) {
for(j=i ; j < size; j++) { //تم التعديل هنا J=I

            if(tab[i]>tab[j]) {

                tmp=tab[i];
                tab[i]=tab[j];
                tab[j]=tmp;
            }

 }
    }

    for(i=0 ; i < size ; i++) {

        printf("\n tab[%d] :%d \n",i,tab[i]);


    }


    printf("\n");
system("pause");

}

: النتيجة




الأن قد تستغرب ياشيخنا ههههه




  




سأرجع بكم لدرس

 قلنا في الدرس أنه لما يدخل البرنامج لدالة التكرارية

الأولى بعدها سيدخل في الدالة التالية 

for(I=0...) for(J=0...) if ( tab[i] > tab[j] ) 

if ( tab[0] > tab[0] ) 
if ( tab[0] > tab[1] ) 
if ( tab[0] > tab[2] ) 
if ( tab[0] > tab[3] ) 
if ( tab[0] > tab[4] ) 
if ( tab[1] > tab[0] )  
if ( tab[1] > tab[1] ) 
if ( tab[1] > tab[2] ) 
if ( tab[1] > tab[3] ) 
if ( tab[1] > tab[4] ) 
if ( tab[2] > tab[0] )  
if ( tab[2] > tab[1] ) 
if ( tab[2] > tab[2] ) 
if ( tab[2] > tab[3] ) 
if ( tab[2] > tab[4] ) 
if ( tab[3] > tab[0] ) 
if ( tab[3] > tab[1] ) 
if ( tab[3] > tab[2] ) 
if ( tab[3] > tab[3] ) 
if ( tab[3] > tab[4] ) 
if ( tab[4] > tab[0] ) 
if ( tab[4] > tab[1] ) 
if ( tab[4] > tab[2] ) 
if ( tab[4] > tab[3] ) 
if ( tab[4] > tab[4] ) 

طيب هنا نرى ان دالة الثانية ستبدأ المقارنة الخانة مع الجدول كامل 

أما في هذا الكود 

for(I=0...) for(J=I...) if ( tab[i] > tab[j] )   

نفس المنهية السابقة إلا انه سيتم مسح بعض الحالات 

if ( tab[0] > tab[0] ) 
if ( tab[0] > tab[1] ) 
if ( tab[0] > tab[2] ) 
if ( tab[0] > tab[3] ) 
if ( tab[0] > tab[4] ) 
 
if ( tab[1] > tab[1] ) 
if ( tab[1] > tab[2] ) 
if ( tab[1] > tab[3] ) 
if ( tab[1] > tab[4] ) 

if ( tab[2] > tab[2] ) 
if ( tab[2] > tab[3] ) 
if ( tab[2] > tab[4] ) 

if ( tab[3] > tab[3] ) 
if ( tab[3] > tab[4] ) 

if ( tab[4] > tab[4] )   

 كما تلاحطون الأمر مختلف عن الأول 

تلخيص منهجية العمل 

 

I=1 > J=I = 1 > 4
I=2 > J=I = 2 > 4
I=3 > J=I = 3 > 4
I=4 > J=I = 4 > 4


ومنه الجدول سيبدأ بمقارنة من خانة رقم 1 

وهكذا سيتم تجاهل الحالات الأخرى 

ومنه لا يتم مقارنة الخانة مع الجدول كاملا كل مرة 

وهذه طريقة أسرع من الأولى


 : شرح الفديو


 


في أمان الله 


17:15
-
samedi 12 septembre 2015

الدرس 10ج1 : شرح الجداول العادية والفائدة منها

السلام عليكم ورحمة الله وبركاته



اليوم سنتعرف على الجدوال

 والغرض ومنها

مسودة الدرس : 


  




Lesson : Tables ( static )


declaration : TYPE VAR[SIZE]


Examples :

int tab[10] ;

float tab[200];

char names[];


store data :

    use For or while

    manually :

        char tab[10]={'c','h','t'...}




 : كيفية ملء الجدول


  



#include "stdio.h"
#include "stdlib.h"

main () {



//char tab[]={'a','b','c'};
int tab[]={3,2,6};

printf("tab[] : %d\n",tab[5]);




system("pause");


}





تمرين :


  


#include "stdio.h"
#include "stdlib.h"

main () {

float som=0;

int size;

float student[size];


 int i;




printf("Please enter size of table : ");

scanf("%d",&size);

for(i=0 ; i < size ; i++) {

    printf("enter mark of student[%d]:",i+1);

    scanf("%f",&student[i]);

// save data in student[0];  i++ >> student[1];..


}


for(i=0 ; i < size ; i++) {


printf("\n mark of student[%d]:%g\n",i+1,student[i]);

som=som+student[i];

/* som=student[0]=som;

som=student[0]+student[1];
som=som+student[2]:
  */




}
printf("\nsom : %g\n",som
);
printf("\nmoyen : %g\n",som/size);
system("pause");


}


فديو الشرح : 







في أمان الله 


08:37
-

فقرة تعليمية : ماهو الفرق بين LINUX و GNU ؟






ماهو الفرق بين LINUX و GNU ؟


وما الفرق بين LINUX و KERNEL ؟



لينكس هو إسم النواة كيرنل
GNU - مؤسس المشروع هو RICHARD STALLMAN -

 و هو نظام حر تم بنائه من الصفر باستخدام كل برامج الحرة 

وتم إظافة الكيرنل 

واسم المشروع كان في الأول يسمى FREAX

وتم تغير إسمه من طرف أحد المشرفين على سرفر FTP ليصبح LINUX

اختصار لكلمة LINUS مؤسس المشروع

 و X تعني UNIX


تمت اظافة نواة الى GNU

 ولكن مشكلة الناس أصبحت تناديه LINUX 

ومازالت الى حد الساعة 


ولكن إسمه الأصلي GNU


ويطلق عليه أيضا الأن GNU/LINUX



هذه من المغالطات التي يقوم بها الناس لذلك نرجوا تصحيحها

08:18
-
samedi 5 septembre 2015

الدرس 9 ج 2 : شرح الدالة التكرارية while & do while

السلام عليكم

سنشرح اليوم الدالة التكرارية

الدالة while & do while 



الهيكل العام لدالة While 


الهيكل العام لدالة  do while 




CODE 1 : 

  


lesson : While Loop & Do while loop


while(condition)
{
   statement(s);
}

while (condition1)
{
 while (condition2)
 {
  statement(s);
 }
}

do
{
   statement(s);

}

while( condition );


CODE 2 : 

  


#include "stdio.h"
#include "stdlib.h"
 main ()

{

   int a = 10;

   /* while loop execution */

   while(2)
   {
      printf("value of a: %d\n", a);
      a++;
   }

system("pause");

}



CODE 3 : 

  

#include 

 main ()
{
   /* local variable definition */
   int a = 10;

   /* do loop execution */
   do
   {
       printf("value of a: %d\n", a);
       a = a + 1;
   }

   while(3 );


}


Calculator  : 

  

#include "stdio.h"

 main ()
{
int option = -1;// we add a value negative to option because we dont want any random value added by compilator
float num1, num2;

printf("\n\n:::::::::::: Calculator :::::::::::: \n\n");
do
{
 printf("\nEnter two numbers : ");
 scanf("%f %f",&num1,&num2);
 printf("\nSelect 1-5 for any operation\n");
 printf("\n1.Addition\n");
 printf("\n2.Subtraction\n");
 printf("\n3.Multiplication\n");
 printf("\n4.Division\n");
 printf("\n5.Exit Program\n");
 printf("\n Your choice  : ");
 scanf("%d", &option);
 printf("\n");

 switch(option)
 {
  case 1:
   printf("\nSummation result is =%.2f\n",num1+num2);
   break;
  case 2:
   printf("\nSubtraction result is =%.2f\n",num1-num2);
   break;
  case 3:
   printf("\nMultiplication result is =%.2f\n",num1*num2);
   break;
  case 4:
   printf("\nDivision result is =%.2f\n",num1/num2);
   break;
  case 5:
   printf("\nTerminating...\n");
   break;
  default:
   printf("\nInvalid operator\n");
   break;
 }
}
while(option != 5);

}





فديو الشرح  : 




في أمان الله 




13:29
-
jeudi 3 septembre 2015

الدرس 9 ج 1 : شرح الدالة التكرارية for و اختصارات الحسابية على متغيرات

السلام عليكم

اليوم بإذ الله سنشرح الدوال التكرارية


وبالضبط الدالة For 

سأضع لكم أكواد المستخدمة في الشرح

اختصارات لعمليات الحسابية 









CODE 1 : 

 

Lessson : For loop

i++ <==> i=i+1;

i-- <==> i=i-1;

j=i++ <==> j=i et i=i+1

j=++1 <==> j=i et i=i+1

for ( variable initialization; condition; variable update )

{

  Code


}


CODE 2 : 

  



/* inifite loop 

for(;;) {


        printf("helllo");




    }

*/


#include "stdio .h"
#include "stdlib .h"

 main ()

{

int i;

    for(i=0; i < 10 ;i++) {


        printf("helllo");

        printf("\n%d\n",i);
    }


   system("pause");


}





CODE 3 : 

  

#include "stdio.h"
#include "stdlib.h"

 main ()

{

int i,j;

    i=2;
    j=++i;
    
    

    printf("\ni = %d\n",i);

    printf("j = %d\n",j);

 printf("\n\n\n",j);

   system("pause");


}





فديو الشرح : 




في أمان الله 
19:03
-
mercredi 2 septembre 2015

حل التمرين التقيمي 3

السلام عليكم


التمرين : 




حل التمرين :




SalahEddine Loukili الحل تم وضعه من طرف  


  


#include "stdio.h"
#include "conio.h"

 main()

{

float x,y;

char c;

printf("\nEnter the first number :");

scanf("%f",&x);

printf("Enter an operation \"+ or - or * or / or %%\" :");

fflush(stdin); // empy stdin so we can take value from user keyboard

c=getchar(); // c=getch() c=getche()

printf("\nEnter the second number :");

scanf("%f",&y);

switch (c)
{
case '*' : printf(" %g * %g = %g",x,y,x*y); break;
case '+' : printf(" %g + %g = %g",x,y,x+y); break;
case '-' : printf(" %g - %g = %g",x,y,x-y); break;
case '/' : printf(" %g / %g = %g",x,y,x/y); break;
case '%' :

    if(x-(int)x!=0||y-(int)y!=0) {

printf("% require integer valus:auto convert to int...\n");

}


if((int)y==0)

    {
        printf(" %d mod %d = %d",(int)x,(int)y,(int)x);

     }


else printf(" %d mod %d = %d",(int)x,(int)y,(int)x%(int)y);

break;

default : printf("operation invalide");

}

getch();


}




في أمان الله 
15:46
-