Algorithm ya programu ya kupanga. Dhana za kimsingi za programu. Hatua, mchakato, algorithm, mpango

Algorithm? seti ya maagizo inayoelezea mpangilio wa vitendo vya mtendaji kufikia matokeo ya kutatua shida katika idadi fulani ya vitendo. Katika tafsiri ya zamani, badala ya neno "kuagiza" neno "mlolongo" lilitumiwa, lakini kadiri ulinganifu katika utendakazi wa kompyuta ulivyositawi, neno "mlolongo" lilianza kubadilishwa na zaidi. kwa ujumla"amri". Hii ni kutokana na ukweli kwamba uendeshaji wa baadhi ya maelekezo ya algorithm inaweza kutegemea maelekezo mengine au matokeo ya kazi zao.

Kwa hivyo, maagizo kadhaa lazima yatekelezwe madhubuti baada ya maagizo ambayo wanategemea kukamilika. Maagizo ya kujitegemea, au maagizo yaliyotolewa kwa kujitegemea kwa kukamilika kwa maagizo ambayo yanategemea, yanaweza kutekelezwa kwa utaratibu wa random, kwa sambamba, au wakati huo huo, ikiwa processor na mfumo wa uendeshaji unaotumiwa huruhusu.

Algorithm inamaanisha maelezo kamili ya mchakato fulani, maagizo ya utekelezaji wake. Ukuzaji wa algorithm ni mchakato mgumu na unaotumia wakati. Algorithmization? Hii ni mbinu ya kuendeleza (kutunga) algorithm ya kutatua matatizo kwenye kompyuta. Mchoro wa kuzuia wa algorithm ya jumla ya programu imewasilishwa kwenye Mchoro 3.9.

Mchoro 3.9 - Mchoro wa kuzuia wa algorithm ya programu

Ili kurekodi algorithm ya kutatua shida, njia zifuatazo za kuona za kuwawakilisha hutumiwa:

· maelezo ya maneno na fomula;

mchoro wa kuzuia (mchoro alama za picha);

· lugha za algorithmic;

· michoro ya waendeshaji;

· pseudocode;

Maendeleo ya bidhaa za programu

Tangu ujio wa jukwaa la NET (karibu 2001), API zimeonekana kati ya maktaba za darasa la msingi. Jina la Windows Fomu, zinazowakilishwa hasa na mkusanyiko wa System.Windows.Forms.dll. Ala Seti ya Windows Fomu hutoa aina zinazohitajika ili kuunda picha violesura vya mtumiaji Kwa kompyuta za mezani, kuunda vidhibiti maalum, kudhibiti rasilimali (kama vile mifuatano na aikoni), na kutekeleza majukumu mengine yanayopatikana wakati wa kutayarisha kompyuta za watumiaji. Pia kuna API ya ziada inayoitwa GDI+ (inayowakilishwa na mkusanyiko wa System.Drawing.dll) ambayo hutoa aina za ziada, kuruhusu programu kutengeneza Michoro ya 2D, kuingiliana na vichapishaji vya mtandao na kuchakata data ya picha.

Fomu za Windows (na GDI+) zinatokana na jukwaa la .NET 4.0 na kuna uwezekano kuwa zitakuwepo kwa muda fulani (labda kwa muda mrefu) kama sehemu ya maktaba ya darasa la msingi. Kweli, baada ya kutolewa kwa NET 3.0 Kampuni ya Microsoft ilitoa API mpya kabisa ya chombo inayoitwa Windows Wakfu wa Uwasilishaji (WPF).

Bila shaka, nafasi muhimu zaidi ya majina ya Fomu za Windows ni System.Windows.Forms. Aina katika nafasi hii ya majina zinaweza kugawanywa katika kategoria pana zifuatazo:

· Miundombinu ya kimsingi. Hizi ni aina zinazowakilisha shughuli za msingi programu zinazotumia Fomu za Windows (Fomu na Maombi), na aina mbalimbali zilizoundwa kuingiliana na urithi Vipengele vya ActiveX, na pia kwa kuingiliana na vidhibiti vipya vya WPF;

· Vipengele vya udhibiti. Aina hizi hutumiwa kuunda violesura vya picha za mtumiaji (kama vile Button, MenuStrip, ProgressBar, na DataGridView), zote zinatokana na darasa la msingi la Udhibiti. Vidhibiti vinaweza kubinafsishwa kwa wakati wa muundo na huonekana (kwa chaguo-msingi) wakati wa utekelezaji;

· Vipengele. Hizi ni aina ambazo hazitokani na darasa la msingi la Udhibiti, lakini bado zinaweza kutoa Programu za Windows Huunda uwezo wa kuona (kwa mfano ToolTip na ErrorProvider). Vipengele vingi (kwa mfano, Timer na System.ComponentModel.BackgroundWorker) havionekani wakati wa utekelezaji, lakini bado vinaweza kubinafsishwa kwa wakati wa kubuni;

· Dirisha za kawaida za kidadisi. Fomu za Windows huja na visanduku kadhaa vya mazungumzo vilivyoundwa awali kwa shughuli za kawaida (kwa mfano, OpenFileDialog, PrintDialog, na ColorDialog).

KATIKA Ulimwengu wa Windows Fomu ya aina ya fomu inawakilisha dirisha lolote kwenye programu, pamoja na dirisha kuu lenyewe ngazi ya juu, madirisha ya watoto ya programu na kiolesura cha hati nyingi (MDI), pamoja na modal na isiyo na modeli masanduku ya mazungumzo. Aina ya Fomu ina vipengele vingi vilivyorithiwa kutoka kwa madaraja ya mababu zake, na pia kutoka kwa violesura vingi inavyotumia.

Ili kuzalisha kikamilifu aina ya Fomu, nyingine nyingi zinahitajika madarasa ya msingi na interfaces, lakini hata mtaalamu Msanidi wa Windows Fomu hazihitaji kujua majukumu ya washiriki wote wa madarasa yote au miingiliano iliyotekelezwa.

