Kaj morate vedeti za dokončanje naloge. Podrobna rešitev problemov OGE v računalništvu Datumska tabela predstavlja podatke o št

Obdelava podatkov:

  • Algoritem, lastnosti algoritmov, načini zapisovanja algoritmov. Diagrami poteka. Uvod v programiranje.
  • Algoritemske zasnove.

To so teme, za katere so ustvarjene testne naloge št. 10 glavnega državnega izpita (OGE) iz računalništva.

10 (B) (1. del, višja stopnja - naloga vključuje samostojno oblikovanje in zapis odgovora v obliki zaporedja simbolov, čas za izvedbo - 6 minut, maksimalna ocena za opravljeno nalogo - 1). Zahteve za stopnjo usposobljenosti, katere obvladovanje se preverja na izpitu pri reševanju te naloge: oceniti numerične parametre informacijskih objektov in procesov, sposobnost izvajanja krožni algoritem obdelava niza števil v enem od programskih jezikov.

Kaj morate vedeti za dokončanje naloge:

  • niz- to je niz (poimenovana zbirka) elementov istega tipa, urejenih z indeksi, ki določajo položaj elementa v nizu;
  • Pred uporabo v programu je treba polje opisati, t.j. navesti je treba ime, število elementov polja in njihov tip;

var<имя_массива>:matrika [<мин_знач_индекса>. . <макс_знач_индекса> ] od<тип_элементов>;

Na primer: zapis
var A: niz celih števil;
pomeni, da je podana matrika z imenom A, sestavljena iz 10 celih elementov.

  • Matriko lahko zapolnite tako, da vnesete vrednost vsakega elementa s tipkovnice ali tako, da elementom dodelite nekaj vrednosti:
  • Za sklicevanje na element polja uporabite oglate oklepaje, zapis A[i] označuje element matrike A s številko (indeks) i;
  • matrika (dvodimenzionalni niz) je pravokotna tabela elementov iste vrste;
  • če je matrika poimenovana A, potem inverz A označuje element, ki se nahaja na presečišču vrstice i in stolpca k.

Primer reševanja problema:
V tabeli Dat so shranjeni podatki o številu učencev v oddelkih (Dat - število učencev v prvem razredu, Dat - v drugem itd.). Določite, katero število bo natisnjeno kot rezultat naslednjega programa. Programsko besedilo je podano v treh programskih jezikih.

Algoritemski jezik OSNOVNO Pascal

alg
začetek
celtab Dat
celo število k, m
Dat := 20; Datum := 25
Datum := 19; Datum := 25
Datum := 26; Datum:= 22
Dat := 24; Datum := 28
Datum := 26; Datum:= 21
Datum:= 27
m:= 0
nc za k od 1 do 11
če je Dat[k] > 22, potem
m:= m + 1
Vse
kts
izhod m
con

DIM Dat(11) KOT CELO ŠTEVILO
DIM k,m KOT CELO ŠTEVILO
Dat(1) = 20: Dat(2) = 25
Dat(3) = 19: Dat(4) = 25
Dat(5) = 26: Dat(6) = 22
Dat(7) = 24: Dat(8) = 28
Dat(9) = 26: Dat(10) = 21
Dat(11) = 27
m = 0
ZA k = 1 DO 11
ČE Dat(k) > 22 THEN
m = m + 1
KONEC ČE
NASLEDNJI k
TISK m

Var k, m: celo število; Dat: niz celih števil; Začetek datuma := 20; Dat := 25; Datum := 19; Dat := 25; Datum := 26; Dat := 22; Dat := 24; Datum := 28; Datum := 26; Datum := 21; Dat > 22 nato začetek m:= m + 1 konec; writeln(m) Konec.

Rešitev (1 način):

  1. Oglejmo si program korak za korakom. Najprej se deklarirajo spremenljivke, ki bodo uporabljene (spremenljivki k in m), ter niz Dat, ki vsebuje 11 elementov (elementi so oštevilčeni od 1 do 11).

POZOR: V polju Dat, ki je opisano v Osnovni jezik elementov bo 12, saj se oštevilčenje ne začne od prvega elementa, ampak od nič.

  1. Sledi polnjenje matrike. Na primer, elementu matrike z indeksom 1 je dodeljena vrednost 20, elementu z indeksom 2 je dodeljena vrednost 25 itd. Posledično lahko nastalo matriko predstavimo na naslednji način:

Array Dat

Kazalo

Pomen

  1. spremenljivki m je dodeljena vrednost 0. Po tem se začne zanka s parametrom k, pri čemer se k spreminja od 1 do 11 v korakih po 1.

