Yadda za a koyar da yadda za a shawo kan matsaloli, kuma a lokaci guda rubuta hawan keke

Duk da cewa za mu yi magana game da ɗaya daga cikin batutuwa masu mahimmanci, an rubuta wannan labarin don ƙwararrun ƙwararrun ƙwararru. Manufar ita ce a nuna irin kuskuren da masu farawa ke da shi a cikin shirye-shirye. Ga masu haɓakawa masu haɓakawa, waɗannan matsalolin an daɗe ana warware su, manta ko ba a lura da su ba kwata-kwata. Labarin na iya zuwa da amfani idan kuna buƙatar taimakon wani da wannan batu ba zato ba tsammani. Labarin ya zana daidai da abubuwa daga littattafai daban-daban kan shirye-shirye na Schildt, Stroustrup, Okulov.

An zaɓi batu game da hawan keke saboda an keɓe mutane da yawa daga ciki lokacin da ake sarrafa shirye-shirye.

An tsara wannan fasaha don ɗalibai masu rauni. A matsayinka na mai mulki, mutane masu karfi ba sa makale a kan wannan batu kuma babu buƙatar samar da fasaha na musamman a gare su. Makasudin sakandare na labarin shine don matsar da wannan fasaha daga "aiki ga dukan ɗalibai, amma malami ɗaya kawai" aji zuwa "aiki ga dukan dalibai, dukan malamai". Ba na da'awar cikakken asali. Idan kuna amfani da irin wannan hanya don koyar da wannan batu, da fatan za a rubuta yadda sigar ku ta bambanta. Idan kun yanke shawarar amfani da shi, gaya mana yadda abin ya kasance. Idan an kwatanta irin wannan dabarar a cikin littafi, da fatan za a rubuta sunan.


Na yi aiki a kan wannan fasaha na tsawon shekaru 4, na yi karatu daban-daban tare da ɗalibai na matakan horo daban-daban. Gabaɗaya akwai ɗalibai kusan hamsin da awoyi dubu biyu na darasi. Da farko, ɗalibai koyaushe sun makale a kan wannan batu kuma suka tafi. Bayan kowane ɗalibi, an daidaita hanyoyin da kayan aiki. A cikin shekarar da ta gabata, ɗalibai ba su daɗe a kan wannan batu, don haka na yanke shawarar raba abubuwan da na gano.

Me yasa haruffa da yawa? Zagaye sun kasance na farko!

Kamar yadda na rubuta a sama, don ƙwararrun masu haɓakawa da kuma ɗalibai masu ƙarfi, za a iya yin la'akari da rikitarwa na ma'anar madaukai. Misali, zaku iya ba da dogon lacca, ku ga nodding kai da idanu masu hankali. Amma lokacin ƙoƙarin magance kowace matsala, matsalolin rashin fahimta da rashin fahimta suna farawa. Bayan karatun, ƙila ɗaliban sun sami fahimi kaɗan ne kawai. Lamarin ya kara ta'azzara saboda yadda su kansu dalibai ba za su iya furta ainihin rudunsu ba.
Wata rana na gane cewa ɗalibai sun ɗauki misalan nawa a matsayin hieroglyphs. Wato, kamar guntun rubutun da ba za a iya raba su ba wanda a ciki kana buƙatar ƙara wasu haruffa "sihiri" kuma zai yi aiki.
Wani lokaci na lura cewa ɗalibai suna tunanin cewa don magance takamaiman matsala da kuke buƙata wani abu kuma wani zane da ban rufe ba tukuna. Ko da yake bayani ya buƙaci kawai ɗan gyare-gyare na misali.

Don haka na zo da ra'ayin cewa bai kamata a mai da hankali kan tsarin magana ba, a'a a kan ra'ayin sake fasalin lambar maimaitawa ta amfani da madaukai. Da zarar ɗalibai sun ƙware wannan ra'ayin, za a iya inganta kowane ɗabi'a tare da ƙaramin aiki.

Wanene kuma me yasa nake koyarwa?

Tun da babu jarrabawar shiga, azuzuwan na iya haɗawa da ɗalibai masu ƙarfi da raunana sosai. Kuna iya karanta ƙarin game da ɗalibai na a cikin labarin Hoton daliban kwas na yamma
Na yi ƙoƙari na tabbatar da cewa duk mai son koyon shirye-shirye zai iya koyan shi.
Ana gudanar da azuzuwan na a daidaiku kuma ɗalibin yana biyan kuɗin kansa ga kowane. Da alama ɗalibai za su inganta farashi kuma suna buƙatar mafi ƙanƙanta. Duk da haka, mutane suna zuwa azuzuwan fuska da fuska tare da malami mai rai ba don ilimin kansa ba, amma don amincewa da abin da suka koya, don jin ci gaba da amincewa daga gwani (malami). Idan dalibai ba su sami ci gaba a cikin karatun su ba, za su tafi. Gabaɗaya, ana iya tsara azuzuwan don ɗalibai su sami ci gaba wajen ƙara yawan sanannun tsarin. Wato da farko mu nazarci alhalin dalla-dalla, sannan mu yi karatu, sannan mu yi yayin, kuma yanzu mun shirya kwas na dare dubu da daya, wanda a cikinsa ake karatun hawan keke kadai har tsawon wata biyu, sannan a karshen – dalibin da ya rubuta. daidaitaccen ɗakin karatu a ƙarƙashin ƙa'idar. Duk da haka, don magance matsalolin aiki, kuna buƙatar ba kawai ilimin kayan aiki ba, amma har da 'yancin kai a cikin aikace-aikacensa da kuma neman sababbin bayanai. Don haka, don kwasa-kwasan fuska-da-fuska, ina ganin madaidaicin ka'ida ita ce koyar da mafi ƙanƙanta da ƙarfafa yin nazari mai zaman kansa kan abubuwan da ke da alaƙa. A cikin batun madaukai, na yi la'akari da lokacin ginawa don zama mafi ƙanƙanta. Kuna iya fahimtar ƙa'idar daga gare ta. Sanin ƙa'idar, za ku iya ƙware duka don da yi-yayin kanku.

Don cimma ƙwararrun kayan ta ɗalibai masu rauni, kwatanta ma'anar bai isa ba. Wajibi ne a ba da ƙarin ayyuka masu sauƙi amma iri-iri da bayyana misalai daki-daki. Daga ƙarshe, saurin ci gaba yana iyakance ta ikon ɗalibin don canza maganganu da bincika alamu. Ga dalibai masu wayo, yawancin ayyuka za su kasance masu ban sha'awa. Lokacin yin karatu tare da su, ba dole ba ne ka dage akan magance 100% na matsalolin. Ana iya duba kayana a github na. Gaskiya, ma'ajiyar ta fi kama da grimoire na warlock - ba wanda zai fahimci inda yake, kuma idan kun kasa rajistan, za ku iya yin hauka.

Hanyar ta dogara ne akan aiki

An bayyana ka'idar ta amfani da misalin warware matsala. A cikin ginshiƙan ajin shirye-shirye inda ake koyar da rassa da madaukai, ba zai yiwu ba kawai a ba da lacca mai fa'ida akan jigo ɗaya na tsawon awa ɗaya. Minti 15-20 ya isa ya bayyana manufar. Babban matsalolin suna tasowa lokacin yin ayyuka masu amfani.
Malaman farko na iya korar masu aiki, rassa, madaukai, da tsararru a cikin lakca ɗaya. Amma ɗaliban su za su fuskanci matsalar haɗa wannan bayanin.
Wajibi ne ba kawai don gaya kayan ba, har ma don tabbatar da cewa masu sauraro sun fahimci shi.

Gaskiyar ƙwarewar jigo an ƙaddara ta yadda ɗalibin ke jure wa aiki mai zaman kansa.
Idan ɗalibi ya sami nasarar magance matsala akan wani maudu'i ba tare da taimakon malami ba, to an ƙware batun. Don tabbatar da gwajin kai, an kwatanta kowane aiki a cikin tebur tare da yanayin gwaji. Ayyukan suna da tsari bayyananne. Ba a ba da shawarar tsallake ayyuka ba. Idan aikin na yanzu yana da wahala sosai, to matsawa zuwa na gaba ba shi da amfani. Ya ma fi rikitarwa. Domin ɗalibin ya iya ƙware da ƙwaƙƙwaran aiki na yanzu, an bayyana masa dabaru da dama ta amfani da misalin matsala ta farko. A haƙiƙa, duka abubuwan da ke cikin jigon sun zo ne ga dabarun shawo kan matsaloli. Kewayon sun fi tasiri na gefe.

Aiki na farko shine ko da yaushe misali. Na biyu ya bambanta kadan kuma ana yin shi "mai zaman kansa" nan da nan bayan na farko a karkashin kulawar malami. Dukkan ayyuka na gaba suna nufin kula da ƙananan abubuwa daban-daban waɗanda zasu iya haifar da rashin fahimta.

Bayanin misalin shine tattaunawa wanda ɗalibin yana buƙatar sake dawo da yaɗawa da tabbatarwa don tabbatar da cewa ya mallaki wani yanki na kayan.

Zan zama banal kuma in ce misalin farko akan batun yana da matukar muhimmanci. Idan kana da kayan aiki don aiki mai zaman kansa mai yawa, za a iya gyara kuskuren misalin farko. Idan babu wani abu banda misalin, to ɗalibin ba zai iya ƙware kan batun ba.

Alhali ko don?

Ɗaya daga cikin batutuwa masu rikitarwa shine zaɓin gine-gine don misali: lokacin ko don. Sau ɗaya, abokina mai haɓakawa wanda ba shi da ƙwarewar koyarwa ya shafe awa ɗaya yana gamsar da ni cewa madauki shine mafi sauƙin fahimta. Bahasin ya gangara zuwa “dukkan abin da ke cikinsa a bayyane yake kuma an shimfida shi a wurinsa.” Koyaya, tushen tushen matsaloli ga masu farawa na gaske shine ra'ayin sake zagayowar kanta, kuma ba rubutunsa ba. Idan mutum bai fahimci wannan ra'ayi ba, to zai sami matsala tare da syntax. Da zaran an gane ra'ayin, matsalolin ƙirar code suna ɓacewa da kansu.

