Raport - concursuri în informatică (olimpiadă) - informatică, programare

Probleme ale Olimpiadei Informatice. 3

Declarația problemelor prin impunerea de restricții. 3

Restricții privind utilizarea fondurilor pregătite. 5

Restricții la "programare". 6







Realizarea olimpiadelor în informatică pe baza testelor. 8

Încercați întrebări ale Olimpiadei în Informatică pentru grupa de vârstă înaltă (clasele X-XI) 9


Probleme ale olimpiadelor în informatică

În timpul Olimpiadei de informatică de diferite nivele pentru o perioadă lungă de timp, au apărut o serie de aspecte negative, legate atât de organizarea Olimpiadelor înseși, cât și de predarea formațiștilor în școli. Iată câteva dintre ele.

1. Adesea, există „neglijarea“ unor participanți la Jocurile Olimpice: educația și dezvoltarea lor are loc în mod spontan, le iinogda chiar parte nefamiliare a școlii de materiale de curs informatică. Etastihiynost evidente în tehnicile complicate, cum ar fi ALTFEL ALTFEL comuta DIM NEXTili chiar și pe fundalul ignoranței tipovyhmetodov rezolvarea problemelor. Atunci când rezolvarea unor probleme simple de astfel de studenți demonstriruyutosobo „trucuri“ sofisticate și dubioase, dar mai dificil de zadacheystanovyatsya la un impas. Concentrarea lor nu este pe vidchelovecheskogo algoritmizare ca gândire și acțiune specială, nu pe formularea și soluționarea problemelor, și programarea nayazyk (de multe ori - versiunea de bază disponibile). Dar observăm dorința lor intuitivă de a găsi alte metode non-standard de rezolvare a problemelor.

2. Întrucât sfera sarcinilor, diseminarea PC-urilor profesionale, limbile puternice a fost epuizată, a existat o tendință spre rezolvarea sarcinilor greoaie la Jocurile Olimpice. Textele pentru ele sunt, de asemenea, greoaie. Inspectorii nu văd soluțiile și "conduc" testele. Și în ele, mai ales dacă elementele sunt evidente, "vicleșugul" poate scrie:

DACĂ N = I atunci RĂSPUNS: = 1

Dacă N = 2 atunci RĂSPUNS: = 3

3. Viteza difuzoarelor diferite de limbaj, ca să nu mai vorbim de diferitele tipuri de VT școlare, variază considerabil. Prin urmare, o singură dată limită pe test conduce kdiskriminatsii, de exemplu, un participant lucrează la un „Corvette“ tems Comparativ care are acces la PPEVM.

4. Capacitățile limbilor sunt, de asemenea, foarte diferite. De exemplu, convenabilitatea procedurilor în Pascal și în "vechiul" BASIC este incomensurabilă - șansele de inegalitate sunt aceleași.

Declarația problemei prin metode de constrângere

În ceea ce privește elevii, obiectivele Olimpiadei sunt două: identificarea oportunităților și a educației. Să le formăm mai precis:

1. Identificați elevii cu abilități dezvoltate pentru gândirea logică-algoritmică. Subdezvoltarea acestei gândiri poate fi deghizată folosind un puternic software gata pregătit sau biblioteci lingvistice puternice. Deci, comanda SORT în mediul DBASE vă permite să nu puteți crea algoritmi de sortare deloc. Poate etimobyasnyaetsya un paradox: Elevii știu Turbo Pascal, de multe ori huzhereshayut mica sarcina „complicat“ decât cei care lucrează la Vilnius Beysike.Borba acest BASIC - este o școală bună de supraviețuire.

2. Vyyavitshkolnikov format, cu dezvoltarea gândirii-sistem combinatorie, chtodolzhno se manifestă în abilitatea de a utiliza nu numai în scopul propus, dar ioriginalno, în afara cutiei, varietate creatoare de echipa gata făcute sredstvai software-ul și să fie în măsură să evite programarea. Lipsa unui astfel de stil de gândire și educație, perspectivele pot fi mascate de un nivel ridicat de tehnică a programării "goale".