Ili kuunda mradi mpya katika Studio ya Visual chagua "Mpya" - "Mradi", kwenye dirisha inayoonekana, chagua "Maombi ya Fomu ya Windows" na ujaze sehemu zilizopendekezwa.

Kwa maambukizi Swali la SQL Mbinu ya "GetSQLData" iliyowasilishwa hapa chini ilitekelezwa kwa seva na kurudisha matokeo katika mfumo wa safu mlalo (chagua maswali).

Mbinu hiyo inachukua mfuatano wa hoja kama kigezo na ina aina ya "Jedwali la Data" kama thamani ya kurejesha? jedwali la data.

DataTable tuli ya umma GetSQLData(swali ya kamba)

DataSet ds = new DataSet();

myConnection.Open();

kukamata (Isipokuwa e1)

SqlDataAdapter dataAdapter = new SqlDataAdapter(comm);

ds = DataSet mpya ();

DataAdapta.Jaza(ds);

MessageBox.Onyesha("Kosa");

myConnection.Funga();

kukamata (Isipokuwa e3)

rudisha ds.Majedwali;

Ili kupitisha swali la SQL kwa seva bila kurudisha matokeo (ingiza, badilisha na ufute maswali), mbinu ya "SetSQLData" iliyowasilishwa hapa chini ilitekelezwa. Njia huchukua kamba ya hoja kama kigezo na haina aina ya kurudi.

utupu tuli wa umma SetSQLData(swali ya kamba)

SqlConnection myConnection = new SqlConnection(Config.ConnectionString);

myConnection.Open();

kukamata (Isipokuwa e1)

MessageBox.Onyesha(e1.ToString());

SqlCommand comm = new SqlCommand(swali);

comm.CommandType = System.Data.CommandType.Text;

comm.Connection = myConnection;

comm.ExecuteNonQuery();

myConnection.Funga();

kukamata (Isipokuwa e3)

MessageBox.Onyesha(e3.ToString());

Ili kuhakikisha kwamba mtumiaji si lazima aingize kamba ya uunganisho kwenye hifadhidata, ni muhimu pia kuunda darasa na faili ya usanidi ambayo ingehifadhi na kuruhusu kubadilisha mipangilio ya programu. Kwa madhumuni haya, darasa la "Config" na faili ya usanidi ya "App.config" iliundwa mtawalia.

kamba ya tuli ya umma ConnectionString = GetParam("ConnectionStringSql");

Muunganisho wa kamba ya umma

kurudi ConnectionString;

ConnectionString = thamani;

kamba tuli ya umma GetPathTo(kamba ParamName)

rudisha Maombi.Njia ya Kuanzisha +

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).AppSettings.Settings.Value;

Tofauti ya "Muunganisho" ya darasa hili ni kamba ya kuunganisha kwenye seva. Inapozinduliwa, inaanzishwa kutoka kwa faili ya mipangilio kwa kutumia mbinu ya "GetParam" iliyotolewa hapa chini.

kamba tuli ya umma GetParam(kamba ParamName)

rudisha ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).AppSettings.Settings.Value;

"App.config" - faili ya XML iliyo na vigeuzo na thamani zake zilizobainishwa kwa uwazi au kwa njia isiyo dhahiri. Maandishi ya hati ya xml iliyotolewa mipangilio maalum imetolewa hapa chini.

connectionString="Kamba Halali ya Muunganisho;" />

Vidhibiti vya matukio mbalimbali ya vipengele vinaundwa kwenye kichupo cha "Matukio". Kwa mfano, tukio la "OnClick" linamaanisha "kubofya kitufe". Baada ya kubofya mara mbili tukio linalohitajika, msimbo wa fomu iliyo na kidhibiti kilichotangazwa itafungua, ambayo unahitaji kuongeza msimbo ili kushughulikia tukio linalojitokeza.

Hebu tuongeze nambari ifuatayo kwa kidhibiti tukio cha OnClick ili kupiga fomu nyingine ya maombi:

kitufe cha utupu cha faragha1_Bonyeza(mtumaji wa kitu, EventArgs e)

NewTest obj = NewTest();

obj.ShowDialog();

Tutaita aina zote za maombi kwa njia sawa. Kusoma uteuzi kwenye jedwali la fomu yetu, tutaongeza njia ya "Load_Tables" kwenye msimbo wake.

listView1.Items.Clear();

DateTime d = DateTime mpya();

kwa (int i = 1; i< dt.Columns.Count; i++)

listView1.Items.Ongeza(kipengee);

Mstari wa "swala" katika njia hii ni swala la kuchagua hifadhidata. Sasa unaweza kuanza kuunda na kutekeleza aina zingine za programu.

Unaweza kuongeza fomu kwenye mradi wa sasa kutoka kwa dirisha la muktadha la "Solution Explorer", au kupitia menyu ya "Mradi" - "Ongeza Fomu ya Windows". Katika dirisha inayoonekana, ingiza jina la fomu ya kuunda na bofya "Ongeza".

Kazi za vipengele hivi kwenye fomu hii zitakuwa kama ifuatavyo:

1. GroupBox - kambi ya mashamba sawa kwa ajili ya kuingia au kuchagua habari;

2. Kisanduku cha maandishi - uwanja wa kuingiza habari kwa mikono ambayo itatumika baadaye katika maombi;

3. Lebo - kidokezo kwa mtumiaji kuhusu maana ya uwanja fulani pamoja na data inayohitaji kuingizwa;

4. Kitufe - uthibitisho wa hatua ya mtumiaji, iliyosomwa na mfumo.

Ukichagua kipengele kimoja au kingine cha "RadioButton" ("Mwanafunzi" au "Mwalimu"), sehemu za kuweka data ya mwanafunzi au mwalimu zitafunguliwa, mtawalia. Kwa kubofya kitufe cha "Anza", idhini inafanywa.

Fomu inayofuata ya maombi ni fomu ya kuongeza na kubadilisha data ya jaribio.

