Nimetagem seda meetodit - kontrollitud loendamine.
programmi ülesanne3_8c;
k:=1 kuni 4 puhul tee
t:=2 kuni 9 puhul teha
kui k<>t siis
o:=0 kuni 9 puhul tee
kui (k<>o) ja (t<>o) siis
kto:=k*100+t*10+o;
kot:=k*100+o*10+t;
vool:=t*100+o*10+k;
if kto+kot=tok then writeln(kto,"+",kot,"=",tok);
Selline algoritm töötab isegi 8-10 pesastatud tsükliga väga kiiresti.
Ülevaate küsimused:
1. Kas pesastatud tsüklid saavad kasutada sama muutujat, näiteks i?
2. Kas on võimalik pesastada erinevaid silmuseid: FOR sisse WHILE või REPEAT sisse FOR?
Ülesanded iseseisvaks tööks:
1. Vana ülesanne. Kui palju pulli, lehmi ja vasikaid saab osta, kui pull maksab 10 rubla, lehm maksab 5 rubla, vasikas maksab viiskümmend dollarit (0,5 rubla), eeldusel, et 100 rubla eest tuleb osta 100 veist.
2. Antud naturaalarv n. Kõigi arvude jaoks vahemikus 1 kuni n leidke:
a) jagajate arv; b) paarisjagajate summa.
3. Leidke järgmiste numbriliste mõistatuste kõik lahendused:
a) VANAEMA + VANAISA + TURP = JUTU (4 lahendust)
b) LEHM + ROHI + PIIMATÖÖTAJA = PIIM (2 lahust)
c) ALYONKA + IVAN + KITS = MUUT (1 lahendus)
d) OKS + OKS + VARS = PUU (3 lahendust)
e) VÄRAV + ROHU = JALGPALL (3 lahendust)
"Tsüklite" õppimine
M4_plokk nr 3
Tunni teema :
pesastatud silmused.
Tunni eesmärk:
1. Kinnitada teadmisi erinevat tüüpi tsiklite kasutamisest;
2. Omandage pesastatud silmustega algoritmide lahendamise oskused.
1. keskkool, Lida
Probleemi lahendamiseks on sageli vaja kasutada mitut pesastatud tsüklilist struktuuri. Selliseid konstruktsioone nimetatakse pesastatud silmusteks.
Vaatame mõnda näidet:
Antud naturaalarvS. Kõigi ristkülikute leidmiseks, mille pindala on võrdne, tuleb kirjutada programmSja küljed on väljendatud naturaalarvudes.
programmi ülesanne3_6;
var s, a, b:longint;
writeln("Sisesta s"); readln(s);
jaoks a:=1 kuni s teha
jaoks b:=1 kuni s teha
kui a*b=s, siis writeln ("küljed ",a," ja ",b");
Selle probleemi saab lahendada ainult ühe tsükliga. Mõelge, kuidas seda teha.
Antud naturaalarvudn, m. Saada kõik naturaalarvud väiksemaks kuin, mille numbrite ruutude summa on võrdnem.
programmi ülesanne3_7;
var n, m, i, a, summa, cif:longint;
writeln("sisesta n ja m"); readln(n, m);
i:=1 kuni n teha
summa:=summa+sqr(cif);
kui summa=m siis kirjuta(i," ");
Leia kõik antud numbrilise mõistatuse lahendused. Iga täht vastab numbrile. Veelgi enam, samad tähed vastavad samadele numbritele, erinevad tähed - erinevad numbrid.
Kuna siin on ainult kolm tähte, siis piisab, kui kirjutada lahenduseks kolm pesastatud silmust ja läbida kõik kolmekohaliste numbrite lisamise võimalused.
programmi ülesanne3_8a;
vark, t, o, kto, kot, tok:longint;
k:=0 kuni 9 puhul teha
t:=0 kuni 9 puhul teha
o:=0 kuni 9 puhul tee
kto:=k*100+t*10+o;
kot:=k*100+o*10+t;
vool:=t*100+o*10+k;
kui (k<>t) ja (k<>o) ja (t<>o) ja (kto+kot=tok) siis
writeln(kto,"+",kot,"=",tok);
Selles algoritmis teostati tsükli keha 10∙10∙10=1000 korda. (räägib algoritmi keerukus =1000)
Kui aga keerukamate mõistatuste lahendamiseks on vaja kirjutada 8-10 pesastatud silmust, siis selline täielik loendus töötab kaua.
Saate seda algoritmi veidi lihtsustada, kui näete, et 1≤k≤4, t≥2.
k:=1 kuni 4 puhul tee
t:=2 kuni 9 puhul teha
o:=0 kuni 9 puhul tee
Nüüd on algoritmi keerukus 4∙8∙10=320. Lihtne kosmeetiline parandus suurendas kiirust 3 korda.
Kuid ka see algoritm pole optimaalne. Vaata k=2 ja t=2 programm läbib kõik 10 valikut o. Sellistel juhtudel, kui k=t mööda sõita o ei tohiks üldse teha.
Kes meist ei tunneks mõistatusi? Need meelelahutuslikud šifrid on tuttavad kõigile noortest kuni vanadeni. Mõistatustes krüpteeritakse sõnad piltide ja erinevate sümbolite, sealhulgas tähtede ja numbrite abil. Sõna "rebus" on ladina keelest tõlgitud kui "asjade abiga". Rebus sai alguse 15. sajandil Prantsusmaalt ja esimese trükitud mõistatuste kogu, mis selles riigis 1582. aastal avaldati, koostas Etienne Taburo. Sellest ajast möödunud aja jooksul on rebusülesannete koostamise tehnikat rikastatud erinevate tehnikatega. Rebusi lahendamiseks on oluline mitte ainult teada, mida joonistatakse, vaid arvestada ka jooniste ja sümbolite asukohta üksteise suhtes ning see saavutatakse praktikaga. Puslede koostamisel on mõned ütlemata reeglid ja neid on lihtsam lahendada ka samade reeglite järgi ning reeglid on järgmised:
Üldised reeglid mõistatuste lahendamiseks
Sõna või lause jaguneb rebussis osadeks, mis on kujutatud pildi või sümbolina. Rebust loetakse alati vasakult paremale, harvem ülevalt alla. Tühikuid ja kirjavahemärke ei loeta. Rebussis piltidel joonistatut loetakse nimetavas käändes, tavaliselt ainsuses, kuid on ka erandeid. Kui joonistatakse mitu objekti, näitab nool, millist osa kogu pildist selles rebusis kasutatakse. Kui ära arvatakse mitte üks sõna, vaid lause (vanasõna, lööklause, mõistatus), siis sisaldab see lisaks nimisõnadele tegusõnu ja muid kõneosi. Tavaliselt on see ülesandes täpsustatud (näiteks: "Arva ära mõistatus"). Rebusel peab alati olema lahendus ja üks. Vastuse ebaselgus tuleks täpsustada rebuse tingimustes. Näiteks: "Leidke sellele mõistatusele kaks lahendust." Ühes rebusis kasutatavate tehnikate ja nende kombinatsioonide arv ei ole piiratud.
Kuidas piltide põhjal mõistatusi lahendada
Nad nimetavad kõiki objekte järjestikku vasakult paremale ainsuse nominatiivis.
Vastus: rajakogemus = jälgija
Vastus: härjakast = kiud
Vastus: näosilm = äärealad
Kui objekt on joonistatud tagurpidi, tuleb selle nime lugeda paremalt vasakule. Näiteks joonistatakse "kass", peate lugema "praegune", joonistatakse "nina", peate lugema "unistus". Mõnikord näidatakse lugemisjuhiseid noolega.
Vastus: unistus
Tihti võib rebussis joonistatud objekti nimetada erinevalt, näiteks "heinamaa" ja "põld", "jalg" ja "käpp", "puu" ja "tamm" või "kask", "noot" ja "mi" , sellistel juhtudel peate valima sobiva sõna, nii et rebusil oleks lahendus. See on mõistatuste lahendamisel üks olulisemaid raskusi.
Vastus: tamm rava \u003d tammesalu
Kuidas mõistatusi komadega lahendada
Mõnikord ei saa kujutatud elemendi nime täielikult kasutada ja sõna algusest või lõpust tuleb üks või mitu tähte ära jätta. Siis kasutatakse koma. Kui kujundist vasakul on koma, jäetakse selle nimest esimene täht kõrvale, kui paremal, siis viimane. Kui palju komasid on väärt, nii palju tähti jäetakse kõrvale.
Vastus: ho pall k = hamster
Näiteks joonistatakse 3 koma ja "söötja", peate lugema ainult "kärbest"; "puri" ja 2 koma on tõmmatud, peate lugema ainult "auru".
Vastus: Vihmavari p = muster
Vastus: li sa to por gi = saapad
Kuidas mõistatusi tähtedega lahendada
Selliseid tähekombinatsioone nagu enne, ülal, peal, all, taga, juures, y, in mõistatustes reeglina ei kujutata, vaid need tuvastatakse tähtede ja jooniste vastavast positsioonist. Näidata ei ole tähti ja tähekombinatsioone from, to, from, from, to ja, vaid tähtede või objektide suhet või suunda.
Kui kaks objekti või kaks tähte või tähed ja numbrid on üksteise sisse tõmmatud, loetakse nende nimed koos eessõnaga "in". Näiteks: "v-o-yes" või "v-o-seven" või "no-v-a". Võimalik on teistsugune näit, näiteks "kaheksa" asemel võib lugeda "seitse-in-o" ja "vesi" asemel "jah-o". Kuid selliseid sõnu pole olemas, seetõttu pole sellised sõnad rebuse lahendus.
Vastused: v-o-jah, v-o-seitse, v-o-lx, v-o-ro-n, v-o-suu-a
Kui üks objekt või sümbol on joonistatud teise alla, siis dešifreerime selle, lisades "sees", "ülal" või "all", peate valima eessõna vastavalt tähendusele. Näide: "fo-na-ri", "all-at-shka", "e-wa kohal".
Vastused: for-on-ri, under-at-shka, over-e-wa
Kui mõne tähe või objekti taga on mõni muu täht või objekt, peate lugema koos lisaga "for". Näiteks: "Ka-za-n", "za-ya-ts".
Vastus: for-i-ts
Kui üks täht lebab teise kõrval või toetub sellele, siis loetakse "y" või "k" lisamisega. Näiteks: “L-u-k”, “d-u-b”, “o-k-o”.
Vastused: sibul, tamm
Kui täht või silp koosneb teisest tähest või silbist, siis loe lisades "alates". Näiteks: "alates-b-a", "b-from-te", "out-of-y", "f-from-ik".
Vastused: onn, piison
Kui kogu kirjas on kirjutatud mõni muu täht või silp, loetakse need koos lisaga "poolt". Näiteks: “po-r-t”, “po-l-e”, “po-i-s”. Samuti saab sõna "by" kasutada siis, kui üks jalgadega täht jookseb üle teise tähe, numbri või objekti.
Vastus: Poola
Vastused: vöö, põld
Kui joonistatakse objekt ja selle kõrvale kirjutatakse täht ja seejärel kriipsutatakse läbi, tähendab see, et see täht tuleb sõnast välja visata. Kui läbikriipsutatud tähe kohal on veel üks, siis see tähendab, et läbikriipsutatud täht tuleb sellega asendada. Mõnikord pannakse sel juhul tähtede vahele võrdusmärk.
Vastus: laz
Vastus: vaarikas z Mont \u003d sidrun
Kuidas lahendada mõistatusi numbritega
Kui pildi kohal on numbrid, on see vihje, millises järjekorras katsealuse nimest tähti lugeda. Näiteks 4, 2, 3, 1 tähendab, et kõigepealt loetakse nime neljas täht, seejärel teine, millele järgneb kolmas ja esimene täht.
Vastus: brig
Numbrid saab läbi kriipsutada, mis tähendab, et sellele järjestusele vastav täht tuleb sõnast kõrvale jätta.
Vastus: hobune ak LUa bo mba = Kolumbus
Üsna harva kasutatakse rebussides tähe tegevust - jookseb, lendab, valetab, sellistel juhtudel tuleb selle tähe nimele lisada vastav tegusõna oleviku kolmandas isikus, näiteks “y -jookseb”.
Kuidas mõistatusi märkmetega lahendada
Sageli on rebussides kujutatud nootide nimedele vastavaid üksikuid silpe - “do”, “re”, “mi”, “fa” ... koos vastavate nootidega. Mõnikord kasutatakse üldsõna "märkus".
Puslede koostamisel kasutatud märkmed
Vastused: oad, miinus