V telesu zanke se preveri pogoj:

  1. Vrednost elementa matrike pri indeksu k se primerja s številom 22. Če je element matrike večji od 22, se spremenljivka m poveča za 1. V nasprotnem primeru se ne zgodi nič.
  2. Čisto na koncu programa se na zaslonu izpiše vrednost spremenljivke m.
  3. Ugotovimo, kaj se zgodi po izvedbi programa. Vrednost spremenljivke m se spremeni v zanki. Pred zanko je njegova vrednost enaka nič. Nato program ponovi vse elemente matrike in jih primerja s številom 22. In če je matrični element večji od 22, se spremenljivka m poveča za 1. Tako moramo prešteti vse elemente matrike. niz, ki je večji od 22 - njihovo število bo enako vrednosti spremenljivke m. Takšnih elementov je 7 - to so elementi z indeksi 2, 4, 5, 7, 8, 9 in 11.

POZOR: Element številka 6, ki je enak 22. Ker pa... Ker je naša primerjava stroga (znak »>«), je ne upoštevamo.

Odgovor: 7

Rešitev (dvosmerna ročno pomikanje):

Mentalno si predstavljajte nastalo matriko:
Array Dat

Kazalo

Pomen

Zvezni inštitut za pedagoške meritve / Demo različice, specifikacije, kodifikatorji OGE 2015 - 2019 // Računalništvo in IKT - (http://fipi.ru)

  • Dracheva E. R., Grishina I. A. Priprava na GIA iz računalništva / E. R. Dracheva, I. A. Grishina // Del B - (http://giainformatika.ru/)
  • k Dat[k](za BASIC Dat(k)) Preverjanje stanja Dat[k] > 22(za BASIC Dat(k) > 22) m
    0
    1 20 št
    2 25 ja 1
    3 19 št
    4 25 ja 2
    5 26 ja 3
    6 22 št
    7 24 ja 4

    V tabeli Dat so podatki o številu oddanih glasov za 10 izvajalcev ljudskih pesmi (Dat - število oddanih glasov za prvega izvajalca; Dat - za drugega itd.). Določite, katero število bo natisnjeno kot rezultat naslednjega programa. Programsko besedilo je podano v treh programskih jezikih. Algoritemski jezik BASIC Pascal alg nach celtab Dat integer k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := 15 Dat : = 35 m:= 0 nc za k od 1 do 10 if Dat[k]gt;m then m:= Dat[k] all kc output m con DIM Dat(10) AS INTEGER DIM k,m AS INTEGER Dat(1 ) = 16: Dat(2) = 20 Dat(3) = 20: Dat(4) = 41 Dat(5) = 14: Dat(6) = 21 Dat(7) = 28: Dat(8) = 12 Dat (9) = 15:Dat(10) = 35 m = 0 FOR k = 1 TO 10 IF Dat(k)gt;m THEN m = Dat(k) ENDIF NEXT k PRINT m Var k, m: celo število; Dat: niz celih števil; Začetni datum := 16; Dat := 20; Dat := 20; Datum := 41; Dat := 14; Datum := 21; Datum := 28; Dat := 12; Dat := 15; Dat := 35; m:= 0; for k:= 1 to 10 do if Dat[k]gt;m then begin m:= Dat[k] end; writeln(m); Konec.

    Podobna vprašanja

    • Izpolnite prazna polja. Pomagaj mi prosim:)
    • Junak, ki je osvobodil Prometeja
    • Sestavi nalogo, reši nalogo in zapiši rešitev
    • Fantje, pomoč: (lg(x+√3)+lg(x-√3)=0
    • Prosim, pomagajte mi pri odločitvi. Izračunajte ploščino trikotnika, če je 9-krat manjša od ploščine kvadrata s stranico 12 cm.
    • Rešite enačbo (8 5/27 - x) - 2 25/27 = 1 25/27
    • Kako so se imenovali kmetje, ki so bili prodani?
    • Deklica je začela hraniti mucka. Prinesla je ovsene kosmiče, on se je obrnil stran od skodelice. Ko je prejel redkvice, se je obrnil stran od sklede. Prinesel sem kos slanine, maček pravi, da ni dovolj. V besedilu poiščite besede s črkovanjem "nenaglašen samoglasnik ...

    Predstavljam rešitev naloge 10 OGE-2016 iz računalništva iz projekta demo različice. V primerjavi s predstavitvijo iz leta 2015 se naloga 10 ni spremenila. To je naloga o sposobnosti izvajanja cikličnega algoritma za obdelavo niza števil, zapisanega v algoritemskem jeziku (Algoritem, lastnosti algoritmov, načini zapisovanja algoritmov. Diagrami poteka. Uvod v programiranje. Algoritemske konstrukcije). To je naloga povišane stopnje zahtevnosti, odgovor nanjo je celo število, ki ga je treba zapisati v polje za odgovor.

    Posnetek zaslona naloge 10.

    Vaja:

    V tabeli Dat so podatki o številu oddanih glasov za 10 izvajalcev ljudskih pesmi (Dat - število oddanih glasov za prvega izvajalca; Dat - za drugega itd.). Določite, katero število bo natisnjeno kot rezultat naslednjega programa. Programsko besedilo je podano v treh programskih jezikih.

    Primer v Pascalu

    Var k, m: celo število;
    Dat: niz celih števil;
    Začeti
    Datum := 16; Dat := 20;
    Dat := 20; Datum := 41;
    Dat := 14; Datum := 21;
    Datum := 28; Dat := 12;
    Dat := 15; Dat := 35;
    m:= 0;
    za k:= ​​1 do 10 do
    če Dat[k]>m potem
    začeti
    m:=Dat[k]
    konec;
    writeln(m);
    Konec.

    Ta program ustvari niz 10 števil. V zanki od 1 do vključno 10 se vrednost elementa matrike primerja z vrednostjo spremenljivke m. Če se izkaže, da je vrednost elementa matrike strogo večja od vrednosti spremenljivke m, se spremenljivki m dodeli vrednost elementa matrike (na začetku, pred zanko, je bila vrednost spremenljivke m enaka 0).

    Če parafraziramo, dobimo naslednje. Za vsakega izvajalca ljudskih pesmi od 1 do vključno 10 se število glasov primerja z vrednostjo m. Če je število glasov večje od m, se spremenljivki m pripiše vrednost, ki je enaka številu glasov. Kot rezultat izvedbe cikla dobimo število m, ki prikazuje največje število glasov, danih enemu od udeležencev, tj. m=41.

    Niz v našem razumevanju je navadna tabela. Vrednosti v tabeli morajo biti iste vrste: cela števila ali realna števila ali nizi ali logične vrednosti. Praviloma se težave s tabelami celih števil obravnavajo v šolskih tečajih. Elementi tabele se nahajajo v bližini v pomnilniku in so dostopni preko njihove serijske številke (indeksa) v tabeli.

    A
    1 2 3 4 5
    55 36 134 75 100

    Naj bo A tabela petih elementov. Potem je A = 55, A = 36, A = 134, A = 75, A = 100

    Če želite delati s tabelami v Idolu, morate dodeliti pomnilnik za njihovo shranjevanje:

    Alg nach celtab A

    Tabelo lahko izpolnite ročno:

    A := 55 A := 36 A := 134 A := 75 A := 100

    Če je elementov veliko, je bolje uporabiti zanko ( spremenljivka zanke jaz mora biti deklariran na začetku programa):

    nc za i od 1 do 5 vnos A[i] cc

    Če morate spremeniti vrednosti vseh elementov tabele (na primer jih povečati za 2-krat), potem je spet bolje uporabiti zanko:

    NC za i od 1 do 5 A[i] := A[i]*2 kc

    Izvedemo tudi izhod vseh vrednosti elementov tabele v zanki:

    nc za i od 1 do 5 pin A[i],ns cc

    Iskanje vrednosti največjega elementa in njegovega števila v tabeli

    Opomba: naloga iskanja minimalnega elementa se razlikuje le v primerjalnem predznaku

    Naloga je razdeljena na več stopenj:

    1. Za začetni maksimum vzemite prvi element v tabeli in si zapomnite njegovo številko

    Imax:= 1

    2. Preverili bomo vse ostale elemente (od 2. do zadnjega): če je trenutni element, ki ga preverjamo, večji od maksimuma, si zapomnimo številko trenutnega elementa v imax

    Nts za i od 2 do 5, če A[i] > A potem imax:= i vsi kts

    3. Z najdeno številko največjega elementa prikažemo sam maksimum:

    Pin A

    Tukaj je celotno besedilo programa:

    Alg SearchMax začetek celtab A int imax, i nc za i od 1 do 5 vhod A[i] kts imax:= 1 nt za i od 2 do 5 če je A[i] > A potem imax:= i vsi kts izhod A kts

    Iskanje vsote in povprečna vrednost vsi elementi tabele

    Najprej morate nastaviti začetno vrednost zneska:

    Nato bomo v zanki vsoti dodali vrednosti elementov:

    nc za i od 1 do 5 s:= s + A[i] cc

    Povprečno vrednost vseh elementov tabele najdemo kot razmerje med vsoto in številom elementov:

    Sr:= s/5

    Tukaj je celotno besedilo programa:

    Alg SumAvg začetek celtab Celo i, s stvari sr | povprečno število bo realno nc za i od 1 do 5 vhod A[i] kc s:= 0 nc za i od 1 do 5 s:= s + A[i] kc sr:= s/5 izhod “Vsota vsi elementi: ",s,ns izhod "Povprečna vrednost vseh elementov:",sr kts

    Primeri reševanja problemov

    Primer 1.

    V tabeli Dat so podatki o številu glasov za 10 izvajalcev ljudskih pesmi (Dat – število glasov za prvega izvajalca; Dat – za drugega itd.). Določite, katero število bo natisnjeno kot rezultat naslednjega programa.

    Alg start celtab Dat int k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := 15 Dat := 35 m: = 0 nc za k od 1 do 10 če Dat[k]>m potem m:= Dat[k] vsi kc izhod m konec

    Na začetku programa se v celice tabele zabeleži število oddanih glasov za nastopajoče.

    Razmislite o naslednjem fragmentu programa:

    M:= 0 nc za k od 1 do 10, če je Dat[k]>m potem m:= Dat[k] vsi kc

    Vidimo, da se v zanki vsak element primerja s spremenljivko m, ki je bila pred zanko enaka nič. Če je trenutni element, ki se preverja, večji od m, se vrednost trenutnega elementa zapiše v spremenljivko m. Po izvedbi zanke bo spremenljivka m shranila vrednost največjega elementa.

    Z drugimi besedami, program najde največjo vrednost med vsemi celicami tabele. Vrednost tega elementa je Dat = 41

    odgovor: 41

    Primer 2:

    Alg start celtab Dat int k, m Dat := 7; Dat := 9 Dat := 10; Dat := 5 Dat := 6; Dat := 7 Dat := 9; Dat := 8 Dat := 6; Dat:= 9 m:= 0 nc za k od 1 do 10, če je Dat[k]< 7 то m:= m + 1 все кц вывод m кон

    Na začetku programa se izpolni tabela s številom opravljenih nalog.
    Po tem se uvede spremenljivka m z vrednostjo nič.

    V zanki Za od 1 do 10 se preveri: če je oštevilčeno število opravljenih nalog za učenca Za je manj kot 7, potem je takih študentov še en (m:= m +1).

    Z drugimi besedami, program šteje število študentov, ki so opravili manj kot 7 nalog.

    Imamo tri takšne študente: Dat, Dat, Dat

    odgovor: 3

    Primer 3:

    V tabeli Dat so shranjeni podatki o številu nalog, ki so jih opravili učenci (naloge Dat je opravil prvi učenec, Dat drugi itd.). Določite, katero število bo natisnjeno kot rezultat naslednjega programa.

    Alg start celtab Dat int k, m Dat := 20; Dat := 25 Dat := 19; Dat := 25 Dat := 26; Dat := 22 Dat := 24; Dat := 28 Dat := 26; Dat := 21 Dat := 27 m:= 0 nc za k od 1 do 11, če je k > 9, potem m:= m + Dat[k] vsi kc izhod m konec

    Znotraj zanke za številke elementov Za od 1 do 11 (za vse učence) se preveri: če je število elementa (učenca) večje od 9, potem na spremenljivko m Doda se število opravljenih študentskih nalog.

    Razvidno je, da le študent številka 10 (Dat) in študent številka 11 (Dat) izpolnjujeta pogoj. V skladu s tem spremenljivka m bo shranil vsoto števila opravljenih nalog teh študentov, 0+21+27=48

    odgovor: 48

    Primer 4:

    V tabeli Dat so shranjeni podatki o številu nalog, ki so jih opravili učenci (naloge Dat je opravil prvi učenec, Dat drugi itd.). Določite, katero število bo natisnjeno kot rezultat naslednjega programa.

    Alg start celtab Dat int k, m, n Dat := 7; Dat := 9 Dat := 10; Dat := 5 Dat := 6; Dat := 7 Dat := 5; Dat := 8 Dat := 6; Dat := 9 m:= 10; n:= 0 nc za k od 1 do 10, če je Dat[k]<= m то m:= Dat[k] n:= k все кц вывод n кон

    Vrednosti elementov ne presegajo 10.

    Linija nts za k od 1 do 10 pomeni, da se ponavljajo vsi elementi polja (imamo jih 10).

    Pogoj če Dat[k]<= m bo res, ko je vrednost trenutnega elementa manjša ali enaka m. Če je ta pogoj resničen, potem v spremenljivko m zapisana je vrednost trenutnega elementa in spremenljivka n- njegovo številko.

    Bistvo problema je najti število minimalni element! (program na koncu izpiše vrednost n).

    Ker pogoj ni strog Dat[k]<= m, то будет найден najnovejši najmanjši element in njegovo število (Dat).

    Če bi bil pogoj strog, potem prvi med enakimi minimumi (Dat)