Data kutoka sehemu za "Jina", "Idadi ya Maswali" na "Mwalimu" husomwa na kutumwa kwa seva ya SQL kwa kutumia ombi la kuingiza katika mbinu ya "SetSQLData" ya darasa la "Connection".

Katika kesi ya mafanikio au kushindwa, ujumbe unaofanana utaonyeshwa kwa mtumiaji.

Wakati wa kupakia fomu, orodha yetu kunjuzi ya "Mwalimu" (kipengele cha "ComboBox") lazima ianzishwe na kujazwa na seti fulani ya maadili ambayo mtumiaji anaweza kuchagua. Ili kufanya hivyo, ongeza njia ya "LoadComboboxes" kwa msimbo wa fomu, msimbo ambao umepewa hapa chini.

utupu binafsi LoadComboboxes()

query = "Chagua Mwalimu kutoka kwa Walimu";

DataTable dt = Connection.GetSQLData(swali);

comboBox1.DataChanzo = dt;

comboBox1.DisplayMember = "Mwalimu";

MessageBox.Show("Hitilafu katika kupakia saraka<Преподаватели>");

Fomu inayofuata ya maombi ni ripoti ya "Matokeo ya Mtihani". Tunaongeza fomu kama ilivyoelezwa hapo awali, weka kipengele cha "ListView" kwenye fomu na upe fomu mwonekano ufuatao.

Ripoti hii inaweka pamoja majaribio yote ya wanafunzi waliosajiliwa kufaulu majaribio kwa kutumia mfumo. Ili kusoma jedwali lililopokelewa kutoka kwa seva ya SQL, ongeza mbinu iliyo hapa chini kwenye msimbo wa fomu.

Utupu wa faragha Load_Tables(hoja ya kamba)

listView1.Items.Clear();

DataTable dt = Connection.GetSQLData(swali);

foreach (Safu mlalo ya Data katika dt.Rows)

DateTime d = DateTime mpya();

ListViewItem item = new ListViewItem(row.ToString());

kwa (int i = 1; i< dt.Columns.Count; i++)

ikiwa (i == dt.Columns.Count - 1)

d = Convert.ToDateTime(safu[i]);

item.SubItems.Add(d.ToShortDateString());

item.SubItems.Ongeza(safu[i].ToString());

listView1.Items.Ongeza(kipengee);

Fomu inayofuata ni fomu ya majaribio ya maarifa. Kipengele cha "DateTimePicker" kimewekwa kwenye fomu ili kufuatilia kwa usahihi saa za kuanza na kumalizika kwa jaribio. Kipengele hiki kimefichwa kutoka kwa mtumiaji na hakionyeshwa.

Kufanya kazi ya kubadilisha maswali na majibu ya mtihani, tutaongeza fomu nyingine na kuipa sura ifuatayo.

Vivyo hivyo, aina zingine za mfumo wa upimaji wa maarifa ya kiotomatiki kwa taaluma "Lugha ya Kirusi" ziliundwa na kutekelezwa. Utendaji wa programu unawasilishwa kwa undani zaidi katika sehemu ya "Mwongozo wa Mtumiaji" na katika kiambatisho cha "Orodha ya Msimbo wa Programu".

Katika maisha, mara nyingi tunakutana na hali tofauti ambazo tunafanya vitendo sawa maalum. Ili kuamka kwa wakati, tunahitaji kukumbuka kuwasha kengele. Ili kutosheleza njaa yetu, tunahitaji kufuata hatua zilezile ili kuandaa chakula kitamu. Ili kufanya kazi ambayo inajulikana kwetu, sisi pia mara nyingi tunafanya jambo lile lile.

Tabia hii inaweza kuitwa tofauti, kulingana na mazingira ambayo inazingatiwa. Ikiwa tunaiangalia kutoka kwa mtazamo wa ufanisi wa uendeshaji, vitendo hivi vinaweza kuitwa tabia au ujuzi. Ikiwa tunazingatia kutoka kwa mtazamo wa kuonyesha mchakato, basi maelezo ya mlolongo wa vitendo, utekelezaji mkali ambao husababisha ufumbuzi wa kazi zilizopewa katika idadi fulani ya hatua, inaitwa algorithm ya hatua.

Algorithms ya vitendo huundwaje?

Tunakutana na hii kila wakati katika maisha ya kila siku. Je, tunachukua hatua gani ili kuongeza akaunti yetu ya simu ya mkononi? Kila mmoja wetu ni tofauti. Kwa kuwa kuna njia kadhaa za kujaza akaunti, sote tunafanya tofauti. Matokeo, hata hivyo, daima ni sawa - kuonekana kwa fedha kwenye simu.

Au mfano mwingine: kunakili picha au maandishi, bonyeza-click kwenye picha, kisha uchague "Copy", kuiweka kwenye eneo linalohitajika, bonyeza-click "Bandika", na matokeo yanapatikana.

Yote hii ni mlolongo fulani wa vitendo, kama matokeo ambayo kazi hiyo inatatuliwa kwa njia mbalimbali. Lakini kwa sasa hii ni ujuzi wetu tu, ambayo yanaendelea katika ujuzi na uwezo, na ikiwa mchakato huu umeelezwa, basi tutaweza kuona wazi algorithm ya matendo yetu na kuipitisha kwa watu wengine. Sio kila kitu kiko wazi kwa maneno na sio wazi kila wakati.

Eleza mlolongo wa vitendo - itakumbukwa

Unda algorithm ya vitendo inawezekana kwa kueleza au kuonyesha mfuatano wake. Je! kila mtu anajua nini kinahitajika kufanywa ili kupanda mti? Labda hatua za msingi ni wazi kwa kila mtu, lakini si kila mtu anakumbuka wakati wa kumwagilia mti, kabla au baada ya kupanda. Algorithm iliyoundwa itaruhusu vitendo vyote kufanywa kwa mlolongo sahihi.