În esența conceptului propus este presupunerea că, în esență, activitatea mentală a utilizatorului PS și a programatorului este de același tip și nu depinde de puterea VT și PS.

Scopul acestei activități este întotdeauna să aducă mediul computerului la starea dorită cu mijloace limitate: numărul final de comenzi și algoritmi și funcții implementate, memoria și timpul disponibil. Noile generații de calculatoare și limbi de programare elimină doar vechile limitări, însă o persoană întâlnește inevitabil unele noi.

Ideea principală a conceptului propus este că, atunci când depășim limitele, creativitatea nu se manifestă numai, ci se dezvoltă și o persoană. Deci, posibilitățile limitate ale ghearelor și dinților unui om străvechi au dus la apariția de cuțite de silicon.

Să încercăm să explicăm sensul conceptului nostru privind exemplul sportului în cazul în care orice restricții pentru o lungă perioadă de timp și nu este ceva ciudat și sostavlyayutneotemlemuyu parte a competiției: jumperii înalte nu folosesc un pliantă halterofili - pârghii, maratonistii - biciclete. Ca exemplu de a pune problema introducând metoda restricțiilor "artificiale", să ne imaginăm următoarea situație: înainte de cursa bicicletelor, roțile din față au fost îndepărtate de pe toate bicicletele.

Desigur, un participant se poate urca într-un autobuz de transfer (un mijloc interzis). El poate merge pe jos (în informatică - nu fără calculatoare). Dar suntem interesați doar de cei care vor putea:

1) reparați bicicleta, făcând piesele lipsă din materialul util (procedurile de scriere care extind restricțiile limitate "mai restrânse");

2) conduceți această distanță pe o roată, nimic nu este deblocat și neconstruit (utilizați mijloacele existente neconvențional);

3) în general, inventează și fabrică o bicicletă nouă (în mod neașteptat pentru judecători). Revenind la știința informatică, observăm că sarcina cea mai trivială poate deveni extrem de dificilă, dacă condiția este completată de o serie de restricții asupra mijloacelor utilizate.

Atunci când se impun restricții, nivelul și completitudinea sistemului lor este important: restricțiile prea puternice vor face ca problema să nu poată fi rezolvată; prea slab - trivial, necreativ; un sistem incomplet de restricții face posibilă găsirea unei "lacune" - este "legal" să folosim metoda "ilegală" (în exemplul nostru, pentru a înțelege bara de protecție a autobuzului).

Restricții privind utilizarea produselor finite

Un semn al abilității de a algoritmiza, credem că abilitatea de a avea un mijloc mic, dar le combinăm liber, extindem arsenalul, în esență - limbă.







Prin urmare, în loc de discuții periodice despre „a căror“ limbă este mai bine, restricțiile propuse, care, în primul rând, Align dlyauchastnikov condiții, și în al doilea rând, sunt ele însele o sursă de probleme, inclusiv iolimpiadnyh. De exemplu, în orice limbă de implementare, puteți interzice:

1) GOTO și orice comandă ciclu (FOR, WHILE, REPEAT, în același timp "suferă" și comenzi ca REPLACE ... FOR din mediile DBASE);

2) toate funcțiile și procedurile cu parametri, cu excepția I / O;

3) asamblare, comenzi de mașină (evitând bypass-ul de jos);

4) acces direct la memorie (PEEK, MEM, etc.).

O tehnică tipică pentru construirea unei sarcini este de a interzice o operațiune, o funcție și o ofertă de ao implementa prin orice mijloace rămase. Astfel, se implementează modelarea intrasubiect în stilul metodologiei manualului de către A.Kushnirenko și alții.

Scrieți algoritmul de calcul A'B (pentru simplitate, pentru B> = 0. A și B sunt numere întregi). Pe lângă restricțiile de mai sus, este interzisă multiplicarea și împărțirea "vlob".

Decizia cu privire la "veche" BASIC poate fi așa

10 'Multiplicare A * B fără bucle și goană și * 20 PRINT "Introducere multiplicatori"

40 M1 = A 'parametrii de transmisie

