زانستی ژمارەیی
Arithmetic
زانستی ژمارەیی و ژماردن(بیركاری) Arithmetic :بەشێكی گرنگی بواری بەرنامەسازییە و،بەرنامەساز و ئەندازیارانی بەرنامەسازی زۆر پێویستیان پێی دەبێت،بۆیە بەپێی پێویستی و گرنگی بابەتەكە باسیان لێوەدەكەین.لە زۆربەرنامە دا كردارە بیركاریەكان جێبەجێدەكرێت،بۆیە زانینی هێمابیركارییەكان وتێگەیشتنی چۆنیەتی جێبەجێبوونیان لەلایەن بەرنامەكانەوەو،جیاوازی هێماو كردارەكان لەنێوان ڕستە جەبری(بیركاری )یەكان و ڕستەكانی بەرنامە سازی لە زمانی جاڤا دا كارێكی پێویستە.وەكو لەم خشتەیەدا (خشتەی 1) ڕوونكراوەتەوە:
خشتەی 1
وەك لە خشتەكەدا دیارە ،دەبینین جیاوازی هەیە لەنێوان كردارە ژمێرەییەكان لە زانستی ژمارە وبیركاری دا،لەگەڵ هەمان كردار لە زمانی بەرنامەسازی جاڤا دا،بۆنمونە كرداری لێكدان لە زانستی ژمارەدا هیچ هێمایەك لە نێوان لێكدراوەكاندا نانووسین و بۆشای Space لە نێوانیان دا دەنێین (تیبینی:دەشتوانین هێمای لیكدان بنووسین،واتە X) ،بەڵام لە بەرنامە سازی زمانی جاڤا دا دەبێت هێمای (*) بنووسین،هەروەها هێمای ماوە(پاشماوە – مۆد)یش لەهەندێك زمانی بەرنامە سازیدا كە هێماكەی لەسەدا (%)یە دەبینرێت،كە لە زانستی ژمارە و بیركاری دا بە (مۆد)دەنووسرێت.
ئەو هێمایەنەی لە خشتەكەدان هەموویان بۆ ئەنجامدانی كردارێكن كە بەسەر دوو ژمارە یان ژمارە و هێمادا ،یان دوو هێمادا جێبەجێكراوە،بۆیە دەگونجێت بە كردارە دوانییەكان Binary operation ناویان ببەین،لەبەر ئەوەی هەرهێمایەك دوو (ژمارە،یان پیت،یان پیت و ژمارە)ی لەگەڵدایە،بۆنموونە f+7 پێك هاتووە لە هێمای كۆكردنەوەی دووانی و،پیتی (ئێف) و ژمارە 7.
كرداری مۆدیش بەو ماوەیە دەوترێت كە لە ئەنجامی مۆدی ژمارەیەك بەسەر ژمارەیەكی تردا دەستمان دەكەوێت،بۆنموونە 7%3دەكاتە،4،واتە 3 ژمارەی ژمارە 7دابەش دەبێت بەسەر ژمارە 3 دا و،4ژمارە شی لێدەمێنێتەوە.
كرداری دابەش كردنیش لەبەرنامە سازیدا،جیاوازە وەك لە كرداری دابەشكردن لە زانستی ژمارە و بیركاری دا ،چونكە دابەشكردن لە زانستی ژمارەیی دا بە شێوەی كەرت (سەرە و ژێرە)،یان بە دانانی هێمایی(÷) لە نێوان دابەشكراوەكاندا دەنووسرێت،بەڵام لەبەرنامە سازی دا،هێمای (/) لە نێوان دابەشكراوەكان دا دادەنرێت،بڕوانە نموونەكان و سەرنجی جیاوازییەكانیان بدە:
نمونەی 1: 4÷8 .
نمونەی 2: 4/8 .
بەڵام ئەگەر كۆمەڵێك كرداری بیركاری و زانستی ژمارەیی پێكەوە و لە هاوكێشەیەكدا كۆببنەوە ئەوا گروپێك پێكدەهێنن و ئەنجامدانی كردارەكان جیاواز دەبن،چونكە هەندێك كردار دەبێت پێش كردارێكی تر ئەنجام بدرێت،بۆنمونە ئەگەر B لیكدانی C+A بكەین،ئەوا بەم شێوەیە دەینووسین:
B*(C+A)
چونكە دەمانەوێت C و A كۆبكەینەوەو پاشان لێكدانی B بكەین بۆیە لەناو كەوانە دا دامننا،بەمەش لە پێشدا كۆكردنەوەكە ئەنجام دەدات و پاشان كرداری لێكدان بە ئەنجام دەگەیەنێت.
نمونەی كردارەكان لەنێوان جاڤا و زانستی ژمارەیی (بیركاری) دا:
ئەگەر لە زانستی ژمارەیی دا چەند كردارێك لە هاوكێشەیەك دا ئەنجام بدەین،وەكو لەم نمونەیەدا دەیبینین،ئەوا لە بەرنامە سازیدا گۆڕانی بەسەردا دێت وەكو لە نمونەی 2 دا،دیارە:
نمونەی 1:
Algebra m= a+b+c+d+e÷10
نمونەی 2:
Java m= (a+b+c+d+e)/10
ڕێساكانی پێشڕەوی كردنی هێمای كردارە ژمارەییەكانRules of operator precedence كردارە ژمێرەی و بیركارییەكان بە پێی جۆرەكانیان جیاوازن لە ئەنجامدان دا،بۆ نمونە هەندێك كردار پێش هەندێك كرداری تر ئەنجام دەدرێت،وەئەم پێشرەویش بەهۆی هەندێك كرداری دیكەوە دەگۆڕێت،بۆنمونە : كرداری (+) كە دووای كرداری لێكدان(*) ئەنجام دەدرێت،بەڵام ئەم قسەیە پێچەوانە دەبێتەوە ئەگەر كرداری كۆكردنەوە لە نێوان دوو كەوانەدا ،بۆنمونە (8+2)، بوو، بەم شێوەیە:
-لێكدان Multiplication ، دابەشكردن Division ، ماوە Reminder(Mode)،ئەم كردارانە بەم پێشرەوییە ئەنجام دەدرێن لەلای چەپی هاوكێشەكە بۆلای ڕاستی هاوكێشەكە،لەهەمان ئاستی پێشرەوی دا.
2-كۆكردنەوە Addition ، لێدەركردن Subtraction ،ئەم دوو كردارەش بەهەمان شێوە.
لەم خشتەیەدا (خشتەی 2) ئەو دوو خاڵەی ڕیساكان ڕوونكراوەتەوە:
لەم نمونانە دا،زیاتر كردارەكانی زانستی ژمێرەیی و جیاوازی نێوان كردارەكان لە جەبر و زمانی بەرنامە سازی جاڤا ، و پێشڕەوی كردارەكان ڕونكراوەتەوە:
نمونەی 1:
Algebra: y=mx+b
Java: y=m * x + b
وەك پێشتریش باسمان كرد،پێویستە لە كاتی نووسینی هاوكێشەكان لە بەرنامە سازی جاڤا دا،هێمای (*) لەنێوان لێكدراوەكان دا دابنێین،ئەگەر نا،هەڵەدەبێت و كرداری لێكدانمان بۆ بەئەنجام ناگەیەنێت.
Algebra: z=pr % q + w/x-y
Java: z=p * r % q + w / x – y
ئەم هاوكێشەیەی نمونەی 2،كە بە ڕوون و ئاشكرای جیاوازی نێوان هاوكێشەكە لە زانستی جەبر و هاوكێشەكە لە بەرنامەسازی بەزمانی جاڤای تێدا ڕوونكراوەتەوە،و ئەنجامدانی كردارەكانیش بە پێی پێشڕەوی بەم شێوەیە دەبێت:
یەكەم:كرداری لێكدانی نێوان p*r.
دووەم:كرداری مۆد %.
سێهەم:كرداری دابەشكردن.
چوارەم : كرداری كۆكردنەوە.
پێنجەم :كرداری لێدەركردن.
شەشەم: یەكسانە و ئەنجامی هەموو كردارەكانمان دەداتێ.
نمونەی 3:
Algebra: y= ax2 + b x + c
Java: y= a * x * x + b * x + c
یەكەم :كرداری لێكدانی نێوان a*x*x.
دووەم:كرداری لێكدانی نێوان b*x.
سێهەم :كرداری كۆكردنەوە.
چوارەم:كۆكردنەوەی دووەم.
پێنجەم:كرداری یەكسانە و ئەنجامی هاوكێشەكەمان دەداتێ.
واتە كردارەكە بەم شێوەیە ئەنجامدەدات:
Y = (a*x*x) + (b*x) + c
لە چەپەوە بۆ ڕاست ،سەرەتا كەوانەی یەكەم.چونكە كەوانە پێشڕەوی زیاترە و ،پاشان كەوانەی دووەم و دوواتر كردارەكانی كۆكردنەوە.
نمونەی 4:
Y = 2 * 5 * 5 + 3 * 5 + 7
هەنگاوی یەكەم :
5*2=10
هاوكێشەكە بەم شێوەیەی لێدێت:
Y = 10 * 5 + 3 * 5 +7
هەنگاوی دووەم:
5*10=50
هاوكێشەكە بەم شێوەیەی لێدێت:
Y = 50 + 3 * 5 + 7
هەنگاوی سێهەم:
5*3=15
هاوكێشەكە بەم شێوەیەی لێدێت:
Y = 50 + 15 + 7
هەنگاوی چوارەم:
15+50=65
هاوكێشەكە بەم شێوەیەی لێدێت:
Y = 65 + 7
هەنگاوی پێنجەم (كۆتا هەنگاو):
7+65=72
هاوكێشەكە بەم شێوەیەی لێدێت:
Y = 72
یەكسانە و نایەكسانە و هێماكانی پەیوەندی (بەراورد كردن)
ئەم هێمایانە بەزۆری لەكاتی دانانی مەرج و ڕستەی مەرجی if statement دا بەكاردێت،كە ئەگەر مەرجەكە جێبەجێبوو وەڵامەكە ڕاست True دەبێت و،ئەگەرنا False دەبێت،بۆیە پێویستە لە بارەیانەوە بزانین و،لەیەكتریان جیابكەینەوە،وەكو لەم خشتەیە (خشتەی 3) دا ڕونكراوەتەوە:
لەم بەرنامەیەدا،شەش ڕستەی ئەگەری if statement دەنووسین،بۆ تاقیكردنەوەی هێماكان و،بەهۆیەوە بەراوردی دوو ژمارەی تەواو integer دەكەین،كە بە كارهێنەر ئەو دوو ژمارە داغڵ دەكات بۆ بەرنامەكە.ئەم بەرنامەیە سكانەر Scanner بەكاردەهێنێت بۆ داغڵكردنی ژمارەكان و خەزنكردنیان لە هەمیشە گۆڕاوی number1و number2 دا،و پاشان ئەنجامدانی بەراوردی نێوانیان و،پەیوەندی نێوانیان ڕوون دەكاتەوەو،ئەنجامەكانمان پیشان دەدات:
// Hemn Mela Karim Barznji 10/6/2010 // Compare integers using if statements, relational operators and equality operators. import java.util.Scanner; // program uses class Scanner public class Comparison { // main method begins execution of Java application public static void main( String args[] ) { // create Scanner to obtain input from command window Scanner input = new Scanner( System.in ); int number1; // first number to compare int number2; // second number to compare System.out.print( "Enter first integer: " ); // prompt number1 = input.nextInt(); // read first number from user System.out.print( "Enter second integer: " ); // prompt number2 = input.nextInt(); // read second number from user if ( number1 == number2 ) System.out.printf( "%d == %dn", number1, number2 ); if ( number1 != number2 ) System.out.printf( "%d != %dn", number1, number2 ); if ( number1 < number2 ) System.out.printf( "%d < %dn", number1, number2 ); if ( number1 > number2 ) System.out.printf( "%d > %dn", number1, number2 ); if ( number1 <= number2 ) System.out.printf( "%d <= %dn", number1, number2 ); if ( number1 >= number2 ) System.out.printf( "%d >= %dn", number1, number2 ); } // end method main } // end class Comparison
توێكاری بەرنامەكە
Program Anatomy
// Hemn Mela Karim Barznji 10/6/2010
ئەم سەرنج و تیبینییە ئاماژەیە بۆئەوەی كە كێ و كەی ئەم بەرنامەیەی نووسیوە
// Compare integers using if statements, relational operators and equality operators.
ئەم سەرنج و تێبینییە بۆ ئەوەیە بە بەكارهێنەر و بینەری بەرنامەكە بڵێین،بەرنامەكەمان تایبەتەبە بەراوردی ژمارەی تەواو، بەبەكارهێنانی ڕستەی ئەگەری ،و كردارەكانی یەكسانە و نایەكسانە و پەیوەندییەكان.
import java.util.Scanner; //program use class scanner
ئێمە دەمانەوێت لەڕێگەی كیبۆردەوە ژمارەكان داغڵ بكەین ،بۆیە سود لە كڵاسی سكانەر وەردەگرین،لە پاكێجی یوتیل دا،بۆ ئەوەی ئەو كارە ئەنجام بدەین.
سەرنج:لەچاپتەرێكی سەربەخۆدا،باسی دروستكردنی پاكێج و،بەكارهێنانی دەكەین
هەڵەباوەكانی بەرنامەسازی
Common Programming Error
ئەگەر ڕستەی هێنانی پاكێج import package لەناو پۆل Class دا بنووسین،ئەوا دەبێتە هەڵە،بۆیە پێویستە لەدەرەوەی پۆل و،لەسەرەتادا بینووسین،وەكو لەبەرنامەكەدا دیارە.
public class Comparison
ئەم دێڕە بە وشەی public دەست پێدەكات،كە یەكێكە لە وشەكانی دەستبەسەراگرتنی گەیاندن و تێپەڕبوونی پۆل Access Control و بەدووای دا وشەی پۆل Class Keyword دێت،و پاشان ناوی پۆلەكە Class Name دێت و،بەهۆی ناوی كڵاسەكەشەوە دەزانین بەرنامەكەمان تایبەتە بە بەراورد كردن.
بەرنامەسازیی باش
Good Programming Practice
بەشێوەیەكی باو ،هەمیشە یەكەم پیتی ناوی پۆل Class Name بە پیتی گەورە Capital Letter دەنووسرێت،بەڵام ئەگەر بە پیتی بچوكیش Small Letter بنووسرێت،هەڵەنابێت،بەڵام واباشترە بە پیتی گەورە بنووسرێت.
هەڵە باوەكانی بەرنامە سازی
Common Programming Error
هەڵەیەكی باو ئەوەیە كە بەرنامەكەمان بەناوی پۆلەكەوە Class Name و بە پاشگری جاڤا .java خەزن نەكەین.چونكە وەرگێڕ Compilerتەنها ئەو فایلانە وەردەگێڕێت Compiles كە تەنها بەپاشگری .java كۆتای هاتووە.
ئەم دێڕەش كەوانەی سەرەتایی لاشەی پۆلە Body of class و هەموو پۆلێك Class بە كەوانە دەستپێدەكات و،بەكەوانەش كۆتای دێت.
//main method begins excution of java application
ئەم دێڕە ڕوونكردنەوەیەكە Comment بۆ ڕوونكردنەوەی ئەوەی كە دێڕی دوواتر ڕێگەی سەرەكی Main Method ی بەرنامەكەیە.
public static void main (String args [])
ئەم دێڕە مێسۆدی سەرەكی بەرنامەكەیە و،لە چاپتەرێكی سەربەخۆدا باسی مێسۆد و چۆنیەتی دروستكردن و پێكهاتەیی و بەكارهێنانی دەكەین.
{
ئەم دێڕەش كەوانەی سەرەتایی لاشەی ڕێگەیە Body of Method و هەموو ڕێگەیەك Method بە كەوانە دەستپێدەكات و،بەكەوانەش كۆتای دێت.
// create Scanner to obtain input from command window
ئەم تێبینییە بۆ ئەوەیە كە بە بەكارهێنەر بوترێت كڵاسی سكانەر بەكاردەهێنین بۆ ئەوەی دوو ژمارەی تەواو داغڵ بكەین
Scanner input=new Scanner (System.in);
بەهۆی ئەم ڕستەیەوە ،تەنێك Object لە پۆلی سكانەر وەردەگرین،بۆئەوەی بتوانین بەهۆیەوە ئەو ژمارانە داغڵ بكەین،كە دەمانەوێت كۆیان بكەینەوە.
int number1; // first number to compare int number2; // second number to compare
ئەم دوو هەمیشە گۆراوەی Variable سەرەوە دەناسێنین،كە جۆری هەردوكیان ژمارەی تەواوەInteger و،بە int دەنووسرێت،لەسەرەتای هەمیشە گۆڕاوەكان دا،چونكە بەرنامەكەمان تایبەتە بە بەراوردی دوو ژمارەی تەواو،بۆیە هەمیشە گۆڕاو Variable ی یەكەم،بەكاردێت بۆ داغڵكردنی ژمارە تەواوی یەكەم،و،هەمیشە گۆڕاوی دووەمیش بۆ ژمارەی دووەم،كە دەمانەوێت بەراوردیان بكەین.
هەمیشە گۆڕاو Variable چییە؟؟
هەمیشە گۆراوەكان Variables لە گۆڕاوێك كە هەمیشە نرخی تازەوەردەگرێت و پێكدێت لە جۆرێك Type وەكو ژمارەی تەواو intیان كارەكتەر charیان floatیان ….،كە ئەم جۆرە پێی دەوترێت Primitive data type و،بە دوواشیدا بۆشاییەك دادەنێین و،پاشان ناوی هەمیشە گۆراوەكە،كەهەمان مەرجی ناوی پۆلی بەسەردا جێبەجێدەبێت،كە ئەمانەن:
1-دەبێت بە پیت Letter دەستپێبكات ،وەكو number1.
2-یان بە _ دەست پێبكات ،وەكو _number1
3-یان بە $ دەستپێبكات،وەكو $sum1.
وەنابێت بە ژمارە Digit دەستپێبكات و،ناشبێت بۆشایی Space ی تیابێت.
واباشترە،ئەگەر لە زیاتر لەناوێك پێكهاتبوو،ئەوا یەكەم پیتی دووەم وشە و سێهەم وشە و …. بەگەورە بنوورێت،وەكو normalPhoneNumber.
System.out.print("Enter firset integer");// prompt
تەنها ڕستەیەكمان بۆ چاپ دەكات،كە بەبەكارهێنەر دەڵێت،ژمارەی یەكەم داغڵ بكە.
number1=input.nextInt();// read first number from user
بەهۆیەوە ژمارەی یەكەم داغڵ دەكەین و،دەیدەین بە گۆڕاوی یەكەم.
System.out.print("Enter second integer");// prompt
تەنها ڕستەیەكمان بۆ چاپ دەكات،كە بەبەكارهێنەر دەڵێت،ژمارەی دووەم داغڵ بكە.
number2=input.nextInt();// read second number from user
بەهۆیەوە ژمارەی دووەم داغڵ دەكەین و،دەیدەین بە گۆڕاوی دووەم.
if ( number1 == number2 ) System.out.printf( "%d == %dn", number1, number2 );
لێرەوە تاكۆتای بەرنامەكە،بەكارهێنانی شەش ڕستەی مەرجییە،كە بە جێبەجێبوونی هەر ڕستەیەكیان بەهۆی مێسۆدی پرێنت ئێفەوە،ئەنجامەكەمان بۆ چاپ دەكات و ،ڕستەی یەكەمیان بۆ مەرجی یەكسان بوونە و،ئەگەر ئەو دووژمارەیەی داغڵی دەكەین یەكسان بێت،ئەوا بەهۆی ئەم مەرجەوە پێمان دەڵێت كە ژمارەی یەكەم(ئەو ژمارەیەی یەكەم جار داغڵمان كردووە) یەكسانە بە ژمارەی دووەم.
هەڵە باوەكانی بەرنامە سازی
Common Programming Error
یەكەم: هەڵەیەكی باو ئەوەیە كە هێمای (=)كە پێی دەوترێت assignment operator لە جیاتی هێمای (==)بەكاربهێنین ،بۆ ئەنجامدانی كرداری یەكسان بوون Equality.
دووەم:هەڵەیەكی دیكە ئەوەیە كە بۆشای لە نێوان هێمای كردارە بیركاری و ژمێرەییەكاندا دابنرێت،وەكو گەورەتر یان یەكسان < = ،بۆهێماكانی دیكەش (==,=!,<=,>=) بەهەمان شێوەیە و بەدانانی بۆشای هەڵە دەبێت.
سێهەم: دانانی سیمی كۆلۆن (;) لە ڕستەی مەرجی دا if statement دەبێتە هەڵەی ژیربێژی (مەنتقی) Logic Error وەك لەم نمونەیەدا دیارە :
if ( number1 != number2 ); System.out.printf( "%d != %dn", number1, number2 );
چوارەم: پێچەوانەكردنەوەی هێماكان ، بەم شێوەیە (!=، =>،=<) دەبێتە هەڵەی ڕستەسازی Syntax Error.
if ( number1 != number2 ) System.out.printf( "%d != %dn", number1, number2 );
ڕستەی مەرجی دووەم،بۆ ئەنجامدانی كرداری بەراورد،بۆ نایەكسان بوونی ژمارە داغڵكراوەكان و،چاپكردنی ئەنجامەكە
if ( number1 < number2 ) System.out.printf( "%d < %dn", number1, number2 );
ڕستەی مەرجی سێهەم،بۆ ئەنجامدانی كرداری بەراورد،بۆ بچوكترەی ژمارە داغڵكراوەكان و،چاپكردنی ئەنجامەكە
if ( number1 > number2 ) System.out.printf( "%d > %dn", number1, number2 );
ڕستەی مەرجی چوارەم ،بۆ ئەنجامدانی كرداری بەراورد،بۆ گەورەترە ی ژمارە داغڵكراوەكان و،چاپكردنی ئەنجامەكە
if ( number1 <= number2 ) System.out.printf( "%d <= %dn", number1, number2 );
ڕستەی مەرجی پێنجەم ،بۆ ئەنجامدانی كرداری بەراورد،بۆ بچوكتر یان یەكسان بوونی ژمارە داغڵكراوەكان و،چاپكردنی ئەنجامەكە
if ( number1 >= number2 ) System.out.printf( "%d >= %dn", number1, number2 );
ڕستەی مەرجی شەشەم ،بۆ ئەنجامدانی كرداری بەراورد،بۆگەورەتر یان یەكسان بوونی ژمارە داغڵكراوەكان و،چاپكردنی ئەنجامەكە
} // end method main
كەوانەی كۆتای ڕێگەی سەرەكییە
} // end class Comparison
كەوانەی كۆتای كڵاسی بەراورد كردنە.
ئەنجامی بەراوردی ژمارە 250 و 250،هەروەها 25و15:
ئێستا زمانی بەرنامەسازی جاڤامان ناسی و،پێویستە لەمە دوواو زۆربەوردی و لەچەند چاپتەرێكدا باسی بنەماكانی بەرنامەسازی و ،پێكهاتەكانی پۆل Class و مێسۆد و تەن Object وlooping و GUI و Applet و Web Programming و Network Programming وInput/Output و Exception وPackage و ….. بكەین.
لێرە تەواوی ئەم وانەی پێنجەم بە پی دی ئیف وەربگرە..
………………………
www.kitn.net ئامادهكردنی كاك: هێمن مەلا کریم بەرزنجی
.
.