A cikin kayana, jigon madaukai yana bin jigon reshe. Kwatankwacin waje na idan kuma yayin yana ba mu damar zana kwatancen kai tsaye: "lokacin da yanayin da ke cikin taken gaskiya ne, to ana kashe jiki." Iyakar abin da ke tattare da zagayowar shine ana aiwatar da jiki sau da yawa.

Hujja ta biyu ita ce, yayin da yake buƙatar ƙarancin tsarawa fiye da na. Ƙananan tsarawa yana nufin ƙananan kurakuran wawa tare da ɓacewar waƙafi da baƙaƙe. Har yanzu mafari ba su sami isassun hankali da ƙwarewa don guje wa kurakuran rubutu ta atomatik ba.
An bayyana hujja ta uku a cikin littattafai masu kyau da yawa a matsayin hujja ta farko.

Idan ɗalibin zai iya canza magana cikin sauƙi, to zaku iya magana game da wucewa. Sai ɗalibin zai zaɓi abin da ya fi so. Idan canje-canje ya haifar da matsaloli, to yana da kyau kada ku raba hankalin ku. Bari dalibi ya fara warware komai ta amfani da lokaci. Da zarar kun ƙware kan batun madaukai, za ku iya sake rubuta hanyoyin yin jujjuya yayin da kuke zuwa.
madaukai na bayan yanayi kyawawan dabba ne da ba kasafai ba. Ba na kashe wani lokaci akansa kwata-kwata. Idan ɗalibi ya ƙware da ra'ayoyin gano ƙira da canza magana, zai iya gano shi ba tare da taimakona ba.

Lokacin nuna misali na farko ga ɗalibai masu ƙarfi, na jawo hankali ga gaskiyar cewa a cikin misali na farko yana da mahimmanci don rikodin ba kawai mafita ba, har ma da dukan jerin ayyukan da suka haifar da sakamakon. Ɗaliban malalaci na iya yin watsi da rubuce-rubuce kuma su kwafi kawai algorithm na ƙarshe. Suna bukatar su gamsu cewa wata rana wani aiki mai wahala zai zo musu. Don warware shi, kuna buƙatar bin matakai kamar yadda yake cikin wannan misalin. Abin da ya sa yana da mahimmanci a yi rikodin duk matakai. A cikin matsalolin da ke gaba zai yiwu a bar kawai sigar ƙarshe na mafita.

Babban ra'ayin sarrafa kansa shine cewa mun baiwa kwamfuta amana don yin aikin yau da kullun ga mutum. Ɗaya daga cikin dabarun asali shine rubutun madaukai. Ana amfani dashi lokacin da aka rubuta ayyukan maimaitawa iri ɗaya a cikin shirin a jere.

bayyane ya fi na fake

Yana iya zama kamar kyakkyawan ra'ayi don nuna magana iri ɗaya sau da yawa a cikin aikin madauki na farko. Misali:

Hurray, yana aiki!
Hurray, yana aiki!
Hurray, yana aiki!
Hurray, yana aiki!
Hurray, yana aiki!
Hurray, yana aiki!
Hurray, yana aiki!
Hurray, yana aiki!

Wannan zaɓin ba shi da kyau saboda ƙimar ƙima ba ta ganuwa a cikin fitarwa. Wannan matsala ce ga masu farawa. Kar ka raina ta. Da farko, wannan aiki shi ne na farko, kuma aikin samar da jerin lambobi a cikin hawan hawan shi ne na biyu. Ya zama dole a gabatar da ƙarin kalmomin “zagayen zagayowar N” da “zagayewar daga A zuwa B”, waɗanda ainihin abu ɗaya ne. Don kada in haifar da abubuwan da ba dole ba, na yanke shawarar nuna misali kawai tare da fitowar jerin lambobi. Mutane kaɗan ne ke gudanar da koyan yadda ake riƙe counter a kawunansu kuma su ƙirƙira halayen shirin a cikin kawunansu ba tare da shiri ba. Wasu ɗalibai sun fara haɗu da ƙirar tunani akan batun hawan keke.
Bayan wasu ayyuka, na ba da aikin maimaita wannan rubutu don a warware shi da kansa. Idan kun fara ba da na'urar da ake iya gani sannan kuma wanda ba a iya gani, to ɗalibai suna da ƙarancin matsaloli. Wani lokaci alamar "kada ku rubuta takarda akan allon" ya isa.

Ta yaya wasu suke bayyana shi?

A mafi yawan kayan ilimi akan Intanet, ana ba da ma'anar sake zagayowar a matsayin wani ɓangare na "lacca". Misali, akan developer.mozilla.org (a halin yanzu), an bayyana wasu gine-gine da yawa tare da madauki. A wannan yanayin, kawai zane-zane da kansu ana ba da su a cikin nau'i na samfurori. An bayyana sakamakon ƙaddamar da su da kalmomi, amma babu wani misali. A ra'ayi na, irin wannan gabatar da batun yana ninka amfanin irin waɗannan kayan ta hanyar sifili. Dalibin zai iya sake rubuta lambar kuma ya gudanar da shi da kansa, amma har yanzu yana buƙatar ma'auni don kwatantawa. Ta yaya za ku fahimci cewa an sake rubuta misali daidai idan babu wani abu da za a kwatanta sakamakon da shi?
Lokacin da aka ba da samfuri kawai, ba tare da misali ba, yana ƙara wahala ga ɗalibi. Yadda za a gane cewa an sanya guntuwar lambar daidai a cikin samfuri? Kuna iya ƙoƙarin rubutawa ko ta yaya, sannan a gudu. Amma idan babu ma'auni don kwatanta sakamakon, to ƙaddamarwa ba zai taimaka ba.

A cikin darasin C++ akan Intuitive, an binne madaidaicin madauki a shafi na uku na Lecture 4 akan taken “masu aiki”. Lokacin yin bayanin ma'anar madaukai, ana ba da fifiko na musamman akan kalmar "mai aiki". An gabatar da kalmar azaman saitin gaskiya kamar “alama; wannan magana ce", "{} bayani ne mai haɗaka", "jikin madauki dole ne ya zama sanarwa". Ba na son wannan tsarin saboda yana da alama yana ɓoye mahimman dangantaka a bayan lokaci ɗaya. Ana buƙatar tantance lambar tushe na shirin zuwa cikin sharuddan a wannan matakin ta masu haɓakawa don aiwatar da ƙayyadaddun harshe, amma ba ta ɗalibai ba a matsayin ƙimar farko. Sabbin shiga shirye-shirye ba kasafai suke da hankali ba don biyan irin wannan kulawar a hankali ga sharuɗɗan. Mutum ne da ba kasafai yake tunawa da fahimtar sabbin kalmomi a karon farko ba. Kusan babu wanda zai iya amfani da kalmar da ya koya daidai. Saboda haka, ɗalibai suna samun kurakurai da yawa kamar "Na rubuta yayin (a <7); {, amma shirin ba ya aiki."
A ganina, a farkon yana da kyau a ba da haɗin ginin ginin nan da nan tare da ƙima. Zaɓin ba tare da ƙididdiga ba ya kamata a bayyana shi kawai idan ɗalibin yana da takamaiman tambaya: "me yasa babu ƙira kuma yana aiki."

A cikin littafin Okulov na 2012 "Fundamentals of Programming," gabatarwa ga madaukai yana farawa tare da tsari, sannan ya ba da shawarwari don amfani da shi, sa'an nan kuma ya tafi sashin gwaji na darasi. Na fahimci cewa an rubuta littafin ne don ƴan tsirarun ɗalibai masu ƙwarewa waɗanda ba kasafai suke zuwa azuzuwa na ba.

A cikin shahararrun littattafai, ana rubuta sakamakon gutsure na lamba koyaushe. Misali, Shildt's "Java 8. The Complete Guide" 2015 edition. Na farko, an ba da samfuri, sannan shirin misali kuma nan da nan bayan shi - sakamakon kisa.

A matsayin misali, yi la'akari da madauki na ɗan lokaci wanda ke juyawa
kirgawa farawa daga 10, kuma ana nuna daidai layukan 10 na "matakan":

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

Da zarar an gudu, wannan shirin yana fitar da "cycles" goma kamar haka:
такт 10
такт 9
такт 8
такт 7
такт 6
такт 5
такт 4
такт 3
такт 2
такт 1

Hakanan ana amfani da tsarin kwatanta samfuri, shirin misali da sakamakon shirin a cikin littafin "Javascript for Kids" da kuma a cikin js a kan w3schools.com. Tsarin shafin yanar gizon har ma yana ba da damar wannan misalin ya zama m.

Littafin Strousstrup na 2016 Ka'idoji da Ayyuka Amfani da C++ ya ci gaba da gaba. Mataki na farko shine bayyana sakamakon da ya kamata a samu, kuma bayan haka an nuna rubutun shirin. Bugu da ƙari, suna ɗaukar ba kawai shirin bazuwar a matsayin misali, amma suna ba da balaguro cikin tarihi. Wannan yana taimaka wajen jawo hankali zuwa gare shi: “Duba, wannan ba kawai rubutun banza ba ne. Ka ga wani abu mai ma'ana."

A matsayin misali na maimaitawa, yi la'akari da shirin farko da aka aiwatar akan na'urar shirin da aka adana (EDSAC). David Wheeler ne ya rubuta shi a dakin gwaje-gwaje na kwamfuta na Jami'ar Cambridge, Ingila a ranar 6 ga Mayu, 1949. Wannan shirin yana ƙididdigewa kuma yana buga jerin sauƙi na murabba'ai.
0 0
1 1
2 4
3 9
4 16
...
98 9604
99 9801

Anan, kowane layi yana ƙunshe da lamba tare da haruffan tab ('t') da murabba'in waccan lambar. Sigar C++ na wannan shirin yayi kama da haka:

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

Abin sha'awa, ba a siffanta tsarin haɗin kai a cikin wannan littafin ba. Stroustrup a cikin jagorar koyarwa (fassarar) ya jaddada cewa yana mutunta basirar dalibansa. Wataƙila ikon gano tsari a cikin misalai da yawa ana ɗaukarsa bayyanar irin wannan hankali.

Kamar yadda na bayyana kaina