Aceasta nu este o sarcină olimpiadă, ci o ilustrare a stilului de programare în condițiile unor restricții "artificiale".

Dacă nu împiedicați utilizarea funcțiilor, puteți ocoli topul în acest stil:

B = INT (EXP (LOG (A) + LOG (B) + 0,5))

care este rău rău, dar nu dezvăluie abilitățile de algoritmizare. Aceasta este abordarea opusă - utilizarea algoritmilor gata. Un alt exemplu este declararea unei probleme clare recursive cu interzicerea recursului. Formal, apelurile din subrutine sunt interzise, ​​restul - puteți, și mai ales - sunt binevenite pentru unele GOTO.

Restricții privind "programarea"

Conectați un alt stil de gândire (apel egopolzovatelskim, spre deosebire de logica-algoritmică „de programare“) pot fi luate în considerare evitarea PROGRAMARE-Bani, dorința de a aplica la fondurile lor zadachegotovye, iar în cazul în care nu se potrivesc - pentru a găsi un non-standard, originalnoeprimenenie alte mijloace disponibile, ceea ce duce la obiectivul, din nou, arată capacitatea de creativitate.

O caracteristică caracteristică a acestei activități este transformarea problemei, trecerea la alte tipuri de date, programe și comenzi. De exemplu, un număr întreg poate fi asociat unui segment al unei axe numerice sau al unei secvențe de unități.

Pentru astfel de activități sunt necesare:

1) educație, cunoașterea posibilităților evidente și ineficiente ale diferitelor mijloace de pregătire, atât în ​​limba "iubită" cât și în afara ei;

2) sformirovannostsistemno myslitelnyhoperatsy combinatorice - subiecte viziune iyavleny integritate, relații; abilitatea de a construi mai multe viziune vzaimodopolnyayuschihtochek într-unul și același obiect, abilitatea de a opera mijloace iorudiynymi conceptuale ale diferitelor discipline (de exemplu, din punct de vedere algebryfunktsiya există o potrivire, în ceea ce privește geometria - curba cu tochkizreniyainformatiki - rezultat de calcul algoritm pentru un argument dat).

Pentru a arăta aceste calități ale participantului, este necesar, să-l exprime, să-l interzicăți să programeze.

Este aproape opusă pervogotipa restricții: pentru a identifica competențele și experiența în domeniul artei algoritmică, participanții myvynuzhdali este algoritmi destul de sofisticate pentru a rezolva sarcini „simple“ (în acest exemplu - operațiunea de multiplicare). Acum primește resursele instrumentului, dar - cu excepția programelor necesare. Acum este logic să rezolvăm numai algoritmi liniari. După ce toată activitatea din „User“ - este construirea unei secvențe de pași pentru a transforma cu ușurință sredy.Ego furnizat prin interzicerea expresiilor logice: verifică condițiile de „bucle“ algoritm clivaj și ramificare. Pentru a evita programarea, interzicem codurile mașinilor și asamblorul. Restul - puteți. De asemenea, trebuie permisă și comanda NDC FOR sau FOR; este necesar să introduceți tabele (teoretic și în viitor poate fi efectuată simultan pe procesoare paralele N, ca într-un singur pas).

În mod ideal, soluția problemei ar trebui reprezentată acum sub forma unei secvențe liniare de referințe la funcțiile, procedurile și programele bibliotecii și standard (sau chiar ca un fișier batch).

Este potrivit să spunem acum despre foi de calcul. Ciclurile care au fost construite în ele vor trebui să dezactiveze ciclul de iterație PÂNĂ LA acuratețea specificată: permite "aproape totul".

Oferim exemple simplificate pentru a ilustra problemele de tipul al doilea. Primul exemplu este multiplicarea prin logaritmi (vezi mai sus).

Este necesar să aflăm dacă punctul se află în interiorul circuitului, dat de coordonatele legăturilor.

Soluție (sugerată de elevii școlari).

Afișați culoarea punctului verificat pe ecran.

Desenați un contur pe ecran (FOR! Cycle).

Umpleți-l cu culoare.

