Îl voi rezolva »știința calculatoarelor

Intrarea programului este dată textului vrajei, care nu are mai mult de 200 de caractere, pentru-kan-chi-va-yu-chia-chia dot-koy (simbolul "punct" datele sunt unice). A fost pentru cifr-ro-va, dar Harry Pot-te-rum în felul următor. Sna-cha-la-Harry a stabilit o corespondență a literelor în cel mai lung cuvânt, alocând numărul L-chen K (într-un cuvânt-pe-zy-wa- Xia non-pre-ryv-evaluate de-urmează-la-toate-Tel-Ness en-Gli-ing litere, cuvinte în afară de la de la dizolvat Xia Liu-la-E Dru-Gi -MI simboluri , lungimea cuvântului nu depășește 20 de caractere). Apoi, el este pentru-mine-nil kazh blow-en-Gli-iCal scrisoare în Institutul per-cli-la-Cercetări privind scrisoarea, o sută-I-conductive în al-fa-wee-one cu privire la scrisoarea înainte (alfabet schi-Ta este ciclică, adică înainte de litera A există o literă Z), lăsând celelalte simboluri neschimbate. String-urile au fost lăsate mici, în timp ce literele majuscule erau majuscule. Tr-bu-et-hai-na-pi-sat cât mai mult posibil un program eficient, cineva va putea afișa pe ecran textul vrajei cry-cro-ro-van-no-g . De exemplu, dacă textul peste cifră-ro-wen a fost:

atunci rezultatul șanțului critic ar trebui să fie următorul:

i, k, max: întreg;

La introducerea programului, există un text al vrăjii, format din maximum 200 de caractere, terminând cu un punct (simbolul "punct" din datele de intrare este singurul ). Era za-cipro-ro-va - dar un tânăr val-sheb-n-una în următoarea manieră. Sna-cha-la-vol-shebenik a determinat co-numerele de litere chiar în cuvântul-la-gură, care denotă cuvântul K (un cuvânt- PS-VA-et-Xia non-pre-ryv-evaluate de-urmează-la-toate-Tel-Ness la Ting-ing litere, cuvinte în afară de la de la dizolvat Xia Liu-la-E alte caractere, lungimea cuvântului nu depășește 20 de caractere). Apoi, pentru a-mi-nil kazh blow-la-Ting-iCal scrisoare în Institutul per-cli-la-Cercetări privind scrisoarea, o sută-I-conductive în al-fa-wee-one cu privire la scrisoarea înainte (alfabet schi-Ta este ciclică, adică înainte de litera A există o literă Z), lăsând celelalte simboluri neschimbate. String-urile au fost lăsate mici, în timp ce literele majuscule erau majuscule. Tre-bu-o-Xia-pi-SAT pro-gram-mu limba Pas Kal sau BASIC, pentru a-the-paradis esti tu-in-dit pe ecran de text dez-Schiff-ro-van-lea, dar vrăji. De exemplu, dacă textul peste cifră-ro-wen a fost:

Zb Ra Ca Dab Ra,

atunci rezultatul șanțului critic ar trebui să fie următorul:

Bd Tc Her Fed Tc.

Programul citește datele de intrare, sub-lectând imediat lungimea minimă a cuvintelor de întâlnire. Pentru cel de-al doilea progres al datelor originale, literele latin-sko-go-al-fa-vita și rasa pechat-pro-to-dya-sya za-me- mesajul cipher-ro-van-no-go.

Un exemplu de program regulat și eficient în Pascal:

i, k, min: întreg;

dacă cu în ['a'. 'z', 'A'. 'Z']

dacă k 'z' scrieți apoi (chr (ord (cnew) -26))

'A' .. 'Z': dacă cnew> 'Z' scrieți apoi (chr (ord (cnew) -26))

Un exemplu de program de dreapta în BASIC:

DIM i, j, min, k, f, a (26) AS INTEGER

DIM s AS STRING

CARE NU (MID $ (s, i, 1) = ".")

