څنګه زده کړه وکړو چې څنګه په ستونزو باندې بریالي شو، او په ورته وخت کې د سایکل لیکو

د دې حقیقت سره سره چې موږ به د یوې اساسي موضوع په اړه وغږیږو، دا مقاله د تجربه لرونکو متخصصینو لپاره لیکل شوې ده. هدف دا دی چې وښیې چې پیل کونکي په برنامه کولو کې کوم غلط فهمونه لري. د پرمخ وړونکو تمرین کولو لپاره، دا ستونزې د اوږدې مودې لپاره حل شوي، هیر شوي یا په پام کې ندي نیول شوي. مقاله ممکن په کار کې راشي که تاسو ناڅاپه د دې موضوع سره د یو چا سره مرسته کولو ته اړتیا لرئ. مقاله د Schildt، Stroustrup، Okulov لخوا د پروګرام کولو په اړه د مختلفو کتابونو موادو سره موازي لري.

د سایکل په اړه موضوع غوره شوې وه ځکه چې ډیری خلک د برنامو ماسټر کولو پرمهال له دې څخه ایستل شوي.

دا تخنیک د ضعیف زده کونکو لپاره ډیزاین شوی. د یوې قاعدې په توګه، پیاوړي خلک په دې موضوع کې نه پټیږي او د دوی لپاره ځانګړي تخنیکونو ته اړتیا نشته. د مقالې ثانوي هدف دا دی چې دا تخنیک د "ټولو زده کونکو لپاره کار وکړي، مګر یوازې یو ښوونکي" ټولګي څخه "د ټولو زده کونکو لپاره کار کوي، د ټولو ښوونکو لپاره" ټولګي ته. زه د مطلق اصلیت ادعا نه کوم. که تاسو دمخه د دې موضوع د تدریس لپاره ورته میتودولوژي کاروئ، مهرباني وکړئ ولیکئ چې ستاسو نسخه څنګه توپیر لري. که تاسو پریکړه وکړئ چې دا وکاروئ، موږ ته ووایاست چې دا څنګه تیر شو. که په یوه کتاب کې ورته تخنیک بیان شوی وي، نوم یې ولیکئ.


ما په دې تخنیک کې د 4 کلونو لپاره کار وکړ، په انفرادي توګه د زده کړې د مختلفو کچو زده کونکو سره مطالعه کوم. په ټولیز ډول شاوخوا پنځوس زده کونکي او دوه زره ساعته ټولګي لري. په لومړي سر کې، زده کونکي تل په دې موضوع کې ودریدل او پریښودل. د هر زده کونکي وروسته، میتودولوژي او مواد تنظیم شوي. د تیر کال په اوږدو کې، زده کونکي نور په دې موضوع کې پاتې ندي، نو ما پریکړه وکړه چې خپلې موندنې شریکې کړم.

ولې دومره ډیر لیکونه؟ سایکلونه خورا لومړني دي!

لکه څنګه چې ما پورته لیکلي، د پراختیا کونکو تمرین کولو او قوي زده کونکو لپاره، د لوپ مفکورې پیچلتیا کمه اټکل کیدی شي. د مثال په توګه، تاسو کولی شئ اوږد لیکچر ورکړئ، د سرونو سرونه او هوښیار سترګې وګورئ. مګر کله چې د کومې ستونزې د حل کولو هڅه کوي، بې وقوف او نه پوهیدونکي ستونزې پیل کیږي. د لیکچر وروسته، زده کونکي شاید یوازې یو څه برخه پوهه درلوده. وضعیت د دې حقیقت له امله خراب شوی چې زده کونکي پخپله نشي کولی غږ وکړي چې واقعیا د دوی فریب څه دی.
یوه ورځ زه پوه شوم چې زده کونکي زما مثالونه د هیروګلیف په توګه پیژني. دا د متن د نه ویشلو ټوټو په څیر دی چې تاسو اړتیا لرئ یو څه "جادو" لیک اضافه کړئ او دا به کار وکړي.
ځینې ​​​​وختونه ما ولیدل چې زده کونکي فکر کوي چې د یوې ځانګړې ستونزې حل کولو لپاره چې تاسو ورته اړتیا لرئ بل څه یو ډیزاین چې ما لا تر اوسه پوښلی نه دی. که څه هم حل یوازې د مثال لږ بدلون ته اړتیا لري.

نو زه د دې مفکورې سره راغلم چې تمرکز باید د بیانونو ترکیب باندې نه وي، مګر د لوپونو په کارولو سره د تکرار کوډ بیاکتنې مفکورې باندې وي. یوځل چې زده کونکي پدې مفکوره کې مهارت ولري، هر ډول ترکیب د لږ تمرین سره ښه کیدی شي.

څوک او ولې درس ورکوم؟

څرنګه چې د داخلې ازموینې شتون نلري، په ټولګیو کې کیدای شي قوي او ډیر ضعیف زده کونکي شامل وي. تاسو کولی شئ په مقاله کې زما د زده کونکو په اړه نور ولولئ د ماښام کورس زده کونکو انځور
ما هڅه وکړه چې ډاډ ترلاسه کړم چې هرڅوک چې غواړي برنامه زده کړي کولی شي دا زده کړي.
زما ټولګي په انفرادي ډول ترسره کیږي او زده کونکي د هر یو لپاره خپلې پیسې ورکوي. داسې بریښي چې زده کونکي به لګښتونه غوره کړي او لږترلږه غوښتنه وکړي. په هرصورت، خلک د ژوندي ښوونکي سره مخامخ ټولګیو ته ځي د پوهې لپاره نه، بلکې د هغه څه د باور لپاره چې دوی زده کړل، د پرمختګ احساس او د متخصص (ښوونکي) څخه د تایید لپاره. که زده کوونکي په زده کړه کې د پرمختګ احساس ونه کړي، دوی به پریږدي. په عموم کې، ټولګي داسې تنظیم کیدی شي چې زده کونکي د پیژندل شوي جوړښتونو شمیر زیاتولو کې د پرمختګ احساس وکړي. یعني لومړی په تفصیل سره مطالعه کوو، بیا د وخت لپاره مطالعه کوو، بیا په داسي حال کې کوو، او اوس د زرو او یوې شپې کورس چمتو کوو، چې په هغه کې یوازې دوې میاشتې زده کړې کیږي، او په پای کې یو زده کوونکی چې لیکي. یو معیاري کتابتون په هرصورت، د عملي ستونزو د حل لپاره، تاسو نه یوازې د موادو پوهه ته اړتیا لرئ، بلکې د هغې په کارولو او د نوي معلوماتو په لټون کې خپلواکۍ ته اړتیا لرئ. له همدې امله، د مخامخ کورسونو لپاره، زه فکر کوم چې سم اصول لږ تر لږه درس ورکول دي او د لنډیزونو او اړوندو موضوعاتو خپلواکه مطالعې هڅول دي. د لوپس په موضوع کې، زه د جوړیدو وخت لږ تر لږه ګڼم. تاسو کولی شئ له هغې څخه په اصولو پوه شئ. د اصولو په پوهیدو سره، تاسو کولی شئ د ځان لپاره او د ترسره کولو په وخت کې دواړه ماسټر کړئ.