Iesiți din nou culoarea punctului care este verificat.

întrebări delicate despre „groase“ linii de contur de pe ecran aici nestavim: prezintă un exemplu de non-standard, și rău în același timp, o soluție „naiv“ prin simulare directă a problemei de pe ecran,

Este necesar să se găsească maximum două numere A și B. Funcțiile MAX și MIN, desigur, sunt interzise.

Dacă uitați să dezactivați funcția MIN, atunci este posibilă o "ocolire":

Soluțiile acestor probleme nu se limitează la compilarea algoritmilor, algoritmii care rezultă sunt doar liniare, dar se disting printr-un principiu creativ luminos.

Conducerea olimpiadelor în informatică pe baza testelor

Recent, întrebarea privind metodele de predare a olimpiadelor în domeniul informaticii a fost ridicată din ce în ce mai mult. concursuri tradiționale, tind să se concentreze pe verificarea aptitudinilor de programare și să își asume o uuchenikov cunoștințe vaste în matematică și limbajele de programare yavlyaetsyaprioritetom școli fizico-matematice. Ce fac majoritatea tipilor entuziasti? Cum de a organiza Jocurile Olimpice pentru copiii înscriși în diferite școli, programe diverse, de învățare diferite limbaje de programare (și poate unteachable lor?), Lucru pe calcul „pestriță“? Din această poziție, puteți găsi o cale de ieșire, dacă dețineți un program separat de olimpiadă și informatică. În unele școli, olimpiadele se desfășoară pe baza unor teste.

Întrebările din cadrul testelor sunt selectate astfel încât să ne permită să verificăm nivelul general al pregătirii elevilor și să oferim o oportunitate de a rezolva principalele probleme care apar în conduita științei informaticii:

· Varietatea de computere în școli;

· Un nivel diferit de predare a informaticii;

· O gamă largă de limbi algoritmice studiate în școli;

· Limitarea cantității de tehnologie informatică în școala care desfășoară olimpiada și, prin urmare, numărul participanților la olimpiadă.

Principiul de testare vă permite să testați ușor și rapid munca elevilor și, prin urmare, într-un timp scurt pentru a determina câștigătorii.

Testele propuse sunt defalcate pe grupe de vârstă VII-IX și X-XI. La calcularea punctelor se recomandă utilizarea principiului: răspunsul kazhdyypravilny - „1“ scor, răspunsul greșit - „-1“ scor (în cazul în care nu znaeshotveta, nu încercați să-l ghicească) și „0“ puncte pentru o întrebare la care nu a răspuns.

În acest eseu propunem o variantă a sarcinii de testare a Olimpiadei de Informatică pentru grupa de vârstă înaintată.


Încercați întrebări ale Olimpiadei în Informatică pentru grupa de vârstă mai înaintată (clasa X-XI)

1. Pot același fenomen să aibă modele diferite?

2. Care este numărul minim de cifre necesare pentru a codifica literele mari și minuscule ale alfabetului rus și al cifrelor arabe?

3. Directorul curent conține programele LOGIN.BAT, LOGIN.EXE, LOGIN.COM. Ce program va fi executat dacă introduceți linia LOGIN?

4. Secvența înregistrărilor plasate pe orice dispozitiv de stocare, considerată în timpul transferului și prelucrării în ansamblu, se numește:

5. Hypertext este:

1) text foarte mare;

2) text structural, în care este posibilă efectuarea de tranziții în cuvinte "fierbinți";

3) text introdus pe computer;

4) text, care utilizează dimensiunea maximă a fontului.

6. Avantajul sistemului binar este acela că:

1) codul binar vă permite să salvați memoria computerului;

2) elementele electronice cu două state consumă mai puțină energie electrică;

3) elementele electronice cu două stări sunt cele mai simple în proiectarea constructivă.

7. Ce poate fi considerat какалгоритм?

1) instrucțiuni privind utilizarea unui mitropolit;

9. Ce fel de dispozitiv de calculator pot avea efecte dăunătoare asupra sănătății umane?







Articole similare

Trimiteți-le prietenilor: