Čo potrebujete vedieť na dokončenie úlohy. Podrobné riešenie úloh OGE v informatike Tabuľka dátumov uvádza údaje o počte

Spracovanie dát:

  • Algoritmus, vlastnosti algoritmov, spôsoby zápisu algoritmov. Vývojové diagramy. Úvod do programovania.
  • Algoritmické návrhy.

To sú témy, ku ktorým sú vytvorené testové úlohy č.10 hlavnej štátnej skúšky (OGE) z informatiky.

10 (B) (1. časť, pokročilá úroveň - úloha spočíva v tom, že skúšaný samostatne sformuluje a zaznamená odpoveď vo forme sekvencie symbolov, čas dokončenia - 6 minút, maximálny počet bodov za splnenie úlohy - 1). Požiadavky na úroveň prípravy, ktorej zvládnutie sa testuje počas skúšky pri zodpovedaní tejto úlohy: zhodnotiť numerické parametre informačných objektov a procesov, schopnosť vykonávať kruhový algoritmus spracovanie poľa čísel v jednom z programovacích jazykov.

Čo potrebujete vedieť na dokončenie úlohy:

  • pole- ide o množinu (pomenovanú kolekciu) prvkov rovnakého typu, usporiadaných podľa indexov, ktoré určujú polohu prvku v poli;
  • Pred použitím v programe je potrebné pole popísať, t.j. musí byť uvedený názov, počet prvkov poľa a ich typ;

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

Napríklad: záznam
var A: pole celého čísla;
znamená, že je dané pole s názvom A pozostávajúce z 10 celočíselných prvkov.

  • Pole môžete vyplniť zadaním hodnoty každého prvku z klávesnice alebo priradením niektorých hodnôt prvkom:
  • Ak chcete odkazovať na prvok poľa, použite hranaté zátvorky, zápis A[i] označuje prvok poľa A s číslom (indexom) i;
  • matica (dvojrozmerné pole) je obdĺžniková tabuľka prvkov rovnakého typu;
  • ak je matica pomenovaná A, potom inverzná A označuje prvok umiestnený na priesečníku riadku i a stĺpca k.

Príklad riešenia problému:
V tabuľke Dat sú uložené údaje o počte žiakov v triedach (Dat - počet žiakov na prvom stupni, Dat - na druhom a pod.). Určite, aké číslo sa vytlačí ako výsledok nasledujúceho programu. Text programu je poskytovaný v troch programovacích jazykoch.

Algoritmický jazyk ZÁKLADNÉ Pascal

alg
začiatok
celtab Dat
celé číslo k, m
Dátum := 20; Dátum:= 25
Dátum := 19; Dátum:= 25
Dátum := 26; Dátum:= 22
Dátum := 24; Dátum:= 28
Dátum := 26; Dátum:= 21
Dátum := 27
m:= 0
nc pre k od 1 do 11
ak Dat[k] > 22 potom
m:= m + 1
Všetky
kts
výstup m
kon

DIM DAT(11) AS INTEGER
DIM k,m AKO CELÉ ČÍSLO
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
Dátum(11) = 27
m = 0
PRE k = 1 AŽ 11
AK Dat(k) > 22 TAK
m = m + 1
KONIEC AK
ĎALEJ k
TLAČ m

Var k, m: celé číslo; Dat: pole celých čísel; Počiatočný dátum := 20; Dátum := 25; Dátum := 19; Dátum := 25; Dátum := 26; Dátum := 22; Dátum := 24; Dátum := 28; Dátum := 26; Dátum := 21; Dat > 22 potom začiatok m:= m + 1 koniec; writeln(m) Koniec.

Riešenie (1 spôsob):

  1. Pozrime sa na program krok za krokom. Najprv sa deklarujú premenné, ktoré sa budú používať (premenné k a m), ako aj pole Dat obsahujúce 11 prvkov (prvky sú očíslované od 1 do 11).

POZOR: V dátovom poli, ktoré je popísané v Základný jazyk bude 12 prvkov, pretože číslovanie nezačína od prvého prvku, ale od nuly.

  1. Nasleduje vyplnenie poľa. Napríklad prvku poľa s indexom 1 je priradená hodnota 20, prvku s indexom 2 je priradená hodnota 25 atď. Výsledkom je, že výsledné pole môže byť reprezentované takto:

Array Dat

Index

Význam

  1. premennej m je priradená hodnota 0. Potom sa začne cyklus s parametrom k, pričom k sa mení z 1 na 11 v krokoch po 1.

V tele cyklu sa kontroluje podmienka:

  1. Hodnota prvku poľa na indexe k sa porovná s číslom 22. Ak je prvok poľa väčší ako 22, potom sa premenná m zvýši o 1. Inak sa nič nestane.
  2. Na samom konci programu sa na obrazovke zobrazí hodnota premennej m.
  3. Poďme určiť, čo sa stane po spustení programu. Hodnota premennej m sa mení v slučke. Pred slučkou je jeho hodnota nulová. Potom program iteruje všetky prvky poľa a porovnáva ich s číslom 22. A ak je prvok poľa väčší ako 22, potom sa premenná m zvýši o 1. Preto musíme spočítať všetky prvky poľa. pole, ktoré sú väčšie ako 22 - ich počet sa bude rovnať hodnote premennej m. Existuje 7 takýchto prvkov - sú to prvky s indexmi 2, 4, 5, 7, 8, 9 a 11.

POZOR: Prvok číslo 6, ktorý sa rovná 22. Ale keďže... Keďže naše porovnanie je prísne (znak „>“), neberieme ho do úvahy.

odpoveď: 7

Riešenie (2 spôsoby manuálne posúvanie):

V duchu si predstavte výsledné pole:
Array Dat

Index

Význam

Federálny inštitút pedagogických meraní / Demo verzie, špecifikácie, kodifikátory OGE 2015 - 2019 // Informatika a IKT - (http://fipi.ru)

  • Dracheva E. R., Grishina I. A. Príprava na GIA v informatike / E. R. Dracheva, I. A. Grishina // Časť B - (http://giainformatika.ru/)
  • k dat[k](pre BASIC Dat(k)) Kontrola stavu Dátum[k] > 22(pre BASIC Dat(k) > 22) m
    0
    1 20 Nie
    2 25 Áno 1
    3 19 Nie
    4 25 Áno 2
    5 26 Áno 3
    6 22 Nie
    7 24 Áno 4

    V tabuľke Dat sú uvedené údaje o počte odovzdaných hlasov pre 10 interpretov ľudových piesní (Dat - počet hlasov pre prvého interpreta; Dat - pre druhého atď.). Určite, aké číslo sa vytlačí ako výsledok nasledujúceho programu. Text programu je poskytovaný v troch programovacích jazykoch. Algoritmický jazyk BASIC Pascal alg nach celtab Dat celé číslo k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := 1 = 35 m:= 0 nc pre k od 1 do 10 ak Dat[k]gt;m potom m:= Dat[k] všetky kc výstup 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 PRE k = 1 AŽ 10 AK Dat(k)gt;m THEN m = Dat(k) ENDIF NEXT k PRINT m Var k, m: celé číslo; Dat: pole celých čísel; Dátum začiatku := 16; Dátum := 20; Dátum := 20; Dátum := 41; Dátum := 14; Dátum := 21; Dátum := 28; Dátum := 12; Dátum := 15; Dátum := 35; m:= 0; pre k:= 1 až 10 urob if Dat[k]gt;m then begin m:= Dat[k] end; writeln(m); Koniec.

    Podobné otázky

    • Vyplň prázdne miesta. Pomôž mi prosím:)
    • Hrdina, ktorý oslobodil Promethea
    • Zložte úlohu, vyriešte problém a zapíšte si riešenie
    • Chlapci, pomoc: (lg(x+√3)+lg(x-√3)=0
    • Pomôžte mi rozhodnúť sa, prosím. Vypočítajte obsah trojuholníka, ak je 9-krát menší ako obsah štvorca s dĺžkou strany 12 cm
    • Vyriešte rovnicu (8 5/27 - x) - 2 25/27 = 1 25/27
    • Ako sa volali roľníci, ktorých predali?
    • Dievčatko začalo mačiatko kŕmiť. Ona priniesla ovsené vločky, on sa odvrátil od pohára. Keď dostal reďkovky, odvrátil sa od misy. Priniesol som kúsok slaniny, mačiatko hovorí, že to nestačí. Nájdite v texte slová s pravopisom „neprízvučná samohláska...

    Predstavujem riešenie úlohy 10 OGE-2016 v informatike z projektu demo verzie. V porovnaní s ukážkou z roku 2015 sa úloha 10 nezmenila. Ide o úlohu o schopnosti vykonávať cyklický algoritmus na spracovanie poľa čísel napísaných v algoritmickom jazyku (Algoritmus, vlastnosti algoritmov, spôsoby zápisu algoritmov. Vývojové diagramy. Úvod do programovania. Algoritmické konštrukcie). Toto je úloha so zvýšenou úrovňou zložitosti, odpoveď na ňu je celé číslo, ktoré musí byť napísané v poli odpovede.

    Snímka obrazovky úlohy 10.

    Cvičenie:

    V tabuľke Dat sú uvedené údaje o počte odovzdaných hlasov pre 10 interpretov ľudových piesní (Dat - počet hlasov pre prvého interpreta; Dat - pre druhého atď.). Určite, aké číslo sa vytlačí ako výsledok nasledujúceho programu. Text programu je poskytovaný v troch programovacích jazykoch.

    Príklad v Pascale

    Var k, m: celé číslo;
    Dat: pole celých čísel;
    Začať
    Dátum := 16; Dátum := 20;
    Dátum := 20; Dátum := 41;
    Dátum := 14; Dátum := 21;
    Dátum := 28; Dátum := 12;
    Dátum := 15; Dátum := 35;
    m:= 0;
    pre k:= 1 až 10 do
    ak Dat[k]>m potom
    začať
    m:=Dat[k]
    koniec;
    writeln(m);
    Koniec.

    Tento program vytvorí pole 10 čísel. V slučke od 1 do 10 vrátane sa porovnáva hodnota prvku poľa s hodnotou premennej m. Ak sa ukáže, že hodnota prvku poľa je striktne väčšia ako hodnota premennej m, potom sa premennej m priradí hodnota prvku poľa (na začiatku, pred slučkou, bola hodnota premennej m rovná 0).

    Aby sme to parafrázovali, dostaneme nasledovné. Pre každého interpreta ľudových piesní od 1 do 10 vrátane sa porovnáva počet hlasov s hodnotou m. Ak je počet hlasov väčší ako m, potom sa premennej m priradí hodnota rovnajúca sa počtu hlasov. V dôsledku vykonania cyklu získame číslo m, ktoré ukazuje najväčší počet hlasov udelených jednému z účastníkov, t.j. m=41.

    Pole v našom chápaní je obyčajná tabuľka. Hodnoty v tabuľke musia byť rovnakého typu: celé čísla alebo reálne čísla alebo reťazce alebo boolovské hodnoty. Spravidla sa v školskom kurze zvažujú problémy s celočíselnými tabuľkami. Prvky tabuľky sú umiestnené v blízkosti pamäte a je možné k nim pristupovať prostredníctvom ich sériového čísla (indexu) v tabuľke.

    A
    1 2 3 4 5
    55 36 134 75 100

    Nech A je tabuľka piatich prvkov. Potom A = 55, A = 36, A = 134, A = 75, A = 100

    Ak chcete v Idole pracovať s tabuľkami, musíte na jej uloženie prideliť pamäť:

    Alg nach celtab A

    Tabuľku je možné vyplniť ručne:

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

    Ak existuje veľa prvkov, je lepšie použiť slučku ( slučková premenná i musí byť deklarované na začiatku programu):

    nc pre i od 1 do 5 vstup A[i] cc

    Ak potrebujete zmeniť hodnoty všetkých prvkov tabuľky (napríklad ich zväčšiť 2-krát), potom je opäť lepšie použiť slučku:

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

    Vykonávame aj výstup všetkých hodnôt prvkov tabuľky v slučke:

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

    Nájdenie hodnoty maximálneho prvku a jeho čísla v tabuľke

    Poznámka: úloha nájsť minimálny prvok sa líši iba v porovnávacom znaku

    Úloha je rozdelená do niekoľkých etáp:

    1. Pre počiatočné maximum vezmite úplne prvý prvok v tabuľke a zapamätajte si jeho číslo

    Imax:= 1

    2. Skontrolujeme všetky ostatné prvky (od 2. po posledný): ak je aktuálny kontrolovaný prvok väčší ako maximum, tak si zapamätáme číslo aktuálneho prvku v imax.

    Nts pre i od 2 do 5, ak A[i] > A potom imax:= i všetky kts

    3. Pomocou nájdeného čísla prvku maxima zobrazíme samotné maximum:

    Pin A

    Tu je celé znenie programu:

    Alg SearchMax štart celtab A int imax, i nc pre i od 1 do 5 vstup A[i] kts imax:= 1 nts pre i od 2 do 5 ak A[i] > A potom imax:= i všetky kts výstup A kts

    Nájdenie sumy a priemerná hodnota všetky prvky tabuľky

    Najprv musíte nastaviť počiatočnú hodnotu sumy:

    Potom v slučke pridáme hodnoty prvkov k súčtu:

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

    Priemernú hodnotu všetkých prvkov tabuľky nájdeme ako pomer súčtu k počtu prvkov:

    Sr:= s/5

    Tu je celé znenie programu:

    Alg SumAvg začiatok celtab Celkom i, s veci sr | priemerné číslo bude reálne nc pre i od 1 do 5 vstup A[i] kc s:= 0 nc pre i od 1 do 5 s:= s + A[i] kc sr:= s/5 výstup “Súčet všetky prvky: ",s,ns výstup "Priemerná hodnota všetkých prvkov:",sr kts

    Príklady riešenia problémov

    Príklad 1

    V tabuľke Dat sú uvedené údaje o počte odovzdaných hlasov pre 10 interpretov ľudových piesní (Dat – počet odovzdaných hlasov pre prvého interpreta; Dat – pre druhého interpreta atď.). Určite, aké číslo sa vytlačí ako výsledok nasledujúceho programu.

    Alg začiatok 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 pre k od 1 do 10 ak Dat[k]>m potom m:= Dat[k] všetky kc výstup m koniec

    Na začiatku programu sa do buniek tabuľky zapíše počet odovzdaných hlasov pre účinkujúcich.

    Zvážte nasledujúci fragment programu:

    M:= 0 nc pre k od 1 do 10, ak Dat[k]>m, potom m:= Dat[k] všetky kc

    Je vidieť, že v slučke sa každý prvok porovnáva s premennou m, ktorá sa pred slučkou rovnala nule. Ak je aktuálny kontrolovaný prvok väčší ako m, potom sa do premennej m zapíše hodnota aktuálneho prvku. Po vykonaní cyklu premenná m uloží hodnotu najväčšieho prvku.

    Inými slovami, program nájde maximálnu hodnotu medzi všetkými bunkami tabuľky. Hodnota tohto prvku je Dat = 41

    odpoveď: 41

    Príklad 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 pre k od 1 do 10, ak Dat[k]< 7 то m:= m + 1 все кц вывод m кон

    Na začiatku programu sa vyplní tabuľka s počtom dokončených úloh.
    Potom sa zavedie premenná m s nulovou hodnotou.

    V slučke Komu od 1 do 10 sa kontroluje: ak je počet splnených úloh pre žiaka očíslovaný Komu je menej ako 7, potom je takýchto žiakov o jedného viac (m:= m +1).

    Inými slovami, program počíta počet študentov, ktorí dokončili menej ako 7 úloh.

    Takýchto žiakov máme troch: Dať, Dať, Dať

    odpoveď: 3

    Príklad 3:

    V tabuľke Dat sú uložené údaje o počte úloh, ktoré žiaci splnili (Úlohy Dat splnil prvý žiak, Dat druhý atď.). Určite, aké číslo sa vytlačí ako výsledok nasledujúceho programu.

    Alg start celtab Dat int k, m Dat := 20; Dátum := 25 Dátum := 19; Dat := 25 Dat := 26; Dat := 22 Dat := 24; Dat := 28 Dat := 26; Dat := 21 Dat := 27 m:= 0 nc pre k od 1 do 11 ak k > 9 potom m:= m + Dat[k] všetky kc výstup m koniec

    Vo vnútri slučky pre čísla prvkov Komu od 1 do 11 (pre všetkých študentov) sa kontroluje: ak je číslo prvku (študenta) väčšie ako 9, tak do premennej m Pripočítava sa počet dokončených študentských úloh.

    Je vidieť, že podmienku splní iba študent číslo 10 (Dat) a študent číslo 11 (Dat). V súlade s tým premenná m uloží súčet počtov dokončených úloh týchto žiakov, 0+21+27=48

    odpoveď: 48

    Príklad 4:

    V tabuľke Dat sú uložené údaje o počte úloh, ktoré žiaci splnili (Úlohy Dat splnil prvý žiak, Dat druhý atď.). Určite, aké číslo sa vytlačí ako výsledok nasledujúceho programu.

    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 pre k od 1 do 10, ak Dat[k]<= m то m:= Dat[k] n:= k все кц вывод n кон

    Hodnoty prvkov nepresahujú 10.

    Linka nts pre k od 1 do 10 znamená, že všetky prvky poľa sú iterované (máme ich 10).

    Podmienka Ak dat[k]<= m bude pravdivé, keď je hodnota aktuálneho prvku menšia alebo rovná m. Ak je táto podmienka pravdivá, potom do premennej m zapíše sa hodnota aktuálneho prvku a premenná n- jeho číslo.

    Podstatou problému je nájsť číslo minimálny prvok! (program vypíše hodnotu na konci n).

    Keďže podmienka nie je prísna dat[k]<= m, то будет найден najnovšie minimálny prvok a jeho počet (Dat).

    Ak by bola podmienka prísna, potom prvá z rovnakých miním (Dat)