Hanyar Stroustrup: kwatanta sakamakon, sannan warware matsalar, sannan bincike mai zaman kansa ta ɗalibi - ya zama mafi tunani. Saboda haka, na yanke shawarar ɗaukar shi a matsayin tushe, amma gaya masa ta amfani da ƙaramin misali na tarihi - aikin samun "tebur na abun ciki". Yana samar da anga da za a iya gane shi don haka za ku iya cewa "tuna da aikin game da abin da ke ciki" kuma don dalibai su tuna daidai wannan. A cikin misali na, na yi ƙoƙarin hana ƙarin kuskure biyu na yau da kullun. Na gaba zan rubuta game da su dalla-dalla.

A cikin wannan aikin an gabatar da mu ga dabarun magance matsaloli masu rikitarwa. Ya kamata a yanke shawarar farko na farko kuma mai sauƙi. To, to, za ku iya tunanin yadda za ku inganta wannan bayani.
Введение
Глава 1
Глава 2
Глава 3
Глава 4
Глава 5
Глава 6
Глава 7
Заключение

Bisa ga abin da na lura, tsarin "samfurin-misali-sakamako" a cikin haɗuwa daban-daban har yanzu yana haifar da gaskiyar cewa ɗalibai suna fahimtar zagayowar a matsayin hieroglyph. Wannan ya bayyana kansa a cikin gaskiyar cewa ba su fahimci dalilin da ya sa akwai yanayin da za a rubuta a can ba, yadda za a zabi tsakanin i ++ da i — da sauran abubuwan da ake gani a bayyane. Don kauce wa waɗannan kuskuren, hanyar da za a yi magana game da hawan keke ya kamata ya jaddada ma'anar maimaita ayyuka iri ɗaya sannan kawai a tsara su ta amfani da tsari. Saboda haka, kafin ba da madauki syntax, kuna buƙatar magance matsalar gaba-gaba. Maganin farko ga matsalar tebur na abun ciki yayi kama da haka:

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("Заключение");

Ta yaya za a inganta shi?
Maye gurbin ayyuka na ɗaya da zagayowar.
Wadanne ayyuka aka maimaita a jere ba tare da canje-canje ba?
Babu ko ɗaya a cikin wannan guntu. Koyaya, umarnin don nuna kalmar “Babi” tare da lamba suna kama da juna sosai.
Saboda haka, mataki na gaba shine gano bambanci tsakanin gutsure. A cikin wannan aikin ne kawai duk abin da ke bayyane, to, ba za a sake maimaita umarnin guda ɗaya ba, amma tubalan lambar layi na 5 ko fiye. Dole ne ku bincika ba kawai a cikin jerin umarni ba, amma a cikin tsarin reshe ko madauki.
A cikin misalin, bambanci tsakanin umarni yana cikin lamba bayan kalmar "Babi".
Da zarar an sami bambanci, kuna buƙatar fahimtar tsarin canji. Guda daban-daban shine lambar? Shin yana karuwa ko raguwa kullum? Ta yaya darajar lamba ke canzawa tsakanin ƙungiyoyi biyu kafaɗa da juna?
A cikin misali, lambar bayan kalmar "Babi" yana ƙaruwa a cikin haɓaka na 1. An sami bambanci, an bayyana tsarin. Yanzu zaku iya maye gurbin guntu daban-daban tare da m.
Kuna buƙatar ayyana irin wannan maɓalli kafin farkon ɓangarorin maimaitawa. Irin wannan m yawanci ana kiransa I ko j ko wani abu mafi daki-daki. Dole ne ƙimar farko ta zama daidai da ƙimar farko da aka nuna akan allon. A cikin misali, ƙimar farko ita ce 1.
Wace ƙimar farko ya kamata a ɗauka don nuna jerin lambobi "100, 101, 102, 103, 104, 105"?
Lambar farko a cikin wannan silsilar ita ce 100.
Bayan kowane umarni na fitarwa, kuna buƙatar ƙara ƙimar wannan madaidaicin ta 1. Wannan rukunin shine matakin canji.
Wane mataki zai kasance a cikin jerin lambobi "100, 102, 104, 106"?
Mataki na 2 a wannan jere.
Bayan maye gurbin guntu daban-daban tare da m, lambar za ta yi kama da haka:

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("Заключение");

Bayan amfani da dabarar “bayyana tsarin maɓalli” a cikin lambar, zaku sami ƙungiyoyin ayyuka iri ɗaya waɗanda ke tafiya a jere. Yanzu ana iya maye gurbin ayyukan maimaitawa tare da madauki.

Jerin warware matsala inda kake buƙatar amfani da madaukai ya ƙunshi matakai masu zuwa:

  1. Warware "gaba-gaba" tare da umarni daban daban
  2. Nemo tsari
  3. Bayyana tsarin ma'auni
  4. Zane a matsayin sake zagayowar

Bayan haka, ana gabatar da sababbin sharuɗɗa don kada ɗalibin ya sami kansa a cikin yanayin "Na fahimci komai, amma ba zan iya faɗi ba":
- ma'auni koyaushe mai canzawa ne wanda ake buƙata don bin diddigin adadin matakai a cikin madauki. Yawanci lamba wanda aka kwatanta da takura.
- counter mataki - bayanin tsarin canje-canjen counter.
- constraint - lamba ko m wanda aka kwatanta da counter domin algorithm ya zama karshe. Ƙimar ƙima tana canzawa don kusanci iyaka.
- madauki jiki - jerin umarni waɗanda za a maimaita su. Sa’ad da suka ce “an rubuta umarnin a cikin madauki,” suna nufin jiki.
- madauki iteration - lokaci guda kisa na madauki jiki.
- yanayin madauki - magana mai ma'ana da ke ƙayyade ko za a aiwatar da wani nau'i. (Za a iya samun rudani tare da tsarin reshe a nan)
Kuna buƙatar ku kasance cikin shiri don gaskiyar cewa da farko ɗalibai za su yi amfani da sharuɗɗan don wasu dalilai. Wannan ya shafi duka masu karfi da masu rauni. Kafa harshe gama gari fasaha ce. Yanzu zan rubuta a taƙaice: kuna buƙatar saita aikin "hana guntun lambar tare da <term>" kuma ku yi amfani da waɗannan sharuɗɗan daidai a cikin tattaunawa.
Bayan canzawa tare da madauki, ana samun guntun:

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

Babban kuskure

Wani sanannen kuskure tsakanin ɗalibai shine cewa suna sanya ayyuka a cikin madauki wanda ke buƙatar yin sau ɗaya kawai. Misali kamar haka:

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

Dalibai suna shiga cikin wannan matsala koyaushe, duka a farkon da kuma cikin matsaloli masu rikitarwa.
Mahimmin bayani a wannan yanayin:

Sau nawa ya kamata ku maimaita umarnin: sau ɗaya ko sau da yawa?

Umurnin buga kalmomin "Gabatarwa" da "Kammalawa" da bayyanawa da ƙaddamar da ma'anar ba kamar sauran ayyuka masu maimaitawa suke ba. Ana kashe su sau ɗaya kawai, wanda ke nufin suna buƙatar rubuta su a waje da madauki.

Duk matakai uku na maganin yakamata su kasance a cikin lambar don ku iya komawa gare su daga baya idan akwai matsaloli. Ya isa yin sharhi akan zaɓuɓɓuka biyu na farko don kada su tsoma baki.
Ya kamata a ja hankalin ɗalibin zuwa ga abubuwa kamar haka:
- A cikin yanayin madauki, ƙididdiga da iyaka yawanci ana kwatanta su. Na'urar na iya canzawa a jikin madauki, amma iyaka ba zai iya ba. Don karya wannan doka, kuna buƙatar ƙirƙirar dalilai masu ƙarfi.
- Umarni don nuna kalmomin "Gabatarwa" da "Kammalawa" suna wajen jikin madauki. Muna buƙatar yin su sau 1. "Gabatarwa" - kafin maimaita ayyukan, "Kammalawa" - bayan.
A cikin tsarin ƙarfafa wannan batu, ƙwarewa na gaba, da kuma magance matsaloli, yana da amfani ga dalibai masu karfi su yi tambaya: "Sau nawa ne ake buƙatar yin wannan aikin? Daya ko dayawa?

Haɓaka ƙarin ƙwarewa

A cikin tsarin nazarin hawan keke, ɗalibai kuma suna haɓaka ƙwarewar ganowa da magance matsaloli. Don gudanar da bincike, ɗalibin yana buƙatar gabatar da sakamakon da ake so kuma ya kwatanta shi da ainihin sakamakon. Ayyukan gyara sun dogara ne akan bambancin da ke tsakaninsu.
Tun da dalibai a wannan mataki har yanzu suna da ra'ayi kadan game da sakamakon "da ake so", za su iya mayar da hankali kan bayanan gwaji. A matsayinka na mai mulki, babu wanda a wannan mataki har yanzu ya fahimci abin da zai iya faruwa ba daidai ba da kuma yadda za a magance shi. Saboda haka, na rubuta a cikin littafin rubutu bayanin matsalolin da aka saba da su da kuma hanyoyi da yawa don magance su. Zaɓin mafi dacewa shine aikin ɗalibin kansa.
Ana buƙatar rikodin don tambaya "Shin abin da ake tsammanin ya faru?", "Wane ne daga cikin waɗannan yanayi ya faru?", "Shin maganin da aka yi amfani da shi ya taimaka?"

  1. Adadin ayyukan shine 1 ƙasa da ko fiye fiye da yadda ake tsammani. Magani:
    - ƙara ƙimar farko na counter da 1.
    - maye gurbin ma'aikacin kwatance mai tsauri (< ko >) tare da mara tsauri (<= ko >=).
    - canza ƙimar iyaka zuwa 1.
  2. Ana yin ayyuka a cikin madauki ba tare da tsayawa ba, har abada. Magani:
    - ƙara umarnin canza counter idan ya ɓace.
    - gyara umarnin don canza counter domin ƙimarsa ta zama kusa da iyaka.
    - cire umarnin canza ƙuntatawa idan yana cikin jikin madauki.
  3. Adadin ayyuka a cikin madauki ya fi 1 ƙasa da fiye da yadda ake tsammani. Ba a aiwatar da aikin a cikin madauki ba ko da sau ɗaya. Da farko kuna buƙatar gano ainihin ƙimar masu canji kafin madauki ya fara. Magani:
    - canza ƙimar farko na ƙuntatawa
    - canza ƙimar farko na counter

Matsala ta 3 yawanci ta ƙunshi amfani da madaidaicin madaidaicin ko rashin sake saita ma'aunin zuwa sifili.

Bayan wannan bayanin, ɗalibin na iya samun rashin fahimta iri-iri game da yadda madaukai ke aiki.
Don kawar da mafi yawan gama gari, na ba ku ayyuka masu zuwa:

  1. A cikin abin da mai amfani ya shigar da iyaka, ƙimar ƙima ta farko, ko matakin ƙima.
  2. A cikin wanda dole ne a yi amfani da ƙimar ƙima a cikin wasu maganganun lissafi. Yana da kyau a yi amfani da ƙididdiga a cikin magana mai tsattsauran ra'ayi ko a cikin ƙididdiga don bambancin ya kasance maras kyau.
  3. A cikinsa ba a nuna ƙimar ƙima akan allon yayin da madauki ke gudana. Misali, nuna adadin da ake buƙata na guntun rubutu iri ɗaya ko zana adadi tare da zanen kunkuru.
  4. A cikin abin da kuke buƙatar fara aiwatar da wasu ayyuka masu maimaitawa, sannan wasu.
  5. A cikin abin da kuke buƙatar yin wasu ayyuka kafin da bayan maimaitawa

Ga kowane ɗawainiya kuna buƙatar samar da bayanan gwaji da sakamakon da ake tsammani.

Don fahimtar yadda za ku iya motsawa cikin sauri, kuna buƙatar karanta sharuɗɗan waɗannan matsalolin kuma ku tambayi: "Ta yaya suka bambanta da misalin?", "Menene ya kamata a canza a cikin misalin don magance su?" Idan dalibi ya amsa da ma'ana, to, a bar shi ya warware akalla daya a cikin aji, sauran kuma a gida da kansa. Idan mafita ta yi nasara, to, zamu iya fara bayyana yanayin cikin madaukai.
Idan kuna da matsalolin magance matsalolin da kanku, kuna buƙatar yin aiki ta hanyar komai a cikin aji. Don guje wa warware matsalar kasancewa mai tunawa da zana mujiya, Ina ba da shawarar farko da warware matsalar ta hanyar da ba ta duniya ba. Wato, don maganin ya wuce gwajin farko kuma baya amfani da ginin madauki. To, sannan a yi amfani da sauye-sauye don cimma daidaiton mafita.

Madaukai da rassan

A ra'ayi na, yana da amfani a ba da batun "zagaye a cikin rassan" daban. Ta yadda daga baya za ku iya ganin bambanci tsakanin duba yanayin sau da yawa da kuma duba shi sau ɗaya.
Ayyukan ƙarfafawa zasu kasance game da fitar da lambobi daga A zuwa B, waɗanda mai amfani ya shigar:
- ko da yaushe a cikin hawan tsari.
- hawan ko saukowa dangane da ƙimar A da B.

Taken “reshe a cikin madaukai” yakamata a motsa shi ne kawai bayan ɗalibin ya ƙware dabarun: “Maye gurbin tsari tare da mabambanta” da “maye gurbin ayyuka masu maimaitawa tare da zagayowar.”
Babban dalilin yin amfani da rassan cikin madaukai shine anomalies a cikin tsari. A tsakiya yana karya dangane da bayanan farko.
Ga ɗaliban da suka sami damar neman mafita ta hanyar haɗa hanyoyin fasaha masu sauƙi, ya isa a ce "ana iya rubuta reshe a cikin madaukai" kuma su ba da matsalar "misali" gaba ɗaya don warwarewa da kansa.
Misalin aiki:

Mai amfani yana shigar da lamba X. Nuna lambobin daga 0 zuwa 9 a cikin ginshiƙi kuma sanya alamar '+' sabanin lambar da take daidai da X.

Idan an shigar da 00+
1
2
3
4
5
6
7
8
9

Idan an shigar da 60
1
2
3
4
5
6+
7
8
9

Idan an shigar da 90
1
2
3
4
5
6
7
8
9+

Idan an shigar da 7770
1
2
3
4
5
6
7
8
9

Idan taƙaitaccen bayani bai isa ba don rubutawa tare da madauki, to kuna buƙatar cimma mafita na duniya ga wannan matsala ba tare da madauki ba.
Za ku sami ɗayan zaɓuɓɓuka biyu:
Ana so

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);
}

Mai yiwuwa

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+");
}

Ina ba da irin wannan aiki a gaba, yayin nazarin batun reshe.
Idan ɗalibin ya zo da zaɓi na "mai yiwuwa", to kuna buƙatar gaya musu cewa za a iya samun mafita da yawa ga wannan matsala. Duk da haka, sun bambanta da juriya ga canje-canjen buƙatu. Yi tambayar: "Wurare nawa a cikin lambar za a buƙaci a gyara idan na ƙara wata lamba?" A cikin sigar “mai yiwuwa”, kuna buƙatar ƙara reshe ɗaya kuma ƙara sabon lamba a wasu wurare 10. A cikin "wanda ake so" ya isa ya ƙara reshe ɗaya kawai.
Saita aikin don sake haifar da zaɓin "da ake so", sannan nemo tsari a cikin lambar, yi canji mai canzawa kuma rubuta madauki.
Idan kuna da ra'ayi kan yadda ake magance wannan matsalar ba tare da madauki ba ta wata hanya dabam, da fatan za a rubuta a cikin sharhi.

