موضوعنا هو if statement وتنقسم الى ثلاثة أنواع :-
1. if .
2. if else .
3. if else if .
النوع الأول ( if ) وتكون تركيبتها على الشكل التالي : if ( condition ) Statement
مثال :-
أكتب برنامج تدخل له عدد اذا كان هذا العدد أقل من صفر اطبع له العدد وبجانبه is negative مثلا لو أدخلنا -1 يطبع لنا -1 is negative : ...
كما اتفقنا من قبل نحدد كلا من المدخلات ، العمليات ، المخرجات ...
المدخلات :- قيمة من نوع int .
العمليات :- فحص القيمة اذا كانت أقل من صفر .
المخرجات :-اذا تحقق الشرط اطبع العدد وبجانبه is negative .
البرنامج :-
على ماأعتقد أن البرنامج لا يحتاج لشرح ( واضح !؟ ) أ] استفسار أنا جاهز ...
********************
ولكن الان هنالك سؤال وهو :-
*كيف أريد أن أضيف الى السؤال بحيث انه اذا كان العدد أكبر من صفر أطبع العدد وبجانبه is positive ؟
* الاجابة في النوع الثاني من if statement ...
النوع الثاني ( if else if ) وتكون تركيبتها على الشكل التالي :-
if ( condition ) statement1 else statement2 ..
مثال 1:-
أكتب برنامج تدخل له عدد اذا كان هذا العدد أقل من صفر اطبع له العدد وبجانبه is negative أما اذا لم يكن أقل من صفر فاطبع العدد وبجانبه is positive ..
التحليل سأتركه لكم أما البرنامج فهو كالتالي :-
مثال 2:-أكتب برنامج تدخل له علامتين لطالب فيجمعهم ويجيب الـ ( average ) ويطبع بجانبه ما اذا كان الطالب ناجح أو راسب ( اذا معدله أكبر من 60 اطبع pass اذا اقل من60 اطبع fail ) ..
البرنامج :-
وايضا هنا قصور في البرنامج الأول وهو اذا كان العدد = صفر فالبرنامج سيطبع انه موجب !!!
كلنا يعرف أن الصفر عنصر محايد لا هو سالب ولا موجب ..
الحل في النوع الثالث وهو التالي شرحه ...
*******************************
النوع الثالث ( if else if ) وتركيبتها على الشكل :-
مثال 1:-
أكتب برنامج ( باستخدام الجافا ) برنامج تدخل له عدد اذا كان هذا العدد أقل من صفر اطبع له العدد وبجانبه is negative أما اذا لم يكن أقل من صفر فاطبع العدد وبجانبه is positive أما اذا كان العدد المدخل صفر اطبع Number is zero ..
البرنامج :-
مثال 2:-أكتب برنامج تدخل له علامتين لطالب فيجمعهم ويجيب الـ ( average ) ويطبع بجانبه التالي :-
E اذا كان معدل الطالب ≥ 90.
V.G اذا كان معدل الطالب ≥ 80.
Gاذا كان معدل الطالب ≥ 70.
P اذا كان معدل الطالب ≥ 60.
F اذا كان معدل الطالب ≤ 60 .
البرنامج :-
ملاحظات :-1.ممكن أن يكون الشرط مركب مثلاً اذا كانت العلامة أكبر من 90 وأقل من 100 كيف سأكتب الشرط ؟؟
الاجابة :- if (avg>=90&&avg<=90)……………….
2.ممكن أن يكون جواب الشرط( أي الجملة التي سوف تنفذ ) مركبة ( أي تتكون من أكثر من جملة ) مثلااذا كان معدل الطالب في الفترة اكبر من 55 أريد أن أضيف للطالب 5 علامات عالمعدل ومن ثم أطبع المعدل وأطبع بجانبه PASS كيف يتم ذلك ؟؟
الاجابة أضع قوسين {} بين الشرط والـ else وأضع بداخلهم جواب الشرط مهما كان حجمه سواء جملة جملتين ..... الخ كما في البرنامج التالي :-
1. if .
2. if else .
3. if else if .
النوع الأول ( if ) وتكون تركيبتها على الشكل التالي : if ( condition ) Statement
مثال :-
أكتب برنامج تدخل له عدد اذا كان هذا العدد أقل من صفر اطبع له العدد وبجانبه is negative مثلا لو أدخلنا -1 يطبع لنا -1 is negative : ...
كما اتفقنا من قبل نحدد كلا من المدخلات ، العمليات ، المخرجات ...
المدخلات :- قيمة من نوع int .
العمليات :- فحص القيمة اذا كانت أقل من صفر .
المخرجات :-اذا تحقق الشرط اطبع العدد وبجانبه is negative .
البرنامج :-
كود
import java.util.*;
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter number =>");
int no=in.nextInt();
if(no<0)System.out.println(no+"is negative");
}
}
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter number =>");
int no=in.nextInt();
if(no<0)System.out.println(no+"is negative");
}
}
على ماأعتقد أن البرنامج لا يحتاج لشرح ( واضح !؟ ) أ] استفسار أنا جاهز ...
********************
ولكن الان هنالك سؤال وهو :-
*كيف أريد أن أضيف الى السؤال بحيث انه اذا كان العدد أكبر من صفر أطبع العدد وبجانبه is positive ؟
* الاجابة في النوع الثاني من if statement ...
النوع الثاني ( if else if ) وتكون تركيبتها على الشكل التالي :-
if ( condition ) statement1 else statement2 ..
مثال 1:-
أكتب برنامج تدخل له عدد اذا كان هذا العدد أقل من صفر اطبع له العدد وبجانبه is negative أما اذا لم يكن أقل من صفر فاطبع العدد وبجانبه is positive ..
التحليل سأتركه لكم أما البرنامج فهو كالتالي :-
كود
import java.util.*;
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter number =>");
int no=in.nextInt();
if(no<0)System.out.println(no+"is negative");
else System.out.println(no+"is positive");
}
}
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter number =>");
int no=in.nextInt();
if(no<0)System.out.println(no+"is negative");
else System.out.println(no+"is positive");
}
}
مثال 2:-أكتب برنامج تدخل له علامتين لطالب فيجمعهم ويجيب الـ ( average ) ويطبع بجانبه ما اذا كان الطالب ناجح أو راسب ( اذا معدله أكبر من 60 اطبع pass اذا اقل من60 اطبع fail ) ..
البرنامج :-
كود
import java.util.*;
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter first mark =>");
int x=in.nextInt();
System.out.print("Enter second mark =>");
int y=in.nextInt();
float avg=(float)(x+y)/2;
if(avg>=60)System.out.println(avg+"pass");
else System.out.println(avg+"fail");
}
}
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter first mark =>");
int x=in.nextInt();
System.out.print("Enter second mark =>");
int y=in.nextInt();
float avg=(float)(x+y)/2;
if(avg>=60)System.out.println(avg+"pass");
else System.out.println(avg+"fail");
}
}
وايضا هنا قصور في البرنامج الأول وهو اذا كان العدد = صفر فالبرنامج سيطبع انه موجب !!!
كلنا يعرف أن الصفر عنصر محايد لا هو سالب ولا موجب ..
الحل في النوع الثالث وهو التالي شرحه ...
*******************************
النوع الثالث ( if else if ) وتركيبتها على الشكل :-
مثال 1:-
أكتب برنامج ( باستخدام الجافا ) برنامج تدخل له عدد اذا كان هذا العدد أقل من صفر اطبع له العدد وبجانبه is negative أما اذا لم يكن أقل من صفر فاطبع العدد وبجانبه is positive أما اذا كان العدد المدخل صفر اطبع Number is zero ..
البرنامج :-
كود
import java.util.*;
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter number =>");
int no=in.nextInt();
if(no<0)System.out.println(no+"is negative");else
if(no>0)System.out.println(no+"is positive");else
System.out.println("Number is zero");
}
}
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter number =>");
int no=in.nextInt();
if(no<0)System.out.println(no+"is negative");else
if(no>0)System.out.println(no+"is positive");else
System.out.println("Number is zero");
}
}
مثال 2:-أكتب برنامج تدخل له علامتين لطالب فيجمعهم ويجيب الـ ( average ) ويطبع بجانبه التالي :-
E اذا كان معدل الطالب ≥ 90.
V.G اذا كان معدل الطالب ≥ 80.
Gاذا كان معدل الطالب ≥ 70.
P اذا كان معدل الطالب ≥ 60.
F اذا كان معدل الطالب ≤ 60 .
البرنامج :-
كود
import java.util.*;
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter first mark =>");
int x=in.nextInt();
System.out.print("Enter second mark =>");
int y=in.nextInt();
float avg=(float)(x+y)/2;
if(avg>=90)System.out.println(avg+"E");else
if(avg>=80)System.out.println(avg+"V.G");else
if(avg>=70)System.out.println(avg+"G");else
if(avg>=60)System.out.println(avg+"pass");else
System.out.println(avg+"fail");
}
}
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter first mark =>");
int x=in.nextInt();
System.out.print("Enter second mark =>");
int y=in.nextInt();
float avg=(float)(x+y)/2;
if(avg>=90)System.out.println(avg+"E");else
if(avg>=80)System.out.println(avg+"V.G");else
if(avg>=70)System.out.println(avg+"G");else
if(avg>=60)System.out.println(avg+"pass");else
System.out.println(avg+"fail");
}
}
ملاحظات :-1.ممكن أن يكون الشرط مركب مثلاً اذا كانت العلامة أكبر من 90 وأقل من 100 كيف سأكتب الشرط ؟؟
الاجابة :- if (avg>=90&&avg<=90)……………….
2.ممكن أن يكون جواب الشرط( أي الجملة التي سوف تنفذ ) مركبة ( أي تتكون من أكثر من جملة ) مثلااذا كان معدل الطالب في الفترة اكبر من 55 أريد أن أضيف للطالب 5 علامات عالمعدل ومن ثم أطبع المعدل وأطبع بجانبه PASS كيف يتم ذلك ؟؟
الاجابة أضع قوسين {} بين الشرط والـ else وأضع بداخلهم جواب الشرط مهما كان حجمه سواء جملة جملتين ..... الخ كما في البرنامج التالي :-
كود
import java.util.*;
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter first mark =>");
int x=in.nextInt();
System.out.print("Enter second mark =>");
int y=in.nextInt();
float avg=(float)(x+y)/2;
if(avg>=90)System.out.println(avg+"E");else
if(avg>=80)System.out.println(avg+"V.G");else
if(avg>=70)System.out.println(avg+"G");else
if(avg>=60)System.out.println(avg+"pass");else
if(avg>=55)
{
avg=avg+5;
System.out.println(avg+"pass");
}else
System.out.println(avg+"fail");
}
}
class Q1{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("Enter first mark =>");
int x=in.nextInt();
System.out.print("Enter second mark =>");
int y=in.nextInt();
float avg=(float)(x+y)/2;
if(avg>=90)System.out.println(avg+"E");else
if(avg>=80)System.out.println(avg+"V.G");else
if(avg>=70)System.out.println(avg+"G");else
if(avg>=60)System.out.println(avg+"pass");else
if(avg>=55)
{
avg=avg+5;
System.out.println(avg+"pass");
}else
System.out.println(avg+"fail");
}
}
ليست هناك تعليقات:
إرسال تعليق