(C $ = "A") ȘI (c $ = "A") ȘI (c $ = "A" (s, j, 1)

PRINT (CHRS (ASC (cnew $) - 26));

ELSE PRINT a știut $;

Dacă MID $ (s, j, 1)> = "A") ȘI (MID $ (s, j, 1)

Text La intrarea pro-gram-UI este furnizat vrăji de co-sute-I-Școala-a nu mai mult de 200 de caractere, punctul Xia Kang-chi-wa-Yu-conductoare (simbol "punct" în intrare-TION numai date). A fost pentru-cry-ro-va-dar Harry Pot-te-rom după cum urmează. Sleep-cha la Harry definiția de turnat numărul de litere din cuvânt lungime-prefectura, despre-ZNA-Chiv număr rezultat K (în scurt-PS-va-et-Xia continuu urmează în-to-all-Tel- literele sunt separate unul de altul prin orice alte simboluri, lungimea cuvântului nu depășește 20 de caractere). Apoi, el este pentru-mine-nil fiecare literă en-gli-ică în Institutul per-cli-la-Cercetări privind scrisoarea, o sută-I-conductive în al-fa-wee-one cu privire la scrisoarea înainte (alfabet schi-ta-ET (adică, înainte de litera A există o literă Z), lăsând celelalte simboluri neschimbate. String-urile au fost lăsate mici, în timp ce literele majuscule erau majuscule. Încercați să scrieți cât mai mult posibil un program eficient (specificați o versiune is-pol-zu-e-mu a limbajului de programare, de exemplu Borland Pascal 7.0), care va fi lansat - extindeți pe ecran textul vrăjilor cry-cipher-ro-van-no-go. De exemplu, dacă textul peste cifră-ro-wen a fost:

atunci decriptarea decodificării ar trebui să fie după cum urmează:

i, k, max: întreg;

citiți (c); // citiți după caracter

s: = s + c; // adăugați la linie

dacă k> max apoi max: = k;

până când c = '.'; // citiți până la punct

pentru i: = l până la lungime (s)

'a' .. 'z': dacă cnew> 'z' scrie apoi (chr (ord (cnew) -26)) // dacă noul sim-val nu mai este o literă, atunci din ea veți citi 26 alfabet) și, conform simbolului dorit. Pentru al-fa-vit, avem un ciclic

altceva scrie (cnew); // ieșire diferită

'A' .. 'Z': dacă cnew> 'Z' scrieți apoi (chr (ord (cnew) -26))

altceva scrie (s ([i]) // dacă nu litera-ieșire ca atare

La intrarea pro-gram-mă la da este un text Xia vrăji co-sute-I-Școala-a nu mai mult de 200 de caractere, punctul Kang-chi-wa-Yu-conductoare Xia Coy ( simbolul "punct" din datele de intrare este unic). Era za-cipro-ro-va - dar un tânăr val-sheb-n-una în următoarea manieră. Sleep-cha-la-bou Sheb-definit pseudonimul de Lil co-daca-che-TION în orice cuvânt litere-la-gura cu privire la numărul ZNA-IAS-la-lu-chen-Noe K (cuvântul HA PS-VA-et-Xia non-pre-ryv-evaluate de-urmează-la-toate-Tel-Ness la Ting-ing litere, cuvinte în afară de la de la dizolvat Xia Liu-la-E alte caractere, lungimea cuvântului nu depășește 20 de caractere). Apoi, el a subliniat fiecare literă latină în zak-kli-na-nii pe următoarea urmată în spatele lui K-on account în al-fa-vite (alfabetul sci -că este ciclică, adică litera Z urmează litera A), lăsând celelalte simboluri neschimbate. String-urile au fost lăsate mici, în timp ce literele majuscule erau majuscule. Thr-Bu este ulterioară pi așezat posibil ef Feck-TIV-ing pro-gram-mu (specificați IP-pol-zu-e inlantuiti ver-UIS limbaj de programare, de exemplu, Borland Pascal 7.0) , cineva-paradis va afișa pe ecran textul vrajei cry-cipher-ro-van-no-g.

De exemplu, dacă textul peste cifră-ro-wen a fost:

Bd Tc Her Fed Tc,

atunci rezultatul șanțului critic ar trebui să fie următorul:

Zb Ra Cc Dcb Ra.

Programul citește datele de intrare, sub-lectând imediat lungimea minimă a cuvintelor de întâlnire. Pentru cel de-al doilea progres al datelor originale, literele latin-sko-go-al-fa-vita și rasa pechat-pro-to-dya-sya za-me- mesajul cipher-ro-van-no-go. Punctele sunt numărate numai pentru program, pentru care este re-sha-ea-for-da-chu cel puțin pentru un anumit caz (de exemplu, -Gly-litere și fără o schimbare de ciclu-li-che-sho-go).

Un exemplu de program regulat și eficient în Pascal:

i, k, min: întreg;

Intrarea programului este dată de litere mici în engleză. Introduceți aceste scrisori se încheie cu o perioadă (alte caractere, altele decât „“ Și literele «o». «Z» sunt absente în datele de intrare. Necesitatea de a scrie un program într-un limbaj de programare, care va imprima literele care apar în secvența de intrare, în ordinea crescătoare frecvența lor de apariție a fiecărei litere ar trebui să fie tipărit un moment de timp, nu este luată în considerare în cazul în care unele litere apar același număr de ori, acestea sunt date în ordine alfabetică, de exemplu, chiar dacă sunt servite intrarea următoarele caractere ....:

În acest caz, programul trebuie să genereze:

a: matrice [0..25] de număr întreg;

La introducerea programului sunt scrisorile An-Gli cu coarde. Introducerea acestora în SIM pentru pescuit-kan chi-VA-et-Xia punctul Coy (alte simboluri de la Lich-WIDE prin "" Și literele „o» .. «z», în intrare-TION dată În programul în limba Bei-Sim, puteți introduce simbolul într-o singură linie, până când intri în punctul.) Thr-Bu este ulterioară pi așezat posibil ef Feck-TIV-ing pro-gram-mu (specificați IP-pol-zu-e inlantuiti ver-UIS limbaj de programare, de exemplu, Borland Pascal 7.0) , cineva va scrie scrisori, întâlnește-ya-shu-shi-e-xia în secvența de intrare, într-un număr de moduri, apariție. Fiecare literă trebuie distribuită o singură dată. Punctul nu este luat în considerare. Dacă unele scrisori sunt întâlnite de același număr de ori, atunci ele sunt plasate în ordinea alpha-vith.

De exemplu, permiteți introducerea următorilor caractere:

În acest caz, programul trebuie eliminat

Programul creează toate simbolurile de intrare într-o singură dată, sub-numărarea în matrice, stocând 26 de numere întregi, numărul fiecăruia dintre scrisori.

Simbolurile de intrare nu sunt amintite. Într-o matrice pre-poli-nite, compusă din 26 de caractere, literele za-no-syatsya de la "a" la "z". Apoi, elementele primei scări de masă sunt sortate prin ne-scăderea oricărei alterări al ritmului al-go, paral-lel-no re-sta-sta-la-yut-sya și elemente ale celei de-a doua mese-si-va (posibil, o sută-a-aa a două câmpuri). În același timp, elementele cu un număr egal de simboluri sim-in-place nu se modifică. În cel de-al doilea element ot-ri-ti-ro-va-nyh mas-sov-pro-pus-kat-yy-sya, al cărui număr este egal cu 0, restul Element - tu ne-cha-ta-yut-sya într-un rând.

Scoruri on-number-la-yu-tya numai pentru program, cineva-reha-sha-ea-pentru-da-chu cel puțin pentru o anumită ocazie (de exemplu, Pentru șiruri de caractere care nu conțin mai mult de 255 de caractere).

Un exemplu de program regulat și eficient în Pascal:

var a: matrice [0..25] de integer;

m: array [0..25] din 'a' .. 'z';

pentru i: = 0 până la 25 nu

La program, introducem, există caractere alfanumerice pro-volitive. Introducerea acestor simboluri este un punct kan-chi-cha-wa-ya-sya. Thr-Bu este ulterioară-pi-SAT program pentru un paradis va urmează-la-toate-Tel-Ness ne-cha-hot Strauch-TION en-Gli-ing de caractere ( 'o' ' b '.' z ') de la input-to-the-post-v-tel-n-sti și frecvența repetării acestora. Pep-chat-must-pro-ish-dit în al-pha-vit-order. De exemplu, permiteți introducerea următorilor caractere:

În acest caz, programul trebuie eliminat

var a: matrice ['a' .. 'z'] de întreg;

dacă ch în ['a' .. 'z'] atunci un [ch]: = a [ch] +1;

pentru i: = 1 până la 255

dacă (chr (i) în ['a' .. 'z']) și (a [chr (i)]> 0)

de ce specificați variabila ch, iar în ultima condiție scrieți chr?

chr este o funcție a lui Pascal care returnează un caracter prin codul său.

Această soluție este foarte dificil de citit, puteți obține confuzie prin apelarea în mod repetat a funcției chr, la fel, examenul nu va avea un IDE și un compilator, doar un stilou și o frunză.

arr: array ['a' .. 'z'] de număr întreg;

în timp ce (c <> ".") începe

dacă (c în ['a' .. 'z']) atunci

pentru c: = 'a' la 'z' începe

dacă (arr [c] <> 0) atunci

Nu există nici un ciclu de 255 iterații, nu un câștig semnificativ, desigur, dar acest număr (255) poate, de asemenea, să zboare din cap. Și "x + = 1" poate fi înlocuită cu "x: = x + 1", deși scrieți toate aceste caractere cu un stilou nu este comme il faut, este mai ușor să vă amintiți "+ =, * =, = în principiu, nu este nimic de reținut.

Articole similare