madaukai a cikin madaukai

A cikin wannan batu kuna buƙatar kula da waɗannan abubuwa:
- ƙididdiga don madaukai na ciki da na waje dole ne su kasance masu canji daban-daban.
- counter na madauki na ciki dole ne a sake saita shi sau da yawa (wato, a cikin jikin madauki na waje).
- a cikin ayyukan fitarwa na rubutu, ba za ku iya fara rubuta harafi ɗaya a layi da yawa ba, sannan na biyu. Dole ne ka fara buga duk haruffan layi na farko, sannan duk haruffa na biyu, da sauransu.

Zai fi kyau a fara bayyana batun madaukai a cikin madaukai ta hanyar bayyana mahimmancin sake saita ma'aunin zuwa sifili.
Misalin aiki:

Mai amfani yana shigar da lambobi biyu: R da T. Buga layi biyu na haruffa "#". Layi na farko yakamata ya ƙunshi haruffa R. Layi na biyu ya ƙunshi T guda. Idan kowace lamba mara kyau, nuna saƙon kuskure.

R=5, T=11#####
############

R=20, T=3##############
###

R=-1, T=6Dole ne ƙimar R ta zama mara kyau

R=6, T=-2Dole ne ƙimar T ta zama mara kyau

Babu shakka, wannan matsalar kuma tana da aƙalla mafita biyu.
Ana so

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;
}

Mai yiwuwa #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;
}

Bambancin shine a cikin maganin "mai yiwuwa", an yi amfani da maɓalli na biyu don fitar da layi na biyu. Yakamata ka dage akan amfani da mabambanta iri ɗaya don madaukai biyu. Ana iya tabbatar da wannan iyakance ta gaskiyar cewa mafita tare da ƙira ɗaya don zagayowar zagayowar biyu zai zama misalin kalmar “sake saitin ƙira”. Fahimtar wannan kalmar yana da mahimmanci yayin magance matsalolin da ke biyo baya. A matsayin sasantawa, zaku iya adana hanyoyin magance matsalar guda biyu.

Matsala ta al'ada tare da amfani da madaidaicin ƙira ɗaya don madaukai biyu yana bayyana kamar haka:
R=5, T=11#####
######

Yawan haruffa a cikin layi na biyu bai dace da ƙimar T. Idan kuna buƙatar taimako tare da wannan matsala, to kuna buƙatar duba cikin bayanin kula game da matsalolin al'ada tare da madaukai. Wannan alama ce ta #3. Ana bincikar shi idan kun ƙara fitarwa ƙimar ƙima nan da nan kafin sake zagayowar na biyu. An gyara ta sake saiti. Amma yana da kyau kada a faɗi haka nan da nan. Dole ne ɗalibin ya yi ƙoƙari ya ƙirƙira aƙalla hasashe ɗaya.

Akwai, ba shakka, wata mafita. Amma ban taba ganinsa a tsakanin dalibai ba. A mataki na nazarin hawan keke, labarin game da shi zai janye hankali. Kuna iya dawowa gare ta daga baya lokacin koyo game da ayyukan kirtani.
Mai yiwuwa #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));

Aikin da ake buƙata na gaba:

Nuna lambobin daga 0 zuwa 9. Kowane lamba yakamata ya kasance akan layinsa. Ana shigar da adadin lambobi a layi (W) daga maɓalli.

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

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

Idan ɗalibi ya ƙware da dabarun maye gurbin canji, to zai jure da sauri. Matsala mai yuwuwa za ta sake kasancewa cikin sake saitin canji. Idan ba za ku iya magance canjin ba, yana nufin kun kasance cikin gaggawa kuma kuna buƙatar warware matsaloli masu sauƙi.

Na gode da kulawar ku. Like and subscribe to channel.

PS Idan kun sami typos ko kurakurai a cikin rubutun, da fatan za a sanar da ni. Ana iya yin hakan ta hanyar zaɓar ɓangaren rubutun kuma danna "⌘ + Shigar" akan Mac, da "Ctrl / Shigar" akan maɓallan maɓalli na gargajiya, ko ta hanyar saƙonnin sirri. Idan waɗannan zaɓuɓɓukan ba su samuwa, rubuta game da kurakurai a cikin sharhi. Na gode!

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Zaɓe don masu karatu ba tare da karma ba

  • 20,0%Ina koyarwa da ƙwarewa, +12

  • 10,0%Ina koyarwa da fasaha, -11

  • 70,0%Ba na koyarwa, +17

  • 0,0%Ba na koyarwa, -10

  • 0,0%Sauran0

Masu amfani 10 sun kada kuri'a. Masu amfani 5 sun kaurace.

source: www.habr.com

Add a comment