Ili kuelezea mlolongo ngumu zaidi wa vitendo, itabidi ujaribu na uandike yote kwa undani. Mfano unaweza kuchukuliwa kutoka kwa kila aina ya sheria na maagizo - yanaelezea kwa uwazi hatua ambazo tunahitaji kuchukua. Lakini kuna hali ambayo hatua fulani haifuatiwi na hatua moja, lakini na kadhaa, kulingana na matokeo ya awali. Katika kesi hii, vitendo vilivyopendekezwa pia vimeandikwa ili mtu aweze kusafiri kwa urahisi katika hali tofauti na kujua nini kinahitajika kufanywa.

Algorithm ya vitendo katika michoro ni mtiririko wa chati

Ikiwa tunaonyesha algoriti za vitendo kwa mchoro, kwa kutumia maumbo ya kijiometri yenye mistari ya unganisho inayoonyesha mpangilio ambao kitendo kinatekelezwa, tutapata chati mtiririko. Chati mtiririko ni bora zaidi ya sheria, maagizo, na algoriti za vitendo zilizofuatana kulingana na uwazi na usomaji wake.

Fikiria kwamba unahitaji kufundisha kitu kwa mtu mwingine. Unajua vizuri vitendo vyote katika mlolongo fulani. Kazi yako ni kuonyesha jinsi inavyopaswa kufanywa na kuwasilisha ujuzi wako ili mtu mwingine aikumbuke na kuijua kama wewe. Usambazaji wa maarifa kwa mdomo huruhusu uboreshaji na uholela fulani. Njia bora ni kutumia mtiririko wa chati inayoelezea mlolongo na chaguo zinazowezekana. Kama mfano, hapa kuna mwongozo wa kufurahisha wa kujifunza mipango ya kublogi:

Hali bora ya kupata matokeo ni marudio ya vitendo. Hii inaathiri dhahiri kasi ya kufikia matokeo katika siku zijazo. Mara nyingi unapaswa kurudia vitendo sawa, kwa kasi utajifunza kufanya mlolongo wa vitendo, ambayo ina maana kwamba kila wakati unaofuata utahitaji muda mdogo wa kukamilisha.

Chati za mtiririko hutumiwa katika mauzo

Katika mauzo, mafunzo kama haya kwa kukuza algorithms na kuwaonyesha katika mfumo wa chati za mtiririko yameenea. Mara nyingi hutumiwa katika matukio ya mazungumzo ya simu katika vituo vya simu na kwa simu "baridi". Utamaduni wa ushirika unakua kwa kasi, kwa hivyo kampuni nyingi haziruhusu tena wafanyikazi kutengeneza "gags", hata wenye talanta, lakini huwapa kuchukua hatua kulingana na hali iliyoandaliwa, inayowakilisha "uso wa kampuni" katika hatua mbali mbali. Athari inaonekana halisi baada ya siku kadhaa za kufanya mambo "kwenye karatasi". Baada ya muda, algorithms nyingi zilizoelezwa zinakumbukwa na mfanyakazi, na katika siku zijazo anaweza kuwasiliana kwa uhuru bila hofu ya mwelekeo gani mazungumzo yanaweza kwenda.

Algorithms ya hatua na miradi ya blogi hutengenezwa sio tu katika mauzo. Zinatumika sana katika mafunzo na mazoezi ya madaktari, waandaaji programu, wanasayansi wa kompyuta, na taaluma nyingi za kiufundi.

Inafaa kujaribu kujifunza jinsi ya kufanya kazi kwa kutumia chati zinazofanana. Baada ya yote, unapokutana kwa mara ya kwanza na wingi wa vitendo na kazi ambazo hazielewiki mwanzoni, unafikiria ni kiasi gani unakosa chati ya mtiririko iliyoendelezwa. Baada ya mateso mengi, huwezi kusimama, na unaanza kuendeleza na kuunda peke yako. Watu wenye ufanisi hawapendi wakati wa kupumzika. Na flowcharts hurahisisha sana maisha na hukuruhusu kuelewa kutatua shida ngumu.

Huduma za kutengeneza chati za mtiririko

Kuna huduma kwenye Mtandao ambazo zinaweza kukusaidia kuunda chati kama hizo. Mmoja wao ni Сacoo. Kwa msaada wake, unaweza kugeuza algorithms yako kwa urahisi katika michoro mbalimbali, chati za mtiririko na grafu. Utagundua kuwa ni shughuli ya kupendeza na ya kufurahisha sana kubadilisha kile unachojua kuwa sayansi kwa watu wengine.

hali nzuri umehakikishiwa. Katika hatua ya awali, unaweza kuchukua fursa ya bure akaunti, na katika siku zijazo utalazimika kulipia ufikiaji. Ni kawaida kwamba ufikiaji wa bure ina mapungufu ikilinganishwa na ya kulipwa. Lakini kwa kujifunza na hatua za kwanza, utendaji ni wa kutosha.

Baada ya kutengeneza algorithms ya vitendo na kuzibadilisha kuwa michoro ya kuzuia kwa msaada wa Cacoo, unaweza kuunda hali nzuri kwa muda mrefu sio tu kwako mwenyewe, bali pia kwa watu wengine ambao wanajifunza misingi.

Unda chati za michezo ya kubahatisha kwa watoto wako

Kwa muhtasari wa hapo juu, ninaona kuwa sasa unaweza kutumia algorithms ya vitendo na chati za mtiririko katika hali tofauti za maisha. Hata watoto wako watafurahiya sana kufanya sio kazi zinazovutia zaidi, kufuata maagizo wazi. Ikiwa una mawazo yoyote wapi na jinsi ya kuitumia algorithm ya vitendo, shiriki katika maoni, wasomaji wapendwa. Ningependa sana kujua kuhusu algoriti zako.

Chati yangu ya mtiririko

Hii ndio mtiririko wa chati niliyokuja nayo mara ya kwanza. Ili kupanua picha, bonyeza juu yake. Baada ya kwenda kwa Cacoo, chini ya kiingilio cha "mtazamo", bonyeza kwenye picha. Itafungua kwenye dirisha kubwa. Bahati njema!