د ضعیف زده کونکو لخوا د موادو د مهارت ترلاسه کولو لپاره، د نحو تشریح کول کافي ندي. دا اړینه ده چې نور ساده مګر مختلف کارونه ورکړئ او مثالونه په تفصیل سره بیان کړئ. په نهایت کې ، د پرمختګ سرعت د زده کونکي وړتیا پورې محدود دی چې څرګندونې بدل کړي او د نمونو لټون وکړي. د هوښیار زده کونکو لپاره، ډیری دندې به ستړي وي. کله چې له دوی سره مطالعه کوئ، تاسو اړتیا نلرئ د 100٪ ستونزو حلولو باندې ټینګار وکړئ. زما مواد په کې لیدل کیدی شي زما ګیتوب. ریښتیا، ذخیره د جنګیالیو ګریمویر په څیر ده - زما پرته هیڅوک به پوه نشي چې چیرته دی، او که تاسو په چک کې ناکام شئ، تاسو لیونی شئ.

میتودولوژي د تمرین پر بنسټ ده

تیوري د یوې ستونزې د حل کولو مثال په کارولو سره تشریح کیږي. د پروګرامینګ ټولګي په اساساتو کې چیرې چې څانګې او لوپونه تدریس کیږي، دا په ساده ډول ممکنه نه ده چې د ټول ساعت لپاره په یوه موضوع باندې ګټور لیکچر ورکړئ. د مفهوم تشریح کولو لپاره 15-20 دقیقې کافي دي. اصلي ستونزې د عملي کارونو په ترسره کولو کې رامینځته کیږي.
ابتدایي ښوونکي کولی شي په یوه لیکچر کې آپریټرونه، څانګې، لوپونه او سرې له منځه یوسي. مګر د دوی زده کونکي به د دې معلوماتو د جذبولو ستونزې سره مخ شي.
دا نه یوازې اړینه ده چې مواد ووایاست، بلکې دا هم اړینه ده چې اوریدونکي پرې پوه شي.

د یوې موضوع د ماسټرۍ حقیقت د دې له مخې ټاکل کیږي چې زده کونکي څنګه د خپلواک کار سره مقابله کوي.
که چیرې یو زده کونکی د یوه موضوع په اړه د یوه ښوونکي له مرستې پرته د حل کولو توان ولري، نو په موضوع کې ماسټر شوی. د ځان ازموینې ډاډ ترلاسه کولو لپاره ، هره دنده د ازموینې سناریو سره په جدول کې تشریح شوې. دندې روښانه ترتیب لري. د کارونو پریښودلو سپارښتنه نه کیږي. که اوسنۍ دنده ډېره ستونزمنه وي، نو بل ته تلل بې ګټې دي. دا نوره هم پیچلې ده. د دې لپاره چې زده کوونکی په اوسني پیچلي دنده کې مهارت ولري، د لومړۍ ستونزې د مثال په کارولو سره هغه ته څو تخنیکونه تشریح شوي. په حقیقت کې، د موضوع ټول منځپانګه د ستونزو د بریالي کولو تخنیکونو ته راځي. سایکلونه ډیر اړخیزې اغیزې دي.

لومړی دنده تل یو مثال دی. دوهم یو څه توپیر لري او د لومړي څخه وروسته سمدلاسه د ښوونکي تر څارنې لاندې "خپلواکه" ترسره کیږي. د ټولو راتلونکو کارونو موخه د مختلفو کوچنیو شیانو پاملرنه ده چې کولی شي د غلط فهم لامل شي.

د مثال تشریح یو ډیالوګ دی په کوم کې چې زده کونکی اړتیا لري چې بیرته تبلیغ او کراس تایید ته زنګ ووهي ترڅو ډاډ ترلاسه کړي چې هغه د موادو یوه برخه ماسټر کړې.

زه به منظومه شم او ووایم چې په موضوع کې لومړی مثال خورا مهم دی. که تاسو د پراخ خپلواک کار لپاره مواد لرئ، د لومړي مثال له لاسه ورکول سم کیدی شي. که چیرې د مثال پرته بل څه نه وي، نو ډیر احتمال به زده کونکی په موضوع کې مهارت ونه لري.

په داسې حال کې او که لپاره؟

یو له جنجالي مسلو څخه د مثال لپاره د ساختمان انتخاب دی: پداسې حال کې چې یا د دې لپاره. یوځل، زما یو تمرین کونکي پرمخ وړونکي ملګري چې د تدریس تجربه نلري یو ساعت تیر کړ ترڅو ما په دې قانع کړي چې د لوپ لپاره د پوهیدلو لپاره ترټولو اسانه وه. استدلالونه دې ته جوش شول چې "په دې کې هرڅه روښانه دي او په خپل ځای کې ایښودل شوي." په هرصورت ، د ریښتیني پیل کونکو لپاره د ستونزو اصلي لامل د دورې خورا مفکوره ده ، نه د هغې لیکنه. که څوک په دې مفکوره پوه نه شي، نو هغه به په نحو کې ستونزمن وي. هرڅومره ژر چې مفکوره احساس شي ، د کوډ ډیزاین ستونزې پخپله له لاسه ورکوي.

زما په موادو کې، د لوپس موضوع د شاخ کولو موضوع تعقیبوي. د if او while بهرنۍ ورته والی موږ ته اجازه راکوي چې مستقیم ورته والی راوباسئ: "کله چې په سر کې حالت ریښتیا وي ، نو بدن اعدام کیږي." د دورې یوازینۍ ځانګړتیا دا ده چې بدن څو ځله اعدام شوی.

زما دوهم دلیل دا دی چې پداسې حال کې چې د for په پرتله لږ فارمیټ ته اړتیا لري. لږ فارمیټ کول پدې معنی دي چې د ورک شوي کوما او قوسونو سره لږ احمقانه غلطۍ. پیل کونکو تر اوسه په کافي اندازه توجه او احتیاط نه دی رامینځته کړی ترڅو په اتوماتيک ډول د نحوي غلطیو مخه ونیسي.
دریم دلیل په ډیرو ښو کتابونو کې د لومړي دلیل په توګه تشریح شوی.

که زده کوونکی کولی شي په اسانۍ سره څرګندونې بدل کړي، نو تاسو کولی شئ د تیریدو په اړه خبرې وکړئ. زده کوونکی به بیا هغه څه غوره کړي چې هغه یې غوره کوي. که بدلونونه د ستونزو لامل شي، نو دا به غوره وي چې خپل پام ځان ته واړوئ. اجازه راکړئ چې زده کونکي لومړی د وخت په کارولو سره هرڅه حل کړي. یوځل چې تاسو د لوپس په موضوع کې مهارت ترلاسه کړئ، تاسو کولی شئ حلونه بیا ولیکئ ترڅو د بدلولو لپاره تمرین وکړئ.
پوسټ کنډیشن لوپس یو ډیر نادر حیوان دی. زه په دې کې هیڅ وخت نه تیروم. که چیرې یو زده کونکی د نمونو پیژندلو او د بیانونو بدلولو نظرونو کې مهارت ولري، هغه کولی شي زما له مرستې پرته دا معلومه کړي.

کله چې قوي زده کونکو ته لومړی مثال وښایئ، زه دې حقیقت ته متوجه یم چې په لومړي مثال کې دا مهمه ده چې نه یوازې د حل لاره، بلکې د ټولو عملونو لړۍ هم ثبت کړئ چې پایله یې درلوده. سست زده کونکي کولی شي لیکنه غفلت وکړي او یوازې وروستی الګوریتم کاپي کړي. دوی باید قانع شي چې یوه ورځ به یو ستونزمن کار د دوی لاره راشي. د دې د حل کولو لپاره، تاسو اړتیا لرئ چې د دې مثال په څیر ګامونه تعقیب کړئ. له همدې امله دا مهمه ده چې ټولې مرحلې ثبت کړئ. په لاندې ستونزو کې به دا ممکنه وي چې یوازې د حل وروستۍ نسخه پریږدو.

د اتومات کولو اصلي مفکوره دا ده چې موږ کمپیوټر ته د یو کس لپاره د معمول کار کولو لپاره سپارلو. یو له بنسټیزو تخنیکونو څخه د لوپ لیکل دي. دا کارول کیږي کله چې څو ورته تکراري کړنې په یو پروګرام کې په یو قطار کې لیکل کیږي.

ښکاره له مبهم څخه غوره ده

دا ممکن د یو ښه نظر په څیر بریښي چې ورته جمله څو ځله په لومړي لوپ کولو دنده کې ښکاره کړئ. د مثال په ډول:

هوري، دا کار کوي!
هوري، دا کار کوي!
هوري، دا کار کوي!
هوري، دا کار کوي!
هوري، دا کار کوي!
هوري، دا کار کوي!
هوري، دا کار کوي!
هوري، دا کار کوي!

دا اختیار خراب دی ځکه چې د کاونټر ارزښت په محصول کې نه لیدل کیږي. دا د پیل کونکو لپاره ستونزه ده. هغې ته کم مه ګوره. په لومړي سر کې، دا کار لومړی و، او په پورته ترتیب کې د شمیرو لړۍ ترلاسه کول دویمه دنده وه. دا اړینه وه چې اضافي اصطلاحات "سایکل N وختونه" او "د A څخه تر B پورې" معرفي کړئ، کوم چې په اصل کې ورته شی دي. د دې لپاره چې غیر ضروري ادارې رامینځته نشي، ما پریکړه وکړه چې یوازې د شمیرو د لړۍ تولید سره یو مثال وښایه. لږ خلک اداره کوي چې زده کړي چې څنګه په خپل سر کې کاونټر وساتي او پرته له چمتووالي څخه د دوی په سر کې د برنامې چلند ماډل کړي. ځینې ​​زده کونکي لومړی د سایکل په موضوع کې د ذهني ماډلینګ سره مخ کیږي.
د یو څه تمرین وروسته ، زه د ورته متن تکرار کولو دنده ورکوم ترڅو په خپلواکه توګه حل شي. که تاسو لومړی یو ښکاره کاونټر ورکړئ او بیا ناڅرګنده، زده کونکي به لږې ستونزې ولري. ځینې ​​​​وختونه اشاره "کاونټر په سکرین مه لیکئ" کافي وي.

نور دا څنګه تشریح کوي؟

په انټرنیټ کې په ډیری تعلیمي موادو کې، د دورې ترکیب د "لیکچر" برخې په توګه ورکول کیږي. د مثال په توګه، په developer.mozilla.org کې (اوس مهال)، د وخت لوپ سره یو شمیر نور جوړښتونه بیان شوي. په دې حالت کې، یوازې ډیزاین پخپله د ټیمپلیټونو په بڼه ورکول کیږي. د دوی د پیل پایله په کلمو کې بیان شوې، مګر هیڅ مثال نشته. زما په اند، د موضوع دا ډول پریزنټشن د داسې موادو ګټورتوب صفر ته ضرب کوي. زده کوونکی کولی شي کوډ بیا ولیکي او پخپله یې پرمخ بوځي، مګر هغه لاهم د پرتله کولو لپاره معیار ته اړتیا لري. تاسو څنګه پوهیږئ چې یو مثال په سمه توګه لیکل شوی که چیرې د پایلې پرتله کولو لپاره هیڅ شی شتون نلري؟
کله چې یوازې یوه نمونه ورکړل شي، پرته له مثال څخه، دا د زده کونکي لپاره نور هم ستونزمن کیږي. څنګه پوه شو چې د کوډ ټوټې په ټیمپلیټ کې په سمه توګه ځای پرځای شوي؟ تاسو کولی شئ د لیکلو هڅه وکړئ په یو ډول، او بیا منډه کړه. مګر که د پایلې پرتله کولو لپاره کوم معیار شتون نلري، نو بیا پیل کول به هم مرسته ونکړي.

