Što trebate znati da biste izvršili zadatak. Detaljno rješenje zadataka OGE u informatici Tablica datuma predstavlja podatke o broju

Obrada podataka:

  • Algoritam, svojstva algoritama, načini zapisivanja algoritama. Dijagrami toka. Uvod u programiranje.
  • Algoritamski dizajni.

Ovo su teme za koje su izrađeni ispitni zadaci br. 10 glavnog državnog ispita (OGE) iz informatike.

10 (B) (1. dio, napredna razina - zadatak podrazumijeva da ispitanik samostalno formulira i bilježi odgovor u obliku niza simbola, vrijeme rješavanja - 6 minuta, maksimalan broj bodova za rješavanje zadatka - 1). Zahtjevi za razinu osposobljenosti čije se ovladavanje provjerava tijekom ispita prilikom odgovaranja na ovaj zadatak: procijeniti numeričke parametre informacijskih objekata i procesa, sposobnost obavljanja kružni algoritam obrada niza brojeva u jednom od programskih jezika.

Što trebate znati da biste dovršili zadatak:

  • niz- ovo je skup (imenovana kolekcija) elemenata iste vrste, poredanih po indeksima koji određuju položaj elementa u nizu;
  • Prije korištenja u programu, polje mora biti opisano, tj. mora biti naveden naziv, broj elemenata niza i njihov tip;

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

Na primjer: zapis
var A: niz cijelih brojeva;
znači da je dan niz s imenom A koji se sastoji od 10 cjelobrojnih elemenata.

  • Polje možete popuniti unosom vrijednosti svakog elementa s tipkovnice ili dodjeljivanjem nekih vrijednosti elementima:
  • za upućivanje na element niza koristite uglate zagrade, notacija A[i] označava element niza A s brojem (indeksom) i;
  • matrica (dvodimenzionalni niz) je pravokutna tablica elemenata iste vrste;
  • ako je matrica nazvana A, tada inverz A označava element koji se nalazi na sjecištu retka i i stupca k.

Primjer rješavanja problema:
U tablici Dat pohranjuju se podaci o broju učenika u odjeljenjima (Dat - broj učenika u prvom razredu, Dat - u drugom itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa. Programski tekst je dat na tri programska jezika.

Algoritamski jezik OSNOVNI, TEMELJNI Pascal

alg
početak
celtab Dat
cijeli broj k, m
Datum := 20; Datum := 25
Datum := 19; Datum := 25
Datum := 26; Datum:= 22
Datum := 24; Datum:= 28
Datum := 26; Datum:= 21
Datum := 27
m:= 0
nc za k od 1 do 11
ako je Dat[k] > 22 tada
m:= m + 1
svi
kts
izlaz m
kon

DIM Dat(11) KAO CIJELI BROJ
DIM k,m KAO CIJELI BROJ
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
AKO je Dat(k) > 22 ONDA
m = m + 1
ZAVRŠI AKO
SLJEDEĆA k
ISPIS m

Var k, m: cijeli broj; Dat: niz cijelih brojeva; Datum početka := 20; Datum := 25; Datum := 19; Datum := 25; Datum := 26; Datum := 22; Datum := 24; Datum := 28; Datum := 26; Datum := 21; Dat > 22 zatim početak m:= m + 1 kraj; writeln(m) Kraj.

Rješenje (1 način):

  1. Pogledajmo program korak po korak. Najprije se deklariraju varijable koje će se koristiti (varijable k i m), kao i polje Dat koje sadrži 11 elemenata (elementi su označeni brojevima od 1 do 11).

PAŽNJA: U nizu Dat, koji je opisan u Osnovni jezik bit će 12 elemenata, budući da numeriranje ne počinje od prvog elementa, već od nule.

  1. Slijedi popunjavanje niza. Na primjer, elementu niza s indeksom 1 dodijeljena je vrijednost 20, elementu s indeksom 2 dodijeljena je vrijednost 25, itd. Kao rezultat toga, rezultirajući niz može se predstaviti na sljedeći način:

Array Dat

Indeks

Značenje

  1. varijabli m dodjeljuje se vrijednost 0. Nakon toga počinje petlja s parametrom k, pri čemu se k mijenja od 1 do 11 u koracima od 1.

U tijelu petlje provjerava se uvjet:

  1. Vrijednost elementa niza s indeksom k uspoređuje se s brojem 22. Ako je element niza veći od 22, tada se varijabla m povećava za 1. Inače se ništa ne događa.
  2. Na samom kraju programa na ekranu se ispisuje vrijednost varijable m.
  3. Odredimo što se događa nakon izvođenja programa. Vrijednost varijable m mijenja se u petlji. Prije petlje, njegova vrijednost je nula. Zatim, program ponavlja sve elemente niza i uspoređuje ih s brojem 22. A ako je element niza veći od 22, tada se varijabla m povećava za 1. Dakle, trebamo prebrojati sve elemente niza. niz koji je veći od 22 - njihov broj će biti jednak vrijednosti varijable m. Postoji 7 takvih elemenata - to su elementi s indeksima 2, 4, 5, 7, 8, 9 i 11.

PAŽNJA: Element broj 6, koji je jednak 22. Ali pošto... Budući da je naša usporedba stroga (znak “>”), ne uzimamo je u obzir.

Odgovor: 7

Rješenje (metoda 2 ručno pomicanje):

Mentalno zamislite rezultirajući niz:
Array Dat

Indeks

Značenje

Savezni zavod za pedagoška mjerenja / Demo verzije, specifikacije, kodifikatori OGE 2015. - 2019. // Informatika i ICT - (http://fipi.ru)

  • Dracheva E. R., Grishina I. A. Priprema za GIA iz informatike / E. R. Dracheva, I. A. Grishina // Dio B - (http://giainformatika.ru/)
  • k datum[k](za BASIC Dat(k)) Provjera stanja Datum [k] > 22(za BASIC Dat(k) > 22) m
    0
    1 20 Ne
    2 25 Da 1
    3 19 Ne
    4 25 Da 2
    5 26 Da 3
    6 22 Ne
    7 24 Da 4

    U tablici Dat prikazani su podaci o broju glasova za 10 izvođača narodnih pjesama (Dat - broj glasova za prvog izvođača; Dat - za drugog itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa. Programski tekst je dat na tri programska jezika. Algoritamski 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 cc izlaz 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: integer; Dat: niz cijelih brojeva; Datum početka := 16; Datum := 20; Datum := 20; Datum := 41; Datum := 14; Datum := 21; Datum := 28; Datum := 12; Datum := 15; Datum := 35; m:= 0; za k:= ​​1 do 10 do if Dat[k]gt;m then begin m:= Dat[k] end; writeln(m); Kraj.

    Slična pitanja

    • Popuni praznine. Pomozi mi molim te:)
    • Heroj koji je oslobodio Prometeja
    • Sastavi zadatak, riješi zadatak i zapiši rješenje
    • Ljudi, pomoć: (lg(x+√3)+lg(x-√3)=0
    • Molim te pomozi mi da odlučim. Izračunaj površinu trokuta ako je ona 9 puta manja od površine kvadrata čija je stranica duljine 12 cm.
    • Riješite jednadžbu (8 5/27 - x) - 2 25/27 = 1 25/27
    • Kako su se zvali seljaci koji su prodani?
    • Djevojčica je počela hraniti mačića. Donijela je zobene pahuljice, on se okrenuo od šalice. Kad je primio rotkvice, okrenuo se od zdjele. Donijela sam komad slanine, mačić kaže da nije dovoljno. Pronađite u tekstu riječi s pravopisom "nenaglašeni samoglasnik...

    Predstavljam rješenje zadatka 10 OGE-2016 iz informatike iz projekta demo verzije. U usporedbi s demo iz 2015., zadatak 10 nije se promijenio. Ovo je zadatak o sposobnosti izvršavanja cikličkog algoritma za obradu niza brojeva, napisan u algoritamskom jeziku (Algoritam, svojstva algoritama, načini zapisivanja algoritama. Dijagram toka. Uvod u programiranje. Algoritamske konstrukcije). Ovo je zadatak povišenog stupnja složenosti, odgovor na njega je cijeli broj koji je potrebno upisati u polje za odgovor.

    Snimka zaslona zadatka 10.

    Vježba:

    U tablici Dat prikazani su podaci o broju glasova za 10 izvođača narodnih pjesama (Dat - broj glasova za prvog izvođača; Dat - za drugog itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg programa. Programski tekst je dat na tri programska jezika.

    Primjer u Pascalu

    Var k, m: cijeli broj;
    Dat: niz cijelih brojeva;
    Početi
    Datum := 16; Datum := 20;
    Datum := 20; Datum := 41;
    Datum := 14; Datum := 21;
    Datum := 28; Datum := 12;
    Datum := 15; Datum := 35;
    m:= 0;
    za k:= ​​1 do 10 do
    ako je Dat[k]>m tada
    početi
    m:=Dat[k]
    kraj;
    writeln(m);
    Kraj.

    Ovaj program stvara niz od 10 brojeva. U petlji od 1 do uključivo 10, vrijednost elementa niza se uspoređuje s vrijednošću varijable m. Ako se pokaže da je vrijednost elementa niza strogo veća od vrijednosti varijable m, tada se varijabli m dodjeljuje vrijednost elementa niza (u početku, prije petlje, vrijednost varijable m bila je jednaka 0).

    Da parafraziramo, dobivamo sljedeće. Za svakog izvođača narodnih pjesama od 1 do uključivo 10 uspoređuje se broj glasova s ​​vrijednošću m. Ako je broj glasova veći od m, tada se varijabli m dodjeljuje vrijednost jednaka broju glasova. Kao rezultat izvođenja ciklusa dobivamo broj m koji pokazuje najveći broj glasova danih jednom od sudionika, tj. m=41.

    Niz je u našem razumijevanju pravilna tablica. Vrijednosti u tablici moraju biti iste vrste: cijeli brojevi, ili realni brojevi, ili nizovi, ili Booleove vrijednosti. U pravilu se problemi s tablicama cijelih brojeva razmatraju u školskom tečaju. Elementi tablice nalaze se u blizini u memoriji i može im se pristupiti putem njihovog serijskog broja (indeksa) u tablici.

    A
    1 2 3 4 5
    55 36 134 75 100

    Neka je A tablica od pet elemenata. Tada je A = 55, A = 36, A = 134, A = 75, A = 100

    Za rad s tablicama u Idolu morate dodijeliti memoriju za njezino pohranjivanje:

    Alg nach celtab A

    Tablica se može popuniti ručno:

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

    Ako ima mnogo elemenata, onda je bolje koristiti petlju ( varijabla petlje ja mora se deklarirati na početku programa):

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

    Ako trebate promijeniti vrijednosti svih elemenata tablice (na primjer, povećati ih 2 puta), onda je opet bolje koristiti petlju:

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

    Također izvodimo izlaz svih vrijednosti elemenata tablice u petlji:

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

    Pronalaženje vrijednosti maksimalnog elementa i njegovog broja u tablici

    Napomena: problem nalaženja minimalnog elementa razlikuje se samo u predznaku usporedbe

    Zadatak je podijeljen u nekoliko faza:

    1. Za početni maksimum uzmite prvi element u tablici, zapamtite njegov broj

    Imax:= 1

    2. Provjerit ćemo sve ostale elemente (od 2. do zadnjeg): ako je trenutni element koji se provjerava veći od maksimuma, tada pamtimo broj trenutnog elementa u imax

    Nts za i od 2 do 5 ako je A[i] > A tada imax:= i svi kts

    3. Koristeći pronađeni broj maksimalnog elementa, prikazujemo sam maksimum:

    Pin A

    Donosimo cijeli tekst programa:

    Alg SearchMax start celtab A int imax, i nc za i od 1 do 5 ulaz A[i] kts imax:= 1 nts za i od 2 do 5 ako je A[i] > A onda imax:= i svi kts izlaz A kts

    Pronalaženje zbroja i prosječna vrijednost svi elementi tablice

    Prvo morate postaviti početnu vrijednost iznosa:

    Zatim ćemo u petlji zbroju dodati vrijednosti elemenata:

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

    Srednju vrijednost svih elemenata tablice nalazimo kao omjer zbroja i broja elemenata:

    Sr:= s/5

    Donosimo cijeli tekst programa:

    Alg SumAvg početak celtab A cijeli i, s stvari sr | prosječni broj će biti pravi nc za i od 1 do 5 ulaz A[i] kc s:= 0 nc za i od 1 do 5 s:= s + A[i] kc sr:= s/5 izlaz “Zbroj svi elementi: ",s,ns izlaz "Prosječna vrijednost svih elemenata:",sr kts

    Primjeri rješavanja problema

    Primjer 1.

    U tablici Dat prikazani su podaci o broju glasova za 10 izvođača narodnih pjesama (Dat – broj glasova za prvog izvođača; Dat – za drugog itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg 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 if Dat[k]>m then m:= Dat[k] all kc output m end

    Na početku programa u ćelije tablice upisuje se broj glasova danih izvođačima.

    Razmotrite sljedeći fragment programa:

    M:= 0 nc za k od 1 do 10 ako je Dat[k]>m tada m:= Dat[k] svi kc

    Vidi se da se u petlji svaki element uspoređuje s varijablom m, koja je prije petlje bila jednaka nuli. Ako je trenutni element koji se provjerava veći od m, tada se vrijednost trenutnog elementa upisuje u varijablu m. Nakon što se petlja izvrši, varijabla m će pohraniti vrijednost najvećeg elementa.

    Drugim riječima, program pronalazi najveću vrijednost među svim ćelijama tablice. Vrijednost ovog elementa je Dat = 41

    Odgovor: 41

    Primjer 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 ako je Dat[k]< 7 то m:= m + 1 все кц вывод m кон

    Na početku programa popunjava se tablica s brojem izvršenih zadataka.
    Nakon toga se uvodi varijabla m s nultom vrijednošću.

    U petlji Do od 1 do 10 provjerava se: ako je numeriran broj obavljenih zadataka za učenika Do manji od 7, onda je takvih učenika još jedan (m:= m +1).

    Drugim riječima, program broji učenike koji su riješili manje od 7 zadataka.

    Imamo tri takva učenika: Dat, Dat, Dat

    Odgovor: 3

    Primjer 3:

    U tablici Dat pohranjuju se podaci o broju zadataka koje su učenici riješili (Dat zadatke je riješio prvi učenik, Dat drugi itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg 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 ako je k > 9 tada m:= m + Dat[k] svi kc izlaz m kraj

    Unutar petlje za brojeve elemenata Do od 1 do 11 (za sve učenike) provjerava se: ako je broj elementa (učenika) veći od 9, onda na varijablu m Dodaje se broj odrađenih studentskih zadataka.

    Vidljivo je da samo student broj 10 (Dat) i student broj 11 (Dat) zadovoljavaju uvjet. Sukladno tome, varijabla m pohranit će zbroj brojeva izvršenih zadataka ovih učenika, 0+21+27=48

    Odgovor: 48

    Primjer 4:

    U tablici Dat pohranjuju se podaci o broju zadataka koje su učenici riješili (Dat zadatke je riješio prvi učenik, Dat drugi itd.). Odredite koji će se broj ispisati kao rezultat sljedećeg 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 ako je Dat[k]<= m то m:= Dat[k] n:= k все кц вывод n кон

    Vrijednosti elemenata ne prelaze 10.

    Crta nts za k od 1 do 10 znači da se ponavljaju svi elementi niza (imamo ih 10).

    Stanje Ako datum[k]<= m bit će istinito kada je vrijednost trenutnog elementa manja ili jednaka m. Ako je ovaj uvjet istinit, onda u varijablu m ispisuje se vrijednost trenutnog elementa, a varijabla n- njegov broj.

    Poanta problema je pronaći broj minimalni element! (program ispisuje vrijednost na kraju n).

    Budući da uvjet nije strog datum[k]<= m, то будет найден najnoviji minimalni element i njegov broj (Dat).

    Ako bi uvjet bio strog, tada bi prvi među identičnim minimumima (Dat)