Somo la Hisabati

"Programu ya vitendo. Algorithm".

Malengo: 1) elimu

Unda maoni ya awali juu ya dhana ya "mchoro wa kuzuia", "mpango"

vitendo", "algorithm", uwezo wa kusoma na kutunga mipango rahisi ya algorithms iliyotolewa.

2) kuendeleza

Kuendeleza shughuli za kiakili, umakini, kumbukumbu, hotuba ya hisabati, michakato ya utambuzi, ubunifu, shauku katika hisabati, ustadi na uwezo wa kujitegemea na. kazi za kikundi.

3) elimu

Kukuza ustadi wa mawasiliano (kukuza urafiki, kusaidiana).

1. Kujitolea kwa shughuli ( Wakati wa kuandaa)

2. Kusasisha maarifa.

Jamani, tukumbuke tulifanya nini katika somo lililopita?

(alijifunza kupata operesheni na matokeo ya operesheni; alijifunza kupata utendakazi kinyume cha aliyepewa)

Ujuzi huu wote unaweza kuwa na manufaa kwetu leo ​​kusaidia Ivan Tsarevich kushindwa Koshchei mbaya na kumwachilia Vasilisa Mwenye Hekima.

Je! unataka kwenda nami kwenye hadithi ya hadithi kuhusu "Koshchei the Immortal"?

Naam, twende! (slaidi No. 1)

Jamani, wengi wenu labda mmesoma hadithi hii ya hadithi, ni nani anakumbuka ambapo kifo cha Koshchei the Immortal kimefichwa?

Wacha sisi kiakili, pamoja na Ivan Tsarevich, tushinde njia na tushinde Koshchei mbaya.

Ni vikwazo gani vinavyohitaji kushinda njiani? Nani anaweza kuzaliana hii?

get get catch up piga chini ushinde

Kwa kifua cha mwaloni, hare, bata kutoka baharini, Koshchei

Umefanya vizuri! Nadhani Ivan Tsarevich angekushukuru.

Jamani, tunawezaje kuonyesha kwamba vitendo hivi vinafanyika katika mlolongo huu hasa? Tunapaswa kuja na ikoni gani? ()

Hiyo. tulipokea mpango wa utekelezaji.

Je, unaweza kuuitaje mpango wa utekelezaji unaotokana?

(mpango, njia, njia, safari,….)

Hitimisho: Katika hisabati, mchoro kama huo unaitwa mchoro wa kuzuia.

Kila block ina operesheni ambayo inahitaji kufanywa.

Huu ni mpango wetu wa utekelezaji.

Kwa hivyo unadhani mada ya somo letu ni nini?

3. "Ugunduzi" wa ujuzi mpya na watoto.

Mada: "Programu ya vitendo. Algorithm" (slaidi Na. 2)

Tutajifunza nini darasani leo? Tunajifunza nini kipya?

(wacha tufahamiane na dhana ya algorithm, tutajifunza kuteka mpango wa hatua kwa kutumia algorithm).

1) -Ni operesheni gani ya kwanza katika programu yetu? (fika kwenye mti wa mwaloni) (slaidi No. 3)

Jamani, hebu tuone kama huu ni mti wa mwaloni rahisi? Na mwaloni si rahisi, lakini kwa kazi. Na tu kwa kuikamilisha tutaweza kufika kwenye mti wa mwaloni.

Je, tunahitaji kukamilisha kazi gani?

(toa 14 kutoka 45, i.e. jaza kisanduku tupu)

Nani anafikiria vinginevyo? Matokeo ya operesheni ni 31.

2) - Kwa hivyo, tulifika kwenye mti wa mwaloni! Umefanya vizuri!

Na kifua pia ni kawaida, lakini hisabati (slaidi nambari 5)

Jamani, tunapaswa kuwaje hapa?

Swali linakuja kwanza, lakini matokeo yanajulikana? Tunapaswa kufanya nini?

(tunahitaji kujaza kisanduku tupu, i.e. kupata kitu cha operesheni, na kwa hili tunahitaji kupata operesheni ya kinyume ya ile iliyotolewa.. ) Lengo la operesheni ni 76.

3) -Umefanya vizuri! Tulijifunza jinsi ya kufanya operesheni ya nyuma, tukatoa kifua!

Tunaifungua, na hare inaruka nje na kukimbia (slaidi namba 6)

Hebu jaribu kumpata. Kwa hivyo jibu maswali haraka. (slaidi nambari 7)

Hesabu kutoka 327 hadi 332, katika kwaya 1,2 vikundi.

Na sasa, kwa mpangilio wa nyuma, vikundi vingine viwili.

Ulipata nambari gani ya duara wakati wa kuhesabu? (330)

Toa maelezo ya nambari hii, weka kielelezo cha picha.

(330 ni nambari tatu, kwa sababu nambari hii ina nambari 3, hata, kwa sababu inaisha kwa 0, majirani wa nambari hii ni 329 na 331, jumla ya nambari za nambari ni 6, inaweza kuwakilishwa kama jumla. ya maneno ya tarakimu 330 = 300 +30, nk…..)

(Mwanafunzi 1 anaweka kielelezo cha picha cha nambari hii kwenye turubai ya kupanga chapa)

4) -Tulimshika sungura, lakini bata akaruka kutoka kwake (slaidi nambari 8)

Ni nani anayeweza kuipiga chini kwa bunduki haraka?

Hebu tueleze 330cm katika vitengo tofauti vya urefu (slaidi nambari 9)

Lakini kwanza, hebu tukumbuke ni vitengo gani vya urefu ambavyo tunavifahamu? Wape majina kwa mpangilio wa kushuka (m, dm, cm)

330cm=...m...cm 330cm=...dm 330cm=...m...dm

Wetu wa haraka na sahihi zaidi walikuwa...

Asante sana kwa kazi yako, lakini lengo letu kuu ni kufika kwa Vasilisa the Wise, wacha tuendelee.

5) -Umefanya vizuri! Tulimpiga bata, na yai likaanguka baharini (slaidi nambari 10)

Ili kuipata unahitaji kuchagua mpango unaofaa na kutatua tatizo (slaidi nambari 11)

Kazi: Ivan Tsarevich aliogelea kilomita 12 kuvuka bahari siku ya kwanza. Na katika pili ni kilomita 4 zaidi. Ivan Tsarevich aliogelea kilomita ngapi siku ya pili?

Ninakupa mipango 4. Lazima uchague ile inayofaa kazi uliyopewa na uhalalishe chaguo lako. Na kisha kutatua tatizo.

Tatua tatizo mwenyewe kwenye bodi za kibinafsi.

Ivan Tsarevich hutoa jibu lake mwenyewe. Angalia, tafadhali (slaidi nambari 12)

12+4=16(km)

Inua mkono wako, ni nani kati yenu ana uamuzi sawa na Ivan Tsarevich. Nani hakubaliani?

kubishana naye.

Kwa nini ulitatua tatizo hili kwa kutumia nyongeza?

Jinsi ya kujibu swali la kazi?

6)- Kwa hiyo tulipata yai, kilichobaki ni kuvunja sindano na Koschey atashindwa (slaidi nambari 13)

Una kadi kwenye meza zako zinazoonyesha jinsi ya kupata njia ya kwenda kwa Vasilisa Mwenye Hekima.

Ikiwa utawaweka kwa usahihi, kwa utaratibu sahihi, basi Koschey atashindwa.

(fanya kazi kwa vikundi: kuweka kwa hiari yao na kurekodi chaguzi mbalimbali suluhisho).

3. Taarifa ya tatizo.

Ni shughuli gani zinazopaswa kufanywa ili kumpata Vasilisa Mwenye Hekima? (slaidi nambari 14)

(-panda farasi kupitia msitu;

Safiri baharini kwa meli;

Kuruka kwenye ndege ya carpet kupitia milima)

Je, mimi na wewe tunatengeneza nini?

(mpango, njia, mpango wa utekelezaji,...)

Kundi la 1, zungumza na darasa, ni mpango gani wa utekelezaji umeandaa? (kisha neno kwa vikundi vya 2, 3, 4)

Kwa nini tulitayarisha programu ya utendaji haraka mwanzoni mwa somo, lakini sasa hatuwezi?

Kwa nini maoni tofauti yalitokea? (hatujui mpangilio wa vitendo, hatujui kinachoenda nyuma ya nini)

Hitimisho: - Katika hisabati wanasema hatujui algorithm (nambari ya slaidi 15)

Na bila algorithm, i.e. Ni vigumu kuunda programu bila mlolongo wa vitendo.

Je, ni muhimu kuweza kuitunga? (Ndiyo)

Kwa ajili ya nini? (kufanya vitendo kwa usahihi, kufikia lengo lililokusudiwa, ...)

Ni mara ngapi maishani tunapaswa kushughulika na algorithm?

Tunawezaje kujua ikiwa Ivan Tsarevich alifanya uamuzi sahihi na ikiwa tuliweza kumsaidia?

(Ninatoa yai, kuifungua, na kuchukua vipande 4 vya karatasi ambayo imeandikwa:

M L G M L G MILIMA YA MSITU WA BAHARI MIILIMA YA MSITU WA BAHARI (slaidi nambari 16)

Sasa utapokea njia iliyosimbwa ya Ivan Tsarevich kwa Vasilisa the Wise.

Tambua njia hii.

Hiyo ingemaanisha nini? Na kuiweka kwenye meza zako. (Kulingana na algorithm iliyopewa, watoto

chapisho)

(Mwakilishi 1 kutoka kwa kikundi anazungumza)

Ni nani kati yenu aliyeiweka pamoja hapo kwanza?

Guys, ambao walifikiri tofauti, ni kosa lako, je, hukutaka kuokoa Vasilisa Mwenye Hekima?

Kwa nini hukuweza kufanya hivyo? (Hawakujua utaratibu. Hawakujua algorithm).

Hitimisho: - Kwa hivyo tumetengeneza nini sasa? (algorithm) (slaidi Na. 17)

Unaweza kusema vipi tena? (mpango wa vitendo)

-Kwa njia gani, i.e. Mpango wa utekelezaji unawezaje kuandikwa?

(barua, maneno. Picha, chati mtiririko,...)(slaidi nambari 18)

- Je, tumekamilisha programu yetu?

-Kwa hivyo waliharibu Koshchei mbaya. Umefanya vizuri!(slaidi nambari 19)

-Kwa nini tuliweza kuikamilisha? (kwa sababu walijua algorithm)

5. Uimarishaji wa msingi.

1) -Watu wanaounda programu hizi, i.e. algorithms huitwa programmers.

Je, unataka kuwa wao leo?

Lakini kwa kuwa sisi bado ni wadogo, tutajaribu kuunda mpango wa hatua kwa kutumia picha. (seti 4 - utaratibu wa kila siku)

Kuna bahasha zenye picha kwenye meza zako. Watoe nje, waangalie na ufikirie kuhusu mpango gani wa utekelezaji na tutaandaa kwa ajili ya nani? Inaweza kuitwa nini?

(Watoto huweka programu kwenye turubai ya kupanga chapa).

Hitimisho: Kila mtu aliyepangwa anaishi kulingana na utaratibu wa kila siku.

Lakini kama unavyoelewa, tumekusanya kipande kidogo kutoka kwa serikali yako.

Je, umeona?

- Je, inawezekana kwa hatua fulani za algorithm, i.e. shughuli za kubadilishana?

Ikiwa tutabadilika, itabadilisha chochote?

Hitimisho: Shughuli hizo ambazo zinaweza kubadilishwa zinaitwa. inaruhusiwa.

(Ninabadilisha shughuli zozote 2)

Je, shughuli hizi zinaweza kubadilishwa? (Hapana)