د Intuitive په C++ کورس کې، د لوپ ترکیب د "آپریټرانو" موضوع په اړه د لیکچر 4 دریم مخ کې ښخ شوی. کله چې د لوپس نحو تشریح کول، د "آپریټر" اصطلاح باندې ځانګړی ټینګار کیږي. اصطلاح د حقایقو د یوې مجموعې په توګه وړاندې کیږي لکه "سمبول؛ دا یو بیان دی"، "{} یو مرکب بیان دی"، "د لوپ بدن باید یو بیان وي". زه دا طریقه نه خوښوم ځکه چې داسې ښکاري چې د یوې مودې تر شا مهمې اړیکې پټوي. د یو پروګرام د سرچینې کوډ په دې کچه شرایطو کې تجزیه کول د کمپیلر پراختیا کونکو لخوا د ژبې ځانګړتیا پلي کولو لپاره اړین دي، مګر د زده کونکو لخوا د لومړي اټکل په توګه نه. برنامه کولو ته نوي راغلي په ندرت سره دومره دقیق دي چې شرایطو ته دومره محتاط پاملرنه وکړي. دا یو نادر سړی دی چې د لومړي ځل لپاره نوي ټکي په یاد او پوهیږي. نږدې هیڅوک نشي کولی په سمه توګه هغه اصطلاح پلي کړي چې دوی یې زده کړي. له همدې امله، زده کونکي ډیری غلطۍ ترلاسه کوي لکه "ما لیکلی کله چې (a<7);{، مګر برنامه کار نه کوي."
زما په اند، په پیل کې دا غوره ده چې د ساختمان ترکیب سمدستي د قوسونو سره ورکړئ. پرته له قوسونو اختیار باید یوازې هغه وخت تشریح شي چې زده کونکی ځانګړې پوښتنه ولري: "ولې قوس نشته او دا کار کوي."

د اوکولوف په 2012 کتاب کې "د برنامه کولو اساسات" کې د لوپس پیژندنه د نمونې سره پیل کیږي، بیا د هغې کارولو لپاره سپارښتنې وړاندې کوي، او بیا سمدلاسه د لوست تجربې برخې ته ځي. زه پوهیږم چې دا کتاب د هغه لږکیو لپاره لیکل شوی و چې خورا وړ زده کونکي یې په ندرت سره زما ټولګیو ته راځي.

په مشهور کتابونو کې، د کوډ ټوټې پایلې تل لیکل کیږي. د مثال په توګه، د شیلډټ "جاوا 8. بشپړ لارښود" 2015 نسخه. لومړی، یو ټیمپلیټ ورکړل شوی، بیا د مثال پروګرام او سمدلاسه وروسته - د اعدام پایله.

د مثال په توګه، یو وخت لوپ په پام کې ونیسئ چې برعکس کوي
شمېرنه له 10 څخه پیل کیږي، او د "اقداماتو" دقیق 10 لینونه ښودل شوي:

//Продемонстрировать применение оператора цикла while
class While {
    public static void main(String args []) {
        int n = 10;
        while (n > 0) {
            System.out.println("такт " + n);
            n--;
        }
    }
}

یوځل چلول ، دا برنامه په لاندې ډول لس "سایکلونه" تولیدوي:
такт 10
такт 9
такт 8
такт 7
такт 6
такт 5
такт 4
такт 3
такт 2
такт 1

د ټیمپلیټ تشریح کولو طریقه، د پروګرام مثال او د پروګرام پایله هم د "ماشومانو لپاره جاوا سکرپٹ" کتاب کې او د w3schools.com په js کورس کې هم کارول کیږي. د ویب پاڼې بڼه حتی دا مثال ته اجازه ورکوي چې متقابل وي.

د Stroustrup د 2016 کتاب د C++ کارولو اصول او تمرین نور هم لاړ. لومړی ګام دا دی چې تشریح کړئ چې کومه پایله باید ترلاسه شي، او له هغې وروسته د پروګرام متن ښودل کیږي. سربیره پردې ، دوی نه یوازې یو تصادفي برنامه د مثال په توګه اخلي ، مګر تاریخ ته سفر ورکوي. دا دې ته د پام اړولو کې مرسته کوي: "وګورئ، دا یوازې یو بې ګټې متن نه دی. تاسو یو څه معنی ګورئ."

د تکرار د مثال په توګه، لومړی پروګرام په پام کې ونیسئ چې په ذخیره شوي پروګرام ماشین (EDSAC) کې اجرا شوی. دا د ډیویډ ویلر لخوا د می په 6، 1949 کې د انګلستان د کیمبرج پوهنتون کمپیوټر لابراتوار کې لیکل شوی. دا برنامه د مربعونو ساده لیست محاسبه او چاپ کوي.
0 0
1 1
2 4
3 9
4 16
...
98 9604
99 9801

دلته، هره کرښه یو شمیر لري چې وروسته د ټب کریکټ ('t') او د دې شمیرې مربع. د دې برنامې C++ نسخه داسې ښکاري:

//Вычисляем и распечатываем таблицу квадратов чисел 0-99
int main()
{
    int i = 0; // Начинаем с нуля
    while(i < 100){
        cout << i << 't' << square(i) << 'n';
        ++i;
    }
}

په زړه پورې خبره دا ده چې په دې کتاب کې د نحوي بڼه نه ده بیان شوې. د ښوونکي په لارښود کې سټروسټرپ (ژباړه) ټینګار کوي چې دا د خپلو زده کونکو استخباراتو ته درناوی کوي. ښایي په څو مثالونو کې د نمونې پیژندلو وړتیا د دې ډول استخباراتو څرګندونه ګڼل کیږي.

لکه څنګه چې زه خپل ځان تشریح کوم

د Stroustrup کړنلاره: د پایلې تشریح کول، بیا د ستونزې حل کول، او بیا د زده کونکي لخوا یو خپلواک تحلیل - خورا فکري ښکاري. له همدې امله ما پریکړه وکړه چې دا د اساس په توګه واخلم، مګر د لږ تاریخي مثال په کارولو سره یې ووایاست - د "محتوا جدول" ترلاسه کولو دنده. دا د پیژندلو وړ لنگر جوړوي ترڅو تاسو بیا ووایئ "د مینځپانګې جدول په اړه دنده په یاد وساتئ" او دا چې زده کونکي په سمه توګه دا په یاد ساتي. زما په مثال کې، ما هڅه وکړه چې د دوو ډیرو عامو غلطو مفکورو مخه ونیسم. بیا به زه د دوی په اړه نور تفصیل لیکم.

پدې کار کې موږ د پیچلو ستونزو حل کولو تخنیکونو ته معرفي کوو. لومړنۍ پریکړه باید ابتدايي او ساده وي. ښه، بیا تاسو فکر کولی شئ چې دا حل څنګه ښه کړئ.
Введение
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Заключение

زما د نظرونو له مخې، په مختلفو ترکیبونو کې د "کینډۍ-مثال-پایلې" طریقه لاهم د دې حقیقت لامل کیږي چې زده کونکي دوره د هیروګلیف په توګه پیژني. دا پخپله په دې حقیقت کې څرګند شو چې دوی نه پوهیدل چې ولې هلته د لیکلو لپاره شرایط شتون لري، څنګه د i++ او i— او داسې نور ښکاره شیان چې ښکاري. د دې غلط فهمۍ څخه د مخنیوي لپاره، د سایکل په اړه د خبرو کولو طریقه باید د ورته کړنو تکرار معنی باندې ټینګار وکړي او یوازې بیا د جوړښت په کارولو سره رسمي کړي. له همدې امله، د لوپ ترکیب ورکولو دمخه، تاسو اړتیا لرئ چې ستونزه په سر کې حل کړئ. د منځپانګو د جدول د ستونزې لومړنۍ حل داسې ښکاري:

Console.WriteLine("Введение");
Console.WriteLine("Глава 1");
Console.WriteLine("Глава 2");
Console.WriteLine("Глава 3");
Console.WriteLine("Глава 4");
Console.WriteLine("Глава 5");
Console.WriteLine("Глава 6");
Console.WriteLine("Глава 7");
Console.WriteLine("Заключение");

دا څنګه ښه کیدی شي؟
ناورین عملونه د سایکل سره بدل کړئ.
کوم عملونه پرته له کوم بدلون څخه په قطار کې تکرار کیږي؟
په دې ټوټه کې هیڅ نشته. په هرصورت، د شمیرو سره د "څپرکی" کلمې ښودلو امرونه یو بل سره ورته دي.
له همدې امله، بل پړاو د ټوټو تر منځ توپیر موندل دي. دا یوازې پدې کار کې دی چې هرڅه څرګند دي ، نو بیا به یو واحد حکمونه تکرار نشي ، مګر د 5 لینونو یا ډیرو کوډ بلاکونه. تاسو باید نه یوازې د کمانډونو لیست کې لټون وکړئ ، بلکه د شاخ کولو یا لوپ جوړښتونو کې.
په مثال کې، د حکمونو ترمنځ توپیر د "څپرکی" کلمې وروسته په شمیر کې دی.
یوځل چې توپیر وموندل شي، تاسو اړتیا لرئ چې د بدلون په بڼه پوه شئ. مختلف ټوټه د شمیر دی؟ ایا دا په دوامداره توګه وده کوي یا کمیږي؟ د دوه ټیمونو تر مینځ د یو شمیر ارزښت څنګه په څنګ کې بدلیږي؟
په مثال کې، د "څپرکي" کلمې وروسته شمیره د 1 په زیاتوالي سره زیاتیږي. توپیر موندل کیږي، نمونه ښکاره کیږي. اوس تاسو کولی شئ مختلف ټوټې د متغیر سره بدل کړئ.
تاسو اړتیا لرئ چې دا ډول تغیرات د لومړي تکرار ټوټو څخه دمخه اعلان کړئ. دا ډول متغیر معمولا I یا j یا یو څه نور توضیحي ویل کیږي. د دې لومړني ارزښت باید په سکرین کې ښودل شوي لومړي ارزښت سره مساوي وي. په مثال کې، لومړی ارزښت 1 دی.
د "100، 101، 102، 103، 104، 105" شمیرو د لړۍ د ښودلو لپاره کوم ابتدايي ارزښت باید په پام کې ونیول شي؟
په دې لړ کې لومړی نمبر ۱۰۰ دی.
د هر محصول کمانډ وروسته، تاسو اړتیا لرئ د دې متغیر ارزښت 1 لخوا زیات کړئ. دا واحد د بدلون مرحله ده.
د "100، 102، 104، 106" شمیرو په لړ کې به کوم ګام وي؟
په دې قطار کې 2 ګام.
د متغیر سره د مختلف ټوټې بدلولو وروسته، کوډ به داسې ښکاري:

Console.WriteLine("Введение");
int i;
i = 0;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Глава " + i);
i = i + 1;
Console.WriteLine("Заключение");

په کوډ کې د "متغیر نمونې څرګندولو" تخنیک پلي کولو وروسته ، تاسو د ورته عملونو ډیری ډلې ترلاسه کوئ چې په قطار کې ځي. اوس تکراري کړنې د دورې سره بدل کیدی شي.

د یوې ستونزې د حل کولو ترتیب چیرې چې تاسو اړتیا لرئ د لوپ کارولو ته اړتیا ولرئ لاندې مرحلې لري:

  1. د ډیری جلا حکمونو سره "سر پر سر" حل کړئ
  2. یو نمونه ومومئ
  3. د متغیر نمونه څرګند کړئ
  4. د سایکل په توګه تنظیم کړئ

بیا، نوي اصطلاحات معرفي کیږي ترڅو زده کونکی ځان په دې حالت کې ونه موندل شي چې "زه هرڅه پوهیږم، مګر زه یې نه شم ویلای":
- کاونټر تل یو متغیر دی چې په لوپ کې د ګامونو شمیر تعقیبولو لپاره اړین دی. عموما یو عدد چې د خنډ سره پرتله کیږي.
- ضد ګام - د ضد بدلونونو د بڼې تشریح.
- محدودیت - یو شمیر یا متغیر چې د کاونټر سره پرتله کیږي ترڅو الګوریتم وروستی وي. د کاونټر ارزښت حد ته د رسیدو لپاره بدلیږي.
- لوپ باډي - د امرونو مجموعه چې تکرار کیږي. کله چې دوی وايي "قومانده په لوپ کې لیکل شوې ،" دوی معنی لري بدن.
- لوپ تکرار - د لوپ بدن یو ځل اجرا کول.
- لوپ حالت - یو منطقي بیان چې دا ټاکي چې ایا بل تکرار به اجرا شي. (دلته د څانګو جوړښتونو سره ګډوډي شتون لري)
تاسو اړتیا لرئ د دې حقیقت لپاره چمتو اوسئ چې په لومړي سر کې زده کونکي به د نورو موخو لپاره شرایط وکاروي. دا په قوي او ضعیف دواړو باندې تطبیق کیږي. د ګډې ژبې جوړول یو هنر دی. اوس زه به په لنډه توګه ولیکم: تاسو اړتیا لرئ چې دنده تنظیم کړئ "د کوډ ټوټه د <term> سره روښانه کړئ" او دا شرایط پخپله په خبرو کې په سمه توګه وکاروئ.
د لوپ سره د بدلون وروسته، ټوټه ترلاسه کیږي:

Console.WriteLine("Введение");
int i = 0;
while (i < 7) {
    Console.WriteLine("Глава " + i);
    i = i + 1;
}
Console.WriteLine("Заключение");

اصلي غلط فهم

د زده کونکو تر مینځ یو مشهور غلط فهم دا دی چې دوی عملونه په لوپ کې ځای په ځای کوي چې یوازې یو ځل ترسره کولو ته اړتیا لري. د مثال په توګه:

;
int i = 0;
while (i < 7) {
    Console.WriteLine("Введение")
    Console.WriteLine("Глава " + i);
    i = i + 1;
    Console.WriteLine("Заключение");
}

زده کونکي هر وخت له دې ستونزې سره مخ کیږي، دواړه په پیل کې او په ډیرو پیچلو ستونزو کې.
په دې قضیه کې کلیدي اشاره:

څو ځله تاسو باید کمانډ تکرار کړئ: یو ځل یا څو ځله؟

د "پیژندګلوي" او "نتیجې" کلمو د چاپ کولو امرونه او د متغیر i اعلان او پیل کول د نورو تکراري کړنو په څیر ندي. دوی یوازې یو ځل اعدام شوي، پدې معنی چې دوی باید د لوپ بدن څخه بهر ولیکل شي.

د حل ټولې درې مرحلې باید په کوډ کې پاتې شي ترڅو تاسو د ستونزو په صورت کې دوی ته مراجعه وکړئ. دا کافي ده چې لومړی دوه اختیارونه په ګوته کړئ ترڅو دوی مداخله ونه کړي.
د زده کونکي پام باید لاندې حقایقو ته متوجه شي:
- په لوپ حالت کې، یو کاونټر او حد معمولا پرتله کیږي. کاونټر کولی شي د لوپ په بدن کې بدلون راولي، مګر حد نشي کولی. د دې قاعدې ماتولو لپاره، تاسو اړتیا لرئ چې د پام وړ دلیلونه جوړ کړئ.
- د "پیژندنې" او "پایله" کلمو ښودلو لپاره قوماندې د لوپ د بدن څخه بهر موقعیت لري. موږ باید دوی 1 ځل ترسره کړو. "پیژندنه" - مخکې له دې چې عمل تکرار شي، "نتیجې" - وروسته.
د دې موضوع د پیاوړې کولو په بهیر کې، د راتلونکو زده کونکو مهارت، او همدارنګه د ستونزو سره معامله کول، دا د حتی پیاوړي زده کونکو لپاره ګټوره ده چې پوښتنه وکړي: "څومره وخت دا عمل ترسره کولو ته اړتیا لري؟ یو یا څو؟

د اضافي مهارتونو پراختیا

د زده کړې دورې په بهیر کې، زده کونکي د ستونزو د تشخیص او حل کولو مهارت هم وده کوي. د تشخیص ترسره کولو لپاره، زده کوونکی اړتیا لري چې مطلوب پایله وړاندې کړي او د اصلي پایلې سره یې پرتله کړي. اصالحي کړنې د دوی ترمنځ توپیر پورې اړه لري.
څرنګه چې پدې مرحله کې زده کونکي لاهم د "غوښتل شوي" پایلې په اړه لږ نظر لري، دوی کولی شي د ازموینې ډاټا تمرکز وکړي. د یوې قاعدې په توګه، پدې مرحله کې هیڅوک نه پوهیږي چې څه شی غلط کیدی شي او څنګه ورسره معامله وشي. له همدې امله، زه په یوه نوټ بوک کې د عادي ستونزو تشریح او د حل کولو څو لارې لیکم. تر ټولو مناسب غوره کول پخپله د زده کونکي دنده ده.
یو ریکارډ ته اړتیا ده چې پوښتنه وکړي "ایا څه تمه کیده؟"، "د دې حالتونو څخه کوم یو اوس پیښ شوي؟"، "ایا پلي شوي حل مرسته کړې؟"

  1. د عملونو شمیر د تمې څخه 1 کم یا ډیر دی. حل لارې:
    - د کاونټر لومړنی ارزښت د 1 لخوا زیات کړئ.
    - د سخت پرتله کولو آپریټر (< یا >) د غیر سخت (<= یا >=) سره بدل کړئ.
    - د حد ارزښت 1 ته بدل کړئ.
  2. په لوپ کې عملونه پرته له ځنډه ترسره کیږي، په غیر مستقیم ډول. حل لارې:
    - د کاونټر بدلون کمانډ اضافه کړئ که چیرې دا ورکه وي.
    - د ضد بدلون کمانډ تنظیم کړئ ترڅو ارزښت یې حد ته نږدې شي.
    - د محدودیت بدلون کمانډ لرې کړئ که چیرې دا د لوپ په بدن کې وي.
  3. په لوپ کې د عملونو شمیر له 1 څخه ډیر کم یا د تمې څخه ډیر دی. په لوپ کې عمل حتی یو ځل هم ندی ترسره شوی. لومړی تاسو اړتیا لرئ د لوپ پیل کیدو دمخه د متغیرونو اصلي ارزښتونه ومومئ. حل لارې:
    - د خنډ لومړني ارزښت بدل کړئ
    - د کاونټر لومړنی ارزښت بدل کړئ

3 ستونزه معمولا د غلط متغیر کارول یا صفر ته د کاونټر بیا تنظیم نه کول شامل دي.

د دې وضاحت وروسته، زده کوونکی ممکن د دې په اړه مختلف غلط فهمونه ولري چې څنګه لوپس کار کوي.
د ډیری عامو لرې کولو لپاره، زه تاسو ته لاندې دندې درکوم:

  1. په کوم کې چې حد، ابتدايي کاونټر ارزښت، یا ضد ګام د کارونکي لخوا داخلیږي.
  2. په کوم کې چې د کاونټر ارزښت باید په ځینې ریاضيیک بیان کې وکارول شي. دا مشوره ورکول کیږي چې یو کاونټر په ریډیکل بیان یا ډینومینټر کې وکاروئ ترڅو توپیر غیر خطي وي.
  3. په کوم کې چې د کاونټر ارزښت په سکرین کې نه ښودل کیږي پداسې حال کې چې لوپ چلیږي. د مثال په توګه، د ورته متن ټوټو اړین شمیر ښودل یا د کچی ګرافیک سره د شکل رسم کول.
  4. په کوم کې چې تاسو اړتیا لرئ لومړی ځینې تکراري کړنې ترسره کړئ، او بیا نور.
  5. په کوم کې چې تاسو اړتیا لرئ د تکرار کولو دمخه او وروسته نور عملونه ترسره کړئ

د هر کار لپاره تاسو اړتیا لرئ د ازموینې ډاټا او تمه شوې پایله چمتو کړئ.

د دې لپاره چې پوه شئ چې تاسو څومره ژر حرکت کولی شئ، تاسو اړتیا لرئ د دې ستونزو شرایط ولولئ او پوښتنه وکړئ: "دوی د مثال څخه څنګه توپیر لري؟"، "د حل کولو لپاره په مثال کې څه بدلون ته اړتیا ده؟" که زده کوونکی په معنی ځواب ووایی، نو اجازه راکړئ چې لږ تر لږه یو په ټولګي کې او پاتې نور یې په کور کې حل کړي. که حل بریالی وي، نو موږ کولی شو د لوپس دننه د شرایطو تشریح پیل کړو.
که تاسو پخپله د ستونزو حل کولو ستونزې لرئ، تاسو اړتیا لرئ چې په ټولګي کې د هرڅه له لارې کار وکړئ. د دې لپاره چې د ستونزې د حل کولو څخه مخنیوی وشي چې د الو د انځور کولو یادونه کوي، زه لومړی وړاندیز کوم چې ستونزه په غیر نړیوال ډول حل کړئ. دا د دې لپاره دی چې حل لومړی ازموینه تیره کړي او د لوپ ساختمان نه کار اخلي. ښه، بیا د حل نړیوالتوب ترلاسه کولو لپاره بدلونونه پلي کړئ.

لوپونه او څانګې

زما په نظر، دا ګټوره ده چې موضوع "د څانګو دننه دوره" په جلا توګه ورکړئ. نو دا چې وروسته تاسو کولی شئ د حالت څو ځله چک کولو او یو ځل چک کولو ترمینځ توپیر وګورئ.
د ادغام لپاره دندې به د A څخه تر B پورې د شمیرو تولیدولو په اړه وي، کوم چې د کارونکي لخوا داخل شوي:
- تل په پورته ترتیب کې.
- د A او B ارزښتونو پورې اړه لري پورته یا ښکته کیدل.

د "په لوپونو کې د څانګو جوړول" موضوع باید یوازې وروسته له هغه پرمخ ولاړه شي کله چې زده کونکي په تخنیکونو کې مهارت ترلاسه کړي: "د یو متغیر سره د نمونې ځای په ځای کول" او "د تکراري کړنو ځای په سایکل سره."
په لوپس کې د څانګو د کارولو اصلي لامل په نمونه کې ګډوډي ده. په منځ کې دا د لومړنیو معلوماتو پر بنسټ ماتیږي.
د هغو زده کونکو لپاره چې کولی شي د ساده تخنیکونو په یوځای کولو سره د حل په لټه کې وي، دا کافي دي چې ووایو "شاخ کول د لوپس دننه لیکل کیدی شي" او ستونزه "د مثال په توګه" په بشپړه توګه په خپلواکه توګه حل کړئ.
بېلګه دنده:

کارونکي د X شمیرې ته ننوځي. په یوه کالم کې د 0 څخه تر 9 پورې شمیرې ښکاره کړئ او د X سره مساوي شمیرې ته د "+" نښه ورکړئ.

که 0 داخل شو0+
1
2
3
4
5
6
7
8
9

که 6 داخل شو0
1
2
3
4
5
6+
7
8
9

که 9 داخل شو0
1
2
3
4
5
6
7
8
9+

که 777 داخل شو0
1
2
3
4
5
6
7
8
9

که یو لنډ وضاحت د لوپ سره لیکلو لپاره کافي نه وي ، نو تاسو اړتیا لرئ پرته له لوپ څخه ورته ستونزې لپاره نړیوال حل ترلاسه کړئ.
تاسو به د دوو انتخابونو څخه یو ترلاسه کړئ:
مطلوب

string temp;
temp = Console.ReadLine();
int x;
x = int.Parse(temp);
if (x==0) {
    Console.WriteLine(0 + "+");
} else {
    Console.WriteLine(0);
}
if (x==1) {
    Console.WriteLine(1 + "+");
} else {
    Console.WriteLine(1);
}
if (x==2) {
    Console.WriteLine(2 + "+");
} else {
    Console.WriteLine(2);
}
if (x==3) {
    Console.WriteLine(3 + "+");
} else {
    Console.WriteLine(3);
}
if (x==4) {
    Console.WriteLine(4 + "+");
} else {
    Console.WriteLine(4);
}
if (x==5) {
    Console.WriteLine(5 + "+");
} else {
    Console.WriteLine(5);
}
if (x==6) {
    Console.WriteLine(6 + "+");
} else {
    Console.WriteLine(6);
}
if (x==7) {
    Console.WriteLine(7 + "+");
} else {
    Console.WriteLine(7);
}
if (x==8) {
    Console.WriteLine(8 + "+");
} else {
    Console.WriteLine(8);
}
if (x==9) {
    Console.WriteLine(9 + "+");
} else {
    Console.WriteLine(9);
}

ممکنه

string temp;
temp = Console.ReadLine();
int x;
x = int.Parse(temp);
if (x==0) {
    Console.WriteLine("0+n1n2n3n4n5n6n7n8n9");
}
if (x==1) {
    Console.WriteLine("0n1+n2n3n4n5n6n7n8n9");
}
if (x==2) {
    Console.WriteLine("0n1n2+n3n4n5n6n7n8n9");
}
if (x==3) {
    Console.WriteLine("0n1n2n3+n4n5n6n7n8n9");
}
if (x==4) {
    Console.WriteLine("0n1n2n3n4+n5n6n7n8n9");
}
if (x==5) {
    Console.WriteLine("0n1n2n3n4n5+n6n7n8n9");
}
if (x==6) {
    Console.WriteLine("0n1n2n3n4n5n6+n7n8n9");
}
if (x==7) {
    Console.WriteLine("0n1n2n3n4n5n6n7+n8n9");
}
if (x==8) {
    Console.WriteLine("0n1n2n3n4n5n6n7n8+n9");
}
if (x==9) {
    Console.WriteLine("0n1n2n3n4n5n6n7n8n9+");
}

زه دمخه ورته دنده ورکوم ، پداسې حال کې چې د شاخ کولو موضوع مطالعه کوم.
که زده کوونکی د "ممکنه" اختیار سره راشي، نو تاسو باید دوی ته ووایاست چې د ورته ستونزې ډیری حلونه شتون لري. په هرصورت، دوی د اړتیاو بدلونونو په وړاندې د دوی مقاومت کې توپیر لري. پوښتنه وکړئ: "که زه د بل شمیره اضافه کړم نو په کوډ کې څومره ځایونه باید سم شي؟" په "ممکنه" نسخه کې، تاسو اړتیا لرئ یوه بله څانګه اضافه کړئ او په 10 نورو ځایونو کې نوې شمیره اضافه کړئ. په "غوښتنه" کې دا کافي ده چې یوازې یوه څانګه اضافه کړئ.
د "غوښتل شوي" اختیار د بیا تولید لپاره دنده تنظیم کړئ، بیا په کوډ کې یوه نمونه ومومئ، د متغیر ځای پرځای کول ترسره کړئ او لوپ ولیکئ.
که تاسو د دې ستونزې د حل کولو څرنګوالي په اړه نظر لرئ په کوم بل ډول له لوپ پرته ، مهرباني وکړئ په نظرونو کې ولیکئ.

لوپس دننه لوپس

پدې موضوع کې تاسو باید لاندې ټکو ته پاملرنه وکړئ:
- د داخلي او خارجي لوپونو لپاره کاونټرونه باید مختلف تغیرات ولري.
- د داخلي لوپ لپاره کاونټر باید څو ځله بیا تنظیم شي (یعنې د بهرني لوپ په بدن کې).
- د متن محصول په کارونو کې، تاسو نشئ کولی لومړی یو لیک په څو کرښو کې ولیکئ، او بیا دویم. تاسو باید لومړی د لومړۍ کرښې ټول لیکونه چاپ کړئ، بیا د دویمې ټول لیکونه، او داسې نور.

دا غوره ده چې د کاونټر صفر ته د بیا تنظیم کولو اهمیت په تشریح کولو سره په لوپس کې د لوپس موضوع تشریح کول پیل کړئ.
بېلګه دنده:

کارونکي دوه نمبرونه داخلوي: R او T. د "#" حروف دوه کرښې چاپ کړئ. لومړۍ کرښه باید د R حروف ولري. دویمه کرښه د T ټوټې لري. که کومه شمیره منفي وي، د خطا پیغام ښکاره کړئ.

R=5، T=11######
###############

R=20، T=3#################
###

R=-1، T=6د R ارزښت باید غیر منفي وي

R=6، T=-2د T ارزښت باید غیر منفي وي

په ښکاره ډول، دا ستونزه هم لږترلږه دوه حلونه لري.
مطلوب

string temp;
int R;
int T;
temp = Console.ReadLine();
R = int.Parse(temp);
temp = Console.ReadLine();
T = int.Parse(temp);
int i = 0;
while (i < R)
{
    Console.Write("#");
    i = i + 1;
}
Console.WriteLine();
i = 0;
while (i < T)
{
    Console.Write("#");
    i = i + 1;
}

ممکنه #1

string temp;
int R;
int T;
temp = Console.ReadLine();
R = int.Parse(temp);
temp = Console.ReadLine();
T = int.Parse(temp);
int i = 0;
while (i < R)
{
    Console.Write("#");
    i = i + 1;
}
Console.WriteLine();
int j = 0;
j = 0;
while (j < T)
{
    Console.Write("#");
    j = j + 1;
}

توپیر دا دی چې په "ممکنه" حل کې، دویم متغیر د دویمې کرښې د تولید لپاره کارول کیده. تاسو باید د دواړو لوپونو لپاره د ورته متغیر کارولو ټینګار وکړئ. دا محدودیت د دې حقیقت له مخې توجیه کیدی شي چې د دوه دورو لپاره د یو کاونټر سره حل به د "کاونټر ریسیټ" اصطلاح مثال وي. د دې اصطلاح پوهیدل اړین دي کله چې لاندې ستونزې حل شي. د موافقت په توګه، تاسو کولی شئ د ستونزې دواړه حلونه خوندي کړئ.

د دوه لوپونو لپاره د یو کاونټر متغیر کارولو سره عادي ستونزه داسې ښکاري:
R=5، T=11######
#######

په دویمه کرښه کې د حروفونو شمیر د T ارزښت سره سمون نه لري. که تاسو د دې ستونزې سره مرستې ته اړتیا لرئ، نو تاسو باید د لوپونو سره د عادي ستونزو په اړه یادښتونه وګورئ. دا نښه #3 ده. دا تشخیص کیږي که تاسو د دوهم دورې څخه سمدستي دمخه د کاونټر ارزښت محصول اضافه کړئ. د بیا تنظیم کولو سره سم شوی. مګر دا غوره ده چې دا سمدلاسه ووایاست. زده کوونکی باید هڅه وکړي چې لږترلږه یوه فرضیه جوړه کړي.

البته، یو بل حل شتون لري. مګر ما هیڅکله د زده کونکو په مینځ کې نه دی لیدلی. د سایکل د مطالعې په مرحله کې، د هغې په اړه کیسه به پام ځانته واړوي. تاسو کولی شئ وروسته بیرته دې ته راشئ کله چې د سټینګ افعالاتو په اړه زده کړه وکړئ.
ممکنه #2

string temp;
int R;
int T;
temp = Console.ReadLine();
R = int.Parse(temp);
temp = Console.ReadLine();
T = int.Parse(temp);
Console.WriteLine(new String('#', R));
Console.WriteLine(new String('#', T));

بل اړین دنده:

له 0 څخه تر 9 پورې شمیرې ښکاره کړئ. هره شمیره باید په خپله کرښه کې وي. په یوه کرښه کې د عددونو شمیر (W) د کیبورډ څخه داخلیږي.

W=10
1
2
3
4
5
6
7
8
9

W=100000000000
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
8888888888
9999999999

که یو زده کونکی د متغیر ځای په ځای کولو تخنیک کې مهارت ولري، نو هغه به په چټکۍ سره مقابله وکړي. یو احتمالي ستونزه به بیا د متغیر بیا تنظیم کولو کې وي. که تاسو نشئ کولی بدلون اداره کړئ، دا پدې مانا ده چې تاسو په بیړه کې یاست او اړتیا لرئ چې ساده ستونزې حل کړئ.

له پاملرنې څخه مو مننه. چینل درسره لایک او سبسکرایب کړی.

PS که تاسو په متن کې ټایپونه یا غلطۍ ومومئ، مهرباني وکړئ ما ته خبر راکړئ. دا د متن د برخې په غوره کولو او په ماک کې د "⌘ + Enter" فشارولو، او په کلاسیک کیبورډونو کې "Ctrl / Enter"، یا د شخصي پیغامونو له لارې ترسره کیدی شي. که دا اختیارونه شتون نلري، په نظرونو کې د غلطیو په اړه ولیکئ. له تاسو مننه!

یوازې راجستر شوي کاروونکي کولی شي په سروې کې برخه واخلي. ننوزئمهرباني وکړئ

د کرما پرته د لوستونکو لپاره نظرپوښتنه

  • ۸۵٪زه په مسلکي توګه درس ورکوم، +12

  • ۸۵٪زه په مسلکي توګه درس ورکوم، -11

  • ۸۵٪زه درس نه ورکوم، +17

  • ۸۵٪زه درس نه ورکوم، -10

  • ۸۵٪نور۰

10 کاروونکو رایه ورکړه. 5 کاروونکي منع شوي.

سرچینه: www.habr.com

Add a comment