Kwa hivyo, zitaitwaje ikiwa zinaweza kuruhusiwa?

(isiyoruhusiwa)

Hitimisho: Kwa hivyo, katika programu, shughuli zinaweza kubadilishwa, na labda sivyo.

Ni shughuli gani zingine katika programu hii zinaweza kuruhusiwa?

2) Fanya kazi kwa vikundi.

1 kikundi: Tengeneza sandwich.

(Bandika vitendo kwa mpangilio sahihi na uandike algorithm ya kuandaa sandwich karibu nayo, i.e. tengeneza mwenyewe)

(Picha ambazo hutolewa hutolewa kwa maagizo tofauti: kisu, mkate wa mkate, siagi, kipande cha mkate kilichokatwa, kipande kinapakwa siagi).

Algorithm "Tengeneza Sandwichi" (chaguo lililopendekezwa)

1) Chukua mkate.

2) Chukua kisu.

3) Kata kipande cha mkate.

4) Chukua mafuta.

5) Siagi kipande.

Baadhi ya shughuli zinaweza kuruhusiwa; watoto huzijadili.

Kikundi cha 2: "Zika chervonets."

(Msaidie Pinocchio kuzika chervonet za dhahabu kwa usahihi kwenye uwanja wa miujiza)

Kadi zilizo na shughuli za kibinafsi hutolewa; watoto lazima waziweke kwa mpangilio unaofaa.

Weka pesa kwenye shimo. Sema: "Nyufa, phex, pecks!" Jaza maji. Chimba shimo. Jaza shimo na ardhi.

Algorithm "Zika chervonets" (chaguo lililopendekezwa)

1) Chimba shimo.

2) Weka pesa kwenye shimo.

3) Jaza maji.

4) Jaza shimo na ardhi.

5) Sema: "Nyufa, fex, pex!")

Kikundi cha 3: "Msaidie Winnie the Pooh kula."

(Weka matukio kwa mpangilio)

? - Osha makucha yako.

? - Fungua bomba.

? - Kaa mezani.

? - Funga bomba.

? - Kausha miguu yako na kitambaa.

? - Kula asali.

? - Chukua kijiko.

(Jibu linalopendekezwa:

1. Fungua bomba.

2. Osha paws yako.

3. Funga bomba.

4. Kavu paws yako na kitambaa.

5. Keti mezani.

6. Chukua kijiko.

7. Kula asali.)

4 kikundi: Kukusanya piramidi na kutenganisha piramidi.

a) Unda mpango wa kukusanyika piramidi

b) Tengeneza mpango wa kutenganisha piramidi iliyokusanyika.

(kila kikundi kinatetea algorithm yake)

Jamani, mlipenda kuwa waandaaji programu?

Je, tumeandaa programu zetu za utendaji?

Nani aliona ugumu?

6. D/z: 1) Nambari ya 9 p. 12 - kutoka kwa kitabu cha kurudia;

2) Ivan Tsarevich hutoa kazi yake tofauti

katika bahasha. (kikundi 1, 2 - ngumu zaidi, 3,4 - rahisi)

Lazima urejeshe utaratibu wa vitendo.

Kikundi cha 1: Andaa mayai ya kuchemsha.

Kikundi cha 2: "Bia chai."

Kundi la 3: Kula tufaha.”

Kundi la 4: Kula peremende"

3) hiari: tengeneza programu ya njia yako ya kwenda shuleni (kazi ya ubunifu)

(katika somo linalofuata ni rahisi kutumia programu hii katika hatua ya uundaji wa shida)

7. Muhtasari wa somo.

Somo letu limefikia mwisho.Na leo maelezo mengine madogo yameongezwa kwenye ujuzi wetu. Ambayo? Umejifunza nini darasani leo? - Algorithm ni nini? - Nani alitusaidia na hii?(Ivan Tsarevich) -Tutamshukuru na kumwalika kwenye somo linalofuata ili aweze kupima ujuzi wetu -Sasa tathmini kazi yako katika somo (kuna mchoro wa Ivan Tsarevich kwenye farasi kwenye ubao) hedgehog - ikiwa ilikuwa ngumu katika somo na unahitaji msaada; ua - ikiwa unaweza kufanya kazi kwa kujitegemea, lakini bado unaona ni vigumu kufanya kitu; beri - naweza kufanya kazi peke yangu na ninaweza kusaidia mtu mwingine - Nini kingine unahitaji kufanya kazi? (orodhesha malengo ya shughuli za ufuatiliaji) - Ivan Tsarevich na mimi tunakushukuru kwa kazi yako nzuri. Somo limekwisha!

Algorithm- mfumo wa maelekezo sahihi na ya kueleweka, mlolongo ulioelezwa shughuli za msingi juu ya data ya awali, utekelezaji ambao hutoa suluhisho kwa matatizo ya aina hii.

Tabia za algorithm:

-uwazi- mlolongo wa kutatua tatizo (mchakato) lazima ugawanywe katika mlolongo wa hatua za mtu binafsi.

-uwazi- algorithm lazima ieleweke kwa mtendaji. Katika suala hili, algorithm lazima iendelezwe kwa kuzingatia mtendaji maalum, i.e. Algorithm inaweza kujumuisha amri kutoka kwa mifumo ya amri ya mtekelezaji aliyepewa.

-uamuzi- inaeleweka, algorithm haipaswi kuwa na amri ambazo maana yake inaweza kutambulika kwa utata. Ukiukaji wa mahitaji haya na wakusanyaji wa algorithms husababisha ukweli kwamba programu sawa, wakati inatekelezwa na watekelezaji tofauti, haitoi matokeo sawa.

-ufanisi- inajumuisha ukweli kwamba kwa utekelezaji sahihi wa amri zote za algorithm, mchakato wa kutatua matatizo lazima usimame kwa idadi ndogo ya hatua na wakati huo huo matokeo yaliyowekwa wakati wa kuweka matatizo lazima yapatikane.

-tabia ya wingi- kufaa kwa algorithm ya kutatua matatizo ya darasa fulani.

Njia za kuandika algorithm:

-kwa maneno- Mbinu ya lugha ya asili.

-mchoro-maelezo ya algorithm kwa kutumia michoro.

Mchakato wa kutekeleza shughuli au vikundi vya shughuli

pembejeo ya data ya awali, matokeo ya matokeo

Uamuzi - uchaguzi wa mwelekeo wa utekelezaji

Marekebisho ni utekelezaji wa shughuli zinazobadilisha amri au vikundi vya amri zinazobadilisha programu.

Viunganishi vya mstari kwenye ukurasa mmoja.

Viunganishi vya kurasa.

-lugha ya programu- rahisi kwa kuingia kwenye kompyuta.

-pseudocode ni lugha inayotumia muundo na sintaksia ya lugha iliyorasimishwa ipasavyo na wakati huo huo inaruhusu uundaji wa asili. Lugha.

Aina za algorithms na kanuni za msingi za kuunda algoriti.

-Linear- algorithm ambayo amri hutekelezwa kwa kufuatana moja baada ya nyingine kwa mpangilio wa matukio yao ya asili, bila kujali hali yoyote. S1, s2, S3...Sn

-kuweka matawi (tawi)- huu ni mchakato ambao utekelezaji wake hutokea katika moja ya maelekezo kadhaa yaliyotanguliwa, kulingana na data ya awali au matokeo ya kati.

· Imejaa ujenzi wa masharti(matawi kamili)

· Kutokamilika kwa ujenzi wa masharti

· Chagua kutoka kwa kadhaa

-mzunguko- algorithm ambayo mlolongo unaweza kutekelezwa zaidi ya mara moja.

Kitanzi na parameter

· Kitanzi chenye masharti ya awali. Huenda kamwe isitekelezwe. Mwili wa kitanzi lazima uwe na opereta anayebadilisha thamani ya kigezo kilichojumuishwa kwenye block Q.

· Kitanzi chenye postcondition. Inatekeleza angalau mara moja.

Kanuni za msingi za algorithmization:

1. Tambua data ya chanzo, matokeo na uwape majina.

2. Mbinu ya kutatua matatizo.

3. Gawanya njia ya kutatua matatizo katika hatua.

4. Kwa uwakilishi wa grafu ya algorithm, kila hatua iko katika mfumo wa kuzuia sambamba - mchoro wa algorithm na utaratibu wa utekelezaji wao unaonyeshwa na mistari ya mawasiliano.

5. Katika mpango unaosababisha kwa chaguo lolote la hesabu.

Toa utoaji wa matokeo au ujumbe kuhusu kutokuwepo kwao.

Toa fursa baada ya kufanya operesheni yoyote kwa namna fulani kuhamia kizuizi cha mwisho.

40.Miundo ya msingi ya algorithmic

Tayari tumeangalia dhana za msingi za programu na tunasonga karibu na uhakika (lakini karibu tu, tutapanga baadaye).

Wacha tuangalie miundo kuu ya algorithms, na kuna sita kati yao:

· Kufuatia. Huu ni mlolongo wa vizuizi (au vikundi vya vizuizi) vya algorithm. Katika mpango huo, zifuatazo zinawasilishwa kwa namna ya utekelezaji wa mlolongo wa shughuli

·
Kuweka matawi. Muundo huu wa algorithmic hutumiwa wakati, kulingana na hali, ni muhimu kufanya hatua moja au nyingine

·
Bypass. Muundo huu ni kesi maalum ya matawi, wakati hakuna hatua katika moja ya matawi.

·
Chaguo nyingi. Muundo huu ni jumla ya matawi, ambapo ni muhimu kufanya moja ya vitendo kadhaa kulingana na thamani ya kutofautiana A.

Mazingira ya bure ya maendeleo ya kuona programu. Mjenzi wa "Algorithm" atasaidia watumiaji wa novice kuunda yao wenyewe, programu kamili, bila kutumia lugha maalum. Kuleta maisha zaidi mawazo ya awali leo, kwa kutumia mipangilio inayoweza kunyumbulika na kiolesura kinachofaa mtumiaji.

Kuunda programu katika algorithm

Kanuni ya maendeleo ya programu, katika Algorithm ya 2 ya designer, ni ujenzi wa mlolongo wa vitendo wa mantiki. Kutumia vipengele vya kuona ili kuunda kiolesura programu ya baadaye, baada ya hapo matukio, masharti na vitendo vinaunganishwa na vipengele. Kwa mfano, kwa kuongeza kifungo kwenye programu, unaweza kumpa hatua ya kufungua faili, kucheza sauti, kubadilisha maandishi, nk. Utendaji wa Algorithm 2.7 ni tofauti sana na, kwa mbinu ya ustadi, inaweza kutoa matokeo ya kuvutia sana.

Vipengele vya mbunifu:

  • Kiolesura cha mtumiaji-kirafiki.
  • Kazi nyingi zilizopangwa tayari na vitu vya kuona.
  • Uwezekano wa kuunda vivinjari, wahariri wa maandishi na vicheza media kwa dakika chache.
  • Kuunda programu zinazofanya kazi na faili, folda na Usajili.
  • Seti ya vitu muhimu na uwezo wa juu. Kwa mfano, kuanzisha upya PC au eneo-kazi.
  • Hitimisho kumaliza programu katika umbizo la exe, katika mibofyo michache.
  • Hamisha programu kwa Lugha inayoonekana Basic.NET, kwa marekebisho kwenye ngazi ya juu kupanga programu.

Kwa kweli, kwa maendeleo makubwa ya programu, Algorithm 2 inakosa uwezo mkubwa, lakini kwa kazi rahisi mjenzi huyu ni bora. Ikiwa unahitaji haraka kuunda programu na seti maalum ya kazi na interface ya kipekee, basi mazingira yaliyotolewa maendeleo yatakusaidia katika hili vizuri sana.